@vuetify/nightly 3.10.4-dev.2025-10-02 → 3.10.4-dev.2025-10-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 (45) hide show
  1. package/CHANGELOG.md +5 -3
  2. package/dist/json/attributes.json +3641 -3625
  3. package/dist/json/importMap-labs.json +30 -30
  4. package/dist/json/importMap.json +178 -178
  5. package/dist/json/tags.json +4 -0
  6. package/dist/json/web-types.json +6554 -6514
  7. package/dist/vuetify-labs.cjs +80 -25
  8. package/dist/vuetify-labs.css +4520 -4520
  9. package/dist/vuetify-labs.d.ts +194 -99
  10. package/dist/vuetify-labs.esm.js +80 -25
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +80 -25
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.cjs +80 -25
  15. package/dist/vuetify.cjs.map +1 -1
  16. package/dist/vuetify.css +6205 -6205
  17. package/dist/vuetify.d.ts +194 -99
  18. package/dist/vuetify.esm.js +80 -25
  19. package/dist/vuetify.esm.js.map +1 -1
  20. package/dist/vuetify.js +80 -25
  21. package/dist/vuetify.js.map +1 -1
  22. package/dist/vuetify.min.css +2 -2
  23. package/dist/vuetify.min.js +37 -32
  24. package/dist/vuetify.min.js.map +1 -1
  25. package/lib/components/VDataIterator/VDataIterator.d.ts +52 -11
  26. package/lib/components/VDataIterator/VDataIterator.js +2 -0
  27. package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
  28. package/lib/components/VDataTable/VDataTable.d.ts +78 -18
  29. package/lib/components/VDataTable/VDataTable.js +9 -5
  30. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  31. package/lib/components/VDataTable/VDataTableHeaders.js +2 -2
  32. package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
  33. package/lib/components/VDataTable/VDataTableServer.d.ts +54 -13
  34. package/lib/components/VDataTable/VDataTableServer.js +8 -4
  35. package/lib/components/VDataTable/VDataTableServer.js.map +1 -1
  36. package/lib/components/VDataTable/VDataTableVirtual.d.ts +54 -13
  37. package/lib/components/VDataTable/VDataTableVirtual.js +7 -3
  38. package/lib/components/VDataTable/VDataTableVirtual.js.map +1 -1
  39. package/lib/components/VDataTable/composables/sort.d.ts +36 -8
  40. package/lib/components/VDataTable/composables/sort.js +55 -14
  41. package/lib/components/VDataTable/composables/sort.js.map +1 -1
  42. package/lib/entry-bundler.js +1 -1
  43. package/lib/framework.d.ts +65 -65
  44. package/lib/framework.js +1 -1
  45. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"sort.js","names":["useLocale","useProxiedModel","computed","inject","provide","toRef","getObjectValueByPath","isEmpty","propsFactory","makeDataTableSortProps","sortBy","type","Array","default","customKeySort","Object","multiSort","Boolean","mustSort","VDataTableSortSymbol","Symbol","for","createSort","props","provideSort","options","page","toggleSort","column","key","newSortBy","value","map","x","item","find","push","order","length","filter","isSorted","data","useSort","Error","useSortedItems","items","locale","sortedItems","sortItems","current","transform","sortFunctions","sortRawFunctions","sortByItems","stringCollator","Intl","Collator","sensitivity","usage","transformedItems","sort","a","b","i","hasCustomResult","sortKey","sortOrder","sortA","sortB","sortARaw","raw","sortBRaw","customResult","Date","getTime","s","toString","toLocaleLowerCase","isNaN","Number","compare","_ref"],"sources":["../../../../src/components/VDataTable/composables/sort.ts"],"sourcesContent":["// Composables\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, inject, provide, toRef } from 'vue'\nimport { getObjectValueByPath, isEmpty, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType, Ref } from 'vue'\nimport type { DataTableCompareFunction, InternalDataTableHeader } from '../types'\nimport type { InternalItem } from '@/composables/filter'\n\nexport const makeDataTableSortProps = propsFactory({\n sortBy: {\n type: Array as PropType<readonly SortItem[]>,\n default: () => ([]),\n },\n customKeySort: Object as PropType<Record<string, DataTableCompareFunction>>,\n multiSort: Boolean,\n mustSort: Boolean,\n}, 'DataTable-sort')\n\nconst VDataTableSortSymbol: InjectionKey<{\n sortBy: Ref<readonly SortItem[]>\n toggleSort: (column: InternalDataTableHeader) => void\n isSorted: (column: InternalDataTableHeader) => boolean\n}> = Symbol.for('vuetify:data-table-sort')\n\nexport type SortItem = { key: string, order?: boolean | 'asc' | 'desc' }\n\ntype SortProps = {\n sortBy: readonly SortItem[]\n 'onUpdate:sortBy': ((value: any) => void) | undefined\n mustSort: boolean\n multiSort: boolean\n}\n\nexport function createSort (props: SortProps) {\n const sortBy = useProxiedModel(props, 'sortBy')\n const mustSort = toRef(() => props.mustSort)\n const multiSort = toRef(() => props.multiSort)\n\n return { sortBy, mustSort, multiSort }\n}\n\nexport function provideSort (options: {\n sortBy: Ref<readonly SortItem[]>\n mustSort: Ref<boolean>\n multiSort: Ref<boolean>\n page?: Ref<number>\n}) {\n const { sortBy, mustSort, multiSort, page } = options\n\n const toggleSort = (column: InternalDataTableHeader) => {\n if (column.key == null) return\n\n let newSortBy = sortBy.value.map(x => ({ ...x })) ?? []\n const item = newSortBy.find(x => x.key === column.key)\n\n if (!item) {\n if (multiSort.value) {\n newSortBy.push({ key: column.key, order: 'asc' })\n } else {\n newSortBy = [{ key: column.key, order: 'asc' }]\n }\n } else if (item.order === 'desc') {\n if (mustSort.value && newSortBy.length === 1) {\n item.order = 'asc'\n } else {\n newSortBy = newSortBy.filter(x => x.key !== column.key)\n }\n } else {\n item.order = 'desc'\n }\n\n sortBy.value = newSortBy\n if (page) page.value = 1\n }\n\n function isSorted (column: InternalDataTableHeader) {\n return !!sortBy.value.find(item => item.key === column.key)\n }\n\n const data = { sortBy, toggleSort, isSorted }\n\n provide(VDataTableSortSymbol, data)\n\n return data\n}\n\nexport function useSort () {\n const data = inject(VDataTableSortSymbol)\n\n if (!data) throw new Error('Missing sort!')\n\n return data\n}\n\n// TODO: abstract into project composable\nexport function useSortedItems<T extends InternalItem> (\n props: {\n customKeySort: Record<string, DataTableCompareFunction> | undefined\n },\n items: Ref<T[]>,\n sortBy: Ref<readonly SortItem[]>,\n options?: {\n transform?: (item: T) => {}\n sortFunctions?: Ref<Record<string, DataTableCompareFunction> | undefined>\n sortRawFunctions?: Ref<Record<string, DataTableCompareFunction> | undefined>\n },\n) {\n const locale = useLocale()\n const sortedItems = computed(() => {\n if (!sortBy.value.length) return items.value\n\n return sortItems(items.value, sortBy.value, locale.current.value, {\n transform: options?.transform,\n sortFunctions: {\n ...props.customKeySort,\n ...options?.sortFunctions?.value,\n },\n sortRawFunctions: options?.sortRawFunctions?.value,\n })\n })\n\n return { sortedItems }\n}\n\nexport function sortItems<T extends InternalItem> (\n items: T[],\n sortByItems: readonly SortItem[],\n locale: string,\n options?: {\n transform?: (item: T) => Record<string, any>\n sortFunctions?: Record<string, DataTableCompareFunction>\n sortRawFunctions?: Record<string, DataTableCompareFunction>\n },\n): T[] {\n const stringCollator = new Intl.Collator(locale, { sensitivity: 'accent', usage: 'sort' })\n\n const transformedItems = items.map(item => (\n [item, options?.transform ? options.transform(item) : item as never] as const)\n )\n\n return transformedItems.sort((a, b) => {\n for (let i = 0; i < sortByItems.length; i++) {\n let hasCustomResult = false\n const sortKey = sortByItems[i].key\n const sortOrder = sortByItems[i].order ?? 'asc'\n\n if (sortOrder === false) continue\n\n let sortA = getObjectValueByPath(a[1], sortKey)\n let sortB = getObjectValueByPath(b[1], sortKey)\n let sortARaw = a[0].raw\n let sortBRaw = b[0].raw\n\n if (sortOrder === 'desc') {\n [sortA, sortB] = [sortB, sortA]\n ;[sortARaw, sortBRaw] = [sortBRaw, sortARaw]\n }\n\n if (options?.sortRawFunctions?.[sortKey]) {\n const customResult = options.sortRawFunctions[sortKey](sortARaw, sortBRaw)\n\n if (customResult == null) continue\n hasCustomResult = true\n if (customResult) return customResult\n }\n\n if (options?.sortFunctions?.[sortKey]) {\n const customResult = options.sortFunctions[sortKey](sortA, sortB)\n\n if (customResult == null) continue\n hasCustomResult = true\n if (customResult) return customResult\n }\n\n if (hasCustomResult) continue\n\n // Dates should be compared numerically\n if (sortA instanceof Date && sortB instanceof Date) {\n sortA = sortA.getTime()\n sortB = sortB.getTime()\n }\n\n [sortA, sortB] = [sortA, sortB].map(s => s != null ? s.toString().toLocaleLowerCase() : s)\n\n if (sortA !== sortB) {\n if (isEmpty(sortA) && isEmpty(sortB)) return 0\n if (isEmpty(sortA)) return -1\n if (isEmpty(sortB)) return 1\n if (!isNaN(sortA) && !isNaN(sortB)) return Number(sortA) - Number(sortB)\n return stringCollator.compare(sortA, sortB)\n }\n }\n\n return 0\n }).map(([item]) => item)\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"sort.js","names":["useLocale","useProxiedModel","computed","inject","provide","toRef","getObjectValueByPath","isEmpty","isObject","propsFactory","makeDataTableSortProps","initialSortOrder","type","String","default","validator","v","includes","sortBy","Array","customKeySort","Object","multiSort","Boolean","mustSort","VDataTableSortSymbol","Symbol","for","createSort","props","resolveMultiSort","event","active","key","mode","modifier","reverseMode","altKey","shiftKey","ctrlKey","metaKey","provideSort","options","page","toggleSort","column","newSortBy","value","map","x","item","find","initialOrder","secondaryOrder","unshift","order","push","length","filter","isSorted","data","useSort","Error","useSortedItems","items","locale","sortedItems","sortItems","current","transform","sortFunctions","sortRawFunctions","sortByItems","stringCollator","Intl","Collator","sensitivity","usage","transformedItems","sort","a","b","i","hasCustomResult","sortKey","sortOrder","sortA","sortB","sortARaw","raw","sortBRaw","customResult","Date","getTime","s","toString","toLocaleLowerCase","isNaN","Number","compare","_ref"],"sources":["../../../../src/components/VDataTable/composables/sort.ts"],"sourcesContent":["// Composables\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, inject, provide, toRef } from 'vue'\nimport { getObjectValueByPath, isEmpty, isObject, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType, Ref } from 'vue'\nimport type { DataTableCompareFunction, InternalDataTableHeader } from '../types'\nimport type { InternalItem } from '@/composables/filter'\n\nexport const makeDataTableSortProps = propsFactory({\n initialSortOrder: {\n type: String as PropType<'asc' | 'desc'>,\n default: 'asc',\n validator: (v: any) => !v || ['asc', 'desc'].includes(v),\n },\n sortBy: {\n type: Array as PropType<readonly SortItem[]>,\n default: () => ([]),\n },\n customKeySort: Object as PropType<Record<string, DataTableCompareFunction>>,\n multiSort: {\n type: [Boolean, Object] as PropType<boolean | MultiSortProps>,\n default: false,\n },\n mustSort: Boolean,\n}, 'DataTable-sort')\n\nconst VDataTableSortSymbol: InjectionKey<{\n sortBy: Ref<readonly SortItem[]>\n toggleSort: (column: InternalDataTableHeader, event?: KeyboardEvent | PointerEvent) => void\n isSorted: (column: InternalDataTableHeader) => boolean\n}> = Symbol.for('vuetify:data-table-sort')\n\nexport type SortItem = { key: string, order?: boolean | 'asc' | 'desc' }\nexport type MultiSortProps = {\n key?: 'ctrl'\n mode?: MultiSortMode\n modifier?: 'alt' | 'shift'\n}\n\nexport type MultiSortMode = 'append' | 'prepend'\n\ntype SortProps = {\n initialSortOrder: 'asc' | 'desc'\n sortBy: readonly SortItem[]\n 'onUpdate:sortBy': ((value: any) => void) | undefined\n multiSort: boolean | MultiSortProps\n mustSort: boolean\n}\n\nexport function createSort (props: SortProps) {\n const initialSortOrder = toRef(() => props.initialSortOrder)\n const sortBy = useProxiedModel(props, 'sortBy')\n const mustSort = toRef(() => props.mustSort)\n const multiSort = toRef(() => props.multiSort)\n return { initialSortOrder, sortBy, multiSort, mustSort }\n}\n\nfunction resolveMultiSort (\n multiSort: boolean | MultiSortProps,\n event?: KeyboardEvent | PointerEvent\n): {\n active: boolean\n mode?: MultiSortMode\n } {\n if (!isObject(multiSort)) {\n return { active: !!multiSort }\n }\n\n const { key, mode, modifier } = multiSort\n const reverseMode = (modifier === 'alt' && event?.altKey) ||\n (modifier === 'shift' && event?.shiftKey)\n\n return {\n active: !key || event?.ctrlKey || event?.metaKey || false,\n mode: reverseMode ? (mode === 'append' ? 'prepend' : 'append') : mode,\n }\n}\n\nexport function provideSort (options: {\n initialSortOrder: Ref<'asc' | 'desc'>\n sortBy: Ref<readonly SortItem[]>\n multiSort: Ref<boolean | MultiSortProps>\n mustSort: Ref<boolean>\n page?: Ref<number>\n}) {\n const { initialSortOrder, sortBy, mustSort, multiSort, page } = options\n\n const toggleSort = (column: InternalDataTableHeader, event?: KeyboardEvent | PointerEvent) => {\n if (column.key == null) return\n\n let newSortBy = sortBy.value.map(x => ({ ...x })) ?? []\n const item = newSortBy.find(x => x.key === column.key)\n\n const initialOrder = initialSortOrder.value\n const secondaryOrder = initialSortOrder.value === 'desc' ? 'asc' : 'desc'\n if (!item) {\n const { active, mode } = resolveMultiSort(multiSort.value, event)\n if (active) {\n if (mode === 'prepend') {\n newSortBy.unshift({ key: column.key, order: initialOrder })\n } else {\n newSortBy.push({ key: column.key, order: initialOrder })\n }\n } else {\n newSortBy = [{ key: column.key, order: initialOrder }]\n }\n } else if (item.order === secondaryOrder) {\n if (mustSort.value && newSortBy.length === 1) {\n item.order = initialSortOrder.value\n } else {\n newSortBy = newSortBy.filter(x => x.key !== column.key)\n }\n } else {\n item.order = secondaryOrder\n }\n\n sortBy.value = newSortBy\n if (page) page.value = 1\n }\n\n function isSorted (column: InternalDataTableHeader) {\n return !!sortBy.value.find(item => item.key === column.key)\n }\n\n const data = { sortBy, toggleSort, isSorted }\n\n provide(VDataTableSortSymbol, data)\n\n return data\n}\n\nexport function useSort () {\n const data = inject(VDataTableSortSymbol)\n\n if (!data) throw new Error('Missing sort!')\n\n return data\n}\n\n// TODO: abstract into project composable\nexport function useSortedItems<T extends InternalItem> (\n props: {\n customKeySort: Record<string, DataTableCompareFunction> | undefined\n },\n items: Ref<T[]>,\n sortBy: Ref<readonly SortItem[]>,\n options?: {\n transform?: (item: T) => {}\n sortFunctions?: Ref<Record<string, DataTableCompareFunction> | undefined>\n sortRawFunctions?: Ref<Record<string, DataTableCompareFunction> | undefined>\n },\n) {\n const locale = useLocale()\n const sortedItems = computed(() => {\n if (!sortBy.value.length) return items.value\n\n return sortItems(items.value, sortBy.value, locale.current.value, {\n transform: options?.transform,\n sortFunctions: {\n ...props.customKeySort,\n ...options?.sortFunctions?.value,\n },\n sortRawFunctions: options?.sortRawFunctions?.value,\n })\n })\n\n return { sortedItems }\n}\n\nexport function sortItems<T extends InternalItem> (\n items: T[],\n sortByItems: readonly SortItem[],\n locale: string,\n options?: {\n transform?: (item: T) => Record<string, any>\n sortFunctions?: Record<string, DataTableCompareFunction>\n sortRawFunctions?: Record<string, DataTableCompareFunction>\n },\n): T[] {\n const stringCollator = new Intl.Collator(locale, { sensitivity: 'accent', usage: 'sort' })\n\n const transformedItems = items.map(item => (\n [item, options?.transform ? options.transform(item) : item as never] as const)\n )\n\n return transformedItems.sort((a, b) => {\n for (let i = 0; i < sortByItems.length; i++) {\n let hasCustomResult = false\n const sortKey = sortByItems[i].key\n const sortOrder = sortByItems[i].order ?? 'asc'\n\n if (sortOrder === false) continue\n\n let sortA = getObjectValueByPath(a[1], sortKey)\n let sortB = getObjectValueByPath(b[1], sortKey)\n let sortARaw = a[0].raw\n let sortBRaw = b[0].raw\n\n if (sortOrder === 'desc') {\n [sortA, sortB] = [sortB, sortA]\n ;[sortARaw, sortBRaw] = [sortBRaw, sortARaw]\n }\n\n if (options?.sortRawFunctions?.[sortKey]) {\n const customResult = options.sortRawFunctions[sortKey](sortARaw, sortBRaw)\n\n if (customResult == null) continue\n hasCustomResult = true\n if (customResult) return customResult\n }\n\n if (options?.sortFunctions?.[sortKey]) {\n const customResult = options.sortFunctions[sortKey](sortA, sortB)\n\n if (customResult == null) continue\n hasCustomResult = true\n if (customResult) return customResult\n }\n\n if (hasCustomResult) continue\n\n // Dates should be compared numerically\n if (sortA instanceof Date && sortB instanceof Date) {\n sortA = sortA.getTime()\n sortB = sortB.getTime()\n }\n\n [sortA, sortB] = [sortA, sortB].map(s => s != null ? s.toString().toLocaleLowerCase() : s)\n\n if (sortA !== sortB) {\n if (isEmpty(sortA) && isEmpty(sortB)) return 0\n if (isEmpty(sortA)) return -1\n if (isEmpty(sortB)) return 1\n if (!isNaN(sortA) && !isNaN(sortB)) return Number(sortA) - Number(sortB)\n return stringCollator.compare(sortA, sortB)\n }\n }\n\n return 0\n }).map(([item]) => item)\n}\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.10.4-dev.2025-10-02";
19
+ export const version = "3.10.4-dev.2025-10-06";
20
20
  createVuetify.version = version;
21
21
  export { blueprints, components, directives };
22
22
  export * from "./composables/index.js";
@@ -2715,47 +2715,41 @@ declare module 'vue' {
2715
2715
  VAppBar: typeof import('vuetify/components')['VAppBar']
2716
2716
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
2717
2717
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
2718
- VBadge: typeof import('vuetify/components')['VBadge']
2719
- VApp: typeof import('vuetify/components')['VApp']
2720
2718
  VAlert: typeof import('vuetify/components')['VAlert']
2721
2719
  VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
2722
2720
  VAvatar: typeof import('vuetify/components')['VAvatar']
2721
+ VApp: typeof import('vuetify/components')['VApp']
2722
+ VBadge: typeof import('vuetify/components')['VBadge']
2723
+ VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2724
+ VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2725
+ VBtn: typeof import('vuetify/components')['VBtn']
2726
+ VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2723
2727
  VBanner: typeof import('vuetify/components')['VBanner']
2724
2728
  VBannerActions: typeof import('vuetify/components')['VBannerActions']
2725
2729
  VBannerText: typeof import('vuetify/components')['VBannerText']
2726
- VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2727
- VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2730
+ VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2728
2731
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
2729
2732
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
2730
2733
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
2731
- VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2732
- VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2733
- VBtn: typeof import('vuetify/components')['VBtn']
2734
- VCheckbox: typeof import('vuetify/components')['VCheckbox']
2735
- VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2736
- VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2737
- VCarousel: typeof import('vuetify/components')['VCarousel']
2738
- VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2734
+ VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2739
2735
  VCard: typeof import('vuetify/components')['VCard']
2740
2736
  VCardActions: typeof import('vuetify/components')['VCardActions']
2741
2737
  VCardItem: typeof import('vuetify/components')['VCardItem']
2742
2738
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
2743
2739
  VCardText: typeof import('vuetify/components')['VCardText']
2744
2740
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
2745
- VCode: typeof import('vuetify/components')['VCode']
2746
- VChipGroup: typeof import('vuetify/components')['VChipGroup']
2747
2741
  VChip: typeof import('vuetify/components')['VChip']
2748
- VDialog: typeof import('vuetify/components')['VDialog']
2749
- VCounter: typeof import('vuetify/components')['VCounter']
2742
+ VChipGroup: typeof import('vuetify/components')['VChipGroup']
2743
+ VCheckbox: typeof import('vuetify/components')['VCheckbox']
2744
+ VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2750
2745
  VCombobox: typeof import('vuetify/components')['VCombobox']
2751
- VDatePicker: typeof import('vuetify/components')['VDatePicker']
2752
- VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
2753
- VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
2754
- VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
2755
- VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
2756
- VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
2746
+ VCode: typeof import('vuetify/components')['VCode']
2757
2747
  VColorPicker: typeof import('vuetify/components')['VColorPicker']
2748
+ VCounter: typeof import('vuetify/components')['VCounter']
2758
2749
  VDivider: typeof import('vuetify/components')['VDivider']
2750
+ VCarousel: typeof import('vuetify/components')['VCarousel']
2751
+ VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2752
+ VDialog: typeof import('vuetify/components')['VDialog']
2759
2753
  VDataTable: typeof import('vuetify/components')['VDataTable']
2760
2754
  VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
2761
2755
  VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
@@ -2763,29 +2757,34 @@ declare module 'vue' {
2763
2757
  VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
2764
2758
  VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
2765
2759
  VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
2766
- VFab: typeof import('vuetify/components')['VFab']
2760
+ VEmptyState: typeof import('vuetify/components')['VEmptyState']
2761
+ VDatePicker: typeof import('vuetify/components')['VDatePicker']
2762
+ VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
2763
+ VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
2764
+ VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
2765
+ VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
2766
+ VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
2767
2767
  VField: typeof import('vuetify/components')['VField']
2768
2768
  VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
2769
- VEmptyState: typeof import('vuetify/components')['VEmptyState']
2770
2769
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
2771
2770
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
2772
2771
  VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
2773
2772
  VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
2773
+ VFab: typeof import('vuetify/components')['VFab']
2774
2774
  VFileInput: typeof import('vuetify/components')['VFileInput']
2775
- VImg: typeof import('vuetify/components')['VImg']
2776
2775
  VFooter: typeof import('vuetify/components')['VFooter']
2777
2776
  VIcon: typeof import('vuetify/components')['VIcon']
2778
2777
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
2779
2778
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
2780
2779
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
2781
2780
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
2782
- VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2783
- VKbd: typeof import('vuetify/components')['VKbd']
2781
+ VImg: typeof import('vuetify/components')['VImg']
2784
2782
  VInput: typeof import('vuetify/components')['VInput']
2785
2783
  VItemGroup: typeof import('vuetify/components')['VItemGroup']
2786
2784
  VItem: typeof import('vuetify/components')['VItem']
2787
- VLabel: typeof import('vuetify/components')['VLabel']
2788
- VMain: typeof import('vuetify/components')['VMain']
2785
+ VKbd: typeof import('vuetify/components')['VKbd']
2786
+ VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2787
+ VMenu: typeof import('vuetify/components')['VMenu']
2789
2788
  VList: typeof import('vuetify/components')['VList']
2790
2789
  VListGroup: typeof import('vuetify/components')['VListGroup']
2791
2790
  VListImg: typeof import('vuetify/components')['VListImg']
@@ -2795,79 +2794,79 @@ declare module 'vue' {
2795
2794
  VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
2796
2795
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
2797
2796
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
2798
- VMenu: typeof import('vuetify/components')['VMenu']
2799
- VMessages: typeof import('vuetify/components')['VMessages']
2797
+ VLabel: typeof import('vuetify/components')['VLabel']
2800
2798
  VNumberInput: typeof import('vuetify/components')['VNumberInput']
2801
2799
  VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
2800
+ VMessages: typeof import('vuetify/components')['VMessages']
2802
2801
  VOverlay: typeof import('vuetify/components')['VOverlay']
2803
- VOtpInput: typeof import('vuetify/components')['VOtpInput']
2802
+ VMain: typeof import('vuetify/components')['VMain']
2803
+ VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2804
2804
  VPagination: typeof import('vuetify/components')['VPagination']
2805
- VRating: typeof import('vuetify/components')['VRating']
2806
- VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2807
2805
  VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
2808
- VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2806
+ VOtpInput: typeof import('vuetify/components')['VOtpInput']
2807
+ VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2809
2808
  VSelect: typeof import('vuetify/components')['VSelect']
2809
+ VRating: typeof import('vuetify/components')['VRating']
2810
2810
  VSheet: typeof import('vuetify/components')['VSheet']
2811
2811
  VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2812
- VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2813
2812
  VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2814
2813
  VSlider: typeof import('vuetify/components')['VSlider']
2815
- VSnackbar: typeof import('vuetify/components')['VSnackbar']
2816
- VTable: typeof import('vuetify/components')['VTable']
2817
2814
  VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
2818
2815
  VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
2816
+ VSnackbar: typeof import('vuetify/components')['VSnackbar']
2817
+ VTab: typeof import('vuetify/components')['VTab']
2818
+ VTabs: typeof import('vuetify/components')['VTabs']
2819
+ VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
2820
+ VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
2821
+ VTextarea: typeof import('vuetify/components')['VTextarea']
2822
+ VTable: typeof import('vuetify/components')['VTable']
2823
+ VSystemBar: typeof import('vuetify/components')['VSystemBar']
2819
2824
  VStepper: typeof import('vuetify/components')['VStepper']
2820
2825
  VStepperActions: typeof import('vuetify/components')['VStepperActions']
2821
2826
  VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
2822
2827
  VStepperItem: typeof import('vuetify/components')['VStepperItem']
2823
2828
  VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
2824
2829
  VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
2825
- VSystemBar: typeof import('vuetify/components')['VSystemBar']
2826
- VSwitch: typeof import('vuetify/components')['VSwitch']
2827
- VTextarea: typeof import('vuetify/components')['VTextarea']
2828
2830
  VTextField: typeof import('vuetify/components')['VTextField']
2829
- VTab: typeof import('vuetify/components')['VTab']
2830
- VTabs: typeof import('vuetify/components')['VTabs']
2831
- VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
2832
- VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
2833
- VToolbar: typeof import('vuetify/components')['VToolbar']
2834
- VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
2835
- VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
2831
+ VTimeline: typeof import('vuetify/components')['VTimeline']
2832
+ VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2833
+ VSwitch: typeof import('vuetify/components')['VSwitch']
2836
2834
  VTimePicker: typeof import('vuetify/components')['VTimePicker']
2837
2835
  VTimePickerClock: typeof import('vuetify/components')['VTimePickerClock']
2838
2836
  VTimePickerControls: typeof import('vuetify/components')['VTimePickerControls']
2837
+ VToolbar: typeof import('vuetify/components')['VToolbar']
2838
+ VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
2839
+ VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
2839
2840
  VTooltip: typeof import('vuetify/components')['VTooltip']
2840
- VTimeline: typeof import('vuetify/components')['VTimeline']
2841
- VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2842
2841
  VWindow: typeof import('vuetify/components')['VWindow']
2843
2842
  VWindowItem: typeof import('vuetify/components')['VWindowItem']
2844
2843
  VTreeview: typeof import('vuetify/components')['VTreeview']
2845
2844
  VTreeviewItem: typeof import('vuetify/components')['VTreeviewItem']
2846
2845
  VTreeviewGroup: typeof import('vuetify/components')['VTreeviewGroup']
2847
- VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
2846
+ VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2848
2847
  VDataIterator: typeof import('vuetify/components')['VDataIterator']
2848
+ VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
2849
2849
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
2850
- VForm: typeof import('vuetify/components')['VForm']
2851
2850
  VContainer: typeof import('vuetify/components')['VContainer']
2852
2851
  VCol: typeof import('vuetify/components')['VCol']
2853
2852
  VRow: typeof import('vuetify/components')['VRow']
2854
2853
  VSpacer: typeof import('vuetify/components')['VSpacer']
2854
+ VForm: typeof import('vuetify/components')['VForm']
2855
2855
  VHover: typeof import('vuetify/components')['VHover']
2856
2856
  VLayout: typeof import('vuetify/components')['VLayout']
2857
2857
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
2858
- VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
2859
2858
  VLazy: typeof import('vuetify/components')['VLazy']
2860
- VRadio: typeof import('vuetify/components')['VRadio']
2861
2859
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
2860
+ VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
2862
2861
  VParallax: typeof import('vuetify/components')['VParallax']
2863
- VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2862
+ VRadio: typeof import('vuetify/components')['VRadio']
2864
2863
  VResponsive: typeof import('vuetify/components')['VResponsive']
2864
+ VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2865
2865
  VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
2866
2866
  VSparkline: typeof import('vuetify/components')['VSparkline']
2867
2867
  VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
2868
- VValidation: typeof import('vuetify/components')['VValidation']
2869
2868
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
2870
- VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
2869
+ VValidation: typeof import('vuetify/components')['VValidation']
2871
2870
  VFabTransition: typeof import('vuetify/components')['VFabTransition']
2872
2871
  VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
2873
2872
  VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
@@ -2884,23 +2883,24 @@ declare module 'vue' {
2884
2883
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
2885
2884
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
2886
2885
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
2886
+ VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
2887
+ VCalendar: typeof import('vuetify/labs/components')['VCalendar']
2887
2888
  VColorInput: typeof import('vuetify/labs/components')['VColorInput']
2888
- VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2889
2889
  VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2890
2890
  VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2891
- VPicker: typeof import('vuetify/labs/components')['VPicker']
2892
- VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
2893
- VCalendar: typeof import('vuetify/labs/components')['VCalendar']
2894
- VPie: typeof import('vuetify/labs/components')['VPie']
2895
- VPieSegment: typeof import('vuetify/labs/components')['VPieSegment']
2896
- VPieTooltip: typeof import('vuetify/labs/components')['VPieTooltip']
2891
+ VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2897
2892
  VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
2898
2893
  VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
2899
2894
  VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
2900
- VHotkey: typeof import('vuetify/labs/components')['VHotkey']
2901
2895
  VVideo: typeof import('vuetify/labs/components')['VVideo']
2902
2896
  VVideoControls: typeof import('vuetify/labs/components')['VVideoControls']
2903
2897
  VVideoVolume: typeof import('vuetify/labs/components')['VVideoVolume']
2898
+ VHotkey: typeof import('vuetify/labs/components')['VHotkey']
2899
+ VPicker: typeof import('vuetify/labs/components')['VPicker']
2900
+ VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
2901
+ VPie: typeof import('vuetify/labs/components')['VPie']
2902
+ VPieSegment: typeof import('vuetify/labs/components')['VPieSegment']
2903
+ VPieTooltip: typeof import('vuetify/labs/components')['VPieTooltip']
2904
2904
  VDateInput: typeof import('vuetify/labs/components')['VDateInput']
2905
2905
  VMaskInput: typeof import('vuetify/labs/components')['VMaskInput']
2906
2906
  VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
package/lib/framework.js CHANGED
@@ -109,7 +109,7 @@ export function createVuetify() {
109
109
  };
110
110
  });
111
111
  }
112
- export const version = "3.10.4-dev.2025-10-02";
112
+ export const version = "3.10.4-dev.2025-10-06";
113
113
  createVuetify.version = version;
114
114
 
115
115
  // Vue's inject() can only be used in setup
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.10.4-dev.2025-10-02",
4
+ "version": "3.10.4-dev.2025-10-06",
5
5
  "author": {
6
6
  "name": "John Leider",
7
7
  "email": "john@vuetifyjs.com"