UNPKG

@oiij/naive-ui

Version:

Some Composable Functions And Components for Vue 3

48 lines (47 loc) 2.6 kB
import { DataObject, DataRequestFields, UseDataRequestReturns } from "../../composables/useDataRequest.js"; import { RemoteRequestEmits, RemoteRequestProps } from "../remote-request/index.js"; import { ClassStyle } from "../data-table-plus/index.js"; import { _default } from "./PresetSelect.vue.js"; import { ShallowRef } from "vue"; import { PaginationProps, SelectGroupOption, SelectInst, SelectOption, SelectProps } from "naive-ui"; import { ComponentExposed } from "vue-component-type-helpers"; //#region src/components/preset-select/index.d.ts type ArrayAwareType<V, T> = V extends null ? null : (V extends any[] ? T[] : T) | null; type OptionFormat<R extends DataObject = DataObject> = (row: R) => SelectOption | SelectGroupOption | false | undefined | null; type PresetSelectValue = string | number | (string | number)[] | null; type PresetSelectFields = DataRequestFields & { label?: string; value?: string; rowKey?: string; search?: string; children?: string; }; type PresetSelectExpose<P extends DataObject = DataObject, D extends DataObject = DataObject, R extends DataObject = DataObject> = UseDataRequestReturns<P, D, R> & { selectRef: Readonly<ShallowRef<SelectInst | null>>; }; type PresetSelectProps<V extends PresetSelectValue, P extends DataObject = DataObject, D extends DataObject = DataObject, R extends DataObject = DataObject> = RemoteRequestProps<P, D> & { value?: V; fallbackLabel?: string | ((val: string | number) => SelectOption); multiple?: boolean; disabled?: boolean; clearable?: boolean; debounce?: boolean | number; optionFormat?: OptionFormat<R>; fields?: PresetSelectFields; selectProps?: SelectProps & ClassStyle; pagination?: Omit<PaginationProps, 'page' | 'pageSize'> & ClassStyle | boolean; }; type PresetSelectEmits<V extends PresetSelectValue, P extends DataObject = DataObject, D extends DataObject = DataObject, R extends DataObject = DataObject> = RemoteRequestEmits<P, D> & { (e: 'blur', ev: FocusEvent): void; (e: 'clear'): void; (e: 'create', label: string): SelectOption; (e: 'focus', ev: FocusEvent): void; (e: 'scroll', ev: Event): void; (e: 'search', value: string): void; (e: 'update:value', val: V | null, option: SelectOption | SelectOption[] | null, raw: R | R[] | null): void; (e: 'update:page', page: number): void; (e: 'update:pageSize', pageSize: number): void; }; type PresetSelectInst = ComponentExposed<typeof _default>; //#endregion export { ArrayAwareType, OptionFormat, PresetSelectEmits, PresetSelectExpose, PresetSelectFields, PresetSelectInst, PresetSelectProps, PresetSelectValue };