@vuetify/nightly 3.6.13-3.7.0-beta.0.0-dev.2024-07-24 → 3.6.13-3.7.0-beta.0.0-pr-20092.dc840ce

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/dist/json/attributes.json +107 -99
  2. package/dist/json/importMap-labs.json +12 -12
  3. package/dist/json/importMap.json +116 -116
  4. package/dist/json/tags.json +2 -0
  5. package/dist/json/web-types.json +212 -193
  6. package/dist/vuetify-labs.css +1815 -1815
  7. package/dist/vuetify-labs.d.ts +196 -109
  8. package/dist/vuetify-labs.esm.js +89 -43
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +89 -43
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +1373 -1373
  13. package/dist/vuetify.d.ts +237 -150
  14. package/dist/vuetify.esm.js +89 -43
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +89 -43
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +1004 -1004
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VAutocomplete/VAutocomplete.mjs +15 -8
  22. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  23. package/lib/components/VAutocomplete/index.d.mts +42 -24
  24. package/lib/components/VCombobox/VCombobox.mjs +15 -8
  25. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  26. package/lib/components/VCombobox/index.d.mts +42 -24
  27. package/lib/components/VDialog/index.d.mts +3 -3
  28. package/lib/components/VMenu/VMenu.mjs +27 -6
  29. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  30. package/lib/components/VMenu/index.d.mts +30 -15
  31. package/lib/components/VOverlay/VOverlay.mjs +5 -4
  32. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  33. package/lib/components/VOverlay/useActivator.mjs +3 -2
  34. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  35. package/lib/components/VSelect/VSelect.mjs +15 -13
  36. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  37. package/lib/components/VSelect/index.d.mts +42 -24
  38. package/lib/components/VSelect/useScrolling.mjs +3 -3
  39. package/lib/components/VSelect/useScrolling.mjs.map +1 -1
  40. package/lib/components/VSnackbar/index.d.mts +3 -3
  41. package/lib/components/VSpeedDial/index.d.mts +28 -13
  42. package/lib/components/VTooltip/index.d.mts +3 -3
  43. package/lib/components/VVirtualScroll/VVirtualScroll.mjs +2 -0
  44. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  45. package/lib/components/VVirtualScroll/index.d.mts +3 -0
  46. package/lib/components/index.d.mts +196 -109
  47. package/lib/composables/virtual.mjs +1 -0
  48. package/lib/composables/virtual.mjs.map +1 -1
  49. package/lib/entry-bundler.mjs +1 -1
  50. package/lib/entry-bundler.mjs.map +1 -1
  51. package/lib/framework.mjs +1 -1
  52. package/lib/framework.mjs.map +1 -1
  53. package/lib/index.d.mts +41 -41
  54. package/lib/labs/VSnackbarQueue/index.d.mts +3 -3
  55. package/lib/labs/components.d.mts +3 -3
  56. package/lib/util/helpers.mjs +5 -0
  57. package/lib/util/helpers.mjs.map +1 -1
  58. package/package.json +1 -1
@@ -205,6 +205,7 @@ export function useVirtual(props, items) {
205
205
  deep: true
206
206
  });
207
207
  return {
208
+ calculateVisibleItems,
208
209
  containerRef,
209
210
  markerRef,
210
211
  computedItems,
@@ -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","handleScroll","scrollTime","scrollDeltaT","sign","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 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 calculateVisibleItems()\n }\n function handleScrollend () {\n if (!containerRef.value || !markerRef.value) return\n\n scrollVelocity = 0\n lastScrollTime = 0\n\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 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","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","handleScroll","scrollTime","scrollDeltaT","sign","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 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 calculateVisibleItems()\n }\n function handleScrollend () {\n if (!containerRef.value || !markerRef.value) return\n\n scrollVelocity = 0\n lastScrollTime = 0\n\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":[]}
@@ -16,7 +16,7 @@ export const createVuetify = function () {
16
16
  ...options
17
17
  });
18
18
  };
19
- export const version = "3.6.13-3.7.0-beta.0.0-dev.2024-07-24";
19
+ export const version = "3.6.13-3.7.0-beta.0.0-pr-20092.dc840ce";
20
20
  createVuetify.version = version;
21
21
  export { blueprints, components, directives };
22
22
  export * from "./composables/index.mjs";
@@ -1 +1 @@
1
- {"version":3,"file":"entry-bundler.mjs","names":["blueprints","components","directives","createVuetify","_createVuetify","options","arguments","length","undefined","version"],"sources":["../src/entry-bundler.ts"],"sourcesContent":["/* eslint-disable local-rules/sort-imports */\n\n// Styles\nimport './styles/main.sass'\n\n// Components\nimport * as blueprints from './blueprints'\nimport * as components from './components'\nimport * as directives from './directives'\nimport { createVuetify as _createVuetify } from './framework'\n\n// Types\nimport type { VuetifyOptions } from './framework'\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n return _createVuetify({ components, directives, ...options })\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\nexport {\n blueprints,\n components,\n directives,\n}\nexport * from './composables'\n"],"mappings":"AAAA;;AAEA;AACA;;AAEA;AAAA,OACO,KAAKA,UAAU;AAAA,OACf,KAAKC,UAAU;AAAA,OACf,KAAKC,UAAU;AAAA,SACbC,aAAa,IAAIC,cAAc,2BAExC;AAGA,OAAO,MAAMD,aAAa,GAAG,SAAAA,CAAA,EAAkC;EAAA,IAAjCE,OAAuB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACxD,OAAOF,cAAc,CAAC;IAAEH,UAAU;IAAEC,UAAU;IAAE,GAAGG;EAAQ,CAAC,CAAC;AAC/D,CAAC;AAED,OAAO,MAAMI,OAAO,yCAAsB;AAC1CN,aAAa,CAACM,OAAO,GAAGA,OAAO;AAE/B,SACET,UAAU,EACVC,UAAU,EACVC,UAAU;AACX","ignoreList":[]}
1
+ {"version":3,"file":"entry-bundler.mjs","names":["blueprints","components","directives","createVuetify","_createVuetify","options","arguments","length","undefined","version"],"sources":["../src/entry-bundler.ts"],"sourcesContent":["/* eslint-disable local-rules/sort-imports */\n\n// Styles\nimport './styles/main.sass'\n\n// Components\nimport * as blueprints from './blueprints'\nimport * as components from './components'\nimport * as directives from './directives'\nimport { createVuetify as _createVuetify } from './framework'\n\n// Types\nimport type { VuetifyOptions } from './framework'\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n return _createVuetify({ components, directives, ...options })\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\nexport {\n blueprints,\n components,\n directives,\n}\nexport * from './composables'\n"],"mappings":"AAAA;;AAEA;AACA;;AAEA;AAAA,OACO,KAAKA,UAAU;AAAA,OACf,KAAKC,UAAU;AAAA,OACf,KAAKC,UAAU;AAAA,SACbC,aAAa,IAAIC,cAAc,2BAExC;AAGA,OAAO,MAAMD,aAAa,GAAG,SAAAA,CAAA,EAAkC;EAAA,IAAjCE,OAAuB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACxD,OAAOF,cAAc,CAAC;IAAEH,UAAU;IAAEC,UAAU;IAAE,GAAGG;EAAQ,CAAC,CAAC;AAC/D,CAAC;AAED,OAAO,MAAMI,OAAO,2CAAsB;AAC1CN,aAAa,CAACM,OAAO,GAAGA,OAAO;AAE/B,SACET,UAAU,EACVC,UAAU,EACVC,UAAU;AACX","ignoreList":[]}
package/lib/framework.mjs CHANGED
@@ -97,7 +97,7 @@ export function createVuetify() {
97
97
  goTo
98
98
  };
99
99
  }
100
- export const version = "3.6.13-3.7.0-beta.0.0-dev.2024-07-24";
100
+ export const version = "3.6.13-3.7.0-beta.0.0-pr-20092.dc840ce";
101
101
  createVuetify.version = version;
102
102
 
103
103
  // Vue's inject() can only be used in setup
@@ -1 +1 @@
1
- {"version":3,"file":"framework.mjs","names":["createDate","DateAdapterSymbol","DateOptionsSymbol","createDefaults","DefaultsSymbol","createDisplay","DisplaySymbol","createGoTo","GoToSymbol","createIcons","IconSymbol","createLocale","LocaleSymbol","createTheme","ThemeSymbol","nextTick","reactive","defineComponent","getUid","IN_BROWSER","mergeDeep","createVuetify","vuetify","arguments","length","undefined","blueprint","rest","options","aliases","components","directives","defaults","display","ssr","theme","icons","locale","date","goTo","install","app","key","directive","component","name","aliasName","provide","instance","$nuxt","hook","update","mount","vm","reset","__VUE_OPTIONS_API__","mixin","computed","$vuetify","inject","call","version","$","provides","parent","vnode","appContext"],"sources":["../src/framework.ts"],"sourcesContent":["// Composables\nimport { createDate, DateAdapterSymbol, DateOptionsSymbol } from '@/composables/date/date'\nimport { createDefaults, DefaultsSymbol } from '@/composables/defaults'\nimport { createDisplay, DisplaySymbol } from '@/composables/display'\nimport { createGoTo, GoToSymbol } from '@/composables/goto'\nimport { createIcons, IconSymbol } from '@/composables/icons'\nimport { createLocale, LocaleSymbol } from '@/composables/locale'\nimport { createTheme, ThemeSymbol } from '@/composables/theme'\n\n// Utilities\nimport { nextTick, reactive } from 'vue'\nimport { defineComponent, getUid, IN_BROWSER, mergeDeep } from '@/util'\n\n// Types\nimport type { App, ComponentPublicInstance, InjectionKey } from 'vue'\nimport type { DateOptions } from '@/composables/date'\nimport type { DefaultsOptions } from '@/composables/defaults'\nimport type { DisplayOptions, SSROptions } from '@/composables/display'\nimport type { GoToOptions } from '@/composables/goto'\nimport type { IconOptions } from '@/composables/icons'\nimport type { LocaleOptions, RtlOptions } from '@/composables/locale'\nimport type { ThemeOptions } from '@/composables/theme'\nexport * from './composables'\nexport type { DateOptions, DateInstance, DateModule } from '@/composables/date'\n\nexport interface VuetifyOptions {\n aliases?: Record<string, any>\n blueprint?: Blueprint\n components?: Record<string, any>\n date?: DateOptions\n directives?: Record<string, any>\n defaults?: DefaultsOptions\n display?: DisplayOptions\n goTo?: GoToOptions\n theme?: ThemeOptions\n icons?: IconOptions\n locale?: LocaleOptions & RtlOptions\n ssr?: SSROptions\n}\n\nexport interface Blueprint extends Omit<VuetifyOptions, 'blueprint'> {}\n\nexport function createVuetify (vuetify: VuetifyOptions = {}) {\n const { blueprint, ...rest } = vuetify\n const options: VuetifyOptions = mergeDeep(blueprint, rest)\n const {\n aliases = {},\n components = {},\n directives = {},\n } = options\n\n const defaults = createDefaults(options.defaults)\n const display = createDisplay(options.display, options.ssr)\n const theme = createTheme(options.theme)\n const icons = createIcons(options.icons)\n const locale = createLocale(options.locale)\n const date = createDate(options.date, locale)\n const goTo = createGoTo(options.goTo, locale)\n\n const install = (app: App) => {\n for (const key in directives) {\n app.directive(key, directives[key])\n }\n\n for (const key in components) {\n app.component(key, components[key])\n }\n\n for (const key in aliases) {\n app.component(key, defineComponent({\n ...aliases[key],\n name: key,\n aliasName: aliases[key].name,\n }))\n }\n\n theme.install(app)\n\n app.provide(DefaultsSymbol, defaults)\n app.provide(DisplaySymbol, display)\n app.provide(ThemeSymbol, theme)\n app.provide(IconSymbol, icons)\n app.provide(LocaleSymbol, locale)\n app.provide(DateOptionsSymbol, date.options)\n app.provide(DateAdapterSymbol, date.instance)\n app.provide(GoToSymbol, goTo)\n\n if (IN_BROWSER && options.ssr) {\n if (app.$nuxt) {\n app.$nuxt.hook('app:suspense:resolve', () => {\n display.update()\n })\n } else {\n const { mount } = app\n app.mount = (...args) => {\n const vm = mount(...args)\n nextTick(() => display.update())\n app.mount = mount\n return vm\n }\n }\n }\n\n getUid.reset()\n\n if (typeof __VUE_OPTIONS_API__ !== 'boolean' || __VUE_OPTIONS_API__) {\n app.mixin({\n computed: {\n $vuetify () {\n return reactive({\n defaults: inject.call(this, DefaultsSymbol),\n display: inject.call(this, DisplaySymbol),\n theme: inject.call(this, ThemeSymbol),\n icons: inject.call(this, IconSymbol),\n locale: inject.call(this, LocaleSymbol),\n date: inject.call(this, DateAdapterSymbol),\n })\n },\n },\n })\n }\n }\n\n return {\n install,\n defaults,\n display,\n theme,\n icons,\n locale,\n date,\n goTo,\n }\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\n// Vue's inject() can only be used in setup\nfunction inject (this: ComponentPublicInstance, key: InjectionKey<any> | string) {\n const vm = this.$\n\n const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides\n\n if (provides && (key as any) in provides) {\n return provides[(key as string)]\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"framework.mjs","names":["createDate","DateAdapterSymbol","DateOptionsSymbol","createDefaults","DefaultsSymbol","createDisplay","DisplaySymbol","createGoTo","GoToSymbol","createIcons","IconSymbol","createLocale","LocaleSymbol","createTheme","ThemeSymbol","nextTick","reactive","defineComponent","getUid","IN_BROWSER","mergeDeep","createVuetify","vuetify","arguments","length","undefined","blueprint","rest","options","aliases","components","directives","defaults","display","ssr","theme","icons","locale","date","goTo","install","app","key","directive","component","name","aliasName","provide","instance","$nuxt","hook","update","mount","vm","reset","__VUE_OPTIONS_API__","mixin","computed","$vuetify","inject","call","version","$","provides","parent","vnode","appContext"],"sources":["../src/framework.ts"],"sourcesContent":["// Composables\nimport { createDate, DateAdapterSymbol, DateOptionsSymbol } from '@/composables/date/date'\nimport { createDefaults, DefaultsSymbol } from '@/composables/defaults'\nimport { createDisplay, DisplaySymbol } from '@/composables/display'\nimport { createGoTo, GoToSymbol } from '@/composables/goto'\nimport { createIcons, IconSymbol } from '@/composables/icons'\nimport { createLocale, LocaleSymbol } from '@/composables/locale'\nimport { createTheme, ThemeSymbol } from '@/composables/theme'\n\n// Utilities\nimport { nextTick, reactive } from 'vue'\nimport { defineComponent, getUid, IN_BROWSER, mergeDeep } from '@/util'\n\n// Types\nimport type { App, ComponentPublicInstance, InjectionKey } from 'vue'\nimport type { DateOptions } from '@/composables/date'\nimport type { DefaultsOptions } from '@/composables/defaults'\nimport type { DisplayOptions, SSROptions } from '@/composables/display'\nimport type { GoToOptions } from '@/composables/goto'\nimport type { IconOptions } from '@/composables/icons'\nimport type { LocaleOptions, RtlOptions } from '@/composables/locale'\nimport type { ThemeOptions } from '@/composables/theme'\nexport * from './composables'\nexport type { DateOptions, DateInstance, DateModule } from '@/composables/date'\n\nexport interface VuetifyOptions {\n aliases?: Record<string, any>\n blueprint?: Blueprint\n components?: Record<string, any>\n date?: DateOptions\n directives?: Record<string, any>\n defaults?: DefaultsOptions\n display?: DisplayOptions\n goTo?: GoToOptions\n theme?: ThemeOptions\n icons?: IconOptions\n locale?: LocaleOptions & RtlOptions\n ssr?: SSROptions\n}\n\nexport interface Blueprint extends Omit<VuetifyOptions, 'blueprint'> {}\n\nexport function createVuetify (vuetify: VuetifyOptions = {}) {\n const { blueprint, ...rest } = vuetify\n const options: VuetifyOptions = mergeDeep(blueprint, rest)\n const {\n aliases = {},\n components = {},\n directives = {},\n } = options\n\n const defaults = createDefaults(options.defaults)\n const display = createDisplay(options.display, options.ssr)\n const theme = createTheme(options.theme)\n const icons = createIcons(options.icons)\n const locale = createLocale(options.locale)\n const date = createDate(options.date, locale)\n const goTo = createGoTo(options.goTo, locale)\n\n const install = (app: App) => {\n for (const key in directives) {\n app.directive(key, directives[key])\n }\n\n for (const key in components) {\n app.component(key, components[key])\n }\n\n for (const key in aliases) {\n app.component(key, defineComponent({\n ...aliases[key],\n name: key,\n aliasName: aliases[key].name,\n }))\n }\n\n theme.install(app)\n\n app.provide(DefaultsSymbol, defaults)\n app.provide(DisplaySymbol, display)\n app.provide(ThemeSymbol, theme)\n app.provide(IconSymbol, icons)\n app.provide(LocaleSymbol, locale)\n app.provide(DateOptionsSymbol, date.options)\n app.provide(DateAdapterSymbol, date.instance)\n app.provide(GoToSymbol, goTo)\n\n if (IN_BROWSER && options.ssr) {\n if (app.$nuxt) {\n app.$nuxt.hook('app:suspense:resolve', () => {\n display.update()\n })\n } else {\n const { mount } = app\n app.mount = (...args) => {\n const vm = mount(...args)\n nextTick(() => display.update())\n app.mount = mount\n return vm\n }\n }\n }\n\n getUid.reset()\n\n if (typeof __VUE_OPTIONS_API__ !== 'boolean' || __VUE_OPTIONS_API__) {\n app.mixin({\n computed: {\n $vuetify () {\n return reactive({\n defaults: inject.call(this, DefaultsSymbol),\n display: inject.call(this, DisplaySymbol),\n theme: inject.call(this, ThemeSymbol),\n icons: inject.call(this, IconSymbol),\n locale: inject.call(this, LocaleSymbol),\n date: inject.call(this, DateAdapterSymbol),\n })\n },\n },\n })\n }\n }\n\n return {\n install,\n defaults,\n display,\n theme,\n icons,\n locale,\n date,\n goTo,\n }\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\n// Vue's inject() can only be used in setup\nfunction inject (this: ComponentPublicInstance, key: InjectionKey<any> | string) {\n const vm = this.$\n\n const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides\n\n if (provides && (key as any) in provides) {\n return provides[(key as string)]\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/lib/index.d.mts CHANGED
@@ -464,27 +464,24 @@ declare global {
464
464
  }
465
465
  }
466
466
  interface _GlobalComponents {
467
- VApp: typeof import('vuetify/components')['VApp']
468
- VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
469
467
  VAppBar: typeof import('vuetify/components')['VAppBar']
470
468
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
471
469
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
472
- VAvatar: typeof import('vuetify/components')['VAvatar']
470
+ VApp: typeof import('vuetify/components')['VApp']
473
471
  VAlert: typeof import('vuetify/components')['VAlert']
474
472
  VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
475
473
  VBanner: typeof import('vuetify/components')['VBanner']
476
474
  VBannerActions: typeof import('vuetify/components')['VBannerActions']
477
475
  VBannerText: typeof import('vuetify/components')['VBannerText']
478
- VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
476
+ VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
477
+ VAvatar: typeof import('vuetify/components')['VAvatar']
479
478
  VBadge: typeof import('vuetify/components')['VBadge']
479
+ VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
480
480
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
481
481
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
482
482
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
483
- VBtn: typeof import('vuetify/components')['VBtn']
484
483
  VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
485
- VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
486
- VCheckbox: typeof import('vuetify/components')['VCheckbox']
487
- VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
484
+ VBtn: typeof import('vuetify/components')['VBtn']
488
485
  VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
489
486
  VCard: typeof import('vuetify/components')['VCard']
490
487
  VCardActions: typeof import('vuetify/components')['VCardActions']
@@ -492,14 +489,16 @@ interface _GlobalComponents {
492
489
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
493
490
  VCardText: typeof import('vuetify/components')['VCardText']
494
491
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
492
+ VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
495
493
  VCarousel: typeof import('vuetify/components')['VCarousel']
496
494
  VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
495
+ VCheckbox: typeof import('vuetify/components')['VCheckbox']
496
+ VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
497
+ VChipGroup: typeof import('vuetify/components')['VChipGroup']
497
498
  VCode: typeof import('vuetify/components')['VCode']
499
+ VCounter: typeof import('vuetify/components')['VCounter']
498
500
  VChip: typeof import('vuetify/components')['VChip']
499
501
  VCombobox: typeof import('vuetify/components')['VCombobox']
500
- VChipGroup: typeof import('vuetify/components')['VChipGroup']
501
- VCounter: typeof import('vuetify/components')['VCounter']
502
- VColorPicker: typeof import('vuetify/components')['VColorPicker']
503
502
  VDataTable: typeof import('vuetify/components')['VDataTable']
504
503
  VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
505
504
  VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
@@ -507,34 +506,36 @@ interface _GlobalComponents {
507
506
  VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
508
507
  VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
509
508
  VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
510
- VDivider: typeof import('vuetify/components')['VDivider']
509
+ VColorPicker: typeof import('vuetify/components')['VColorPicker']
511
510
  VDatePicker: typeof import('vuetify/components')['VDatePicker']
512
511
  VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
513
512
  VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
514
513
  VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
515
514
  VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
516
515
  VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
516
+ VDivider: typeof import('vuetify/components')['VDivider']
517
517
  VEmptyState: typeof import('vuetify/components')['VEmptyState']
518
- VField: typeof import('vuetify/components')['VField']
519
- VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
518
+ VFab: typeof import('vuetify/components')['VFab']
520
519
  VDialog: typeof import('vuetify/components')['VDialog']
520
+ VFooter: typeof import('vuetify/components')['VFooter']
521
521
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
522
522
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
523
523
  VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
524
524
  VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
525
- VFooter: typeof import('vuetify/components')['VFooter']
526
- VFab: typeof import('vuetify/components')['VFab']
527
- VImg: typeof import('vuetify/components')['VImg']
528
525
  VFileInput: typeof import('vuetify/components')['VFileInput']
526
+ VField: typeof import('vuetify/components')['VField']
527
+ VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
528
+ VImg: typeof import('vuetify/components')['VImg']
529
+ VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
529
530
  VIcon: typeof import('vuetify/components')['VIcon']
530
531
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
531
532
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
532
533
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
533
534
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
534
- VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
535
- VInput: typeof import('vuetify/components')['VInput']
535
+ VLabel: typeof import('vuetify/components')['VLabel']
536
536
  VItemGroup: typeof import('vuetify/components')['VItemGroup']
537
537
  VItem: typeof import('vuetify/components')['VItem']
538
+ VInput: typeof import('vuetify/components')['VInput']
538
539
  VList: typeof import('vuetify/components')['VList']
539
540
  VListGroup: typeof import('vuetify/components')['VListGroup']
540
541
  VListImg: typeof import('vuetify/components')['VListImg']
@@ -545,64 +546,63 @@ interface _GlobalComponents {
545
546
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
546
547
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
547
548
  VKbd: typeof import('vuetify/components')['VKbd']
548
- VLabel: typeof import('vuetify/components')['VLabel']
549
- VMain: typeof import('vuetify/components')['VMain']
550
549
  VMenu: typeof import('vuetify/components')['VMenu']
551
550
  VMessages: typeof import('vuetify/components')['VMessages']
552
- VOtpInput: typeof import('vuetify/components')['VOtpInput']
551
+ VMain: typeof import('vuetify/components')['VMain']
553
552
  VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
554
553
  VOverlay: typeof import('vuetify/components')['VOverlay']
554
+ VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
555
555
  VPagination: typeof import('vuetify/components')['VPagination']
556
- VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
556
+ VOtpInput: typeof import('vuetify/components')['VOtpInput']
557
557
  VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
558
- VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
559
- VSelect: typeof import('vuetify/components')['VSelect']
560
558
  VRating: typeof import('vuetify/components')['VRating']
559
+ VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
560
+ VSelect: typeof import('vuetify/components')['VSelect']
561
561
  VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
562
562
  VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
563
- VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
564
- VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
565
563
  VSheet: typeof import('vuetify/components')['VSheet']
566
- VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
567
- VSlider: typeof import('vuetify/components')['VSlider']
568
564
  VSnackbar: typeof import('vuetify/components')['VSnackbar']
565
+ VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
566
+ VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
567
+ VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
569
568
  VStepper: typeof import('vuetify/components')['VStepper']
570
569
  VStepperActions: typeof import('vuetify/components')['VStepperActions']
571
570
  VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
572
571
  VStepperItem: typeof import('vuetify/components')['VStepperItem']
573
572
  VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
574
573
  VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
574
+ VSlider: typeof import('vuetify/components')['VSlider']
575
+ VSystemBar: typeof import('vuetify/components')['VSystemBar']
575
576
  VSwitch: typeof import('vuetify/components')['VSwitch']
577
+ VTextarea: typeof import('vuetify/components')['VTextarea']
576
578
  VTab: typeof import('vuetify/components')['VTab']
577
579
  VTabs: typeof import('vuetify/components')['VTabs']
578
580
  VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
579
581
  VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
580
- VSystemBar: typeof import('vuetify/components')['VSystemBar']
581
582
  VTable: typeof import('vuetify/components')['VTable']
583
+ VTimeline: typeof import('vuetify/components')['VTimeline']
584
+ VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
582
585
  VTextField: typeof import('vuetify/components')['VTextField']
586
+ VTooltip: typeof import('vuetify/components')['VTooltip']
583
587
  VToolbar: typeof import('vuetify/components')['VToolbar']
584
588
  VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
585
589
  VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
586
- VTextarea: typeof import('vuetify/components')['VTextarea']
587
- VTimeline: typeof import('vuetify/components')['VTimeline']
588
- VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
589
- VTooltip: typeof import('vuetify/components')['VTooltip']
590
590
  VWindow: typeof import('vuetify/components')['VWindow']
591
591
  VWindowItem: typeof import('vuetify/components')['VWindowItem']
592
592
  VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
593
593
  VDataIterator: typeof import('vuetify/components')['VDataIterator']
594
594
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
595
- VHover: typeof import('vuetify/components')['VHover']
595
+ VForm: typeof import('vuetify/components')['VForm']
596
596
  VContainer: typeof import('vuetify/components')['VContainer']
597
597
  VCol: typeof import('vuetify/components')['VCol']
598
598
  VRow: typeof import('vuetify/components')['VRow']
599
599
  VSpacer: typeof import('vuetify/components')['VSpacer']
600
- VForm: typeof import('vuetify/components')['VForm']
600
+ VHover: typeof import('vuetify/components')['VHover']
601
+ VLazy: typeof import('vuetify/components')['VLazy']
601
602
  VLayout: typeof import('vuetify/components')['VLayout']
602
603
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
603
- VLazy: typeof import('vuetify/components')['VLazy']
604
- VNoSsr: typeof import('vuetify/components')['VNoSsr']
605
604
  VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
605
+ VNoSsr: typeof import('vuetify/components')['VNoSsr']
606
606
  VParallax: typeof import('vuetify/components')['VParallax']
607
607
  VRadio: typeof import('vuetify/components')['VRadio']
608
608
  VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
@@ -628,6 +628,7 @@ interface _GlobalComponents {
628
628
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
629
629
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
630
630
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
631
+ VNumberInput: typeof import('vuetify/labs/components')['VNumberInput']
631
632
  VCalendar: typeof import('vuetify/labs/components')['VCalendar']
632
633
  VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
633
634
  VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
@@ -637,12 +638,11 @@ interface _GlobalComponents {
637
638
  VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
638
639
  VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
639
640
  VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
640
- VNumberInput: typeof import('vuetify/labs/components')['VNumberInput']
641
- VPicker: typeof import('vuetify/labs/components')['VPicker']
642
- VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
643
641
  VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
644
642
  VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
645
643
  VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
644
+ VPicker: typeof import('vuetify/labs/components')['VPicker']
645
+ VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
646
646
  VTreeview: typeof import('vuetify/labs/components')['VTreeview']
647
647
  VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
648
648
  VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
@@ -654,7 +654,7 @@ declare const VSnackbar: {
654
654
  onAfterLeave?: (() => any) | undefined;
655
655
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
656
656
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
657
- }, "target" | "activatorEl" | "scrimEl" | "animateClick" | "contentEl" | "globalTop" | "localTop" | "updateLocation"> & vue.ShallowUnwrapRef<{
657
+ }, "target" | "contentEl" | "activatorEl" | "scrimEl" | "animateClick" | "globalTop" | "localTop" | "updateLocation"> & vue.ShallowUnwrapRef<{
658
658
  activatorEl: Ref<HTMLElement | undefined>;
659
659
  scrimEl: Ref<HTMLElement | undefined>;
660
660
  target: vue.ComputedRef<HTMLElement | [x: number, y: number] | undefined>;
@@ -1341,7 +1341,7 @@ declare const VSnackbar: {
1341
1341
  onAfterLeave?: (() => any) | undefined;
1342
1342
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
1343
1343
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
1344
- }, "target" | "activatorEl" | "scrimEl" | "animateClick" | "contentEl" | "globalTop" | "localTop" | "updateLocation"> & vue.ShallowUnwrapRef<{
1344
+ }, "target" | "contentEl" | "activatorEl" | "scrimEl" | "animateClick" | "globalTop" | "localTop" | "updateLocation"> & vue.ShallowUnwrapRef<{
1345
1345
  activatorEl: Ref<HTMLElement | undefined>;
1346
1346
  scrimEl: Ref<HTMLElement | undefined>;
1347
1347
  target: vue.ComputedRef<HTMLElement | [x: number, y: number] | undefined>;
@@ -1920,7 +1920,7 @@ declare const VSnackbar: {
1920
1920
  onAfterLeave?: (() => any) | undefined;
1921
1921
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
1922
1922
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
1923
- }, "target" | "activatorEl" | "scrimEl" | "animateClick" | "contentEl" | "globalTop" | "localTop" | "updateLocation"> & vue.ShallowUnwrapRef<{
1923
+ }, "target" | "contentEl" | "activatorEl" | "scrimEl" | "animateClick" | "globalTop" | "localTop" | "updateLocation"> & vue.ShallowUnwrapRef<{
1924
1924
  activatorEl: Ref<HTMLElement | undefined>;
1925
1925
  scrimEl: Ref<HTMLElement | undefined>;
1926
1926
  target: vue.ComputedRef<HTMLElement | [x: number, y: number] | undefined>;
@@ -5009,7 +5009,7 @@ declare const VSnackbar: {
5009
5009
  onAfterLeave?: (() => any) | undefined;
5010
5010
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
5011
5011
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
5012
- }, "target" | "activatorEl" | "scrimEl" | "animateClick" | "contentEl" | "globalTop" | "localTop" | "updateLocation"> & vue.ShallowUnwrapRef<{
5012
+ }, "target" | "contentEl" | "activatorEl" | "scrimEl" | "animateClick" | "globalTop" | "localTop" | "updateLocation"> & vue.ShallowUnwrapRef<{
5013
5013
  activatorEl: Ref<HTMLElement | undefined>;
5014
5014
  scrimEl: Ref<HTMLElement | undefined>;
5015
5015
  target: vue.ComputedRef<HTMLElement | [x: number, y: number] | undefined>;
@@ -5696,7 +5696,7 @@ declare const VSnackbar: {
5696
5696
  onAfterLeave?: (() => any) | undefined;
5697
5697
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
5698
5698
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
5699
- }, "target" | "activatorEl" | "scrimEl" | "animateClick" | "contentEl" | "globalTop" | "localTop" | "updateLocation"> & vue.ShallowUnwrapRef<{
5699
+ }, "target" | "contentEl" | "activatorEl" | "scrimEl" | "animateClick" | "globalTop" | "localTop" | "updateLocation"> & vue.ShallowUnwrapRef<{
5700
5700
  activatorEl: Ref<HTMLElement | undefined>;
5701
5701
  scrimEl: Ref<HTMLElement | undefined>;
5702
5702
  target: vue.ComputedRef<HTMLElement | [x: number, y: number] | undefined>;
@@ -6275,7 +6275,7 @@ declare const VSnackbar: {
6275
6275
  onAfterLeave?: (() => any) | undefined;
6276
6276
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
6277
6277
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
6278
- }, "target" | "activatorEl" | "scrimEl" | "animateClick" | "contentEl" | "globalTop" | "localTop" | "updateLocation"> & vue.ShallowUnwrapRef<{
6278
+ }, "target" | "contentEl" | "activatorEl" | "scrimEl" | "animateClick" | "globalTop" | "localTop" | "updateLocation"> & vue.ShallowUnwrapRef<{
6279
6279
  activatorEl: Ref<HTMLElement | undefined>;
6280
6280
  scrimEl: Ref<HTMLElement | undefined>;
6281
6281
  target: vue.ComputedRef<HTMLElement | [x: number, y: number] | undefined>;
@@ -521,4 +521,9 @@ export function templateRef() {
521
521
  });
522
522
  return fn;
523
523
  }
524
+ export function checkPrintable(e) {
525
+ const isPrintableChar = e.key.length === 1;
526
+ const noModifier = !e.ctrlKey && !e.metaKey && !e.altKey;
527
+ return isPrintableChar && noModifier;
528
+ }
524
529
  //# sourceMappingURL=helpers.mjs.map