@indielayer/ui
Version:
Indielayer UI Components with Tailwind CSS build for Vue 3
181 lines (180 loc) • 5.59 kB
TypeScript
import { type PropType, type ExtractPublicPropTypes } from 'vue';
import { type ThemeComponent } from '../../composables/useTheme';
import { type FormError } from '../form/Form.vue';
declare const modalSize: readonly ["xs", "sm", "md", "lg", "xl", "full"];
declare const modalPosition: readonly ["top", "center", "bottom"];
declare const modalProps: {
size: {
type: PropType<"xs" | "sm" | "md" | "lg" | "xl" | "full">;
default: string;
};
position: {
type: PropType<"top" | "bottom" | "center">;
default: string;
};
modelValue: BooleanConstructor;
showClose: BooleanConstructor;
backdrop: {
type: BooleanConstructor;
default: boolean;
};
hasActions: {
type: BooleanConstructor;
default: boolean;
};
hasHeader: {
type: BooleanConstructor;
default: boolean;
};
title: StringConstructor;
description: StringConstructor;
label: StringConstructor;
loading: BooleanConstructor;
loadingText: StringConstructor;
fluid: BooleanConstructor;
isForm: BooleanConstructor;
formDisabled: BooleanConstructor;
formDescription: StringConstructor;
formTitle: StringConstructor;
formAutoValidate: {
type: BooleanConstructor;
default: boolean;
};
formErrors: {
type: PropType<FormError | FormError[]>;
default: () => never[];
};
persistent: BooleanConstructor;
};
export type ModalSize = typeof modalSize[number];
export type ModalPosition = typeof modalPosition[number];
export type ModalProps = ExtractPublicPropTypes<typeof modalProps>;
type InternalClasses = 'wrapper' | 'backdrop' | 'modal' | 'modalWrapper' | 'closeIcon' | 'header' | 'content' | 'actions' | 'title' | 'description' | 'label';
type InternaData = {
visible: boolean;
};
export interface ModalTheme extends ThemeComponent<ModalProps, InternalClasses, InternaData> {
}
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
size: {
type: PropType<"xs" | "sm" | "md" | "lg" | "xl" | "full">;
default: string;
};
position: {
type: PropType<"top" | "bottom" | "center">;
default: string;
};
modelValue: BooleanConstructor;
showClose: BooleanConstructor;
backdrop: {
type: BooleanConstructor;
default: boolean;
};
hasActions: {
type: BooleanConstructor;
default: boolean;
};
hasHeader: {
type: BooleanConstructor;
default: boolean;
};
title: StringConstructor;
description: StringConstructor;
label: StringConstructor;
loading: BooleanConstructor;
loadingText: StringConstructor;
fluid: BooleanConstructor;
isForm: BooleanConstructor;
formDisabled: BooleanConstructor;
formDescription: StringConstructor;
formTitle: StringConstructor;
formAutoValidate: {
type: BooleanConstructor;
default: boolean;
};
formErrors: {
type: PropType<FormError | FormError[]>;
default: () => never[];
};
persistent: BooleanConstructor;
}>, {
open: () => void;
close: () => void;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("submit" | "update:modelValue")[], "submit" | "update:modelValue", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
size: {
type: PropType<"xs" | "sm" | "md" | "lg" | "xl" | "full">;
default: string;
};
position: {
type: PropType<"top" | "bottom" | "center">;
default: string;
};
modelValue: BooleanConstructor;
showClose: BooleanConstructor;
backdrop: {
type: BooleanConstructor;
default: boolean;
};
hasActions: {
type: BooleanConstructor;
default: boolean;
};
hasHeader: {
type: BooleanConstructor;
default: boolean;
};
title: StringConstructor;
description: StringConstructor;
label: StringConstructor;
loading: BooleanConstructor;
loadingText: StringConstructor;
fluid: BooleanConstructor;
isForm: BooleanConstructor;
formDisabled: BooleanConstructor;
formDescription: StringConstructor;
formTitle: StringConstructor;
formAutoValidate: {
type: BooleanConstructor;
default: boolean;
};
formErrors: {
type: PropType<FormError | FormError[]>;
default: () => never[];
};
persistent: BooleanConstructor;
}>> & Readonly<{
onSubmit?: ((...args: any[]) => any) | undefined;
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
}>, {
size: "xs" | "sm" | "md" | "lg" | "xl" | "full";
position: "top" | "bottom" | "center";
loading: boolean;
modelValue: boolean;
fluid: boolean;
backdrop: boolean;
showClose: boolean;
hasActions: boolean;
hasHeader: boolean;
isForm: boolean;
formDisabled: boolean;
formAutoValidate: boolean;
formErrors: FormError | FormError[];
persistent: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
image?(_: {}): any;
header?(_: {}): any;
"header-content"?(_: {}): any;
default?(_: {}): any;
footer?(_: {}): any;
actions?(_: {}): any;
"cancel-action"?(_: {}): any;
"tertiary-action"?(_: {}): any;
"secondary-action"?(_: {}): any;
"primary-action"?(_: {}): any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
new (): {
$slots: S;
};
};