import { ButtonSize, ButtonEmphasis, ButtonType, IconButtonShape } from '../../utils/constants'; import { IconName } from '../nv-icon/nv-icons'; /** * @slot default - Content of the button. */ export declare class NvIconbutton { internals: ElementInternals; el: HTMLNvIconbuttonElement; /****************************************************************************/ /** * Determines how large or small the button appears, allowing for * customization of the button's dimensions to fit different design * specifications and user needs. */ readonly size: `${ButtonSize}`; /** * Adjusts the button’s emphasis to make it more or less visually prominent * to users. Use this to draw attention to important actions or reduce focus * on less critical ones. */ readonly emphasis: `${ButtonEmphasis}`; /** * Set this to true to show a spinner on the button, letting users know that * their action is being processed. It helps improve user experience by * indicating ongoing activities. The icon is not displayed when the button * is loading. Also, the button is disabled. If you want to disable the * button, it is not possible. It is automatically disabled when loading. */ loading: boolean; /** * Disables the button, preventing user interaction. */ disabled: boolean; /** * Makes the button look active when it’s within a compatible component * like a button group. */ readonly active: boolean; /** * Choose the icon you want to display. This also sets the aria-label for * improved accessibility, helping users who rely on screen readers. * The icon is not displayed when the button is loading. * @icon */ readonly name: `${IconName}`; /** * Sets the button type to control its function in forms. Use 'submit' to send * form data, 'reset' to clear the form, or 'button' for a standard button * that doesn’t interact with form submission by default. */ readonly type: `${ButtonType}`; /** * Sets the shape of the button. Choose between square and rounded. */ readonly shape: `${IconButtonShape}`; /** * Use this to make the button skip-able when users navigate with the keyboard. * The button remains clickable but won’t be reached via the Tab key. */ readonly disableTabindex: boolean; /****************************************************************************/ /** * Handles form-related actions when the button is clicked. * - Submits the form if the button type is 'submit'. * - Resets the form if the button type is 'reset'. * @param {Event} event - The click event. */ private handleClick; /****************************************************************************/ handleLoadingChange(loading: boolean): void; handleDisabledChange(disabled: boolean): void; /****************************************************************************/ handleKeyDown(event: KeyboardEvent): void; handleTouchStart(event: TouchEvent): void; /****************************************************************************/ componentWillLoad(): void; /****************************************************************************/ render(): any; }