{"version":3,"file":"symbol.mjs","sources":["../../../components/select/symbol.ts"],"sourcesContent":["import type { OptionKeyConfig, OptionState, RawOption } from '@/components/option'\n\nexport interface SelectKeyConfig extends OptionKeyConfig {\n  group?: string,\n  children?: string\n}\n\nexport type SelectRawOption = RawOption\nexport type SelectBaseValue = string | number | boolean\nexport type SelectValue = SelectBaseValue | SelectBaseValue[] | null\n\nexport interface SelectOptionState extends OptionState {\n  group: boolean,\n  depth: number,\n  parent: SelectOptionState | null,\n  data: SelectRawOption\n}\n\nexport type SelectFilter = (value: string, option: SelectOptionState) => boolean\n\nexport type SelectFilterPosition = 'in-control' | 'in-list'\n\nexport type SelectEvent = (value: SelectBaseValue, data: any) => void\nexport type ChangeEvent = (value: SelectValue, data: any | any[]) => void\n\nexport interface SelectListSlotParams {\n  options: SelectOptionState[],\n  isSelected: (option: SelectOptionState) => boolean,\n  handleSelect: (option?: SelectOptionState | null) => void\n}\n\nexport interface SelectSlots {\n  selected?: (params: { option: SelectOptionState | null, preview?: boolean }) => any,\n  prefix?: () => any,\n  suffix?: () => any,\n  control?: () => any,\n  list?: (params: SelectListSlotParams) => any,\n  prepend?: () => any,\n  append?: () => any,\n  default?: (params: { option: SelectOptionState, index: number, selected: boolean }) => any,\n  group?: (params: { option: SelectOptionState, index: number }) => any,\n  empty?: () => any\n}\n\nexport const defaultKeyConfig: Required<SelectKeyConfig> = Object.freeze({\n  value: 'value',\n  label: 'label',\n  disabled: 'disabled',\n  divided: 'divided',\n  title: 'title',\n  group: 'group',\n  children: 'children'\n})\n"],"names":["defaultKeyConfig"],"mappings":"AA4Ca,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;"}