@dimailn/vuetify 2.7.2-alpha52 → 2.7.2-alpha54

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.
@@ -383,7 +383,7 @@ var _default2 = (0, _mixins.default)((0, _registrable.provide)('treeview'), _the
383
383
  },
384
384
  register: function register(node) {
385
385
  var key = (0, _helpers.getObjectValueByPath)(node.item, this.itemKey);
386
- this.nodes[key].vnode = node;
386
+ this.nodes[key].vnode = (0, _vue.markRaw)(node);
387
387
  this.updateVnodeState(key);
388
388
  },
389
389
  unregister: function unregister(node) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VTreeview/VTreeview.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropType, VNode } from 'vue'\nimport { h } from 'vue'\nimport type { VNodeChildrenArrayContents } from '../../types/vue-internal'\n// Styles\nimport './VTreeview.sass'\nimport { TreeviewItemFunction } from 'vuetify/types'\n\n// Components\nimport VTreeviewNode, { VTreeviewNodeProps } from './VTreeviewNode'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Utils\nimport {\n arrayDiff,\n deepEqual,\n getObjectValueByPath\n} from '../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { consoleWarn, breaking } from '../../util/console'\nimport {\n filterTreeItems,\n filterTreeItem\n} from './util/filterTreeItems'\n\ntype VTreeviewNodeInstance = InstanceType<typeof VTreeviewNode>\n\ntype NodeCache = Set<string | number>\ntype NodeArray = (string | number)[]\n\ntype NodeState = {\n parent: number | string | null\n children: (number | string)[]\n vnode: VTreeviewNodeInstance | null\n isActive: boolean\n isSelected: boolean\n isIndeterminate: boolean\n isOpen: boolean\n item: any\n}\n\nexport default mixins(\n RegistrableProvide('treeview'),\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-treeview',\n\n provide (): object {\n return { treeview: this }\n },\n\n props: {\n active: {\n type: Array,\n default: () => ([])\n } as unknown as PropType<NodeArray>,\n dense: Boolean,\n disabled: Boolean,\n filter: Function as PropType<TreeviewItemFunction>,\n hoverable: Boolean,\n items: {\n type: Array,\n default: () => ([])\n } as unknown as PropType<any[]>,\n modelValue: {\n type: Array,\n default: () => ([])\n } as unknown as PropType<NodeArray>,\n multipleActive: Boolean,\n open: {\n type: Array,\n default: () => ([])\n } as unknown as PropType<NodeArray>,\n openAll: Boolean,\n returnObject: {\n type: Boolean,\n default: false // TODO: Should be true in next major\n },\n search: String,\n ...VTreeviewNodeProps\n },\n\n data: () => ({\n level: -1,\n activeCache: new Set() as NodeCache,\n nodes: {} as Record<string | number, NodeState>,\n openCache: new Set() as NodeCache,\n selectedCache: new Set() as NodeCache\n }),\n\n computed: {\n excludedItems (): Set<string | number> {\n const excluded = new Set<string|number>()\n\n if (!this.search) return excluded\n\n for (let i = 0; i < this.items.length; i++) {\n filterTreeItems(\n this.filter || filterTreeItem,\n this.items[i],\n this.search,\n this.itemKey,\n this.itemText,\n this.itemChildren,\n excluded\n )\n }\n\n return excluded\n }\n },\n\n watch: {\n items: {\n handler () {\n const oldKeys = Object.keys(this.nodes).map(k => getObjectValueByPath(this.nodes[k].item, this.itemKey))\n const newKeys = this.getKeys(this.items)\n const diff = arrayDiff(newKeys, oldKeys)\n\n // We only want to do stuff if items have changed\n if (!diff.length && newKeys.length < oldKeys.length) return\n\n // If nodes are removed we need to clear them from this.nodes\n diff.forEach(k => delete this.nodes[k])\n\n const oldSelectedCache = [...this.selectedCache]\n this.selectedCache = new Set()\n this.activeCache = new Set()\n this.openCache = new Set()\n this.buildTree(this.items)\n\n // Only emit selected if selection has changed\n // as a result of items changing. This fixes a\n // potential double emit when selecting a node\n // with dynamic children\n if (!deepEqual(oldSelectedCache, [...this.selectedCache])) this.emitSelected()\n },\n deep: true\n },\n active (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.activeCache, this.updateActive, this.emitActive)\n },\n modelValue (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.selectedCache, this.updateSelected, this.emitSelected)\n },\n open (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.openCache, this.updateOpen, this.emitOpen)\n }\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue'],\n ['onChange', 'onUpdate:modelValue']\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n\n const getValue = (key: string | number) => this.returnObject ? getObjectValueByPath(key, this.itemKey) : key\n\n this.buildTree(this.items)\n\n for (const value of this.modelValue.map(getValue)) {\n this.updateSelected(value, true, true)\n }\n\n for (const active of this.active.map(getValue)) {\n this.updateActive(active, true)\n }\n },\n\n mounted () {\n if (this.openAll) {\n this.updateAll(true)\n } else {\n this.open.forEach(key => this.updateOpen(this.returnObject ? getObjectValueByPath(key, this.itemKey) : key, true))\n this.emitOpen()\n }\n },\n\n methods: {\n /** @public */\n updateAll (value: boolean) {\n Object.keys(this.nodes).forEach(key => this.updateOpen(getObjectValueByPath(this.nodes[key].item, this.itemKey), value))\n this.emitOpen()\n },\n getKeys (items: any[], keys: any[] = []) {\n for (let i = 0; i < items.length; i++) {\n const key = getObjectValueByPath(items[i], this.itemKey)\n keys.push(key)\n const children = getObjectValueByPath(items[i], this.itemChildren)\n if (children) {\n keys.push(...this.getKeys(children))\n }\n }\n\n return keys\n },\n buildTree (items: any[], parent: (string | number | null) = null) {\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const key = getObjectValueByPath(item, this.itemKey)\n const children = getObjectValueByPath(item, this.itemChildren) ?? []\n const oldNode = this.nodes.hasOwnProperty(key)\n ? this.nodes[key]\n : {\n isSelected: false, isIndeterminate: false, isActive: false, isOpen: false, vnode: null\n } as NodeState\n\n const node: any = {\n vnode: oldNode.vnode,\n parent,\n children: children.map((c: any) => getObjectValueByPath(c, this.itemKey)),\n item\n }\n\n this.buildTree(children, key)\n\n // This fixed bug with dynamic children resetting selected parent state\n if (\n this.selectionType !== 'independent' &&\n parent !== null &&\n !this.nodes.hasOwnProperty(key) &&\n this.nodes.hasOwnProperty(parent)\n ) {\n node.isSelected = this.nodes[parent].isSelected\n } else {\n node.isSelected = oldNode.isSelected\n node.isIndeterminate = oldNode.isIndeterminate\n }\n\n node.isActive = oldNode.isActive\n node.isOpen = oldNode.isOpen\n\n this.nodes[key] = node\n\n if (children.length && this.selectionType !== 'independent') {\n const { isSelected, isIndeterminate } = this.calculateState(key, this.nodes)\n\n node.isSelected = isSelected\n node.isIndeterminate = isIndeterminate\n }\n\n // Don't forget to rebuild cache\n if (this.nodes[key].isSelected && (this.selectionType === 'independent' || node.children.length === 0)) this.selectedCache.add(key)\n if (this.nodes[key].isActive) this.activeCache.add(key)\n if (this.nodes[key].isOpen) this.openCache.add(key)\n\n this.updateVnodeState(key)\n }\n },\n calculateState (node: string | number, state: Record<string | number, NodeState>) {\n const children = state[node].children\n const counts = children.reduce((counts: number[], child: string | number) => {\n counts[0] += +Boolean(state[child].isSelected)\n counts[1] += +Boolean(state[child].isIndeterminate)\n\n return counts\n }, [0, 0])\n\n const isSelected = !!children.length && counts[0] === children.length\n const isIndeterminate = !isSelected && (counts[0] > 0 || counts[1] > 0)\n\n return {\n isSelected,\n isIndeterminate\n }\n },\n emitOpen () {\n this.emitNodeCache('update:open', this.openCache)\n },\n emitSelected () {\n this.emitNodeCache('update:modelValue', this.selectedCache)\n },\n emitActive () {\n this.emitNodeCache('update:active', this.activeCache)\n },\n emitNodeCache (event: string, cache: NodeCache) {\n this.$emit(event, this.returnObject ? [...cache].map(key => this.nodes[key].item) : [...cache])\n },\n handleNodeCacheWatcher (value: any[], cache: NodeCache, updateFn: Function, emitFn: Function) {\n value = this.returnObject ? value.map(v => getObjectValueByPath(v, this.itemKey)) : value\n const old = [...cache]\n if (deepEqual(old, value)) return\n\n old.forEach(key => updateFn(key, false))\n value.forEach(key => updateFn(key, true))\n\n emitFn()\n },\n getDescendants (key: string | number, descendants: NodeArray = []) {\n const children = this.nodes[key].children\n\n descendants.push(...children)\n\n for (let i = 0; i < children.length; i++) {\n descendants = this.getDescendants(children[i], descendants)\n }\n\n return descendants\n },\n getParents (key: string | number) {\n let parent = this.nodes[key].parent\n\n const parents = []\n while (parent !== null) {\n parents.push(parent)\n parent = this.nodes[parent].parent\n }\n\n return parents\n },\n register (node: VTreeviewNodeInstance) {\n const key = getObjectValueByPath(node.item, this.itemKey)\n\n this.nodes[key].vnode = node\n\n this.updateVnodeState(key)\n },\n unregister (node: VTreeviewNodeInstance) {\n const key = getObjectValueByPath(node.item, this.itemKey)\n if (this.nodes[key]) this.nodes[key].vnode = null\n },\n isParent (key: string | number) {\n return this.nodes[key].children && this.nodes[key].children.length\n },\n updateActive (key: string | number, isActive: boolean) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n if (!this.multipleActive) {\n this.activeCache.forEach(active => {\n this.nodes[active].isActive = false\n this.updateVnodeState(active)\n this.activeCache.delete(active)\n })\n }\n\n const node = this.nodes[key]\n if (!node) return\n\n if (isActive) this.activeCache.add(key)\n else this.activeCache.delete(key)\n\n node.isActive = isActive\n\n this.updateVnodeState(key)\n },\n updateSelected (key: string | number, isSelected: boolean, isForced = false) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n const changed = new Map()\n\n if (this.selectionType !== 'independent') {\n for (const descendant of this.getDescendants(key)) {\n if (!getObjectValueByPath(this.nodes[descendant].item, this.itemDisabled) || isForced) {\n this.nodes[descendant].isSelected = isSelected\n this.nodes[descendant].isIndeterminate = false\n changed.set(descendant, isSelected)\n }\n }\n\n const calculated = this.calculateState(key, this.nodes)\n this.nodes[key].isSelected = isSelected\n this.nodes[key].isIndeterminate = calculated.isIndeterminate\n changed.set(key, isSelected)\n\n for (const parent of this.getParents(key)) {\n const calculated = this.calculateState(parent, this.nodes)\n this.nodes[parent].isSelected = calculated.isSelected\n this.nodes[parent].isIndeterminate = calculated.isIndeterminate\n changed.set(parent, calculated.isSelected)\n }\n } else {\n this.nodes[key].isSelected = isSelected\n this.nodes[key].isIndeterminate = false\n changed.set(key, isSelected)\n }\n\n for (const [key, value] of changed.entries()) {\n this.updateVnodeState(key)\n\n if (this.selectionType === 'leaf' && this.isParent(key)) continue\n\n value === true ? this.selectedCache.add(key) : this.selectedCache.delete(key)\n }\n },\n updateOpen (key: string | number, isOpen: boolean) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n const node = this.nodes[key]\n const children = getObjectValueByPath(node.item, this.itemChildren)\n\n if (children && !children.length && node.vnode && !node.vnode.hasLoaded) {\n node.vnode.checkChildren().then(() => this.updateOpen(key, isOpen))\n } else if (children && children.length) {\n node.isOpen = isOpen\n\n node.isOpen ? this.openCache.add(key) : this.openCache.delete(key)\n\n this.updateVnodeState(key)\n }\n },\n updateVnodeState (key: string | number) {\n const node = this.nodes[key]\n\n if (node && node.vnode) {\n node.vnode.isSelected = node.isSelected\n node.vnode.isIndeterminate = node.isIndeterminate\n node.vnode.isActive = node.isActive\n node.vnode.isOpen = node.isOpen\n }\n },\n isExcluded (key: string | number) {\n return !!this.search && this.excludedItems.has(key)\n }\n },\n\n render (): VNode {\n const children: VNodeChildrenArrayContents = this.items.length\n ? this.items.filter(item => {\n return !this.isExcluded(getObjectValueByPath(item, this.itemKey))\n }).map(item => {\n const genChild = VTreeviewNode.methods.genChild.bind(this)\n\n return genChild(item, this.disabled || getObjectValueByPath(item, this.itemDisabled))\n })\n /* istanbul ignore next */\n : this.$slots.default! // TODO: remove type annotation with TS 3.2\n\n return h('div', {\n class: ['v-treeview', {\n 'v-treeview--hoverable': this.hoverable,\n 'v-treeview--dense': this.dense,\n ...this.themeClasses\n }]\n }, children)\n }\n})\n"],"sourceRoot":"","file":"VTreeview.js"}
1
+ {"version":3,"sources":["../../../src/components/VTreeview/VTreeview.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropType, VNode } from 'vue'\nimport { h, markRaw } from 'vue'\nimport type { VNodeChildrenArrayContents } from '../../types/vue-internal'\n// Styles\nimport './VTreeview.sass'\nimport { TreeviewItemFunction } from 'vuetify/types'\n\n// Components\nimport VTreeviewNode, { VTreeviewNodeProps } from './VTreeviewNode'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Utils\nimport {\n arrayDiff,\n deepEqual,\n getObjectValueByPath\n} from '../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { consoleWarn, breaking } from '../../util/console'\nimport {\n filterTreeItems,\n filterTreeItem\n} from './util/filterTreeItems'\n\ntype VTreeviewNodeInstance = InstanceType<typeof VTreeviewNode>\n\ntype NodeCache = Set<string | number>\ntype NodeArray = (string | number)[]\n\ntype NodeState = {\n parent: number | string | null\n children: (number | string)[]\n vnode: VTreeviewNodeInstance | null\n isActive: boolean\n isSelected: boolean\n isIndeterminate: boolean\n isOpen: boolean\n item: any\n}\n\nexport default mixins(\n RegistrableProvide('treeview'),\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-treeview',\n\n provide (): object {\n return { treeview: this }\n },\n\n props: {\n active: {\n type: Array,\n default: () => ([])\n } as unknown as PropType<NodeArray>,\n dense: Boolean,\n disabled: Boolean,\n filter: Function as PropType<TreeviewItemFunction>,\n hoverable: Boolean,\n items: {\n type: Array,\n default: () => ([])\n } as unknown as PropType<any[]>,\n modelValue: {\n type: Array,\n default: () => ([])\n } as unknown as PropType<NodeArray>,\n multipleActive: Boolean,\n open: {\n type: Array,\n default: () => ([])\n } as unknown as PropType<NodeArray>,\n openAll: Boolean,\n returnObject: {\n type: Boolean,\n default: false // TODO: Should be true in next major\n },\n search: String,\n ...VTreeviewNodeProps\n },\n\n data: () => ({\n level: -1,\n activeCache: new Set() as NodeCache,\n nodes: {} as Record<string | number, NodeState>,\n openCache: new Set() as NodeCache,\n selectedCache: new Set() as NodeCache\n }),\n\n computed: {\n excludedItems (): Set<string | number> {\n const excluded = new Set<string|number>()\n\n if (!this.search) return excluded\n\n for (let i = 0; i < this.items.length; i++) {\n filterTreeItems(\n this.filter || filterTreeItem,\n this.items[i],\n this.search,\n this.itemKey,\n this.itemText,\n this.itemChildren,\n excluded\n )\n }\n\n return excluded\n }\n },\n\n watch: {\n items: {\n handler () {\n const oldKeys = Object.keys(this.nodes).map(k => getObjectValueByPath(this.nodes[k].item, this.itemKey))\n const newKeys = this.getKeys(this.items)\n const diff = arrayDiff(newKeys, oldKeys)\n\n // We only want to do stuff if items have changed\n if (!diff.length && newKeys.length < oldKeys.length) return\n\n // If nodes are removed we need to clear them from this.nodes\n diff.forEach(k => delete this.nodes[k])\n\n const oldSelectedCache = [...this.selectedCache]\n this.selectedCache = new Set()\n this.activeCache = new Set()\n this.openCache = new Set()\n this.buildTree(this.items)\n\n // Only emit selected if selection has changed\n // as a result of items changing. This fixes a\n // potential double emit when selecting a node\n // with dynamic children\n if (!deepEqual(oldSelectedCache, [...this.selectedCache])) this.emitSelected()\n },\n deep: true\n },\n active (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.activeCache, this.updateActive, this.emitActive)\n },\n modelValue (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.selectedCache, this.updateSelected, this.emitSelected)\n },\n open (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.openCache, this.updateOpen, this.emitOpen)\n }\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue'],\n ['onChange', 'onUpdate:modelValue']\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n\n const getValue = (key: string | number) => this.returnObject ? getObjectValueByPath(key, this.itemKey) : key\n\n this.buildTree(this.items)\n\n for (const value of this.modelValue.map(getValue)) {\n this.updateSelected(value, true, true)\n }\n\n for (const active of this.active.map(getValue)) {\n this.updateActive(active, true)\n }\n },\n\n mounted () {\n if (this.openAll) {\n this.updateAll(true)\n } else {\n this.open.forEach(key => this.updateOpen(this.returnObject ? getObjectValueByPath(key, this.itemKey) : key, true))\n this.emitOpen()\n }\n },\n\n methods: {\n /** @public */\n updateAll (value: boolean) {\n Object.keys(this.nodes).forEach(key => this.updateOpen(getObjectValueByPath(this.nodes[key].item, this.itemKey), value))\n this.emitOpen()\n },\n getKeys (items: any[], keys: any[] = []) {\n for (let i = 0; i < items.length; i++) {\n const key = getObjectValueByPath(items[i], this.itemKey)\n keys.push(key)\n const children = getObjectValueByPath(items[i], this.itemChildren)\n if (children) {\n keys.push(...this.getKeys(children))\n }\n }\n\n return keys\n },\n buildTree (items: any[], parent: (string | number | null) = null) {\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const key = getObjectValueByPath(item, this.itemKey)\n const children = getObjectValueByPath(item, this.itemChildren) ?? []\n const oldNode = this.nodes.hasOwnProperty(key)\n ? this.nodes[key]\n : {\n isSelected: false, isIndeterminate: false, isActive: false, isOpen: false, vnode: null\n } as NodeState\n\n const node: any = {\n vnode: oldNode.vnode,\n parent,\n children: children.map((c: any) => getObjectValueByPath(c, this.itemKey)),\n item\n }\n\n this.buildTree(children, key)\n\n // This fixed bug with dynamic children resetting selected parent state\n if (\n this.selectionType !== 'independent' &&\n parent !== null &&\n !this.nodes.hasOwnProperty(key) &&\n this.nodes.hasOwnProperty(parent)\n ) {\n node.isSelected = this.nodes[parent].isSelected\n } else {\n node.isSelected = oldNode.isSelected\n node.isIndeterminate = oldNode.isIndeterminate\n }\n\n node.isActive = oldNode.isActive\n node.isOpen = oldNode.isOpen\n\n this.nodes[key] = node\n\n if (children.length && this.selectionType !== 'independent') {\n const { isSelected, isIndeterminate } = this.calculateState(key, this.nodes)\n\n node.isSelected = isSelected\n node.isIndeterminate = isIndeterminate\n }\n\n // Don't forget to rebuild cache\n if (this.nodes[key].isSelected && (this.selectionType === 'independent' || node.children.length === 0)) this.selectedCache.add(key)\n if (this.nodes[key].isActive) this.activeCache.add(key)\n if (this.nodes[key].isOpen) this.openCache.add(key)\n\n this.updateVnodeState(key)\n }\n },\n calculateState (node: string | number, state: Record<string | number, NodeState>) {\n const children = state[node].children\n const counts = children.reduce((counts: number[], child: string | number) => {\n counts[0] += +Boolean(state[child].isSelected)\n counts[1] += +Boolean(state[child].isIndeterminate)\n\n return counts\n }, [0, 0])\n\n const isSelected = !!children.length && counts[0] === children.length\n const isIndeterminate = !isSelected && (counts[0] > 0 || counts[1] > 0)\n\n return {\n isSelected,\n isIndeterminate\n }\n },\n emitOpen () {\n this.emitNodeCache('update:open', this.openCache)\n },\n emitSelected () {\n this.emitNodeCache('update:modelValue', this.selectedCache)\n },\n emitActive () {\n this.emitNodeCache('update:active', this.activeCache)\n },\n emitNodeCache (event: string, cache: NodeCache) {\n this.$emit(event, this.returnObject ? [...cache].map(key => this.nodes[key].item) : [...cache])\n },\n handleNodeCacheWatcher (value: any[], cache: NodeCache, updateFn: Function, emitFn: Function) {\n value = this.returnObject ? value.map(v => getObjectValueByPath(v, this.itemKey)) : value\n const old = [...cache]\n if (deepEqual(old, value)) return\n\n old.forEach(key => updateFn(key, false))\n value.forEach(key => updateFn(key, true))\n\n emitFn()\n },\n getDescendants (key: string | number, descendants: NodeArray = []) {\n const children = this.nodes[key].children\n\n descendants.push(...children)\n\n for (let i = 0; i < children.length; i++) {\n descendants = this.getDescendants(children[i], descendants)\n }\n\n return descendants\n },\n getParents (key: string | number) {\n let parent = this.nodes[key].parent\n\n const parents = []\n while (parent !== null) {\n parents.push(parent)\n parent = this.nodes[parent].parent\n }\n\n return parents\n },\n register (node: VTreeviewNodeInstance) {\n const key = getObjectValueByPath(node.item, this.itemKey)\n\n this.nodes[key].vnode = markRaw(node)\n\n this.updateVnodeState(key)\n },\n unregister (node: VTreeviewNodeInstance) {\n const key = getObjectValueByPath(node.item, this.itemKey)\n if (this.nodes[key]) this.nodes[key].vnode = null\n },\n isParent (key: string | number) {\n return this.nodes[key].children && this.nodes[key].children.length\n },\n updateActive (key: string | number, isActive: boolean) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n if (!this.multipleActive) {\n this.activeCache.forEach(active => {\n this.nodes[active].isActive = false\n this.updateVnodeState(active)\n this.activeCache.delete(active)\n })\n }\n\n const node = this.nodes[key]\n if (!node) return\n\n if (isActive) this.activeCache.add(key)\n else this.activeCache.delete(key)\n\n node.isActive = isActive\n\n this.updateVnodeState(key)\n },\n updateSelected (key: string | number, isSelected: boolean, isForced = false) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n const changed = new Map()\n\n if (this.selectionType !== 'independent') {\n for (const descendant of this.getDescendants(key)) {\n if (!getObjectValueByPath(this.nodes[descendant].item, this.itemDisabled) || isForced) {\n this.nodes[descendant].isSelected = isSelected\n this.nodes[descendant].isIndeterminate = false\n changed.set(descendant, isSelected)\n }\n }\n\n const calculated = this.calculateState(key, this.nodes)\n this.nodes[key].isSelected = isSelected\n this.nodes[key].isIndeterminate = calculated.isIndeterminate\n changed.set(key, isSelected)\n\n for (const parent of this.getParents(key)) {\n const calculated = this.calculateState(parent, this.nodes)\n this.nodes[parent].isSelected = calculated.isSelected\n this.nodes[parent].isIndeterminate = calculated.isIndeterminate\n changed.set(parent, calculated.isSelected)\n }\n } else {\n this.nodes[key].isSelected = isSelected\n this.nodes[key].isIndeterminate = false\n changed.set(key, isSelected)\n }\n\n for (const [key, value] of changed.entries()) {\n this.updateVnodeState(key)\n\n if (this.selectionType === 'leaf' && this.isParent(key)) continue\n\n value === true ? this.selectedCache.add(key) : this.selectedCache.delete(key)\n }\n },\n updateOpen (key: string | number, isOpen: boolean) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n const node = this.nodes[key]\n const children = getObjectValueByPath(node.item, this.itemChildren)\n\n if (children && !children.length && node.vnode && !node.vnode.hasLoaded) {\n node.vnode.checkChildren().then(() => this.updateOpen(key, isOpen))\n } else if (children && children.length) {\n node.isOpen = isOpen\n\n node.isOpen ? this.openCache.add(key) : this.openCache.delete(key)\n\n this.updateVnodeState(key)\n }\n },\n updateVnodeState (key: string | number) {\n const node = this.nodes[key]\n\n if (node && node.vnode) {\n node.vnode.isSelected = node.isSelected\n node.vnode.isIndeterminate = node.isIndeterminate\n node.vnode.isActive = node.isActive\n node.vnode.isOpen = node.isOpen\n }\n },\n isExcluded (key: string | number) {\n return !!this.search && this.excludedItems.has(key)\n }\n },\n\n render (): VNode {\n const children: VNodeChildrenArrayContents = this.items.length\n ? this.items.filter(item => {\n return !this.isExcluded(getObjectValueByPath(item, this.itemKey))\n }).map(item => {\n const genChild = VTreeviewNode.methods.genChild.bind(this)\n\n return genChild(item, this.disabled || getObjectValueByPath(item, this.itemDisabled))\n })\n /* istanbul ignore next */\n : this.$slots.default! // TODO: remove type annotation with TS 3.2\n\n return h('div', {\n class: ['v-treeview', {\n 'v-treeview--hoverable': this.hoverable,\n 'v-treeview--dense': this.dense,\n ...this.themeClasses\n }]\n }, children)\n }\n})\n"],"sourceRoot":"","file":"VTreeview.js"}
package/es5/framework.js CHANGED
@@ -79,7 +79,7 @@ var Vuetify = /*#__PURE__*/function () {
79
79
  exports.default = Vuetify;
80
80
  Vuetify.install = _install.install;
81
81
  Vuetify.installed = false;
82
- Vuetify.version = "2.7.2-alpha52";
82
+ Vuetify.version = "2.7.2-alpha54";
83
83
  Vuetify.config = {
84
84
  silent: false
85
85
  };
@@ -9,8 +9,6 @@ var _vue = require("vue");
9
9
 
10
10
  var _ripple = _interopRequireDefault(require("../../directives/ripple"));
11
11
 
12
- var _helpers = require("../../util/helpers");
13
-
14
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
13
 
16
14
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
@@ -19,6 +17,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
19
17
 
20
18
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21
19
 
20
+ // Utilities
22
21
  var _default = (0, _vue.defineComponent)({
23
22
  name: 'routable',
24
23
  directives: {
@@ -115,8 +114,8 @@ var _default = (0, _vue.defineComponent)({
115
114
  var exactActiveClass = this.exactActiveClass || activeClass;
116
115
 
117
116
  if (this.proxyClass) {
118
- activeClass = "".concat(activeClass, " ").concat(this.proxyClass).trim();
119
- exactActiveClass = "".concat(exactActiveClass, " ").concat(this.proxyClass).trim();
117
+ activeClass = [activeClass, this.proxyClass].filter(Boolean).join(' ');
118
+ exactActiveClass = [exactActiveClass, this.proxyClass].filter(Boolean).join(' ');
120
119
  }
121
120
 
122
121
  tag = (0, _vue.resolveComponent)(this.nuxt ? 'nuxt-link' : 'router-link');
@@ -147,10 +146,17 @@ var _default = (0, _vue.defineComponent)({
147
146
  if (!this.to || !this.$refs.link || !this.$route) return;
148
147
  var activeClass = "".concat(this.activeClass || '', " ").concat(this.proxyClass || '').trim();
149
148
  var exactActiveClass = "".concat(this.exactActiveClass || '', " ").concat(this.proxyClass || '').trim() || activeClass;
150
- var path = '_vnode.data.class.' + (this.exact ? exactActiveClass : activeClass);
149
+ var activeClasses = (this.exact ? exactActiveClass : activeClass).split(' ');
151
150
  this.$nextTick(function () {
152
151
  /* istanbul ignore else */
153
- if (!(0, _helpers.getObjectValueByPath)(_this.$refs.link, path) === _this.isActive) {
152
+ var el = _this.$refs.link.$el || _this.$refs.link;
153
+ var isLinkActive = activeClasses.every(function (c) {
154
+ var _a;
155
+
156
+ return (_a = el === null || el === void 0 ? void 0 : el.classList) === null || _a === void 0 ? void 0 : _a.contains(c);
157
+ });
158
+
159
+ if (isLinkActive !== _this.isActive) {
154
160
  _this.toggle();
155
161
  }
156
162
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mixins/routable/index.ts"],"names":[],"mappings":"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","sourcesContent":["import type { VNodeData } from '../../types/vue-internal'\nimport type { PropType } from 'vue'\nimport { defineComponent, resolveComponent } from 'vue'\n\n// Directives\nimport Ripple, { RippleOptions } from '../../directives/ripple'\n\n// Utilities\nimport { getObjectValueByPath } from '../../util/helpers'\n\nexport default defineComponent({\n name: 'routable',\n\n directives: {\n Ripple\n },\n\n props: {\n activeClass: String,\n append: Boolean,\n disabled: Boolean,\n exact: {\n type: Boolean as PropType<boolean | undefined>,\n default: undefined\n },\n exactPath: Boolean,\n exactActiveClass: String,\n link: Boolean,\n href: [String, Object],\n to: [String, Object],\n nuxt: Boolean,\n replace: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: null\n },\n tag: String,\n target: String,\n notALink: Boolean\n },\n\n data: () => ({\n isActive: false,\n proxyClass: ''\n }),\n\n computed: {\n classes (): object {\n const classes: Record<string, boolean> = {}\n\n if (this.to) return classes\n\n const activeClass = this.activeClass || ('$activeClass' in this ? this.$activeClass : undefined)\n // const activeClass = this.activeClass || this.$activeClass\n\n if (activeClass) classes[activeClass] = this.isActive\n if (this.proxyClass) classes[this.proxyClass] = this.isActive\n\n return classes\n },\n computedRipple (): RippleOptions | boolean {\n return this.ripple ?? (!this.disabled && this.isClickable)\n },\n isClickable (): boolean {\n if (this.notALink) return false\n\n if (this.disabled) return false\n\n return Boolean(\n this.isLink ||\n this.$attrs.onClick ||\n this.$attrs['on!click'] ||\n this.$attrs.tabindex ||\n this.$props?.onClick\n )\n },\n isLink (): boolean {\n return this.to || this.href || this.link\n },\n styles: () => ({})\n },\n\n watch: {\n $route: 'onRouteChange'\n },\n\n mounted () {\n this.onRouteChange()\n },\n\n methods: {\n generateRouteLink () {\n let exact = this.exact\n let tag\n\n const directives = [[\n Ripple,\n this.computedRipple\n ]]\n\n const data: VNodeData = {\n tabindex: 'tabindex' in this.$attrs ? this.$attrs.tabindex : undefined,\n class: this.classes,\n style: this.styles,\n ...this.$listeners,\n ...('click' in this ? { onClick: (this as any).click } : undefined), // #14447\n ref: 'link'\n }\n\n if (typeof this.exact === 'undefined') {\n exact = this.to === '/' ||\n (this.to === Object(this.to) && this.to.path === '/')\n }\n\n if (this.to) {\n // Add a special activeClass hook\n // for component level styles\n let activeClass = this.activeClass\n let exactActiveClass = this.exactActiveClass || activeClass\n\n if (this.proxyClass) {\n activeClass = `${activeClass} ${this.proxyClass}`.trim()\n exactActiveClass = `${exactActiveClass} ${this.proxyClass}`.trim()\n }\n\n tag = resolveComponent(this.nuxt ? 'nuxt-link' : 'router-link')\n Object.assign(data, {\n to: this.to,\n exact,\n exactPath: this.exactPath,\n activeClass,\n exactActiveClass,\n append: this.append,\n replace: this.replace\n })\n } else {\n tag = (this.href && 'a') || this.tag || 'div'\n\n if (tag === 'a' && this.href) data.href = this.href\n }\n\n if (this.target) data.target = this.target\n\n return { tag, data, directives }\n },\n onRouteChange () {\n if (!this.to || !this.$refs.link || !this.$route) return\n const activeClass = `${this.activeClass || ''} ${this.proxyClass || ''}`.trim()\n const exactActiveClass = `${this.exactActiveClass || ''} ${this.proxyClass || ''}`.trim() || activeClass\n\n const path = '_vnode.data.class.' + (this.exact ? exactActiveClass : activeClass)\n\n this.$nextTick(() => {\n /* istanbul ignore else */\n if (!getObjectValueByPath(this.$refs.link, path) === this.isActive) {\n this.toggle()\n }\n })\n },\n toggle () {\n this.isActive = !this.isActive\n }\n }\n})\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../src/mixins/routable/index.ts"],"names":[],"mappings":"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","sourcesContent":["import type { VNodeData } from '../../types/vue-internal'\nimport type { PropType } from 'vue'\nimport { defineComponent, resolveComponent } from 'vue'\n\n// Directives\nimport Ripple, { RippleOptions } from '../../directives/ripple'\n\n// Utilities\n\nexport default defineComponent({\n name: 'routable',\n\n directives: {\n Ripple\n },\n\n props: {\n activeClass: String,\n append: Boolean,\n disabled: Boolean,\n exact: {\n type: Boolean as PropType<boolean | undefined>,\n default: undefined\n },\n exactPath: Boolean,\n exactActiveClass: String,\n link: Boolean,\n href: [String, Object],\n to: [String, Object],\n nuxt: Boolean,\n replace: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: null\n },\n tag: String,\n target: String,\n notALink: Boolean\n },\n\n data: () => ({\n isActive: false,\n proxyClass: ''\n }),\n\n computed: {\n classes (): object {\n const classes: Record<string, boolean> = {}\n\n if (this.to) return classes\n\n const activeClass = this.activeClass || ('$activeClass' in this ? this.$activeClass : undefined)\n // const activeClass = this.activeClass || this.$activeClass\n\n if (activeClass) classes[activeClass] = this.isActive\n if (this.proxyClass) classes[this.proxyClass] = this.isActive\n\n return classes\n },\n computedRipple (): RippleOptions | boolean {\n return this.ripple ?? (!this.disabled && this.isClickable)\n },\n isClickable (): boolean {\n if (this.notALink) return false\n\n if (this.disabled) return false\n\n return Boolean(\n this.isLink ||\n this.$attrs.onClick ||\n this.$attrs['on!click'] ||\n this.$attrs.tabindex ||\n this.$props?.onClick\n )\n },\n isLink (): boolean {\n return this.to || this.href || this.link\n },\n styles: () => ({})\n },\n\n watch: {\n $route: 'onRouteChange'\n },\n\n mounted () {\n this.onRouteChange()\n },\n\n methods: {\n generateRouteLink () {\n let exact = this.exact\n let tag\n\n const directives = [[\n Ripple,\n this.computedRipple\n ]]\n\n const data: VNodeData = {\n tabindex: 'tabindex' in this.$attrs ? this.$attrs.tabindex : undefined,\n class: this.classes,\n style: this.styles,\n ...this.$listeners,\n ...('click' in this ? { onClick: (this as any).click } : undefined), // #14447\n ref: 'link'\n }\n\n if (typeof this.exact === 'undefined') {\n exact = this.to === '/' ||\n (this.to === Object(this.to) && this.to.path === '/')\n }\n\n if (this.to) {\n // Add a special activeClass hook\n // for component level styles\n let activeClass = this.activeClass\n let exactActiveClass = this.exactActiveClass || activeClass\n\n if (this.proxyClass) {\n activeClass = [activeClass, this.proxyClass].filter(Boolean).join(' ')\n exactActiveClass = [exactActiveClass, this.proxyClass].filter(Boolean).join(' ')\n }\n\n tag = resolveComponent(this.nuxt ? 'nuxt-link' : 'router-link')\n Object.assign(data, {\n to: this.to,\n exact,\n exactPath: this.exactPath,\n activeClass,\n exactActiveClass,\n append: this.append,\n replace: this.replace\n })\n } else {\n tag = (this.href && 'a') || this.tag || 'div'\n\n if (tag === 'a' && this.href) data.href = this.href\n }\n\n if (this.target) data.target = this.target\n\n return { tag, data, directives }\n },\n onRouteChange () {\n if (!this.to || !this.$refs.link || !this.$route) return\n const activeClass = `${this.activeClass || ''} ${this.proxyClass || ''}`.trim()\n const exactActiveClass = `${this.exactActiveClass || ''} ${this.proxyClass || ''}`.trim() || activeClass\n\n const activeClasses = (this.exact ? exactActiveClass : activeClass).split(' ')\n\n this.$nextTick(() => {\n /* istanbul ignore else */\n const el = (this.$refs.link as any).$el || this.$refs.link\n const isLinkActive = activeClasses.every(c => el?.classList?.contains(c))\n\n if (isLinkActive !== this.isActive) {\n this.toggle()\n }\n })\n },\n toggle () {\n this.isActive = !this.isActive\n }\n }\n})\n"],"sourceRoot":"","file":"index.js"}
@@ -1,4 +1,4 @@
1
- import { h } from 'vue'; // Styles
1
+ import { h, markRaw } from 'vue'; // Styles
2
2
 
3
3
  import "../../../src/components/VTreeview/VTreeview.sass"; // Components
4
4
 
@@ -278,7 +278,7 @@ export default mixins(RegistrableProvide('treeview'), Themeable
278
278
 
279
279
  register(node) {
280
280
  const key = getObjectValueByPath(node.item, this.itemKey);
281
- this.nodes[key].vnode = node;
281
+ this.nodes[key].vnode = markRaw(node);
282
282
  this.updateVnodeState(key);
283
283
  },
284
284
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VTreeview/VTreeview.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropType, VNode } from 'vue'\nimport { h } from 'vue'\nimport type { VNodeChildrenArrayContents } from '../../types/vue-internal'\n// Styles\nimport './VTreeview.sass'\nimport { TreeviewItemFunction } from 'vuetify/types'\n\n// Components\nimport VTreeviewNode, { VTreeviewNodeProps } from './VTreeviewNode'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Utils\nimport {\n arrayDiff,\n deepEqual,\n getObjectValueByPath\n} from '../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { consoleWarn, breaking } from '../../util/console'\nimport {\n filterTreeItems,\n filterTreeItem\n} from './util/filterTreeItems'\n\ntype VTreeviewNodeInstance = InstanceType<typeof VTreeviewNode>\n\ntype NodeCache = Set<string | number>\ntype NodeArray = (string | number)[]\n\ntype NodeState = {\n parent: number | string | null\n children: (number | string)[]\n vnode: VTreeviewNodeInstance | null\n isActive: boolean\n isSelected: boolean\n isIndeterminate: boolean\n isOpen: boolean\n item: any\n}\n\nexport default mixins(\n RegistrableProvide('treeview'),\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-treeview',\n\n provide (): object {\n return { treeview: this }\n },\n\n props: {\n active: {\n type: Array,\n default: () => ([])\n } as unknown as PropType<NodeArray>,\n dense: Boolean,\n disabled: Boolean,\n filter: Function as PropType<TreeviewItemFunction>,\n hoverable: Boolean,\n items: {\n type: Array,\n default: () => ([])\n } as unknown as PropType<any[]>,\n modelValue: {\n type: Array,\n default: () => ([])\n } as unknown as PropType<NodeArray>,\n multipleActive: Boolean,\n open: {\n type: Array,\n default: () => ([])\n } as unknown as PropType<NodeArray>,\n openAll: Boolean,\n returnObject: {\n type: Boolean,\n default: false // TODO: Should be true in next major\n },\n search: String,\n ...VTreeviewNodeProps\n },\n\n data: () => ({\n level: -1,\n activeCache: new Set() as NodeCache,\n nodes: {} as Record<string | number, NodeState>,\n openCache: new Set() as NodeCache,\n selectedCache: new Set() as NodeCache\n }),\n\n computed: {\n excludedItems (): Set<string | number> {\n const excluded = new Set<string|number>()\n\n if (!this.search) return excluded\n\n for (let i = 0; i < this.items.length; i++) {\n filterTreeItems(\n this.filter || filterTreeItem,\n this.items[i],\n this.search,\n this.itemKey,\n this.itemText,\n this.itemChildren,\n excluded\n )\n }\n\n return excluded\n }\n },\n\n watch: {\n items: {\n handler () {\n const oldKeys = Object.keys(this.nodes).map(k => getObjectValueByPath(this.nodes[k].item, this.itemKey))\n const newKeys = this.getKeys(this.items)\n const diff = arrayDiff(newKeys, oldKeys)\n\n // We only want to do stuff if items have changed\n if (!diff.length && newKeys.length < oldKeys.length) return\n\n // If nodes are removed we need to clear them from this.nodes\n diff.forEach(k => delete this.nodes[k])\n\n const oldSelectedCache = [...this.selectedCache]\n this.selectedCache = new Set()\n this.activeCache = new Set()\n this.openCache = new Set()\n this.buildTree(this.items)\n\n // Only emit selected if selection has changed\n // as a result of items changing. This fixes a\n // potential double emit when selecting a node\n // with dynamic children\n if (!deepEqual(oldSelectedCache, [...this.selectedCache])) this.emitSelected()\n },\n deep: true\n },\n active (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.activeCache, this.updateActive, this.emitActive)\n },\n modelValue (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.selectedCache, this.updateSelected, this.emitSelected)\n },\n open (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.openCache, this.updateOpen, this.emitOpen)\n }\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue'],\n ['onChange', 'onUpdate:modelValue']\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n\n const getValue = (key: string | number) => this.returnObject ? getObjectValueByPath(key, this.itemKey) : key\n\n this.buildTree(this.items)\n\n for (const value of this.modelValue.map(getValue)) {\n this.updateSelected(value, true, true)\n }\n\n for (const active of this.active.map(getValue)) {\n this.updateActive(active, true)\n }\n },\n\n mounted () {\n if (this.openAll) {\n this.updateAll(true)\n } else {\n this.open.forEach(key => this.updateOpen(this.returnObject ? getObjectValueByPath(key, this.itemKey) : key, true))\n this.emitOpen()\n }\n },\n\n methods: {\n /** @public */\n updateAll (value: boolean) {\n Object.keys(this.nodes).forEach(key => this.updateOpen(getObjectValueByPath(this.nodes[key].item, this.itemKey), value))\n this.emitOpen()\n },\n getKeys (items: any[], keys: any[] = []) {\n for (let i = 0; i < items.length; i++) {\n const key = getObjectValueByPath(items[i], this.itemKey)\n keys.push(key)\n const children = getObjectValueByPath(items[i], this.itemChildren)\n if (children) {\n keys.push(...this.getKeys(children))\n }\n }\n\n return keys\n },\n buildTree (items: any[], parent: (string | number | null) = null) {\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const key = getObjectValueByPath(item, this.itemKey)\n const children = getObjectValueByPath(item, this.itemChildren) ?? []\n const oldNode = this.nodes.hasOwnProperty(key)\n ? this.nodes[key]\n : {\n isSelected: false, isIndeterminate: false, isActive: false, isOpen: false, vnode: null\n } as NodeState\n\n const node: any = {\n vnode: oldNode.vnode,\n parent,\n children: children.map((c: any) => getObjectValueByPath(c, this.itemKey)),\n item\n }\n\n this.buildTree(children, key)\n\n // This fixed bug with dynamic children resetting selected parent state\n if (\n this.selectionType !== 'independent' &&\n parent !== null &&\n !this.nodes.hasOwnProperty(key) &&\n this.nodes.hasOwnProperty(parent)\n ) {\n node.isSelected = this.nodes[parent].isSelected\n } else {\n node.isSelected = oldNode.isSelected\n node.isIndeterminate = oldNode.isIndeterminate\n }\n\n node.isActive = oldNode.isActive\n node.isOpen = oldNode.isOpen\n\n this.nodes[key] = node\n\n if (children.length && this.selectionType !== 'independent') {\n const { isSelected, isIndeterminate } = this.calculateState(key, this.nodes)\n\n node.isSelected = isSelected\n node.isIndeterminate = isIndeterminate\n }\n\n // Don't forget to rebuild cache\n if (this.nodes[key].isSelected && (this.selectionType === 'independent' || node.children.length === 0)) this.selectedCache.add(key)\n if (this.nodes[key].isActive) this.activeCache.add(key)\n if (this.nodes[key].isOpen) this.openCache.add(key)\n\n this.updateVnodeState(key)\n }\n },\n calculateState (node: string | number, state: Record<string | number, NodeState>) {\n const children = state[node].children\n const counts = children.reduce((counts: number[], child: string | number) => {\n counts[0] += +Boolean(state[child].isSelected)\n counts[1] += +Boolean(state[child].isIndeterminate)\n\n return counts\n }, [0, 0])\n\n const isSelected = !!children.length && counts[0] === children.length\n const isIndeterminate = !isSelected && (counts[0] > 0 || counts[1] > 0)\n\n return {\n isSelected,\n isIndeterminate\n }\n },\n emitOpen () {\n this.emitNodeCache('update:open', this.openCache)\n },\n emitSelected () {\n this.emitNodeCache('update:modelValue', this.selectedCache)\n },\n emitActive () {\n this.emitNodeCache('update:active', this.activeCache)\n },\n emitNodeCache (event: string, cache: NodeCache) {\n this.$emit(event, this.returnObject ? [...cache].map(key => this.nodes[key].item) : [...cache])\n },\n handleNodeCacheWatcher (value: any[], cache: NodeCache, updateFn: Function, emitFn: Function) {\n value = this.returnObject ? value.map(v => getObjectValueByPath(v, this.itemKey)) : value\n const old = [...cache]\n if (deepEqual(old, value)) return\n\n old.forEach(key => updateFn(key, false))\n value.forEach(key => updateFn(key, true))\n\n emitFn()\n },\n getDescendants (key: string | number, descendants: NodeArray = []) {\n const children = this.nodes[key].children\n\n descendants.push(...children)\n\n for (let i = 0; i < children.length; i++) {\n descendants = this.getDescendants(children[i], descendants)\n }\n\n return descendants\n },\n getParents (key: string | number) {\n let parent = this.nodes[key].parent\n\n const parents = []\n while (parent !== null) {\n parents.push(parent)\n parent = this.nodes[parent].parent\n }\n\n return parents\n },\n register (node: VTreeviewNodeInstance) {\n const key = getObjectValueByPath(node.item, this.itemKey)\n\n this.nodes[key].vnode = node\n\n this.updateVnodeState(key)\n },\n unregister (node: VTreeviewNodeInstance) {\n const key = getObjectValueByPath(node.item, this.itemKey)\n if (this.nodes[key]) this.nodes[key].vnode = null\n },\n isParent (key: string | number) {\n return this.nodes[key].children && this.nodes[key].children.length\n },\n updateActive (key: string | number, isActive: boolean) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n if (!this.multipleActive) {\n this.activeCache.forEach(active => {\n this.nodes[active].isActive = false\n this.updateVnodeState(active)\n this.activeCache.delete(active)\n })\n }\n\n const node = this.nodes[key]\n if (!node) return\n\n if (isActive) this.activeCache.add(key)\n else this.activeCache.delete(key)\n\n node.isActive = isActive\n\n this.updateVnodeState(key)\n },\n updateSelected (key: string | number, isSelected: boolean, isForced = false) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n const changed = new Map()\n\n if (this.selectionType !== 'independent') {\n for (const descendant of this.getDescendants(key)) {\n if (!getObjectValueByPath(this.nodes[descendant].item, this.itemDisabled) || isForced) {\n this.nodes[descendant].isSelected = isSelected\n this.nodes[descendant].isIndeterminate = false\n changed.set(descendant, isSelected)\n }\n }\n\n const calculated = this.calculateState(key, this.nodes)\n this.nodes[key].isSelected = isSelected\n this.nodes[key].isIndeterminate = calculated.isIndeterminate\n changed.set(key, isSelected)\n\n for (const parent of this.getParents(key)) {\n const calculated = this.calculateState(parent, this.nodes)\n this.nodes[parent].isSelected = calculated.isSelected\n this.nodes[parent].isIndeterminate = calculated.isIndeterminate\n changed.set(parent, calculated.isSelected)\n }\n } else {\n this.nodes[key].isSelected = isSelected\n this.nodes[key].isIndeterminate = false\n changed.set(key, isSelected)\n }\n\n for (const [key, value] of changed.entries()) {\n this.updateVnodeState(key)\n\n if (this.selectionType === 'leaf' && this.isParent(key)) continue\n\n value === true ? this.selectedCache.add(key) : this.selectedCache.delete(key)\n }\n },\n updateOpen (key: string | number, isOpen: boolean) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n const node = this.nodes[key]\n const children = getObjectValueByPath(node.item, this.itemChildren)\n\n if (children && !children.length && node.vnode && !node.vnode.hasLoaded) {\n node.vnode.checkChildren().then(() => this.updateOpen(key, isOpen))\n } else if (children && children.length) {\n node.isOpen = isOpen\n\n node.isOpen ? this.openCache.add(key) : this.openCache.delete(key)\n\n this.updateVnodeState(key)\n }\n },\n updateVnodeState (key: string | number) {\n const node = this.nodes[key]\n\n if (node && node.vnode) {\n node.vnode.isSelected = node.isSelected\n node.vnode.isIndeterminate = node.isIndeterminate\n node.vnode.isActive = node.isActive\n node.vnode.isOpen = node.isOpen\n }\n },\n isExcluded (key: string | number) {\n return !!this.search && this.excludedItems.has(key)\n }\n },\n\n render (): VNode {\n const children: VNodeChildrenArrayContents = this.items.length\n ? this.items.filter(item => {\n return !this.isExcluded(getObjectValueByPath(item, this.itemKey))\n }).map(item => {\n const genChild = VTreeviewNode.methods.genChild.bind(this)\n\n return genChild(item, this.disabled || getObjectValueByPath(item, this.itemDisabled))\n })\n /* istanbul ignore next */\n : this.$slots.default! // TODO: remove type annotation with TS 3.2\n\n return h('div', {\n class: ['v-treeview', {\n 'v-treeview--hoverable': this.hoverable,\n 'v-treeview--dense': this.dense,\n ...this.themeClasses\n }]\n }, children)\n }\n})\n"],"sourceRoot":"","file":"VTreeview.js"}
1
+ {"version":3,"sources":["../../../src/components/VTreeview/VTreeview.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropType, VNode } from 'vue'\nimport { h, markRaw } from 'vue'\nimport type { VNodeChildrenArrayContents } from '../../types/vue-internal'\n// Styles\nimport './VTreeview.sass'\nimport { TreeviewItemFunction } from 'vuetify/types'\n\n// Components\nimport VTreeviewNode, { VTreeviewNodeProps } from './VTreeviewNode'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Utils\nimport {\n arrayDiff,\n deepEqual,\n getObjectValueByPath\n} from '../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { consoleWarn, breaking } from '../../util/console'\nimport {\n filterTreeItems,\n filterTreeItem\n} from './util/filterTreeItems'\n\ntype VTreeviewNodeInstance = InstanceType<typeof VTreeviewNode>\n\ntype NodeCache = Set<string | number>\ntype NodeArray = (string | number)[]\n\ntype NodeState = {\n parent: number | string | null\n children: (number | string)[]\n vnode: VTreeviewNodeInstance | null\n isActive: boolean\n isSelected: boolean\n isIndeterminate: boolean\n isOpen: boolean\n item: any\n}\n\nexport default mixins(\n RegistrableProvide('treeview'),\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-treeview',\n\n provide (): object {\n return { treeview: this }\n },\n\n props: {\n active: {\n type: Array,\n default: () => ([])\n } as unknown as PropType<NodeArray>,\n dense: Boolean,\n disabled: Boolean,\n filter: Function as PropType<TreeviewItemFunction>,\n hoverable: Boolean,\n items: {\n type: Array,\n default: () => ([])\n } as unknown as PropType<any[]>,\n modelValue: {\n type: Array,\n default: () => ([])\n } as unknown as PropType<NodeArray>,\n multipleActive: Boolean,\n open: {\n type: Array,\n default: () => ([])\n } as unknown as PropType<NodeArray>,\n openAll: Boolean,\n returnObject: {\n type: Boolean,\n default: false // TODO: Should be true in next major\n },\n search: String,\n ...VTreeviewNodeProps\n },\n\n data: () => ({\n level: -1,\n activeCache: new Set() as NodeCache,\n nodes: {} as Record<string | number, NodeState>,\n openCache: new Set() as NodeCache,\n selectedCache: new Set() as NodeCache\n }),\n\n computed: {\n excludedItems (): Set<string | number> {\n const excluded = new Set<string|number>()\n\n if (!this.search) return excluded\n\n for (let i = 0; i < this.items.length; i++) {\n filterTreeItems(\n this.filter || filterTreeItem,\n this.items[i],\n this.search,\n this.itemKey,\n this.itemText,\n this.itemChildren,\n excluded\n )\n }\n\n return excluded\n }\n },\n\n watch: {\n items: {\n handler () {\n const oldKeys = Object.keys(this.nodes).map(k => getObjectValueByPath(this.nodes[k].item, this.itemKey))\n const newKeys = this.getKeys(this.items)\n const diff = arrayDiff(newKeys, oldKeys)\n\n // We only want to do stuff if items have changed\n if (!diff.length && newKeys.length < oldKeys.length) return\n\n // If nodes are removed we need to clear them from this.nodes\n diff.forEach(k => delete this.nodes[k])\n\n const oldSelectedCache = [...this.selectedCache]\n this.selectedCache = new Set()\n this.activeCache = new Set()\n this.openCache = new Set()\n this.buildTree(this.items)\n\n // Only emit selected if selection has changed\n // as a result of items changing. This fixes a\n // potential double emit when selecting a node\n // with dynamic children\n if (!deepEqual(oldSelectedCache, [...this.selectedCache])) this.emitSelected()\n },\n deep: true\n },\n active (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.activeCache, this.updateActive, this.emitActive)\n },\n modelValue (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.selectedCache, this.updateSelected, this.emitSelected)\n },\n open (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.openCache, this.updateOpen, this.emitOpen)\n }\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue'],\n ['onChange', 'onUpdate:modelValue']\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n\n const getValue = (key: string | number) => this.returnObject ? getObjectValueByPath(key, this.itemKey) : key\n\n this.buildTree(this.items)\n\n for (const value of this.modelValue.map(getValue)) {\n this.updateSelected(value, true, true)\n }\n\n for (const active of this.active.map(getValue)) {\n this.updateActive(active, true)\n }\n },\n\n mounted () {\n if (this.openAll) {\n this.updateAll(true)\n } else {\n this.open.forEach(key => this.updateOpen(this.returnObject ? getObjectValueByPath(key, this.itemKey) : key, true))\n this.emitOpen()\n }\n },\n\n methods: {\n /** @public */\n updateAll (value: boolean) {\n Object.keys(this.nodes).forEach(key => this.updateOpen(getObjectValueByPath(this.nodes[key].item, this.itemKey), value))\n this.emitOpen()\n },\n getKeys (items: any[], keys: any[] = []) {\n for (let i = 0; i < items.length; i++) {\n const key = getObjectValueByPath(items[i], this.itemKey)\n keys.push(key)\n const children = getObjectValueByPath(items[i], this.itemChildren)\n if (children) {\n keys.push(...this.getKeys(children))\n }\n }\n\n return keys\n },\n buildTree (items: any[], parent: (string | number | null) = null) {\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const key = getObjectValueByPath(item, this.itemKey)\n const children = getObjectValueByPath(item, this.itemChildren) ?? []\n const oldNode = this.nodes.hasOwnProperty(key)\n ? this.nodes[key]\n : {\n isSelected: false, isIndeterminate: false, isActive: false, isOpen: false, vnode: null\n } as NodeState\n\n const node: any = {\n vnode: oldNode.vnode,\n parent,\n children: children.map((c: any) => getObjectValueByPath(c, this.itemKey)),\n item\n }\n\n this.buildTree(children, key)\n\n // This fixed bug with dynamic children resetting selected parent state\n if (\n this.selectionType !== 'independent' &&\n parent !== null &&\n !this.nodes.hasOwnProperty(key) &&\n this.nodes.hasOwnProperty(parent)\n ) {\n node.isSelected = this.nodes[parent].isSelected\n } else {\n node.isSelected = oldNode.isSelected\n node.isIndeterminate = oldNode.isIndeterminate\n }\n\n node.isActive = oldNode.isActive\n node.isOpen = oldNode.isOpen\n\n this.nodes[key] = node\n\n if (children.length && this.selectionType !== 'independent') {\n const { isSelected, isIndeterminate } = this.calculateState(key, this.nodes)\n\n node.isSelected = isSelected\n node.isIndeterminate = isIndeterminate\n }\n\n // Don't forget to rebuild cache\n if (this.nodes[key].isSelected && (this.selectionType === 'independent' || node.children.length === 0)) this.selectedCache.add(key)\n if (this.nodes[key].isActive) this.activeCache.add(key)\n if (this.nodes[key].isOpen) this.openCache.add(key)\n\n this.updateVnodeState(key)\n }\n },\n calculateState (node: string | number, state: Record<string | number, NodeState>) {\n const children = state[node].children\n const counts = children.reduce((counts: number[], child: string | number) => {\n counts[0] += +Boolean(state[child].isSelected)\n counts[1] += +Boolean(state[child].isIndeterminate)\n\n return counts\n }, [0, 0])\n\n const isSelected = !!children.length && counts[0] === children.length\n const isIndeterminate = !isSelected && (counts[0] > 0 || counts[1] > 0)\n\n return {\n isSelected,\n isIndeterminate\n }\n },\n emitOpen () {\n this.emitNodeCache('update:open', this.openCache)\n },\n emitSelected () {\n this.emitNodeCache('update:modelValue', this.selectedCache)\n },\n emitActive () {\n this.emitNodeCache('update:active', this.activeCache)\n },\n emitNodeCache (event: string, cache: NodeCache) {\n this.$emit(event, this.returnObject ? [...cache].map(key => this.nodes[key].item) : [...cache])\n },\n handleNodeCacheWatcher (value: any[], cache: NodeCache, updateFn: Function, emitFn: Function) {\n value = this.returnObject ? value.map(v => getObjectValueByPath(v, this.itemKey)) : value\n const old = [...cache]\n if (deepEqual(old, value)) return\n\n old.forEach(key => updateFn(key, false))\n value.forEach(key => updateFn(key, true))\n\n emitFn()\n },\n getDescendants (key: string | number, descendants: NodeArray = []) {\n const children = this.nodes[key].children\n\n descendants.push(...children)\n\n for (let i = 0; i < children.length; i++) {\n descendants = this.getDescendants(children[i], descendants)\n }\n\n return descendants\n },\n getParents (key: string | number) {\n let parent = this.nodes[key].parent\n\n const parents = []\n while (parent !== null) {\n parents.push(parent)\n parent = this.nodes[parent].parent\n }\n\n return parents\n },\n register (node: VTreeviewNodeInstance) {\n const key = getObjectValueByPath(node.item, this.itemKey)\n\n this.nodes[key].vnode = markRaw(node)\n\n this.updateVnodeState(key)\n },\n unregister (node: VTreeviewNodeInstance) {\n const key = getObjectValueByPath(node.item, this.itemKey)\n if (this.nodes[key]) this.nodes[key].vnode = null\n },\n isParent (key: string | number) {\n return this.nodes[key].children && this.nodes[key].children.length\n },\n updateActive (key: string | number, isActive: boolean) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n if (!this.multipleActive) {\n this.activeCache.forEach(active => {\n this.nodes[active].isActive = false\n this.updateVnodeState(active)\n this.activeCache.delete(active)\n })\n }\n\n const node = this.nodes[key]\n if (!node) return\n\n if (isActive) this.activeCache.add(key)\n else this.activeCache.delete(key)\n\n node.isActive = isActive\n\n this.updateVnodeState(key)\n },\n updateSelected (key: string | number, isSelected: boolean, isForced = false) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n const changed = new Map()\n\n if (this.selectionType !== 'independent') {\n for (const descendant of this.getDescendants(key)) {\n if (!getObjectValueByPath(this.nodes[descendant].item, this.itemDisabled) || isForced) {\n this.nodes[descendant].isSelected = isSelected\n this.nodes[descendant].isIndeterminate = false\n changed.set(descendant, isSelected)\n }\n }\n\n const calculated = this.calculateState(key, this.nodes)\n this.nodes[key].isSelected = isSelected\n this.nodes[key].isIndeterminate = calculated.isIndeterminate\n changed.set(key, isSelected)\n\n for (const parent of this.getParents(key)) {\n const calculated = this.calculateState(parent, this.nodes)\n this.nodes[parent].isSelected = calculated.isSelected\n this.nodes[parent].isIndeterminate = calculated.isIndeterminate\n changed.set(parent, calculated.isSelected)\n }\n } else {\n this.nodes[key].isSelected = isSelected\n this.nodes[key].isIndeterminate = false\n changed.set(key, isSelected)\n }\n\n for (const [key, value] of changed.entries()) {\n this.updateVnodeState(key)\n\n if (this.selectionType === 'leaf' && this.isParent(key)) continue\n\n value === true ? this.selectedCache.add(key) : this.selectedCache.delete(key)\n }\n },\n updateOpen (key: string | number, isOpen: boolean) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n const node = this.nodes[key]\n const children = getObjectValueByPath(node.item, this.itemChildren)\n\n if (children && !children.length && node.vnode && !node.vnode.hasLoaded) {\n node.vnode.checkChildren().then(() => this.updateOpen(key, isOpen))\n } else if (children && children.length) {\n node.isOpen = isOpen\n\n node.isOpen ? this.openCache.add(key) : this.openCache.delete(key)\n\n this.updateVnodeState(key)\n }\n },\n updateVnodeState (key: string | number) {\n const node = this.nodes[key]\n\n if (node && node.vnode) {\n node.vnode.isSelected = node.isSelected\n node.vnode.isIndeterminate = node.isIndeterminate\n node.vnode.isActive = node.isActive\n node.vnode.isOpen = node.isOpen\n }\n },\n isExcluded (key: string | number) {\n return !!this.search && this.excludedItems.has(key)\n }\n },\n\n render (): VNode {\n const children: VNodeChildrenArrayContents = this.items.length\n ? this.items.filter(item => {\n return !this.isExcluded(getObjectValueByPath(item, this.itemKey))\n }).map(item => {\n const genChild = VTreeviewNode.methods.genChild.bind(this)\n\n return genChild(item, this.disabled || getObjectValueByPath(item, this.itemDisabled))\n })\n /* istanbul ignore next */\n : this.$slots.default! // TODO: remove type annotation with TS 3.2\n\n return h('div', {\n class: ['v-treeview', {\n 'v-treeview--hoverable': this.hoverable,\n 'v-treeview--dense': this.dense,\n ...this.themeClasses\n }]\n }, children)\n }\n})\n"],"sourceRoot":"","file":"VTreeview.js"}
package/lib/framework.js CHANGED
@@ -46,7 +46,7 @@ export default class Vuetify {
46
46
  }
47
47
  Vuetify.install = install;
48
48
  Vuetify.installed = false;
49
- Vuetify.version = "2.7.2-alpha52";
49
+ Vuetify.version = "2.7.2-alpha54";
50
50
  Vuetify.config = {
51
51
  silent: false
52
52
  };
@@ -2,7 +2,6 @@ import { defineComponent, resolveComponent } from 'vue'; // Directives
2
2
 
3
3
  import Ripple from '../../directives/ripple'; // Utilities
4
4
 
5
- import { getObjectValueByPath } from '../../util/helpers';
6
5
  export default defineComponent({
7
6
  name: 'routable',
8
7
  directives: {
@@ -101,8 +100,8 @@ export default defineComponent({
101
100
  let exactActiveClass = this.exactActiveClass || activeClass;
102
101
 
103
102
  if (this.proxyClass) {
104
- activeClass = `${activeClass} ${this.proxyClass}`.trim();
105
- exactActiveClass = `${exactActiveClass} ${this.proxyClass}`.trim();
103
+ activeClass = [activeClass, this.proxyClass].filter(Boolean).join(' ');
104
+ exactActiveClass = [exactActiveClass, this.proxyClass].filter(Boolean).join(' ');
106
105
  }
107
106
 
108
107
  tag = resolveComponent(this.nuxt ? 'nuxt-link' : 'router-link');
@@ -132,10 +131,17 @@ export default defineComponent({
132
131
  if (!this.to || !this.$refs.link || !this.$route) return;
133
132
  const activeClass = `${this.activeClass || ''} ${this.proxyClass || ''}`.trim();
134
133
  const exactActiveClass = `${this.exactActiveClass || ''} ${this.proxyClass || ''}`.trim() || activeClass;
135
- const path = '_vnode.data.class.' + (this.exact ? exactActiveClass : activeClass);
134
+ const activeClasses = (this.exact ? exactActiveClass : activeClass).split(' ');
136
135
  this.$nextTick(() => {
137
136
  /* istanbul ignore else */
138
- if (!getObjectValueByPath(this.$refs.link, path) === this.isActive) {
137
+ const el = this.$refs.link.$el || this.$refs.link;
138
+ const isLinkActive = activeClasses.every(c => {
139
+ var _a;
140
+
141
+ return (_a = el === null || el === void 0 ? void 0 : el.classList) === null || _a === void 0 ? void 0 : _a.contains(c);
142
+ });
143
+
144
+ if (isLinkActive !== this.isActive) {
139
145
  this.toggle();
140
146
  }
141
147
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mixins/routable/index.ts"],"names":[],"mappings":"AAEA,SAAS,eAAT,EAA0B,gBAA1B,QAAkD,KAAlD,C,CAEA;;AACA,OAAO,MAAP,MAAsC,yBAAtC,C,CAEA;;AACA,SAAS,oBAAT,QAAqC,oBAArC;AAEA,eAAe,eAAe,CAAC;AAC7B,EAAA,IAAI,EAAE,UADuB;AAG7B,EAAA,UAAU,EAAE;AACV,IAAA;AADU,GAHiB;AAO7B,EAAA,KAAK,EAAE;AACL,IAAA,WAAW,EAAE,MADR;AAEL,IAAA,MAAM,EAAE,OAFH;AAGL,IAAA,QAAQ,EAAE,OAHL;AAIL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,OADD;AAEL,MAAA,OAAO,EAAE;AAFJ,KAJF;AAQL,IAAA,SAAS,EAAE,OARN;AASL,IAAA,gBAAgB,EAAE,MATb;AAUL,IAAA,IAAI,EAAE,OAVD;AAWL,IAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CAXD;AAYL,IAAA,EAAE,EAAE,CAAC,MAAD,EAAS,MAAT,CAZC;AAaL,IAAA,IAAI,EAAE,OAbD;AAcL,IAAA,OAAO,EAAE,OAdJ;AAeL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,OAAD,EAAU,MAAV,CADA;AAEN,MAAA,OAAO,EAAE;AAFH,KAfH;AAmBL,IAAA,GAAG,EAAE,MAnBA;AAoBL,IAAA,MAAM,EAAE,MApBH;AAqBL,IAAA,QAAQ,EAAE;AArBL,GAPsB;AA+B7B,EAAA,IAAI,EAAE,OAAO;AACX,IAAA,QAAQ,EAAE,KADC;AAEX,IAAA,UAAU,EAAE;AAFD,GAAP,CA/BuB;AAoC7B,EAAA,QAAQ,EAAE;AACR,IAAA,OAAO,GAAA;AACL,YAAM,OAAO,GAA4B,EAAzC;AAEA,UAAI,KAAK,EAAT,EAAa,OAAO,OAAP;AAEb,YAAM,WAAW,GAAG,KAAK,WAAL,KAAqB,kBAAkB,IAAlB,GAAyB,KAAK,YAA9B,GAA6C,SAAlE,CAApB,CALK,CAML;;AAEA,UAAI,WAAJ,EAAiB,OAAO,CAAC,WAAD,CAAP,GAAuB,KAAK,QAA5B;AACjB,UAAI,KAAK,UAAT,EAAqB,OAAO,CAAC,KAAK,UAAN,CAAP,GAA2B,KAAK,QAAhC;AAErB,aAAO,OAAP;AACD,KAbO;;AAcR,IAAA,cAAc,GAAA;;;AACZ,aAAO,CAAA,EAAA,GAAA,KAAK,MAAL,MAAW,IAAX,IAAW,EAAA,KAAA,KAAA,CAAX,GAAW,EAAX,GAAgB,CAAC,KAAK,QAAN,IAAkB,KAAK,WAA9C;AACD,KAhBO;;AAiBR,IAAA,WAAW,GAAA;;;AACT,UAAI,KAAK,QAAT,EAAmB,OAAO,KAAP;AAEnB,UAAI,KAAK,QAAT,EAAmB,OAAO,KAAP;AAEnB,aAAO,OAAO,CACZ,KAAK,MAAL,IACA,KAAK,MAAL,CAAY,OADZ,IAEA,KAAK,MAAL,CAAY,UAAZ,CAFA,IAGA,KAAK,MAAL,CAAY,QAHZ,KAIA,CAAA,EAAA,GAAA,KAAK,MAAL,MAAW,IAAX,IAAW,EAAA,KAAA,KAAA,CAAX,GAAW,KAAA,CAAX,GAAW,EAAA,CAAE,OAJb,CADY,CAAd;AAOD,KA7BO;;AA8BR,IAAA,MAAM,GAAA;AACJ,aAAO,KAAK,EAAL,IAAW,KAAK,IAAhB,IAAwB,KAAK,IAApC;AACD,KAhCO;;AAiCR,IAAA,MAAM,EAAE,OAAO,EAAP;AAjCA,GApCmB;AAwE7B,EAAA,KAAK,EAAE;AACL,IAAA,MAAM,EAAE;AADH,GAxEsB;;AA4E7B,EAAA,OAAO,GAAA;AACL,SAAK,aAAL;AACD,GA9E4B;;AAgF7B,EAAA,OAAO,EAAE;AACP,IAAA,iBAAiB,GAAA;AACf,UAAI,KAAK,GAAG,KAAK,KAAjB;AACA,UAAI,GAAJ;AAEA,YAAM,UAAU,GAAG,CAAC,CAClB,MADkB,EAElB,KAAK,cAFa,CAAD,CAAnB;AAKA,YAAM,IAAI,GAAc;AACtB,QAAA,QAAQ,EAAE,cAAc,KAAK,MAAnB,GAA4B,KAAK,MAAL,CAAY,QAAxC,GAAmD,SADvC;AAEtB,QAAA,KAAK,EAAE,KAAK,OAFU;AAGtB,QAAA,KAAK,EAAE,KAAK,MAHU;AAItB,WAAG,KAAK,UAJc;AAKtB,YAAI,WAAW,IAAX,GAAkB;AAAE,UAAA,OAAO,EAAG,KAAa;AAAzB,SAAlB,GAAqD,SAAzD,CALsB;AAMtB,QAAA,GAAG,EAAE;AANiB,OAAxB;;AASA,UAAI,OAAO,KAAK,KAAZ,KAAsB,WAA1B,EAAuC;AACrC,QAAA,KAAK,GAAG,KAAK,EAAL,KAAY,GAAZ,IACL,KAAK,EAAL,KAAY,MAAM,CAAC,KAAK,EAAN,CAAlB,IAA+B,KAAK,EAAL,CAAQ,IAAR,KAAiB,GADnD;AAED;;AAED,UAAI,KAAK,EAAT,EAAa;AACX;AACA;AACA,YAAI,WAAW,GAAG,KAAK,WAAvB;AACA,YAAI,gBAAgB,GAAG,KAAK,gBAAL,IAAyB,WAAhD;;AAEA,YAAI,KAAK,UAAT,EAAqB;AACnB,UAAA,WAAW,GAAG,GAAG,WAAW,IAAI,KAAK,UAAU,EAAjC,CAAoC,IAApC,EAAd;AACA,UAAA,gBAAgB,GAAG,GAAG,gBAAgB,IAAI,KAAK,UAAU,EAAtC,CAAyC,IAAzC,EAAnB;AACD;;AAED,QAAA,GAAG,GAAG,gBAAgB,CAAC,KAAK,IAAL,GAAY,WAAZ,GAA0B,aAA3B,CAAtB;AACA,QAAA,MAAM,CAAC,MAAP,CAAc,IAAd,EAAoB;AAClB,UAAA,EAAE,EAAE,KAAK,EADS;AAElB,UAAA,KAFkB;AAGlB,UAAA,SAAS,EAAE,KAAK,SAHE;AAIlB,UAAA,WAJkB;AAKlB,UAAA,gBALkB;AAMlB,UAAA,MAAM,EAAE,KAAK,MANK;AAOlB,UAAA,OAAO,EAAE,KAAK;AAPI,SAApB;AASD,OArBD,MAqBO;AACL,QAAA,GAAG,GAAI,KAAK,IAAL,IAAa,GAAd,IAAsB,KAAK,GAA3B,IAAkC,KAAxC;AAEA,YAAI,GAAG,KAAK,GAAR,IAAe,KAAK,IAAxB,EAA8B,IAAI,CAAC,IAAL,GAAY,KAAK,IAAjB;AAC/B;;AAED,UAAI,KAAK,MAAT,EAAiB,IAAI,CAAC,MAAL,GAAc,KAAK,MAAnB;AAEjB,aAAO;AAAE,QAAA,GAAF;AAAO,QAAA,IAAP;AAAa,QAAA;AAAb,OAAP;AACD,KAtDM;;AAuDP,IAAA,aAAa,GAAA;AACX,UAAI,CAAC,KAAK,EAAN,IAAY,CAAC,KAAK,KAAL,CAAW,IAAxB,IAAgC,CAAC,KAAK,MAA1C,EAAkD;AAClD,YAAM,WAAW,GAAG,GAAG,KAAK,WAAL,IAAoB,EAAE,IAAI,KAAK,UAAL,IAAmB,EAAE,EAAlD,CAAqD,IAArD,EAApB;AACA,YAAM,gBAAgB,GAAG,GAAG,KAAK,gBAAL,IAAyB,EAAE,IAAI,KAAK,UAAL,IAAmB,EAAE,EAAvD,CAA0D,IAA1D,MAAoE,WAA7F;AAEA,YAAM,IAAI,GAAG,wBAAwB,KAAK,KAAL,GAAa,gBAAb,GAAgC,WAAxD,CAAb;AAEA,WAAK,SAAL,CAAe,MAAK;AAClB;AACA,YAAI,CAAC,oBAAoB,CAAC,KAAK,KAAL,CAAW,IAAZ,EAAkB,IAAlB,CAArB,KAAiD,KAAK,QAA1D,EAAoE;AAClE,eAAK,MAAL;AACD;AACF,OALD;AAMD,KApEM;;AAqEP,IAAA,MAAM,GAAA;AACJ,WAAK,QAAL,GAAgB,CAAC,KAAK,QAAtB;AACD;;AAvEM;AAhFoB,CAAD,CAA9B","sourcesContent":["import type { VNodeData } from '../../types/vue-internal'\nimport type { PropType } from 'vue'\nimport { defineComponent, resolveComponent } from 'vue'\n\n// Directives\nimport Ripple, { RippleOptions } from '../../directives/ripple'\n\n// Utilities\nimport { getObjectValueByPath } from '../../util/helpers'\n\nexport default defineComponent({\n name: 'routable',\n\n directives: {\n Ripple\n },\n\n props: {\n activeClass: String,\n append: Boolean,\n disabled: Boolean,\n exact: {\n type: Boolean as PropType<boolean | undefined>,\n default: undefined\n },\n exactPath: Boolean,\n exactActiveClass: String,\n link: Boolean,\n href: [String, Object],\n to: [String, Object],\n nuxt: Boolean,\n replace: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: null\n },\n tag: String,\n target: String,\n notALink: Boolean\n },\n\n data: () => ({\n isActive: false,\n proxyClass: ''\n }),\n\n computed: {\n classes (): object {\n const classes: Record<string, boolean> = {}\n\n if (this.to) return classes\n\n const activeClass = this.activeClass || ('$activeClass' in this ? this.$activeClass : undefined)\n // const activeClass = this.activeClass || this.$activeClass\n\n if (activeClass) classes[activeClass] = this.isActive\n if (this.proxyClass) classes[this.proxyClass] = this.isActive\n\n return classes\n },\n computedRipple (): RippleOptions | boolean {\n return this.ripple ?? (!this.disabled && this.isClickable)\n },\n isClickable (): boolean {\n if (this.notALink) return false\n\n if (this.disabled) return false\n\n return Boolean(\n this.isLink ||\n this.$attrs.onClick ||\n this.$attrs['on!click'] ||\n this.$attrs.tabindex ||\n this.$props?.onClick\n )\n },\n isLink (): boolean {\n return this.to || this.href || this.link\n },\n styles: () => ({})\n },\n\n watch: {\n $route: 'onRouteChange'\n },\n\n mounted () {\n this.onRouteChange()\n },\n\n methods: {\n generateRouteLink () {\n let exact = this.exact\n let tag\n\n const directives = [[\n Ripple,\n this.computedRipple\n ]]\n\n const data: VNodeData = {\n tabindex: 'tabindex' in this.$attrs ? this.$attrs.tabindex : undefined,\n class: this.classes,\n style: this.styles,\n ...this.$listeners,\n ...('click' in this ? { onClick: (this as any).click } : undefined), // #14447\n ref: 'link'\n }\n\n if (typeof this.exact === 'undefined') {\n exact = this.to === '/' ||\n (this.to === Object(this.to) && this.to.path === '/')\n }\n\n if (this.to) {\n // Add a special activeClass hook\n // for component level styles\n let activeClass = this.activeClass\n let exactActiveClass = this.exactActiveClass || activeClass\n\n if (this.proxyClass) {\n activeClass = `${activeClass} ${this.proxyClass}`.trim()\n exactActiveClass = `${exactActiveClass} ${this.proxyClass}`.trim()\n }\n\n tag = resolveComponent(this.nuxt ? 'nuxt-link' : 'router-link')\n Object.assign(data, {\n to: this.to,\n exact,\n exactPath: this.exactPath,\n activeClass,\n exactActiveClass,\n append: this.append,\n replace: this.replace\n })\n } else {\n tag = (this.href && 'a') || this.tag || 'div'\n\n if (tag === 'a' && this.href) data.href = this.href\n }\n\n if (this.target) data.target = this.target\n\n return { tag, data, directives }\n },\n onRouteChange () {\n if (!this.to || !this.$refs.link || !this.$route) return\n const activeClass = `${this.activeClass || ''} ${this.proxyClass || ''}`.trim()\n const exactActiveClass = `${this.exactActiveClass || ''} ${this.proxyClass || ''}`.trim() || activeClass\n\n const path = '_vnode.data.class.' + (this.exact ? exactActiveClass : activeClass)\n\n this.$nextTick(() => {\n /* istanbul ignore else */\n if (!getObjectValueByPath(this.$refs.link, path) === this.isActive) {\n this.toggle()\n }\n })\n },\n toggle () {\n this.isActive = !this.isActive\n }\n }\n})\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../src/mixins/routable/index.ts"],"names":[],"mappings":"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","sourcesContent":["import type { VNodeData } from '../../types/vue-internal'\nimport type { PropType } from 'vue'\nimport { defineComponent, resolveComponent } from 'vue'\n\n// Directives\nimport Ripple, { RippleOptions } from '../../directives/ripple'\n\n// Utilities\n\nexport default defineComponent({\n name: 'routable',\n\n directives: {\n Ripple\n },\n\n props: {\n activeClass: String,\n append: Boolean,\n disabled: Boolean,\n exact: {\n type: Boolean as PropType<boolean | undefined>,\n default: undefined\n },\n exactPath: Boolean,\n exactActiveClass: String,\n link: Boolean,\n href: [String, Object],\n to: [String, Object],\n nuxt: Boolean,\n replace: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: null\n },\n tag: String,\n target: String,\n notALink: Boolean\n },\n\n data: () => ({\n isActive: false,\n proxyClass: ''\n }),\n\n computed: {\n classes (): object {\n const classes: Record<string, boolean> = {}\n\n if (this.to) return classes\n\n const activeClass = this.activeClass || ('$activeClass' in this ? this.$activeClass : undefined)\n // const activeClass = this.activeClass || this.$activeClass\n\n if (activeClass) classes[activeClass] = this.isActive\n if (this.proxyClass) classes[this.proxyClass] = this.isActive\n\n return classes\n },\n computedRipple (): RippleOptions | boolean {\n return this.ripple ?? (!this.disabled && this.isClickable)\n },\n isClickable (): boolean {\n if (this.notALink) return false\n\n if (this.disabled) return false\n\n return Boolean(\n this.isLink ||\n this.$attrs.onClick ||\n this.$attrs['on!click'] ||\n this.$attrs.tabindex ||\n this.$props?.onClick\n )\n },\n isLink (): boolean {\n return this.to || this.href || this.link\n },\n styles: () => ({})\n },\n\n watch: {\n $route: 'onRouteChange'\n },\n\n mounted () {\n this.onRouteChange()\n },\n\n methods: {\n generateRouteLink () {\n let exact = this.exact\n let tag\n\n const directives = [[\n Ripple,\n this.computedRipple\n ]]\n\n const data: VNodeData = {\n tabindex: 'tabindex' in this.$attrs ? this.$attrs.tabindex : undefined,\n class: this.classes,\n style: this.styles,\n ...this.$listeners,\n ...('click' in this ? { onClick: (this as any).click } : undefined), // #14447\n ref: 'link'\n }\n\n if (typeof this.exact === 'undefined') {\n exact = this.to === '/' ||\n (this.to === Object(this.to) && this.to.path === '/')\n }\n\n if (this.to) {\n // Add a special activeClass hook\n // for component level styles\n let activeClass = this.activeClass\n let exactActiveClass = this.exactActiveClass || activeClass\n\n if (this.proxyClass) {\n activeClass = [activeClass, this.proxyClass].filter(Boolean).join(' ')\n exactActiveClass = [exactActiveClass, this.proxyClass].filter(Boolean).join(' ')\n }\n\n tag = resolveComponent(this.nuxt ? 'nuxt-link' : 'router-link')\n Object.assign(data, {\n to: this.to,\n exact,\n exactPath: this.exactPath,\n activeClass,\n exactActiveClass,\n append: this.append,\n replace: this.replace\n })\n } else {\n tag = (this.href && 'a') || this.tag || 'div'\n\n if (tag === 'a' && this.href) data.href = this.href\n }\n\n if (this.target) data.target = this.target\n\n return { tag, data, directives }\n },\n onRouteChange () {\n if (!this.to || !this.$refs.link || !this.$route) return\n const activeClass = `${this.activeClass || ''} ${this.proxyClass || ''}`.trim()\n const exactActiveClass = `${this.exactActiveClass || ''} ${this.proxyClass || ''}`.trim() || activeClass\n\n const activeClasses = (this.exact ? exactActiveClass : activeClass).split(' ')\n\n this.$nextTick(() => {\n /* istanbul ignore else */\n const el = (this.$refs.link as any).$el || this.$refs.link\n const isLinkActive = activeClasses.every(c => el?.classList?.contains(c))\n\n if (isLinkActive !== this.isActive) {\n this.toggle()\n }\n })\n },\n toggle () {\n this.isActive = !this.isActive\n }\n }\n})\n"],"sourceRoot":"","file":"index.js"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dimailn/vuetify",
3
3
  "description": "Vue Material Component Framework",
4
- "version": "2.7.2-alpha52",
4
+ "version": "2.7.2-alpha54",
5
5
  "author": {
6
6
  "name": "John Leider",
7
7
  "email": "john@vuetifyjs.com"