/** * Copyright (c) Cisco Systems, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * */ import "../spinner/Spinner"; import { LitElement, nothing, PropertyValues } from "lit"; export declare const buttonSize: readonly ["20", "24", "28", "32", "36", "40", "44", "52", "56", "72", "68", "84", "size-none", 20, 24, 28, 32, 36, 40, 44, 52, 56, 68, 72, 68, 84]; export declare const buttonTag: readonly ["button", "input", "a"]; export declare const buttonType: readonly ["button", "reset", "submit"]; export declare const buttonRoles: readonly ["button", "checkbox", "link", "menuitem", "menuitemcheckbox", "menuitemradio", "option", "radio", "switch", "tab"]; export declare const buttonVariant: readonly ["primary", "secondary", "red", "green", "ghost", "ghostInheritTextColor", "white", "darkGrey", "promotional", "tab", "available", "unavailable", "engaged", "idle", "inverted-primary", "inverted-secondary", "inverted-ghost", "dropdown", "secondary-negative", "secondary-positive", "secondary-accent"]; export declare const buttonColor: readonly ["blue", "red", "green", "orange", "yellow", "mint", "purple", "pink", "cyan", "white", "dark-gray", "duck-egg", "violet", "color-none", ""]; export declare const buttonAriaLive: readonly ["", "off", "polite", "assertive"]; export declare namespace Button { type Tag = (typeof buttonTag)[number]; type Type = (typeof buttonType)[number]; type Role = (typeof buttonRoles)[number]; type variant = (typeof buttonVariant)[number]; type color = (typeof buttonColor)[number]; type ariaLive = (typeof buttonAriaLive)[number]; type Attributes = { id?: string; disabled: boolean; alt?: string; href?: string; type: Type; ariaLabel?: string; ariaLabelledBy?: string; ariaLive?: string; ariaExpanded?: boolean; ariaHaspopup?: boolean; ariaPressed?: string; ariaCurrent?: boolean; tag: Tag; loading: boolean; role?: string; value: string; }; type Size = (typeof buttonSize)[number]; interface ButtonClickEventDetail { srcEvent: MouseEvent; } interface ButtonKeydownEventDetail { srcEvent: KeyboardEvent; } /** * Custom events dispatched by the Button component */ interface ButtonEvents { /** * Dispatched when the button is clicked * @detail An object containing the original MouseEvent */ "button-click": CustomEvent; /** * Dispatched when a key is pressed while the button has focus * @detail An object containing the original KeyboardEvent */ "button-keydown": CustomEvent; } class ELEMENT extends LitElement { _active: boolean; get active(): boolean; set active(value: boolean); private _tabIndex; get tabIndex(): number; set tabIndex(newValue: number); ariaLabel: string; ariaLabelledBy: string; ariaLive: Button.ariaLive; ariaExpanded: string; ariaHaspopup: string; ariaPressed: string; circle: boolean; rounded: boolean; color: Button.color; containerLarge: boolean; disabled: boolean; href: string; id: string; value: string; keyboardKey: string; label: string; loading: boolean; outline: boolean; hasRemoveStyle: boolean; size: Button.Size; tag: Button.Tag; type: Button.Type; role: Button.Role; variant: Button.variant; width: string; maxWidth: string; activityType: string; iconActive: boolean; isActive: boolean; ariaDescribedBy?: string; clickFunction?: () => void; isPlaceholderText?: boolean; autofocus: boolean; button: HTMLButtonElement; protected firstUpdated(changedProperties: PropertyValues): void; manageAutoFocus(element?: HTMLElement): void; focus(): void; blur(): void; renderWidth: () => string | typeof nothing; renderMaxWidth: () => string | typeof nothing; getStyles: () => import("lit-html").TemplateResult<1> | undefined; handleKeyDown(event: KeyboardEvent): void; handleClick(event: MouseEvent): void; static get styles(): import("lit").CSSResult[]; get buttonClassMap(): { [x: string]: boolean; "md-button--circle": boolean; "md-button--rounded": boolean; "md-button--none": boolean; "md-button--outline": boolean; active: boolean; disabled: boolean; isActive: boolean; "md-activity": boolean; "md-button--icon": boolean; "md-button--onlyicon": boolean; "md-button--placeholder-text": boolean; }; get slottedText(): string | undefined; get hasIcon(): boolean; iconTemplate: () => import("lit-html").TemplateResult<1>; textTemplate: () => import("lit-html").TemplateResult<1> | typeof nothing; childrenTemplate(): import("lit-html").TemplateResult<1>; get computedAriaExpand(): "true" | "false" | undefined; buttonTemplate(tag: Button.Tag): import("lit-html").TemplateResult<1> | typeof nothing; get buttonContainerClassMap(): { "md-button__container": boolean; "md-button__container--small": boolean; }; render(): import("lit-html").TemplateResult<1>; } } declare global { interface HTMLElementTagNameMap { "md-button": Button.ELEMENT; } interface HTMLElementEventMap { "button-click": CustomEvent; "button-keydown": CustomEvent; } }