@vuetify/nightly 3.7.5-master.2024-12-15 → 3.7.5-master.2024-12-17

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 (36) hide show
  1. package/dist/json/attributes.json +1979 -1979
  2. package/dist/json/importMap-labs.json +18 -18
  3. package/dist/json/importMap.json +148 -148
  4. package/dist/json/web-types.json +3910 -3910
  5. package/dist/vuetify-labs.css +3554 -3554
  6. package/dist/vuetify-labs.esm.js +28 -16
  7. package/dist/vuetify-labs.esm.js.map +1 -1
  8. package/dist/vuetify-labs.js +28 -16
  9. package/dist/vuetify-labs.min.css +2 -2
  10. package/dist/vuetify.css +3384 -3384
  11. package/dist/vuetify.d.ts +49 -49
  12. package/dist/vuetify.esm.js +28 -16
  13. package/dist/vuetify.esm.js.map +1 -1
  14. package/dist/vuetify.js +28 -16
  15. package/dist/vuetify.js.map +1 -1
  16. package/dist/vuetify.min.css +2 -2
  17. package/dist/vuetify.min.js +37 -37
  18. package/dist/vuetify.min.js.map +1 -1
  19. package/lib/components/VAutocomplete/VAutocomplete.mjs +2 -1
  20. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  21. package/lib/components/VCombobox/VCombobox.mjs +2 -1
  22. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  23. package/lib/components/VList/VListItem.mjs +14 -8
  24. package/lib/components/VList/VListItem.mjs.map +1 -1
  25. package/lib/components/VSelect/VSelect.mjs +2 -1
  26. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  27. package/lib/components/VVirtualScroll/VVirtualScroll.mjs +1 -1
  28. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  29. package/lib/composables/nested/nested.mjs +4 -2
  30. package/lib/composables/nested/nested.mjs.map +1 -1
  31. package/lib/composables/virtual.mjs +3 -2
  32. package/lib/composables/virtual.mjs.map +1 -1
  33. package/lib/entry-bundler.mjs +1 -1
  34. package/lib/framework.mjs +1 -1
  35. package/lib/index.d.mts +49 -49
  36. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"virtual.mjs","names":["useDisplay","useResizeObserver","computed","nextTick","onScopeDispose","ref","shallowRef","watch","watchEffect","clamp","debounce","IN_BROWSER","propsFactory","UP","DOWN","BUFFER_PX","makeVirtualProps","itemHeight","type","Number","String","default","height","useVirtual","props","items","display","value","parseFloat","first","last","Math","ceil","parseInt","paddingTop","paddingBottom","containerRef","markerRef","markerOffset","resizeRef","contentRect","viewportHeight","document","documentElement","hasInitialRender","sizes","Array","from","length","offsets","updateTime","targetScrollIndex","getSize","index","updateOffsets","start","performance","now","i","max","unwatch","v","offsetTop","immediate","calculateVisibleItems","window","requestAnimationFrame","scrollToIndex","clear","handleItemResize","prevHeight","prevMinHeight","min","calculateOffset","calculateIndex","scrollTop","binaryClosest","lastScrollTop","scrollVelocity","lastScrollTime","val","oldVal","scrollTimeout","handleScroll","scrollTime","scrollDeltaT","sign","clearTimeout","setTimeout","handleScrollend","raf","cancelAnimationFrame","_calculateVisibleItems","direction","startPx","endPx","end","topOverflow","bottomOverflow","bufferOverflow","offset","computedItems","slice","map","item","raw","deep","arr","high","low","mid","target"],"sources":["../../src/composables/virtual.ts"],"sourcesContent":["// Composables\nimport { useDisplay } from '@/composables/display'\nimport { useResizeObserver } from '@/composables/resizeObserver'\n\n// Utilities\nimport { computed, nextTick, onScopeDispose, ref, shallowRef, watch, watchEffect } from 'vue'\nimport { clamp, debounce, IN_BROWSER, propsFactory } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\nconst UP = -1\nconst DOWN = 1\n\n/** Determines how large each batch of items should be */\nconst BUFFER_PX = 100\n\ntype VirtualProps = {\n itemHeight?: number | string\n height?: number | string\n}\n\nexport const makeVirtualProps = propsFactory({\n itemHeight: {\n type: [Number, String],\n default: null,\n },\n height: [Number, String],\n}, 'virtual')\n\nexport function useVirtual <T> (props: VirtualProps, items: Ref<readonly T[]>) {\n const display = useDisplay()\n\n const itemHeight = shallowRef(0)\n watchEffect(() => {\n itemHeight.value = parseFloat(props.itemHeight || 0)\n })\n\n const first = shallowRef(0)\n const last = shallowRef(Math.ceil(\n // Assume 16px items filling the entire screen height if\n // not provided. This is probably incorrect but it minimises\n // the chance of ending up with empty space at the bottom.\n // The default value is set here to avoid poisoning getSize()\n (parseInt(props.height!) || display.height.value) / (itemHeight.value || 16)\n ) || 1)\n const paddingTop = shallowRef(0)\n const paddingBottom = shallowRef(0)\n\n /** The scrollable element */\n const containerRef = ref<HTMLElement>()\n /** An element marking the top of the scrollable area,\n * used to add an offset if there's padding or other elements above the virtual list */\n const markerRef = ref<HTMLElement>()\n /** markerRef's offsetTop, lazily evaluated */\n let markerOffset = 0\n\n const { resizeRef, contentRect } = useResizeObserver()\n watchEffect(() => {\n resizeRef.value = containerRef.value\n })\n const viewportHeight = computed(() => {\n return containerRef.value === document.documentElement\n ? display.height.value\n : contentRect.value?.height || parseInt(props.height!) || 0\n })\n /** All static elements have been rendered and we have an assumed item height */\n const hasInitialRender = computed(() => {\n return !!(containerRef.value && markerRef.value && viewportHeight.value && itemHeight.value)\n })\n\n let sizes = Array.from<number | null>({ length: items.value.length })\n let offsets = Array.from<number>({ length: items.value.length })\n const updateTime = shallowRef(0)\n let targetScrollIndex = -1\n\n function getSize (index: number) {\n return sizes[index] || itemHeight.value\n }\n\n const updateOffsets = debounce(() => {\n const start = performance.now()\n offsets[0] = 0\n const length = items.value.length\n for (let i = 1; i <= length - 1; i++) {\n offsets[i] = (offsets[i - 1] || 0) + getSize(i - 1)\n }\n updateTime.value = Math.max(updateTime.value, performance.now() - start)\n }, updateTime)\n\n const unwatch = watch(hasInitialRender, v => {\n if (!v) return\n // First render is complete, update offsets and visible\n // items in case our assumed item height was incorrect\n\n unwatch()\n markerOffset = markerRef.value!.offsetTop\n updateOffsets.immediate()\n calculateVisibleItems()\n\n if (!~targetScrollIndex) return\n\n nextTick(() => {\n IN_BROWSER && window.requestAnimationFrame(() => {\n scrollToIndex(targetScrollIndex)\n targetScrollIndex = -1\n })\n })\n })\n\n onScopeDispose(() => {\n updateOffsets.clear()\n })\n\n function handleItemResize (index: number, height: number) {\n const prevHeight = sizes[index]\n const prevMinHeight = itemHeight.value\n\n itemHeight.value = prevMinHeight ? Math.min(itemHeight.value, height) : height\n\n if (prevHeight !== height || prevMinHeight !== itemHeight.value) {\n sizes[index] = height\n updateOffsets()\n }\n }\n\n function calculateOffset (index: number) {\n index = clamp(index, 0, items.value.length - 1)\n return offsets[index] || 0\n }\n\n function calculateIndex (scrollTop: number) {\n return binaryClosest(offsets, scrollTop)\n }\n\n let lastScrollTop = 0\n let scrollVelocity = 0\n let lastScrollTime = 0\n\n watch(viewportHeight, (val, oldVal) => {\n if (oldVal) {\n calculateVisibleItems()\n if (val < oldVal) {\n requestAnimationFrame(() => {\n scrollVelocity = 0\n calculateVisibleItems()\n })\n }\n }\n })\n\n let scrollTimeout = -1\n function handleScroll () {\n if (!containerRef.value || !markerRef.value) return\n\n const scrollTop = containerRef.value.scrollTop\n const scrollTime = performance.now()\n const scrollDeltaT = scrollTime - lastScrollTime\n\n if (scrollDeltaT > 500) {\n scrollVelocity = Math.sign(scrollTop - lastScrollTop)\n\n // Not super important, only update at the\n // start of a scroll sequence to avoid reflows\n markerOffset = markerRef.value.offsetTop\n } else {\n scrollVelocity = scrollTop - lastScrollTop\n }\n\n lastScrollTop = scrollTop\n lastScrollTime = scrollTime\n\n window.clearTimeout(scrollTimeout)\n scrollTimeout = window.setTimeout(handleScrollend, 500)\n\n calculateVisibleItems()\n }\n function handleScrollend () {\n if (!containerRef.value || !markerRef.value) return\n\n scrollVelocity = 0\n lastScrollTime = 0\n\n window.clearTimeout(scrollTimeout)\n calculateVisibleItems()\n }\n\n let raf = -1\n function calculateVisibleItems () {\n cancelAnimationFrame(raf)\n raf = requestAnimationFrame(_calculateVisibleItems)\n }\n function _calculateVisibleItems () {\n if (!containerRef.value || !viewportHeight.value) return\n const scrollTop = lastScrollTop - markerOffset\n const direction = Math.sign(scrollVelocity)\n\n const startPx = Math.max(0, scrollTop - BUFFER_PX)\n const start = clamp(calculateIndex(startPx), 0, items.value.length)\n\n const endPx = scrollTop + viewportHeight.value + BUFFER_PX\n const end = clamp(calculateIndex(endPx) + 1, start + 1, items.value.length)\n\n if (\n // Only update the side we're scrolling towards,\n // the other side will be updated incidentally\n (direction !== UP || start < first.value) &&\n (direction !== DOWN || end > last.value)\n ) {\n const topOverflow = calculateOffset(first.value) - calculateOffset(start)\n const bottomOverflow = calculateOffset(end) - calculateOffset(last.value)\n const bufferOverflow = Math.max(topOverflow, bottomOverflow)\n\n if (bufferOverflow > BUFFER_PX) {\n first.value = start\n last.value = end\n } else {\n // Only update the side that's reached its limit if there's still buffer left\n if (start <= 0) first.value = start\n if (end >= items.value.length) last.value = end\n }\n }\n\n paddingTop.value = calculateOffset(first.value)\n paddingBottom.value = calculateOffset(items.value.length) - calculateOffset(last.value)\n }\n\n function scrollToIndex (index: number) {\n const offset = calculateOffset(index)\n if (!containerRef.value || (index && !offset)) {\n targetScrollIndex = index\n } else {\n containerRef.value.scrollTop = offset\n }\n }\n\n const computedItems = computed(() => {\n return items.value.slice(first.value, last.value).map((item, index) => ({\n raw: item,\n index: index + first.value,\n }))\n })\n\n watch(items, () => {\n sizes = Array.from({ length: items.value.length })\n offsets = Array.from({ length: items.value.length })\n updateOffsets.immediate()\n calculateVisibleItems()\n }, { deep: true })\n\n return {\n calculateVisibleItems,\n containerRef,\n markerRef,\n computedItems,\n paddingTop,\n paddingBottom,\n scrollToIndex,\n handleScroll,\n handleScrollend,\n handleItemResize,\n }\n}\n\n// https://gist.github.com/robertleeplummerjr/1cc657191d34ecd0a324\nfunction binaryClosest (arr: ArrayLike<number>, val: number) {\n let high = arr.length - 1\n let low = 0\n let mid = 0\n let item = null\n let target = -1\n\n if (arr[high]! < val) {\n return high\n }\n\n while (low <= high) {\n mid = (low + high) >> 1\n item = arr[mid]!\n\n if (item > val) {\n high = mid - 1\n } else if (item < val) {\n target = mid\n low = mid + 1\n } else if (item === val) {\n return mid\n } else {\n return low\n }\n }\n\n return target\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"virtual.mjs","names":["useDisplay","useResizeObserver","computed","nextTick","onScopeDispose","ref","shallowRef","watch","watchEffect","clamp","debounce","IN_BROWSER","isObject","propsFactory","UP","DOWN","BUFFER_PX","makeVirtualProps","itemHeight","type","Number","String","default","height","useVirtual","props","items","display","value","parseFloat","first","last","Math","ceil","parseInt","paddingTop","paddingBottom","containerRef","markerRef","markerOffset","resizeRef","contentRect","viewportHeight","document","documentElement","hasInitialRender","sizes","Array","from","length","offsets","updateTime","targetScrollIndex","getSize","index","updateOffsets","start","performance","now","i","max","unwatch","v","offsetTop","immediate","calculateVisibleItems","window","requestAnimationFrame","scrollToIndex","clear","handleItemResize","prevHeight","prevMinHeight","min","calculateOffset","calculateIndex","scrollTop","binaryClosest","lastScrollTop","scrollVelocity","lastScrollTime","val","oldVal","scrollTimeout","handleScroll","scrollTime","scrollDeltaT","sign","clearTimeout","setTimeout","handleScrollend","raf","cancelAnimationFrame","_calculateVisibleItems","direction","startPx","endPx","end","topOverflow","bottomOverflow","bufferOverflow","offset","computedItems","slice","map","item","raw","key","deep","arr","high","low","mid","target"],"sources":["../../src/composables/virtual.ts"],"sourcesContent":["// Composables\nimport { useDisplay } from '@/composables/display'\nimport { useResizeObserver } from '@/composables/resizeObserver'\n\n// Utilities\nimport { computed, nextTick, onScopeDispose, ref, shallowRef, watch, watchEffect } from 'vue'\nimport { clamp, debounce, IN_BROWSER, isObject, propsFactory } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\nconst UP = -1\nconst DOWN = 1\n\n/** Determines how large each batch of items should be */\nconst BUFFER_PX = 100\n\ntype VirtualProps = {\n itemHeight?: number | string\n height?: number | string\n}\n\nexport const makeVirtualProps = propsFactory({\n itemHeight: {\n type: [Number, String],\n default: null,\n },\n height: [Number, String],\n}, 'virtual')\n\nexport function useVirtual <T> (props: VirtualProps, items: Ref<readonly T[]>) {\n const display = useDisplay()\n\n const itemHeight = shallowRef(0)\n watchEffect(() => {\n itemHeight.value = parseFloat(props.itemHeight || 0)\n })\n\n const first = shallowRef(0)\n const last = shallowRef(Math.ceil(\n // Assume 16px items filling the entire screen height if\n // not provided. This is probably incorrect but it minimises\n // the chance of ending up with empty space at the bottom.\n // The default value is set here to avoid poisoning getSize()\n (parseInt(props.height!) || display.height.value) / (itemHeight.value || 16)\n ) || 1)\n const paddingTop = shallowRef(0)\n const paddingBottom = shallowRef(0)\n\n /** The scrollable element */\n const containerRef = ref<HTMLElement>()\n /** An element marking the top of the scrollable area,\n * used to add an offset if there's padding or other elements above the virtual list */\n const markerRef = ref<HTMLElement>()\n /** markerRef's offsetTop, lazily evaluated */\n let markerOffset = 0\n\n const { resizeRef, contentRect } = useResizeObserver()\n watchEffect(() => {\n resizeRef.value = containerRef.value\n })\n const viewportHeight = computed(() => {\n return containerRef.value === document.documentElement\n ? display.height.value\n : contentRect.value?.height || parseInt(props.height!) || 0\n })\n /** All static elements have been rendered and we have an assumed item height */\n const hasInitialRender = computed(() => {\n return !!(containerRef.value && markerRef.value && viewportHeight.value && itemHeight.value)\n })\n\n let sizes = Array.from<number | null>({ length: items.value.length })\n let offsets = Array.from<number>({ length: items.value.length })\n const updateTime = shallowRef(0)\n let targetScrollIndex = -1\n\n function getSize (index: number) {\n return sizes[index] || itemHeight.value\n }\n\n const updateOffsets = debounce(() => {\n const start = performance.now()\n offsets[0] = 0\n const length = items.value.length\n for (let i = 1; i <= length - 1; i++) {\n offsets[i] = (offsets[i - 1] || 0) + getSize(i - 1)\n }\n updateTime.value = Math.max(updateTime.value, performance.now() - start)\n }, updateTime)\n\n const unwatch = watch(hasInitialRender, v => {\n if (!v) return\n // First render is complete, update offsets and visible\n // items in case our assumed item height was incorrect\n\n unwatch()\n markerOffset = markerRef.value!.offsetTop\n updateOffsets.immediate()\n calculateVisibleItems()\n\n if (!~targetScrollIndex) return\n\n nextTick(() => {\n IN_BROWSER && window.requestAnimationFrame(() => {\n scrollToIndex(targetScrollIndex)\n targetScrollIndex = -1\n })\n })\n })\n\n onScopeDispose(() => {\n updateOffsets.clear()\n })\n\n function handleItemResize (index: number, height: number) {\n const prevHeight = sizes[index]\n const prevMinHeight = itemHeight.value\n\n itemHeight.value = prevMinHeight ? Math.min(itemHeight.value, height) : height\n\n if (prevHeight !== height || prevMinHeight !== itemHeight.value) {\n sizes[index] = height\n updateOffsets()\n }\n }\n\n function calculateOffset (index: number) {\n index = clamp(index, 0, items.value.length - 1)\n return offsets[index] || 0\n }\n\n function calculateIndex (scrollTop: number) {\n return binaryClosest(offsets, scrollTop)\n }\n\n let lastScrollTop = 0\n let scrollVelocity = 0\n let lastScrollTime = 0\n\n watch(viewportHeight, (val, oldVal) => {\n if (oldVal) {\n calculateVisibleItems()\n if (val < oldVal) {\n requestAnimationFrame(() => {\n scrollVelocity = 0\n calculateVisibleItems()\n })\n }\n }\n })\n\n let scrollTimeout = -1\n function handleScroll () {\n if (!containerRef.value || !markerRef.value) return\n\n const scrollTop = containerRef.value.scrollTop\n const scrollTime = performance.now()\n const scrollDeltaT = scrollTime - lastScrollTime\n\n if (scrollDeltaT > 500) {\n scrollVelocity = Math.sign(scrollTop - lastScrollTop)\n\n // Not super important, only update at the\n // start of a scroll sequence to avoid reflows\n markerOffset = markerRef.value.offsetTop\n } else {\n scrollVelocity = scrollTop - lastScrollTop\n }\n\n lastScrollTop = scrollTop\n lastScrollTime = scrollTime\n\n window.clearTimeout(scrollTimeout)\n scrollTimeout = window.setTimeout(handleScrollend, 500)\n\n calculateVisibleItems()\n }\n function handleScrollend () {\n if (!containerRef.value || !markerRef.value) return\n\n scrollVelocity = 0\n lastScrollTime = 0\n\n window.clearTimeout(scrollTimeout)\n calculateVisibleItems()\n }\n\n let raf = -1\n function calculateVisibleItems () {\n cancelAnimationFrame(raf)\n raf = requestAnimationFrame(_calculateVisibleItems)\n }\n function _calculateVisibleItems () {\n if (!containerRef.value || !viewportHeight.value) return\n const scrollTop = lastScrollTop - markerOffset\n const direction = Math.sign(scrollVelocity)\n\n const startPx = Math.max(0, scrollTop - BUFFER_PX)\n const start = clamp(calculateIndex(startPx), 0, items.value.length)\n\n const endPx = scrollTop + viewportHeight.value + BUFFER_PX\n const end = clamp(calculateIndex(endPx) + 1, start + 1, items.value.length)\n\n if (\n // Only update the side we're scrolling towards,\n // the other side will be updated incidentally\n (direction !== UP || start < first.value) &&\n (direction !== DOWN || end > last.value)\n ) {\n const topOverflow = calculateOffset(first.value) - calculateOffset(start)\n const bottomOverflow = calculateOffset(end) - calculateOffset(last.value)\n const bufferOverflow = Math.max(topOverflow, bottomOverflow)\n\n if (bufferOverflow > BUFFER_PX) {\n first.value = start\n last.value = end\n } else {\n // Only update the side that's reached its limit if there's still buffer left\n if (start <= 0) first.value = start\n if (end >= items.value.length) last.value = end\n }\n }\n\n paddingTop.value = calculateOffset(first.value)\n paddingBottom.value = calculateOffset(items.value.length) - calculateOffset(last.value)\n }\n\n function scrollToIndex (index: number) {\n const offset = calculateOffset(index)\n if (!containerRef.value || (index && !offset)) {\n targetScrollIndex = index\n } else {\n containerRef.value.scrollTop = offset\n }\n }\n\n const computedItems = computed(() => {\n return items.value.slice(first.value, last.value).map((item, index) => ({\n raw: item,\n index: index + first.value,\n key: (isObject(item) && 'value' in item) ? item.value : index + first.value,\n }))\n })\n\n watch(items, () => {\n sizes = Array.from({ length: items.value.length })\n offsets = Array.from({ length: items.value.length })\n updateOffsets.immediate()\n calculateVisibleItems()\n }, { deep: true })\n\n return {\n calculateVisibleItems,\n containerRef,\n markerRef,\n computedItems,\n paddingTop,\n paddingBottom,\n scrollToIndex,\n handleScroll,\n handleScrollend,\n handleItemResize,\n }\n}\n\n// https://gist.github.com/robertleeplummerjr/1cc657191d34ecd0a324\nfunction binaryClosest (arr: ArrayLike<number>, val: number) {\n let high = arr.length - 1\n let low = 0\n let mid = 0\n let item = null\n let target = -1\n\n if (arr[high]! < val) {\n return high\n }\n\n while (low <= high) {\n mid = (low + high) >> 1\n item = arr[mid]!\n\n if (item > val) {\n high = mid - 1\n } else if (item < val) {\n target = mid\n low = mid + 1\n } else if (item === val) {\n return mid\n } else {\n return low\n }\n }\n\n return target\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.7.5-master.2024-12-15";
19
+ export const version = "3.7.5-master.2024-12-17";
20
20
  createVuetify.version = version;
21
21
  export { blueprints, components, directives };
22
22
  export * from "./composables/index.mjs";
package/lib/framework.mjs CHANGED
@@ -97,7 +97,7 @@ export function createVuetify() {
97
97
  goTo
98
98
  };
99
99
  }
100
- export const version = "3.7.5-master.2024-12-15";
100
+ export const version = "3.7.5-master.2024-12-17";
101
101
  createVuetify.version = version;
102
102
 
103
103
  // Vue's inject() can only be used in setup
package/lib/index.d.mts CHANGED
@@ -486,58 +486,62 @@ declare module 'vue' {
486
486
  $children?: VNodeChild
487
487
  }
488
488
  export interface GlobalComponents {
489
- VApp: typeof import('vuetify/components')['VApp']
490
489
  VAppBar: typeof import('vuetify/components')['VAppBar']
491
490
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
492
491
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
493
492
  VAlert: typeof import('vuetify/components')['VAlert']
494
493
  VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
494
+ VApp: typeof import('vuetify/components')['VApp']
495
495
  VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
496
- VAvatar: typeof import('vuetify/components')['VAvatar']
497
- VBadge: typeof import('vuetify/components')['VBadge']
498
496
  VBanner: typeof import('vuetify/components')['VBanner']
499
497
  VBannerActions: typeof import('vuetify/components')['VBannerActions']
500
498
  VBannerText: typeof import('vuetify/components')['VBannerText']
501
- VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
499
+ VBadge: typeof import('vuetify/components')['VBadge']
500
+ VAvatar: typeof import('vuetify/components')['VAvatar']
502
501
  VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
503
502
  VBtn: typeof import('vuetify/components')['VBtn']
504
503
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
505
504
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
506
505
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
507
506
  VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
507
+ VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
508
+ VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
509
+ VCarousel: typeof import('vuetify/components')['VCarousel']
510
+ VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
511
+ VCheckbox: typeof import('vuetify/components')['VCheckbox']
512
+ VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
513
+ VChipGroup: typeof import('vuetify/components')['VChipGroup']
514
+ VCode: typeof import('vuetify/components')['VCode']
508
515
  VCard: typeof import('vuetify/components')['VCard']
509
516
  VCardActions: typeof import('vuetify/components')['VCardActions']
510
517
  VCardItem: typeof import('vuetify/components')['VCardItem']
511
518
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
512
519
  VCardText: typeof import('vuetify/components')['VCardText']
513
520
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
514
- VChip: typeof import('vuetify/components')['VChip']
515
- VCode: typeof import('vuetify/components')['VCode']
516
- VCarousel: typeof import('vuetify/components')['VCarousel']
517
- VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
521
+ VCounter: typeof import('vuetify/components')['VCounter']
518
522
  VCombobox: typeof import('vuetify/components')['VCombobox']
519
- VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
520
523
  VColorPicker: typeof import('vuetify/components')['VColorPicker']
521
- VDataTable: typeof import('vuetify/components')['VDataTable']
522
- VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
523
- VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
524
- VDataTableRows: typeof import('vuetify/components')['VDataTableRows']
525
- VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
526
- VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
527
- VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
524
+ VChip: typeof import('vuetify/components')['VChip']
528
525
  VDatePicker: typeof import('vuetify/components')['VDatePicker']
529
526
  VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
530
527
  VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
531
528
  VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
532
529
  VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
533
530
  VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
534
- VCounter: typeof import('vuetify/components')['VCounter']
535
531
  VDialog: typeof import('vuetify/components')['VDialog']
536
532
  VDivider: typeof import('vuetify/components')['VDivider']
533
+ VDataTable: typeof import('vuetify/components')['VDataTable']
534
+ VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
535
+ VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
536
+ VDataTableRows: typeof import('vuetify/components')['VDataTableRows']
537
+ VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
538
+ VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
539
+ VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
537
540
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
538
541
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
539
542
  VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
540
543
  VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
544
+ VEmptyState: typeof import('vuetify/components')['VEmptyState']
541
545
  VFab: typeof import('vuetify/components')['VFab']
542
546
  VField: typeof import('vuetify/components')['VField']
543
547
  VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
@@ -548,13 +552,13 @@ declare module 'vue' {
548
552
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
549
553
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
550
554
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
551
- VImg: typeof import('vuetify/components')['VImg']
552
555
  VInput: typeof import('vuetify/components')['VInput']
553
- VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
556
+ VImg: typeof import('vuetify/components')['VImg']
554
557
  VItemGroup: typeof import('vuetify/components')['VItemGroup']
555
558
  VItem: typeof import('vuetify/components')['VItem']
559
+ VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
560
+ VMain: typeof import('vuetify/components')['VMain']
556
561
  VKbd: typeof import('vuetify/components')['VKbd']
557
- VLabel: typeof import('vuetify/components')['VLabel']
558
562
  VList: typeof import('vuetify/components')['VList']
559
563
  VListGroup: typeof import('vuetify/components')['VListGroup']
560
564
  VListImg: typeof import('vuetify/components')['VListImg']
@@ -564,26 +568,25 @@ declare module 'vue' {
564
568
  VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
565
569
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
566
570
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
567
- VMenu: typeof import('vuetify/components')['VMenu']
568
- VMessages: typeof import('vuetify/components')['VMessages']
569
- VCheckbox: typeof import('vuetify/components')['VCheckbox']
570
- VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
571
+ VLabel: typeof import('vuetify/components')['VLabel']
571
572
  VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
572
573
  VOtpInput: typeof import('vuetify/components')['VOtpInput']
573
- VOverlay: typeof import('vuetify/components')['VOverlay']
574
- VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
575
574
  VPagination: typeof import('vuetify/components')['VPagination']
575
+ VMenu: typeof import('vuetify/components')['VMenu']
576
+ VMessages: typeof import('vuetify/components')['VMessages']
577
+ VOverlay: typeof import('vuetify/components')['VOverlay']
576
578
  VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
577
579
  VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
578
- VEmptyState: typeof import('vuetify/components')['VEmptyState']
579
- VRating: typeof import('vuetify/components')['VRating']
580
+ VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
580
581
  VSelect: typeof import('vuetify/components')['VSelect']
581
582
  VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
582
- VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
583
- VSheet: typeof import('vuetify/components')['VSheet']
584
583
  VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
584
+ VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
585
+ VRating: typeof import('vuetify/components')['VRating']
585
586
  VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
586
587
  VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
588
+ VSlider: typeof import('vuetify/components')['VSlider']
589
+ VSheet: typeof import('vuetify/components')['VSheet']
587
590
  VSnackbar: typeof import('vuetify/components')['VSnackbar']
588
591
  VStepper: typeof import('vuetify/components')['VStepper']
589
592
  VStepperActions: typeof import('vuetify/components')['VStepperActions']
@@ -591,44 +594,45 @@ declare module 'vue' {
591
594
  VStepperItem: typeof import('vuetify/components')['VStepperItem']
592
595
  VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
593
596
  VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
597
+ VSwitch: typeof import('vuetify/components')['VSwitch']
594
598
  VSystemBar: typeof import('vuetify/components')['VSystemBar']
595
599
  VTable: typeof import('vuetify/components')['VTable']
596
600
  VTab: typeof import('vuetify/components')['VTab']
597
601
  VTabs: typeof import('vuetify/components')['VTabs']
598
602
  VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
599
603
  VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
600
- VTextarea: typeof import('vuetify/components')['VTextarea']
601
604
  VTextField: typeof import('vuetify/components')['VTextField']
602
- VSlider: typeof import('vuetify/components')['VSlider']
605
+ VTextarea: typeof import('vuetify/components')['VTextarea']
606
+ VTimeline: typeof import('vuetify/components')['VTimeline']
607
+ VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
603
608
  VToolbar: typeof import('vuetify/components')['VToolbar']
604
609
  VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
605
610
  VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
606
- VTimeline: typeof import('vuetify/components')['VTimeline']
607
- VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
608
- VTooltip: typeof import('vuetify/components')['VTooltip']
609
611
  VWindow: typeof import('vuetify/components')['VWindow']
610
612
  VWindowItem: typeof import('vuetify/components')['VWindowItem']
611
- VSwitch: typeof import('vuetify/components')['VSwitch']
613
+ VTooltip: typeof import('vuetify/components')['VTooltip']
612
614
  VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
615
+ VDataIterator: typeof import('vuetify/components')['VDataIterator']
613
616
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
614
617
  VForm: typeof import('vuetify/components')['VForm']
618
+ VHover: typeof import('vuetify/components')['VHover']
615
619
  VContainer: typeof import('vuetify/components')['VContainer']
616
620
  VCol: typeof import('vuetify/components')['VCol']
617
621
  VRow: typeof import('vuetify/components')['VRow']
618
622
  VSpacer: typeof import('vuetify/components')['VSpacer']
619
- VHover: typeof import('vuetify/components')['VHover']
623
+ VLazy: typeof import('vuetify/components')['VLazy']
620
624
  VLayout: typeof import('vuetify/components')['VLayout']
621
625
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
622
- VLazy: typeof import('vuetify/components')['VLazy']
623
626
  VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
624
- VDataIterator: typeof import('vuetify/components')['VDataIterator']
627
+ VNoSsr: typeof import('vuetify/components')['VNoSsr']
625
628
  VParallax: typeof import('vuetify/components')['VParallax']
626
629
  VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
630
+ VRadio: typeof import('vuetify/components')['VRadio']
627
631
  VResponsive: typeof import('vuetify/components')['VResponsive']
628
632
  VSparkline: typeof import('vuetify/components')['VSparkline']
629
633
  VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
630
- VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
631
634
  VValidation: typeof import('vuetify/components')['VValidation']
635
+ VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
632
636
  VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
633
637
  VFabTransition: typeof import('vuetify/components')['VFabTransition']
634
638
  VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
@@ -646,27 +650,23 @@ declare module 'vue' {
646
650
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
647
651
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
648
652
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
649
- VRadio: typeof import('vuetify/components')['VRadio']
650
- VNoSsr: typeof import('vuetify/components')['VNoSsr']
651
- VMain: typeof import('vuetify/components')['VMain']
652
- VChipGroup: typeof import('vuetify/components')['VChipGroup']
653
653
  VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
654
654
  VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
655
- VPicker: typeof import('vuetify/labs/components')['VPicker']
656
- VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
657
655
  VCalendar: typeof import('vuetify/labs/components')['VCalendar']
658
656
  VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
659
657
  VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
660
658
  VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
661
659
  VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
662
660
  VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
661
+ VPicker: typeof import('vuetify/labs/components')['VPicker']
662
+ VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
663
663
  VNumberInput: typeof import('vuetify/labs/components')['VNumberInput']
664
- VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
665
- VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
666
- VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
667
664
  VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
668
665
  VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
669
666
  VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
667
+ VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
668
+ VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
669
+ VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
670
670
  VTreeview: typeof import('vuetify/labs/components')['VTreeview']
671
671
  VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
672
672
  VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
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.5-master.2024-12-15",
4
+ "version": "3.7.5-master.2024-12-17",
5
5
  "author": {
6
6
  "name": "John Leider",
7
7
  "email": "john@vuetifyjs.com"