@extclp/vexip-ui
Version:
A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good
1 lines • 2.42 kB
Source Map (JSON)
{"version":3,"file":"symbol.mjs","sources":["../../../components/select/symbol.ts"],"sourcesContent":["import type { OptionKeyConfig, OptionState, RawOption } from '@/components/option'\r\n\r\nexport interface SelectKeyConfig extends OptionKeyConfig {\r\n group?: string,\r\n children?: string,\r\n}\r\n\r\nexport type SelectRawOption = RawOption\r\nexport type SelectBaseValue = string | number | boolean\r\nexport type SelectValue = SelectBaseValue | SelectBaseValue[] | null\r\n\r\nexport interface SelectOptionState extends OptionState {\r\n group: boolean,\r\n depth: number,\r\n parent: SelectOptionState | null,\r\n data: SelectRawOption,\r\n}\r\n\r\nexport type SelectFilter = (value: string, option: SelectOptionState) => boolean\r\n\r\nexport type SelectFilterPosition = 'in-control' | 'in-list'\r\n\r\nexport type SelectEvent = (value: SelectBaseValue, data: any) => void\r\nexport type ChangeEvent = (value: SelectValue, data: any | any[]) => void\r\n\r\nexport interface SelectListSlotParams {\r\n options: SelectOptionState[],\r\n isSelected: (option: SelectOptionState) => boolean,\r\n handleSelect: (option?: SelectOptionState | null) => void,\r\n}\r\n\r\nexport interface SelectSlots {\r\n selected?: (params: {\r\n value: SelectBaseValue,\r\n option: SelectOptionState | null,\r\n preview?: boolean,\r\n }) => any,\r\n prefix?: () => any,\r\n suffix?: () => any,\r\n control?: () => any,\r\n tag?: (params: {\r\n value: SelectBaseValue,\r\n option: SelectOptionState | null,\r\n handleClose: () => void,\r\n }) => any,\r\n restTag?: (params: { restCount: number }) => any,\r\n list?: (params: SelectListSlotParams) => any,\r\n prepend?: () => any,\r\n append?: () => any,\r\n /**\r\n * Option content slot.\r\n */\r\n default?: (params: { option: SelectOptionState, index: number, selected: boolean }) => any,\r\n group?: (params: { option: SelectOptionState, index: number }) => any,\r\n empty?: () => any,\r\n}\r\n\r\nexport const defaultKeyConfig: Required<SelectKeyConfig> = Object.freeze({\r\n value: 'value',\r\n label: 'label',\r\n disabled: 'disabled',\r\n divided: 'divided',\r\n title: 'title',\r\n group: 'group',\r\n children: 'children',\r\n})\r\n"],"names":["defaultKeyConfig"],"mappings":"AAyDa,MAAAA,IAA8C,OAAO,OAAO;AAAA,EACvE,OAAO;AAAA,EACP,OAAO;AAAA,EACP,UAAU;AAAA,EACV,SAAS;AAAA,EACT,OAAO;AAAA,EACP,OAAO;AAAA,EACP,UAAU;AACZ,CAAC;"}