UNPKG

yanzhen-design-vue

Version:

45 lines (44 loc) 2.85 kB
import { DefaultOptionType, EpOptionKey, ExtractOptionType, ExtractPropType, OptionType } from '@yanzhen-libs/utils-vue'; export declare function optionProp<Option extends Record<keyof DefaultOptionType, any> = DefaultOptionType>(): { readonly type: import('vue').PropType<Option[]>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; export type OptionProp<K extends string = string> = ReturnType<typeof optionProp<ExtractOptionType<K>>>; export declare function optionKeyProp<K extends string>(key: K, values: K[]): { readonly type: import('vue').PropType<import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<string>, K, never>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; export type OptionKeyProp<K extends string> = ReturnType<typeof optionKeyProp<K>>; export declare function optionKeyProps<K extends string>(keys: (K | OptionType)[]): { [K1 in `${EpOptionKey<K | OptionType>}Key`]: OptionKeyProp<EpOptionKey<K | OptionType>>; }; export declare function optionsProps<K extends string = OptionType>(keys?: K[]): { options: { readonly type: import('vue').PropType<ExtractOptionType<"value" | "label" | "disabled" | "children" | K>[]>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; } & { [K1 in "valueKey" | "labelKey" | "disabledKey" | "childrenKey" | `${EpOptionKey<K>}Key`]: { readonly type: import('vue').PropType<import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<string>, EpOptionKey<"value" | "label" | "disabled" | "children" | K>, never>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; } extends infer T extends import('@yanzhen-libs/utils-vue').EpInferProps ? { -readonly [K_1 in keyof T]: import('@yanzhen-libs/utils-vue').ExportProps<{ options: { readonly type: import('vue').PropType<ExtractOptionType<"value" | "label" | "disabled" | "children" | K>[]>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; } & { [K1 in "valueKey" | "labelKey" | "disabledKey" | "childrenKey" | `${EpOptionKey<K>}Key`]: { readonly type: import('vue').PropType<import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<string>, EpOptionKey<"value" | "label" | "disabled" | "children" | K>, never>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; }>[K_1]; } : never; export type OptionsProps<K extends string> = ExtractPropType<ReturnType<typeof optionsProps<K | OptionType>>>;