{
  "version": 1.1,
  "tags": [
    {
      "name": "ful-spinner",
      "description": "A busy indicator. ful-form shows and hides the ones it contains while submitting.",
      "attributes": []
    },
    {
      "name": "ful-form",
      "description": "Wraps its content in a form, collects the values of the fields it contains and hands them to a loader on submit.",
      "attributes": []
    },
    {
      "name": "ful-checkbox",
      "description": "A checkbox, or a switch with type=\"switch\". Disabled follows native semantics: the attribute is the field's own claim, honored together with a disabled fieldset ancestry through :disabled, while the property reflects the claim only.",
      "attributes": [
        {
          "name": "value",
          "description": "Checked when the attribute is the string true. (boolean)"
        },
        {
          "name": "readonly",
          "description": "Renders the control but does not let it be edited. A readonly field still contributes its value to the form. (boolean)"
        },
        {
          "name": "required",
          "description": "Marks the field as required for assistive technologies and shows the required marker on its label. (boolean)"
        }
      ]
    },
    {
      "name": "ful-input",
      "description": "A labelled text input. Use type to pick any native input type, or textarea. Disabled follows native semantics: the attribute is the field's own claim, honored together with a disabled fieldset ancestry through :disabled, while the property reflects the claim only.",
      "attributes": [
        {
          "name": "value",
          "description": "The current value. (string)"
        },
        {
          "name": "readonly",
          "description": "Renders the control but does not let it be edited. A readonly field still contributes its value to the form. (boolean)"
        },
        {
          "name": "required",
          "description": "Marks the field as required for assistive technologies and shows the required marker on its label. (boolean)"
        },
        {
          "name": "placeholder",
          "description": "Placeholder shown while the field is empty. (string)"
        }
      ]
    },
    {
      "name": "ful-input-file",
      "description": "A file input with an optional dropzone and a list of the selected files, enforcing the size and count limits it declares. Disabled follows native semantics: the attribute is the field's own claim, honored together with a disabled fieldset ancestry through :disabled, while the property reflects the claim only.",
      "attributes": [
        {
          "name": "value",
          "description": "Only an empty value is honoured, to clear the selection: file inputs cannot be filled programmatically. (string)"
        },
        {
          "name": "readonly",
          "description": "Renders the control but does not let it be edited. A readonly field still contributes its value to the form. (boolean)"
        },
        {
          "name": "required",
          "description": "Marks the field as required for assistive technologies and shows the required marker on its label. (boolean)"
        },
        {
          "name": "placeholder",
          "description": "Placeholder shown while the field is empty. (string)"
        },
        {
          "name": "accept",
          "description": "Comma separated list of accepted extensions. Files that do not match are dropped with a warning. (string)"
        },
        {
          "name": "multiple",
          "description": "Allows selecting more than one file. (boolean)"
        },
        {
          "name": "itemlist",
          "description": "Shows the list of selected files. (boolean)"
        },
        {
          "name": "dropzone",
          "description": "Shows the dropzone. (boolean)"
        },
        {
          "name": "maxfiles",
          "description": "Maximum number of files. Exceeding it clears the selection. (number)"
        },
        {
          "name": "maxfilesize",
          "description": "Maximum size of a single file, in bytes. Larger files are dropped. (number)"
        },
        {
          "name": "maxtotalsize",
          "description": "Maximum size of all the selected files, in bytes. Exceeding it clears the selection. (number)"
        }
      ]
    },
    {
      "name": "ful-local-date",
      "description": "Formats the date in its content, written as yyyy-mm-dd, in the locale of the page.",
      "attributes": []
    },
    {
      "name": "ful-instant",
      "description": "Formats the ISO instant in its content in the locale and timezone of the page.",
      "attributes": []
    },
    {
      "name": "ful-input-local-date",
      "description": "A date input. Its bounds accept a date, now, or an offset such as +1d, -2m or +3y. Disabled follows native semantics: the attribute is the field's own claim, honored together with a disabled fieldset ancestry through :disabled, while the property reflects the claim only.",
      "attributes": [
        {
          "name": "value",
          "description": "The current value. (string)"
        },
        {
          "name": "readonly",
          "description": "Renders the control but does not let it be edited. A readonly field still contributes its value to the form. (boolean)"
        },
        {
          "name": "required",
          "description": "Marks the field as required for assistive technologies and shows the required marker on its label. (boolean)"
        },
        {
          "name": "placeholder",
          "description": "Placeholder shown while the field is empty. (string)"
        },
        {
          "name": "min",
          "description": "Earliest selectable date. Accepts a date, now, or a day, month or year offset. (string)"
        },
        {
          "name": "max",
          "description": "Latest selectable date. Accepts a date, now, or a day, month or year offset. (string)"
        },
        {
          "name": "step",
          "description": "Step between selectable dates, in days. (string)"
        }
      ]
    },
    {
      "name": "ful-input-local-time",
      "description": "A time input. Its bounds accept a time, now, or an hour or minute offset, snapped to the step grid. Disabled follows native semantics: the attribute is the field's own claim, honored together with a disabled fieldset ancestry through :disabled, while the property reflects the claim only.",
      "attributes": [
        {
          "name": "value",
          "description": "The current value. (string)"
        },
        {
          "name": "readonly",
          "description": "Renders the control but does not let it be edited. A readonly field still contributes its value to the form. (boolean)"
        },
        {
          "name": "required",
          "description": "Marks the field as required for assistive technologies and shows the required marker on its label. (boolean)"
        },
        {
          "name": "placeholder",
          "description": "Placeholder shown while the field is empty. (string)"
        },
        {
          "name": "min",
          "description": "Earliest selectable time. Accepts a time, now, or an offset such as +2h or -30m. (string)"
        },
        {
          "name": "max",
          "description": "Latest selectable time. Accepts a time, now, or an offset such as +2h or -30m. (string)"
        },
        {
          "name": "step",
          "description": "Step between selectable times, in seconds. The bounds are truncated to this grid. (string)"
        }
      ]
    },
    {
      "name": "ful-input-instant",
      "description": "A datetime input whose value is read and written as an ISO instant. Disabled follows native semantics: the attribute is the field's own claim, honored together with a disabled fieldset ancestry through :disabled, while the property reflects the claim only.",
      "attributes": [
        {
          "name": "value",
          "description": "The current value. (string)"
        },
        {
          "name": "readonly",
          "description": "Renders the control but does not let it be edited. A readonly field still contributes its value to the form. (boolean)"
        },
        {
          "name": "required",
          "description": "Marks the field as required for assistive technologies and shows the required marker on its label. (boolean)"
        },
        {
          "name": "placeholder",
          "description": "Placeholder shown while the field is empty. (string)"
        },
        {
          "name": "min",
          "description": "Earliest selectable instant, as an ISO instant. (string)"
        },
        {
          "name": "max",
          "description": "Latest selectable instant, as an ISO instant. (string)"
        },
        {
          "name": "step",
          "description": "Step between selectable instants, in seconds. (string)"
        }
      ]
    },
    {
      "name": "ful-radio-group",
      "description": "A group of radios, declared as ful-radio children. With type=\"boolean\" the value is a real boolean. Disabled follows native semantics: the attribute is the field's own claim, honored together with a disabled fieldset ancestry through :disabled, while the property reflects the claim only.",
      "attributes": [
        {
          "name": "value",
          "description": "The value of the selected radio. (string)"
        },
        {
          "name": "readonly",
          "description": "Renders the control but does not let it be edited. A readonly field still contributes its value to the form. (boolean)"
        },
        {
          "name": "required",
          "description": "Marks the field as required for assistive technologies and shows the required marker on its label. (boolean)"
        }
      ]
    },
    {
      "name": "ful-table",
      "description": "A table that loads its rows from a loader, with sorting, pagination and an optional filter form. Its columns are declared in a schema slot.",
      "attributes": []
    },
    {
      "name": "ful-pagination",
      "description": "The pager of a ful-table. Rarely used on its own.",
      "attributes": [
        {
          "name": "total",
          "description": "Number of pages. (number)"
        },
        {
          "name": "current",
          "description": "Zero based index of the page being shown. (number)"
        }
      ]
    },
    {
      "name": "ful-sorter",
      "description": "The sort control rendered in a ful-table header. Rarely used on its own.",
      "attributes": [
        {
          "name": "order",
          "description": "The sort currently applied, asc or desc, or absent when unsorted. (string)"
        }
      ]
    },
    {
      "name": "ful-filter-instant",
      "description": "A ful-table filter over an instant, with an operator and one or two bounds. Disabled follows native semantics: the attribute is the field's own claim, honored together with a disabled fieldset ancestry through :disabled, while the property reflects the claim only.",
      "attributes": [
        {
          "name": "value",
          "description": "JSON tuple of the operator and its bounds, for example [\"BETWEEN\", from, to]. (string)"
        },
        {
          "name": "readonly",
          "description": "Renders the control but does not let it be edited. A readonly field still contributes its value to the form. (boolean)"
        },
        {
          "name": "required",
          "description": "Marks the field as required for assistive technologies and shows the required marker on its label. (boolean)"
        },
        {
          "name": "placeholder",
          "description": "Placeholder shown while the field is empty. (string)"
        }
      ]
    },
    {
      "name": "ful-filter-local-date",
      "description": "A ful-table filter over a date, with an operator and one or two bounds. Disabled follows native semantics: the attribute is the field's own claim, honored together with a disabled fieldset ancestry through :disabled, while the property reflects the claim only.",
      "attributes": [
        {
          "name": "value",
          "description": "JSON tuple of the operator and its bounds, for example [\"BETWEEN\", from, to]. (string)"
        },
        {
          "name": "readonly",
          "description": "Renders the control but does not let it be edited. A readonly field still contributes its value to the form. (boolean)"
        },
        {
          "name": "required",
          "description": "Marks the field as required for assistive technologies and shows the required marker on its label. (boolean)"
        },
        {
          "name": "placeholder",
          "description": "Placeholder shown while the field is empty. (string)"
        }
      ]
    },
    {
      "name": "ful-filter-text",
      "description": "A ful-table filter over text, with an operator such as CONTAINS or STARTS_WITH. Disabled follows native semantics: the attribute is the field's own claim, honored together with a disabled fieldset ancestry through :disabled, while the property reflects the claim only.",
      "attributes": [
        {
          "name": "value",
          "description": "JSON tuple of the operator, the sensitivity and the text. (string)"
        },
        {
          "name": "readonly",
          "description": "Renders the control but does not let it be edited. A readonly field still contributes its value to the form. (boolean)"
        },
        {
          "name": "required",
          "description": "Marks the field as required for assistive technologies and shows the required marker on its label. (boolean)"
        },
        {
          "name": "placeholder",
          "description": "Placeholder shown while the field is empty. (string)"
        }
      ]
    },
    {
      "name": "ful-select",
      "description": "A combobox backed by a loader, with badges for the current selection. Disabled follows native semantics: the attribute is the field's own claim, honored together with a disabled fieldset ancestry through :disabled, while the property reflects the claim only.",
      "attributes": [
        {
          "name": "value",
          "description": "The selected key, or a comma separated list of keys when multiple. (string)"
        },
        {
          "name": "readonly",
          "description": "Renders the control but does not let it be edited. A readonly field still contributes its value to the form. (boolean)"
        },
        {
          "name": "required",
          "description": "Marks the field as required for assistive technologies and shows the required marker on its label. (boolean)"
        },
        {
          "name": "itemlist",
          "description": "Shows the selection as a list under the control as well as badges. (boolean)"
        }
      ]
    },
    {
      "name": "ful-dropdown",
      "description": "The options popup of a ful-select. Rarely used on its own.",
      "attributes": []
    }
  ]
}
