vuetify 3.7.5 → 3.7.6
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.
- package/dist/_component-variables-labs.sass +1 -0
- package/dist/json/attributes.json +3829 -3533
- package/dist/json/importMap-labs.json +22 -14
- package/dist/json/importMap.json +174 -174
- package/dist/json/tags.json +84 -0
- package/dist/json/web-types.json +7290 -6349
- package/dist/vuetify-labs.css +2544 -2473
- package/dist/vuetify-labs.d.ts +1314 -1
- package/dist/vuetify-labs.esm.js +363 -23
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +363 -23
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +5574 -5576
- package/dist/vuetify.d.ts +62 -60
- package/dist/vuetify.esm.js +41 -19
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +41 -19
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +40 -39
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.mjs +2 -1
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.mjs +2 -1
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VList/VListItem.mjs +14 -8
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VRangeSlider/VRangeSlider.mjs +2 -2
- package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.mjs +2 -1
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelectionControl/VSelectionControl.css +1 -3
- package/lib/components/VSelectionControl/VSelectionControl.sass +1 -5
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs +1 -1
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
- package/lib/composables/nested/nested.mjs +4 -2
- package/lib/composables/nested/nested.mjs.map +1 -1
- package/lib/composables/virtual.mjs +7 -2
- package/lib/composables/virtual.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/iconsets/mdi.mjs +2 -1
- package/lib/iconsets/mdi.mjs.map +1 -1
- package/lib/index.d.mts +62 -60
- package/lib/labs/VFileUpload/VFileUpload.css +74 -0
- package/lib/labs/VFileUpload/VFileUpload.mjs +241 -0
- package/lib/labs/VFileUpload/VFileUpload.mjs.map +1 -0
- package/lib/labs/VFileUpload/VFileUpload.sass +75 -0
- package/lib/labs/VFileUpload/VFileUploadItem.mjs +95 -0
- package/lib/labs/VFileUpload/VFileUploadItem.mjs.map +1 -0
- package/lib/labs/VFileUpload/_variables.scss +12 -0
- package/lib/labs/VFileUpload/index.d.mts +1365 -0
- package/lib/labs/VFileUpload/index.mjs +3 -0
- package/lib/labs/VFileUpload/index.mjs.map +1 -0
- package/lib/labs/VNumberInput/VNumberInput.mjs +7 -4
- package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
- package/lib/labs/components.d.mts +1348 -37
- package/lib/labs/components.mjs +1 -0
- package/lib/labs/components.mjs.map +1 -1
- package/lib/locale/af.mjs +5 -0
- package/lib/locale/af.mjs.map +1 -1
- package/lib/locale/ar.mjs +5 -0
- package/lib/locale/ar.mjs.map +1 -1
- package/lib/locale/az.mjs +5 -0
- package/lib/locale/az.mjs.map +1 -1
- package/lib/locale/bg.mjs +5 -0
- package/lib/locale/bg.mjs.map +1 -1
- package/lib/locale/ca.mjs +5 -0
- package/lib/locale/ca.mjs.map +1 -1
- package/lib/locale/ckb.mjs +5 -0
- package/lib/locale/ckb.mjs.map +1 -1
- package/lib/locale/cs.mjs +5 -0
- package/lib/locale/cs.mjs.map +1 -1
- package/lib/locale/da.mjs +5 -0
- package/lib/locale/da.mjs.map +1 -1
- package/lib/locale/de.mjs +5 -0
- package/lib/locale/de.mjs.map +1 -1
- package/lib/locale/el.mjs +5 -0
- package/lib/locale/el.mjs.map +1 -1
- package/lib/locale/en.mjs +5 -0
- package/lib/locale/en.mjs.map +1 -1
- package/lib/locale/es.mjs +5 -0
- package/lib/locale/es.mjs.map +1 -1
- package/lib/locale/et.mjs +5 -0
- package/lib/locale/et.mjs.map +1 -1
- package/lib/locale/fa.mjs +5 -0
- package/lib/locale/fa.mjs.map +1 -1
- package/lib/locale/fi.mjs +5 -0
- package/lib/locale/fi.mjs.map +1 -1
- package/lib/locale/fr.mjs +5 -0
- package/lib/locale/fr.mjs.map +1 -1
- package/lib/locale/he.mjs +5 -0
- package/lib/locale/he.mjs.map +1 -1
- package/lib/locale/hr.mjs +5 -0
- package/lib/locale/hr.mjs.map +1 -1
- package/lib/locale/hu.mjs +5 -0
- package/lib/locale/hu.mjs.map +1 -1
- package/lib/locale/id.mjs +5 -0
- package/lib/locale/id.mjs.map +1 -1
- package/lib/locale/index.d.mts +215 -0
- package/lib/locale/it.mjs +5 -0
- package/lib/locale/it.mjs.map +1 -1
- package/lib/locale/ja.mjs +5 -0
- package/lib/locale/ja.mjs.map +1 -1
- package/lib/locale/km.mjs +5 -0
- package/lib/locale/km.mjs.map +1 -1
- package/lib/locale/ko.mjs +5 -0
- package/lib/locale/ko.mjs.map +1 -1
- package/lib/locale/lt.mjs +5 -0
- package/lib/locale/lt.mjs.map +1 -1
- package/lib/locale/lv.mjs +5 -0
- package/lib/locale/lv.mjs.map +1 -1
- package/lib/locale/nl.mjs +5 -0
- package/lib/locale/nl.mjs.map +1 -1
- package/lib/locale/no.mjs +5 -0
- package/lib/locale/no.mjs.map +1 -1
- package/lib/locale/pl.mjs +5 -0
- package/lib/locale/pl.mjs.map +1 -1
- package/lib/locale/pt.mjs +5 -0
- package/lib/locale/pt.mjs.map +1 -1
- package/lib/locale/ro.mjs +5 -0
- package/lib/locale/ro.mjs.map +1 -1
- package/lib/locale/ru.mjs +5 -0
- package/lib/locale/ru.mjs.map +1 -1
- package/lib/locale/sk.mjs +5 -0
- package/lib/locale/sk.mjs.map +1 -1
- package/lib/locale/sl.mjs +5 -0
- package/lib/locale/sl.mjs.map +1 -1
- package/lib/locale/sr-Cyrl.mjs +5 -0
- package/lib/locale/sr-Cyrl.mjs.map +1 -1
- package/lib/locale/sr-Latn.mjs +5 -0
- package/lib/locale/sr-Latn.mjs.map +1 -1
- package/lib/locale/sv.mjs +5 -0
- package/lib/locale/sv.mjs.map +1 -1
- package/lib/locale/th.mjs +5 -0
- package/lib/locale/th.mjs.map +1 -1
- package/lib/locale/tr.mjs +5 -0
- package/lib/locale/tr.mjs.map +1 -1
- package/lib/locale/uk.mjs +5 -0
- package/lib/locale/uk.mjs.map +1 -1
- package/lib/locale/vi.mjs +5 -0
- package/lib/locale/vi.mjs.map +1 -1
- package/lib/locale/zh-Hans.mjs +5 -0
- package/lib/locale/zh-Hans.mjs.map +1 -1
- package/lib/locale/zh-Hant.mjs +5 -0
- package/lib/locale/zh-Hant.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nested.mjs","names":["useProxiedModel","computed","inject","onBeforeUnmount","provide","ref","shallowRef","toRaw","toRef","independentActiveStrategy","independentSingleActiveStrategy","leafActiveStrategy","leafSingleActiveStrategy","listOpenStrategy","multipleOpenStrategy","singleOpenStrategy","classicSelectStrategy","independentSelectStrategy","independentSingleSelectStrategy","leafSelectStrategy","leafSingleSelectStrategy","consoleError","getCurrentInstance","getUid","propsFactory","VNestedSymbol","Symbol","for","emptyNested","id","root","register","unregister","parents","Map","children","open","openOnSelect","activate","select","activatable","selectable","opened","Set","activated","selected","selectedValues","getPath","makeNestedProps","Boolean","activeStrategy","String","Function","Object","selectStrategy","openStrategy","mandatory","useNested","props","isUnmounted","v","values","value","in","out","path","parent","unshift","get","vm","nodeIds","nested","arr","key","entries","push","parentId","isGroup","has","map","join","newPath","concat","add","set","delete","list","filter","child","event","emit","newOpened","newSelected","newActivated","useNestedItem","uidSymbol","computedId","undefined","item","e","isOpen","isActivated","isSelected","isIndeterminate","isLeaf","isGroupActivator","useNestedGroupActivator"],"sources":["../../../src/composables/nested/nested.ts"],"sourcesContent":["// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, inject, onBeforeUnmount, provide, ref, shallowRef, toRaw, toRef } from 'vue'\nimport {\n independentActiveStrategy,\n independentSingleActiveStrategy,\n leafActiveStrategy,\n leafSingleActiveStrategy,\n} from './activeStrategies'\nimport { listOpenStrategy, multipleOpenStrategy, singleOpenStrategy } from './openStrategies'\nimport {\n classicSelectStrategy,\n independentSelectStrategy,\n independentSingleSelectStrategy,\n leafSelectStrategy,\n leafSingleSelectStrategy,\n} from './selectStrategies'\nimport { consoleError, getCurrentInstance, getUid, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType, Ref } from 'vue'\nimport type { ActiveStrategy } from './activeStrategies'\nimport type { OpenStrategy } from './openStrategies'\nimport type { SelectStrategy } from './selectStrategies'\nimport type { EventProp } from '@/util'\n\nexport type ActiveStrategyProp =\n | 'single-leaf'\n | 'leaf'\n | 'independent'\n | 'single-independent'\n | ActiveStrategy\n | ((mandatory: boolean) => ActiveStrategy)\nexport type SelectStrategyProp =\n | 'single-leaf'\n | 'leaf'\n | 'independent'\n | 'single-independent'\n | 'classic'\n | SelectStrategy\n | ((mandatory: boolean) => SelectStrategy)\nexport type OpenStrategyProp = 'single' | 'multiple' | 'list' | OpenStrategy\n\nexport interface NestedProps {\n activatable: boolean\n selectable: boolean\n activeStrategy: ActiveStrategyProp | undefined\n selectStrategy: SelectStrategyProp | undefined\n openStrategy: OpenStrategyProp | undefined\n activated: any\n selected: any\n opened: any\n mandatory: boolean\n 'onUpdate:activated': EventProp<[any]> | undefined\n 'onUpdate:selected': EventProp<[any]> | undefined\n 'onUpdate:opened': EventProp<[any]> | undefined\n}\n\ntype NestedProvide = {\n id: Ref<unknown>\n isGroupActivator?: boolean\n root: {\n children: Ref<Map<unknown, unknown[]>>\n parents: Ref<Map<unknown, unknown>>\n activatable: Ref<boolean>\n selectable: Ref<boolean>\n opened: Ref<Set<unknown>>\n activated: Ref<Set<unknown>>\n selected: Ref<Map<unknown, 'on' | 'off' | 'indeterminate'>>\n selectedValues: Ref<unknown[]>\n register: (id: unknown, parentId: unknown, isGroup?: boolean) => void\n unregister: (id: unknown) => void\n open: (id: unknown, value: boolean, event?: Event) => void\n activate: (id: unknown, value: boolean, event?: Event) => void\n select: (id: unknown, value: boolean, event?: Event) => void\n openOnSelect: (id: unknown, value: boolean, event?: Event) => void\n getPath: (id: unknown) => unknown[]\n }\n}\n\nexport const VNestedSymbol: InjectionKey<NestedProvide> = Symbol.for('vuetify:nested')\n\nexport const emptyNested: NestedProvide = {\n id: shallowRef(),\n root: {\n register: () => null,\n unregister: () => null,\n parents: ref(new Map()),\n children: ref(new Map()),\n open: () => null,\n openOnSelect: () => null,\n activate: () => null,\n select: () => null,\n activatable: ref(false),\n selectable: ref(false),\n opened: ref(new Set()),\n activated: ref(new Set()),\n selected: ref(new Map()),\n selectedValues: ref([]),\n getPath: () => [],\n },\n}\n\nexport const makeNestedProps = propsFactory({\n activatable: Boolean,\n selectable: Boolean,\n activeStrategy: [String, Function, Object] as PropType<ActiveStrategyProp>,\n selectStrategy: [String, Function, Object] as PropType<SelectStrategyProp>,\n openStrategy: [String, Object] as PropType<OpenStrategyProp>,\n opened: null,\n activated: null,\n selected: null,\n mandatory: Boolean,\n}, 'nested')\n\nexport const useNested = (props: NestedProps) => {\n let isUnmounted = false\n const children = ref(new Map<unknown, unknown[]>())\n const parents = ref(new Map<unknown, unknown>())\n\n const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()])\n\n const activeStrategy = computed(() => {\n if (typeof props.activeStrategy === 'object') return props.activeStrategy\n if (typeof props.activeStrategy === 'function') return props.activeStrategy(props.mandatory)\n\n switch (props.activeStrategy) {\n case 'leaf': return leafActiveStrategy(props.mandatory)\n case 'single-leaf': return leafSingleActiveStrategy(props.mandatory)\n case 'independent': return independentActiveStrategy(props.mandatory)\n case 'single-independent':\n default: return independentSingleActiveStrategy(props.mandatory)\n }\n })\n\n const selectStrategy = computed(() => {\n if (typeof props.selectStrategy === 'object') return props.selectStrategy\n if (typeof props.selectStrategy === 'function') return props.selectStrategy(props.mandatory)\n\n switch (props.selectStrategy) {\n case 'single-leaf': return leafSingleSelectStrategy(props.mandatory)\n case 'leaf': return leafSelectStrategy(props.mandatory)\n case 'independent': return independentSelectStrategy(props.mandatory)\n case 'single-independent': return independentSingleSelectStrategy(props.mandatory)\n case 'classic':\n default: return classicSelectStrategy(props.mandatory)\n }\n })\n\n const openStrategy = computed(() => {\n if (typeof props.openStrategy === 'object') return props.openStrategy\n\n switch (props.openStrategy) {\n case 'list': return listOpenStrategy\n case 'single': return singleOpenStrategy\n case 'multiple':\n default: return multipleOpenStrategy\n }\n })\n\n const activated = useProxiedModel(\n props,\n 'activated',\n props.activated,\n v => activeStrategy.value.in(v, children.value, parents.value),\n v => activeStrategy.value.out(v, children.value, parents.value),\n )\n const selected = useProxiedModel(\n props,\n 'selected',\n props.selected,\n v => selectStrategy.value.in(v, children.value, parents.value),\n v => selectStrategy.value.out(v, children.value, parents.value),\n )\n\n onBeforeUnmount(() => {\n isUnmounted = true\n })\n\n function getPath (id: unknown) {\n const path: unknown[] = []\n let parent: unknown = id\n\n while (parent != null) {\n path.unshift(parent)\n parent = parents.value.get(parent)\n }\n\n return path\n }\n\n const vm = getCurrentInstance('nested')\n\n const nodeIds = new Set<unknown>()\n\n const nested: NestedProvide = {\n id: shallowRef(),\n root: {\n opened,\n activatable: toRef(props, 'activatable'),\n selectable: toRef(props, 'selectable'),\n activated,\n selected,\n selectedValues: computed(() => {\n const arr = []\n\n for (const [key, value] of selected.value.entries()) {\n if (value === 'on') arr.push(key)\n }\n\n return arr\n }),\n register: (id, parentId, isGroup) => {\n if (nodeIds.has(id)) {\n const path = getPath(id).map(String).join(' -> ')\n const newPath = getPath(parentId).concat(id).map(String).join(' -> ')\n consoleError(`Multiple nodes with the same ID\\n\\t${path}\\n\\t${newPath}`)\n return\n } else {\n nodeIds.add(id)\n }\n\n parentId && id !== parentId && parents.value.set(id, parentId)\n\n isGroup && children.value.set(id, [])\n\n if (parentId != null) {\n children.value.set(parentId, [...children.value.get(parentId) || [], id])\n }\n },\n unregister: id => {\n if (isUnmounted) return\n\n nodeIds.delete(id)\n children.value.delete(id)\n const parent = parents.value.get(id)\n if (parent) {\n const list = children.value.get(parent) ?? []\n children.value.set(parent, list.filter(child => child !== id))\n }\n parents.value.delete(id)\n },\n open: (id, value, event) => {\n vm.emit('click:open', { id, value, path: getPath(id), event })\n\n const newOpened = openStrategy.value.open({\n id,\n value,\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n newOpened && (opened.value = newOpened)\n },\n openOnSelect: (id, value, event) => {\n const newOpened = openStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n newOpened && (opened.value = newOpened)\n },\n select: (id, value, event) => {\n vm.emit('click:select', { id, value, path: getPath(id), event })\n\n const newSelected = selectStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n newSelected && (selected.value = newSelected)\n\n nested.root.openOnSelect(id, value, event)\n },\n activate: (id, value, event) => {\n if (!props.activatable) {\n return nested.root.select(id, true, event)\n }\n\n vm.emit('click:activate', { id, value, path: getPath(id), event })\n\n const newActivated = activeStrategy.value.activate({\n id,\n value,\n activated: new Set(activated.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n newActivated && (activated.value = newActivated)\n },\n children,\n parents,\n getPath,\n },\n }\n\n provide(VNestedSymbol, nested)\n\n return nested.root\n}\n\nexport const useNestedItem = (id: Ref<unknown>, isGroup: boolean) => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n const uidSymbol = Symbol(getUid())\n const computedId = computed(() => id.value !== undefined ? id.value : uidSymbol)\n\n const item = {\n ...parent,\n id: computedId,\n open: (open: boolean, e: Event) => parent.root.open(computedId.value, open, e),\n openOnSelect: (open: boolean, e?: Event) => parent.root.openOnSelect(computedId.value, open, e),\n isOpen: computed(() => parent.root.opened.value.has(computedId.value)),\n parent: computed(() => parent.root.parents.value.get(computedId.value)),\n activate: (activated: boolean, e?: Event) => parent.root.activate(computedId.value, activated, e),\n isActivated: computed(() => parent.root.activated.value.has(toRaw(computedId.value))),\n select: (selected: boolean, e?: Event) => parent.root.select(computedId.value, selected, e),\n isSelected: computed(() => parent.root.selected.value.get(toRaw(computedId.value)) === 'on'),\n isIndeterminate: computed(() => parent.root.selected.value.get(computedId.value) === 'indeterminate'),\n isLeaf: computed(() => !parent.root.children.value.get(computedId.value)),\n isGroupActivator: parent.isGroupActivator,\n }\n\n !parent.isGroupActivator && parent.root.register(computedId.value, parent.id.value, isGroup)\n\n onBeforeUnmount(() => {\n !parent.isGroupActivator && parent.root.unregister(computedId.value)\n })\n\n isGroup && provide(VNestedSymbol, item)\n\n return item\n}\n\nexport const useNestedGroupActivator = () => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n provide(VNestedSymbol, { ...parent, isGroupActivator: true })\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"nested.mjs","names":["useProxiedModel","computed","inject","onBeforeMount","onBeforeUnmount","provide","ref","shallowRef","toRaw","toRef","independentActiveStrategy","independentSingleActiveStrategy","leafActiveStrategy","leafSingleActiveStrategy","listOpenStrategy","multipleOpenStrategy","singleOpenStrategy","classicSelectStrategy","independentSelectStrategy","independentSingleSelectStrategy","leafSelectStrategy","leafSingleSelectStrategy","consoleError","getCurrentInstance","getUid","propsFactory","VNestedSymbol","Symbol","for","emptyNested","id","root","register","unregister","parents","Map","children","open","openOnSelect","activate","select","activatable","selectable","opened","Set","activated","selected","selectedValues","getPath","makeNestedProps","Boolean","activeStrategy","String","Function","Object","selectStrategy","openStrategy","mandatory","useNested","props","isUnmounted","v","values","value","in","out","path","parent","unshift","get","vm","nodeIds","nested","arr","key","entries","push","parentId","isGroup","has","map","join","newPath","concat","add","set","delete","list","filter","child","event","emit","newOpened","newSelected","newActivated","useNestedItem","uidSymbol","computedId","undefined","item","e","isOpen","isActivated","isSelected","isIndeterminate","isLeaf","isGroupActivator","useNestedGroupActivator"],"sources":["../../../src/composables/nested/nested.ts"],"sourcesContent":["// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport {\n computed,\n inject,\n onBeforeMount,\n onBeforeUnmount,\n provide,\n ref,\n shallowRef,\n toRaw,\n toRef,\n} from 'vue'\nimport {\n independentActiveStrategy,\n independentSingleActiveStrategy,\n leafActiveStrategy,\n leafSingleActiveStrategy,\n} from './activeStrategies'\nimport { listOpenStrategy, multipleOpenStrategy, singleOpenStrategy } from './openStrategies'\nimport {\n classicSelectStrategy,\n independentSelectStrategy,\n independentSingleSelectStrategy,\n leafSelectStrategy,\n leafSingleSelectStrategy,\n} from './selectStrategies'\nimport { consoleError, getCurrentInstance, getUid, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType, Ref } from 'vue'\nimport type { ActiveStrategy } from './activeStrategies'\nimport type { OpenStrategy } from './openStrategies'\nimport type { SelectStrategy } from './selectStrategies'\nimport type { EventProp } from '@/util'\n\nexport type ActiveStrategyProp =\n | 'single-leaf'\n | 'leaf'\n | 'independent'\n | 'single-independent'\n | ActiveStrategy\n | ((mandatory: boolean) => ActiveStrategy)\nexport type SelectStrategyProp =\n | 'single-leaf'\n | 'leaf'\n | 'independent'\n | 'single-independent'\n | 'classic'\n | SelectStrategy\n | ((mandatory: boolean) => SelectStrategy)\nexport type OpenStrategyProp = 'single' | 'multiple' | 'list' | OpenStrategy\n\nexport interface NestedProps {\n activatable: boolean\n selectable: boolean\n activeStrategy: ActiveStrategyProp | undefined\n selectStrategy: SelectStrategyProp | undefined\n openStrategy: OpenStrategyProp | undefined\n activated: any\n selected: any\n opened: any\n mandatory: boolean\n 'onUpdate:activated': EventProp<[any]> | undefined\n 'onUpdate:selected': EventProp<[any]> | undefined\n 'onUpdate:opened': EventProp<[any]> | undefined\n}\n\ntype NestedProvide = {\n id: Ref<unknown>\n isGroupActivator?: boolean\n root: {\n children: Ref<Map<unknown, unknown[]>>\n parents: Ref<Map<unknown, unknown>>\n activatable: Ref<boolean>\n selectable: Ref<boolean>\n opened: Ref<Set<unknown>>\n activated: Ref<Set<unknown>>\n selected: Ref<Map<unknown, 'on' | 'off' | 'indeterminate'>>\n selectedValues: Ref<unknown[]>\n register: (id: unknown, parentId: unknown, isGroup?: boolean) => void\n unregister: (id: unknown) => void\n open: (id: unknown, value: boolean, event?: Event) => void\n activate: (id: unknown, value: boolean, event?: Event) => void\n select: (id: unknown, value: boolean, event?: Event) => void\n openOnSelect: (id: unknown, value: boolean, event?: Event) => void\n getPath: (id: unknown) => unknown[]\n }\n}\n\nexport const VNestedSymbol: InjectionKey<NestedProvide> = Symbol.for('vuetify:nested')\n\nexport const emptyNested: NestedProvide = {\n id: shallowRef(),\n root: {\n register: () => null,\n unregister: () => null,\n parents: ref(new Map()),\n children: ref(new Map()),\n open: () => null,\n openOnSelect: () => null,\n activate: () => null,\n select: () => null,\n activatable: ref(false),\n selectable: ref(false),\n opened: ref(new Set()),\n activated: ref(new Set()),\n selected: ref(new Map()),\n selectedValues: ref([]),\n getPath: () => [],\n },\n}\n\nexport const makeNestedProps = propsFactory({\n activatable: Boolean,\n selectable: Boolean,\n activeStrategy: [String, Function, Object] as PropType<ActiveStrategyProp>,\n selectStrategy: [String, Function, Object] as PropType<SelectStrategyProp>,\n openStrategy: [String, Object] as PropType<OpenStrategyProp>,\n opened: null,\n activated: null,\n selected: null,\n mandatory: Boolean,\n}, 'nested')\n\nexport const useNested = (props: NestedProps) => {\n let isUnmounted = false\n const children = ref(new Map<unknown, unknown[]>())\n const parents = ref(new Map<unknown, unknown>())\n\n const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()])\n\n const activeStrategy = computed(() => {\n if (typeof props.activeStrategy === 'object') return props.activeStrategy\n if (typeof props.activeStrategy === 'function') return props.activeStrategy(props.mandatory)\n\n switch (props.activeStrategy) {\n case 'leaf': return leafActiveStrategy(props.mandatory)\n case 'single-leaf': return leafSingleActiveStrategy(props.mandatory)\n case 'independent': return independentActiveStrategy(props.mandatory)\n case 'single-independent':\n default: return independentSingleActiveStrategy(props.mandatory)\n }\n })\n\n const selectStrategy = computed(() => {\n if (typeof props.selectStrategy === 'object') return props.selectStrategy\n if (typeof props.selectStrategy === 'function') return props.selectStrategy(props.mandatory)\n\n switch (props.selectStrategy) {\n case 'single-leaf': return leafSingleSelectStrategy(props.mandatory)\n case 'leaf': return leafSelectStrategy(props.mandatory)\n case 'independent': return independentSelectStrategy(props.mandatory)\n case 'single-independent': return independentSingleSelectStrategy(props.mandatory)\n case 'classic':\n default: return classicSelectStrategy(props.mandatory)\n }\n })\n\n const openStrategy = computed(() => {\n if (typeof props.openStrategy === 'object') return props.openStrategy\n\n switch (props.openStrategy) {\n case 'list': return listOpenStrategy\n case 'single': return singleOpenStrategy\n case 'multiple':\n default: return multipleOpenStrategy\n }\n })\n\n const activated = useProxiedModel(\n props,\n 'activated',\n props.activated,\n v => activeStrategy.value.in(v, children.value, parents.value),\n v => activeStrategy.value.out(v, children.value, parents.value),\n )\n const selected = useProxiedModel(\n props,\n 'selected',\n props.selected,\n v => selectStrategy.value.in(v, children.value, parents.value),\n v => selectStrategy.value.out(v, children.value, parents.value),\n )\n\n onBeforeUnmount(() => {\n isUnmounted = true\n })\n\n function getPath (id: unknown) {\n const path: unknown[] = []\n let parent: unknown = id\n\n while (parent != null) {\n path.unshift(parent)\n parent = parents.value.get(parent)\n }\n\n return path\n }\n\n const vm = getCurrentInstance('nested')\n\n const nodeIds = new Set<unknown>()\n\n const nested: NestedProvide = {\n id: shallowRef(),\n root: {\n opened,\n activatable: toRef(props, 'activatable'),\n selectable: toRef(props, 'selectable'),\n activated,\n selected,\n selectedValues: computed(() => {\n const arr = []\n\n for (const [key, value] of selected.value.entries()) {\n if (value === 'on') arr.push(key)\n }\n\n return arr\n }),\n register: (id, parentId, isGroup) => {\n if (nodeIds.has(id)) {\n const path = getPath(id).map(String).join(' -> ')\n const newPath = getPath(parentId).concat(id).map(String).join(' -> ')\n consoleError(`Multiple nodes with the same ID\\n\\t${path}\\n\\t${newPath}`)\n return\n } else {\n nodeIds.add(id)\n }\n\n parentId && id !== parentId && parents.value.set(id, parentId)\n\n isGroup && children.value.set(id, [])\n\n if (parentId != null) {\n children.value.set(parentId, [...children.value.get(parentId) || [], id])\n }\n },\n unregister: id => {\n if (isUnmounted) return\n\n nodeIds.delete(id)\n children.value.delete(id)\n const parent = parents.value.get(id)\n if (parent) {\n const list = children.value.get(parent) ?? []\n children.value.set(parent, list.filter(child => child !== id))\n }\n parents.value.delete(id)\n },\n open: (id, value, event) => {\n vm.emit('click:open', { id, value, path: getPath(id), event })\n\n const newOpened = openStrategy.value.open({\n id,\n value,\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n newOpened && (opened.value = newOpened)\n },\n openOnSelect: (id, value, event) => {\n const newOpened = openStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n newOpened && (opened.value = newOpened)\n },\n select: (id, value, event) => {\n vm.emit('click:select', { id, value, path: getPath(id), event })\n\n const newSelected = selectStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n newSelected && (selected.value = newSelected)\n\n nested.root.openOnSelect(id, value, event)\n },\n activate: (id, value, event) => {\n if (!props.activatable) {\n return nested.root.select(id, true, event)\n }\n\n vm.emit('click:activate', { id, value, path: getPath(id), event })\n\n const newActivated = activeStrategy.value.activate({\n id,\n value,\n activated: new Set(activated.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n newActivated && (activated.value = newActivated)\n },\n children,\n parents,\n getPath,\n },\n }\n\n provide(VNestedSymbol, nested)\n\n return nested.root\n}\n\nexport const useNestedItem = (id: Ref<unknown>, isGroup: boolean) => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n const uidSymbol = Symbol(getUid())\n const computedId = computed(() => id.value !== undefined ? id.value : uidSymbol)\n\n const item = {\n ...parent,\n id: computedId,\n open: (open: boolean, e: Event) => parent.root.open(computedId.value, open, e),\n openOnSelect: (open: boolean, e?: Event) => parent.root.openOnSelect(computedId.value, open, e),\n isOpen: computed(() => parent.root.opened.value.has(computedId.value)),\n parent: computed(() => parent.root.parents.value.get(computedId.value)),\n activate: (activated: boolean, e?: Event) => parent.root.activate(computedId.value, activated, e),\n isActivated: computed(() => parent.root.activated.value.has(toRaw(computedId.value))),\n select: (selected: boolean, e?: Event) => parent.root.select(computedId.value, selected, e),\n isSelected: computed(() => parent.root.selected.value.get(toRaw(computedId.value)) === 'on'),\n isIndeterminate: computed(() => parent.root.selected.value.get(computedId.value) === 'indeterminate'),\n isLeaf: computed(() => !parent.root.children.value.get(computedId.value)),\n isGroupActivator: parent.isGroupActivator,\n }\n\n onBeforeMount(() => {\n !parent.isGroupActivator && parent.root.register(computedId.value, parent.id.value, isGroup)\n })\n\n onBeforeUnmount(() => {\n !parent.isGroupActivator && parent.root.unregister(computedId.value)\n })\n\n isGroup && provide(VNestedSymbol, item)\n\n return item\n}\n\nexport const useNestedGroupActivator = () => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n provide(VNestedSymbol, { ...parent, isGroupActivator: true })\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { useDisplay } from "./display.mjs";
|
|
3
3
|
import { useResizeObserver } from "./resizeObserver.mjs"; // Utilities
|
|
4
4
|
import { computed, nextTick, onScopeDispose, ref, shallowRef, watch, watchEffect } from 'vue';
|
|
5
|
-
import { clamp, debounce, IN_BROWSER, propsFactory } from "../util/index.mjs"; // Types
|
|
5
|
+
import { clamp, debounce, IN_BROWSER, isObject, propsFactory } from "../util/index.mjs"; // Types
|
|
6
6
|
const UP = -1;
|
|
7
7
|
const DOWN = 1;
|
|
8
8
|
|
|
@@ -122,6 +122,7 @@ export function useVirtual(props, items) {
|
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
124
|
});
|
|
125
|
+
let scrollTimeout = -1;
|
|
125
126
|
function handleScroll() {
|
|
126
127
|
if (!containerRef.value || !markerRef.value) return;
|
|
127
128
|
const scrollTop = containerRef.value.scrollTop;
|
|
@@ -138,12 +139,15 @@ export function useVirtual(props, items) {
|
|
|
138
139
|
}
|
|
139
140
|
lastScrollTop = scrollTop;
|
|
140
141
|
lastScrollTime = scrollTime;
|
|
142
|
+
window.clearTimeout(scrollTimeout);
|
|
143
|
+
scrollTimeout = window.setTimeout(handleScrollend, 500);
|
|
141
144
|
calculateVisibleItems();
|
|
142
145
|
}
|
|
143
146
|
function handleScrollend() {
|
|
144
147
|
if (!containerRef.value || !markerRef.value) return;
|
|
145
148
|
scrollVelocity = 0;
|
|
146
149
|
lastScrollTime = 0;
|
|
150
|
+
window.clearTimeout(scrollTimeout);
|
|
147
151
|
calculateVisibleItems();
|
|
148
152
|
}
|
|
149
153
|
let raf = -1;
|
|
@@ -189,7 +193,8 @@ export function useVirtual(props, items) {
|
|
|
189
193
|
const computedItems = computed(() => {
|
|
190
194
|
return items.value.slice(first.value, last.value).map((item, index) => ({
|
|
191
195
|
raw: item,
|
|
192
|
-
index: index + first.value
|
|
196
|
+
index: index + first.value,
|
|
197
|
+
key: isObject(item) && 'value' in item ? item.value : index + first.value
|
|
193
198
|
}));
|
|
194
199
|
});
|
|
195
200
|
watch(items, () => {
|
|
@@ -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 calculateVisibleItems,\n containerRef,\n markerRef,\n computedItems,\n paddingTop,\n paddingBottom,\n scrollToIndex,\n handleScroll,\n handleScrollend,\n handleItemResize,\n }\n}\n\n// https://gist.github.com/robertleeplummerjr/1cc657191d34ecd0a324\nfunction binaryClosest (arr: ArrayLike<number>, val: number) {\n let high = arr.length - 1\n let low = 0\n let mid = 0\n let item = null\n let target = -1\n\n if (arr[high]! < val) {\n return high\n }\n\n while (low <= high) {\n mid = (low + high) >> 1\n item = arr[mid]!\n\n if (item > val) {\n high = mid - 1\n } else if (item < val) {\n target = mid\n low = mid + 1\n } else if (item === val) {\n return mid\n } else {\n return low\n }\n }\n\n return target\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"virtual.mjs","names":["useDisplay","useResizeObserver","computed","nextTick","onScopeDispose","ref","shallowRef","watch","watchEffect","clamp","debounce","IN_BROWSER","isObject","propsFactory","UP","DOWN","BUFFER_PX","makeVirtualProps","itemHeight","type","Number","String","default","height","useVirtual","props","items","display","value","parseFloat","first","last","Math","ceil","parseInt","paddingTop","paddingBottom","containerRef","markerRef","markerOffset","resizeRef","contentRect","viewportHeight","document","documentElement","hasInitialRender","sizes","Array","from","length","offsets","updateTime","targetScrollIndex","getSize","index","updateOffsets","start","performance","now","i","max","unwatch","v","offsetTop","immediate","calculateVisibleItems","window","requestAnimationFrame","scrollToIndex","clear","handleItemResize","prevHeight","prevMinHeight","min","calculateOffset","calculateIndex","scrollTop","binaryClosest","lastScrollTop","scrollVelocity","lastScrollTime","val","oldVal","scrollTimeout","handleScroll","scrollTime","scrollDeltaT","sign","clearTimeout","setTimeout","handleScrollend","raf","cancelAnimationFrame","_calculateVisibleItems","direction","startPx","endPx","end","topOverflow","bottomOverflow","bufferOverflow","offset","computedItems","slice","map","item","raw","key","deep","arr","high","low","mid","target"],"sources":["../../src/composables/virtual.ts"],"sourcesContent":["// Composables\nimport { useDisplay } from '@/composables/display'\nimport { useResizeObserver } from '@/composables/resizeObserver'\n\n// Utilities\nimport { computed, nextTick, onScopeDispose, ref, shallowRef, watch, watchEffect } from 'vue'\nimport { clamp, debounce, IN_BROWSER, isObject, propsFactory } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\nconst UP = -1\nconst DOWN = 1\n\n/** Determines how large each batch of items should be */\nconst BUFFER_PX = 100\n\ntype VirtualProps = {\n itemHeight?: number | string\n height?: number | string\n}\n\nexport const makeVirtualProps = propsFactory({\n itemHeight: {\n type: [Number, String],\n default: null,\n },\n height: [Number, String],\n}, 'virtual')\n\nexport function useVirtual <T> (props: VirtualProps, items: Ref<readonly T[]>) {\n const display = useDisplay()\n\n const itemHeight = shallowRef(0)\n watchEffect(() => {\n itemHeight.value = parseFloat(props.itemHeight || 0)\n })\n\n const first = shallowRef(0)\n const last = shallowRef(Math.ceil(\n // Assume 16px items filling the entire screen height if\n // not provided. This is probably incorrect but it minimises\n // the chance of ending up with empty space at the bottom.\n // The default value is set here to avoid poisoning getSize()\n (parseInt(props.height!) || display.height.value) / (itemHeight.value || 16)\n ) || 1)\n const paddingTop = shallowRef(0)\n const paddingBottom = shallowRef(0)\n\n /** The scrollable element */\n const containerRef = ref<HTMLElement>()\n /** An element marking the top of the scrollable area,\n * used to add an offset if there's padding or other elements above the virtual list */\n const markerRef = ref<HTMLElement>()\n /** markerRef's offsetTop, lazily evaluated */\n let markerOffset = 0\n\n const { resizeRef, contentRect } = useResizeObserver()\n watchEffect(() => {\n resizeRef.value = containerRef.value\n })\n const viewportHeight = computed(() => {\n return containerRef.value === document.documentElement\n ? display.height.value\n : contentRect.value?.height || parseInt(props.height!) || 0\n })\n /** All static elements have been rendered and we have an assumed item height */\n const hasInitialRender = computed(() => {\n return !!(containerRef.value && markerRef.value && viewportHeight.value && itemHeight.value)\n })\n\n let sizes = Array.from<number | null>({ length: items.value.length })\n let offsets = Array.from<number>({ length: items.value.length })\n const updateTime = shallowRef(0)\n let targetScrollIndex = -1\n\n function getSize (index: number) {\n return sizes[index] || itemHeight.value\n }\n\n const updateOffsets = debounce(() => {\n const start = performance.now()\n offsets[0] = 0\n const length = items.value.length\n for (let i = 1; i <= length - 1; i++) {\n offsets[i] = (offsets[i - 1] || 0) + getSize(i - 1)\n }\n updateTime.value = Math.max(updateTime.value, performance.now() - start)\n }, updateTime)\n\n const unwatch = watch(hasInitialRender, v => {\n if (!v) return\n // First render is complete, update offsets and visible\n // items in case our assumed item height was incorrect\n\n unwatch()\n markerOffset = markerRef.value!.offsetTop\n updateOffsets.immediate()\n calculateVisibleItems()\n\n if (!~targetScrollIndex) return\n\n nextTick(() => {\n IN_BROWSER && window.requestAnimationFrame(() => {\n scrollToIndex(targetScrollIndex)\n targetScrollIndex = -1\n })\n })\n })\n\n onScopeDispose(() => {\n updateOffsets.clear()\n })\n\n function handleItemResize (index: number, height: number) {\n const prevHeight = sizes[index]\n const prevMinHeight = itemHeight.value\n\n itemHeight.value = prevMinHeight ? Math.min(itemHeight.value, height) : height\n\n if (prevHeight !== height || prevMinHeight !== itemHeight.value) {\n sizes[index] = height\n updateOffsets()\n }\n }\n\n function calculateOffset (index: number) {\n index = clamp(index, 0, items.value.length - 1)\n return offsets[index] || 0\n }\n\n function calculateIndex (scrollTop: number) {\n return binaryClosest(offsets, scrollTop)\n }\n\n let lastScrollTop = 0\n let scrollVelocity = 0\n let lastScrollTime = 0\n\n watch(viewportHeight, (val, oldVal) => {\n if (oldVal) {\n calculateVisibleItems()\n if (val < oldVal) {\n requestAnimationFrame(() => {\n scrollVelocity = 0\n calculateVisibleItems()\n })\n }\n }\n })\n\n let scrollTimeout = -1\n function handleScroll () {\n if (!containerRef.value || !markerRef.value) return\n\n const scrollTop = containerRef.value.scrollTop\n const scrollTime = performance.now()\n const scrollDeltaT = scrollTime - lastScrollTime\n\n if (scrollDeltaT > 500) {\n scrollVelocity = Math.sign(scrollTop - lastScrollTop)\n\n // Not super important, only update at the\n // start of a scroll sequence to avoid reflows\n markerOffset = markerRef.value.offsetTop\n } else {\n scrollVelocity = scrollTop - lastScrollTop\n }\n\n lastScrollTop = scrollTop\n lastScrollTime = scrollTime\n\n window.clearTimeout(scrollTimeout)\n scrollTimeout = window.setTimeout(handleScrollend, 500)\n\n calculateVisibleItems()\n }\n function handleScrollend () {\n if (!containerRef.value || !markerRef.value) return\n\n scrollVelocity = 0\n lastScrollTime = 0\n\n window.clearTimeout(scrollTimeout)\n calculateVisibleItems()\n }\n\n let raf = -1\n function calculateVisibleItems () {\n cancelAnimationFrame(raf)\n raf = requestAnimationFrame(_calculateVisibleItems)\n }\n function _calculateVisibleItems () {\n if (!containerRef.value || !viewportHeight.value) return\n const scrollTop = lastScrollTop - markerOffset\n const direction = Math.sign(scrollVelocity)\n\n const startPx = Math.max(0, scrollTop - BUFFER_PX)\n const start = clamp(calculateIndex(startPx), 0, items.value.length)\n\n const endPx = scrollTop + viewportHeight.value + BUFFER_PX\n const end = clamp(calculateIndex(endPx) + 1, start + 1, items.value.length)\n\n if (\n // Only update the side we're scrolling towards,\n // the other side will be updated incidentally\n (direction !== UP || start < first.value) &&\n (direction !== DOWN || end > last.value)\n ) {\n const topOverflow = calculateOffset(first.value) - calculateOffset(start)\n const bottomOverflow = calculateOffset(end) - calculateOffset(last.value)\n const bufferOverflow = Math.max(topOverflow, bottomOverflow)\n\n if (bufferOverflow > BUFFER_PX) {\n first.value = start\n last.value = end\n } else {\n // Only update the side that's reached its limit if there's still buffer left\n if (start <= 0) first.value = start\n if (end >= items.value.length) last.value = end\n }\n }\n\n paddingTop.value = calculateOffset(first.value)\n paddingBottom.value = calculateOffset(items.value.length) - calculateOffset(last.value)\n }\n\n function scrollToIndex (index: number) {\n const offset = calculateOffset(index)\n if (!containerRef.value || (index && !offset)) {\n targetScrollIndex = index\n } else {\n containerRef.value.scrollTop = offset\n }\n }\n\n const computedItems = computed(() => {\n return items.value.slice(first.value, last.value).map((item, index) => ({\n raw: item,\n index: index + first.value,\n key: (isObject(item) && 'value' in item) ? item.value : index + first.value,\n }))\n })\n\n watch(items, () => {\n sizes = Array.from({ length: items.value.length })\n offsets = Array.from({ length: items.value.length })\n updateOffsets.immediate()\n calculateVisibleItems()\n }, { deep: true })\n\n return {\n calculateVisibleItems,\n containerRef,\n markerRef,\n computedItems,\n paddingTop,\n paddingBottom,\n scrollToIndex,\n handleScroll,\n handleScrollend,\n handleItemResize,\n }\n}\n\n// https://gist.github.com/robertleeplummerjr/1cc657191d34ecd0a324\nfunction binaryClosest (arr: ArrayLike<number>, val: number) {\n let high = arr.length - 1\n let low = 0\n let mid = 0\n let item = null\n let target = -1\n\n if (arr[high]! < val) {\n return high\n }\n\n while (low <= high) {\n mid = (low + high) >> 1\n item = arr[mid]!\n\n if (item > val) {\n high = mid - 1\n } else if (item < val) {\n target = mid\n low = mid + 1\n } else if (item === val) {\n return mid\n } else {\n return low\n }\n }\n\n return target\n}\n"],"mappings":"AAAA;AAAA,SACSA,UAAU;AAAA,SACVC,iBAAiB,gCAE1B;AACA,SAASC,QAAQ,EAAEC,QAAQ,EAAEC,cAAc,EAAEC,GAAG,EAAEC,UAAU,EAAEC,KAAK,EAAEC,WAAW,QAAQ,KAAK;AAAA,SACpFC,KAAK,EAAEC,QAAQ,EAAEC,UAAU,EAAEC,QAAQ,EAAEC,YAAY,6BAE5D;AAGA,MAAMC,EAAE,GAAG,CAAC,CAAC;AACb,MAAMC,IAAI,GAAG,CAAC;;AAEd;AACA,MAAMC,SAAS,GAAG,GAAG;AAOrB,OAAO,MAAMC,gBAAgB,GAAGJ,YAAY,CAAC;EAC3CK,UAAU,EAAE;IACVC,IAAI,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAC;IACtBC,OAAO,EAAE;EACX,CAAC;EACDC,MAAM,EAAE,CAACH,MAAM,EAAEC,MAAM;AACzB,CAAC,EAAE,SAAS,CAAC;AAEb,OAAO,SAASG,UAAUA,CAAMC,KAAmB,EAAEC,KAAwB,EAAE;EAC7E,MAAMC,OAAO,GAAG3B,UAAU,CAAC,CAAC;EAE5B,MAAMkB,UAAU,GAAGZ,UAAU,CAAC,CAAC,CAAC;EAChCE,WAAW,CAAC,MAAM;IAChBU,UAAU,CAACU,KAAK,GAAGC,UAAU,CAACJ,KAAK,CAACP,UAAU,IAAI,CAAC,CAAC;EACtD,CAAC,CAAC;EAEF,MAAMY,KAAK,GAAGxB,UAAU,CAAC,CAAC,CAAC;EAC3B,MAAMyB,IAAI,GAAGzB,UAAU,CAAC0B,IAAI,CAACC,IAAI;EAC/B;EACA;EACA;EACA;EACA,CAACC,QAAQ,CAACT,KAAK,CAACF,MAAO,CAAC,IAAII,OAAO,CAACJ,MAAM,CAACK,KAAK,KAAKV,UAAU,CAACU,KAAK,IAAI,EAAE,CAC7E,CAAC,IAAI,CAAC,CAAC;EACP,MAAMO,UAAU,GAAG7B,UAAU,CAAC,CAAC,CAAC;EAChC,MAAM8B,aAAa,GAAG9B,UAAU,CAAC,CAAC,CAAC;;EAEnC;EACA,MAAM+B,YAAY,GAAGhC,GAAG,CAAc,CAAC;EACvC;AACF;EACE,MAAMiC,SAAS,GAAGjC,GAAG,CAAc,CAAC;EACpC;EACA,IAAIkC,YAAY,GAAG,CAAC;EAEpB,MAAM;IAAEC,SAAS;IAAEC;EAAY,CAAC,GAAGxC,iBAAiB,CAAC,CAAC;EACtDO,WAAW,CAAC,MAAM;IAChBgC,SAAS,CAACZ,KAAK,GAAGS,YAAY,CAACT,KAAK;EACtC,CAAC,CAAC;EACF,MAAMc,cAAc,GAAGxC,QAAQ,CAAC,MAAM;IACpC,OAAOmC,YAAY,CAACT,KAAK,KAAKe,QAAQ,CAACC,eAAe,GAClDjB,OAAO,CAACJ,MAAM,CAACK,KAAK,GACpBa,WAAW,CAACb,KAAK,EAAEL,MAAM,IAAIW,QAAQ,CAACT,KAAK,CAACF,MAAO,CAAC,IAAI,CAAC;EAC/D,CAAC,CAAC;EACF;EACA,MAAMsB,gBAAgB,GAAG3C,QAAQ,CAAC,MAAM;IACtC,OAAO,CAAC,EAAEmC,YAAY,CAACT,KAAK,IAAIU,SAAS,CAACV,KAAK,IAAIc,cAAc,CAACd,KAAK,IAAIV,UAAU,CAACU,KAAK,CAAC;EAC9F,CAAC,CAAC;EAEF,IAAIkB,KAAK,GAAGC,KAAK,CAACC,IAAI,CAAgB;IAAEC,MAAM,EAAEvB,KAAK,CAACE,KAAK,CAACqB;EAAO,CAAC,CAAC;EACrE,IAAIC,OAAO,GAAGH,KAAK,CAACC,IAAI,CAAS;IAAEC,MAAM,EAAEvB,KAAK,CAACE,KAAK,CAACqB;EAAO,CAAC,CAAC;EAChE,MAAME,UAAU,GAAG7C,UAAU,CAAC,CAAC,CAAC;EAChC,IAAI8C,iBAAiB,GAAG,CAAC,CAAC;EAE1B,SAASC,OAAOA,CAAEC,KAAa,EAAE;IAC/B,OAAOR,KAAK,CAACQ,KAAK,CAAC,IAAIpC,UAAU,CAACU,KAAK;EACzC;EAEA,MAAM2B,aAAa,GAAG7C,QAAQ,CAAC,MAAM;IACnC,MAAM8C,KAAK,GAAGC,WAAW,CAACC,GAAG,CAAC,CAAC;IAC/BR,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACd,MAAMD,MAAM,GAAGvB,KAAK,CAACE,KAAK,CAACqB,MAAM;IACjC,KAAK,IAAIU,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAIV,MAAM,GAAG,CAAC,EAAEU,CAAC,EAAE,EAAE;MACpCT,OAAO,CAACS,CAAC,CAAC,GAAG,CAACT,OAAO,CAACS,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAIN,OAAO,CAACM,CAAC,GAAG,CAAC,CAAC;IACrD;IACAR,UAAU,CAACvB,KAAK,GAAGI,IAAI,CAAC4B,GAAG,CAACT,UAAU,CAACvB,KAAK,EAAE6B,WAAW,CAACC,GAAG,CAAC,CAAC,GAAGF,KAAK,CAAC;EAC1E,CAAC,EAAEL,UAAU,CAAC;EAEd,MAAMU,OAAO,GAAGtD,KAAK,CAACsC,gBAAgB,EAAEiB,CAAC,IAAI;IAC3C,IAAI,CAACA,CAAC,EAAE;IACR;IACA;;IAEAD,OAAO,CAAC,CAAC;IACTtB,YAAY,GAAGD,SAAS,CAACV,KAAK,CAAEmC,SAAS;IACzCR,aAAa,CAACS,SAAS,CAAC,CAAC;IACzBC,qBAAqB,CAAC,CAAC;IAEvB,IAAI,CAAC,CAACb,iBAAiB,EAAE;IAEzBjD,QAAQ,CAAC,MAAM;MACbQ,UAAU,IAAIuD,MAAM,CAACC,qBAAqB,CAAC,MAAM;QAC/CC,aAAa,CAAChB,iBAAiB,CAAC;QAChCA,iBAAiB,GAAG,CAAC,CAAC;MACxB,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFhD,cAAc,CAAC,MAAM;IACnBmD,aAAa,CAACc,KAAK,CAAC,CAAC;EACvB,CAAC,CAAC;EAEF,SAASC,gBAAgBA,CAAEhB,KAAa,EAAE/B,MAAc,EAAE;IACxD,MAAMgD,UAAU,GAAGzB,KAAK,CAACQ,KAAK,CAAC;IAC/B,MAAMkB,aAAa,GAAGtD,UAAU,CAACU,KAAK;IAEtCV,UAAU,CAACU,KAAK,GAAG4C,aAAa,GAAGxC,IAAI,CAACyC,GAAG,CAACvD,UAAU,CAACU,KAAK,EAAEL,MAAM,CAAC,GAAGA,MAAM;IAE9E,IAAIgD,UAAU,KAAKhD,MAAM,IAAIiD,aAAa,KAAKtD,UAAU,CAACU,KAAK,EAAE;MAC/DkB,KAAK,CAACQ,KAAK,CAAC,GAAG/B,MAAM;MACrBgC,aAAa,CAAC,CAAC;IACjB;EACF;EAEA,SAASmB,eAAeA,CAAEpB,KAAa,EAAE;IACvCA,KAAK,GAAG7C,KAAK,CAAC6C,KAAK,EAAE,CAAC,EAAE5B,KAAK,CAACE,KAAK,CAACqB,MAAM,GAAG,CAAC,CAAC;IAC/C,OAAOC,OAAO,CAACI,KAAK,CAAC,IAAI,CAAC;EAC5B;EAEA,SAASqB,cAAcA,CAAEC,SAAiB,EAAE;IAC1C,OAAOC,aAAa,CAAC3B,OAAO,EAAE0B,SAAS,CAAC;EAC1C;EAEA,IAAIE,aAAa,GAAG,CAAC;EACrB,IAAIC,cAAc,GAAG,CAAC;EACtB,IAAIC,cAAc,GAAG,CAAC;EAEtBzE,KAAK,CAACmC,cAAc,EAAE,CAACuC,GAAG,EAAEC,MAAM,KAAK;IACrC,IAAIA,MAAM,EAAE;MACVjB,qBAAqB,CAAC,CAAC;MACvB,IAAIgB,GAAG,GAAGC,MAAM,EAAE;QAChBf,qBAAqB,CAAC,MAAM;UAC1BY,cAAc,GAAG,CAAC;UAClBd,qBAAqB,CAAC,CAAC;QACzB,CAAC,CAAC;MACJ;IACF;EACF,CAAC,CAAC;EAEF,IAAIkB,aAAa,GAAG,CAAC,CAAC;EACtB,SAASC,YAAYA,CAAA,EAAI;IACvB,IAAI,CAAC/C,YAAY,CAACT,KAAK,IAAI,CAACU,SAAS,CAACV,KAAK,EAAE;IAE7C,MAAMgD,SAAS,GAAGvC,YAAY,CAACT,KAAK,CAACgD,SAAS;IAC9C,MAAMS,UAAU,GAAG5B,WAAW,CAACC,GAAG,CAAC,CAAC;IACpC,MAAM4B,YAAY,GAAGD,UAAU,GAAGL,cAAc;IAEhD,IAAIM,YAAY,GAAG,GAAG,EAAE;MACtBP,cAAc,GAAG/C,IAAI,CAACuD,IAAI,CAACX,SAAS,GAAGE,aAAa,CAAC;;MAErD;MACA;MACAvC,YAAY,GAAGD,SAAS,CAACV,KAAK,CAACmC,SAAS;IAC1C,CAAC,MAAM;MACLgB,cAAc,GAAGH,SAAS,GAAGE,aAAa;IAC5C;IAEAA,aAAa,GAAGF,SAAS;IACzBI,cAAc,GAAGK,UAAU;IAE3BnB,MAAM,CAACsB,YAAY,CAACL,aAAa,CAAC;IAClCA,aAAa,GAAGjB,MAAM,CAACuB,UAAU,CAACC,eAAe,EAAE,GAAG,CAAC;IAEvDzB,qBAAqB,CAAC,CAAC;EACzB;EACA,SAASyB,eAAeA,CAAA,EAAI;IAC1B,IAAI,CAACrD,YAAY,CAACT,KAAK,IAAI,CAACU,SAAS,CAACV,KAAK,EAAE;IAE7CmD,cAAc,GAAG,CAAC;IAClBC,cAAc,GAAG,CAAC;IAElBd,MAAM,CAACsB,YAAY,CAACL,aAAa,CAAC;IAClClB,qBAAqB,CAAC,CAAC;EACzB;EAEA,IAAI0B,GAAG,GAAG,CAAC,CAAC;EACZ,SAAS1B,qBAAqBA,CAAA,EAAI;IAChC2B,oBAAoB,CAACD,GAAG,CAAC;IACzBA,GAAG,GAAGxB,qBAAqB,CAAC0B,sBAAsB,CAAC;EACrD;EACA,SAASA,sBAAsBA,CAAA,EAAI;IACjC,IAAI,CAACxD,YAAY,CAACT,KAAK,IAAI,CAACc,cAAc,CAACd,KAAK,EAAE;IAClD,MAAMgD,SAAS,GAAGE,aAAa,GAAGvC,YAAY;IAC9C,MAAMuD,SAAS,GAAG9D,IAAI,CAACuD,IAAI,CAACR,cAAc,CAAC;IAE3C,MAAMgB,OAAO,GAAG/D,IAAI,CAAC4B,GAAG,CAAC,CAAC,EAAEgB,SAAS,GAAG5D,SAAS,CAAC;IAClD,MAAMwC,KAAK,GAAG/C,KAAK,CAACkE,cAAc,CAACoB,OAAO,CAAC,EAAE,CAAC,EAAErE,KAAK,CAACE,KAAK,CAACqB,MAAM,CAAC;IAEnE,MAAM+C,KAAK,GAAGpB,SAAS,GAAGlC,cAAc,CAACd,KAAK,GAAGZ,SAAS;IAC1D,MAAMiF,GAAG,GAAGxF,KAAK,CAACkE,cAAc,CAACqB,KAAK,CAAC,GAAG,CAAC,EAAExC,KAAK,GAAG,CAAC,EAAE9B,KAAK,CAACE,KAAK,CAACqB,MAAM,CAAC;IAE3E;IACE;IACA;IACA,CAAC6C,SAAS,KAAKhF,EAAE,IAAI0C,KAAK,GAAG1B,KAAK,CAACF,KAAK,MACvCkE,SAAS,KAAK/E,IAAI,IAAIkF,GAAG,GAAGlE,IAAI,CAACH,KAAK,CAAC,EACxC;MACA,MAAMsE,WAAW,GAAGxB,eAAe,CAAC5C,KAAK,CAACF,KAAK,CAAC,GAAG8C,eAAe,CAAClB,KAAK,CAAC;MACzE,MAAM2C,cAAc,GAAGzB,eAAe,CAACuB,GAAG,CAAC,GAAGvB,eAAe,CAAC3C,IAAI,CAACH,KAAK,CAAC;MACzE,MAAMwE,cAAc,GAAGpE,IAAI,CAAC4B,GAAG,CAACsC,WAAW,EAAEC,cAAc,CAAC;MAE5D,IAAIC,cAAc,GAAGpF,SAAS,EAAE;QAC9Bc,KAAK,CAACF,KAAK,GAAG4B,KAAK;QACnBzB,IAAI,CAACH,KAAK,GAAGqE,GAAG;MAClB,CAAC,MAAM;QACL;QACA,IAAIzC,KAAK,IAAI,CAAC,EAAE1B,KAAK,CAACF,KAAK,GAAG4B,KAAK;QACnC,IAAIyC,GAAG,IAAIvE,KAAK,CAACE,KAAK,CAACqB,MAAM,EAAElB,IAAI,CAACH,KAAK,GAAGqE,GAAG;MACjD;IACF;IAEA9D,UAAU,CAACP,KAAK,GAAG8C,eAAe,CAAC5C,KAAK,CAACF,KAAK,CAAC;IAC/CQ,aAAa,CAACR,KAAK,GAAG8C,eAAe,CAAChD,KAAK,CAACE,KAAK,CAACqB,MAAM,CAAC,GAAGyB,eAAe,CAAC3C,IAAI,CAACH,KAAK,CAAC;EACzF;EAEA,SAASwC,aAAaA,CAAEd,KAAa,EAAE;IACrC,MAAM+C,MAAM,GAAG3B,eAAe,CAACpB,KAAK,CAAC;IACrC,IAAI,CAACjB,YAAY,CAACT,KAAK,IAAK0B,KAAK,IAAI,CAAC+C,MAAO,EAAE;MAC7CjD,iBAAiB,GAAGE,KAAK;IAC3B,CAAC,MAAM;MACLjB,YAAY,CAACT,KAAK,CAACgD,SAAS,GAAGyB,MAAM;IACvC;EACF;EAEA,MAAMC,aAAa,GAAGpG,QAAQ,CAAC,MAAM;IACnC,OAAOwB,KAAK,CAACE,KAAK,CAAC2E,KAAK,CAACzE,KAAK,CAACF,KAAK,EAAEG,IAAI,CAACH,KAAK,CAAC,CAAC4E,GAAG,CAAC,CAACC,IAAI,EAAEnD,KAAK,MAAM;MACtEoD,GAAG,EAAED,IAAI;MACTnD,KAAK,EAAEA,KAAK,GAAGxB,KAAK,CAACF,KAAK;MAC1B+E,GAAG,EAAG/F,QAAQ,CAAC6F,IAAI,CAAC,IAAI,OAAO,IAAIA,IAAI,GAAIA,IAAI,CAAC7E,KAAK,GAAG0B,KAAK,GAAGxB,KAAK,CAACF;IACxE,CAAC,CAAC,CAAC;EACL,CAAC,CAAC;EAEFrB,KAAK,CAACmB,KAAK,EAAE,MAAM;IACjBoB,KAAK,GAAGC,KAAK,CAACC,IAAI,CAAC;MAAEC,MAAM,EAAEvB,KAAK,CAACE,KAAK,CAACqB;IAAO,CAAC,CAAC;IAClDC,OAAO,GAAGH,KAAK,CAACC,IAAI,CAAC;MAAEC,MAAM,EAAEvB,KAAK,CAACE,KAAK,CAACqB;IAAO,CAAC,CAAC;IACpDM,aAAa,CAACS,SAAS,CAAC,CAAC;IACzBC,qBAAqB,CAAC,CAAC;EACzB,CAAC,EAAE;IAAE2C,IAAI,EAAE;EAAK,CAAC,CAAC;EAElB,OAAO;IACL3C,qBAAqB;IACrB5B,YAAY;IACZC,SAAS;IACTgE,aAAa;IACbnE,UAAU;IACVC,aAAa;IACbgC,aAAa;IACbgB,YAAY;IACZM,eAAe;IACfpB;EACF,CAAC;AACH;;AAEA;AACA,SAASO,aAAaA,CAAEgC,GAAsB,EAAE5B,GAAW,EAAE;EAC3D,IAAI6B,IAAI,GAAGD,GAAG,CAAC5D,MAAM,GAAG,CAAC;EACzB,IAAI8D,GAAG,GAAG,CAAC;EACX,IAAIC,GAAG,GAAG,CAAC;EACX,IAAIP,IAAI,GAAG,IAAI;EACf,IAAIQ,MAAM,GAAG,CAAC,CAAC;EAEf,IAAIJ,GAAG,CAACC,IAAI,CAAC,GAAI7B,GAAG,EAAE;IACpB,OAAO6B,IAAI;EACb;EAEA,OAAOC,GAAG,IAAID,IAAI,EAAE;IAClBE,GAAG,GAAID,GAAG,GAAGD,IAAI,IAAK,CAAC;IACvBL,IAAI,GAAGI,GAAG,CAACG,GAAG,CAAE;IAEhB,IAAIP,IAAI,GAAGxB,GAAG,EAAE;MACd6B,IAAI,GAAGE,GAAG,GAAG,CAAC;IAChB,CAAC,MAAM,IAAIP,IAAI,GAAGxB,GAAG,EAAE;MACrBgC,MAAM,GAAGD,GAAG;MACZD,GAAG,GAAGC,GAAG,GAAG,CAAC;IACf,CAAC,MAAM,IAAIP,IAAI,KAAKxB,GAAG,EAAE;MACvB,OAAO+B,GAAG;IACZ,CAAC,MAAM;MACL,OAAOD,GAAG;IACZ;EACF;EAEA,OAAOE,MAAM;AACf","ignoreList":[]}
|
package/lib/entry-bundler.mjs
CHANGED
|
@@ -16,7 +16,7 @@ export const createVuetify = function () {
|
|
|
16
16
|
...options
|
|
17
17
|
});
|
|
18
18
|
};
|
|
19
|
-
export const version = "3.7.
|
|
19
|
+
export const version = "3.7.6";
|
|
20
20
|
createVuetify.version = version;
|
|
21
21
|
export { blueprints, components, directives };
|
|
22
22
|
export * from "./composables/index.mjs";
|
package/lib/framework.mjs
CHANGED
package/lib/iconsets/mdi.mjs
CHANGED
|
@@ -45,7 +45,8 @@ const aliases = {
|
|
|
45
45
|
calendar: 'mdi-calendar',
|
|
46
46
|
treeviewCollapse: 'mdi-menu-down',
|
|
47
47
|
treeviewExpand: 'mdi-menu-right',
|
|
48
|
-
eyeDropper: 'mdi-eyedropper'
|
|
48
|
+
eyeDropper: 'mdi-eyedropper',
|
|
49
|
+
upload: 'mdi-cloud-upload'
|
|
49
50
|
};
|
|
50
51
|
const mdi = {
|
|
51
52
|
// Not using mergeProps here, functional components merge props by default (?)
|
package/lib/iconsets/mdi.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mdi.mjs","names":["VClassIcon","h","aliases","collapse","complete","cancel","close","delete","clear","success","info","warning","error","prev","next","checkboxOn","checkboxOff","checkboxIndeterminate","delimiter","sortAsc","sortDesc","expand","menu","subgroup","dropdown","radioOn","radioOff","edit","ratingEmpty","ratingFull","ratingHalf","loading","first","last","unfold","file","plus","minus","calendar","treeviewCollapse","treeviewExpand","eyeDropper","mdi","component","props","class"],"sources":["../../src/iconsets/mdi.ts"],"sourcesContent":["// Composables\nimport { VClassIcon } from '@/composables/icons'\n\n// Utilities\nimport { h } from 'vue'\n\n// Types\nimport type { IconAliases, IconSet } from '@/composables/icons'\n\nconst aliases: IconAliases = {\n collapse: 'mdi-chevron-up',\n complete: 'mdi-check',\n cancel: 'mdi-close-circle',\n close: 'mdi-close',\n delete: 'mdi-close-circle', // delete (e.g. v-chip close)\n clear: 'mdi-close-circle',\n success: 'mdi-check-circle',\n info: 'mdi-information',\n warning: 'mdi-alert-circle',\n error: 'mdi-close-circle',\n prev: 'mdi-chevron-left',\n next: 'mdi-chevron-right',\n checkboxOn: 'mdi-checkbox-marked',\n checkboxOff: 'mdi-checkbox-blank-outline',\n checkboxIndeterminate: 'mdi-minus-box',\n delimiter: 'mdi-circle', // for carousel\n sortAsc: 'mdi-arrow-up',\n sortDesc: 'mdi-arrow-down',\n expand: 'mdi-chevron-down',\n menu: 'mdi-menu',\n subgroup: 'mdi-menu-down',\n dropdown: 'mdi-menu-down',\n radioOn: 'mdi-radiobox-marked',\n radioOff: 'mdi-radiobox-blank',\n edit: 'mdi-pencil',\n ratingEmpty: 'mdi-star-outline',\n ratingFull: 'mdi-star',\n ratingHalf: 'mdi-star-half-full',\n loading: 'mdi-cached',\n first: 'mdi-page-first',\n last: 'mdi-page-last',\n unfold: 'mdi-unfold-more-horizontal',\n file: 'mdi-paperclip',\n plus: 'mdi-plus',\n minus: 'mdi-minus',\n calendar: 'mdi-calendar',\n treeviewCollapse: 'mdi-menu-down',\n treeviewExpand: 'mdi-menu-right',\n eyeDropper: 'mdi-eyedropper',\n}\n\nconst mdi: IconSet = {\n // Not using mergeProps here, functional components merge props by default (?)\n component: (props: any) => h(VClassIcon, { ...props, class: 'mdi' }),\n}\n\nexport { aliases, mdi }\n"],"mappings":"AAAA;AAAA,SACSA,UAAU,oCAEnB;AACA,SAASC,CAAC,QAAQ,KAAK;;AAEvB;;AAGA,MAAMC,OAAoB,GAAG;EAC3BC,QAAQ,EAAE,gBAAgB;EAC1BC,QAAQ,EAAE,WAAW;EACrBC,MAAM,EAAE,kBAAkB;EAC1BC,KAAK,EAAE,WAAW;EAClBC,MAAM,EAAE,kBAAkB;EAAE;EAC5BC,KAAK,EAAE,kBAAkB;EACzBC,OAAO,EAAE,kBAAkB;EAC3BC,IAAI,EAAE,iBAAiB;EACvBC,OAAO,EAAE,kBAAkB;EAC3BC,KAAK,EAAE,kBAAkB;EACzBC,IAAI,EAAE,kBAAkB;EACxBC,IAAI,EAAE,mBAAmB;EACzBC,UAAU,EAAE,qBAAqB;EACjCC,WAAW,EAAE,4BAA4B;EACzCC,qBAAqB,EAAE,eAAe;EACtCC,SAAS,EAAE,YAAY;EAAE;EACzBC,OAAO,EAAE,cAAc;EACvBC,QAAQ,EAAE,gBAAgB;EAC1BC,MAAM,EAAE,kBAAkB;EAC1BC,IAAI,EAAE,UAAU;EAChBC,QAAQ,EAAE,eAAe;EACzBC,QAAQ,EAAE,eAAe;EACzBC,OAAO,EAAE,qBAAqB;EAC9BC,QAAQ,EAAE,oBAAoB;EAC9BC,IAAI,EAAE,YAAY;EAClBC,WAAW,EAAE,kBAAkB;EAC/BC,UAAU,EAAE,UAAU;EACtBC,UAAU,EAAE,oBAAoB;EAChCC,OAAO,EAAE,YAAY;EACrBC,KAAK,EAAE,gBAAgB;EACvBC,IAAI,EAAE,eAAe;EACrBC,MAAM,EAAE,4BAA4B;EACpCC,IAAI,EAAE,eAAe;EACrBC,IAAI,EAAE,UAAU;EAChBC,KAAK,EAAE,WAAW;EAClBC,QAAQ,EAAE,cAAc;EACxBC,gBAAgB,EAAE,eAAe;EACjCC,cAAc,EAAE,gBAAgB;EAChCC,UAAU,EAAE;
|
|
1
|
+
{"version":3,"file":"mdi.mjs","names":["VClassIcon","h","aliases","collapse","complete","cancel","close","delete","clear","success","info","warning","error","prev","next","checkboxOn","checkboxOff","checkboxIndeterminate","delimiter","sortAsc","sortDesc","expand","menu","subgroup","dropdown","radioOn","radioOff","edit","ratingEmpty","ratingFull","ratingHalf","loading","first","last","unfold","file","plus","minus","calendar","treeviewCollapse","treeviewExpand","eyeDropper","upload","mdi","component","props","class"],"sources":["../../src/iconsets/mdi.ts"],"sourcesContent":["// Composables\nimport { VClassIcon } from '@/composables/icons'\n\n// Utilities\nimport { h } from 'vue'\n\n// Types\nimport type { IconAliases, IconSet } from '@/composables/icons'\n\nconst aliases: IconAliases = {\n collapse: 'mdi-chevron-up',\n complete: 'mdi-check',\n cancel: 'mdi-close-circle',\n close: 'mdi-close',\n delete: 'mdi-close-circle', // delete (e.g. v-chip close)\n clear: 'mdi-close-circle',\n success: 'mdi-check-circle',\n info: 'mdi-information',\n warning: 'mdi-alert-circle',\n error: 'mdi-close-circle',\n prev: 'mdi-chevron-left',\n next: 'mdi-chevron-right',\n checkboxOn: 'mdi-checkbox-marked',\n checkboxOff: 'mdi-checkbox-blank-outline',\n checkboxIndeterminate: 'mdi-minus-box',\n delimiter: 'mdi-circle', // for carousel\n sortAsc: 'mdi-arrow-up',\n sortDesc: 'mdi-arrow-down',\n expand: 'mdi-chevron-down',\n menu: 'mdi-menu',\n subgroup: 'mdi-menu-down',\n dropdown: 'mdi-menu-down',\n radioOn: 'mdi-radiobox-marked',\n radioOff: 'mdi-radiobox-blank',\n edit: 'mdi-pencil',\n ratingEmpty: 'mdi-star-outline',\n ratingFull: 'mdi-star',\n ratingHalf: 'mdi-star-half-full',\n loading: 'mdi-cached',\n first: 'mdi-page-first',\n last: 'mdi-page-last',\n unfold: 'mdi-unfold-more-horizontal',\n file: 'mdi-paperclip',\n plus: 'mdi-plus',\n minus: 'mdi-minus',\n calendar: 'mdi-calendar',\n treeviewCollapse: 'mdi-menu-down',\n treeviewExpand: 'mdi-menu-right',\n eyeDropper: 'mdi-eyedropper',\n upload: 'mdi-cloud-upload',\n}\n\nconst mdi: IconSet = {\n // Not using mergeProps here, functional components merge props by default (?)\n component: (props: any) => h(VClassIcon, { ...props, class: 'mdi' }),\n}\n\nexport { aliases, mdi }\n"],"mappings":"AAAA;AAAA,SACSA,UAAU,oCAEnB;AACA,SAASC,CAAC,QAAQ,KAAK;;AAEvB;;AAGA,MAAMC,OAAoB,GAAG;EAC3BC,QAAQ,EAAE,gBAAgB;EAC1BC,QAAQ,EAAE,WAAW;EACrBC,MAAM,EAAE,kBAAkB;EAC1BC,KAAK,EAAE,WAAW;EAClBC,MAAM,EAAE,kBAAkB;EAAE;EAC5BC,KAAK,EAAE,kBAAkB;EACzBC,OAAO,EAAE,kBAAkB;EAC3BC,IAAI,EAAE,iBAAiB;EACvBC,OAAO,EAAE,kBAAkB;EAC3BC,KAAK,EAAE,kBAAkB;EACzBC,IAAI,EAAE,kBAAkB;EACxBC,IAAI,EAAE,mBAAmB;EACzBC,UAAU,EAAE,qBAAqB;EACjCC,WAAW,EAAE,4BAA4B;EACzCC,qBAAqB,EAAE,eAAe;EACtCC,SAAS,EAAE,YAAY;EAAE;EACzBC,OAAO,EAAE,cAAc;EACvBC,QAAQ,EAAE,gBAAgB;EAC1BC,MAAM,EAAE,kBAAkB;EAC1BC,IAAI,EAAE,UAAU;EAChBC,QAAQ,EAAE,eAAe;EACzBC,QAAQ,EAAE,eAAe;EACzBC,OAAO,EAAE,qBAAqB;EAC9BC,QAAQ,EAAE,oBAAoB;EAC9BC,IAAI,EAAE,YAAY;EAClBC,WAAW,EAAE,kBAAkB;EAC/BC,UAAU,EAAE,UAAU;EACtBC,UAAU,EAAE,oBAAoB;EAChCC,OAAO,EAAE,YAAY;EACrBC,KAAK,EAAE,gBAAgB;EACvBC,IAAI,EAAE,eAAe;EACrBC,MAAM,EAAE,4BAA4B;EACpCC,IAAI,EAAE,eAAe;EACrBC,IAAI,EAAE,UAAU;EAChBC,KAAK,EAAE,WAAW;EAClBC,QAAQ,EAAE,cAAc;EACxBC,gBAAgB,EAAE,eAAe;EACjCC,cAAc,EAAE,gBAAgB;EAChCC,UAAU,EAAE,gBAAgB;EAC5BC,MAAM,EAAE;AACV,CAAC;AAED,MAAMC,GAAY,GAAG;EACnB;EACAC,SAAS,EAAGC,KAAU,IAAK5C,CAAC,CAACD,UAAU,EAAE;IAAE,GAAG6C,KAAK;IAAEC,KAAK,EAAE;EAAM,CAAC;AACrE,CAAC;AAED,SAAS5C,OAAO,EAAEyC,GAAG","ignoreList":[]}
|
package/lib/index.d.mts
CHANGED
|
@@ -486,41 +486,39 @@ declare module 'vue' {
|
|
|
486
486
|
$children?: VNodeChild
|
|
487
487
|
}
|
|
488
488
|
export interface GlobalComponents {
|
|
489
|
-
|
|
490
|
-
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
|
489
|
+
VApp: typeof import('vuetify/components')['VApp']
|
|
491
490
|
VAppBar: typeof import('vuetify/components')['VAppBar']
|
|
492
491
|
VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
|
|
493
492
|
VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
|
|
494
|
-
VApp: typeof import('vuetify/components')['VApp']
|
|
495
493
|
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
|
494
|
+
VAlert: typeof import('vuetify/components')['VAlert']
|
|
495
|
+
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
|
496
|
+
VBadge: typeof import('vuetify/components')['VBadge']
|
|
496
497
|
VAvatar: typeof import('vuetify/components')['VAvatar']
|
|
497
|
-
|
|
498
|
+
VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
|
|
498
499
|
VBanner: typeof import('vuetify/components')['VBanner']
|
|
499
500
|
VBannerActions: typeof import('vuetify/components')['VBannerActions']
|
|
500
501
|
VBannerText: typeof import('vuetify/components')['VBannerText']
|
|
501
|
-
|
|
502
|
+
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
|
502
503
|
VBtn: typeof import('vuetify/components')['VBtn']
|
|
503
|
-
|
|
504
|
+
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
|
504
505
|
VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
|
|
505
506
|
VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
|
|
506
507
|
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
|
507
|
-
|
|
508
|
+
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
|
509
|
+
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
|
510
|
+
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
|
511
|
+
VChip: typeof import('vuetify/components')['VChip']
|
|
512
|
+
VCarousel: typeof import('vuetify/components')['VCarousel']
|
|
513
|
+
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
|
514
|
+
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
|
515
|
+
VCode: typeof import('vuetify/components')['VCode']
|
|
508
516
|
VCard: typeof import('vuetify/components')['VCard']
|
|
509
517
|
VCardActions: typeof import('vuetify/components')['VCardActions']
|
|
510
518
|
VCardItem: typeof import('vuetify/components')['VCardItem']
|
|
511
519
|
VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
|
|
512
520
|
VCardText: typeof import('vuetify/components')['VCardText']
|
|
513
521
|
VCardTitle: typeof import('vuetify/components')['VCardTitle']
|
|
514
|
-
VCarousel: typeof import('vuetify/components')['VCarousel']
|
|
515
|
-
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
|
516
|
-
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
|
517
|
-
VCode: typeof import('vuetify/components')['VCode']
|
|
518
|
-
VChip: typeof import('vuetify/components')['VChip']
|
|
519
|
-
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
|
520
|
-
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
|
521
|
-
VCounter: typeof import('vuetify/components')['VCounter']
|
|
522
|
-
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
|
523
|
-
VCombobox: typeof import('vuetify/components')['VCombobox']
|
|
524
522
|
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
|
525
523
|
VDataTable: typeof import('vuetify/components')['VDataTable']
|
|
526
524
|
VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
|
|
@@ -529,36 +527,41 @@ declare module 'vue' {
|
|
|
529
527
|
VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
|
|
530
528
|
VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
|
|
531
529
|
VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
|
530
|
+
VCombobox: typeof import('vuetify/components')['VCombobox']
|
|
531
|
+
VCounter: typeof import('vuetify/components')['VCounter']
|
|
535
532
|
VDatePicker: typeof import('vuetify/components')['VDatePicker']
|
|
536
533
|
VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
|
|
537
534
|
VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
|
|
538
535
|
VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
|
|
539
536
|
VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
|
|
540
537
|
VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
|
|
538
|
+
VDialog: typeof import('vuetify/components')['VDialog']
|
|
539
|
+
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
|
540
|
+
VDivider: typeof import('vuetify/components')['VDivider']
|
|
541
|
+
VField: typeof import('vuetify/components')['VField']
|
|
542
|
+
VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
|
|
543
|
+
VFileInput: typeof import('vuetify/components')['VFileInput']
|
|
544
|
+
VFab: typeof import('vuetify/components')['VFab']
|
|
541
545
|
VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
|
|
542
546
|
VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
|
|
543
547
|
VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
|
|
544
548
|
VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
|
|
545
|
-
|
|
549
|
+
VImg: typeof import('vuetify/components')['VImg']
|
|
546
550
|
VFooter: typeof import('vuetify/components')['VFooter']
|
|
547
|
-
|
|
548
|
-
|
|
551
|
+
VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
|
|
552
|
+
VLabel: typeof import('vuetify/components')['VLabel']
|
|
553
|
+
VInput: typeof import('vuetify/components')['VInput']
|
|
549
554
|
VIcon: typeof import('vuetify/components')['VIcon']
|
|
550
555
|
VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
|
|
551
556
|
VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
|
|
552
557
|
VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
|
|
553
558
|
VClassIcon: typeof import('vuetify/components')['VClassIcon']
|
|
554
|
-
VFileInput: typeof import('vuetify/components')['VFileInput']
|
|
555
|
-
VInput: typeof import('vuetify/components')['VInput']
|
|
556
|
-
VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
|
|
557
|
-
VImg: typeof import('vuetify/components')['VImg']
|
|
558
559
|
VKbd: typeof import('vuetify/components')['VKbd']
|
|
559
|
-
|
|
560
|
+
VMain: typeof import('vuetify/components')['VMain']
|
|
560
561
|
VItemGroup: typeof import('vuetify/components')['VItemGroup']
|
|
561
562
|
VItem: typeof import('vuetify/components')['VItem']
|
|
563
|
+
VMessages: typeof import('vuetify/components')['VMessages']
|
|
564
|
+
VMenu: typeof import('vuetify/components')['VMenu']
|
|
562
565
|
VList: typeof import('vuetify/components')['VList']
|
|
563
566
|
VListGroup: typeof import('vuetify/components')['VListGroup']
|
|
564
567
|
VListImg: typeof import('vuetify/components')['VListImg']
|
|
@@ -568,72 +571,69 @@ declare module 'vue' {
|
|
|
568
571
|
VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
|
|
569
572
|
VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
|
|
570
573
|
VListSubheader: typeof import('vuetify/components')['VListSubheader']
|
|
571
|
-
VMessages: typeof import('vuetify/components')['VMessages']
|
|
572
574
|
VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
|
|
573
|
-
VMain: typeof import('vuetify/components')['VMain']
|
|
574
|
-
VMenu: typeof import('vuetify/components')['VMenu']
|
|
575
|
-
VOtpInput: typeof import('vuetify/components')['VOtpInput']
|
|
576
575
|
VPagination: typeof import('vuetify/components')['VPagination']
|
|
577
|
-
|
|
578
|
-
VOverlay: typeof import('vuetify/components')['VOverlay']
|
|
576
|
+
VOtpInput: typeof import('vuetify/components')['VOtpInput']
|
|
579
577
|
VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
|
|
578
|
+
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
|
580
579
|
VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
|
|
581
|
-
|
|
580
|
+
VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
|
|
582
581
|
VRating: typeof import('vuetify/components')['VRating']
|
|
582
|
+
VOverlay: typeof import('vuetify/components')['VOverlay']
|
|
583
|
+
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
|
584
|
+
VSheet: typeof import('vuetify/components')['VSheet']
|
|
583
585
|
VSelect: typeof import('vuetify/components')['VSelect']
|
|
584
586
|
VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
|
|
585
587
|
VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
|
|
586
|
-
|
|
588
|
+
VSlider: typeof import('vuetify/components')['VSlider']
|
|
587
589
|
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
|
588
|
-
VSheet: typeof import('vuetify/components')['VSheet']
|
|
589
590
|
VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
|
|
591
|
+
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
|
592
|
+
VSwitch: typeof import('vuetify/components')['VSwitch']
|
|
593
|
+
VTab: typeof import('vuetify/components')['VTab']
|
|
594
|
+
VTabs: typeof import('vuetify/components')['VTabs']
|
|
595
|
+
VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
|
|
596
|
+
VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
|
|
597
|
+
VTextarea: typeof import('vuetify/components')['VTextarea']
|
|
598
|
+
VTextField: typeof import('vuetify/components')['VTextField']
|
|
590
599
|
VStepper: typeof import('vuetify/components')['VStepper']
|
|
591
600
|
VStepperActions: typeof import('vuetify/components')['VStepperActions']
|
|
592
601
|
VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
|
|
593
602
|
VStepperItem: typeof import('vuetify/components')['VStepperItem']
|
|
594
603
|
VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
|
|
595
604
|
VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
VTextarea: typeof import('vuetify/components')['VTextarea']
|
|
599
|
-
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
|
600
|
-
VTable: typeof import('vuetify/components')['VTable']
|
|
605
|
+
VTimeline: typeof import('vuetify/components')['VTimeline']
|
|
606
|
+
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
|
601
607
|
VToolbar: typeof import('vuetify/components')['VToolbar']
|
|
602
608
|
VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
|
|
603
609
|
VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
|
|
604
|
-
|
|
605
|
-
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
|
606
|
-
VTextField: typeof import('vuetify/components')['VTextField']
|
|
610
|
+
VTable: typeof import('vuetify/components')['VTable']
|
|
607
611
|
VWindow: typeof import('vuetify/components')['VWindow']
|
|
608
612
|
VWindowItem: typeof import('vuetify/components')['VWindowItem']
|
|
609
|
-
VTab: typeof import('vuetify/components')['VTab']
|
|
610
|
-
VTabs: typeof import('vuetify/components')['VTabs']
|
|
611
|
-
VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
|
|
612
|
-
VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
|
|
613
613
|
VTooltip: typeof import('vuetify/components')['VTooltip']
|
|
614
614
|
VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
|
|
615
|
+
VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
|
|
615
616
|
VDataIterator: typeof import('vuetify/components')['VDataIterator']
|
|
617
|
+
VForm: typeof import('vuetify/components')['VForm']
|
|
618
|
+
VHover: typeof import('vuetify/components')['VHover']
|
|
616
619
|
VContainer: typeof import('vuetify/components')['VContainer']
|
|
617
620
|
VCol: typeof import('vuetify/components')['VCol']
|
|
618
621
|
VRow: typeof import('vuetify/components')['VRow']
|
|
619
622
|
VSpacer: typeof import('vuetify/components')['VSpacer']
|
|
620
|
-
VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
|
|
621
|
-
VForm: typeof import('vuetify/components')['VForm']
|
|
622
|
-
VHover: typeof import('vuetify/components')['VHover']
|
|
623
623
|
VLayout: typeof import('vuetify/components')['VLayout']
|
|
624
624
|
VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
|
|
625
625
|
VLazy: typeof import('vuetify/components')['VLazy']
|
|
626
626
|
VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
|
|
627
627
|
VNoSsr: typeof import('vuetify/components')['VNoSsr']
|
|
628
628
|
VParallax: typeof import('vuetify/components')['VParallax']
|
|
629
|
-
VResponsive: typeof import('vuetify/components')['VResponsive']
|
|
630
|
-
VRadio: typeof import('vuetify/components')['VRadio']
|
|
631
629
|
VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
|
|
632
|
-
|
|
630
|
+
VRadio: typeof import('vuetify/components')['VRadio']
|
|
631
|
+
VResponsive: typeof import('vuetify/components')['VResponsive']
|
|
633
632
|
VSparkline: typeof import('vuetify/components')['VSparkline']
|
|
634
|
-
|
|
633
|
+
VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
|
|
635
634
|
VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
|
|
636
635
|
VValidation: typeof import('vuetify/components')['VValidation']
|
|
636
|
+
VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
|
|
637
637
|
VFabTransition: typeof import('vuetify/components')['VFabTransition']
|
|
638
638
|
VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
|
|
639
639
|
VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
|
|
@@ -650,7 +650,6 @@ declare module 'vue' {
|
|
|
650
650
|
VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
|
|
651
651
|
VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
|
|
652
652
|
VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
|
|
653
|
-
VNumberInput: typeof import('vuetify/labs/components')['VNumberInput']
|
|
654
653
|
VCalendar: typeof import('vuetify/labs/components')['VCalendar']
|
|
655
654
|
VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
|
|
656
655
|
VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
|
|
@@ -659,15 +658,18 @@ declare module 'vue' {
|
|
|
659
658
|
VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
|
|
660
659
|
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
|
661
660
|
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
|
661
|
+
VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
|
|
662
|
+
VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
|
|
662
663
|
VTreeview: typeof import('vuetify/labs/components')['VTreeview']
|
|
663
664
|
VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
|
|
664
665
|
VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
|
|
665
|
-
|
|
666
|
-
VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
|
|
667
|
-
VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
|
|
666
|
+
VNumberInput: typeof import('vuetify/labs/components')['VNumberInput']
|
|
668
667
|
VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
|
|
669
668
|
VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
|
|
670
669
|
VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
|
|
670
|
+
VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
|
|
671
|
+
VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
|
|
672
|
+
VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
|
|
671
673
|
VDateInput: typeof import('vuetify/labs/components')['VDateInput']
|
|
672
674
|
VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
|
|
673
675
|
VSnackbarQueue: typeof import('vuetify/labs/components')['VSnackbarQueue']
|