{"version":3,"file":"token.mjs","sources":["../../../../../../packages/components/select/src/token.ts"],"sourcesContent":["import type { InjectionKey, Ref } from 'vue'\r\n\r\ninterface SelectGroupContext {\r\n  disabled: boolean\r\n}\r\n\r\nexport interface QueryChangeCtx {\r\n  query: string\r\n}\r\n\r\nexport interface SelectContext {\r\n  props: {\r\n    multiple?: boolean\r\n    multipleLimit: number\r\n    valueKey?: string\r\n    modelValue?: string | number | unknown | unknown[]\r\n    popperClass?: string\r\n    remote?: boolean\r\n    dropWidthLinked?: boolean,\r\n    scrollwidth?: number\r\n  },\r\n  defaultLabel?: string | any[] ,\r\n  queryChange: Ref<QueryChangeCtx>\r\n  groupQueryChange: Ref<string>\r\n  selectWrapper: HTMLElement\r\n  cachedOptions: Map<any, any>\r\n  hoverIndex: number\r\n  optionsCount: number\r\n  filteredOptionsCount: number\r\n  options: Map<any, any>\r\n  optionsArray: any[]\r\n  selected: any | any[]\r\n  setSelected(): void\r\n  onOptionCreate(vm: SelectOptionProxy): void\r\n  onOptionDestroy(key: number | string | Record<string, any>): void\r\n  handleOptionSelect(vm: unknown, byClick: boolean): void\r\n}\r\n\r\n// For individual build sharing injection key, we had to make `Symbol` to string\r\nexport const SelectGroupContextKey: InjectionKey<SelectGroupContext> = Symbol('SelectGroupContextKey')\r\n\r\nexport const SelectContextKey: InjectionKey<SelectContext> = Symbol('SelectContextKey')\r\n\r\nexport interface SelectOptionProxy {\r\n  value: string | number | Record<string, string>\r\n  label: string | number\r\n  isCreated: boolean\r\n  disabled: boolean\r\n  currentLabel: string\r\n  itemSelected: boolean\r\n  isDisabled: boolean,\r\n  select: SelectContext\r\n  hoverItem: () => void\r\n  visible: boolean\r\n  hover: boolean\r\n  selectOptionClick: () => void\r\n}\r\n"],"names":[],"mappings":"AAAY,MAAC,qBAAqB,GAAG,MAAM,CAAC,uBAAuB,EAAE;AACzD,MAAC,gBAAgB,GAAG,MAAM,CAAC,kBAAkB;;;;"}