import type { VNode } from 'vue'; import type { AppConfig } from '@nuxt/schema'; import theme from '#build/b24ui/button'; import type { UseComponentIconsProps } from '../composables/useComponentIcons'; import type { LinkProps } from '../types'; import type { ComponentConfig } from '../types/tv'; type Button = ComponentConfig; export interface ButtonProps extends Omit, Omit { label?: string; /** * @defaultValue 'air-secondary-no-accent' */ color?: Button['variants']['color']; activeColor?: Button['variants']['color']; /** * @depricate * @defaultValue 'normal' */ depth?: Button['variants']['depth']; activeDepth?: Button['variants']['depth']; /** * @defaultValue 'md' */ size?: Button['variants']['size']; /** * Rounds the corners of the button * @defaultValue false */ rounded?: boolean; /** * Render the button full width * @defaultValue false */ block?: boolean; /** * Set loading state automatically based on the `@click` promise state * @defaultValue false */ loadingAuto?: boolean; /** * Disable uppercase label * @defaultValue true */ normalCase?: boolean; /** * Shows LoaderWaitIcon in loading mode * @defaultValue false */ useWait?: boolean; /** * Shows LoaderClockIcon icon in loading mode * @defaultValue false */ useClock?: boolean; /** * Shows icons.ChevronDownSIcon on the right side * @defaultValue false */ useDropdown?: boolean; onClick?: ((event: MouseEvent) => void | Promise) | Array<((event: MouseEvent) => void | Promise)>; class?: any; /** * The class to apply when the link is active * @defaultValue '' */ activeClass?: string; /** * The class to apply when the link is inactive * @defaultValue '' */ inactiveClass?: string; b24ui?: Button['slots']; } export interface ButtonSlots { leading?(props: { b24ui: Button['b24ui']; }): VNode[]; default?(props: { b24ui: Button['b24ui']; }): VNode[]; trailing?(props: { b24ui: Button['b24ui']; }): VNode[]; } declare const _default: typeof __VLS_export; export default _default; declare const __VLS_export: __VLS_WithSlots & Readonly<{}>, { type: "reset" | "submit" | "button"; normalCase: boolean; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, ButtonSlots>; type __VLS_WithSlots = T & { new (): { $slots: S; }; };