@vuetify/nightly 3.8.8-master.2025-06-07 → 3.8.8-master.2025-06-10

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 (58) hide show
  1. package/CHANGELOG.md +11 -3
  2. package/dist/json/attributes.json +2832 -2832
  3. package/dist/json/importMap-labs.json +26 -26
  4. package/dist/json/importMap.json +162 -162
  5. package/dist/json/web-types.json +5438 -5438
  6. package/dist/vuetify-labs.cjs +98 -34
  7. package/dist/vuetify-labs.css +4072 -4072
  8. package/dist/vuetify-labs.d.ts +58 -62
  9. package/dist/vuetify-labs.esm.js +99 -35
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +98 -34
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +91 -30
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +4746 -4746
  16. package/dist/vuetify.d.ts +58 -62
  17. package/dist/vuetify.esm.js +92 -31
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +91 -30
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +964 -958
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/components/VDataTable/VDataTableColumn.js +1 -0
  25. package/lib/components/VDataTable/VDataTableColumn.js.map +1 -1
  26. package/lib/components/VDataTable/VDataTableHeaders.js +8 -1
  27. package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
  28. package/lib/components/VDatePicker/VDatePickerMonth.js +2 -2
  29. package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
  30. package/lib/components/VFileInput/VFileInput.js +8 -3
  31. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  32. package/lib/components/VSelect/VSelect.js +6 -5
  33. package/lib/components/VSelect/VSelect.js.map +1 -1
  34. package/lib/components/VSlider/VSliderThumb.js +1 -1
  35. package/lib/components/VSlider/VSliderThumb.js.map +1 -1
  36. package/lib/composables/date/adapters/vuetify.js +1 -1
  37. package/lib/composables/date/adapters/vuetify.js.map +1 -1
  38. package/lib/composables/date/date.d.ts +1 -4
  39. package/lib/composables/date/date.js +13 -14
  40. package/lib/composables/date/date.js.map +1 -1
  41. package/lib/composables/fileDrop.d.ts +4 -0
  42. package/lib/composables/fileDrop.js +50 -0
  43. package/lib/composables/fileDrop.js.map +1 -0
  44. package/lib/composables/list-items.js +2 -2
  45. package/lib/composables/list-items.js.map +1 -1
  46. package/lib/entry-bundler.d.ts +0 -3
  47. package/lib/entry-bundler.js +1 -1
  48. package/lib/framework.d.ts +58 -62
  49. package/lib/framework.js +1 -1
  50. package/lib/labs/VDateInput/VDateInput.js +2 -1
  51. package/lib/labs/VDateInput/VDateInput.js.map +1 -1
  52. package/lib/labs/VFileUpload/VFileUpload.js +7 -3
  53. package/lib/labs/VFileUpload/VFileUpload.js.map +1 -1
  54. package/lib/labs/entry-bundler.d.ts +0 -3
  55. package/lib/util/helpers.d.ts +1 -1
  56. package/lib/util/helpers.js +0 -1
  57. package/lib/util/helpers.js.map +1 -1
  58. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"date.js","names":["useLocale","inject","reactive","watch","mergeDeep","VuetifyDateAdapter","DateModule","DateOptionsSymbol","Symbol","for","DateAdapterSymbol","createDate","options","locale","_options","adapter","af","bg","ca","ckb","cs","de","el","en","et","fa","fi","hr","hu","he","id","it","ja","ko","lv","lt","nl","no","pl","pt","ro","ru","sk","sl","srCyrl","srLatn","sv","th","tr","az","uk","vi","zhHans","zhHant","instance","createInstance","current","value","formats","Object","assign","createDateRange","start","stop","diff","getDiff","datesInRange","i","nextDate","addDays","push","endOfDay","useDate","Error"],"sources":["../../../src/composables/date/date.ts"],"sourcesContent":["// Composables\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { inject, reactive, watch } from 'vue'\nimport { mergeDeep } from '@/util'\n\n// Types\nimport type { InjectionKey } from 'vue'\nimport type { DateAdapter } from './DateAdapter'\nimport type { LocaleInstance } from '@/composables/locale'\n\n// Adapters\nimport { VuetifyDateAdapter } from './adapters/vuetify'\n\nexport interface DateInstance extends DateModule.InternalAdapter {\n locale?: any\n createDateRange: (start: unknown, stop?: unknown) => unknown[]\n}\n\n/** Supports module augmentation to specify date adapter types */\nexport namespace DateModule {\n interface Adapter {}\n\n export type InternalAdapter = {} extends Adapter ? DateAdapter : Adapter\n}\n\nexport type InternalDateOptions = {\n adapter: (new (options: { locale: any, formats?: any }) => DateInstance) | DateInstance\n formats?: Record<string, any>\n locale: Record<string, any>\n}\n\nexport type DateOptions = Partial<InternalDateOptions>\n\nexport const DateOptionsSymbol: InjectionKey<InternalDateOptions> = Symbol.for('vuetify:date-options')\nexport const DateAdapterSymbol: InjectionKey<DateInstance> = Symbol.for('vuetify:date-adapter')\n\nexport function createDate (options: DateOptions | undefined, locale: LocaleInstance) {\n const _options = mergeDeep({\n adapter: VuetifyDateAdapter,\n locale: {\n af: 'af-ZA',\n // ar: '', # not the same value for all variants\n bg: 'bg-BG',\n ca: 'ca-ES',\n ckb: '',\n cs: 'cs-CZ',\n de: 'de-DE',\n el: 'el-GR',\n en: 'en-US',\n // es: '', # not the same value for all variants\n et: 'et-EE',\n fa: 'fa-IR',\n fi: 'fi-FI',\n // fr: '', #not the same value for all variants\n hr: 'hr-HR',\n hu: 'hu-HU',\n he: 'he-IL',\n id: 'id-ID',\n it: 'it-IT',\n ja: 'ja-JP',\n ko: 'ko-KR',\n lv: 'lv-LV',\n lt: 'lt-LT',\n nl: 'nl-NL',\n no: 'no-NO',\n pl: 'pl-PL',\n pt: 'pt-PT',\n ro: 'ro-RO',\n ru: 'ru-RU',\n sk: 'sk-SK',\n sl: 'sl-SI',\n srCyrl: 'sr-SP',\n srLatn: 'sr-SP',\n sv: 'sv-SE',\n th: 'th-TH',\n tr: 'tr-TR',\n az: 'az-AZ',\n uk: 'uk-UA',\n vi: 'vi-VN',\n zhHans: 'zh-CN',\n zhHant: 'zh-TW',\n },\n }, options) as InternalDateOptions\n\n return {\n options: _options,\n instance: createInstance(_options, locale),\n }\n}\n\nfunction createInstance (options: InternalDateOptions, locale: LocaleInstance) {\n const instance = reactive(\n typeof options.adapter === 'function'\n // eslint-disable-next-line new-cap\n ? new options.adapter({\n locale: options.locale[locale.current.value] ?? locale.current.value,\n formats: options.formats,\n })\n : options.adapter\n )\n\n watch(locale.current, value => {\n instance.locale = options.locale[value] ?? value ?? instance.locale\n })\n\n return Object.assign(instance, {\n createDateRange (start: unknown, stop?: unknown) {\n const diff = instance.getDiff(stop ?? start, start, 'days')\n const datesInRange = [start]\n\n for (let i = 1; i < diff; i++) {\n const nextDate = instance.addDays(start, i)\n datesInRange.push(nextDate)\n }\n\n if (stop) {\n datesInRange.push(instance.endOfDay(stop))\n }\n\n return datesInRange\n },\n })\n}\n\nexport function useDate (): DateInstance {\n const options = inject(DateOptionsSymbol)\n\n if (!options) throw new Error('[Vuetify] Could not find injected date options')\n\n const locale = useLocale()\n\n return createInstance(options, locale)\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"date.js","names":["useLocale","inject","reactive","watch","mergeDeep","VuetifyDateAdapter","DateModule","DateOptionsSymbol","Symbol","for","DateAdapterSymbol","createDate","options","locale","_options","adapter","af","bg","ca","ckb","cs","de","el","en","et","fa","fi","hr","hu","he","id","it","ja","ko","lv","lt","nl","no","pl","pt","ro","ru","sk","sl","srCyrl","srLatn","sv","th","tr","az","uk","vi","zhHans","zhHant","instance","createInstance","createDateRange","start","stop","diff","getDiff","endOfDay","startOfDay","datesInRange","i","nextDate","addDays","push","current","value","formats","useDate","Error"],"sources":["../../../src/composables/date/date.ts"],"sourcesContent":["// Composables\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { inject, reactive, watch } from 'vue'\nimport { mergeDeep } from '@/util'\n\n// Types\nimport type { InjectionKey } from 'vue'\nimport type { DateAdapter } from './DateAdapter'\nimport type { LocaleInstance } from '@/composables/locale'\n\n// Adapters\nimport { VuetifyDateAdapter } from './adapters/vuetify'\n\nexport interface DateInstance extends DateModule.InternalAdapter {\n locale?: any\n}\n\n/** Supports module augmentation to specify date adapter types */\nexport namespace DateModule {\n interface Adapter {}\n\n export type InternalAdapter = {} extends Adapter ? DateAdapter : Adapter\n}\n\nexport type InternalDateOptions = {\n adapter: (new (options: { locale: any, formats?: any }) => DateInstance) | DateInstance\n formats?: Record<string, any>\n locale: Record<string, any>\n}\n\nexport type DateOptions = Partial<InternalDateOptions>\n\nexport const DateOptionsSymbol: InjectionKey<InternalDateOptions> = Symbol.for('vuetify:date-options')\nexport const DateAdapterSymbol: InjectionKey<DateInstance> = Symbol.for('vuetify:date-adapter')\n\nexport function createDate (options: DateOptions | undefined, locale: LocaleInstance) {\n const _options = mergeDeep({\n adapter: VuetifyDateAdapter,\n locale: {\n af: 'af-ZA',\n // ar: '', # not the same value for all variants\n bg: 'bg-BG',\n ca: 'ca-ES',\n ckb: '',\n cs: 'cs-CZ',\n de: 'de-DE',\n el: 'el-GR',\n en: 'en-US',\n // es: '', # not the same value for all variants\n et: 'et-EE',\n fa: 'fa-IR',\n fi: 'fi-FI',\n // fr: '', #not the same value for all variants\n hr: 'hr-HR',\n hu: 'hu-HU',\n he: 'he-IL',\n id: 'id-ID',\n it: 'it-IT',\n ja: 'ja-JP',\n ko: 'ko-KR',\n lv: 'lv-LV',\n lt: 'lt-LT',\n nl: 'nl-NL',\n no: 'no-NO',\n pl: 'pl-PL',\n pt: 'pt-PT',\n ro: 'ro-RO',\n ru: 'ru-RU',\n sk: 'sk-SK',\n sl: 'sl-SI',\n srCyrl: 'sr-SP',\n srLatn: 'sr-SP',\n sv: 'sv-SE',\n th: 'th-TH',\n tr: 'tr-TR',\n az: 'az-AZ',\n uk: 'uk-UA',\n vi: 'vi-VN',\n zhHans: 'zh-CN',\n zhHant: 'zh-TW',\n },\n }, options) as InternalDateOptions\n\n return {\n options: _options,\n instance: createInstance(_options, locale),\n }\n}\n\nexport function createDateRange (adapter: DateInstance, start: unknown, stop?: unknown) {\n const diff = adapter.getDiff(\n adapter.endOfDay(stop ?? start),\n adapter.startOfDay(start),\n 'days'\n )\n const datesInRange = [start]\n\n for (let i = 1; i < diff; i++) {\n const nextDate = adapter.addDays(start, i)\n datesInRange.push(nextDate)\n }\n\n if (stop) {\n datesInRange.push(adapter.endOfDay(stop))\n }\n\n return datesInRange\n}\n\nfunction createInstance (options: InternalDateOptions, locale: LocaleInstance) {\n const instance = reactive(\n typeof options.adapter === 'function'\n // eslint-disable-next-line new-cap\n ? new options.adapter({\n locale: options.locale[locale.current.value] ?? locale.current.value,\n formats: options.formats,\n })\n : options.adapter\n )\n\n watch(locale.current, value => {\n instance.locale = options.locale[value] ?? value ?? instance.locale\n })\n\n return instance\n}\n\nexport function useDate (): DateInstance {\n const options = inject(DateOptionsSymbol)\n\n if (!options) throw new Error('[Vuetify] Could not find injected date options')\n\n const locale = useLocale()\n\n return createInstance(options, locale)\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ export declare function useFileDrop(): {
2
+ handleDrop: (e: DragEvent) => Promise<File[]>;
3
+ hasFilesOrFolders: (e: DragEvent) => boolean;
4
+ };
@@ -0,0 +1,50 @@
1
+ // Types
2
+
3
+ export function useFileDrop() {
4
+ function hasFilesOrFolders(e) {
5
+ const entries = [...(e.dataTransfer?.items ?? [])].filter(x => x.kind === 'file').map(x => x.webkitGetAsEntry()).filter(Boolean);
6
+ return entries.length > 0 || [...(e.dataTransfer?.files ?? [])].length > 0;
7
+ }
8
+ async function handleDrop(e) {
9
+ const result = [];
10
+ const entries = [...(e.dataTransfer?.items ?? [])].filter(x => x.kind === 'file').map(x => x.webkitGetAsEntry()).filter(Boolean);
11
+ if (entries.length) {
12
+ for (const entry of entries) {
13
+ const files = await traverseFileTree(entry, appendIfDirectory('.', entry));
14
+ result.push(...files.map(x => x.file));
15
+ }
16
+ } else {
17
+ result.push(...[...(e.dataTransfer?.files ?? [])]);
18
+ }
19
+ return result;
20
+ }
21
+ return {
22
+ handleDrop,
23
+ hasFilesOrFolders
24
+ };
25
+ }
26
+ function traverseFileTree(item) {
27
+ let path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
28
+ return new Promise((resolve, reject) => {
29
+ if (item.isFile) {
30
+ const fileEntry = item;
31
+ fileEntry.file(file => resolve([{
32
+ file,
33
+ path
34
+ }]), reject);
35
+ } else if (item.isDirectory) {
36
+ const directoryReader = item.createReader();
37
+ directoryReader.readEntries(async entries => {
38
+ const files = [];
39
+ for (const entry of entries) {
40
+ files.push(...(await traverseFileTree(entry, appendIfDirectory(path, entry))));
41
+ }
42
+ resolve(files);
43
+ });
44
+ }
45
+ });
46
+ }
47
+ function appendIfDirectory(path, item) {
48
+ return item.isDirectory ? `${path}/${item.name}` : path;
49
+ }
50
+ //# sourceMappingURL=fileDrop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileDrop.js","names":["useFileDrop","hasFilesOrFolders","e","entries","dataTransfer","items","filter","x","kind","map","webkitGetAsEntry","Boolean","length","files","handleDrop","result","entry","traverseFileTree","appendIfDirectory","push","file","item","path","arguments","undefined","Promise","resolve","reject","isFile","fileEntry","isDirectory","directoryReader","createReader","readEntries","name"],"sources":["../../src/composables/fileDrop.ts"],"sourcesContent":["// Types\ntype FileSelection = { file: File, path: string }\n\nexport function useFileDrop () {\n function hasFilesOrFolders (e: DragEvent): boolean {\n const entries = [...e.dataTransfer?.items ?? []]\n .filter(x => x.kind === 'file')\n .map(x => x.webkitGetAsEntry())\n .filter(Boolean)\n\n return entries.length > 0 || [...e.dataTransfer?.files ?? []].length > 0\n }\n\n async function handleDrop (e: DragEvent) {\n const result: File[] = []\n\n const entries = [...e.dataTransfer?.items ?? []]\n .filter(x => x.kind === 'file')\n .map(x => x.webkitGetAsEntry())\n .filter(Boolean)\n\n if (entries.length) {\n for (const entry of entries) {\n const files = await traverseFileTree(entry!, appendIfDirectory('.', entry!))\n result.push(...files.map(x => x.file))\n }\n } else {\n result.push(...[...e.dataTransfer?.files ?? []])\n }\n\n return result\n }\n\n return {\n handleDrop,\n hasFilesOrFolders,\n }\n}\n\nfunction traverseFileTree (item: FileSystemEntry, path = ''): Promise<FileSelection[]> {\n return new Promise<FileSelection[]>((resolve, reject) => {\n if (item.isFile) {\n const fileEntry = item as FileSystemFileEntry\n fileEntry.file((file: File) => resolve([{ file, path }]), reject)\n } else if (item.isDirectory) {\n const directoryReader = (item as FileSystemDirectoryEntry).createReader()\n directoryReader.readEntries(async entries => {\n const files = [] as FileSelection[]\n for (const entry of entries) {\n files.push(...(await traverseFileTree(entry, appendIfDirectory(path, entry))))\n }\n resolve(files)\n })\n }\n })\n}\n\nfunction appendIfDirectory (path: string, item: FileSystemEntry) {\n return item.isDirectory\n ? `${path}/${item.name}`\n : path\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  // Utilities
2
2
  import { computed, shallowRef, watchEffect } from 'vue';
3
- import { camelizeProps, deepEqual, getPropertyFromItem, isPrimitive, omit, pick, propsFactory } from "../util/index.js"; // Types
3
+ import { deepEqual, getPropertyFromItem, isPrimitive, omit, pick, propsFactory } from "../util/index.js"; // Types
4
4
  // Composables
5
5
  export const makeItemsProps = propsFactory({
6
6
  items: {
@@ -34,7 +34,7 @@ export function transformItem(props, item) {
34
34
  const _props = {
35
35
  title,
36
36
  value,
37
- ...camelizeProps(itemProps)
37
+ ...itemProps
38
38
  };
39
39
  return {
40
40
  title: String(_props.title ?? ''),
@@ -1 +1 @@
1
- {"version":3,"file":"list-items.js","names":["computed","shallowRef","watchEffect","camelizeProps","deepEqual","getPropertyFromItem","isPrimitive","omit","pick","propsFactory","makeItemsProps","items","type","Array","default","itemTitle","String","Function","itemValue","itemChildren","Boolean","itemProps","returnObject","valueComparator","transformItem","props","item","title","value","children","isArray","undefined","_props","transformItems","raw","array","push","useItems","hasNullItem","some","itemsMap","Map","keylessItems","_items","map","keyless","i","length","values","get","set","transformIn","_allItems","_keylessItems","_hasNullItem","_returnObject","hasValueComparator","returnValue","main","v","fastItems","transformOut","_ref","_ref2"],"sources":["../../src/composables/list-items.ts"],"sourcesContent":["// Utilities\nimport { computed, shallowRef, watchEffect } from 'vue'\nimport { camelizeProps, deepEqual, getPropertyFromItem, isPrimitive, omit, pick, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { InternalItem } from '@/composables/filter'\nimport type { Primitive, SelectItemKey } from '@/util'\n\nexport interface ListItem<T = any> extends InternalItem<T> {\n title: string\n props: {\n [key: string]: any\n title: string\n value: any\n }\n children?: ListItem<T>[]\n}\n\nexport interface ItemProps {\n items: any[]\n itemTitle: SelectItemKey\n itemValue: SelectItemKey\n itemChildren: SelectItemKey\n itemProps: SelectItemKey\n returnObject: boolean\n valueComparator: typeof deepEqual | undefined\n}\n\n// Composables\nexport const makeItemsProps = propsFactory({\n items: {\n type: Array as PropType<ItemProps['items']>,\n default: () => ([]),\n },\n itemTitle: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'title',\n },\n itemValue: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'value',\n },\n itemChildren: {\n type: [Boolean, String, Array, Function] as PropType<SelectItemKey>,\n default: 'children',\n },\n itemProps: {\n type: [Boolean, String, Array, Function] as PropType<SelectItemKey>,\n default: 'props',\n },\n returnObject: Boolean,\n valueComparator: Function as PropType<typeof deepEqual>,\n}, 'list-items')\n\nexport function transformItem (props: Omit<ItemProps, 'items'>, item: any): ListItem {\n const title = getPropertyFromItem(item, props.itemTitle, item)\n const value = getPropertyFromItem(item, props.itemValue, title)\n const children = getPropertyFromItem(item, props.itemChildren)\n const itemProps = props.itemProps === true\n ? typeof item === 'object' && item != null && !Array.isArray(item)\n ? 'children' in item\n ? omit(item, ['children'])\n : item\n : undefined\n : getPropertyFromItem(item, props.itemProps)\n\n const _props = {\n title,\n value,\n ...camelizeProps(itemProps),\n }\n\n return {\n title: String(_props.title ?? ''),\n value: _props.value,\n props: _props,\n children: Array.isArray(children) ? transformItems(props, children) : undefined,\n raw: item,\n }\n}\n\nexport function transformItems (props: Omit<ItemProps, 'items'>, items: ItemProps['items']) {\n const _props = pick(props, [\n 'itemTitle',\n 'itemValue',\n 'itemChildren',\n 'itemProps',\n 'returnObject',\n 'valueComparator',\n ])\n\n const array: ListItem[] = []\n for (const item of items) {\n array.push(transformItem(_props, item))\n }\n\n return array\n}\n\nexport function useItems (props: ItemProps) {\n const items = computed(() => transformItems(props, props.items))\n const hasNullItem = computed(() => items.value.some(item => item.value === null))\n\n const itemsMap = shallowRef<Map<Primitive, ListItem[]>>(new Map())\n const keylessItems = shallowRef<ListItem[]>([])\n watchEffect(() => {\n const _items = items.value\n const map = new Map()\n const keyless = []\n for (let i = 0; i < _items.length; i++) {\n const item = _items[i]\n if (isPrimitive(item.value) || item.value === null) {\n let values = map.get(item.value)\n if (!values) {\n values = []\n map.set(item.value, values)\n }\n values.push(item)\n } else {\n keyless.push(item)\n }\n }\n itemsMap.value = map\n keylessItems.value = keyless\n })\n\n function transformIn (value: any[]): ListItem[] {\n // Cache unrefed values outside the loop,\n // proxy getters can be slow when you call them a billion times\n const _items = itemsMap.value\n const _allItems = items.value\n const _keylessItems = keylessItems.value\n const _hasNullItem = hasNullItem.value\n const _returnObject = props.returnObject\n const hasValueComparator = !!props.valueComparator\n const valueComparator = props.valueComparator || deepEqual\n const _props = pick(props, [\n 'itemTitle',\n 'itemValue',\n 'itemChildren',\n 'itemProps',\n 'returnObject',\n 'valueComparator',\n ])\n\n const returnValue: ListItem[] = []\n main: for (const v of value) {\n // When the model value is null, return an InternalItem\n // based on null only if null is one of the items\n if (!_hasNullItem && v === null) continue\n\n // String model value means value is a custom input value from combobox\n // Don't look up existing items if the model value is a string\n if (_returnObject && typeof v === 'string') {\n returnValue.push(transformItem(_props, v))\n continue\n }\n\n // Fast path, items with primitive values and no\n // custom valueComparator can use a constant-time\n // map lookup instead of searching the items array\n const fastItems = _items.get(v)\n\n // Slow path, always use valueComparator.\n // This is O(n^2) so we really don't want to\n // do it for more than a couple hundred items.\n if (hasValueComparator || !fastItems) {\n for (const item of (hasValueComparator ? _allItems : _keylessItems)) {\n if (valueComparator(v, item.value)) {\n returnValue.push(item)\n continue main\n }\n }\n // Not an existing item, construct it from the model (#4000)\n returnValue.push(transformItem(_props, v))\n continue\n }\n\n returnValue.push(...fastItems)\n }\n\n return returnValue\n }\n\n function transformOut (value: ListItem[]): any[] {\n return props.returnObject\n ? value.map(({ raw }) => raw)\n : value.map(({ value }) => value)\n }\n\n return { items, transformIn, transformOut }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"list-items.js","names":["computed","shallowRef","watchEffect","deepEqual","getPropertyFromItem","isPrimitive","omit","pick","propsFactory","makeItemsProps","items","type","Array","default","itemTitle","String","Function","itemValue","itemChildren","Boolean","itemProps","returnObject","valueComparator","transformItem","props","item","title","value","children","isArray","undefined","_props","transformItems","raw","array","push","useItems","hasNullItem","some","itemsMap","Map","keylessItems","_items","map","keyless","i","length","values","get","set","transformIn","_allItems","_keylessItems","_hasNullItem","_returnObject","hasValueComparator","returnValue","main","v","fastItems","transformOut","_ref","_ref2"],"sources":["../../src/composables/list-items.ts"],"sourcesContent":["// Utilities\nimport { computed, shallowRef, watchEffect } from 'vue'\nimport { deepEqual, getPropertyFromItem, isPrimitive, omit, pick, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { InternalItem } from '@/composables/filter'\nimport type { Primitive, SelectItemKey } from '@/util'\n\nexport interface ListItem<T = any> extends InternalItem<T> {\n title: string\n props: {\n [key: string]: any\n title: string\n value: any\n }\n children?: ListItem<T>[]\n}\n\nexport interface ItemProps {\n items: any[]\n itemTitle: SelectItemKey\n itemValue: SelectItemKey\n itemChildren: SelectItemKey\n itemProps: SelectItemKey\n returnObject: boolean\n valueComparator: typeof deepEqual | undefined\n}\n\n// Composables\nexport const makeItemsProps = propsFactory({\n items: {\n type: Array as PropType<ItemProps['items']>,\n default: () => ([]),\n },\n itemTitle: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'title',\n },\n itemValue: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'value',\n },\n itemChildren: {\n type: [Boolean, String, Array, Function] as PropType<SelectItemKey>,\n default: 'children',\n },\n itemProps: {\n type: [Boolean, String, Array, Function] as PropType<SelectItemKey>,\n default: 'props',\n },\n returnObject: Boolean,\n valueComparator: Function as PropType<typeof deepEqual>,\n}, 'list-items')\n\nexport function transformItem (props: Omit<ItemProps, 'items'>, item: any): ListItem {\n const title = getPropertyFromItem(item, props.itemTitle, item)\n const value = getPropertyFromItem(item, props.itemValue, title)\n const children = getPropertyFromItem(item, props.itemChildren)\n const itemProps = props.itemProps === true\n ? typeof item === 'object' && item != null && !Array.isArray(item)\n ? 'children' in item\n ? omit(item, ['children'])\n : item\n : undefined\n : getPropertyFromItem(item, props.itemProps)\n\n const _props = {\n title,\n value,\n ...itemProps,\n }\n\n return {\n title: String(_props.title ?? ''),\n value: _props.value,\n props: _props,\n children: Array.isArray(children) ? transformItems(props, children) : undefined,\n raw: item,\n }\n}\n\nexport function transformItems (props: Omit<ItemProps, 'items'>, items: ItemProps['items']) {\n const _props = pick(props, [\n 'itemTitle',\n 'itemValue',\n 'itemChildren',\n 'itemProps',\n 'returnObject',\n 'valueComparator',\n ])\n\n const array: ListItem[] = []\n for (const item of items) {\n array.push(transformItem(_props, item))\n }\n\n return array\n}\n\nexport function useItems (props: ItemProps) {\n const items = computed(() => transformItems(props, props.items))\n const hasNullItem = computed(() => items.value.some(item => item.value === null))\n\n const itemsMap = shallowRef<Map<Primitive, ListItem[]>>(new Map())\n const keylessItems = shallowRef<ListItem[]>([])\n watchEffect(() => {\n const _items = items.value\n const map = new Map()\n const keyless = []\n for (let i = 0; i < _items.length; i++) {\n const item = _items[i]\n if (isPrimitive(item.value) || item.value === null) {\n let values = map.get(item.value)\n if (!values) {\n values = []\n map.set(item.value, values)\n }\n values.push(item)\n } else {\n keyless.push(item)\n }\n }\n itemsMap.value = map\n keylessItems.value = keyless\n })\n\n function transformIn (value: any[]): ListItem[] {\n // Cache unrefed values outside the loop,\n // proxy getters can be slow when you call them a billion times\n const _items = itemsMap.value\n const _allItems = items.value\n const _keylessItems = keylessItems.value\n const _hasNullItem = hasNullItem.value\n const _returnObject = props.returnObject\n const hasValueComparator = !!props.valueComparator\n const valueComparator = props.valueComparator || deepEqual\n const _props = pick(props, [\n 'itemTitle',\n 'itemValue',\n 'itemChildren',\n 'itemProps',\n 'returnObject',\n 'valueComparator',\n ])\n\n const returnValue: ListItem[] = []\n main: for (const v of value) {\n // When the model value is null, return an InternalItem\n // based on null only if null is one of the items\n if (!_hasNullItem && v === null) continue\n\n // String model value means value is a custom input value from combobox\n // Don't look up existing items if the model value is a string\n if (_returnObject && typeof v === 'string') {\n returnValue.push(transformItem(_props, v))\n continue\n }\n\n // Fast path, items with primitive values and no\n // custom valueComparator can use a constant-time\n // map lookup instead of searching the items array\n const fastItems = _items.get(v)\n\n // Slow path, always use valueComparator.\n // This is O(n^2) so we really don't want to\n // do it for more than a couple hundred items.\n if (hasValueComparator || !fastItems) {\n for (const item of (hasValueComparator ? _allItems : _keylessItems)) {\n if (valueComparator(v, item.value)) {\n returnValue.push(item)\n continue main\n }\n }\n // Not an existing item, construct it from the model (#4000)\n returnValue.push(transformItem(_props, v))\n continue\n }\n\n returnValue.push(...fastItems)\n }\n\n return returnValue\n }\n\n function transformOut (value: ListItem[]): any[] {\n return props.returnObject\n ? value.map(({ raw }) => raw)\n : value.map(({ value }) => value)\n }\n\n return { items, transformIn, transformOut }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -28,7 +28,6 @@ export declare const createVuetify: {
28
28
  options: import("./composables/date/date.js").InternalDateOptions;
29
29
  instance: {
30
30
  locale?: any;
31
- createDateRange: (start: unknown, stop?: unknown) => unknown[];
32
31
  date: (value?: any) => unknown;
33
32
  format: (date: unknown, formatString: string) => string;
34
33
  toJsDate: (value: unknown) => Date;
@@ -72,8 +71,6 @@ export declare const createVuetify: {
72
71
  setHours: (date: unknown, hours: number) => unknown;
73
72
  getMinutes: (date: unknown) => number;
74
73
  setMinutes: (date: unknown, minutes: number) => unknown;
75
- } & {
76
- createDateRange(start: unknown, stop?: unknown): unknown[];
77
74
  };
78
75
  };
79
76
  goTo: import("./types.js").GoToInstance;
@@ -16,7 +16,7 @@ export const createVuetify = function () {
16
16
  ...options
17
17
  });
18
18
  };
19
- export const version = "3.8.8-master.2025-06-07";
19
+ export const version = "3.8.8-master.2025-06-10";
20
20
  createVuetify.version = version;
21
21
  export { blueprints, components, directives };
22
22
  export * from "./composables/index.js";
@@ -100,7 +100,6 @@ interface DateAdapter<T = unknown> {
100
100
 
101
101
  interface DateInstance extends DateModule.InternalAdapter {
102
102
  locale?: any;
103
- createDateRange: (start: unknown, stop?: unknown) => unknown[];
104
103
  }
105
104
  /** Supports module augmentation to specify date adapter types */
106
105
  declare namespace DateModule {
@@ -2456,7 +2455,6 @@ declare function createVuetify(vuetify?: VuetifyOptions): {
2456
2455
  options: InternalDateOptions;
2457
2456
  instance: {
2458
2457
  locale?: any;
2459
- createDateRange: (start: unknown, stop?: unknown) => unknown[];
2460
2458
  date: (value?: any) => unknown;
2461
2459
  format: (date: unknown, formatString: string) => string;
2462
2460
  toJsDate: (value: unknown) => Date;
@@ -2500,8 +2498,6 @@ declare function createVuetify(vuetify?: VuetifyOptions): {
2500
2498
  setHours: (date: unknown, hours: number) => unknown;
2501
2499
  getMinutes: (date: unknown) => number;
2502
2500
  setMinutes: (date: unknown, minutes: number) => unknown;
2503
- } & {
2504
- createDateRange(start: unknown, stop?: unknown): unknown[];
2505
2501
  };
2506
2502
  };
2507
2503
  goTo: GoToInstance;
@@ -2552,45 +2548,37 @@ declare module 'vue' {
2552
2548
  VAppBar: typeof import('vuetify/components')['VAppBar']
2553
2549
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
2554
2550
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
2551
+ VApp: typeof import('vuetify/components')['VApp']
2555
2552
  VAlert: typeof import('vuetify/components')['VAlert']
2556
2553
  VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
2557
- VAvatar: typeof import('vuetify/components')['VAvatar']
2558
- VApp: typeof import('vuetify/components')['VApp']
2559
- VBadge: typeof import('vuetify/components')['VBadge']
2560
2554
  VBanner: typeof import('vuetify/components')['VBanner']
2561
2555
  VBannerActions: typeof import('vuetify/components')['VBannerActions']
2562
2556
  VBannerText: typeof import('vuetify/components')['VBannerText']
2557
+ VAvatar: typeof import('vuetify/components')['VAvatar']
2563
2558
  VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2564
- VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2559
+ VBtn: typeof import('vuetify/components')['VBtn']
2560
+ VBadge: typeof import('vuetify/components')['VBadge']
2561
+ VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2565
2562
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
2566
2563
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
2567
2564
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
2568
- VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2569
- VBtn: typeof import('vuetify/components')['VBtn']
2570
- VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2571
2565
  VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2572
- VCarousel: typeof import('vuetify/components')['VCarousel']
2573
- VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2566
+ VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2574
2567
  VCard: typeof import('vuetify/components')['VCard']
2575
2568
  VCardActions: typeof import('vuetify/components')['VCardActions']
2576
2569
  VCardItem: typeof import('vuetify/components')['VCardItem']
2577
2570
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
2578
2571
  VCardText: typeof import('vuetify/components')['VCardText']
2579
2572
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
2580
- VDataTable: typeof import('vuetify/components')['VDataTable']
2581
- VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
2582
- VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
2583
- VDataTableRows: typeof import('vuetify/components')['VDataTableRows']
2584
- VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
2585
- VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
2586
- VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
2587
- VCode: typeof import('vuetify/components')['VCode']
2573
+ VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2574
+ VCarousel: typeof import('vuetify/components')['VCarousel']
2575
+ VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2576
+ VChip: typeof import('vuetify/components')['VChip']
2588
2577
  VCheckbox: typeof import('vuetify/components')['VCheckbox']
2589
2578
  VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2590
- VChip: typeof import('vuetify/components')['VChip']
2591
- VCounter: typeof import('vuetify/components')['VCounter']
2592
- VChipGroup: typeof import('vuetify/components')['VChipGroup']
2593
2579
  VCombobox: typeof import('vuetify/components')['VCombobox']
2580
+ VChipGroup: typeof import('vuetify/components')['VChipGroup']
2581
+ VCode: typeof import('vuetify/components')['VCode']
2594
2582
  VColorPicker: typeof import('vuetify/components')['VColorPicker']
2595
2583
  VDatePicker: typeof import('vuetify/components')['VDatePicker']
2596
2584
  VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
@@ -2598,29 +2586,37 @@ declare module 'vue' {
2598
2586
  VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
2599
2587
  VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
2600
2588
  VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
2601
- VDivider: typeof import('vuetify/components')['VDivider']
2589
+ VCounter: typeof import('vuetify/components')['VCounter']
2602
2590
  VDialog: typeof import('vuetify/components')['VDialog']
2591
+ VDataTable: typeof import('vuetify/components')['VDataTable']
2592
+ VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
2593
+ VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
2594
+ VDataTableRows: typeof import('vuetify/components')['VDataTableRows']
2595
+ VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
2596
+ VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
2597
+ VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
2598
+ VDivider: typeof import('vuetify/components')['VDivider']
2599
+ VEmptyState: typeof import('vuetify/components')['VEmptyState']
2603
2600
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
2604
2601
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
2605
2602
  VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
2606
2603
  VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
2607
2604
  VFab: typeof import('vuetify/components')['VFab']
2608
- VFooter: typeof import('vuetify/components')['VFooter']
2609
- VFileInput: typeof import('vuetify/components')['VFileInput']
2610
2605
  VField: typeof import('vuetify/components')['VField']
2611
2606
  VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
2607
+ VFileInput: typeof import('vuetify/components')['VFileInput']
2608
+ VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2609
+ VFooter: typeof import('vuetify/components')['VFooter']
2612
2610
  VIcon: typeof import('vuetify/components')['VIcon']
2613
2611
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
2614
2612
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
2615
2613
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
2616
2614
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
2617
- VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2615
+ VImg: typeof import('vuetify/components')['VImg']
2618
2616
  VInput: typeof import('vuetify/components')['VInput']
2619
- VKbd: typeof import('vuetify/components')['VKbd']
2617
+ VLabel: typeof import('vuetify/components')['VLabel']
2620
2618
  VItemGroup: typeof import('vuetify/components')['VItemGroup']
2621
2619
  VItem: typeof import('vuetify/components')['VItem']
2622
- VLabel: typeof import('vuetify/components')['VLabel']
2623
- VImg: typeof import('vuetify/components')['VImg']
2624
2620
  VList: typeof import('vuetify/components')['VList']
2625
2621
  VListGroup: typeof import('vuetify/components')['VListGroup']
2626
2622
  VListImg: typeof import('vuetify/components')['VListImg']
@@ -2630,23 +2626,26 @@ declare module 'vue' {
2630
2626
  VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
2631
2627
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
2632
2628
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
2629
+ VKbd: typeof import('vuetify/components')['VKbd']
2633
2630
  VMenu: typeof import('vuetify/components')['VMenu']
2634
2631
  VMain: typeof import('vuetify/components')['VMain']
2635
- VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
2636
- VNumberInput: typeof import('vuetify/components')['VNumberInput']
2637
- VOverlay: typeof import('vuetify/components')['VOverlay']
2638
2632
  VMessages: typeof import('vuetify/components')['VMessages']
2639
2633
  VOtpInput: typeof import('vuetify/components')['VOtpInput']
2640
- VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
2641
2634
  VPagination: typeof import('vuetify/components')['VPagination']
2635
+ VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
2636
+ VNumberInput: typeof import('vuetify/components')['VNumberInput']
2642
2637
  VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2638
+ VOverlay: typeof import('vuetify/components')['VOverlay']
2639
+ VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
2640
+ VSelect: typeof import('vuetify/components')['VSelect']
2643
2641
  VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2644
2642
  VRating: typeof import('vuetify/components')['VRating']
2645
- VSelect: typeof import('vuetify/components')['VSelect']
2646
2643
  VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2647
- VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2648
- VSheet: typeof import('vuetify/components')['VSheet']
2649
2644
  VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2645
+ VSheet: typeof import('vuetify/components')['VSheet']
2646
+ VSlider: typeof import('vuetify/components')['VSlider']
2647
+ VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2648
+ VSnackbar: typeof import('vuetify/components')['VSnackbar']
2650
2649
  VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
2651
2650
  VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
2652
2651
  VStepper: typeof import('vuetify/components')['VStepper']
@@ -2655,44 +2654,44 @@ declare module 'vue' {
2655
2654
  VStepperItem: typeof import('vuetify/components')['VStepperItem']
2656
2655
  VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
2657
2656
  VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
2658
- VSnackbar: typeof import('vuetify/components')['VSnackbar']
2659
- VSlider: typeof import('vuetify/components')['VSlider']
2660
- VSystemBar: typeof import('vuetify/components')['VSystemBar']
2661
2657
  VSwitch: typeof import('vuetify/components')['VSwitch']
2662
- VTimeline: typeof import('vuetify/components')['VTimeline']
2663
- VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2658
+ VTextField: typeof import('vuetify/components')['VTextField']
2664
2659
  VTab: typeof import('vuetify/components')['VTab']
2665
2660
  VTabs: typeof import('vuetify/components')['VTabs']
2666
2661
  VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
2667
2662
  VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
2668
- VTextField: typeof import('vuetify/components')['VTextField']
2663
+ VTable: typeof import('vuetify/components')['VTable']
2664
+ VSystemBar: typeof import('vuetify/components')['VSystemBar']
2665
+ VTimeline: typeof import('vuetify/components')['VTimeline']
2666
+ VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2669
2667
  VTextarea: typeof import('vuetify/components')['VTextarea']
2670
2668
  VToolbar: typeof import('vuetify/components')['VToolbar']
2671
2669
  VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
2672
2670
  VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
2673
- VTooltip: typeof import('vuetify/components')['VTooltip']
2674
2671
  VWindow: typeof import('vuetify/components')['VWindow']
2675
2672
  VWindowItem: typeof import('vuetify/components')['VWindowItem']
2676
- VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
2677
- VTable: typeof import('vuetify/components')['VTable']
2673
+ VTooltip: typeof import('vuetify/components')['VTooltip']
2678
2674
  VDataIterator: typeof import('vuetify/components')['VDataIterator']
2675
+ VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
2679
2676
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
2680
- VForm: typeof import('vuetify/components')['VForm']
2681
2677
  VContainer: typeof import('vuetify/components')['VContainer']
2682
2678
  VCol: typeof import('vuetify/components')['VCol']
2683
2679
  VRow: typeof import('vuetify/components')['VRow']
2684
2680
  VSpacer: typeof import('vuetify/components')['VSpacer']
2685
2681
  VHover: typeof import('vuetify/components')['VHover']
2682
+ VForm: typeof import('vuetify/components')['VForm']
2683
+ VLayout: typeof import('vuetify/components')['VLayout']
2684
+ VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
2686
2685
  VLazy: typeof import('vuetify/components')['VLazy']
2687
2686
  VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
2688
2687
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
2689
- VRadio: typeof import('vuetify/components')['VRadio']
2690
2688
  VParallax: typeof import('vuetify/components')['VParallax']
2691
- VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2689
+ VRadio: typeof import('vuetify/components')['VRadio']
2692
2690
  VResponsive: typeof import('vuetify/components')['VResponsive']
2691
+ VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2693
2692
  VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
2694
- VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
2695
2693
  VSparkline: typeof import('vuetify/components')['VSparkline']
2694
+ VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
2696
2695
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
2697
2696
  VValidation: typeof import('vuetify/components')['VValidation']
2698
2697
  VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
@@ -2712,31 +2711,28 @@ declare module 'vue' {
2712
2711
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
2713
2712
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
2714
2713
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
2715
- VEmptyState: typeof import('vuetify/components')['VEmptyState']
2716
- VLayout: typeof import('vuetify/components')['VLayout']
2717
- VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
2714
+ VColorInput: typeof import('vuetify/labs/components')['VColorInput']
2715
+ VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2716
+ VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2718
2717
  VCalendar: typeof import('vuetify/labs/components')['VCalendar']
2719
2718
  VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
2720
2719
  VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
2721
2720
  VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
2722
2721
  VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
2723
2722
  VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
2724
- VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2725
2723
  VPicker: typeof import('vuetify/labs/components')['VPicker']
2726
2724
  VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
2727
- VColorInput: typeof import('vuetify/labs/components')['VColorInput']
2725
+ VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
2726
+ VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
2727
+ VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
2728
2728
  VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
2729
2729
  VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
2730
2730
  VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
2731
- VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2732
- VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2731
+ VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2733
2732
  VTreeview: typeof import('vuetify/labs/components')['VTreeview']
2734
2733
  VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
2735
2734
  VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
2736
- VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
2737
- VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
2738
- VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
2739
- VDateInput: typeof import('vuetify/labs/components')['VDateInput']
2740
2735
  VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
2736
+ VDateInput: typeof import('vuetify/labs/components')['VDateInput']
2741
2737
  }
2742
2738
  }
package/lib/framework.js CHANGED
@@ -109,7 +109,7 @@ export function createVuetify() {
109
109
  };
110
110
  });
111
111
  }
112
- export const version = "3.8.8-master.2025-06-07";
112
+ export const version = "3.8.8-master.2025-06-10";
113
113
  createVuetify.version = version;
114
114
 
115
115
  // Vue's inject() can only be used in setup
@@ -5,6 +5,7 @@ import { makeVDatePickerProps, VDatePicker } from "../../components/VDatePicker/
5
5
  import { VMenu } from "../../components/VMenu/VMenu.js";
6
6
  import { makeVTextFieldProps, VTextField } from "../../components/VTextField/VTextField.js"; // Composables
7
7
  import { useDate } from "../../composables/date/index.js";
8
+ import { createDateRange } from "../../composables/date/date.js";
8
9
  import { makeDateFormatProps, useDateFormat } from "../../composables/dateFormat.js";
9
10
  import { makeDisplayProps, useDisplay } from "../../composables/display.js";
10
11
  import { makeFocusProps } from "../../composables/focus.js";
@@ -172,7 +173,7 @@ export const VDateInput = genericComponent()({
172
173
  if (parts.every(isValid)) {
173
174
  if (props.multiple === 'range') {
174
175
  const [start, stop] = parts.map(parseDate).toSorted((a, b) => adapter.isAfter(a, b) ? 1 : -1);
175
- model.value = adapter.createDateRange(start, stop);
176
+ model.value = createDateRange(adapter, start, stop);
176
177
  } else {
177
178
  model.value = parts.map(parseDate);
178
179
  }