@vuetify/nightly 3.9.0-master.2025-07-08 → 3.9.0-master.2025-07-10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/CHANGELOG.md +22 -3
  2. package/dist/json/attributes.json +3735 -3735
  3. package/dist/json/importMap-labs.json +28 -28
  4. package/dist/json/importMap.json +188 -188
  5. package/dist/json/web-types.json +6238 -6238
  6. package/dist/vuetify-labs.cjs +38 -28
  7. package/dist/vuetify-labs.css +3384 -3384
  8. package/dist/vuetify-labs.d.ts +64 -64
  9. package/dist/vuetify-labs.esm.js +38 -28
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +38 -28
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +30 -20
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +3059 -3059
  16. package/dist/vuetify.d.ts +64 -64
  17. package/dist/vuetify.esm.js +30 -20
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +30 -20
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +491 -483
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/components/VDataTable/VDataTableFooter.js +7 -7
  25. package/lib/components/VDataTable/VDataTableFooter.js.map +1 -1
  26. package/lib/components/VFileInput/VFileInput.js +1 -1
  27. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  28. package/lib/components/VList/VList.js +5 -1
  29. package/lib/components/VList/VList.js.map +1 -1
  30. package/lib/components/VOtpInput/VOtpInput.js +2 -2
  31. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  32. package/lib/components/VSnackbar/VSnackbar.js +1 -1
  33. package/lib/components/VSnackbar/VSnackbar.js.map +1 -1
  34. package/lib/components/VTreeview/VTreeview.js +1 -1
  35. package/lib/components/VTreeview/VTreeview.js.map +1 -1
  36. package/lib/composables/layout.js +2 -2
  37. package/lib/composables/layout.js.map +1 -1
  38. package/lib/composables/list-items.d.ts +5 -2
  39. package/lib/composables/list-items.js +9 -3
  40. package/lib/composables/list-items.js.map +1 -1
  41. package/lib/entry-bundler.js +1 -1
  42. package/lib/framework.d.ts +64 -64
  43. package/lib/framework.js +1 -1
  44. package/lib/labs/VColorInput/VColorInput.js +1 -1
  45. package/lib/labs/VColorInput/VColorInput.js.map +1 -1
  46. package/lib/labs/VDateInput/VDateInput.js +1 -1
  47. package/lib/labs/VDateInput/VDateInput.js.map +1 -1
  48. package/lib/labs/VFileUpload/VFileUpload.js +1 -1
  49. package/lib/labs/VFileUpload/VFileUpload.js.map +1 -1
  50. package/lib/labs/VStepperVertical/VStepperVertical.js +4 -4
  51. package/lib/labs/VStepperVertical/VStepperVertical.js.map +1 -1
  52. package/lib/labs/VStepperVertical/VStepperVerticalItem.js +1 -1
  53. package/lib/labs/VStepperVertical/VStepperVerticalItem.js.map +1 -1
  54. package/lib/util/helpers.d.ts +1 -1
  55. package/lib/util/helpers.js.map +1 -1
  56. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"VTreeview.js","names":["makeVTreeviewChildrenProps","VTreeviewChildren","makeVListProps","useListItems","VList","provideDefaults","makeFilterProps","useFilter","useProxiedModel","computed","provide","ref","toRaw","toRef","genericComponent","omit","propsFactory","useRender","VTreeviewSymbol","flatten","items","flat","arguments","length","undefined","item","push","children","makeVTreeviewProps","fluid","Boolean","openAll","indentLines","String","search","filterKeys","collapseIcon","expandIcon","slim","modelValue","Array","VTreeview","name","props","emits","val","value","setup","_ref","slots","emit","activeColor","baseColor","color","activated","_selected","selected","get","set","vListRef","opened","flatItems","filteredItems","visibleIds","getPath","Set","flatMap","itemVal","returnObject","raw","getChildren","map","id","arr","queue","slice","child","shift","ids","i","concat","VTreeviewGroup","VTreeviewItem","activeClass","density","disabled","lines","variant","listProps","filterProps","treeviewChildrenProps","indentLinesVariant","_createVNode","_mergeProps","class","style","$event","default"],"sources":["../../../src/components/VTreeview/VTreeview.tsx"],"sourcesContent":["// Components\nimport { makeVTreeviewChildrenProps, VTreeviewChildren } from './VTreeviewChildren'\nimport { makeVListProps, useListItems, VList } from '@/components/VList/VList'\n\n// Composables\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeFilterProps, useFilter } from '@/composables/filter'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, provide, ref, toRaw, toRef } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport { VTreeviewSymbol } from './shared'\nimport type { InternalListItem } from '@/components/VList/VList'\nimport type { VListChildrenSlots } from '@/components/VList/VListChildren'\nimport type { ListItem } from '@/composables/list-items'\nimport type { GenericProps, IndentLinesVariant } from '@/util'\n\nfunction flatten (items: ListItem[], flat: ListItem[] = []) {\n for (const item of items) {\n flat.push(item)\n if (item.children) flatten(item.children, flat)\n }\n return flat\n}\n\nexport const makeVTreeviewProps = propsFactory({\n fluid: Boolean,\n openAll: Boolean,\n indentLines: [Boolean, String] as PropType<boolean | IndentLinesVariant>,\n search: String,\n\n ...makeFilterProps({ filterKeys: ['title'] }),\n ...omit(makeVTreeviewChildrenProps(), [\n 'index',\n 'path',\n 'indentLinesVariant',\n 'parentIndentLines',\n 'isLastGroup',\n ]),\n ...omit(makeVListProps({\n collapseIcon: '$treeviewCollapse',\n expandIcon: '$treeviewExpand',\n slim: true,\n }), ['nav', 'openStrategy']),\n\n modelValue: Array,\n}, 'VTreeview')\n\nexport const VTreeview = genericComponent<new <T>(\n props: {\n items?: T[]\n },\n slots: VListChildrenSlots<T>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VTreeview',\n\n props: makeVTreeviewProps(),\n\n emits: {\n 'update:opened': (val: unknown) => true,\n 'update:activated': (val: unknown) => true,\n 'update:selected': (val: unknown) => true,\n 'update:modelValue': (val: unknown) => true,\n 'click:open': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n 'click:select': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n },\n\n setup (props, { slots, emit }) {\n const { items } = useListItems(props)\n const activeColor = toRef(() => props.activeColor)\n const baseColor = toRef(() => props.baseColor)\n const color = toRef(() => props.color)\n const activated = useProxiedModel(props, 'activated')\n const _selected = useProxiedModel(props, 'selected')\n\n const selected = computed({\n get: () => props.modelValue ?? _selected.value,\n set (val) {\n _selected.value = val\n emit('update:modelValue', val)\n },\n })\n\n const vListRef = ref<VList>()\n\n const opened = computed(() => props.openAll ? openAll(items.value) : props.opened)\n const flatItems = computed(() => flatten(items.value))\n const search = toRef(() => props.search)\n const { filteredItems } = useFilter(props, flatItems, search)\n const visibleIds = computed(() => {\n if (!search.value) return null\n const getPath = vListRef.value?.getPath\n if (!getPath) return null\n return new Set(filteredItems.value.flatMap(item => {\n const itemVal = props.returnObject ? item.raw : item.props.value\n return [\n ...getPath(itemVal),\n ...getChildren(itemVal),\n ].map(toRaw)\n }))\n })\n\n function getChildren (id: unknown) {\n const arr: unknown[] = []\n const queue = ((vListRef.value?.children.get(id) ?? []).slice())\n while (queue.length) {\n const child = queue.shift()\n if (!child) continue\n arr.push(child)\n queue.push(...((vListRef.value?.children.get(child) ?? []).slice()))\n }\n return arr\n }\n\n function openAll (items: InternalListItem<any>[]) {\n let ids: any[] = []\n\n for (const i of items) {\n if (!i.children) continue\n\n ids.push(props.returnObject ? toRaw(i.raw) : i.value)\n\n if (i.children) {\n ids = ids.concat(openAll(i.children))\n }\n }\n\n return ids\n }\n\n provide(VTreeviewSymbol, { visibleIds })\n\n provideDefaults({\n VTreeviewGroup: {\n activeColor,\n baseColor,\n color,\n collapseIcon: toRef(() => props.collapseIcon),\n expandIcon: toRef(() => props.expandIcon),\n },\n VTreeviewItem: {\n activeClass: toRef(() => props.activeClass),\n activeColor,\n baseColor,\n color,\n density: toRef(() => props.density),\n disabled: toRef(() => props.disabled),\n lines: toRef(() => props.lines),\n variant: toRef(() => props.variant),\n },\n })\n\n useRender(() => {\n const listProps = VList.filterProps(props)\n const treeviewChildrenProps = VTreeviewChildren.filterProps(props)\n const indentLinesVariant = typeof props.indentLines === 'boolean' ? 'default' : props.indentLines\n\n return (\n <VList\n ref={ vListRef }\n { ...listProps }\n class={[\n 'v-treeview',\n {\n 'v-treeview--fluid': props.fluid,\n },\n props.class,\n ]}\n open-strategy=\"multiple\"\n style={ props.style }\n opened={ opened.value }\n v-model:activated={ activated.value }\n v-model:selected={ selected.value }\n >\n <VTreeviewChildren\n { ...treeviewChildrenProps }\n density={ props.density }\n returnObject={ props.returnObject }\n items={ items.value }\n parentIndentLines={ props.indentLines ? [] : undefined }\n indentLinesVariant={ indentLinesVariant }\n v-slots={ slots }\n ></VTreeviewChildren>\n </VList>\n )\n })\n\n return { }\n },\n})\n\nexport type VTreeview = InstanceType<typeof VTreeview>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VTreeview.js","names":["makeVTreeviewChildrenProps","VTreeviewChildren","makeVListProps","useListItems","VList","provideDefaults","makeFilterProps","useFilter","useProxiedModel","computed","provide","ref","toRaw","toRef","genericComponent","omit","propsFactory","useRender","VTreeviewSymbol","flatten","items","flat","arguments","length","undefined","item","push","children","makeVTreeviewProps","fluid","Boolean","openAll","indentLines","String","search","filterKeys","collapseIcon","expandIcon","slim","modelValue","Array","VTreeview","name","props","emits","val","value","setup","_ref","slots","emit","activeColor","baseColor","color","activated","_selected","selected","get","set","vListRef","opened","flatItems","filteredItems","visibleIds","getPath","Set","flatMap","itemVal","returnObject","raw","getChildren","map","id","arr","queue","slice","child","shift","ids","i","concat","VTreeviewGroup","VTreeviewItem","activeClass","density","disabled","lines","variant","listProps","filterProps","treeviewChildrenProps","indentLinesVariant","_createVNode","_mergeProps","class","style","$event","default"],"sources":["../../../src/components/VTreeview/VTreeview.tsx"],"sourcesContent":["// Components\nimport { makeVTreeviewChildrenProps, VTreeviewChildren } from './VTreeviewChildren'\nimport { makeVListProps, useListItems, VList } from '@/components/VList/VList'\n\n// Composables\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeFilterProps, useFilter } from '@/composables/filter'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, provide, ref, toRaw, toRef } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport { VTreeviewSymbol } from './shared'\nimport type { InternalListItem } from '@/components/VList/VList'\nimport type { VListChildrenSlots } from '@/components/VList/VListChildren'\nimport type { ListItem } from '@/composables/list-items'\nimport type { GenericProps, IndentLinesVariant } from '@/util'\n\nfunction flatten (items: ListItem[], flat: ListItem[] = []) {\n for (const item of items) {\n flat.push(item)\n if (item.children) flatten(item.children, flat)\n }\n return flat\n}\n\nexport const makeVTreeviewProps = propsFactory({\n fluid: Boolean,\n openAll: Boolean,\n indentLines: [Boolean, String] as PropType<boolean | IndentLinesVariant>,\n search: String,\n\n ...makeFilterProps({ filterKeys: ['title'] }),\n ...omit(makeVTreeviewChildrenProps(), [\n 'index',\n 'path',\n 'indentLinesVariant',\n 'parentIndentLines',\n 'isLastGroup',\n ]),\n ...omit(makeVListProps({\n collapseIcon: '$treeviewCollapse',\n expandIcon: '$treeviewExpand',\n slim: true,\n }), ['nav', 'openStrategy']),\n\n modelValue: Array,\n}, 'VTreeview')\n\nexport const VTreeview = genericComponent<new <T>(\n props: {\n items?: T[]\n },\n slots: VListChildrenSlots<T>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VTreeview',\n\n props: makeVTreeviewProps(),\n\n emits: {\n 'update:opened': (val: unknown) => true,\n 'update:activated': (val: unknown) => true,\n 'update:selected': (val: unknown) => true,\n 'update:modelValue': (val: unknown) => true,\n 'click:open': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n 'click:select': (value: { id: unknown, value: boolean, path: unknown[] }) => true,\n },\n\n setup (props, { slots, emit }) {\n const { items } = useListItems(props)\n const activeColor = toRef(() => props.activeColor)\n const baseColor = toRef(() => props.baseColor)\n const color = toRef(() => props.color)\n const activated = useProxiedModel(props, 'activated')\n const _selected = useProxiedModel(props, 'selected')\n\n const selected = computed({\n get: () => props.modelValue ?? _selected.value,\n set (val) {\n _selected.value = val\n emit('update:modelValue', val)\n },\n })\n\n const vListRef = ref<VList>()\n\n const opened = computed(() => props.openAll ? openAll(items.value) : props.opened)\n const flatItems = computed(() => flatten(items.value))\n const search = toRef(() => props.search)\n const { filteredItems } = useFilter(props, flatItems, search)\n const visibleIds = computed(() => {\n if (!search.value) return null\n const getPath = vListRef.value?.getPath\n if (!getPath) return null\n return new Set(filteredItems.value.flatMap(item => {\n const itemVal = props.returnObject ? item.raw : item.props.value\n return [\n ...getPath(itemVal),\n ...getChildren(itemVal),\n ].map(toRaw)\n }))\n })\n\n function getChildren (id: unknown) {\n const arr: unknown[] = []\n const queue = ((vListRef.value?.children.get(id) ?? []).slice())\n while (queue.length) {\n const child = queue.shift()\n if (!child) continue\n arr.push(child)\n queue.push(...((vListRef.value?.children.get(child) ?? []).slice()))\n }\n return arr\n }\n\n function openAll (items: InternalListItem<any>[]) {\n let ids: any[] = []\n\n for (const i of items) {\n if (!i.children) continue\n\n ids.push(props.returnObject ? toRaw(i.raw) : i.value)\n\n if (i.children) {\n ids = ids.concat(openAll(i.children))\n }\n }\n\n return ids\n }\n\n provide(VTreeviewSymbol, { visibleIds })\n\n provideDefaults({\n VTreeviewGroup: {\n activeColor,\n baseColor,\n color,\n collapseIcon: toRef(() => props.collapseIcon),\n expandIcon: toRef(() => props.expandIcon),\n },\n VTreeviewItem: {\n activeClass: toRef(() => props.activeClass),\n activeColor,\n baseColor,\n color,\n density: toRef(() => props.density),\n disabled: toRef(() => props.disabled),\n lines: toRef(() => props.lines),\n variant: toRef(() => props.variant),\n },\n })\n\n useRender(() => {\n const listProps = VList.filterProps(props)\n const treeviewChildrenProps = VTreeviewChildren.filterProps(props)\n const indentLinesVariant = typeof props.indentLines === 'boolean' ? 'default' : props.indentLines\n\n return (\n <VList\n ref={ vListRef }\n { ...listProps }\n class={[\n 'v-treeview',\n {\n 'v-treeview--fluid': props.fluid,\n },\n props.class,\n ]}\n openStrategy=\"multiple\"\n style={ props.style }\n opened={ opened.value }\n v-model:activated={ activated.value }\n v-model:selected={ selected.value }\n >\n <VTreeviewChildren\n { ...treeviewChildrenProps }\n density={ props.density }\n returnObject={ props.returnObject }\n items={ items.value }\n parentIndentLines={ props.indentLines ? [] : undefined }\n indentLinesVariant={ indentLinesVariant }\n v-slots={ slots }\n ></VTreeviewChildren>\n </VList>\n )\n })\n\n return { }\n },\n})\n\nexport type VTreeview = InstanceType<typeof VTreeview>\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  // Composables
2
2
  import { useResizeObserver } from "./resizeObserver.js"; // Utilities
3
3
  import { computed, inject, onActivated, onBeforeUnmount, onDeactivated, onMounted, provide, reactive, ref, shallowRef, toRef, useId } from 'vue';
4
- import { convertToUnit, findChildrenWithProvide, getCurrentInstance, propsFactory } from "../util/index.js"; // Types
4
+ import { consoleWarn, convertToUnit, findChildrenWithProvide, getCurrentInstance, propsFactory } from "../util/index.js"; // Types
5
5
  export const VuetifyLayoutKey = Symbol.for('vuetify:layout');
6
6
  export const VuetifyLayoutItemKey = Symbol.for('vuetify:layout-item');
7
7
  const ROOT_ZINDEX = 1000;
@@ -215,7 +215,7 @@ export function createLayout(props) {
215
215
  };
216
216
  if (!isMounted.value) return styles;
217
217
  const item = items.value[index.value];
218
- if (!item) throw new Error(`[Vuetify] Could not find layout item "${id}"`);
218
+ if (!item) consoleWarn(`[Vuetify] Could not find layout item "${id}"`);
219
219
  const overlap = computedOverlaps.value.get(id);
220
220
  if (overlap) {
221
221
  item[overlap.position] += overlap.amount;
@@ -1 +1 @@
1
- {"version":3,"file":"layout.js","names":["useResizeObserver","computed","inject","onActivated","onBeforeUnmount","onDeactivated","onMounted","provide","reactive","ref","shallowRef","toRef","useId","convertToUnit","findChildrenWithProvide","getCurrentInstance","propsFactory","VuetifyLayoutKey","Symbol","for","VuetifyLayoutItemKey","ROOT_ZINDEX","makeLayoutProps","overlaps","type","Array","default","fullHeight","Boolean","makeLayoutItemProps","name","String","order","Number","absolute","useLayout","layout","Error","getLayoutItem","mainRect","mainStyles","useLayoutItem","options","id","vm","isKeptAlive","value","layoutItemStyles","layoutItemScrimStyles","register","active","unregister","layoutRect","generateLayers","positions","layoutSizes","activeItems","previousLayer","top","left","right","bottom","layers","layer","position","get","amount","parseInt","push","createLayout","props","parentLayout","rootZIndex","registered","Map","priorities","disabledTransitions","resizeRef","contentRect","computedOverlaps","map","overlap","filter","item","includes","split","topPosition","bottomPosition","topAmount","bottomAmount","set","uniquePriorities","Set","values","p","sort","a","b","items","transitionsEnabled","from","some","length","undefined","transition","slice","_ref","index","size","find","rootVm","isMounted","_ref2","layoutSize","elementSize","disableTransitions","instances","vnode","instanceIndex","indexOf","splice","findIndex","i","zIndex","isHorizontal","isOppositeHorizontal","isOppositeVertical","unit","styles","transform","height","width","delete","v","layoutClasses","layoutStyles","overflow","layoutRef"],"sources":["../../src/composables/layout.ts"],"sourcesContent":["// Composables\nimport { useResizeObserver } from '@/composables/resizeObserver'\n\n// Utilities\nimport {\n computed,\n inject,\n onActivated,\n onBeforeUnmount,\n onDeactivated,\n onMounted,\n provide,\n reactive,\n ref,\n shallowRef, toRef,\n useId,\n} from 'vue'\nimport { convertToUnit, findChildrenWithProvide, getCurrentInstance, propsFactory } from '@/util'\n\n// Types\nimport type { ComponentInternalInstance, CSSProperties, InjectionKey, Prop, Ref } from 'vue'\n\nexport type Position = 'top' | 'left' | 'right' | 'bottom'\n\ninterface Layer {\n top: number\n bottom: number\n left: number\n right: number\n}\n\ninterface LayoutItem extends Layer {\n id: string\n size: number\n position: Position\n}\n\ninterface LayoutProvide {\n register: (\n vm: ComponentInternalInstance,\n options: {\n id: string\n order: Ref<number>\n position: Ref<Position>\n layoutSize: Ref<number | string>\n elementSize: Ref<number | string | undefined>\n active: Ref<boolean>\n disableTransitions?: Ref<boolean>\n absolute: Ref<boolean | undefined>\n }\n ) => {\n layoutItemStyles: Ref<CSSProperties>\n layoutItemScrimStyles: Ref<CSSProperties>\n zIndex: Ref<number>\n }\n unregister: (id: string) => void\n mainRect: Ref<Layer>\n mainStyles: Ref<CSSProperties>\n getLayoutItem: (id: string) => LayoutItem | undefined\n items: Ref<LayoutItem[]>\n layoutRect: Ref<DOMRectReadOnly | undefined>\n rootZIndex: Ref<number>\n}\n\nexport const VuetifyLayoutKey: InjectionKey<LayoutProvide> = Symbol.for('vuetify:layout')\nexport const VuetifyLayoutItemKey: InjectionKey<{ id: string }> = Symbol.for('vuetify:layout-item')\n\nconst ROOT_ZINDEX = 1000\n\nexport const makeLayoutProps = propsFactory({\n overlaps: {\n type: Array,\n default: () => ([]),\n } as Prop<string[]>,\n fullHeight: Boolean,\n}, 'layout')\n\n// Composables\nexport const makeLayoutItemProps = propsFactory({\n name: {\n type: String,\n },\n order: {\n type: [Number, String],\n default: 0,\n },\n absolute: Boolean,\n}, 'layout-item')\n\nexport function useLayout () {\n const layout = inject(VuetifyLayoutKey)\n\n if (!layout) throw new Error('[Vuetify] Could not find injected layout')\n\n return {\n getLayoutItem: layout.getLayoutItem,\n mainRect: layout.mainRect,\n mainStyles: layout.mainStyles,\n }\n}\n\nexport function useLayoutItem (options: {\n id: string | undefined\n order: Ref<number>\n position: Ref<Position>\n layoutSize: Ref<number | string>\n elementSize: Ref<number | string | undefined>\n active: Ref<boolean>\n disableTransitions?: Ref<boolean>\n absolute: Ref<boolean | undefined>\n}) {\n const layout = inject(VuetifyLayoutKey)\n\n if (!layout) throw new Error('[Vuetify] Could not find injected layout')\n\n const id = options.id ?? `layout-item-${useId()}`\n\n const vm = getCurrentInstance('useLayoutItem')\n\n provide(VuetifyLayoutItemKey, { id })\n\n const isKeptAlive = shallowRef(false)\n onDeactivated(() => isKeptAlive.value = true)\n onActivated(() => isKeptAlive.value = false)\n\n const {\n layoutItemStyles,\n layoutItemScrimStyles,\n } = layout.register(vm, {\n ...options,\n active: computed(() => isKeptAlive.value ? false : options.active.value),\n id,\n })\n\n onBeforeUnmount(() => layout.unregister(id))\n\n return { layoutItemStyles, layoutRect: layout.layoutRect, layoutItemScrimStyles }\n}\n\nconst generateLayers = (\n layout: string[],\n positions: Map<string, Ref<Position>>,\n layoutSizes: Map<string, Ref<number | string>>,\n activeItems: Map<string, Ref<boolean>>,\n): { id: string, layer: Layer }[] => {\n let previousLayer: Layer = { top: 0, left: 0, right: 0, bottom: 0 }\n const layers = [{ id: '', layer: { ...previousLayer } }]\n for (const id of layout) {\n const position = positions.get(id)\n const amount = layoutSizes.get(id)\n const active = activeItems.get(id)\n if (!position || !amount || !active) continue\n\n const layer = {\n ...previousLayer,\n [position.value]: parseInt(previousLayer[position.value], 10) + (active.value ? parseInt(amount.value, 10) : 0),\n }\n\n layers.push({\n id,\n layer,\n })\n\n previousLayer = layer\n }\n\n return layers\n}\n\nexport function createLayout (props: { overlaps?: string[], fullHeight?: boolean }) {\n const parentLayout = inject(VuetifyLayoutKey, null)\n const rootZIndex = computed(() => parentLayout ? parentLayout.rootZIndex.value - 100 : ROOT_ZINDEX)\n const registered = ref<string[]>([])\n const positions = reactive(new Map<string, Ref<Position>>())\n const layoutSizes = reactive(new Map<string, Ref<number | string>>())\n const priorities = reactive(new Map<string, Ref<number>>())\n const activeItems = reactive(new Map<string, Ref<boolean>>())\n const disabledTransitions = reactive(new Map<string, Ref<boolean>>())\n const { resizeRef, contentRect: layoutRect } = useResizeObserver()\n\n const computedOverlaps = computed(() => {\n const map = new Map<string, { position: Position, amount: number }>()\n const overlaps = props.overlaps ?? []\n for (const overlap of overlaps.filter(item => item.includes(':'))) {\n const [top, bottom] = overlap.split(':')\n if (!registered.value.includes(top) || !registered.value.includes(bottom)) continue\n\n const topPosition = positions.get(top)\n const bottomPosition = positions.get(bottom)\n const topAmount = layoutSizes.get(top)\n const bottomAmount = layoutSizes.get(bottom)\n\n if (!topPosition || !bottomPosition || !topAmount || !bottomAmount) continue\n\n map.set(bottom, { position: topPosition.value, amount: parseInt(topAmount.value, 10) })\n map.set(top, { position: bottomPosition.value, amount: -parseInt(bottomAmount.value, 10) })\n }\n\n return map\n })\n\n const layers = computed(() => {\n const uniquePriorities = [...new Set([...priorities.values()].map(p => p.value))].sort((a, b) => a - b)\n const layout = []\n for (const p of uniquePriorities) {\n const items = registered.value.filter(id => priorities.get(id)?.value === p)\n layout.push(...items)\n }\n return generateLayers(layout, positions, layoutSizes, activeItems)\n })\n\n const transitionsEnabled = computed(() => {\n return !Array.from(disabledTransitions.values()).some(ref => ref.value)\n })\n\n const mainRect = computed(() => {\n return layers.value[layers.value.length - 1].layer\n })\n\n const mainStyles = toRef(() => {\n return {\n '--v-layout-left': convertToUnit(mainRect.value.left),\n '--v-layout-right': convertToUnit(mainRect.value.right),\n '--v-layout-top': convertToUnit(mainRect.value.top),\n '--v-layout-bottom': convertToUnit(mainRect.value.bottom),\n ...(transitionsEnabled.value ? undefined : { transition: 'none' }),\n } satisfies CSSProperties\n })\n\n const items = computed(() => {\n return layers.value.slice(1).map(({ id }, index) => {\n const { layer } = layers.value[index]\n const size = layoutSizes.get(id)\n const position = positions.get(id)\n\n return {\n id,\n ...layer,\n size: Number(size!.value),\n position: position!.value,\n }\n })\n })\n\n const getLayoutItem = (id: string) => {\n return items.value.find(item => item.id === id)\n }\n\n const rootVm = getCurrentInstance('createLayout')\n\n const isMounted = shallowRef(false)\n onMounted(() => {\n isMounted.value = true\n })\n\n provide(VuetifyLayoutKey, {\n register: (\n vm: ComponentInternalInstance,\n {\n id,\n order,\n position,\n layoutSize,\n elementSize,\n active,\n disableTransitions,\n absolute,\n }\n ) => {\n priorities.set(id, order)\n positions.set(id, position)\n layoutSizes.set(id, layoutSize)\n activeItems.set(id, active)\n disableTransitions && disabledTransitions.set(id, disableTransitions)\n\n const instances = findChildrenWithProvide(VuetifyLayoutItemKey, rootVm?.vnode)\n const instanceIndex = instances.indexOf(vm)\n\n if (instanceIndex > -1) registered.value.splice(instanceIndex, 0, id)\n else registered.value.push(id)\n\n const index = computed(() => items.value.findIndex(i => i.id === id))\n const zIndex = computed(() => rootZIndex.value + (layers.value.length * 2) - (index.value * 2))\n\n const layoutItemStyles = computed<CSSProperties>(() => {\n const isHorizontal = position.value === 'left' || position.value === 'right'\n const isOppositeHorizontal = position.value === 'right'\n const isOppositeVertical = position.value === 'bottom'\n const size = elementSize.value ?? layoutSize.value\n const unit = size === 0 ? '%' : 'px'\n\n const styles = {\n [position.value]: 0,\n zIndex: zIndex.value,\n transform: `translate${isHorizontal ? 'X' : 'Y'}(${(active.value ? 0 : -(size === 0 ? 100 : size)) * (isOppositeHorizontal || isOppositeVertical ? -1 : 1)}${unit})`,\n position: absolute.value || rootZIndex.value !== ROOT_ZINDEX ? 'absolute' : 'fixed',\n ...(transitionsEnabled.value ? undefined : { transition: 'none' }),\n } as const\n\n if (!isMounted.value) return styles\n\n const item = items.value[index.value]\n\n if (!item) throw new Error(`[Vuetify] Could not find layout item \"${id}\"`)\n\n const overlap = computedOverlaps.value.get(id)\n if (overlap) {\n item[overlap.position] += overlap.amount\n }\n\n return {\n ...styles,\n height:\n isHorizontal ? `calc(100% - ${item.top}px - ${item.bottom}px)`\n : elementSize.value ? `${elementSize.value}px`\n : undefined,\n left: isOppositeHorizontal ? undefined : `${item.left}px`,\n right: isOppositeHorizontal ? `${item.right}px` : undefined,\n top: position.value !== 'bottom' ? `${item.top}px` : undefined,\n bottom: position.value !== 'top' ? `${item.bottom}px` : undefined,\n width:\n !isHorizontal ? `calc(100% - ${item.left}px - ${item.right}px)`\n : elementSize.value ? `${elementSize.value}px`\n : undefined,\n }\n })\n const layoutItemScrimStyles = computed<CSSProperties>(() => ({\n zIndex: zIndex.value - 1,\n }))\n\n return { layoutItemStyles, layoutItemScrimStyles, zIndex }\n },\n unregister: (id: string) => {\n priorities.delete(id)\n positions.delete(id)\n layoutSizes.delete(id)\n activeItems.delete(id)\n disabledTransitions.delete(id)\n registered.value = registered.value.filter(v => v !== id)\n },\n mainRect,\n mainStyles,\n getLayoutItem,\n items,\n layoutRect,\n rootZIndex,\n })\n\n const layoutClasses = toRef(() => [\n 'v-layout',\n { 'v-layout--full-height': props.fullHeight },\n ])\n\n const layoutStyles = toRef(() => ({\n zIndex: parentLayout ? rootZIndex.value : undefined,\n position: parentLayout ? 'relative' as const : undefined,\n overflow: parentLayout ? 'hidden' : undefined,\n }))\n\n return {\n layoutClasses,\n layoutStyles,\n getLayoutItem,\n items,\n layoutRect,\n layoutRef: resizeRef,\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"layout.js","names":["useResizeObserver","computed","inject","onActivated","onBeforeUnmount","onDeactivated","onMounted","provide","reactive","ref","shallowRef","toRef","useId","consoleWarn","convertToUnit","findChildrenWithProvide","getCurrentInstance","propsFactory","VuetifyLayoutKey","Symbol","for","VuetifyLayoutItemKey","ROOT_ZINDEX","makeLayoutProps","overlaps","type","Array","default","fullHeight","Boolean","makeLayoutItemProps","name","String","order","Number","absolute","useLayout","layout","Error","getLayoutItem","mainRect","mainStyles","useLayoutItem","options","id","vm","isKeptAlive","value","layoutItemStyles","layoutItemScrimStyles","register","active","unregister","layoutRect","generateLayers","positions","layoutSizes","activeItems","previousLayer","top","left","right","bottom","layers","layer","position","get","amount","parseInt","push","createLayout","props","parentLayout","rootZIndex","registered","Map","priorities","disabledTransitions","resizeRef","contentRect","computedOverlaps","map","overlap","filter","item","includes","split","topPosition","bottomPosition","topAmount","bottomAmount","set","uniquePriorities","Set","values","p","sort","a","b","items","transitionsEnabled","from","some","length","undefined","transition","slice","_ref","index","size","find","rootVm","isMounted","_ref2","layoutSize","elementSize","disableTransitions","instances","vnode","instanceIndex","indexOf","splice","findIndex","i","zIndex","isHorizontal","isOppositeHorizontal","isOppositeVertical","unit","styles","transform","height","width","delete","v","layoutClasses","layoutStyles","overflow","layoutRef"],"sources":["../../src/composables/layout.ts"],"sourcesContent":["// Composables\nimport { useResizeObserver } from '@/composables/resizeObserver'\n\n// Utilities\nimport {\n computed,\n inject,\n onActivated,\n onBeforeUnmount,\n onDeactivated,\n onMounted,\n provide,\n reactive,\n ref,\n shallowRef, toRef,\n useId,\n} from 'vue'\nimport { consoleWarn, convertToUnit, findChildrenWithProvide, getCurrentInstance, propsFactory } from '@/util'\n\n// Types\nimport type { ComponentInternalInstance, CSSProperties, InjectionKey, Prop, Ref } from 'vue'\n\nexport type Position = 'top' | 'left' | 'right' | 'bottom'\n\ninterface Layer {\n top: number\n bottom: number\n left: number\n right: number\n}\n\ninterface LayoutItem extends Layer {\n id: string\n size: number\n position: Position\n}\n\ninterface LayoutProvide {\n register: (\n vm: ComponentInternalInstance,\n options: {\n id: string\n order: Ref<number>\n position: Ref<Position>\n layoutSize: Ref<number | string>\n elementSize: Ref<number | string | undefined>\n active: Ref<boolean>\n disableTransitions?: Ref<boolean>\n absolute: Ref<boolean | undefined>\n }\n ) => {\n layoutItemStyles: Ref<CSSProperties>\n layoutItemScrimStyles: Ref<CSSProperties>\n zIndex: Ref<number>\n }\n unregister: (id: string) => void\n mainRect: Ref<Layer>\n mainStyles: Ref<CSSProperties>\n getLayoutItem: (id: string) => LayoutItem | undefined\n items: Ref<LayoutItem[]>\n layoutRect: Ref<DOMRectReadOnly | undefined>\n rootZIndex: Ref<number>\n}\n\nexport const VuetifyLayoutKey: InjectionKey<LayoutProvide> = Symbol.for('vuetify:layout')\nexport const VuetifyLayoutItemKey: InjectionKey<{ id: string }> = Symbol.for('vuetify:layout-item')\n\nconst ROOT_ZINDEX = 1000\n\nexport const makeLayoutProps = propsFactory({\n overlaps: {\n type: Array,\n default: () => ([]),\n } as Prop<string[]>,\n fullHeight: Boolean,\n}, 'layout')\n\n// Composables\nexport const makeLayoutItemProps = propsFactory({\n name: {\n type: String,\n },\n order: {\n type: [Number, String],\n default: 0,\n },\n absolute: Boolean,\n}, 'layout-item')\n\nexport function useLayout () {\n const layout = inject(VuetifyLayoutKey)\n\n if (!layout) throw new Error('[Vuetify] Could not find injected layout')\n\n return {\n getLayoutItem: layout.getLayoutItem,\n mainRect: layout.mainRect,\n mainStyles: layout.mainStyles,\n }\n}\n\nexport function useLayoutItem (options: {\n id: string | undefined\n order: Ref<number>\n position: Ref<Position>\n layoutSize: Ref<number | string>\n elementSize: Ref<number | string | undefined>\n active: Ref<boolean>\n disableTransitions?: Ref<boolean>\n absolute: Ref<boolean | undefined>\n}) {\n const layout = inject(VuetifyLayoutKey)\n\n if (!layout) throw new Error('[Vuetify] Could not find injected layout')\n\n const id = options.id ?? `layout-item-${useId()}`\n\n const vm = getCurrentInstance('useLayoutItem')\n\n provide(VuetifyLayoutItemKey, { id })\n\n const isKeptAlive = shallowRef(false)\n onDeactivated(() => isKeptAlive.value = true)\n onActivated(() => isKeptAlive.value = false)\n\n const {\n layoutItemStyles,\n layoutItemScrimStyles,\n } = layout.register(vm, {\n ...options,\n active: computed(() => isKeptAlive.value ? false : options.active.value),\n id,\n })\n\n onBeforeUnmount(() => layout.unregister(id))\n\n return { layoutItemStyles, layoutRect: layout.layoutRect, layoutItemScrimStyles }\n}\n\nconst generateLayers = (\n layout: string[],\n positions: Map<string, Ref<Position>>,\n layoutSizes: Map<string, Ref<number | string>>,\n activeItems: Map<string, Ref<boolean>>,\n): { id: string, layer: Layer }[] => {\n let previousLayer: Layer = { top: 0, left: 0, right: 0, bottom: 0 }\n const layers = [{ id: '', layer: { ...previousLayer } }]\n for (const id of layout) {\n const position = positions.get(id)\n const amount = layoutSizes.get(id)\n const active = activeItems.get(id)\n if (!position || !amount || !active) continue\n\n const layer = {\n ...previousLayer,\n [position.value]: parseInt(previousLayer[position.value], 10) + (active.value ? parseInt(amount.value, 10) : 0),\n }\n\n layers.push({\n id,\n layer,\n })\n\n previousLayer = layer\n }\n\n return layers\n}\n\nexport function createLayout (props: { overlaps?: string[], fullHeight?: boolean }) {\n const parentLayout = inject(VuetifyLayoutKey, null)\n const rootZIndex = computed(() => parentLayout ? parentLayout.rootZIndex.value - 100 : ROOT_ZINDEX)\n const registered = ref<string[]>([])\n const positions = reactive(new Map<string, Ref<Position>>())\n const layoutSizes = reactive(new Map<string, Ref<number | string>>())\n const priorities = reactive(new Map<string, Ref<number>>())\n const activeItems = reactive(new Map<string, Ref<boolean>>())\n const disabledTransitions = reactive(new Map<string, Ref<boolean>>())\n const { resizeRef, contentRect: layoutRect } = useResizeObserver()\n\n const computedOverlaps = computed(() => {\n const map = new Map<string, { position: Position, amount: number }>()\n const overlaps = props.overlaps ?? []\n for (const overlap of overlaps.filter(item => item.includes(':'))) {\n const [top, bottom] = overlap.split(':')\n if (!registered.value.includes(top) || !registered.value.includes(bottom)) continue\n\n const topPosition = positions.get(top)\n const bottomPosition = positions.get(bottom)\n const topAmount = layoutSizes.get(top)\n const bottomAmount = layoutSizes.get(bottom)\n\n if (!topPosition || !bottomPosition || !topAmount || !bottomAmount) continue\n\n map.set(bottom, { position: topPosition.value, amount: parseInt(topAmount.value, 10) })\n map.set(top, { position: bottomPosition.value, amount: -parseInt(bottomAmount.value, 10) })\n }\n\n return map\n })\n\n const layers = computed(() => {\n const uniquePriorities = [...new Set([...priorities.values()].map(p => p.value))].sort((a, b) => a - b)\n const layout = []\n for (const p of uniquePriorities) {\n const items = registered.value.filter(id => priorities.get(id)?.value === p)\n layout.push(...items)\n }\n return generateLayers(layout, positions, layoutSizes, activeItems)\n })\n\n const transitionsEnabled = computed(() => {\n return !Array.from(disabledTransitions.values()).some(ref => ref.value)\n })\n\n const mainRect = computed(() => {\n return layers.value[layers.value.length - 1].layer\n })\n\n const mainStyles = toRef(() => {\n return {\n '--v-layout-left': convertToUnit(mainRect.value.left),\n '--v-layout-right': convertToUnit(mainRect.value.right),\n '--v-layout-top': convertToUnit(mainRect.value.top),\n '--v-layout-bottom': convertToUnit(mainRect.value.bottom),\n ...(transitionsEnabled.value ? undefined : { transition: 'none' }),\n } satisfies CSSProperties\n })\n\n const items = computed(() => {\n return layers.value.slice(1).map(({ id }, index) => {\n const { layer } = layers.value[index]\n const size = layoutSizes.get(id)\n const position = positions.get(id)\n\n return {\n id,\n ...layer,\n size: Number(size!.value),\n position: position!.value,\n }\n })\n })\n\n const getLayoutItem = (id: string) => {\n return items.value.find(item => item.id === id)\n }\n\n const rootVm = getCurrentInstance('createLayout')\n\n const isMounted = shallowRef(false)\n onMounted(() => {\n isMounted.value = true\n })\n\n provide(VuetifyLayoutKey, {\n register: (\n vm: ComponentInternalInstance,\n {\n id,\n order,\n position,\n layoutSize,\n elementSize,\n active,\n disableTransitions,\n absolute,\n }\n ) => {\n priorities.set(id, order)\n positions.set(id, position)\n layoutSizes.set(id, layoutSize)\n activeItems.set(id, active)\n disableTransitions && disabledTransitions.set(id, disableTransitions)\n\n const instances = findChildrenWithProvide(VuetifyLayoutItemKey, rootVm?.vnode)\n const instanceIndex = instances.indexOf(vm)\n\n if (instanceIndex > -1) registered.value.splice(instanceIndex, 0, id)\n else registered.value.push(id)\n\n const index = computed(() => items.value.findIndex(i => i.id === id))\n const zIndex = computed(() => rootZIndex.value + (layers.value.length * 2) - (index.value * 2))\n\n const layoutItemStyles = computed<CSSProperties>(() => {\n const isHorizontal = position.value === 'left' || position.value === 'right'\n const isOppositeHorizontal = position.value === 'right'\n const isOppositeVertical = position.value === 'bottom'\n const size = elementSize.value ?? layoutSize.value\n const unit = size === 0 ? '%' : 'px'\n\n const styles = {\n [position.value]: 0,\n zIndex: zIndex.value,\n transform: `translate${isHorizontal ? 'X' : 'Y'}(${(active.value ? 0 : -(size === 0 ? 100 : size)) * (isOppositeHorizontal || isOppositeVertical ? -1 : 1)}${unit})`,\n position: absolute.value || rootZIndex.value !== ROOT_ZINDEX ? 'absolute' : 'fixed',\n ...(transitionsEnabled.value ? undefined : { transition: 'none' }),\n } as const\n\n if (!isMounted.value) return styles\n\n const item = items.value[index.value]\n\n if (!item) consoleWarn(`[Vuetify] Could not find layout item \"${id}\"`)\n\n const overlap = computedOverlaps.value.get(id)\n if (overlap) {\n item[overlap.position] += overlap.amount\n }\n\n return {\n ...styles,\n height:\n isHorizontal ? `calc(100% - ${item.top}px - ${item.bottom}px)`\n : elementSize.value ? `${elementSize.value}px`\n : undefined,\n left: isOppositeHorizontal ? undefined : `${item.left}px`,\n right: isOppositeHorizontal ? `${item.right}px` : undefined,\n top: position.value !== 'bottom' ? `${item.top}px` : undefined,\n bottom: position.value !== 'top' ? `${item.bottom}px` : undefined,\n width:\n !isHorizontal ? `calc(100% - ${item.left}px - ${item.right}px)`\n : elementSize.value ? `${elementSize.value}px`\n : undefined,\n }\n })\n const layoutItemScrimStyles = computed<CSSProperties>(() => ({\n zIndex: zIndex.value - 1,\n }))\n\n return { layoutItemStyles, layoutItemScrimStyles, zIndex }\n },\n unregister: (id: string) => {\n priorities.delete(id)\n positions.delete(id)\n layoutSizes.delete(id)\n activeItems.delete(id)\n disabledTransitions.delete(id)\n registered.value = registered.value.filter(v => v !== id)\n },\n mainRect,\n mainStyles,\n getLayoutItem,\n items,\n layoutRect,\n rootZIndex,\n })\n\n const layoutClasses = toRef(() => [\n 'v-layout',\n { 'v-layout--full-height': props.fullHeight },\n ])\n\n const layoutStyles = toRef(() => ({\n zIndex: parentLayout ? rootZIndex.value : undefined,\n position: parentLayout ? 'relative' as const : undefined,\n overflow: parentLayout ? 'hidden' : undefined,\n }))\n\n return {\n layoutClasses,\n layoutStyles,\n getLayoutItem,\n items,\n layoutRect,\n layoutRef: resizeRef,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -101,8 +101,11 @@ export declare const makeItemsProps: <Defaults extends {
101
101
  default: unknown extends Defaults["valueComparator"] ? typeof deepEqual : typeof deepEqual | Defaults["valueComparator"];
102
102
  };
103
103
  };
104
- export declare function transformItem(props: Omit<ItemProps, 'items'>, item: any): ListItem;
105
- export declare function transformItems(props: Omit<ItemProps, 'items'>, items: ItemProps['items']): ListItem<any>[];
104
+ export declare function transformItem(props: Pick<ItemProps, typeof transformItem.neededProps[number]>, item: any): ListItem;
105
+ export declare namespace transformItem {
106
+ var neededProps: readonly ["itemTitle", "itemValue", "itemChildren", "itemProps", "itemType"];
107
+ }
108
+ export declare function transformItems(props: Pick<ItemProps, typeof transformItem.neededProps[number]>, items: ItemProps['items']): ListItem<any>[];
106
109
  export declare function useItems(props: ItemProps): {
107
110
  items: import("vue").ComputedRef<ListItem<any>[]>;
108
111
  transformIn: (value: any[]) => ListItem[];
@@ -30,12 +30,16 @@ export const makeItemsProps = propsFactory({
30
30
  returnObject: Boolean,
31
31
  valueComparator: Function
32
32
  }, 'list-items');
33
+ const itemTypes = new Set(['item', 'divider', 'subheader']);
33
34
  export function transformItem(props, item) {
34
35
  const title = getPropertyFromItem(item, props.itemTitle, item);
35
36
  const value = getPropertyFromItem(item, props.itemValue, title);
36
37
  const children = getPropertyFromItem(item, props.itemChildren);
37
- const type = getPropertyFromItem(item, props.itemType, 'item');
38
38
  const itemProps = props.itemProps === true ? typeof item === 'object' && item != null && !Array.isArray(item) ? 'children' in item ? omit(item, ['children']) : item : undefined : getPropertyFromItem(item, props.itemProps);
39
+ let type = getPropertyFromItem(item, props.itemType, 'item');
40
+ if (!itemTypes.has(type)) {
41
+ type = 'item';
42
+ }
39
43
  const _props = {
40
44
  title,
41
45
  value,
@@ -50,8 +54,10 @@ export function transformItem(props, item) {
50
54
  raw: item
51
55
  };
52
56
  }
57
+ transformItem.neededProps = ['itemTitle', 'itemValue', 'itemChildren', 'itemProps', 'itemType'];
53
58
  export function transformItems(props, items) {
54
- const _props = pick(props, ['itemTitle', 'itemValue', 'itemChildren', 'itemProps', 'itemType', 'returnObject', 'valueComparator']);
59
+ // avoid reactive access in the loop
60
+ const _props = pick(props, transformItem.neededProps);
55
61
  const array = [];
56
62
  for (const item of items) {
57
63
  array.push(transformItem(_props, item));
@@ -93,7 +99,7 @@ export function useItems(props) {
93
99
  const _returnObject = props.returnObject;
94
100
  const hasValueComparator = !!props.valueComparator;
95
101
  const valueComparator = props.valueComparator || deepEqual;
96
- const _props = pick(props, ['itemTitle', 'itemValue', 'itemChildren', 'itemProps', 'itemType', 'returnObject', 'valueComparator']);
102
+ const _props = pick(props, transformItem.neededProps);
97
103
  const returnValue = [];
98
104
  main: for (const v of value) {
99
105
  // When the model value is null, return an InternalItem
@@ -1 +1 @@
1
- {"version":3,"file":"list-items.js","names":["computed","shallowRef","watchEffect","deepEqual","getPropertyFromItem","isPrimitive","omit","pick","propsFactory","makeItemsProps","items","type","Array","default","itemTitle","String","Function","itemValue","itemChildren","Boolean","itemProps","itemType","returnObject","valueComparator","transformItem","props","item","title","value","children","isArray","undefined","_props","transformItems","raw","array","push","useItems","hasNullItem","some","itemsMap","Map","keylessItems","_items","map","keyless","i","length","values","get","set","transformIn","_allItems","_keylessItems","_hasNullItem","_returnObject","hasValueComparator","returnValue","main","v","fastItems","transformOut","_ref","_ref2"],"sources":["../../src/composables/list-items.ts"],"sourcesContent":["// Utilities\nimport { computed, shallowRef, watchEffect } from 'vue'\nimport { deepEqual, getPropertyFromItem, isPrimitive, omit, pick, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { InternalItem } from '@/composables/filter'\nimport type { Primitive, SelectItemKey } from '@/util'\n\nexport interface ListItem<T = any> extends InternalItem<T> {\n title: string\n props: {\n [key: string]: any\n title: string\n value: any\n }\n children: ListItem<T>[] | undefined\n type: string\n}\n\nexport interface ItemProps {\n items: any[]\n itemTitle: SelectItemKey\n itemValue: SelectItemKey\n itemChildren: SelectItemKey\n itemProps: SelectItemKey\n itemType: SelectItemKey\n returnObject: boolean\n valueComparator: typeof deepEqual | undefined\n}\n\n// Composables\nexport const makeItemsProps = propsFactory({\n items: {\n type: Array as PropType<ItemProps['items']>,\n default: () => ([]),\n },\n itemTitle: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'title',\n },\n itemValue: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'value',\n },\n itemChildren: {\n type: [Boolean, String, Array, Function] as PropType<SelectItemKey>,\n default: 'children',\n },\n itemProps: {\n type: [Boolean, String, Array, Function] as PropType<SelectItemKey>,\n default: 'props',\n },\n itemType: {\n type: [Boolean, String, Array, Function] as PropType<SelectItemKey>,\n default: 'type',\n },\n returnObject: Boolean,\n valueComparator: Function as PropType<typeof deepEqual>,\n}, 'list-items')\n\nexport function transformItem (props: Omit<ItemProps, 'items'>, item: any): ListItem {\n const title = getPropertyFromItem(item, props.itemTitle, item)\n const value = getPropertyFromItem(item, props.itemValue, title)\n const children = getPropertyFromItem(item, props.itemChildren)\n const type = getPropertyFromItem(item, props.itemType, 'item')\n const itemProps = props.itemProps === true\n ? typeof item === 'object' && item != null && !Array.isArray(item)\n ? 'children' in item\n ? omit(item, ['children'])\n : item\n : undefined\n : getPropertyFromItem(item, props.itemProps)\n\n const _props = {\n title,\n value,\n ...itemProps,\n }\n\n return {\n type,\n title: String(_props.title ?? ''),\n value: _props.value,\n props: _props,\n children: type === 'item' && Array.isArray(children) ? transformItems(props, children) : undefined,\n raw: item,\n }\n}\n\nexport function transformItems (props: Omit<ItemProps, 'items'>, items: ItemProps['items']) {\n const _props = pick(props, [\n 'itemTitle',\n 'itemValue',\n 'itemChildren',\n 'itemProps',\n 'itemType',\n 'returnObject',\n 'valueComparator',\n ])\n\n const array: ListItem[] = []\n for (const item of items) {\n array.push(transformItem(_props, item))\n }\n\n return array\n}\n\nexport function useItems (props: ItemProps) {\n const items = computed(() => transformItems(props, props.items))\n const hasNullItem = computed(() => items.value.some(item => item.value === null))\n\n const itemsMap = shallowRef<Map<Primitive, ListItem[]>>(new Map())\n const keylessItems = shallowRef<ListItem[]>([])\n watchEffect(() => {\n const _items = items.value\n const map = new Map()\n const keyless = []\n for (let i = 0; i < _items.length; i++) {\n const item = _items[i]\n if (isPrimitive(item.value) || item.value === null) {\n let values = map.get(item.value)\n if (!values) {\n values = []\n map.set(item.value, values)\n }\n values.push(item)\n } else {\n keyless.push(item)\n }\n }\n itemsMap.value = map\n keylessItems.value = keyless\n })\n\n function transformIn (value: any[]): ListItem[] {\n // Cache unrefed values outside the loop,\n // proxy getters can be slow when you call them a billion times\n const _items = itemsMap.value\n const _allItems = items.value\n const _keylessItems = keylessItems.value\n const _hasNullItem = hasNullItem.value\n const _returnObject = props.returnObject\n const hasValueComparator = !!props.valueComparator\n const valueComparator = props.valueComparator || deepEqual\n const _props = pick(props, [\n 'itemTitle',\n 'itemValue',\n 'itemChildren',\n 'itemProps',\n 'itemType',\n 'returnObject',\n 'valueComparator',\n ])\n\n const returnValue: ListItem[] = []\n main: for (const v of value) {\n // When the model value is null, return an InternalItem\n // based on null only if null is one of the items\n if (!_hasNullItem && v === null) continue\n\n // String model value means value is a custom input value from combobox\n // Don't look up existing items if the model value is a string\n if (_returnObject && typeof v === 'string') {\n returnValue.push(transformItem(_props, v))\n continue\n }\n\n // Fast path, items with primitive values and no\n // custom valueComparator can use a constant-time\n // map lookup instead of searching the items array\n const fastItems = _items.get(v)\n\n // Slow path, always use valueComparator.\n // This is O(n^2) so we really don't want to\n // do it for more than a couple hundred items.\n if (hasValueComparator || !fastItems) {\n for (const item of (hasValueComparator ? _allItems : _keylessItems)) {\n if (valueComparator(v, item.value)) {\n returnValue.push(item)\n continue main\n }\n }\n // Not an existing item, construct it from the model (#4000)\n returnValue.push(transformItem(_props, v))\n continue\n }\n\n returnValue.push(...fastItems)\n }\n\n return returnValue\n }\n\n function transformOut (value: ListItem[]): any[] {\n return props.returnObject\n ? value.map(({ raw }) => raw)\n : value.map(({ value }) => value)\n }\n\n return { items, transformIn, transformOut }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"list-items.js","names":["computed","shallowRef","watchEffect","deepEqual","getPropertyFromItem","isPrimitive","omit","pick","propsFactory","makeItemsProps","items","type","Array","default","itemTitle","String","Function","itemValue","itemChildren","Boolean","itemProps","itemType","returnObject","valueComparator","itemTypes","Set","transformItem","props","item","title","value","children","isArray","undefined","has","_props","transformItems","raw","neededProps","array","push","useItems","hasNullItem","some","itemsMap","Map","keylessItems","_items","map","keyless","i","length","values","get","set","transformIn","_allItems","_keylessItems","_hasNullItem","_returnObject","hasValueComparator","returnValue","main","v","fastItems","transformOut","_ref","_ref2"],"sources":["../../src/composables/list-items.ts"],"sourcesContent":["// Utilities\nimport { computed, shallowRef, watchEffect } from 'vue'\nimport { deepEqual, getPropertyFromItem, isPrimitive, omit, pick, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { InternalItem } from '@/composables/filter'\nimport type { Primitive, SelectItemKey } from '@/util'\n\nexport interface ListItem<T = any> extends InternalItem<T> {\n title: string\n props: {\n [key: string]: any\n title: string\n value: any\n }\n children: ListItem<T>[] | undefined\n type: string\n}\n\nexport interface ItemProps {\n items: any[]\n itemTitle: SelectItemKey\n itemValue: SelectItemKey\n itemChildren: SelectItemKey\n itemProps: SelectItemKey\n itemType: SelectItemKey\n returnObject: boolean\n valueComparator: typeof deepEqual | undefined\n}\n\n// Composables\nexport const makeItemsProps = propsFactory({\n items: {\n type: Array as PropType<ItemProps['items']>,\n default: () => ([]),\n },\n itemTitle: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'title',\n },\n itemValue: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'value',\n },\n itemChildren: {\n type: [Boolean, String, Array, Function] as PropType<SelectItemKey>,\n default: 'children',\n },\n itemProps: {\n type: [Boolean, String, Array, Function] as PropType<SelectItemKey>,\n default: 'props',\n },\n itemType: {\n type: [Boolean, String, Array, Function] as PropType<SelectItemKey>,\n default: 'type',\n },\n returnObject: Boolean,\n valueComparator: Function as PropType<typeof deepEqual>,\n}, 'list-items')\n\nconst itemTypes = new Set(['item', 'divider', 'subheader'])\n\nexport function transformItem (\n props: Pick<ItemProps, typeof transformItem.neededProps[number]>,\n item: any\n): ListItem {\n const title = getPropertyFromItem(item, props.itemTitle, item)\n const value = getPropertyFromItem(item, props.itemValue, title)\n const children = getPropertyFromItem(item, props.itemChildren)\n const itemProps = props.itemProps === true\n ? typeof item === 'object' && item != null && !Array.isArray(item)\n ? 'children' in item\n ? omit(item, ['children'])\n : item\n : undefined\n : getPropertyFromItem(item, props.itemProps)\n\n let type = getPropertyFromItem(item, props.itemType, 'item')\n if (!itemTypes.has(type)) {\n type = 'item'\n }\n\n const _props = {\n title,\n value,\n ...itemProps,\n }\n\n return {\n type,\n title: String(_props.title ?? ''),\n value: _props.value,\n props: _props,\n children: type === 'item' && Array.isArray(children) ? transformItems(props, children) : undefined,\n raw: item,\n }\n}\n\ntransformItem.neededProps = [\n 'itemTitle',\n 'itemValue',\n 'itemChildren',\n 'itemProps',\n 'itemType',\n] as const\n\nexport function transformItems (\n props: Pick<ItemProps, typeof transformItem.neededProps[number]>,\n items: ItemProps['items']\n) {\n // avoid reactive access in the loop\n const _props = pick(props, transformItem.neededProps)\n\n const array: ListItem[] = []\n for (const item of items) {\n array.push(transformItem(_props, item))\n }\n\n return array\n}\n\nexport function useItems (props: ItemProps) {\n const items = computed(() => transformItems(props, props.items))\n const hasNullItem = computed(() => items.value.some(item => item.value === null))\n\n const itemsMap = shallowRef<Map<Primitive, ListItem[]>>(new Map())\n const keylessItems = shallowRef<ListItem[]>([])\n watchEffect(() => {\n const _items = items.value\n const map = new Map()\n const keyless = []\n for (let i = 0; i < _items.length; i++) {\n const item = _items[i]\n if (isPrimitive(item.value) || item.value === null) {\n let values = map.get(item.value)\n if (!values) {\n values = []\n map.set(item.value, values)\n }\n values.push(item)\n } else {\n keyless.push(item)\n }\n }\n itemsMap.value = map\n keylessItems.value = keyless\n })\n\n function transformIn (value: any[]): ListItem[] {\n // Cache unrefed values outside the loop,\n // proxy getters can be slow when you call them a billion times\n const _items = itemsMap.value\n const _allItems = items.value\n const _keylessItems = keylessItems.value\n const _hasNullItem = hasNullItem.value\n const _returnObject = props.returnObject\n const hasValueComparator = !!props.valueComparator\n const valueComparator = props.valueComparator || deepEqual\n const _props = pick(props, transformItem.neededProps)\n\n const returnValue: ListItem[] = []\n main: for (const v of value) {\n // When the model value is null, return an InternalItem\n // based on null only if null is one of the items\n if (!_hasNullItem && v === null) continue\n\n // String model value means value is a custom input value from combobox\n // Don't look up existing items if the model value is a string\n if (_returnObject && typeof v === 'string') {\n returnValue.push(transformItem(_props, v))\n continue\n }\n\n // Fast path, items with primitive values and no\n // custom valueComparator can use a constant-time\n // map lookup instead of searching the items array\n const fastItems = _items.get(v)\n\n // Slow path, always use valueComparator.\n // This is O(n^2) so we really don't want to\n // do it for more than a couple hundred items.\n if (hasValueComparator || !fastItems) {\n for (const item of (hasValueComparator ? _allItems : _keylessItems)) {\n if (valueComparator(v, item.value)) {\n returnValue.push(item)\n continue main\n }\n }\n // Not an existing item, construct it from the model (#4000)\n returnValue.push(transformItem(_props, v))\n continue\n }\n\n returnValue.push(...fastItems)\n }\n\n return returnValue\n }\n\n function transformOut (value: ListItem[]): any[] {\n return props.returnObject\n ? value.map(({ raw }) => raw)\n : value.map(({ value }) => value)\n }\n\n return { items, transformIn, transformOut }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -16,7 +16,7 @@ export const createVuetify = function () {
16
16
  ...options
17
17
  });
18
18
  };
19
- export const version = "3.9.0-master.2025-07-08";
19
+ export const version = "3.9.0-master.2025-07-10";
20
20
  createVuetify.version = version;
21
21
  export { blueprints, components, directives };
22
22
  export * from "./composables/index.js";
@@ -2577,50 +2577,44 @@ declare module 'vue' {
2577
2577
  $children?: VNodeChild
2578
2578
  }
2579
2579
  export interface GlobalComponents {
2580
- VApp: typeof import('vuetify/components')['VApp']
2581
2580
  VAppBar: typeof import('vuetify/components')['VAppBar']
2582
2581
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
2583
2582
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
2584
- VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2585
- VAlert: typeof import('vuetify/components')['VAlert']
2586
- VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
2587
- VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
2588
- VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
2589
- VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
2590
- VBadge: typeof import('vuetify/components')['VBadge']
2583
+ VApp: typeof import('vuetify/components')['VApp']
2591
2584
  VAvatar: typeof import('vuetify/components')['VAvatar']
2592
- VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2593
- VBtn: typeof import('vuetify/components')['VBtn']
2594
- VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2585
+ VBadge: typeof import('vuetify/components')['VBadge']
2595
2586
  VBanner: typeof import('vuetify/components')['VBanner']
2596
2587
  VBannerActions: typeof import('vuetify/components')['VBannerActions']
2597
2588
  VBannerText: typeof import('vuetify/components')['VBannerText']
2589
+ VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
2590
+ VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
2591
+ VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
2592
+ VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2598
2593
  VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2599
- VChip: typeof import('vuetify/components')['VChip']
2594
+ VAlert: typeof import('vuetify/components')['VAlert']
2595
+ VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
2596
+ VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2600
2597
  VCard: typeof import('vuetify/components')['VCard']
2601
2598
  VCardActions: typeof import('vuetify/components')['VCardActions']
2602
2599
  VCardItem: typeof import('vuetify/components')['VCardItem']
2603
2600
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
2604
2601
  VCardText: typeof import('vuetify/components')['VCardText']
2605
2602
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
2606
- VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2603
+ VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2604
+ VChip: typeof import('vuetify/components')['VChip']
2605
+ VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2606
+ VCombobox: typeof import('vuetify/components')['VCombobox']
2607
+ VCode: typeof import('vuetify/components')['VCode']
2607
2608
  VCarousel: typeof import('vuetify/components')['VCarousel']
2608
2609
  VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2609
2610
  VChipGroup: typeof import('vuetify/components')['VChipGroup']
2610
- VCheckbox: typeof import('vuetify/components')['VCheckbox']
2611
- VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2612
2611
  VColorPicker: typeof import('vuetify/components')['VColorPicker']
2613
- VCode: typeof import('vuetify/components')['VCode']
2614
- VCombobox: typeof import('vuetify/components')['VCombobox']
2615
- VCounter: typeof import('vuetify/components')['VCounter']
2616
- VDialog: typeof import('vuetify/components')['VDialog']
2617
2612
  VDatePicker: typeof import('vuetify/components')['VDatePicker']
2618
2613
  VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
2619
2614
  VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
2620
2615
  VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
2621
2616
  VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
2622
2617
  VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
2623
- VDivider: typeof import('vuetify/components')['VDivider']
2624
2618
  VDataTable: typeof import('vuetify/components')['VDataTable']
2625
2619
  VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
2626
2620
  VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
@@ -2628,25 +2622,33 @@ declare module 'vue' {
2628
2622
  VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
2629
2623
  VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
2630
2624
  VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
2631
- VEmptyState: typeof import('vuetify/components')['VEmptyState']
2632
- VFab: typeof import('vuetify/components')['VFab']
2625
+ VDivider: typeof import('vuetify/components')['VDivider']
2626
+ VCheckbox: typeof import('vuetify/components')['VCheckbox']
2627
+ VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2628
+ VDialog: typeof import('vuetify/components')['VDialog']
2629
+ VCounter: typeof import('vuetify/components')['VCounter']
2633
2630
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
2634
2631
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
2635
2632
  VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
2636
2633
  VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
2634
+ VEmptyState: typeof import('vuetify/components')['VEmptyState']
2635
+ VFab: typeof import('vuetify/components')['VFab']
2637
2636
  VFileInput: typeof import('vuetify/components')['VFileInput']
2638
- VField: typeof import('vuetify/components')['VField']
2639
- VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
2640
2637
  VFooter: typeof import('vuetify/components')['VFooter']
2641
- VImg: typeof import('vuetify/components')['VImg']
2642
2638
  VIcon: typeof import('vuetify/components')['VIcon']
2643
2639
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
2644
2640
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
2645
2641
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
2646
2642
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
2647
- VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2648
- VKbd: typeof import('vuetify/components')['VKbd']
2643
+ VField: typeof import('vuetify/components')['VField']
2644
+ VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
2645
+ VImg: typeof import('vuetify/components')['VImg']
2649
2646
  VInput: typeof import('vuetify/components')['VInput']
2647
+ VKbd: typeof import('vuetify/components')['VKbd']
2648
+ VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2649
+ VLabel: typeof import('vuetify/components')['VLabel']
2650
+ VMain: typeof import('vuetify/components')['VMain']
2651
+ VMessages: typeof import('vuetify/components')['VMessages']
2650
2652
  VList: typeof import('vuetify/components')['VList']
2651
2653
  VListGroup: typeof import('vuetify/components')['VListGroup']
2652
2654
  VListImg: typeof import('vuetify/components')['VListImg']
@@ -2656,30 +2658,23 @@ declare module 'vue' {
2656
2658
  VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
2657
2659
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
2658
2660
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
2659
- VItemGroup: typeof import('vuetify/components')['VItemGroup']
2660
- VItem: typeof import('vuetify/components')['VItem']
2661
- VLabel: typeof import('vuetify/components')['VLabel']
2662
- VMain: typeof import('vuetify/components')['VMain']
2663
- VNumberInput: typeof import('vuetify/components')['VNumberInput']
2664
- VMenu: typeof import('vuetify/components')['VMenu']
2665
- VMessages: typeof import('vuetify/components')['VMessages']
2666
2661
  VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
2667
- VPagination: typeof import('vuetify/components')['VPagination']
2668
- VOtpInput: typeof import('vuetify/components')['VOtpInput']
2669
2662
  VOverlay: typeof import('vuetify/components')['VOverlay']
2670
- VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2663
+ VOtpInput: typeof import('vuetify/components')['VOtpInput']
2664
+ VPagination: typeof import('vuetify/components')['VPagination']
2671
2665
  VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2672
2666
  VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
2667
+ VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2673
2668
  VRating: typeof import('vuetify/components')['VRating']
2674
2669
  VSelect: typeof import('vuetify/components')['VSelect']
2675
- VSheet: typeof import('vuetify/components')['VSheet']
2676
2670
  VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2677
- VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2678
2671
  VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2679
- VSlider: typeof import('vuetify/components')['VSlider']
2672
+ VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2680
2673
  VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
2681
2674
  VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
2675
+ VSheet: typeof import('vuetify/components')['VSheet']
2682
2676
  VSnackbar: typeof import('vuetify/components')['VSnackbar']
2677
+ VSlider: typeof import('vuetify/components')['VSlider']
2683
2678
  VStepper: typeof import('vuetify/components')['VStepper']
2684
2679
  VStepperActions: typeof import('vuetify/components')['VStepperActions']
2685
2680
  VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
@@ -2687,52 +2682,53 @@ declare module 'vue' {
2687
2682
  VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
2688
2683
  VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
2689
2684
  VSwitch: typeof import('vuetify/components')['VSwitch']
2685
+ VTextarea: typeof import('vuetify/components')['VTextarea']
2690
2686
  VSystemBar: typeof import('vuetify/components')['VSystemBar']
2687
+ VTextField: typeof import('vuetify/components')['VTextField']
2688
+ VTable: typeof import('vuetify/components')['VTable']
2691
2689
  VTab: typeof import('vuetify/components')['VTab']
2692
2690
  VTabs: typeof import('vuetify/components')['VTabs']
2693
2691
  VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
2694
2692
  VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
2695
- VTextField: typeof import('vuetify/components')['VTextField']
2696
- VTable: typeof import('vuetify/components')['VTable']
2693
+ VToolbar: typeof import('vuetify/components')['VToolbar']
2694
+ VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
2695
+ VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
2696
+ VTimeline: typeof import('vuetify/components')['VTimeline']
2697
+ VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2697
2698
  VTimePicker: typeof import('vuetify/components')['VTimePicker']
2698
2699
  VTimePickerClock: typeof import('vuetify/components')['VTimePickerClock']
2699
2700
  VTimePickerControls: typeof import('vuetify/components')['VTimePickerControls']
2700
- VTimeline: typeof import('vuetify/components')['VTimeline']
2701
- VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2702
- VTextarea: typeof import('vuetify/components')['VTextarea']
2703
2701
  VTooltip: typeof import('vuetify/components')['VTooltip']
2704
- VToolbar: typeof import('vuetify/components')['VToolbar']
2705
- VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
2706
- VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
2702
+ VWindow: typeof import('vuetify/components')['VWindow']
2703
+ VWindowItem: typeof import('vuetify/components')['VWindowItem']
2707
2704
  VTreeview: typeof import('vuetify/components')['VTreeview']
2708
2705
  VTreeviewItem: typeof import('vuetify/components')['VTreeviewItem']
2709
2706
  VTreeviewGroup: typeof import('vuetify/components')['VTreeviewGroup']
2710
- VWindow: typeof import('vuetify/components')['VWindow']
2711
- VWindowItem: typeof import('vuetify/components')['VWindowItem']
2707
+ VItemGroup: typeof import('vuetify/components')['VItemGroup']
2708
+ VItem: typeof import('vuetify/components')['VItem']
2709
+ VMenu: typeof import('vuetify/components')['VMenu']
2710
+ VBtn: typeof import('vuetify/components')['VBtn']
2712
2711
  VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
2713
2712
  VDataIterator: typeof import('vuetify/components')['VDataIterator']
2713
+ VNumberInput: typeof import('vuetify/components')['VNumberInput']
2714
2714
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
2715
2715
  VContainer: typeof import('vuetify/components')['VContainer']
2716
2716
  VCol: typeof import('vuetify/components')['VCol']
2717
2717
  VRow: typeof import('vuetify/components')['VRow']
2718
2718
  VSpacer: typeof import('vuetify/components')['VSpacer']
2719
- VForm: typeof import('vuetify/components')['VForm']
2720
2719
  VHover: typeof import('vuetify/components')['VHover']
2721
- VLayout: typeof import('vuetify/components')['VLayout']
2722
- VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
2723
2720
  VLazy: typeof import('vuetify/components')['VLazy']
2724
- VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
2721
+ VRadio: typeof import('vuetify/components')['VRadio']
2725
2722
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
2726
2723
  VParallax: typeof import('vuetify/components')['VParallax']
2727
2724
  VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2728
- VRadio: typeof import('vuetify/components')['VRadio']
2729
2725
  VResponsive: typeof import('vuetify/components')['VResponsive']
2730
- VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
2731
2726
  VSparkline: typeof import('vuetify/components')['VSparkline']
2732
2727
  VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
2728
+ VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
2733
2729
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
2734
- VValidation: typeof import('vuetify/components')['VValidation']
2735
2730
  VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
2731
+ VValidation: typeof import('vuetify/components')['VValidation']
2736
2732
  VFabTransition: typeof import('vuetify/components')['VFabTransition']
2737
2733
  VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
2738
2734
  VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
@@ -2749,12 +2745,22 @@ declare module 'vue' {
2749
2745
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
2750
2746
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
2751
2747
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
2748
+ VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
2749
+ VLayout: typeof import('vuetify/components')['VLayout']
2750
+ VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
2751
+ VForm: typeof import('vuetify/components')['VForm']
2752
+ VCalendar: typeof import('vuetify/labs/components')['VCalendar']
2753
+ VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
2754
+ VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
2755
+ VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
2756
+ VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
2757
+ VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
2752
2758
  VColorInput: typeof import('vuetify/labs/components')['VColorInput']
2753
2759
  VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2754
2760
  VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2755
- VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2756
2761
  VPicker: typeof import('vuetify/labs/components')['VPicker']
2757
2762
  VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
2763
+ VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2758
2764
  VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
2759
2765
  VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
2760
2766
  VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
@@ -2762,12 +2768,6 @@ declare module 'vue' {
2762
2768
  VDateInput: typeof import('vuetify/labs/components')['VDateInput']
2763
2769
  VMaskInput: typeof import('vuetify/labs/components')['VMaskInput']
2764
2770
  VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
2765
- VCalendar: typeof import('vuetify/labs/components')['VCalendar']
2766
- VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
2767
- VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
2768
- VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
2769
- VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
2770
- VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
2771
2771
  }
2772
2772
  export interface GlobalDirectives {
2773
2773
  vClickOutside: typeof import('vuetify/directives')['ClickOutside']
package/lib/framework.js CHANGED
@@ -109,7 +109,7 @@ export function createVuetify() {
109
109
  };
110
110
  });
111
111
  }
112
- export const version = "3.9.0-master.2025-07-08";
112
+ export const version = "3.9.0-master.2025-07-10";
113
113
  createVuetify.version = version;
114
114
 
115
115
  // Vue's inject() can only be used in setup