import { default as WJElement } from '../wje-element/element.js'; /** * @summary This class represents Button element, extending the WJElement class. * @documentation https://elements.webjet.sk/components/button * @status stable * @augments WJElement * @dependency wje-icon * @slot - The button main content. * @slot icon - The button icon. * @slot caret - The button caret. * @slot start - The button start slot. * @slot end - The button end slot. * @slot toggle - The button toggle slot. * @csspart native - The component's native wrapper. * @cssproperty [--wje-button-background-color=transparent] - Background color of the component; * @cssproperty [--wje-button-border-color=--wje-color-contrast-4] - Border color of the component; * @cssproperty [--wje-button-color=--wje-color-contrast-11] - Color of the component; * @cssproperty [--wje-button-border-radius=--wje-border-radius-medium] - Border radius of the component; * @cssproperty [--wje-button-border-width=1px] - Border width of the component; * @cssproperty [--wje-button-border-style=solid] - Border style of the component; * @cssproperty [--wje-button-border-color=--wje-color-contrast-1] - Border color of the component; * @cssproperty [--wje-button-margin-inline=0] - Margin inline of the component; */ export default class Button extends WJElement { /** * Get CSS stylesheet for the Button element. * @static * @returns {CSSStyleSheet} styles - The CSS stylesheet for the Button element. */ static get cssStyleSheet(): CSSStyleSheet; /** * Get observed attributes for the Button element. * @static * @returns {Array} observedAttributes - The observed attributes array for the Button element. */ static get observedAttributes(): Array; /** * @summary A static property that indicates whether the custom element is form-associated or not. * Form-associated custom elements are elements that can participate in form submission. * @type {boolean} */ static formAssociated: boolean; /** * Dependencies of the Button element. * @type {object} */ dependencies: object; /** * Properties of the element Button. * @param value */ set color(value: string | string); /** * Get color of the Button element. * @returns {string|string} */ get color(): string | string; /** * Set variant of the Button element. * @param value */ set caret(value: boolean); /** * Get variant of the Button element. * @returns {boolean} */ get caret(): boolean; /** * Sets the 'round' attribute on the element. If the value is true, the attribute is added; * otherwise, it is removed from the element. * @param {boolean} value A boolean indicating whether to set or remove the 'round' attribute. */ set round(value: boolean); /** * Retrieves the value of the 'round' attribute as a boolean. * Checks if the 'round' attribute is present on the element. * @returns {boolean} True if the 'round' attribute exists, otherwise false. */ get round(): boolean; /** * Set variant of the Button element. * @param value */ set tooltip(value: boolean); /** * Get variant of the Button element. * @returns {boolean} */ get tooltip(): boolean; /** * Set variant of the Button element. * @param value */ set dialog(value: string | object); /** * Get variant of the Button element. * @returns {string|object} */ get dialog(): string | object; /** * Set active state of the Button element. * @param {boolean} value The value to set */ set active(value: boolean); /** * Get active state of the Button element. * @returns {boolean} active - The active state */ get active(): boolean; /** * Set disabled state of the Button element. * @param {boolean} value The value to set */ set disabled(value: boolean); /** * Get disabled state of the Button element. * @returns {boolean} disabled - The disabled state */ get disabled(): boolean; /** * Set fill of the Button element. * @param {string} value The value to set */ set fill(value: string); /** * Get fill of the Button element. * @returns {string} fill - The fill value */ get fill(): string; /** * Set outline state of the Button element. * @param {boolean} value The value to set */ set outline(value: boolean); /** * Get outline state of the Button element. * @returns {boolean} outline - The outline state */ get outline(): boolean; /** * Set stop propagation state of the Button element. * @param {boolean} value The value to set */ set stopPropagation(value: boolean); /** * Get stop propagation state of the Button element. * @returns {boolean} stopPropagation - The stop propagation state */ get stopPropagation(): boolean; /** * Sets the value of the custom event attribute. * @param {string} value The value to be assigned to the custom event attribute. */ set customEvent(value: string); /** * Retrieves the value of the 'custom-event' attribute from the element. * @returns {string | null} The value of the 'custom-event' attribute, or null if the attribute is not set. */ get customEvent(): string | null; /** * Retrieves a mapped object containing custom event parameters extracted from the element's attributes. * Attributes considered are those that begin with 'custom-event-'. * The mapped object's keys are derived by removing the 'custom-event-' prefix from the attribute names, * and the values are the corresponding attribute values. * @returns {object} An object containing key-value pairs of custom event parameters. */ get customEventParameters(): object; attributeChangedCallback(name: any, oldValue: any, newValue: any): void; /** * @summary Callback function that is called when the custom element is associated with a form. * This function sets the internal `_form` property to the associated form. * @param {HTMLFormElement} form The form the custom element is associated with. */ formAssociatedCallback(form: HTMLFormElement): void; _form: HTMLFormElement; /** * @summary Callback function that is called when the form-associated state of the custom element changes. * This function updates the 'disabled' attribute of the element based on the new state. * @param {boolean} disabled The new form-associated state. */ formDisabledCallback(disabled: boolean): void; /** * Draw method for the Button element. * @returns {object} fragment - The document fragment containing the drawn element. */ draw(): object; hasToggle: boolean; slotToggle: HTMLSlotElement; /** * After draw method for the Button element. */ afterDraw(): void; unbindRouterLinks: any; /** * Event dialog open method for the Button element. * @param {Event} e The event object */ eventDialogOpen: (e: Event) => void; /** * Toggle states method for the Button element. */ toggleStates: () => void; /** * Keeps toggle slot visibility aligned with the current value. */ syncToggleState(): void; /** * Syncs ARIA attributes on the host element. */ syncAria(): void; #private; }