{
  "version": "experimental",
  "tags": [
    {
      "name": "uui-button-copy-text",
      "path": "./lib/uui-button-copy-text.element.ts",
      "attributes": [
        {
          "name": "text",
          "description": "Set a string you wish to copy to the clipboard",
          "type": "string",
          "default": "\"''\""
        },
        {
          "name": "copy-from",
          "description": "Copies the text content from another element by specifying the ID of the element\nThe ID of the element does not need to start with # like a CSS selector\nIf this property is set, the value property is ignored",
          "type": "string",
          "default": "\"''\""
        },
        {
          "name": "animation-state-delay",
          "description": "The delay in milliseconds before the button returns to its default state after a successful copy",
          "type": "number",
          "default": "\"250\""
        },
        {
          "name": "type",
          "description": "Specifies the type of button",
          "type": "\"submit\" | \"button\" | \"reset\"",
          "default": "\"\\\"button\\\"\""
        },
        {
          "name": "disabled",
          "description": "Disables the button, changes the looks of it and prevents if from emitting the click event",
          "type": "boolean",
          "default": "\"false\""
        },
        {
          "name": "look",
          "description": "Changes the look of the button to one of the predefined, symbolic looks. For example - set this to positive if you want nice, green \"confirm\" button.",
          "type": "\"default\" | \"primary\" | \"secondary\" | \"outline\" | \"placeholder\"",
          "default": "\"\\\"default\\\"\""
        },
        {
          "name": "color",
          "description": "Changes the look of the button to one of the predefined, symbolic looks. For example - set this to positive if you want nice, green \"confirm\" button.",
          "type": "\"default\" | \"positive\" | \"warning\" | \"danger\"",
          "default": "\"\\\"default\\\"\""
        },
        {
          "name": "compact",
          "description": "Makes the left and right padding of the button narrower.",
          "type": "boolean",
          "default": "\"false\""
        },
        {
          "name": "state",
          "description": "Sets the state of the button. With waiting state a loader will show, the success and fail states display icons. State is automatically reset to the default after 3 seconds.",
          "type": "undefined |'waiting' | 'success' | 'failed'",
          "default": "\"undefined\""
        },
        {
          "name": "href",
          "description": "Set an href, this will turns the button into a anchor tag.",
          "type": "string",
          "default": "\"undefined\""
        },
        {
          "name": "target",
          "description": "Set an anchor tag target, only used when using href.",
          "type": "string",
          "default": "\"undefined\""
        },
        {
          "name": "rel",
          "description": "Set the rel attribute for an anchor tag, only used when using href.",
          "type": "string",
          "default": "\"undefined\""
        },
        {
          "name": "title",
          "description": "Sets the title attribute, which provides a tooltip for both button and anchor elements.",
          "type": "string",
          "default": "\"''\""
        },
        {
          "name": "name",
          "description": "This is a name property of the component.",
          "type": "string",
          "default": "\"''\""
        },
        {
          "name": "value",
          "description": "Value of this form control.\nIf you dont want the setFormValue to be called on the ElementInternals, then prevent calling this method, by not calling super.value = newValue in your implementation of the value setter method.",
          "type": "string",
          "default": "\"''\""
        },
        {
          "name": "required",
          "description": "Apply validation rule for requiring a value of this form control.",
          "type": "boolean",
          "default": "\"false\""
        },
        {
          "name": "required-message",
          "description": "Required validation message.",
          "type": "string",
          "default": "\"This field is required\""
        },
        {
          "name": "error",
          "description": "Apply custom error on this input.",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "error-message",
          "description": "Custom error message.",
          "type": "string",
          "default": "\"This field is invalid\""
        },
        {
          "name": "pristine",
          "description": "Determines wether the form control has been touched or interacted with, this determines wether the validation-status of this form control should be made visible.",
          "type": "boolean",
          "default": "\"true\""
        },
        {
          "name": "label",
          "description": "label to be used for aria-label and potentially as visual label for some components",
          "type": "string"
        },
        {
          "name": "popovertarget",
          "description": "Set a popovertarget.",
          "type": "string",
          "default": "\"undefined\""
        }
      ],
      "properties": [
        {
          "name": "text",
          "attribute": "text",
          "description": "Set a string you wish to copy to the clipboard",
          "type": "string",
          "default": "\"''\""
        },
        {
          "name": "copyFrom",
          "attribute": "copy-from",
          "description": "Copies the text content from another element by specifying the ID of the element\nThe ID of the element does not need to start with # like a CSS selector\nIf this property is set, the value property is ignored",
          "type": "string",
          "default": "\"''\""
        },
        {
          "name": "animationStateDelay",
          "attribute": "animation-state-delay",
          "description": "The delay in milliseconds before the button returns to its default state after a successful copy",
          "type": "number",
          "default": "\"250\""
        },
        {
          "name": "type",
          "attribute": "type",
          "description": "Specifies the type of button",
          "type": "\"submit\" | \"button\" | \"reset\"",
          "default": "\"\\\"button\\\"\""
        },
        {
          "name": "disabled",
          "attribute": "disabled",
          "description": "Disables the button, changes the looks of it and prevents if from emitting the click event",
          "type": "boolean",
          "default": "\"false\""
        },
        {
          "name": "look",
          "attribute": "look",
          "description": "Changes the look of the button to one of the predefined, symbolic looks. For example - set this to positive if you want nice, green \"confirm\" button.",
          "type": "\"default\" | \"primary\" | \"secondary\" | \"outline\" | \"placeholder\"",
          "default": "\"\\\"default\\\"\""
        },
        {
          "name": "color",
          "attribute": "color",
          "description": "Changes the look of the button to one of the predefined, symbolic looks. For example - set this to positive if you want nice, green \"confirm\" button.",
          "type": "\"default\" | \"positive\" | \"warning\" | \"danger\"",
          "default": "\"\\\"default\\\"\""
        },
        {
          "name": "compact",
          "attribute": "compact",
          "description": "Makes the left and right padding of the button narrower.",
          "type": "boolean",
          "default": "\"false\""
        },
        {
          "name": "state",
          "attribute": "state",
          "description": "Sets the state of the button. With waiting state a loader will show, the success and fail states display icons. State is automatically reset to the default after 3 seconds.",
          "type": "undefined |'waiting' | 'success' | 'failed'",
          "default": "\"undefined\""
        },
        {
          "name": "href",
          "attribute": "href",
          "description": "Set an href, this will turns the button into a anchor tag.",
          "type": "string",
          "default": "\"undefined\""
        },
        {
          "name": "target",
          "attribute": "target",
          "description": "Set an anchor tag target, only used when using href.",
          "type": "string",
          "default": "\"undefined\""
        },
        {
          "name": "rel",
          "attribute": "rel",
          "description": "Set the rel attribute for an anchor tag, only used when using href.",
          "type": "string",
          "default": "\"undefined\""
        },
        {
          "name": "title",
          "attribute": "title",
          "description": "Sets the title attribute, which provides a tooltip for both button and anchor elements.",
          "type": "string",
          "default": "\"''\""
        },
        {
          "name": "styles",
          "type": "CSSResult[]",
          "default": "\"styles\""
        },
        {
          "name": "formAssociated",
          "description": "This is a static class field indicating that the element is can be used inside a native form and participate in its events.\nIt may require a polyfill, check support here https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/attachInternals.\nRead more about form controls here https://web.dev/more-capable-form-controls/",
          "type": "boolean",
          "default": "true"
        },
        {
          "name": "name",
          "attribute": "name",
          "description": "This is a name property of the component.",
          "type": "string",
          "default": "\"''\""
        },
        {
          "name": "value",
          "attribute": "value",
          "description": "Value of this form control.\nIf you dont want the setFormValue to be called on the ElementInternals, then prevent calling this method, by not calling super.value = newValue in your implementation of the value setter method.",
          "type": "string",
          "default": "\"''\""
        },
        {
          "name": "required",
          "attribute": "required",
          "description": "Apply validation rule for requiring a value of this form control.",
          "type": "boolean",
          "default": "\"false\""
        },
        {
          "name": "requiredMessage",
          "attribute": "required-message",
          "description": "Required validation message.",
          "type": "string",
          "default": "\"This field is required\""
        },
        {
          "name": "error",
          "attribute": "error",
          "description": "Apply custom error on this input.",
          "type": "boolean",
          "default": "false"
        },
        {
          "name": "errorMessage",
          "attribute": "error-message",
          "description": "Custom error message.",
          "type": "string",
          "default": "\"This field is invalid\""
        },
        {
          "name": "validity",
          "type": "ValidityState"
        },
        {
          "name": "validationMessage",
          "type": "string"
        },
        {
          "name": "pristine",
          "attribute": "pristine",
          "description": "Determines wether the form control has been touched or interacted with, this determines wether the validation-status of this form control should be made visible.",
          "type": "boolean",
          "default": "\"true\""
        },
        {
          "name": "label",
          "attribute": "label",
          "description": "label to be used for aria-label and potentially as visual label for some components",
          "type": "string"
        },
        {
          "name": "popoverContainerElement",
          "attribute": "popovertarget",
          "description": "Set a popovertarget.",
          "type": "string",
          "default": "\"undefined\""
        }
      ],
      "events": [
        {
          "name": "copying",
          "description": "Fires before the content is about to copied to the clipboard and can be used to transform or modify the data before its added to the clipboard"
        },
        {
          "name": "copied",
          "description": "Fires when the content is copied to the clipboard"
        },
        {
          "name": "click",
          "description": "fires when the element is clicked"
        }
      ],
      "slots": [
        {
          "name": "",
          "description": "Use to replace the default content of the copy icon"
        },
        {
          "name": "label",
          "description": "for label content"
        },
        {
          "name": "extra",
          "description": "for extra"
        }
      ],
      "cssProperties": [
        {
          "name": "--uui-button-height",
          "description": "overwrite the button height"
        },
        {
          "name": "--uui-button-border-width",
          "description": "overwrite the border width"
        },
        {
          "name": "--uui-button-border-radius",
          "description": "overwrite the border radius"
        },
        {
          "name": "--uui-button-font-weight",
          "description": "overwrite the font weight"
        },
        {
          "name": "--uui-button-font-size",
          "description": "overwrite the font size"
        },
        {
          "name": "--uui-button-background-color",
          "description": "overwrite the background color"
        },
        {
          "name": "--uui-button-background-color-hover",
          "description": "overwrite the background color for hover state"
        },
        {
          "name": "--uui-button-background-color-disabled",
          "description": "overwrite the background color for disabled state"
        },
        {
          "name": "--uui-button-border-color",
          "description": "overwrite the border color"
        },
        {
          "name": "--uui-button-border-color-hover",
          "description": "overwrite the border color for hover state"
        },
        {
          "name": "--uui-button-border-color-disabled",
          "description": "overwrite the border color for disabled state"
        },
        {
          "name": "--uui-button-contrast",
          "description": "overwrite the text color"
        },
        {
          "name": "--uui-button-contrast-hover",
          "description": "overwrite the text color for hover state"
        },
        {
          "name": "--uui-button-contrast-disabled",
          "description": "overwrite the text color for disabled state"
        },
        {
          "name": "--uui-button-content-align",
          "description": "Overwrite justify-content alignment. Possible values: 'left', 'right', 'center'."
        },
        {
          "name": "--uui-button-transition",
          "description": "Add transition to the button. Default is none."
        },
        {
          "name": "--uui-focus-outline-color",
          "description": "overwrite the focus outline color"
        }
      ]
    }
  ]
}