@sandlada/vue-mdc
Version:

86 lines • 2.28 kB
TypeScript
/**
* @license
* Copyright 2025 Sandlada & Kai Orion
* SPDX-License-Identifier: MIT
*/
import type { ExtractPublicPropTypes, PropType, VNode } from 'vue';
import { type TFormSubmitterType } from '../../internals';
import type { TButtonTarget } from '../../utils/button-target-type';
export declare const ButtonAppearance: {
readonly Filled: "filled";
readonly Outlined: "outlined";
readonly Elevated: "elevated";
readonly FilledTonal: "filled-tonal";
readonly Text: "text";
};
export type TButtonAppearance = typeof ButtonAppearance[keyof typeof ButtonAppearance];
export declare const ButtonSize: {
readonly ExtraSmall: "extra-small";
readonly Small: "small";
readonly Medium: "medium";
readonly Large: "large";
readonly ExtraLarge: "extra-large";
};
export declare const ButtonShape: {
readonly Round: "round";
readonly Suare: "square";
};
export type TButtonShape = typeof ButtonShape[keyof typeof ButtonShape];
export type TButtonSize = typeof ButtonSize[keyof typeof ButtonSize];
export declare const props: {
appearance: {
type: PropType<TButtonAppearance>;
default: "filled";
};
size: {
type: PropType<TButtonSize>;
default: "small";
};
togglable: {
type: PropType<boolean>;
default: boolean;
};
defaultSelected: {
type: PropType<boolean>;
default: boolean;
};
shape: {
type: PropType<TButtonShape>;
default: "round";
};
disabled: {
type: BooleanConstructor;
default: boolean;
};
type: {
type: PropType<TFormSubmitterType>;
default: "button";
};
href: {
type: PropType<string>;
default: null;
};
target: {
type: PropType<TButtonTarget>;
default: null;
};
form: {
type: PropType<string>;
default: null;
};
name: {
type: PropType<string>;
default: null;
};
value: {
type: PropType<string>;
default: null;
};
};
export type TButtonProps = ExtractPublicPropTypes<typeof props>;
export type TButtonSlots = {
default?: VNode;
'leading-icon'?: VNode;
'trailing-icon'?: VNode;
};
//# sourceMappingURL=button.definition.d.ts.map