@indielayer/ui
Version:
Indielayer UI Components with Tailwind CSS build for Vue 3
209 lines (208 loc) • 6.61 kB
TypeScript
import { type ExtractPublicPropTypes, type PropType } from 'vue';
import { type ThemeComponent } from '../../composables/useTheme';
declare const validators: {
variant: readonly ["box"];
size: string[];
};
declare const uploadProps: {
placeholder: StringConstructor;
accept: StringConstructor;
multiple: BooleanConstructor;
maxFiles: (StringConstructor | NumberConstructor)[];
maxFileSize: (StringConstructor | NumberConstructor)[];
variant: {
type: PropType<"box">;
default: string;
};
action: StringConstructor;
headers: PropType<Record<string, string>>;
method: {
type: PropType<"POST" | "PUT">;
default: string;
};
withCredentials: BooleanConstructor;
fileFormDataName: {
type: StringConstructor;
default: string;
};
modelValue: {
readonly type: PropType<string | number | boolean | object | any[] | undefined>;
readonly default: undefined;
};
id: StringConstructor;
name: StringConstructor;
readonly: BooleanConstructor;
required: BooleanConstructor;
validateOnInput: {
readonly type: BooleanConstructor;
readonly default: true;
};
label: StringConstructor;
helper: StringConstructor;
error: StringConstructor;
hideFooter: BooleanConstructor;
rules: {
readonly type: ArrayConstructor;
readonly default: () => never[];
};
tooltip: StringConstructor;
skipFormRegistry: BooleanConstructor;
disabled: BooleanConstructor;
loading: BooleanConstructor;
loadingLabel: StringConstructor;
loadingStatus: {
readonly type: PropType<import("../loader/Loader.vue").LoaderStatus>;
readonly default: "active";
};
};
export type UploadFile = {
file: File;
completed: boolean;
response?: any;
progress: number;
error: string;
};
export type UploadVariant = typeof validators.variant[number];
export type UploadProps = ExtractPublicPropTypes<typeof uploadProps>;
type InternalClasses = 'wrapper' | 'input';
export interface UploadTheme extends ThemeComponent<UploadProps, InternalClasses> {
}
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
placeholder: StringConstructor;
accept: StringConstructor;
multiple: BooleanConstructor;
maxFiles: (StringConstructor | NumberConstructor)[];
maxFileSize: (StringConstructor | NumberConstructor)[];
variant: {
type: PropType<"box">;
default: string;
};
action: StringConstructor;
headers: PropType<Record<string, string>>;
method: {
type: PropType<"POST" | "PUT">;
default: string;
};
withCredentials: BooleanConstructor;
fileFormDataName: {
type: StringConstructor;
default: string;
};
modelValue: {
readonly type: PropType<string | number | boolean | object | any[] | undefined>;
readonly default: undefined;
};
id: StringConstructor;
name: StringConstructor;
readonly: BooleanConstructor;
required: BooleanConstructor;
validateOnInput: {
readonly type: BooleanConstructor;
readonly default: true;
};
label: StringConstructor;
helper: StringConstructor;
error: StringConstructor;
hideFooter: BooleanConstructor;
rules: {
readonly type: ArrayConstructor;
readonly default: () => never[];
};
tooltip: StringConstructor;
skipFormRegistry: BooleanConstructor;
disabled: BooleanConstructor;
loading: BooleanConstructor;
loadingLabel: StringConstructor;
loadingStatus: {
readonly type: PropType<import("../loader/Loader.vue").LoaderStatus>;
readonly default: "active";
};
}>, {
focus: () => void | undefined;
blur: () => void | undefined;
reset: () => void;
validate: (val?: any) => boolean;
setError: (val: string) => void;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, string[], string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
placeholder: StringConstructor;
accept: StringConstructor;
multiple: BooleanConstructor;
maxFiles: (StringConstructor | NumberConstructor)[];
maxFileSize: (StringConstructor | NumberConstructor)[];
variant: {
type: PropType<"box">;
default: string;
};
action: StringConstructor;
headers: PropType<Record<string, string>>;
method: {
type: PropType<"POST" | "PUT">;
default: string;
};
withCredentials: BooleanConstructor;
fileFormDataName: {
type: StringConstructor;
default: string;
};
modelValue: {
readonly type: PropType<string | number | boolean | object | any[] | undefined>;
readonly default: undefined;
};
id: StringConstructor;
name: StringConstructor;
readonly: BooleanConstructor;
required: BooleanConstructor;
validateOnInput: {
readonly type: BooleanConstructor;
readonly default: true;
};
label: StringConstructor;
helper: StringConstructor;
error: StringConstructor;
hideFooter: BooleanConstructor;
rules: {
readonly type: ArrayConstructor;
readonly default: () => never[];
};
tooltip: StringConstructor;
skipFormRegistry: BooleanConstructor;
disabled: BooleanConstructor;
loading: BooleanConstructor;
loadingLabel: StringConstructor;
loadingStatus: {
readonly type: PropType<import("../loader/Loader.vue").LoaderStatus>;
readonly default: "active";
};
}>> & Readonly<{
[x: `on${Capitalize<string>}`]: ((...args: any[]) => any) | undefined;
}>, {
disabled: boolean;
loading: boolean;
loadingStatus: import("../loader/Loader.vue").LoaderStatus;
modelValue: string | number | boolean | object | any[] | undefined;
readonly: boolean;
required: boolean;
validateOnInput: boolean;
hideFooter: boolean;
rules: unknown[];
skipFormRegistry: boolean;
variant: "box";
multiple: boolean;
method: "POST" | "PUT";
withCredentials: boolean;
fileFormDataName: string;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
box?(_: {
isOver: boolean;
}): any;
files?(_: {
files: (string | number | boolean | object | any[] | undefined) & UploadFile[];
}): any;
removeIcon?(_: {}): any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
new (): {
$slots: S;
};
};