@sandlada/vue-mdc
Version:

182 lines • 5.95 kB
TypeScript
/**
* @license
* Copyright 2025 Sandlada & Kai Orion
* SPDX-License-Identifier: MIT
*/
import { type SlotsType } from 'vue';
import { type TFieldSlot } from './field.definition';
export declare const Field: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
readonly disabled: {
readonly type: import("vue").PropType<boolean>;
readonly default: false;
};
readonly error: {
readonly type: import("vue").PropType<boolean>;
readonly default: false;
};
readonly defaultFocused: {
readonly type: import("vue").PropType<boolean>;
readonly default: false;
};
readonly label: {
readonly type: import("vue").PropType<string>;
readonly default: "";
};
readonly noAsterisk: {
readonly type: import("vue").PropType<boolean>;
readonly default: false;
};
readonly defaultPopulated: {
readonly type: import("vue").PropType<boolean>;
readonly default: false;
};
readonly required: {
readonly type: import("vue").PropType<boolean>;
readonly default: false;
};
readonly resizable: {
readonly type: import("vue").PropType<boolean>;
readonly default: false;
};
readonly supportingText: {
readonly type: import("vue").PropType<string>;
readonly default: "";
};
readonly errorText: {
readonly type: import("vue").PropType<string>;
readonly default: "";
};
readonly count: {
readonly type: import("vue").PropType<number>;
readonly default: -1;
};
readonly max: {
readonly type: import("vue").PropType<number>;
readonly default: -1;
};
readonly hasStart: {
readonly type: import("vue").PropType<boolean>;
readonly default: false;
};
readonly hasEnd: {
readonly type: import("vue").PropType<boolean>;
readonly default: false;
};
readonly appearance: {
readonly type: import("vue").PropType<import("./field.definition").TFieldAppearance>;
readonly default: "filled";
};
}>, {}, {
labelAnimation: null | Animation;
isAnimating: boolean;
refreshErrorAlert: boolean;
disableTransitions: boolean;
_populated: boolean;
_focused: boolean;
_wasPopulated: boolean;
_wasFocused: boolean;
}, {
populated: {
get(): boolean;
set(value: boolean): void;
};
focused: {
get(): boolean;
set(value: boolean): void;
};
}, {
getFloatingLabelElement(): HTMLElement;
getRestingLabelElement(): HTMLElement;
getContainerElement(): HTMLElement;
supportingTextOrErrorText(): string;
counterText(): string;
renderSupportingText(): import("vue/jsx-runtime").JSX.Element;
renderLabel(isFloating: boolean): import("vue/jsx-runtime").JSX.Element;
renderOutline(floatingLabel: unknown): import("vue/jsx-runtime").JSX.Element;
renderBackground(): import("vue/jsx-runtime").JSX.Element;
renderStateLayer(): import("vue/jsx-runtime").JSX.Element;
renderIndicator(): import("vue/jsx-runtime").JSX.Element;
animateLabelIfNeeded(): void;
getLabelKeyframes(): {
transform: string;
width: string;
}[];
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, never[], never, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
readonly disabled: {
readonly type: import("vue").PropType<boolean>;
readonly default: false;
};
readonly error: {
readonly type: import("vue").PropType<boolean>;
readonly default: false;
};
readonly defaultFocused: {
readonly type: import("vue").PropType<boolean>;
readonly default: false;
};
readonly label: {
readonly type: import("vue").PropType<string>;
readonly default: "";
};
readonly noAsterisk: {
readonly type: import("vue").PropType<boolean>;
readonly default: false;
};
readonly defaultPopulated: {
readonly type: import("vue").PropType<boolean>;
readonly default: false;
};
readonly required: {
readonly type: import("vue").PropType<boolean>;
readonly default: false;
};
readonly resizable: {
readonly type: import("vue").PropType<boolean>;
readonly default: false;
};
readonly supportingText: {
readonly type: import("vue").PropType<string>;
readonly default: "";
};
readonly errorText: {
readonly type: import("vue").PropType<string>;
readonly default: "";
};
readonly count: {
readonly type: import("vue").PropType<number>;
readonly default: -1;
};
readonly max: {
readonly type: import("vue").PropType<number>;
readonly default: -1;
};
readonly hasStart: {
readonly type: import("vue").PropType<boolean>;
readonly default: false;
};
readonly hasEnd: {
readonly type: import("vue").PropType<boolean>;
readonly default: false;
};
readonly appearance: {
readonly type: import("vue").PropType<import("./field.definition").TFieldAppearance>;
readonly default: "filled";
};
}>> & Readonly<{}>, {
readonly label: string;
readonly appearance: import("./field.definition").TFieldAppearance;
readonly error: boolean;
readonly disabled: boolean;
readonly defaultFocused: boolean;
readonly noAsterisk: boolean;
readonly defaultPopulated: boolean;
readonly required: boolean;
readonly resizable: boolean;
readonly supportingText: string;
readonly errorText: string;
readonly count: number;
readonly max: number;
readonly hasStart: boolean;
readonly hasEnd: boolean;
}, SlotsType<TFieldSlot>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
//# sourceMappingURL=field.d.ts.map