import { PropertyValues } from "lit"; import { FRoot } from "../../mixins/components/f-root/f-root"; import { FIcon } from "../f-icon/f-icon"; import { FCounter } from "../f-counter/f-counter"; export type FButtonState = "primary" | "neutral" | "success" | "warning" | "danger" | "inherit" | `custom, ${string}`; /** * @summary Buttons allow users to perform an action or to initiate a new function. */ export declare class FButton extends FRoot { /** * css loaded from scss file */ static styles: import("lit").CSSResult[]; /** * @attribute local state for managing custom fill. */ fill: string; /** * @attribute label property defines the text label on a button. Label of a button is always uppercase. */ label: string; /** * @attribute category of button */ category?: "fill" | "outline" | "transparent" | "packed"; /** * @attribute The medium size is the default and recommended option. */ size?: "large" | "medium" | "small" | "x-small"; /** * @attribute The states on buttons are to indicate various degrees of emphasis of the action. */ state?: FButtonState; /** * @attribute variant of button. */ variant?: "round" | "curved" | "block"; /** * @attribute Icon-left enables an icon on the left of the label of a button. */ iconLeft?: string; /** * @attribute Icon-right enables an icon on the right of the label of a button. */ iconRight?: string; /** * @attribute Counter property enables a counter on the button. */ counter?: string; /** * @attribute Loader icon replaces the content of the button . */ loading?: boolean; /** * @attribute The disabled attribute can be set to keep a user from clicking on the button. */ disabled?: boolean; /** * @attribute Set true if want to wrap content if there is no space in button */ labelWrap?: boolean; /** * icon element reference */ iconElement: FIcon; /** * counter element reference */ counterElement?: FCounter; /** * compute counter size based on button size */ get counterSize(): "small" | "medium" | "large" | undefined; /** * compute textColor when custom color of tag is defined. */ get textColor(): "#202a36" | "#fcfcfd"; /** * mention required fields here for generating vue types */ readonly required: string[]; /** * validation for all atrributes */ validateProperties(): void; /** * apply inline styles to shadow-dom for custom fill. */ applyStyles(): string; render(): import("lit-html").TemplateResult<1>; protected updated(changedProperties: PropertyValues): void; } /** * Required for typescript */ declare global { interface HTMLElementTagNameMap { "f-button": FButton; } }