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

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 +3632 -3632
  3. package/dist/json/importMap-labs.json +20 -20
  4. package/dist/json/importMap.json +174 -174
  5. package/dist/json/web-types.json +6553 -6517
  6. package/dist/vuetify-labs.css +3094 -3095
  7. package/dist/vuetify-labs.d.ts +295 -688
  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 +4486 -4487
  13. package/dist/vuetify.d.ts +350 -743
  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 +61 -61
  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":"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","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-06";
20
20
  createVuetify.version = version;
21
21
  export { blueprints, components, directives };
22
22
  export * from "./composables/index.js";
@@ -494,49 +494,44 @@ declare module 'vue' {
494
494
  VAlert: typeof import('vuetify/components')['VAlert']
495
495
  VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
496
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']
500
- VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
501
- VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
502
- VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
503
497
  VBanner: typeof import('vuetify/components')['VBanner']
504
498
  VBannerActions: typeof import('vuetify/components')['VBannerActions']
505
499
  VBannerText: typeof import('vuetify/components')['VBannerText']
506
500
  VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
507
- VBadge: typeof import('vuetify/components')['VBadge']
508
- VAvatar: typeof import('vuetify/components')['VAvatar']
509
501
  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']
502
+ VAvatar: typeof import('vuetify/components')['VAvatar']
503
+ VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
504
+ VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
505
+ VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
506
+ VBadge: typeof import('vuetify/components')['VBadge']
514
507
  VBtn: typeof import('vuetify/components')['VBtn']
508
+ VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
515
509
  VCard: typeof import('vuetify/components')['VCard']
516
510
  VCardActions: typeof import('vuetify/components')['VCardActions']
517
511
  VCardItem: typeof import('vuetify/components')['VCardItem']
518
512
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
519
513
  VCardText: typeof import('vuetify/components')['VCardText']
520
514
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
515
+ VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
516
+ VCarousel: typeof import('vuetify/components')['VCarousel']
517
+ VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
518
+ VChipGroup: typeof import('vuetify/components')['VChipGroup']
519
+ VAppBar: typeof import('vuetify/components')['VAppBar']
520
+ VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
521
+ VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
522
+ VCombobox: typeof import('vuetify/components')['VCombobox']
523
+ VCode: typeof import('vuetify/components')['VCode']
521
524
  VChip: typeof import('vuetify/components')['VChip']
522
525
  VCheckbox: typeof import('vuetify/components')['VCheckbox']
523
526
  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']
527
527
  VColorPicker: typeof import('vuetify/components')['VColorPicker']
528
- VCombobox: typeof import('vuetify/components')['VCombobox']
528
+ VCounter: typeof import('vuetify/components')['VCounter']
529
529
  VDatePicker: typeof import('vuetify/components')['VDatePicker']
530
530
  VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
531
531
  VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
532
532
  VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
533
533
  VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
534
534
  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']
539
- VEmptyState: typeof import('vuetify/components')['VEmptyState']
540
535
  VDataTable: typeof import('vuetify/components')['VDataTable']
541
536
  VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
542
537
  VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
@@ -544,27 +539,33 @@ declare module 'vue' {
544
539
  VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
545
540
  VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
546
541
  VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
542
+ VDialog: typeof import('vuetify/components')['VDialog']
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']
547
+ VDivider: typeof import('vuetify/components')['VDivider']
548
+ VField: typeof import('vuetify/components')['VField']
549
+ VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
550
+ VEmptyState: typeof import('vuetify/components')['VEmptyState']
551
551
  VFooter: typeof import('vuetify/components')['VFooter']
552
- VFab: typeof import('vuetify/components')['VFab']
553
552
  VFileInput: typeof import('vuetify/components')['VFileInput']
554
- VInput: typeof import('vuetify/components')['VInput']
553
+ VFab: typeof import('vuetify/components')['VFab']
554
+ VLabel: typeof import('vuetify/components')['VLabel']
555
+ VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
556
+ VItemGroup: typeof import('vuetify/components')['VItemGroup']
557
+ VItem: typeof import('vuetify/components')['VItem']
558
+ VImg: typeof import('vuetify/components')['VImg']
555
559
  VIcon: typeof import('vuetify/components')['VIcon']
556
560
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
557
561
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
558
562
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
559
563
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
560
- VItemGroup: typeof import('vuetify/components')['VItemGroup']
561
- VItem: typeof import('vuetify/components')['VItem']
562
- VImg: typeof import('vuetify/components')['VImg']
563
- VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
564
- VKbd: typeof import('vuetify/components')['VKbd']
564
+ VMenu: typeof import('vuetify/components')['VMenu']
565
+ VInput: typeof import('vuetify/components')['VInput']
565
566
  VMain: typeof import('vuetify/components')['VMain']
566
567
  VMessages: typeof import('vuetify/components')['VMessages']
567
- VLabel: typeof import('vuetify/components')['VLabel']
568
+ VKbd: typeof import('vuetify/components')['VKbd']
568
569
  VList: typeof import('vuetify/components')['VList']
569
570
  VListGroup: typeof import('vuetify/components')['VListGroup']
570
571
  VListImg: typeof import('vuetify/components')['VListImg']
@@ -574,68 +575,67 @@ declare module 'vue' {
574
575
  VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
575
576
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
576
577
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
578
+ VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
577
579
  VOverlay: typeof import('vuetify/components')['VOverlay']
578
580
  VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
579
- VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
580
- VPagination: typeof import('vuetify/components')['VPagination']
581
- VMenu: typeof import('vuetify/components')['VMenu']
582
- VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
583
581
  VOtpInput: typeof import('vuetify/components')['VOtpInput']
582
+ VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
583
+ VPagination: typeof import('vuetify/components')['VPagination']
584
584
  VRating: typeof import('vuetify/components')['VRating']
585
585
  VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
586
- VSheet: typeof import('vuetify/components')['VSheet']
587
- VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
588
586
  VSelect: typeof import('vuetify/components')['VSelect']
589
- VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
590
- VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
591
- VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
592
- VSnackbar: typeof import('vuetify/components')['VSnackbar']
593
- 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
- VSlider: typeof import('vuetify/components')['VSlider']
600
- VTable: typeof import('vuetify/components')['VTable']
587
+ VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
588
+ VSheet: typeof import('vuetify/components')['VSheet']
601
589
  VStepper: typeof import('vuetify/components')['VStepper']
602
590
  VStepperActions: typeof import('vuetify/components')['VStepperActions']
603
591
  VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
604
592
  VStepperItem: typeof import('vuetify/components')['VStepperItem']
605
593
  VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
606
594
  VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
595
+ VSnackbar: typeof import('vuetify/components')['VSnackbar']
596
+ VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
597
+ VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
598
+ VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
599
+ VSlider: typeof import('vuetify/components')['VSlider']
607
600
  VSystemBar: typeof import('vuetify/components')['VSystemBar']
608
- VTextarea: typeof import('vuetify/components')['VTextarea']
601
+ VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
602
+ VTab: typeof import('vuetify/components')['VTab']
603
+ VTabs: typeof import('vuetify/components')['VTabs']
604
+ VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
605
+ VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
606
+ VSwitch: typeof import('vuetify/components')['VSwitch']
609
607
  VTextField: typeof import('vuetify/components')['VTextField']
610
- VToolbar: typeof import('vuetify/components')['VToolbar']
611
- VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
612
- VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
608
+ VTable: typeof import('vuetify/components')['VTable']
609
+ VTextarea: typeof import('vuetify/components')['VTextarea']
613
610
  VTimeline: typeof import('vuetify/components')['VTimeline']
614
611
  VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
615
612
  VTooltip: typeof import('vuetify/components')['VTooltip']
613
+ VToolbar: typeof import('vuetify/components')['VToolbar']
614
+ VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
615
+ VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
616
616
  VWindow: typeof import('vuetify/components')['VWindow']
617
617
  VWindowItem: typeof import('vuetify/components')['VWindowItem']
618
- VDataIterator: typeof import('vuetify/components')['VDataIterator']
619
618
  VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
619
+ VDataIterator: typeof import('vuetify/components')['VDataIterator']
620
620
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
621
621
  VContainer: typeof import('vuetify/components')['VContainer']
622
622
  VCol: typeof import('vuetify/components')['VCol']
623
623
  VRow: typeof import('vuetify/components')['VRow']
624
624
  VSpacer: typeof import('vuetify/components')['VSpacer']
625
- VHover: typeof import('vuetify/components')['VHover']
626
625
  VForm: typeof import('vuetify/components')['VForm']
627
- VLazy: typeof import('vuetify/components')['VLazy']
626
+ VHover: typeof import('vuetify/components')['VHover']
628
627
  VLayout: typeof import('vuetify/components')['VLayout']
629
628
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
629
+ VLazy: typeof import('vuetify/components')['VLazy']
630
630
  VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
631
631
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
632
632
  VParallax: typeof import('vuetify/components')['VParallax']
633
633
  VRadio: typeof import('vuetify/components')['VRadio']
634
- VResponsive: typeof import('vuetify/components')['VResponsive']
635
634
  VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
636
- VSparkline: typeof import('vuetify/components')['VSparkline']
635
+ VResponsive: typeof import('vuetify/components')['VResponsive']
637
636
  VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
638
637
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
638
+ VSparkline: typeof import('vuetify/components')['VSparkline']
639
639
  VValidation: typeof import('vuetify/components')['VValidation']
640
640
  VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
641
641
  VFabTransition: typeof import('vuetify/components')['VFabTransition']
@@ -660,17 +660,17 @@ declare module 'vue' {
660
660
  VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
661
661
  VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
662
662
  VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
663
+ VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
664
+ VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
663
665
  VNumberInput: typeof import('vuetify/labs/components')['VNumberInput']
666
+ VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
667
+ VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
668
+ VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
664
669
  VPicker: typeof import('vuetify/labs/components')['VPicker']
665
670
  VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
666
- VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
667
- VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
668
671
  VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
669
672
  VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
670
673
  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
674
  VTreeview: typeof import('vuetify/labs/components')['VTreeview']
675
675
  VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
676
676
  VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
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-06";
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;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vuetify/nightly",
3
3
  "description": "Vue Material Component Framework",
4
- "version": "3.7.10-next.2025-02-04",
4
+ "version": "3.7.10-next.2025-02-06",
5
5
  "author": {
6
6
  "name": "John Leider",
7
7
  "email": "john@vuetifyjs.com"