@vuetify/nightly 3.7.10-next.2025-02-04 → 3.7.10-next.2025-02-05

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/CHANGELOG.md +6 -3
  2. package/dist/json/attributes.json +1607 -1607
  3. package/dist/json/importMap-labs.json +24 -24
  4. package/dist/json/importMap.json +168 -168
  5. package/dist/json/web-types.json +3006 -2970
  6. package/dist/vuetify-labs.css +3416 -3417
  7. package/dist/vuetify-labs.d.ts +258 -651
  8. package/dist/vuetify-labs.esm.js +32 -13
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +32 -13
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +3986 -3987
  13. package/dist/vuetify.d.ts +347 -740
  14. package/dist/vuetify.esm.js +32 -13
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +32 -13
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +10 -10
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VAutocomplete/VAutocomplete.d.ts +18 -9
  22. package/lib/components/VAutocomplete/VAutocomplete.js +6 -3
  23. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  24. package/lib/components/VCombobox/VCombobox.d.ts +18 -9
  25. package/lib/components/VCombobox/VCombobox.js +6 -3
  26. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  27. package/lib/components/VForm/VForm.d.ts +111 -531
  28. package/lib/components/VForm/VForm.js +11 -1
  29. package/lib/components/VForm/VForm.js.map +1 -1
  30. package/lib/components/VSelect/VSelect.d.ts +18 -9
  31. package/lib/components/VSelect/VSelect.js +6 -3
  32. package/lib/components/VSelect/VSelect.js.map +1 -1
  33. package/lib/entry-bundler.js +1 -1
  34. package/lib/framework.d.ts +58 -58
  35. package/lib/framework.js +1 -1
  36. package/lib/styles/generic/_reset.scss +0 -1
  37. package/lib/styles/main.css +0 -1
  38. package/package.json +1 -1
@@ -53,7 +53,17 @@ export const VForm = genericComponent()({
53
53
  "novalidate": true,
54
54
  "onReset": onReset,
55
55
  "onSubmit": onSubmit
56
- }, [slots.default?.(form)]));
56
+ }, [slots.default?.({
57
+ errors: form.errors.value,
58
+ isDisabled: form.isDisabled.value,
59
+ isReadonly: form.isReadonly.value,
60
+ isValidating: form.isValidating.value,
61
+ isValid: form.isValid.value,
62
+ items: form.items.value,
63
+ validate: form.validate,
64
+ reset: form.reset,
65
+ resetValidation: form.resetValidation
66
+ })]));
57
67
  return forwardRefs(form, formRef);
58
68
  }
59
69
  });
@@ -1 +1 @@
1
- {"version":3,"file":"VForm.js","names":["makeComponentProps","createForm","makeFormProps","forwardRefs","ref","genericComponent","propsFactory","useRender","makeVFormProps","VForm","name","props","emits","val","submit","e","setup","_ref","slots","emit","form","formRef","onReset","preventDefault","reset","onSubmit","_e","ready","validate","then","bind","catch","finally","defaultPrevented","_ref2","valid","value","_createVNode","class","style","default"],"sources":["../../../src/components/VForm/VForm.tsx"],"sourcesContent":["// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { createForm, makeFormProps } from '@/composables/form'\nimport { forwardRefs } from '@/composables/forwardRefs'\n\n// Utilities\nimport { ref } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { SubmitEventPromise } from '@/composables/form'\n\nexport const makeVFormProps = propsFactory({\n ...makeComponentProps(),\n ...makeFormProps(),\n}, 'VForm')\n\ntype VFormSlots = {\n default: ReturnType<typeof createForm>\n}\n\nexport const VForm = genericComponent<VFormSlots>()({\n name: 'VForm',\n\n props: makeVFormProps(),\n\n emits: {\n 'update:modelValue': (val: boolean | null) => true,\n submit: (e: SubmitEventPromise) => true,\n },\n\n setup (props, { slots, emit }) {\n const form = createForm(props)\n const formRef = ref<HTMLFormElement>()\n\n function onReset (e: Event) {\n e.preventDefault()\n form.reset()\n }\n\n function onSubmit (_e: Event) {\n const e = _e as SubmitEventPromise\n\n const ready = form.validate()\n e.then = ready.then.bind(ready)\n e.catch = ready.catch.bind(ready)\n e.finally = ready.finally.bind(ready)\n\n emit('submit', e)\n\n if (!e.defaultPrevented) {\n ready.then(({ valid }) => {\n if (valid) {\n formRef.value?.submit()\n }\n })\n }\n\n e.preventDefault()\n }\n\n useRender(() => ((\n <form\n ref={ formRef }\n class={[\n 'v-form',\n props.class,\n ]}\n style={ props.style }\n novalidate\n onReset={ onReset }\n onSubmit={ onSubmit }\n >\n { slots.default?.(form) }\n </form>\n )))\n\n return forwardRefs(form, formRef)\n },\n})\n\nexport type VForm = InstanceType<typeof VForm>\n"],"mappings":";AAAA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,UAAU,EAAEC,aAAa;AAAA,SACzBC,WAAW,4CAEpB;AACA,SAASC,GAAG,QAAQ,KAAK;AAAA,SAChBC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,+BAElD;AAGA,OAAO,MAAMC,cAAc,GAAGF,YAAY,CAAC;EACzC,GAAGN,kBAAkB,CAAC,CAAC;EACvB,GAAGE,aAAa,CAAC;AACnB,CAAC,EAAE,OAAO,CAAC;AAMX,OAAO,MAAMO,KAAK,GAAGJ,gBAAgB,CAAa,CAAC,CAAC;EAClDK,IAAI,EAAE,OAAO;EAEbC,KAAK,EAAEH,cAAc,CAAC,CAAC;EAEvBI,KAAK,EAAE;IACL,mBAAmB,EAAGC,GAAmB,IAAK,IAAI;IAClDC,MAAM,EAAGC,CAAqB,IAAK;EACrC,CAAC;EAEDC,KAAKA,CAAEL,KAAK,EAAAM,IAAA,EAAmB;IAAA,IAAjB;MAAEC,KAAK;MAAEC;IAAK,CAAC,GAAAF,IAAA;IAC3B,MAAMG,IAAI,GAAGnB,UAAU,CAACU,KAAK,CAAC;IAC9B,MAAMU,OAAO,GAAGjB,GAAG,CAAkB,CAAC;IAEtC,SAASkB,OAAOA,CAAEP,CAAQ,EAAE;MAC1BA,CAAC,CAACQ,cAAc,CAAC,CAAC;MAClBH,IAAI,CAACI,KAAK,CAAC,CAAC;IACd;IAEA,SAASC,QAAQA,CAAEC,EAAS,EAAE;MAC5B,MAAMX,CAAC,GAAGW,EAAwB;MAElC,MAAMC,KAAK,GAAGP,IAAI,CAACQ,QAAQ,CAAC,CAAC;MAC7Bb,CAAC,CAACc,IAAI,GAAGF,KAAK,CAACE,IAAI,CAACC,IAAI,CAACH,KAAK,CAAC;MAC/BZ,CAAC,CAACgB,KAAK,GAAGJ,KAAK,CAACI,KAAK,CAACD,IAAI,CAACH,KAAK,CAAC;MACjCZ,CAAC,CAACiB,OAAO,GAAGL,KAAK,CAACK,OAAO,CAACF,IAAI,CAACH,KAAK,CAAC;MAErCR,IAAI,CAAC,QAAQ,EAAEJ,CAAC,CAAC;MAEjB,IAAI,CAACA,CAAC,CAACkB,gBAAgB,EAAE;QACvBN,KAAK,CAACE,IAAI,CAACK,KAAA,IAAe;UAAA,IAAd;YAAEC;UAAM,CAAC,GAAAD,KAAA;UACnB,IAAIC,KAAK,EAAE;YACTd,OAAO,CAACe,KAAK,EAAEtB,MAAM,CAAC,CAAC;UACzB;QACF,CAAC,CAAC;MACJ;MAEAC,CAAC,CAACQ,cAAc,CAAC,CAAC;IACpB;IAEAhB,SAAS,CAAC,MAAA8B,YAAA;MAAA,OAEAhB,OAAO;MAAA,SACN,CACL,QAAQ,EACRV,KAAK,CAAC2B,KAAK,CACZ;MAAA,SACO3B,KAAK,CAAC4B,KAAK;MAAA;MAAA,WAETjB,OAAO;MAAA,YACNG;IAAQ,IAEjBP,KAAK,CAACsB,OAAO,GAAGpB,IAAI,CAAC,EAEzB,CAAC;IAEH,OAAOjB,WAAW,CAACiB,IAAI,EAAEC,OAAO,CAAC;EACnC;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"VForm.js","names":["makeComponentProps","createForm","makeFormProps","forwardRefs","ref","genericComponent","propsFactory","useRender","makeVFormProps","VForm","name","props","emits","val","submit","e","setup","_ref","slots","emit","form","formRef","onReset","preventDefault","reset","onSubmit","_e","ready","validate","then","bind","catch","finally","defaultPrevented","_ref2","valid","value","_createVNode","class","style","default","errors","isDisabled","isReadonly","isValidating","isValid","items","resetValidation"],"sources":["../../../src/components/VForm/VForm.tsx"],"sourcesContent":["// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { createForm, makeFormProps } from '@/composables/form'\nimport { forwardRefs } from '@/composables/forwardRefs'\n\n// Utilities\nimport { ref } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { FieldValidationResult, FormField, FormValidationResult, SubmitEventPromise } from '@/composables/form'\n\nexport const makeVFormProps = propsFactory({\n ...makeComponentProps(),\n ...makeFormProps(),\n}, 'VForm')\n\ntype VFormSlots = {\n default: {\n errors: FieldValidationResult[]\n isDisabled: boolean\n isReadonly: boolean\n isValidating: boolean\n isValid: boolean | null\n items: FormField[]\n validate: () => Promise<FormValidationResult>\n reset: () => void\n resetValidation: () => void\n }\n}\n\nexport const VForm = genericComponent<VFormSlots>()({\n name: 'VForm',\n\n props: makeVFormProps(),\n\n emits: {\n 'update:modelValue': (val: boolean | null) => true,\n submit: (e: SubmitEventPromise) => true,\n },\n\n setup (props, { slots, emit }) {\n const form = createForm(props)\n const formRef = ref<HTMLFormElement>()\n\n function onReset (e: Event) {\n e.preventDefault()\n form.reset()\n }\n\n function onSubmit (_e: Event) {\n const e = _e as SubmitEventPromise\n\n const ready = form.validate()\n e.then = ready.then.bind(ready)\n e.catch = ready.catch.bind(ready)\n e.finally = ready.finally.bind(ready)\n\n emit('submit', e)\n\n if (!e.defaultPrevented) {\n ready.then(({ valid }) => {\n if (valid) {\n formRef.value?.submit()\n }\n })\n }\n\n e.preventDefault()\n }\n\n useRender(() => ((\n <form\n ref={ formRef }\n class={[\n 'v-form',\n props.class,\n ]}\n style={ props.style }\n novalidate\n onReset={ onReset }\n onSubmit={ onSubmit }\n >\n { slots.default?.({\n errors: form.errors.value,\n isDisabled: form.isDisabled.value,\n isReadonly: form.isReadonly.value,\n isValidating: form.isValidating.value,\n isValid: form.isValid.value,\n items: form.items.value,\n validate: form.validate,\n reset: form.reset,\n resetValidation: form.resetValidation,\n })}\n </form>\n )))\n\n return forwardRefs(form, formRef)\n },\n})\n\nexport type VForm = InstanceType<typeof VForm>\n"],"mappings":"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","ignoreList":[]}
@@ -3434,17 +3434,20 @@ export declare const VSelect: {
3434
3434
  'prepend-inner': (arg: import("../VField/VField").DefaultInputSlot) => import("vue").VNode[];
3435
3435
  'append-inner': (arg: import("../VField/VField").DefaultInputSlot) => import("vue").VNode[];
3436
3436
  item: (arg: {
3437
- item: ListItem<unknown>;
3437
+ item: unknown;
3438
+ internalItem: ListItem<unknown>;
3438
3439
  index: number;
3439
3440
  props: Record<string, unknown>;
3440
3441
  }) => import("vue").VNode[];
3441
3442
  chip: (arg: {
3442
- item: ListItem<unknown>;
3443
+ item: unknown;
3444
+ internalItem: ListItem<unknown>;
3443
3445
  index: number;
3444
3446
  props: Record<string, unknown>;
3445
3447
  }) => import("vue").VNode[];
3446
3448
  selection: (arg: {
3447
- item: ListItem<unknown>;
3449
+ item: unknown;
3450
+ internalItem: ListItem<unknown>;
3448
3451
  index: number;
3449
3452
  }) => import("vue").VNode[];
3450
3453
  'prepend-item': () => import("vue").VNode[];
@@ -4289,17 +4292,20 @@ export declare const VSelect: {
4289
4292
  'prepend-inner': (arg: import("../VField/VField").DefaultInputSlot) => import("vue").VNode[];
4290
4293
  'append-inner': (arg: import("../VField/VField").DefaultInputSlot) => import("vue").VNode[];
4291
4294
  item: (arg: {
4292
- item: ListItem<unknown>;
4295
+ item: unknown;
4296
+ internalItem: ListItem<unknown>;
4293
4297
  index: number;
4294
4298
  props: Record<string, unknown>;
4295
4299
  }) => import("vue").VNode[];
4296
4300
  chip: (arg: {
4297
- item: ListItem<unknown>;
4301
+ item: unknown;
4302
+ internalItem: ListItem<unknown>;
4298
4303
  index: number;
4299
4304
  props: Record<string, unknown>;
4300
4305
  }) => import("vue").VNode[];
4301
4306
  selection: (arg: {
4302
- item: ListItem<unknown>;
4307
+ item: unknown;
4308
+ internalItem: ListItem<unknown>;
4303
4309
  index: number;
4304
4310
  }) => import("vue").VNode[];
4305
4311
  'prepend-item': () => import("vue").VNode[];
@@ -4316,17 +4322,20 @@ export declare const VSelect: {
4316
4322
  "onUpdate:modelValue"?: (value: V) => void;
4317
4323
  }, slots: Omit<VInputSlots & VFieldSlots, "default"> & {
4318
4324
  item: {
4319
- item: ListItem<Item>;
4325
+ item: Item;
4326
+ internalItem: ListItem<Item>;
4320
4327
  index: number;
4321
4328
  props: Record<string, unknown>;
4322
4329
  };
4323
4330
  chip: {
4324
- item: ListItem<Item>;
4331
+ item: Item;
4332
+ internalItem: ListItem<Item>;
4325
4333
  index: number;
4326
4334
  props: Record<string, unknown>;
4327
4335
  };
4328
4336
  selection: {
4329
- item: ListItem<Item>;
4337
+ item: Item;
4338
+ internalItem: ListItem<Item>;
4330
4339
  index: number;
4331
4340
  };
4332
4341
  "prepend-item": never;
@@ -333,7 +333,8 @@ export const VSelect = genericComponent()({
333
333
  onClick: () => select(item, null)
334
334
  });
335
335
  return slots.item?.({
336
- item,
336
+ item: item.raw,
337
+ internalItem: item,
337
338
  index,
338
339
  props: itemProps
339
340
  }) ?? _createVNode(VListItem, _mergeProps(itemProps, {
@@ -381,11 +382,13 @@ export const VSelect = genericComponent()({
381
382
  };
382
383
  const hasSlot = hasChips ? !!slots.chip : !!slots.selection;
383
384
  const slotContent = hasSlot ? ensureValidVNode(hasChips ? slots.chip({
384
- item,
385
+ item: item.raw,
386
+ internalItem: item,
385
387
  index,
386
388
  props: slotProps
387
389
  }) : slots.selection({
388
- item,
390
+ item: item.raw,
391
+ internalItem: item,
389
392
  index
390
393
  })) : undefined;
391
394
  if (hasSlot && !slotContent) return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"VSelect.js","names":["VDialogTransition","VAvatar","VCheckboxBtn","VChip","VDefaultsProvider","VIcon","VList","VListItem","VMenu","makeVTextFieldProps","VTextField","VVirtualScroll","useScrolling","useForm","forwardRefs","IconValue","makeItemsProps","useItems","useLocale","useIsMousedown","useProxiedModel","makeTransitionProps","computed","mergeProps","nextTick","ref","shallowRef","watch","checkPrintable","ensureValidVNode","genericComponent","IN_BROWSER","matchesSelector","omit","propsFactory","useRender","wrapInArray","makeSelectProps","chips","Boolean","closableChips","closeText","type","String","default","openText","eager","hideNoData","hideSelected","listProps","Object","menu","menuIcon","menuProps","multiple","noDataText","openOnClear","itemColor","itemChildren","makeVSelectProps","modelValue","role","transition","component","VSelect","name","props","emits","focused","value","ue","setup","_ref","slots","t","vTextFieldRef","vMenuRef","vVirtualScrollRef","_menu","get","set","v","ΨopenChildren","size","items","transformIn","transformOut","model","transformed","counterValue","length","form","isMousedown","selectedValues","map","selection","isFocused","label","keyboardLookupPrefix","keyboardLookupLastTime","displayItems","filter","item","some","s","valueComparator","menuDisabled","isReadonly","isDisabled","computedMenuProps","activatorProps","listRef","listEvents","onClear","e","onMousedownControl","onListKeydown","onKeydown","key","includes","preventDefault","focus","KEYBOARD_LOOKUP_THRESHOLD","now","performance","toLowerCase","find","title","startsWith","undefined","index","indexOf","window","requestAnimationFrame","scrollToIndex","select","arguments","disabled","findIndex","add","splice","onBlur","$el","contains","relatedTarget","onAfterEnter","calculateVisibleItems","onAfterLeave","onFocusin","onModelUpdate","newVal","oldVal","hasChips","chip","hasList","isDirty","textFieldProps","filterProps","placeholder","persistentPlaceholder","_createVNode","_mergeProps","join","$event","externalValue","class","style","_Fragment","color","_ref2","itemRef","itemProps","onClick","prepend","_ref3","isSelected","prependAvatar","prependIcon","onChipClose","stopPropagation","slotProps","onMousedown","hasSlot","slotContent","closable","text","_createTextVNode","append-inner","_len","args","Array","_key"],"sources":["../../../src/components/VSelect/VSelect.tsx"],"sourcesContent":["// Styles\nimport './VSelect.sass'\n\n// Components\nimport { VDialogTransition } from '@/components/transitions'\nimport { VAvatar } from '@/components/VAvatar'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VChip } from '@/components/VChip'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VList, VListItem } from '@/components/VList'\nimport { VMenu } from '@/components/VMenu'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\nimport { VVirtualScroll } from '@/components/VVirtualScroll'\n\n// Composables\nimport { useScrolling } from './useScrolling'\nimport { useForm } from '@/composables/form'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { IconValue } from '@/composables/icons'\nimport { makeItemsProps, useItems } from '@/composables/list-items'\nimport { useLocale } from '@/composables/locale'\nimport { useIsMousedown } from '@/composables/mousedown'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeTransitionProps } from '@/composables/transition'\n\n// Utilities\nimport { computed, mergeProps, nextTick, ref, shallowRef, watch } from 'vue'\nimport {\n checkPrintable,\n ensureValidVNode,\n genericComponent,\n IN_BROWSER,\n matchesSelector,\n omit,\n propsFactory,\n useRender,\n wrapInArray,\n} from '@/util'\n\n// Types\nimport type { Component, PropType } from 'vue'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\nimport type { ListItem } from '@/composables/list-items'\nimport type { GenericProps, SelectItemKey } from '@/util'\n\ntype Primitive = string | number | boolean | symbol\n\ntype Val <T, ReturnObject extends boolean> = [T] extends [Primitive]\n ? T\n : (ReturnObject extends true ? T : any)\n\ntype Value <T, ReturnObject extends boolean, Multiple extends boolean> =\n Multiple extends true\n ? readonly Val<T, ReturnObject>[]\n : Val<T, ReturnObject> | null\n\nexport const makeSelectProps = propsFactory({\n chips: Boolean,\n closableChips: Boolean,\n closeText: {\n type: String,\n default: '$vuetify.close',\n },\n openText: {\n type: String,\n default: '$vuetify.open',\n },\n eager: Boolean,\n hideNoData: Boolean,\n hideSelected: Boolean,\n listProps: {\n type: Object as PropType<VList['$props']>,\n },\n menu: Boolean,\n menuIcon: {\n type: IconValue,\n default: '$dropdown',\n },\n menuProps: {\n type: Object as PropType<VMenu['$props']>,\n },\n multiple: Boolean,\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n openOnClear: Boolean,\n itemColor: String,\n\n ...makeItemsProps({ itemChildren: false }),\n}, 'Select')\n\nexport const makeVSelectProps = propsFactory({\n ...makeSelectProps(),\n ...omit(makeVTextFieldProps({\n modelValue: null,\n role: 'combobox',\n }), ['validationValue', 'dirty', 'appendInnerIcon']),\n ...makeTransitionProps({ transition: { component: VDialogTransition as Component } }),\n}, 'VSelect')\n\ntype ItemType<T> = T extends readonly (infer U)[] ? U : never\n\nexport const VSelect = genericComponent<new <\n T extends readonly any[],\n Item = ItemType<T>,\n ReturnObject extends boolean = false,\n Multiple extends boolean = false,\n V extends Value<Item, ReturnObject, Multiple> = Value<Item, ReturnObject, Multiple>\n>(\n props: {\n items?: T\n itemTitle?: SelectItemKey<ItemType<T>>\n itemValue?: SelectItemKey<ItemType<T>>\n itemProps?: SelectItemKey<ItemType<T>>\n returnObject?: ReturnObject\n multiple?: Multiple\n modelValue?: V | null\n 'onUpdate:modelValue'?: (value: V) => void\n },\n slots: Omit<VInputSlots & VFieldSlots, 'default'> & {\n item: { item: ListItem<Item>, index: number, props: Record<string, unknown> }\n chip: { item: ListItem<Item>, index: number, props: Record<string, unknown> }\n selection: { item: ListItem<Item>, index: number }\n 'prepend-item': never\n 'append-item': never\n 'no-data': never\n }\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VSelect',\n\n props: makeVSelectProps(),\n\n emits: {\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (value: any) => true,\n 'update:menu': (ue: boolean) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const vTextFieldRef = ref()\n const vMenuRef = ref<VMenu>()\n const vVirtualScrollRef = ref<VVirtualScroll>()\n const _menu = useProxiedModel(props, 'menu')\n const menu = computed({\n get: () => _menu.value,\n set: v => {\n if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return\n _menu.value = v\n },\n })\n const { items, transformIn, transformOut } = useItems(props)\n const model = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => transformIn(v === null ? [null] : wrapInArray(v)),\n v => {\n const transformed = transformOut(v)\n return props.multiple ? transformed : (transformed[0] ?? null)\n }\n )\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function' ? props.counterValue(model.value)\n : typeof props.counterValue === 'number' ? props.counterValue\n : model.value.length\n })\n const form = useForm(props)\n const { isMousedown } = useIsMousedown()\n const selectedValues = computed(() => model.value.map(selection => selection.value))\n const isFocused = shallowRef(false)\n const label = computed(() => menu.value ? props.closeText : props.openText)\n\n let keyboardLookupPrefix = ''\n let keyboardLookupLastTime: number\n\n const displayItems = computed(() => {\n if (props.hideSelected) {\n return items.value.filter(item => !model.value.some(s => props.valueComparator(s, item)))\n }\n return items.value\n })\n\n const menuDisabled = computed(() => (\n (props.hideNoData && !displayItems.value.length) ||\n form.isReadonly.value || form.isDisabled.value\n ))\n\n const computedMenuProps = computed(() => {\n return {\n ...props.menuProps,\n activatorProps: {\n ...(props.menuProps?.activatorProps || {}),\n 'aria-haspopup': 'listbox', // Set aria-haspopup to 'listbox'\n },\n }\n })\n\n const listRef = ref<VList>()\n const listEvents = useScrolling(listRef, vTextFieldRef)\n function onClear (e: MouseEvent) {\n if (props.openOnClear) {\n menu.value = true\n }\n }\n function onMousedownControl () {\n if (menuDisabled.value) return\n\n menu.value = !menu.value\n }\n function onListKeydown (e: KeyboardEvent) {\n if (checkPrintable(e)) {\n onKeydown(e)\n }\n }\n function onKeydown (e: KeyboardEvent) {\n if (!e.key || form.isReadonly.value) return\n\n if (['Enter', ' ', 'ArrowDown', 'ArrowUp', 'Home', 'End'].includes(e.key)) {\n e.preventDefault()\n }\n\n if (['Enter', 'ArrowDown', ' '].includes(e.key)) {\n menu.value = true\n }\n\n if (['Escape', 'Tab'].includes(e.key)) {\n menu.value = false\n }\n\n if (e.key === 'Home') {\n listRef.value?.focus('first')\n } else if (e.key === 'End') {\n listRef.value?.focus('last')\n }\n\n // html select hotkeys\n const KEYBOARD_LOOKUP_THRESHOLD = 1000 // milliseconds\n\n if (!checkPrintable(e)) return\n\n const now = performance.now()\n if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {\n keyboardLookupPrefix = ''\n }\n keyboardLookupPrefix += e.key.toLowerCase()\n keyboardLookupLastTime = now\n\n const item = items.value.find(item => item.title.toLowerCase().startsWith(keyboardLookupPrefix))\n if (item !== undefined) {\n model.value = [item]\n const index = displayItems.value.indexOf(item)\n IN_BROWSER && window.requestAnimationFrame(() => {\n index >= 0 && vVirtualScrollRef.value?.scrollToIndex(index)\n })\n }\n }\n\n /** @param set - null means toggle */\n function select (item: ListItem, set: boolean | null = true) {\n if (item.props.disabled) return\n\n if (props.multiple) {\n const index = model.value.findIndex(selection => props.valueComparator(selection.value, item.value))\n const add = set == null ? !~index : set\n\n if (~index) {\n const value = add ? [...model.value, item] : [...model.value]\n value.splice(index, 1)\n model.value = value\n } else if (add) {\n model.value = [...model.value, item]\n }\n } else {\n const add = set !== false\n model.value = add ? [item] : []\n\n nextTick(() => {\n menu.value = false\n })\n }\n }\n function onBlur (e: FocusEvent) {\n if (!listRef.value?.$el.contains(e.relatedTarget as HTMLElement) && !isMousedown.value) {\n menu.value = false\n }\n }\n function onAfterEnter () {\n if (props.eager) {\n vVirtualScrollRef.value?.calculateVisibleItems()\n }\n }\n function onAfterLeave () {\n if (isFocused.value) {\n vTextFieldRef.value?.focus()\n }\n }\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n }\n function onModelUpdate (v: any) {\n if (v == null) model.value = []\n else if (matchesSelector(vTextFieldRef.value, ':autofill') || matchesSelector(vTextFieldRef.value, ':-webkit-autofill')) {\n const item = items.value.find(item => item.title === v)\n if (item) {\n select(item)\n }\n } else if (vTextFieldRef.value) {\n vTextFieldRef.value.value = ''\n }\n }\n\n watch(menu, () => {\n if (!props.hideSelected && menu.value && model.value.length) {\n const index = displayItems.value.findIndex(\n item => model.value.some(s => props.valueComparator(s.value, item.value))\n )\n IN_BROWSER && window.requestAnimationFrame(() => {\n index >= 0 && vVirtualScrollRef.value?.scrollToIndex(index)\n })\n }\n })\n\n watch(() => props.items, (newVal, oldVal) => {\n if (menu.value) return\n\n if (isFocused.value && !oldVal.length && newVal.length) {\n menu.value = true\n }\n })\n\n useRender(() => {\n const hasChips = !!(props.chips || slots.chip)\n const hasList = !!(\n (!props.hideNoData || displayItems.value.length) ||\n slots['prepend-item'] ||\n slots['append-item'] ||\n slots['no-data']\n )\n const isDirty = model.value.length > 0\n const textFieldProps = VTextField.filterProps(props)\n\n const placeholder = isDirty || (\n !isFocused.value &&\n props.label &&\n !props.persistentPlaceholder\n ) ? undefined : props.placeholder\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n { ...textFieldProps }\n modelValue={ model.value.map(v => v.props.value).join(', ') }\n onUpdate:modelValue={ onModelUpdate }\n v-model:focused={ isFocused.value }\n validationValue={ model.externalValue }\n counterValue={ counterValue.value }\n dirty={ isDirty }\n class={[\n 'v-select',\n {\n 'v-select--active-menu': menu.value,\n 'v-select--chips': !!props.chips,\n [`v-select--${props.multiple ? 'multiple' : 'single'}`]: true,\n 'v-select--selected': model.value.length,\n 'v-select--selection-slot': !!slots.selection,\n },\n props.class,\n ]}\n style={ props.style }\n inputmode=\"none\"\n placeholder={ placeholder }\n onClick:clear={ onClear }\n onMousedown:control={ onMousedownControl }\n onBlur={ onBlur }\n onKeydown={ onKeydown }\n aria-label={ t(label.value) }\n title={ t(label.value) }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n ref={ vMenuRef }\n v-model={ menu.value }\n activator=\"parent\"\n contentClass=\"v-select__content\"\n disabled={ menuDisabled.value }\n eager={ props.eager }\n maxHeight={ 310 }\n openOnClick={ false }\n closeOnContentClick={ false }\n transition={ props.transition }\n onAfterEnter={ onAfterEnter }\n onAfterLeave={ onAfterLeave }\n { ...computedMenuProps.value }\n >\n { hasList && (\n <VList\n ref={ listRef }\n selected={ selectedValues.value }\n selectStrategy={ props.multiple ? 'independent' : 'single-independent' }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n onKeydown={ onListKeydown }\n onFocusin={ onFocusin }\n tabindex=\"-1\"\n aria-live=\"polite\"\n color={ props.itemColor ?? props.color }\n { ...listEvents }\n { ...props.listProps }\n >\n { slots['prepend-item']?.() }\n\n { !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? (\n <VListItem key=\"no-data\" title={ t(props.noDataText) } />\n ))}\n\n <VVirtualScroll ref={ vVirtualScrollRef } renderless items={ displayItems.value } itemKey=\"value\">\n { ({ item, index, itemRef }) => {\n const itemProps = mergeProps(item.props, {\n ref: itemRef,\n key: item.value,\n onClick: () => select(item, null),\n })\n\n return slots.item?.({\n item,\n index,\n props: itemProps,\n }) ?? (\n <VListItem { ...itemProps } role=\"option\">\n {{\n prepend: ({ isSelected }) => (\n <>\n { props.multiple && !props.hideSelected ? (\n <VCheckboxBtn\n key={ item.value }\n modelValue={ isSelected }\n ripple={ false }\n tabindex=\"-1\"\n />\n ) : undefined }\n\n { item.props.prependAvatar && (\n <VAvatar image={ item.props.prependAvatar } />\n )}\n\n { item.props.prependIcon && (\n <VIcon icon={ item.props.prependIcon } />\n )}\n </>\n ),\n }}\n </VListItem>\n )\n }}\n </VVirtualScroll>\n\n { slots['append-item']?.() }\n </VList>\n )}\n </VMenu>\n\n { model.value.map((item, index) => {\n function onChipClose (e: Event) {\n e.stopPropagation()\n e.preventDefault()\n\n select(item, false)\n }\n\n const slotProps = {\n 'onClick:close': onChipClose,\n onKeydown (e: KeyboardEvent) {\n if (e.key !== 'Enter' && e.key !== ' ') return\n\n e.preventDefault()\n e.stopPropagation()\n\n onChipClose(e)\n },\n onMousedown (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n },\n modelValue: true,\n 'onUpdate:modelValue': undefined,\n }\n\n const hasSlot = hasChips ? !!slots.chip : !!slots.selection\n const slotContent = hasSlot\n ? ensureValidVNode(\n hasChips\n ? slots.chip!({ item, index, props: slotProps })\n : slots.selection!({ item, index })\n )\n : undefined\n\n if (hasSlot && !slotContent) return undefined\n\n return (\n <div key={ item.value } class=\"v-select__selection\">\n { hasChips ? (\n !slots.chip ? (\n <VChip\n key=\"chip\"\n closable={ props.closableChips }\n size=\"small\"\n text={ item.title }\n disabled={ item.props.disabled }\n { ...slotProps }\n />\n ) : (\n <VDefaultsProvider\n key=\"chip-defaults\"\n defaults={{\n VChip: {\n closable: props.closableChips,\n size: 'small',\n text: item.title,\n },\n }}\n >\n { slotContent }\n </VDefaultsProvider>\n )\n ) : (\n slotContent ?? (\n <span class=\"v-select__selection-text\">\n { item.title }\n { props.multiple && (index < model.value.length - 1) && (\n <span class=\"v-select__selection-comma\">,</span>\n )}\n </span>\n )\n )}\n </div>\n )\n })}\n </>\n ),\n 'append-inner': (...args) => (\n <>\n { slots['append-inner']?.(...args) }\n { props.menuIcon ? (\n <VIcon\n class=\"v-select__menu-icon\"\n icon={ props.menuIcon }\n />\n ) : undefined }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({\n isFocused,\n menu,\n select,\n }, vTextFieldRef)\n },\n})\n\nexport type VSelect = InstanceType<typeof VSelect>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,iBAAiB;AAAA,SACjBC,OAAO;AAAA,SACPC,YAAY;AAAA,SACZC,KAAK;AAAA,SACLC,iBAAiB;AAAA,SACjBC,KAAK;AAAA,SACLC,KAAK,EAAEC,SAAS;AAAA,SAChBC,KAAK;AAAA,SACLC,mBAAmB,EAAEC,UAAU;AAAA,SAC/BC,cAAc,sCAEvB;AAAA,SACSC,YAAY;AAAA,SACZC,OAAO;AAAA,SACPC,WAAW;AAAA,SACXC,SAAS;AAAA,SACTC,cAAc,EAAEC,QAAQ;AAAA,SACxBC,SAAS;AAAA,SACTC,cAAc;AAAA,SACdC,eAAe;AAAA,SACfC,mBAAmB,2CAE5B;AACA,SAASC,QAAQ,EAAEC,UAAU,EAAEC,QAAQ,EAAEC,GAAG,EAAEC,UAAU,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAE1EC,cAAc,EACdC,gBAAgB,EAChBC,gBAAgB,EAChBC,UAAU,EACVC,eAAe,EACfC,IAAI,EACJC,YAAY,EACZC,SAAS,EACTC,WAAW,+BAGb;AAkBA,OAAO,MAAMC,eAAe,GAAGH,YAAY,CAAC;EAC1CI,KAAK,EAAEC,OAAO;EACdC,aAAa,EAAED,OAAO;EACtBE,SAAS,EAAE;IACTC,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACX,CAAC;EACDC,QAAQ,EAAE;IACRH,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACX,CAAC;EACDE,KAAK,EAAEP,OAAO;EACdQ,UAAU,EAAER,OAAO;EACnBS,YAAY,EAAET,OAAO;EACrBU,SAAS,EAAE;IACTP,IAAI,EAAEQ;EACR,CAAC;EACDC,IAAI,EAAEZ,OAAO;EACba,QAAQ,EAAE;IACRV,IAAI,EAAE3B,SAAS;IACf6B,OAAO,EAAE;EACX,CAAC;EACDS,SAAS,EAAE;IACTX,IAAI,EAAEQ;EACR,CAAC;EACDI,QAAQ,EAAEf,OAAO;EACjBgB,UAAU,EAAE;IACVb,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACX,CAAC;EACDY,WAAW,EAAEjB,OAAO;EACpBkB,SAAS,EAAEd,MAAM;EAEjB,GAAG3B,cAAc,CAAC;IAAE0C,YAAY,EAAE;EAAM,CAAC;AAC3C,CAAC,EAAE,QAAQ,CAAC;AAEZ,OAAO,MAAMC,gBAAgB,GAAGzB,YAAY,CAAC;EAC3C,GAAGG,eAAe,CAAC,CAAC;EACpB,GAAGJ,IAAI,CAACxB,mBAAmB,CAAC;IAC1BmD,UAAU,EAAE,IAAI;IAChBC,IAAI,EAAE;EACR,CAAC,CAAC,EAAE,CAAC,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC;EACpD,GAAGxC,mBAAmB,CAAC;IAAEyC,UAAU,EAAE;MAAEC,SAAS,EAAE/D;IAA+B;EAAE,CAAC;AACtF,CAAC,EAAE,SAAS,CAAC;AAIb,OAAO,MAAMgE,OAAO,GAAGlC,gBAAgB,CAyBQ,CAAC,CAAC;EAC/CmC,IAAI,EAAE,SAAS;EAEfC,KAAK,EAAEP,gBAAgB,CAAC,CAAC;EAEzBQ,KAAK,EAAE;IACL,gBAAgB,EAAGC,OAAgB,IAAK,IAAI;IAC5C,mBAAmB,EAAGC,KAAU,IAAK,IAAI;IACzC,aAAa,EAAGC,EAAW,IAAK;EAClC,CAAC;EAEDC,KAAKA,CAAEL,KAAK,EAAAM,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE;IAAE,CAAC,GAAGxD,SAAS,CAAC,CAAC;IACzB,MAAMyD,aAAa,GAAGlD,GAAG,CAAC,CAAC;IAC3B,MAAMmD,QAAQ,GAAGnD,GAAG,CAAQ,CAAC;IAC7B,MAAMoD,iBAAiB,GAAGpD,GAAG,CAAiB,CAAC;IAC/C,MAAMqD,KAAK,GAAG1D,eAAe,CAAC8C,KAAK,EAAE,MAAM,CAAC;IAC5C,MAAMf,IAAI,GAAG7B,QAAQ,CAAC;MACpByD,GAAG,EAAEA,CAAA,KAAMD,KAAK,CAACT,KAAK;MACtBW,GAAG,EAAEC,CAAC,IAAI;QACR,IAAIH,KAAK,CAACT,KAAK,IAAI,CAACY,CAAC,IAAIL,QAAQ,CAACP,KAAK,EAAEa,aAAa,CAACC,IAAI,EAAE;QAC7DL,KAAK,CAACT,KAAK,GAAGY,CAAC;MACjB;IACF,CAAC,CAAC;IACF,MAAM;MAAEG,KAAK;MAAEC,WAAW;MAAEC;IAAa,CAAC,GAAGrE,QAAQ,CAACiD,KAAK,CAAC;IAC5D,MAAMqB,KAAK,GAAGnE,eAAe,CAC3B8C,KAAK,EACL,YAAY,EACZ,EAAE,EACFe,CAAC,IAAII,WAAW,CAACJ,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG7C,WAAW,CAAC6C,CAAC,CAAC,CAAC,EACtDA,CAAC,IAAI;MACH,MAAMO,WAAW,GAAGF,YAAY,CAACL,CAAC,CAAC;MACnC,OAAOf,KAAK,CAACZ,QAAQ,GAAGkC,WAAW,GAAIA,WAAW,CAAC,CAAC,CAAC,IAAI,IAAK;IAChE,CACF,CAAC;IACD,MAAMC,YAAY,GAAGnE,QAAQ,CAAC,MAAM;MAClC,OAAO,OAAO4C,KAAK,CAACuB,YAAY,KAAK,UAAU,GAAGvB,KAAK,CAACuB,YAAY,CAACF,KAAK,CAAClB,KAAK,CAAC,GAC7E,OAAOH,KAAK,CAACuB,YAAY,KAAK,QAAQ,GAAGvB,KAAK,CAACuB,YAAY,GAC3DF,KAAK,CAAClB,KAAK,CAACqB,MAAM;IACxB,CAAC,CAAC;IACF,MAAMC,IAAI,GAAG9E,OAAO,CAACqD,KAAK,CAAC;IAC3B,MAAM;MAAE0B;IAAY,CAAC,GAAGzE,cAAc,CAAC,CAAC;IACxC,MAAM0E,cAAc,GAAGvE,QAAQ,CAAC,MAAMiE,KAAK,CAAClB,KAAK,CAACyB,GAAG,CAACC,SAAS,IAAIA,SAAS,CAAC1B,KAAK,CAAC,CAAC;IACpF,MAAM2B,SAAS,GAAGtE,UAAU,CAAC,KAAK,CAAC;IACnC,MAAMuE,KAAK,GAAG3E,QAAQ,CAAC,MAAM6B,IAAI,CAACkB,KAAK,GAAGH,KAAK,CAACzB,SAAS,GAAGyB,KAAK,CAACrB,QAAQ,CAAC;IAE3E,IAAIqD,oBAAoB,GAAG,EAAE;IAC7B,IAAIC,sBAA8B;IAElC,MAAMC,YAAY,GAAG9E,QAAQ,CAAC,MAAM;MAClC,IAAI4C,KAAK,CAAClB,YAAY,EAAE;QACtB,OAAOoC,KAAK,CAACf,KAAK,CAACgC,MAAM,CAACC,IAAI,IAAI,CAACf,KAAK,CAAClB,KAAK,CAACkC,IAAI,CAACC,CAAC,IAAItC,KAAK,CAACuC,eAAe,CAACD,CAAC,EAAEF,IAAI,CAAC,CAAC,CAAC;MAC3F;MACA,OAAOlB,KAAK,CAACf,KAAK;IACpB,CAAC,CAAC;IAEF,MAAMqC,YAAY,GAAGpF,QAAQ,CAAC,MAC3B4C,KAAK,CAACnB,UAAU,IAAI,CAACqD,YAAY,CAAC/B,KAAK,CAACqB,MAAM,IAC/CC,IAAI,CAACgB,UAAU,CAACtC,KAAK,IAAIsB,IAAI,CAACiB,UAAU,CAACvC,KAC1C,CAAC;IAEF,MAAMwC,iBAAiB,GAAGvF,QAAQ,CAAC,MAAM;MACvC,OAAO;QACL,GAAG4C,KAAK,CAACb,SAAS;QAClByD,cAAc,EAAE;UACd,IAAI5C,KAAK,CAACb,SAAS,EAAEyD,cAAc,IAAI,CAAC,CAAC,CAAC;UAC1C,eAAe,EAAE,SAAS,CAAE;QAC9B;MACF,CAAC;IACH,CAAC,CAAC;IAEF,MAAMC,OAAO,GAAGtF,GAAG,CAAQ,CAAC;IAC5B,MAAMuF,UAAU,GAAGpG,YAAY,CAACmG,OAAO,EAAEpC,aAAa,CAAC;IACvD,SAASsC,OAAOA,CAAEC,CAAa,EAAE;MAC/B,IAAIhD,KAAK,CAACV,WAAW,EAAE;QACrBL,IAAI,CAACkB,KAAK,GAAG,IAAI;MACnB;IACF;IACA,SAAS8C,kBAAkBA,CAAA,EAAI;MAC7B,IAAIT,YAAY,CAACrC,KAAK,EAAE;MAExBlB,IAAI,CAACkB,KAAK,GAAG,CAAClB,IAAI,CAACkB,KAAK;IAC1B;IACA,SAAS+C,aAAaA,CAAEF,CAAgB,EAAE;MACxC,IAAItF,cAAc,CAACsF,CAAC,CAAC,EAAE;QACrBG,SAAS,CAACH,CAAC,CAAC;MACd;IACF;IACA,SAASG,SAASA,CAAEH,CAAgB,EAAE;MACpC,IAAI,CAACA,CAAC,CAACI,GAAG,IAAI3B,IAAI,CAACgB,UAAU,CAACtC,KAAK,EAAE;MAErC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAACkD,QAAQ,CAACL,CAAC,CAACI,GAAG,CAAC,EAAE;QACzEJ,CAAC,CAACM,cAAc,CAAC,CAAC;MACpB;MAEA,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,CAACD,QAAQ,CAACL,CAAC,CAACI,GAAG,CAAC,EAAE;QAC/CnE,IAAI,CAACkB,KAAK,GAAG,IAAI;MACnB;MAEA,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAACkD,QAAQ,CAACL,CAAC,CAACI,GAAG,CAAC,EAAE;QACrCnE,IAAI,CAACkB,KAAK,GAAG,KAAK;MACpB;MAEA,IAAI6C,CAAC,CAACI,GAAG,KAAK,MAAM,EAAE;QACpBP,OAAO,CAAC1C,KAAK,EAAEoD,KAAK,CAAC,OAAO,CAAC;MAC/B,CAAC,MAAM,IAAIP,CAAC,CAACI,GAAG,KAAK,KAAK,EAAE;QAC1BP,OAAO,CAAC1C,KAAK,EAAEoD,KAAK,CAAC,MAAM,CAAC;MAC9B;;MAEA;MACA,MAAMC,yBAAyB,GAAG,IAAI,EAAC;;MAEvC,IAAI,CAAC9F,cAAc,CAACsF,CAAC,CAAC,EAAE;MAExB,MAAMS,GAAG,GAAGC,WAAW,CAACD,GAAG,CAAC,CAAC;MAC7B,IAAIA,GAAG,GAAGxB,sBAAsB,GAAGuB,yBAAyB,EAAE;QAC5DxB,oBAAoB,GAAG,EAAE;MAC3B;MACAA,oBAAoB,IAAIgB,CAAC,CAACI,GAAG,CAACO,WAAW,CAAC,CAAC;MAC3C1B,sBAAsB,GAAGwB,GAAG;MAE5B,MAAMrB,IAAI,GAAGlB,KAAK,CAACf,KAAK,CAACyD,IAAI,CAACxB,IAAI,IAAIA,IAAI,CAACyB,KAAK,CAACF,WAAW,CAAC,CAAC,CAACG,UAAU,CAAC9B,oBAAoB,CAAC,CAAC;MAChG,IAAII,IAAI,KAAK2B,SAAS,EAAE;QACtB1C,KAAK,CAAClB,KAAK,GAAG,CAACiC,IAAI,CAAC;QACpB,MAAM4B,KAAK,GAAG9B,YAAY,CAAC/B,KAAK,CAAC8D,OAAO,CAAC7B,IAAI,CAAC;QAC9CvE,UAAU,IAAIqG,MAAM,CAACC,qBAAqB,CAAC,MAAM;UAC/CH,KAAK,IAAI,CAAC,IAAIrD,iBAAiB,CAACR,KAAK,EAAEiE,aAAa,CAACJ,KAAK,CAAC;QAC7D,CAAC,CAAC;MACJ;IACF;;IAEA;IACA,SAASK,MAAMA,CAAEjC,IAAc,EAA8B;MAAA,IAA5BtB,GAAmB,GAAAwD,SAAA,CAAA9C,MAAA,QAAA8C,SAAA,QAAAP,SAAA,GAAAO,SAAA,MAAG,IAAI;MACzD,IAAIlC,IAAI,CAACpC,KAAK,CAACuE,QAAQ,EAAE;MAEzB,IAAIvE,KAAK,CAACZ,QAAQ,EAAE;QAClB,MAAM4E,KAAK,GAAG3C,KAAK,CAAClB,KAAK,CAACqE,SAAS,CAAC3C,SAAS,IAAI7B,KAAK,CAACuC,eAAe,CAACV,SAAS,CAAC1B,KAAK,EAAEiC,IAAI,CAACjC,KAAK,CAAC,CAAC;QACpG,MAAMsE,GAAG,GAAG3D,GAAG,IAAI,IAAI,GAAG,CAAC,CAACkD,KAAK,GAAGlD,GAAG;QAEvC,IAAI,CAACkD,KAAK,EAAE;UACV,MAAM7D,KAAK,GAAGsE,GAAG,GAAG,CAAC,GAAGpD,KAAK,CAAClB,KAAK,EAAEiC,IAAI,CAAC,GAAG,CAAC,GAAGf,KAAK,CAAClB,KAAK,CAAC;UAC7DA,KAAK,CAACuE,MAAM,CAACV,KAAK,EAAE,CAAC,CAAC;UACtB3C,KAAK,CAAClB,KAAK,GAAGA,KAAK;QACrB,CAAC,MAAM,IAAIsE,GAAG,EAAE;UACdpD,KAAK,CAAClB,KAAK,GAAG,CAAC,GAAGkB,KAAK,CAAClB,KAAK,EAAEiC,IAAI,CAAC;QACtC;MACF,CAAC,MAAM;QACL,MAAMqC,GAAG,GAAG3D,GAAG,KAAK,KAAK;QACzBO,KAAK,CAAClB,KAAK,GAAGsE,GAAG,GAAG,CAACrC,IAAI,CAAC,GAAG,EAAE;QAE/B9E,QAAQ,CAAC,MAAM;UACb2B,IAAI,CAACkB,KAAK,GAAG,KAAK;QACpB,CAAC,CAAC;MACJ;IACF;IACA,SAASwE,MAAMA,CAAE3B,CAAa,EAAE;MAC9B,IAAI,CAACH,OAAO,CAAC1C,KAAK,EAAEyE,GAAG,CAACC,QAAQ,CAAC7B,CAAC,CAAC8B,aAA4B,CAAC,IAAI,CAACpD,WAAW,CAACvB,KAAK,EAAE;QACtFlB,IAAI,CAACkB,KAAK,GAAG,KAAK;MACpB;IACF;IACA,SAAS4E,YAAYA,CAAA,EAAI;MACvB,IAAI/E,KAAK,CAACpB,KAAK,EAAE;QACf+B,iBAAiB,CAACR,KAAK,EAAE6E,qBAAqB,CAAC,CAAC;MAClD;IACF;IACA,SAASC,YAAYA,CAAA,EAAI;MACvB,IAAInD,SAAS,CAAC3B,KAAK,EAAE;QACnBM,aAAa,CAACN,KAAK,EAAEoD,KAAK,CAAC,CAAC;MAC9B;IACF;IACA,SAAS2B,SAASA,CAAElC,CAAa,EAAE;MACjClB,SAAS,CAAC3B,KAAK,GAAG,IAAI;IACxB;IACA,SAASgF,aAAaA,CAAEpE,CAAM,EAAE;MAC9B,IAAIA,CAAC,IAAI,IAAI,EAAEM,KAAK,CAAClB,KAAK,GAAG,EAAE,MAC1B,IAAIrC,eAAe,CAAC2C,aAAa,CAACN,KAAK,EAAE,WAAW,CAAC,IAAIrC,eAAe,CAAC2C,aAAa,CAACN,KAAK,EAAE,mBAAmB,CAAC,EAAE;QACvH,MAAMiC,IAAI,GAAGlB,KAAK,CAACf,KAAK,CAACyD,IAAI,CAACxB,IAAI,IAAIA,IAAI,CAACyB,KAAK,KAAK9C,CAAC,CAAC;QACvD,IAAIqB,IAAI,EAAE;UACRiC,MAAM,CAACjC,IAAI,CAAC;QACd;MACF,CAAC,MAAM,IAAI3B,aAAa,CAACN,KAAK,EAAE;QAC9BM,aAAa,CAACN,KAAK,CAACA,KAAK,GAAG,EAAE;MAChC;IACF;IAEA1C,KAAK,CAACwB,IAAI,EAAE,MAAM;MAChB,IAAI,CAACe,KAAK,CAAClB,YAAY,IAAIG,IAAI,CAACkB,KAAK,IAAIkB,KAAK,CAAClB,KAAK,CAACqB,MAAM,EAAE;QAC3D,MAAMwC,KAAK,GAAG9B,YAAY,CAAC/B,KAAK,CAACqE,SAAS,CACxCpC,IAAI,IAAIf,KAAK,CAAClB,KAAK,CAACkC,IAAI,CAACC,CAAC,IAAItC,KAAK,CAACuC,eAAe,CAACD,CAAC,CAACnC,KAAK,EAAEiC,IAAI,CAACjC,KAAK,CAAC,CAC1E,CAAC;QACDtC,UAAU,IAAIqG,MAAM,CAACC,qBAAqB,CAAC,MAAM;UAC/CH,KAAK,IAAI,CAAC,IAAIrD,iBAAiB,CAACR,KAAK,EAAEiE,aAAa,CAACJ,KAAK,CAAC;QAC7D,CAAC,CAAC;MACJ;IACF,CAAC,CAAC;IAEFvG,KAAK,CAAC,MAAMuC,KAAK,CAACkB,KAAK,EAAE,CAACkE,MAAM,EAAEC,MAAM,KAAK;MAC3C,IAAIpG,IAAI,CAACkB,KAAK,EAAE;MAEhB,IAAI2B,SAAS,CAAC3B,KAAK,IAAI,CAACkF,MAAM,CAAC7D,MAAM,IAAI4D,MAAM,CAAC5D,MAAM,EAAE;QACtDvC,IAAI,CAACkB,KAAK,GAAG,IAAI;MACnB;IACF,CAAC,CAAC;IAEFlC,SAAS,CAAC,MAAM;MACd,MAAMqH,QAAQ,GAAG,CAAC,EAAEtF,KAAK,CAAC5B,KAAK,IAAImC,KAAK,CAACgF,IAAI,CAAC;MAC9C,MAAMC,OAAO,GAAG,CAAC,EACd,CAACxF,KAAK,CAACnB,UAAU,IAAIqD,YAAY,CAAC/B,KAAK,CAACqB,MAAM,IAC/CjB,KAAK,CAAC,cAAc,CAAC,IACrBA,KAAK,CAAC,aAAa,CAAC,IACpBA,KAAK,CAAC,SAAS,CAAC,CACjB;MACD,MAAMkF,OAAO,GAAGpE,KAAK,CAAClB,KAAK,CAACqB,MAAM,GAAG,CAAC;MACtC,MAAMkE,cAAc,GAAGlJ,UAAU,CAACmJ,WAAW,CAAC3F,KAAK,CAAC;MAEpD,MAAM4F,WAAW,GAAGH,OAAO,IACzB,CAAC3D,SAAS,CAAC3B,KAAK,IAChBH,KAAK,CAAC+B,KAAK,IACX,CAAC/B,KAAK,CAAC6F,qBACR,GAAG9B,SAAS,GAAG/D,KAAK,CAAC4F,WAAW;MAEjC,OAAAE,YAAA,CAAAtJ,UAAA,EAAAuJ,WAAA;QAAA,OAEUtF;MAAa,GACdiF,cAAc;QAAA,cACNrE,KAAK,CAAClB,KAAK,CAACyB,GAAG,CAACb,CAAC,IAAIA,CAAC,CAACf,KAAK,CAACG,KAAK,CAAC,CAAC6F,IAAI,CAAC,IAAI,CAAC;QAAA,uBACrCb,aAAa;QAAA,WACjBrD,SAAS,CAAC3B,KAAK;QAAA,oBAAA8F,MAAA,IAAfnE,SAAS,CAAC3B,KAAK,GAAA8F,MAAA;QAAA,mBACf5E,KAAK,CAAC6E,aAAa;QAAA,gBACtB3E,YAAY,CAACpB,KAAK;QAAA,SACzBsF,OAAO;QAAA,SACR,CACL,UAAU,EACV;UACE,uBAAuB,EAAExG,IAAI,CAACkB,KAAK;UACnC,iBAAiB,EAAE,CAAC,CAACH,KAAK,CAAC5B,KAAK;UAChC,CAAC,aAAa4B,KAAK,CAACZ,QAAQ,GAAG,UAAU,GAAG,QAAQ,EAAE,GAAG,IAAI;UAC7D,oBAAoB,EAAEiC,KAAK,CAAClB,KAAK,CAACqB,MAAM;UACxC,0BAA0B,EAAE,CAAC,CAACjB,KAAK,CAACsB;QACtC,CAAC,EACD7B,KAAK,CAACmG,KAAK,CACZ;QAAA,SACOnG,KAAK,CAACoG,KAAK;QAAA;QAAA,eAELR,WAAW;QAAA,iBACT7C,OAAO;QAAA,uBACDE,kBAAkB;QAAA,UAC/B0B,MAAM;QAAA,aACHxB,SAAS;QAAA,cACR3C,CAAC,CAACuB,KAAK,CAAC5B,KAAK,CAAC;QAAA,SACnBK,CAAC,CAACuB,KAAK,CAAC5B,KAAK;MAAC;QAGpB,GAAGI,KAAK;QACR7B,OAAO,EAAEA,CAAA,KAAAoH,YAAA,CAAAO,SAAA,SAAAP,YAAA,CAAAxJ,KAAA,EAAAyJ,WAAA;UAAA,OAGGrF,QAAQ;UAAA,cACJzB,IAAI,CAACkB,KAAK;UAAA,uBAAA8F,MAAA,IAAVhH,IAAI,CAACkB,KAAK,GAAA8F,MAAA;UAAA;UAAA;UAAA,YAGTzD,YAAY,CAACrC,KAAK;UAAA,SACrBH,KAAK,CAACpB,KAAK;UAAA,aACP,GAAG;UAAA,eACD,KAAK;UAAA,uBACG,KAAK;UAAA,cACdoB,KAAK,CAACJ,UAAU;UAAA,gBACdmF,YAAY;UAAA,gBACZE;QAAY,GACtBtC,iBAAiB,CAACxC,KAAK;UAAAzB,OAAA,EAAAA,CAAA,MAE1B8G,OAAO,IAAAM,YAAA,CAAA1J,KAAA,EAAA2J,WAAA;YAAA,OAEClD,OAAO;YAAA,YACFlB,cAAc,CAACxB,KAAK;YAAA,kBACdH,KAAK,CAACZ,QAAQ,GAAG,aAAa,GAAG,oBAAoB;YAAA,eACvD4D,CAAa,IAAKA,CAAC,CAACM,cAAc,CAAC,CAAC;YAAA,aACvCJ,aAAa;YAAA,aACbgC,SAAS;YAAA;YAAA;YAAA,SAGblF,KAAK,CAACT,SAAS,IAAIS,KAAK,CAACsG;UAAK,GACjCxD,UAAU,EACV9C,KAAK,CAACjB,SAAS;YAAAL,OAAA,EAAAA,CAAA,MAElB6B,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,EAEzB,CAAC2B,YAAY,CAAC/B,KAAK,CAACqB,MAAM,IAAI,CAACxB,KAAK,CAACnB,UAAU,KAAK0B,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAAuF,YAAA,CAAAzJ,SAAA;cAAA;cAAA,SACvCmE,CAAC,CAACR,KAAK,CAACX,UAAU;YAAC,QACrD,CAAC,EAAAyG,YAAA,CAAArJ,cAAA;cAAA,OAEoBkE,iBAAiB;cAAA;cAAA,SAAsBuB,YAAY,CAAC/B,KAAK;cAAA;YAAA;cAAAzB,OAAA,EAC3E6H,KAAA,IAA8B;gBAAA,IAA7B;kBAAEnE,IAAI;kBAAE4B,KAAK;kBAAEwC;gBAAQ,CAAC,GAAAD,KAAA;gBACzB,MAAME,SAAS,GAAGpJ,UAAU,CAAC+E,IAAI,CAACpC,KAAK,EAAE;kBACvCzC,GAAG,EAAEiJ,OAAO;kBACZpD,GAAG,EAAEhB,IAAI,CAACjC,KAAK;kBACfuG,OAAO,EAAEA,CAAA,KAAMrC,MAAM,CAACjC,IAAI,EAAE,IAAI;gBAClC,CAAC,CAAC;gBAEF,OAAO7B,KAAK,CAAC6B,IAAI,GAAG;kBAClBA,IAAI;kBACJ4B,KAAK;kBACLhE,KAAK,EAAEyG;gBACT,CAAC,CAAC,IAAAX,YAAA,CAAAzJ,SAAA,EAAA0J,WAAA,CACgBU,SAAS;kBAAA;gBAAA;kBAErBE,OAAO,EAAEC,KAAA;oBAAA,IAAC;sBAAEC;oBAAW,CAAC,GAAAD,KAAA;oBAAA,OAAAd,YAAA,CAAAO,SAAA,SAElBrG,KAAK,CAACZ,QAAQ,IAAI,CAACY,KAAK,CAAClB,YAAY,GAAAgH,YAAA,CAAA9J,YAAA;sBAAA,OAE7BoG,IAAI,CAACjC,KAAK;sBAAA,cACH0G,UAAU;sBAAA,UACd,KAAK;sBAAA;oBAAA,WAGd9C,SAAS,EAEX3B,IAAI,CAACpC,KAAK,CAAC8G,aAAa,IAAAhB,YAAA,CAAA/J,OAAA;sBAAA,SACPqG,IAAI,CAACpC,KAAK,CAAC8G;oBAAa,QAC1C,EAEC1E,IAAI,CAACpC,KAAK,CAAC+G,WAAW,IAAAjB,YAAA,CAAA3J,KAAA;sBAAA,QACRiG,IAAI,CAACpC,KAAK,CAAC+G;oBAAW,QACrC;kBAAA;gBAEJ,EAGN;cACH;YAAC,IAGDxG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC;UAAA,EAE7B;QAAA,IAGDc,KAAK,CAAClB,KAAK,CAACyB,GAAG,CAAC,CAACQ,IAAI,EAAE4B,KAAK,KAAK;UACjC,SAASgD,WAAWA,CAAEhE,CAAQ,EAAE;YAC9BA,CAAC,CAACiE,eAAe,CAAC,CAAC;YACnBjE,CAAC,CAACM,cAAc,CAAC,CAAC;YAElBe,MAAM,CAACjC,IAAI,EAAE,KAAK,CAAC;UACrB;UAEA,MAAM8E,SAAS,GAAG;YAChB,eAAe,EAAEF,WAAW;YAC5B7D,SAASA,CAAEH,CAAgB,EAAE;cAC3B,IAAIA,CAAC,CAACI,GAAG,KAAK,OAAO,IAAIJ,CAAC,CAACI,GAAG,KAAK,GAAG,EAAE;cAExCJ,CAAC,CAACM,cAAc,CAAC,CAAC;cAClBN,CAAC,CAACiE,eAAe,CAAC,CAAC;cAEnBD,WAAW,CAAChE,CAAC,CAAC;YAChB,CAAC;YACDmE,WAAWA,CAAEnE,CAAa,EAAE;cAC1BA,CAAC,CAACM,cAAc,CAAC,CAAC;cAClBN,CAAC,CAACiE,eAAe,CAAC,CAAC;YACrB,CAAC;YACDvH,UAAU,EAAE,IAAI;YAChB,qBAAqB,EAAEqE;UACzB,CAAC;UAED,MAAMqD,OAAO,GAAG9B,QAAQ,GAAG,CAAC,CAAC/E,KAAK,CAACgF,IAAI,GAAG,CAAC,CAAChF,KAAK,CAACsB,SAAS;UAC3D,MAAMwF,WAAW,GAAGD,OAAO,GACvBzJ,gBAAgB,CAChB2H,QAAQ,GACJ/E,KAAK,CAACgF,IAAI,CAAE;YAAEnD,IAAI;YAAE4B,KAAK;YAAEhE,KAAK,EAAEkH;UAAU,CAAC,CAAC,GAC9C3G,KAAK,CAACsB,SAAS,CAAE;YAAEO,IAAI;YAAE4B;UAAM,CAAC,CACtC,CAAC,GACCD,SAAS;UAEb,IAAIqD,OAAO,IAAI,CAACC,WAAW,EAAE,OAAOtD,SAAS;UAE7C,OAAA+B,YAAA;YAAA,OACa1D,IAAI,CAACjC,KAAK;YAAA;UAAA,IACjBmF,QAAQ,GACR,CAAC/E,KAAK,CAACgF,IAAI,GAAAO,YAAA,CAAA7J,KAAA,EAAA8J,WAAA;YAAA;YAAA,YAGI/F,KAAK,CAAC1B,aAAa;YAAA;YAAA,QAEvB8D,IAAI,CAACyB,KAAK;YAAA,YACNzB,IAAI,CAACpC,KAAK,CAACuE;UAAQ,GACzB2C,SAAS,WAAApB,YAAA,CAAA5J,iBAAA;YAAA;YAAA,YAKJ;cACRD,KAAK,EAAE;gBACLqL,QAAQ,EAAEtH,KAAK,CAAC1B,aAAa;gBAC7B2C,IAAI,EAAE,OAAO;gBACbsG,IAAI,EAAEnF,IAAI,CAACyB;cACb;YACF;UAAC;YAAAnF,OAAA,EAAAA,CAAA,MAEC2I,WAAW;UAAA,EAEhB,GAEDA,WAAW,IAAAvB,YAAA;YAAA;UAAA,IAEL1D,IAAI,CAACyB,KAAK,EACV7D,KAAK,CAACZ,QAAQ,IAAK4E,KAAK,GAAG3C,KAAK,CAAClB,KAAK,CAACqB,MAAM,GAAG,CAAE,IAAAsE,YAAA;YAAA;UAAA,IAAA0B,gBAAA,OAEnD,EAGN;QAGP,CAAC,CAAC,EAEL;QACD,cAAc,EAAE,SAAAC,CAAA;UAAA,SAAAC,IAAA,GAAApD,SAAA,CAAA9C,MAAA,EAAImG,IAAI,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;YAAJF,IAAI,CAAAE,IAAA,IAAAvD,SAAA,CAAAuD,IAAA;UAAA;UAAA,OAAA/B,YAAA,CAAAO,SAAA,SAElB9F,KAAK,CAAC,cAAc,CAAC,GAAG,GAAGoH,IAAI,CAAC,EAChC3H,KAAK,CAACd,QAAQ,GAAA4G,YAAA,CAAA3J,KAAA;YAAA;YAAA,QAGL6D,KAAK,CAACd;UAAQ,WAErB6E,SAAS;QAAA;MAEhB;IAIT,CAAC,CAAC;IAEF,OAAOnH,WAAW,CAAC;MACjBkF,SAAS;MACT7C,IAAI;MACJoF;IACF,CAAC,EAAE5D,aAAa,CAAC;EACnB;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"VSelect.js","names":["VDialogTransition","VAvatar","VCheckboxBtn","VChip","VDefaultsProvider","VIcon","VList","VListItem","VMenu","makeVTextFieldProps","VTextField","VVirtualScroll","useScrolling","useForm","forwardRefs","IconValue","makeItemsProps","useItems","useLocale","useIsMousedown","useProxiedModel","makeTransitionProps","computed","mergeProps","nextTick","ref","shallowRef","watch","checkPrintable","ensureValidVNode","genericComponent","IN_BROWSER","matchesSelector","omit","propsFactory","useRender","wrapInArray","makeSelectProps","chips","Boolean","closableChips","closeText","type","String","default","openText","eager","hideNoData","hideSelected","listProps","Object","menu","menuIcon","menuProps","multiple","noDataText","openOnClear","itemColor","itemChildren","makeVSelectProps","modelValue","role","transition","component","VSelect","name","props","emits","focused","value","ue","setup","_ref","slots","t","vTextFieldRef","vMenuRef","vVirtualScrollRef","_menu","get","set","v","ΨopenChildren","size","items","transformIn","transformOut","model","transformed","counterValue","length","form","isMousedown","selectedValues","map","selection","isFocused","label","keyboardLookupPrefix","keyboardLookupLastTime","displayItems","filter","item","some","s","valueComparator","menuDisabled","isReadonly","isDisabled","computedMenuProps","activatorProps","listRef","listEvents","onClear","e","onMousedownControl","onListKeydown","onKeydown","key","includes","preventDefault","focus","KEYBOARD_LOOKUP_THRESHOLD","now","performance","toLowerCase","find","title","startsWith","undefined","index","indexOf","window","requestAnimationFrame","scrollToIndex","select","arguments","disabled","findIndex","add","splice","onBlur","$el","contains","relatedTarget","onAfterEnter","calculateVisibleItems","onAfterLeave","onFocusin","onModelUpdate","newVal","oldVal","hasChips","chip","hasList","isDirty","textFieldProps","filterProps","placeholder","persistentPlaceholder","_createVNode","_mergeProps","join","$event","externalValue","class","style","_Fragment","color","_ref2","itemRef","itemProps","onClick","raw","internalItem","prepend","_ref3","isSelected","prependAvatar","prependIcon","onChipClose","stopPropagation","slotProps","onMousedown","hasSlot","slotContent","closable","text","_createTextVNode","append-inner","_len","args","Array","_key"],"sources":["../../../src/components/VSelect/VSelect.tsx"],"sourcesContent":["// Styles\nimport './VSelect.sass'\n\n// Components\nimport { VDialogTransition } from '@/components/transitions'\nimport { VAvatar } from '@/components/VAvatar'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VChip } from '@/components/VChip'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VList, VListItem } from '@/components/VList'\nimport { VMenu } from '@/components/VMenu'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\nimport { VVirtualScroll } from '@/components/VVirtualScroll'\n\n// Composables\nimport { useScrolling } from './useScrolling'\nimport { useForm } from '@/composables/form'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { IconValue } from '@/composables/icons'\nimport { makeItemsProps, useItems } from '@/composables/list-items'\nimport { useLocale } from '@/composables/locale'\nimport { useIsMousedown } from '@/composables/mousedown'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeTransitionProps } from '@/composables/transition'\n\n// Utilities\nimport { computed, mergeProps, nextTick, ref, shallowRef, watch } from 'vue'\nimport {\n checkPrintable,\n ensureValidVNode,\n genericComponent,\n IN_BROWSER,\n matchesSelector,\n omit,\n propsFactory,\n useRender,\n wrapInArray,\n} from '@/util'\n\n// Types\nimport type { Component, PropType } from 'vue'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\nimport type { ListItem } from '@/composables/list-items'\nimport type { GenericProps, SelectItemKey } from '@/util'\n\ntype Primitive = string | number | boolean | symbol\n\ntype Val <T, ReturnObject extends boolean> = [T] extends [Primitive]\n ? T\n : (ReturnObject extends true ? T : any)\n\ntype Value <T, ReturnObject extends boolean, Multiple extends boolean> =\n Multiple extends true\n ? readonly Val<T, ReturnObject>[]\n : Val<T, ReturnObject> | null\n\nexport const makeSelectProps = propsFactory({\n chips: Boolean,\n closableChips: Boolean,\n closeText: {\n type: String,\n default: '$vuetify.close',\n },\n openText: {\n type: String,\n default: '$vuetify.open',\n },\n eager: Boolean,\n hideNoData: Boolean,\n hideSelected: Boolean,\n listProps: {\n type: Object as PropType<VList['$props']>,\n },\n menu: Boolean,\n menuIcon: {\n type: IconValue,\n default: '$dropdown',\n },\n menuProps: {\n type: Object as PropType<VMenu['$props']>,\n },\n multiple: Boolean,\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n openOnClear: Boolean,\n itemColor: String,\n\n ...makeItemsProps({ itemChildren: false }),\n}, 'Select')\n\nexport const makeVSelectProps = propsFactory({\n ...makeSelectProps(),\n ...omit(makeVTextFieldProps({\n modelValue: null,\n role: 'combobox',\n }), ['validationValue', 'dirty', 'appendInnerIcon']),\n ...makeTransitionProps({ transition: { component: VDialogTransition as Component } }),\n}, 'VSelect')\n\ntype ItemType<T> = T extends readonly (infer U)[] ? U : never\n\nexport const VSelect = genericComponent<new <\n T extends readonly any[],\n Item = ItemType<T>,\n ReturnObject extends boolean = false,\n Multiple extends boolean = false,\n V extends Value<Item, ReturnObject, Multiple> = Value<Item, ReturnObject, Multiple>\n>(\n props: {\n items?: T\n itemTitle?: SelectItemKey<ItemType<T>>\n itemValue?: SelectItemKey<ItemType<T>>\n itemProps?: SelectItemKey<ItemType<T>>\n returnObject?: ReturnObject\n multiple?: Multiple\n modelValue?: V | null\n 'onUpdate:modelValue'?: (value: V) => void\n },\n slots: Omit<VInputSlots & VFieldSlots, 'default'> & {\n item: { item: Item, internalItem: ListItem<Item>, index: number, props: Record<string, unknown> }\n chip: { item: Item, internalItem: ListItem<Item>, index: number, props: Record<string, unknown> }\n selection: { item: Item, internalItem: ListItem<Item>, index: number }\n 'prepend-item': never\n 'append-item': never\n 'no-data': never\n }\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VSelect',\n\n props: makeVSelectProps(),\n\n emits: {\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (value: any) => true,\n 'update:menu': (ue: boolean) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const vTextFieldRef = ref()\n const vMenuRef = ref<VMenu>()\n const vVirtualScrollRef = ref<VVirtualScroll>()\n const _menu = useProxiedModel(props, 'menu')\n const menu = computed({\n get: () => _menu.value,\n set: v => {\n if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return\n _menu.value = v\n },\n })\n const { items, transformIn, transformOut } = useItems(props)\n const model = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => transformIn(v === null ? [null] : wrapInArray(v)),\n v => {\n const transformed = transformOut(v)\n return props.multiple ? transformed : (transformed[0] ?? null)\n }\n )\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function' ? props.counterValue(model.value)\n : typeof props.counterValue === 'number' ? props.counterValue\n : model.value.length\n })\n const form = useForm(props)\n const { isMousedown } = useIsMousedown()\n const selectedValues = computed(() => model.value.map(selection => selection.value))\n const isFocused = shallowRef(false)\n const label = computed(() => menu.value ? props.closeText : props.openText)\n\n let keyboardLookupPrefix = ''\n let keyboardLookupLastTime: number\n\n const displayItems = computed(() => {\n if (props.hideSelected) {\n return items.value.filter(item => !model.value.some(s => props.valueComparator(s, item)))\n }\n return items.value\n })\n\n const menuDisabled = computed(() => (\n (props.hideNoData && !displayItems.value.length) ||\n form.isReadonly.value || form.isDisabled.value\n ))\n\n const computedMenuProps = computed(() => {\n return {\n ...props.menuProps,\n activatorProps: {\n ...(props.menuProps?.activatorProps || {}),\n 'aria-haspopup': 'listbox', // Set aria-haspopup to 'listbox'\n },\n }\n })\n\n const listRef = ref<VList>()\n const listEvents = useScrolling(listRef, vTextFieldRef)\n function onClear (e: MouseEvent) {\n if (props.openOnClear) {\n menu.value = true\n }\n }\n function onMousedownControl () {\n if (menuDisabled.value) return\n\n menu.value = !menu.value\n }\n function onListKeydown (e: KeyboardEvent) {\n if (checkPrintable(e)) {\n onKeydown(e)\n }\n }\n function onKeydown (e: KeyboardEvent) {\n if (!e.key || form.isReadonly.value) return\n\n if (['Enter', ' ', 'ArrowDown', 'ArrowUp', 'Home', 'End'].includes(e.key)) {\n e.preventDefault()\n }\n\n if (['Enter', 'ArrowDown', ' '].includes(e.key)) {\n menu.value = true\n }\n\n if (['Escape', 'Tab'].includes(e.key)) {\n menu.value = false\n }\n\n if (e.key === 'Home') {\n listRef.value?.focus('first')\n } else if (e.key === 'End') {\n listRef.value?.focus('last')\n }\n\n // html select hotkeys\n const KEYBOARD_LOOKUP_THRESHOLD = 1000 // milliseconds\n\n if (!checkPrintable(e)) return\n\n const now = performance.now()\n if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {\n keyboardLookupPrefix = ''\n }\n keyboardLookupPrefix += e.key.toLowerCase()\n keyboardLookupLastTime = now\n\n const item = items.value.find(item => item.title.toLowerCase().startsWith(keyboardLookupPrefix))\n if (item !== undefined) {\n model.value = [item]\n const index = displayItems.value.indexOf(item)\n IN_BROWSER && window.requestAnimationFrame(() => {\n index >= 0 && vVirtualScrollRef.value?.scrollToIndex(index)\n })\n }\n }\n\n /** @param set - null means toggle */\n function select (item: ListItem, set: boolean | null = true) {\n if (item.props.disabled) return\n\n if (props.multiple) {\n const index = model.value.findIndex(selection => props.valueComparator(selection.value, item.value))\n const add = set == null ? !~index : set\n\n if (~index) {\n const value = add ? [...model.value, item] : [...model.value]\n value.splice(index, 1)\n model.value = value\n } else if (add) {\n model.value = [...model.value, item]\n }\n } else {\n const add = set !== false\n model.value = add ? [item] : []\n\n nextTick(() => {\n menu.value = false\n })\n }\n }\n function onBlur (e: FocusEvent) {\n if (!listRef.value?.$el.contains(e.relatedTarget as HTMLElement) && !isMousedown.value) {\n menu.value = false\n }\n }\n function onAfterEnter () {\n if (props.eager) {\n vVirtualScrollRef.value?.calculateVisibleItems()\n }\n }\n function onAfterLeave () {\n if (isFocused.value) {\n vTextFieldRef.value?.focus()\n }\n }\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n }\n function onModelUpdate (v: any) {\n if (v == null) model.value = []\n else if (matchesSelector(vTextFieldRef.value, ':autofill') || matchesSelector(vTextFieldRef.value, ':-webkit-autofill')) {\n const item = items.value.find(item => item.title === v)\n if (item) {\n select(item)\n }\n } else if (vTextFieldRef.value) {\n vTextFieldRef.value.value = ''\n }\n }\n\n watch(menu, () => {\n if (!props.hideSelected && menu.value && model.value.length) {\n const index = displayItems.value.findIndex(\n item => model.value.some(s => props.valueComparator(s.value, item.value))\n )\n IN_BROWSER && window.requestAnimationFrame(() => {\n index >= 0 && vVirtualScrollRef.value?.scrollToIndex(index)\n })\n }\n })\n\n watch(() => props.items, (newVal, oldVal) => {\n if (menu.value) return\n\n if (isFocused.value && !oldVal.length && newVal.length) {\n menu.value = true\n }\n })\n\n useRender(() => {\n const hasChips = !!(props.chips || slots.chip)\n const hasList = !!(\n (!props.hideNoData || displayItems.value.length) ||\n slots['prepend-item'] ||\n slots['append-item'] ||\n slots['no-data']\n )\n const isDirty = model.value.length > 0\n const textFieldProps = VTextField.filterProps(props)\n\n const placeholder = isDirty || (\n !isFocused.value &&\n props.label &&\n !props.persistentPlaceholder\n ) ? undefined : props.placeholder\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n { ...textFieldProps }\n modelValue={ model.value.map(v => v.props.value).join(', ') }\n onUpdate:modelValue={ onModelUpdate }\n v-model:focused={ isFocused.value }\n validationValue={ model.externalValue }\n counterValue={ counterValue.value }\n dirty={ isDirty }\n class={[\n 'v-select',\n {\n 'v-select--active-menu': menu.value,\n 'v-select--chips': !!props.chips,\n [`v-select--${props.multiple ? 'multiple' : 'single'}`]: true,\n 'v-select--selected': model.value.length,\n 'v-select--selection-slot': !!slots.selection,\n },\n props.class,\n ]}\n style={ props.style }\n inputmode=\"none\"\n placeholder={ placeholder }\n onClick:clear={ onClear }\n onMousedown:control={ onMousedownControl }\n onBlur={ onBlur }\n onKeydown={ onKeydown }\n aria-label={ t(label.value) }\n title={ t(label.value) }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n ref={ vMenuRef }\n v-model={ menu.value }\n activator=\"parent\"\n contentClass=\"v-select__content\"\n disabled={ menuDisabled.value }\n eager={ props.eager }\n maxHeight={ 310 }\n openOnClick={ false }\n closeOnContentClick={ false }\n transition={ props.transition }\n onAfterEnter={ onAfterEnter }\n onAfterLeave={ onAfterLeave }\n { ...computedMenuProps.value }\n >\n { hasList && (\n <VList\n ref={ listRef }\n selected={ selectedValues.value }\n selectStrategy={ props.multiple ? 'independent' : 'single-independent' }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n onKeydown={ onListKeydown }\n onFocusin={ onFocusin }\n tabindex=\"-1\"\n aria-live=\"polite\"\n color={ props.itemColor ?? props.color }\n { ...listEvents }\n { ...props.listProps }\n >\n { slots['prepend-item']?.() }\n\n { !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? (\n <VListItem key=\"no-data\" title={ t(props.noDataText) } />\n ))}\n\n <VVirtualScroll ref={ vVirtualScrollRef } renderless items={ displayItems.value } itemKey=\"value\">\n { ({ item, index, itemRef }) => {\n const itemProps = mergeProps(item.props, {\n ref: itemRef,\n key: item.value,\n onClick: () => select(item, null),\n })\n\n return slots.item?.({\n item: item.raw,\n internalItem: item,\n index,\n props: itemProps,\n }) ?? (\n <VListItem { ...itemProps } role=\"option\">\n {{\n prepend: ({ isSelected }) => (\n <>\n { props.multiple && !props.hideSelected ? (\n <VCheckboxBtn\n key={ item.value }\n modelValue={ isSelected }\n ripple={ false }\n tabindex=\"-1\"\n />\n ) : undefined }\n\n { item.props.prependAvatar && (\n <VAvatar image={ item.props.prependAvatar } />\n )}\n\n { item.props.prependIcon && (\n <VIcon icon={ item.props.prependIcon } />\n )}\n </>\n ),\n }}\n </VListItem>\n )\n }}\n </VVirtualScroll>\n\n { slots['append-item']?.() }\n </VList>\n )}\n </VMenu>\n\n { model.value.map((item, index) => {\n function onChipClose (e: Event) {\n e.stopPropagation()\n e.preventDefault()\n\n select(item, false)\n }\n\n const slotProps = {\n 'onClick:close': onChipClose,\n onKeydown (e: KeyboardEvent) {\n if (e.key !== 'Enter' && e.key !== ' ') return\n\n e.preventDefault()\n e.stopPropagation()\n\n onChipClose(e)\n },\n onMousedown (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n },\n modelValue: true,\n 'onUpdate:modelValue': undefined,\n }\n\n const hasSlot = hasChips ? !!slots.chip : !!slots.selection\n const slotContent = hasSlot\n ? ensureValidVNode(\n hasChips\n ? slots.chip!({ item: item.raw, internalItem: item, index, props: slotProps })\n : slots.selection!({ item: item.raw, internalItem: item, index })\n )\n : undefined\n\n if (hasSlot && !slotContent) return undefined\n\n return (\n <div key={ item.value } class=\"v-select__selection\">\n { hasChips ? (\n !slots.chip ? (\n <VChip\n key=\"chip\"\n closable={ props.closableChips }\n size=\"small\"\n text={ item.title }\n disabled={ item.props.disabled }\n { ...slotProps }\n />\n ) : (\n <VDefaultsProvider\n key=\"chip-defaults\"\n defaults={{\n VChip: {\n closable: props.closableChips,\n size: 'small',\n text: item.title,\n },\n }}\n >\n { slotContent }\n </VDefaultsProvider>\n )\n ) : (\n slotContent ?? (\n <span class=\"v-select__selection-text\">\n { item.title }\n { props.multiple && (index < model.value.length - 1) && (\n <span class=\"v-select__selection-comma\">,</span>\n )}\n </span>\n )\n )}\n </div>\n )\n })}\n </>\n ),\n 'append-inner': (...args) => (\n <>\n { slots['append-inner']?.(...args) }\n { props.menuIcon ? (\n <VIcon\n class=\"v-select__menu-icon\"\n icon={ props.menuIcon }\n />\n ) : undefined }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({\n isFocused,\n menu,\n select,\n }, vTextFieldRef)\n },\n})\n\nexport type VSelect = InstanceType<typeof VSelect>\n"],"mappings":"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","ignoreList":[]}
@@ -16,7 +16,7 @@ export const createVuetify = function () {
16
16
  ...options
17
17
  });
18
18
  };
19
- export const version = "3.7.10-next.2025-02-04";
19
+ export const version = "3.7.10-next.2025-02-05";
20
20
  createVuetify.version = version;
21
21
  export { blueprints, components, directives };
22
22
  export * from "./composables/index.js";
@@ -490,52 +490,45 @@ declare module 'vue' {
490
490
  $children?: VNodeChild
491
491
  }
492
492
  export interface GlobalComponents {
493
+ VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
493
494
  VApp: typeof import('vuetify/components')['VApp']
494
495
  VAlert: typeof import('vuetify/components')['VAlert']
495
496
  VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
496
- VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
497
- VAppBar: typeof import('vuetify/components')['VAppBar']
498
- VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
499
- VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
497
+ VAvatar: typeof import('vuetify/components')['VAvatar']
500
498
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
501
499
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
502
500
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
503
- VBanner: typeof import('vuetify/components')['VBanner']
504
- VBannerActions: typeof import('vuetify/components')['VBannerActions']
505
- VBannerText: typeof import('vuetify/components')['VBannerText']
506
- VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
507
501
  VBadge: typeof import('vuetify/components')['VBadge']
508
- VAvatar: typeof import('vuetify/components')['VAvatar']
509
502
  VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
510
- VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
511
- VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
512
- VCarousel: typeof import('vuetify/components')['VCarousel']
513
- VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
514
503
  VBtn: typeof import('vuetify/components')['VBtn']
504
+ VBanner: typeof import('vuetify/components')['VBanner']
505
+ VBannerActions: typeof import('vuetify/components')['VBannerActions']
506
+ VBannerText: typeof import('vuetify/components')['VBannerText']
515
507
  VCard: typeof import('vuetify/components')['VCard']
516
508
  VCardActions: typeof import('vuetify/components')['VCardActions']
517
509
  VCardItem: typeof import('vuetify/components')['VCardItem']
518
510
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
519
511
  VCardText: typeof import('vuetify/components')['VCardText']
520
512
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
521
- VChip: typeof import('vuetify/components')['VChip']
513
+ VCarousel: typeof import('vuetify/components')['VCarousel']
514
+ VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
515
+ VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
516
+ VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
517
+ VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
518
+ VChipGroup: typeof import('vuetify/components')['VChipGroup']
522
519
  VCheckbox: typeof import('vuetify/components')['VCheckbox']
523
520
  VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
524
- VCode: typeof import('vuetify/components')['VCode']
525
- VChipGroup: typeof import('vuetify/components')['VChipGroup']
526
- VCounter: typeof import('vuetify/components')['VCounter']
521
+ VChip: typeof import('vuetify/components')['VChip']
527
522
  VColorPicker: typeof import('vuetify/components')['VColorPicker']
528
523
  VCombobox: typeof import('vuetify/components')['VCombobox']
524
+ VCode: typeof import('vuetify/components')['VCode']
529
525
  VDatePicker: typeof import('vuetify/components')['VDatePicker']
530
526
  VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
531
527
  VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
532
528
  VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
533
529
  VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
534
530
  VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
535
- VDivider: typeof import('vuetify/components')['VDivider']
536
- VDialog: typeof import('vuetify/components')['VDialog']
537
- VField: typeof import('vuetify/components')['VField']
538
- VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
531
+ VCounter: typeof import('vuetify/components')['VCounter']
539
532
  VEmptyState: typeof import('vuetify/components')['VEmptyState']
540
533
  VDataTable: typeof import('vuetify/components')['VDataTable']
541
534
  VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
@@ -544,26 +537,27 @@ declare module 'vue' {
544
537
  VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
545
538
  VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
546
539
  VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
540
+ VDialog: typeof import('vuetify/components')['VDialog']
541
+ VDivider: typeof import('vuetify/components')['VDivider']
542
+ VFab: typeof import('vuetify/components')['VFab']
547
543
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
548
544
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
549
545
  VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
550
546
  VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
551
- VFooter: typeof import('vuetify/components')['VFooter']
552
- VFab: typeof import('vuetify/components')['VFab']
553
547
  VFileInput: typeof import('vuetify/components')['VFileInput']
554
- VInput: typeof import('vuetify/components')['VInput']
555
548
  VIcon: typeof import('vuetify/components')['VIcon']
556
549
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
557
550
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
558
551
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
559
552
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
553
+ VFooter: typeof import('vuetify/components')['VFooter']
554
+ VField: typeof import('vuetify/components')['VField']
555
+ VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
556
+ VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
560
557
  VItemGroup: typeof import('vuetify/components')['VItemGroup']
561
558
  VItem: typeof import('vuetify/components')['VItem']
559
+ VInput: typeof import('vuetify/components')['VInput']
562
560
  VImg: typeof import('vuetify/components')['VImg']
563
- VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
564
- VKbd: typeof import('vuetify/components')['VKbd']
565
- VMain: typeof import('vuetify/components')['VMain']
566
- VMessages: typeof import('vuetify/components')['VMessages']
567
561
  VLabel: typeof import('vuetify/components')['VLabel']
568
562
  VList: typeof import('vuetify/components')['VList']
569
563
  VListGroup: typeof import('vuetify/components')['VListGroup']
@@ -574,70 +568,73 @@ declare module 'vue' {
574
568
  VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
575
569
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
576
570
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
571
+ VMain: typeof import('vuetify/components')['VMain']
572
+ VKbd: typeof import('vuetify/components')['VKbd']
573
+ VMessages: typeof import('vuetify/components')['VMessages']
574
+ VMenu: typeof import('vuetify/components')['VMenu']
575
+ VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
577
576
  VOverlay: typeof import('vuetify/components')['VOverlay']
577
+ VOtpInput: typeof import('vuetify/components')['VOtpInput']
578
+ VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
579
+ VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
578
580
  VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
579
- VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
580
581
  VPagination: typeof import('vuetify/components')['VPagination']
581
- VMenu: typeof import('vuetify/components')['VMenu']
582
- VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
583
- VOtpInput: typeof import('vuetify/components')['VOtpInput']
584
582
  VRating: typeof import('vuetify/components')['VRating']
585
- VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
586
- VSheet: typeof import('vuetify/components')['VSheet']
587
- VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
588
583
  VSelect: typeof import('vuetify/components')['VSelect']
589
- VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
584
+ VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
585
+ VSheet: typeof import('vuetify/components')['VSheet']
586
+ VSnackbar: typeof import('vuetify/components')['VSnackbar']
590
587
  VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
591
588
  VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
592
- VSnackbar: typeof import('vuetify/components')['VSnackbar']
589
+ VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
593
590
  VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
594
- VSwitch: typeof import('vuetify/components')['VSwitch']
595
- VTab: typeof import('vuetify/components')['VTab']
596
- VTabs: typeof import('vuetify/components')['VTabs']
597
- VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
598
- VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
599
591
  VSlider: typeof import('vuetify/components')['VSlider']
600
- VTable: typeof import('vuetify/components')['VTable']
601
592
  VStepper: typeof import('vuetify/components')['VStepper']
602
593
  VStepperActions: typeof import('vuetify/components')['VStepperActions']
603
594
  VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
604
595
  VStepperItem: typeof import('vuetify/components')['VStepperItem']
605
596
  VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
606
597
  VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
598
+ VTab: typeof import('vuetify/components')['VTab']
599
+ VTabs: typeof import('vuetify/components')['VTabs']
600
+ VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
601
+ VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
607
602
  VSystemBar: typeof import('vuetify/components')['VSystemBar']
608
- VTextarea: typeof import('vuetify/components')['VTextarea']
609
- VTextField: typeof import('vuetify/components')['VTextField']
610
603
  VToolbar: typeof import('vuetify/components')['VToolbar']
611
604
  VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
612
605
  VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
613
- VTimeline: typeof import('vuetify/components')['VTimeline']
614
- VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
606
+ VTextarea: typeof import('vuetify/components')['VTextarea']
607
+ VTextField: typeof import('vuetify/components')['VTextField']
608
+ VSwitch: typeof import('vuetify/components')['VSwitch']
609
+ VTable: typeof import('vuetify/components')['VTable']
615
610
  VTooltip: typeof import('vuetify/components')['VTooltip']
616
611
  VWindow: typeof import('vuetify/components')['VWindow']
617
612
  VWindowItem: typeof import('vuetify/components')['VWindowItem']
618
- VDataIterator: typeof import('vuetify/components')['VDataIterator']
613
+ VTimeline: typeof import('vuetify/components')['VTimeline']
614
+ VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
619
615
  VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
616
+ VDataIterator: typeof import('vuetify/components')['VDataIterator']
620
617
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
618
+ VForm: typeof import('vuetify/components')['VForm']
621
619
  VContainer: typeof import('vuetify/components')['VContainer']
622
620
  VCol: typeof import('vuetify/components')['VCol']
623
621
  VRow: typeof import('vuetify/components')['VRow']
624
622
  VSpacer: typeof import('vuetify/components')['VSpacer']
625
623
  VHover: typeof import('vuetify/components')['VHover']
626
- VForm: typeof import('vuetify/components')['VForm']
627
- VLazy: typeof import('vuetify/components')['VLazy']
628
624
  VLayout: typeof import('vuetify/components')['VLayout']
629
625
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
626
+ VLazy: typeof import('vuetify/components')['VLazy']
630
627
  VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
631
628
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
632
629
  VParallax: typeof import('vuetify/components')['VParallax']
633
630
  VRadio: typeof import('vuetify/components')['VRadio']
634
- VResponsive: typeof import('vuetify/components')['VResponsive']
635
631
  VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
632
+ VResponsive: typeof import('vuetify/components')['VResponsive']
636
633
  VSparkline: typeof import('vuetify/components')['VSparkline']
637
634
  VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
638
635
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
639
- VValidation: typeof import('vuetify/components')['VValidation']
640
636
  VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
637
+ VValidation: typeof import('vuetify/components')['VValidation']
641
638
  VFabTransition: typeof import('vuetify/components')['VFabTransition']
642
639
  VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
643
640
  VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
@@ -654,26 +651,29 @@ declare module 'vue' {
654
651
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
655
652
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
656
653
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
654
+ VAppBar: typeof import('vuetify/components')['VAppBar']
655
+ VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
656
+ VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
657
+ VNumberInput: typeof import('vuetify/labs/components')['VNumberInput']
658
+ VPicker: typeof import('vuetify/labs/components')['VPicker']
659
+ VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
657
660
  VCalendar: typeof import('vuetify/labs/components')['VCalendar']
658
661
  VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
659
662
  VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
660
663
  VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
661
664
  VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
662
665
  VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
663
- VNumberInput: typeof import('vuetify/labs/components')['VNumberInput']
664
- VPicker: typeof import('vuetify/labs/components')['VPicker']
665
- VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
666
666
  VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
667
667
  VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
668
668
  VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
669
669
  VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
670
670
  VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
671
- VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
672
- VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
673
- VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
674
671
  VTreeview: typeof import('vuetify/labs/components')['VTreeview']
675
672
  VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
676
673
  VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
674
+ VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
675
+ VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
676
+ VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
677
677
  VDateInput: typeof import('vuetify/labs/components')['VDateInput']
678
678
  VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
679
679
  VSnackbarQueue: typeof import('vuetify/labs/components')['VSnackbarQueue']
package/lib/framework.js CHANGED
@@ -107,7 +107,7 @@ export function createVuetify() {
107
107
  };
108
108
  });
109
109
  }
110
- export const version = "3.7.10-next.2025-02-04";
110
+ export const version = "3.7.10-next.2025-02-05";
111
111
  createVuetify.version = version;
112
112
 
113
113
  // Vue's inject() can only be used in setup
@@ -15,7 +15,6 @@
15
15
 
16
16
  html {
17
17
  box-sizing: border-box;
18
- overflow-y: scroll; /* All browsers without overlaying scrollbars */
19
18
  -webkit-text-size-adjust: 100%; /* Prevent adjustments of font size after orientation changes in iOS */
20
19
  word-break: normal;
21
20
  -moz-tab-size: 4;
@@ -2371,7 +2371,6 @@
2371
2371
  # ================================================================= */
2372
2372
  html {
2373
2373
  box-sizing: border-box;
2374
- overflow-y: scroll; /* All browsers without overlaying scrollbars */
2375
2374
  -webkit-text-size-adjust: 100%; /* Prevent adjustments of font size after orientation changes in iOS */
2376
2375
  word-break: normal;
2377
2376
  -moz-tab-size: 4;