import React from "react"; import { XmButton as XmButtonElement } from "../lit/components/button/index.js"; export type { XmButtonElement }; export interface XmButtonProps extends Pick< React.AllHTMLAttributes, | "children" | "dir" | "hidden" | "id" | "lang" | "slot" | "style" | "title" | "translate" | "onClick" | "onFocus" | "onBlur" > { /** undefined */ iconOnly?: boolean; /** undefined */ fullWidth?: boolean; /** Persistent active/selected state — used by toggle/tab buttons. Reuses the same .is-active visual the design canvases trigger via forceState. */ selected?: boolean; /** undefined */ disabled?: boolean; /** undefined */ loading?: boolean; /** undefined */ variant?: XmButtonElement["variant"]; /** undefined */ size?: XmButtonElement["size"]; /** undefined */ type?: XmButtonElement["type"]; /** undefined */ forceState?: XmButtonElement["forceState"]; /** A space-separated list of the classes of the element. Classes allows CSS and JavaScript to select and access specific elements via the class selectors or functions like the method `Document.getElementsByClassName()`. */ className?: string; /** Contains a space-separated list of the part names of the element that should be exposed on the host element. */ exportparts?: string; /** Used for labels to link them with their inputs (using input id). */ htmlFor?: string; /** Used to help React identify which items have changed, are added, or are removed within a list. */ key?: number | string; /** Contains a space-separated list of the part names of the element. Part names allows CSS to select and style specific elements in a shadow tree via the ::part pseudo-element. */ part?: string; /** A mutable ref object whose `.current` property is initialized to the passed argument (`initialValue`). The returned object will persist for the full lifetime of the component. */ ref?: React.Ref; /** Allows developers to make HTML elements focusable, allow or prevent them from being sequentially focusable (usually with the `Tab` key, hence the name) and determine their relative ordering for sequential focus navigation. */ tabIndex?: number; } /** * * * ## Attributes & Properties * * Component attributes and properties that can be applied to the element or by using JavaScript. * * - `variant`: undefined * - `size`: undefined * - `icon-only`/`iconOnly`: undefined * - `full-width`/`fullWidth`: undefined * - `selected`: Persistent active/selected state — used by toggle/tab buttons. Reuses * the same .is-active visual the design canvases trigger via forceState. * - `type`: undefined * - `disabled`: undefined * - `loading`: undefined * - `force-state`/`forceState`: undefined */ export const XmButton: React.ForwardRefExoticComponent;