import { ButtonBase } from "./button.base.js"; import { TemplateResult } from "lit"; type ButtonBadgePlacement = (typeof ButtonBadgePlacement)[keyof typeof ButtonBadgePlacement]; declare const ButtonBadgePlacement: { readonly START: "start"; readonly END: "end"; }; type ButtonVariant = (typeof ButtonVariant)[keyof typeof ButtonVariant]; declare const ButtonVariant: { readonly SECONDARY: "secondary"; readonly TERTIARY: "tertiary"; readonly PRIMARY: "primary"; readonly ACCENT: "accent"; readonly DANGER: "danger"; readonly DANGER_GHOST: "danger-ghost"; readonly GHOST: "ghost"; readonly CONFIRMATION: "confirmation"; }; declare global { interface HTMLElementTagNameMap { 'odx-button': OdxButton; } } /** * @summary Buttons allow the user to initialize or execute actions. Different styles are available for different operating situations * @status rc * @since 1.0 * * @dependency odx-icon * @dependency odx-loading-spinner * @dependency odx-tooltip * * @slot - The button's label. * @slot prefix - Prefix slot typically used for icons. Replaced by a loading spinner while `loading` is `true` if no `suffix` content is present. * @slot suffix - Suffix slot typically used for icons. Replaced by a loading spinner while `loading` is `true` when populated. * @slot badge - Optional badge rendered as an overlay next to the label. Position is controlled by the `badgePlacement` property. * * @csspart icon - The icon element rendered when the `icon` property is set. */ declare class OdxButton extends ButtonBase { #private; static tagName: string; static styles: import("lit").CSSResult[]; static readonly formAssociated = true; protected anchor?: HTMLAnchorElement; /** @internal */ readonly elementInternals: ElementInternals; badgePlacement: ButtonBadgePlacement; /** * The URL that the element links to. * @see The {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement/href | `href`} attribute */ href: string; /** * Specifies where to open the linked document. * @see The {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement/target | `target` */ target: '_blank' | '_parent' | '_self' | '_top' | ''; /** * Specifies the relationship between the current document and the linked document. * @see The {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement/rel | `rel`} attribute */ rel: string; /** * Specifies that the target will be downloaded when a user clicks on the hyperlink. * @see The {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement/download | `download`} attribute */ download?: string; /** * The type of the button. */ type: 'button' | 'submit' | 'reset'; /** * The variant of the button. */ variant: ButtonVariant; /** * The value associated with the button. When the button is used to submit a form, this value is sent as part of the form data paired with the button's `name`. * @see The {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#value | `value`} attribute */ value: string; constructor(); /** * Simulates a user click. The call is ignored while the button is `disabled` or * `loading`. When `href` is set, the click is forwarded to the proxy anchor so the * browser performs link navigation with the correct `target`, `rel`, and `download` * semantics. */ click(): void; protected renderContent(): TemplateResult; protected renderLabel(label?: TemplateResult | string): TemplateResult | string; } export { ButtonBadgePlacement, ButtonVariant, OdxButton };