import { BaseButton as FluentButton } from "@fluentui/web-components"; import type { ButtonAppearance, ButtonSize, ButtonShape } from "./button.options.js"; /** * Button * @summary A Button Custom HTML Element. Based on FluentButton and includes style and layout specific attributes. * * @example * ```html * * 🚀 * Click me! * → * * ``` * * @attr {ButtonAppearance | undefined} appearance - Indicates the styled appearance of the button. * @attr {ButtonShape | undefined} shape - The shape of the button. * @attr {ButtonSize | undefined} size - The size of the button. * @attr {boolean} icon-only - Indicates that the button should only display as an icon with no text content. * @attr {boolean} autofocus - Indicates the button should be focused when the page is loaded. * @attr {boolean | undefined} disabled - Sets the element's disabled state. * @attr {boolean} disabled-focusable - Indicates that the button is focusable while disabled. * @attr {number} tabindex - Sets that the button tabindex attribute. * @attr {string | undefined} formaction - The URL that processes the form submission. * @attr {string | undefined} form - The id of a form to associate the element to. * @attr {string | undefined} formenctype - The encoding type for the form submission. * @attr {string | undefined} formmethod - The HTTP method that the browser uses to submit the form. * @attr {boolean | undefined} formnovalidate - Indicates that the form will not be validated when submitted. * @attr {ButtonFormTarget | undefined} formtarget - The target frame or window to open the form submission in. * @attr {string | undefined} name - The name of the element. This element's value will be surfaced during form submission under the provided name. * @attr {ButtonType} type - The button type. * @attr {string | undefined} value - The value attribute. * * @prop {ButtonAppearance | undefined} appearance - Indicates the styled appearance of the button. * @prop {ButtonShape | undefined} shape - The shape of the button. * @prop {ButtonSize | undefined} size - The size of the button. * @prop {boolean} iconOnly - Indicates that the button should only display as an icon with no text content. * @prop {boolean} autofocus - Indicates the button should be focused whein the page is loaded. * @prop {boolean | undefined} disabled - Sets the element's disabled state. * @prop {boolean} disabledFocusable - Indicates that the button is focusable while disabled. * @prop {number} tabindex - Sets that the button tabindex attribute. * @prop {string | undefined} formaction - The URL that processes the form submission. * @prop {string | undefined} form - The id of a form to associate the element to. * @prop {string | undefined} formenctype - The encoding type for the form submission. * @prop {string | undefined} formmethod - The HTTP method that the browser uses to submit the form. * @prop {boolean | undefined} formnovalidate - Indicates that the form will not be validated when submitted. * @prop {ButtonFormTarget | undefined} formtarget - The target frame or window to open the form submission in. * @prop {string | undefined} name - The name of the element. This element's value will be surfaced during form submission under the provided name. * @prop {ButtonType} type - The button type. * @prop {string | undefined} value - The value attribute. * @prop {string} role - Accessible role applied to the element (defaults to 'button'). * * @slot start - Content which can be provided before the button content. * @slot end - Content which can be provided after the button content. * @slot - The default slot for button content. * * @csspart content - The button content container. * * @cssprop --icon-spacing - Custom property defined in component styles * * @method keypressHandler - Handles keypress events for the button. * @method press - Presses the button. * @method resetForm - Resets the associated form. * * @extends FluentButton * @tagname fabric-button * @public */ export declare class Button extends FluentButton { /** * Indicates the styled appearance of the button. * * @public * @remarks * HTML Attribute: `appearance` */ appearance?: ButtonAppearance; /** * The shape of the button. * * @public * @remarks * HTML Attribute: `shape` */ shape?: ButtonShape; /** * The size of the button. * * @public * @remarks * HTML Attribute: `size` */ size?: ButtonSize; /** * Indicates that the button should only display as an icon with no text content. * * @public * @remarks * HTML Attribute: `icon-only` */ iconOnly: boolean; } //# sourceMappingURL=button.d.ts.map