{
  "version": "experimental",
  "tags": [
    {
      "name": "ef-datetime-field",
      "description": "A form control element for datetime input.",
      "attributes": [
        {
          "name": "min",
          "description": "Set minimum date.\nThis value must follow the `format` and be less\nthan or equal to the value of the `max` attribute",
          "type": "string | null"
        },
        {
          "name": "max",
          "description": "Set maximum date.\nThis value must follow the `format` and be greater\nthan or equal to the value of the `min` attribute",
          "type": "string | null"
        },
        {
          "name": "timepicker",
          "description": "Toggle to display the time picker",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "show-seconds",
          "description": "Toggle to display the seconds",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "am-pm",
          "description": "Overrides 12hr time display format",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "value",
          "description": "Current date time value",
          "type": "string",
          "default": "\"\""
        },
        {
          "name": "disabled",
          "description": "Set disabled state",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "error",
          "description": "Set error state",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "icon",
          "description": "Specify icon to display in input. Value can be icon name",
          "type": "string | null"
        },
        {
          "name": "icon-has-action",
          "description": "Specify when icon need to be clickable",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "placeholder",
          "description": "Set placeholder text",
          "type": "string",
          "default": "\"\""
        },
        {
          "name": "readonly",
          "description": "Set readonly state",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "transparent",
          "description": "Disables all other states and border/background styles.",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "warning",
          "description": "Set warning state",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "icon-has-action",
          "description": "Specify when icon need to be clickable",
          "type": "boolean"
        },
        {
          "name": "maxlength",
          "description": "Set character max limit",
          "type": "number"
        },
        {
          "name": "minlength",
          "description": "Set character min limit",
          "type": "number"
        }
      ],
      "properties": [
        {
          "name": "min",
          "attribute": "min",
          "description": "Set minimum date.\nThis value must follow the `format` and be less\nthan or equal to the value of the `max` attribute",
          "type": "string | null"
        },
        {
          "name": "max",
          "attribute": "max",
          "description": "Set maximum date.\nThis value must follow the `format` and be greater\nthan or equal to the value of the `min` attribute",
          "type": "string | null"
        },
        {
          "name": "timepicker",
          "attribute": "timepicker",
          "description": "Toggle to display the time picker",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "showSeconds",
          "attribute": "show-seconds",
          "description": "Toggle to display the seconds",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "amPm",
          "attribute": "am-pm",
          "description": "Overrides 12hr time display format",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "formatOptions",
          "description": "Set the datetime format options based on\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat\n`formatOptions` overrides `timepicker` and `showSeconds` properties.\nNote: time-zone is not supported"
        },
        {
          "name": "value",
          "attribute": "value",
          "description": "Current date time value",
          "type": "string",
          "default": "\"\""
        },
        {
          "name": "valueAsNumber",
          "description": "Returns the value of the element, interpreted as double number",
          "type": "number"
        },
        {
          "name": "valueAsDate",
          "description": "Returns the value of the element, interpreted as Date"
        },
        {
          "name": "disabled",
          "attribute": "disabled",
          "description": "Set disabled state",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "error",
          "attribute": "error",
          "description": "Set error state",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "icon",
          "attribute": "icon",
          "description": "Specify icon to display in input. Value can be icon name",
          "type": "string | null"
        },
        {
          "name": "iconHasAction",
          "attribute": "icon-has-action",
          "description": "Specify when icon need to be clickable",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "maxLength",
          "description": "Set character max limit",
          "type": "number | null"
        },
        {
          "name": "minLength",
          "description": "Set character min limit",
          "type": "number | null"
        },
        {
          "name": "pattern",
          "description": "Set regular expression for input validation",
          "type": "string",
          "default": "\"\""
        },
        {
          "name": "placeholder",
          "attribute": "placeholder",
          "description": "Set placeholder text",
          "type": "string",
          "default": "\"\""
        },
        {
          "name": "readonly",
          "attribute": "readonly",
          "description": "Set readonly state",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "transparent",
          "attribute": "transparent",
          "description": "Disables all other states and border/background styles.",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "warning",
          "attribute": "warning",
          "description": "Set warning state",
          "type": "boolean",
          "default": "false"
        }
      ],
      "events": [
        {
          "name": "value-changed",
          "description": "Dispatched when value changes"
        },
        {
          "name": "error-changed",
          "description": "Dispatched when error state changes"
        },
        {
          "name": "icon-click",
          "description": "Dispatched when icon is clicked"
        }
      ],
      "methods": [
        {
          "name": "willUpdate",
          "description": "Updates the element",
          "params": [
            {
              "name": "changedProperties",
              "description": "Properties that has changed",
              "type": "PropertyValues"
            }
          ]
        },
        {
          "name": "checkValidity",
          "description": "Returns true if an input element contains valid data.",
          "params": []
        }
      ]
    }
  ]
}