@dimailn/vuetify 2.7.2-alpha27 → 2.7.2-alpha28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/dist/vuetify.js +78 -22
  2. package/dist/vuetify.js.map +1 -1
  3. package/dist/vuetify.min.css +1 -1
  4. package/dist/vuetify.min.js +2 -2
  5. package/es5/components/VAlert/VAlert.js +0 -1
  6. package/es5/components/VAlert/VAlert.js.map +1 -1
  7. package/es5/components/VChip/VChip.js +1 -0
  8. package/es5/components/VChip/VChip.js.map +1 -1
  9. package/es5/components/VList/VListItem.js +4 -2
  10. package/es5/components/VList/VListItem.js.map +1 -1
  11. package/es5/components/VMenu/VMenu.js +1 -1
  12. package/es5/components/VMenu/VMenu.js.map +1 -1
  13. package/es5/components/VOtpInput/VOtpInput.js +36 -0
  14. package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
  15. package/es5/components/VSelect/VSelectList.js +15 -2
  16. package/es5/components/VSelect/VSelectList.js.map +1 -1
  17. package/es5/components/VTooltip/VTooltip.js +3 -3
  18. package/es5/components/VTooltip/VTooltip.js.map +1 -1
  19. package/es5/components/VTreeview/VTreeview.js +0 -7
  20. package/es5/components/VTreeview/VTreeview.js.map +1 -1
  21. package/es5/framework.js +1 -1
  22. package/es5/mixins/routable/index.js +5 -2
  23. package/es5/mixins/routable/index.js.map +1 -1
  24. package/lib/components/VAlert/VAlert.js +0 -1
  25. package/lib/components/VAlert/VAlert.js.map +1 -1
  26. package/lib/components/VChip/VChip.js +1 -0
  27. package/lib/components/VChip/VChip.js.map +1 -1
  28. package/lib/components/VList/VListItem.js +4 -2
  29. package/lib/components/VList/VListItem.js.map +1 -1
  30. package/lib/components/VMenu/VMenu.js +1 -1
  31. package/lib/components/VMenu/VMenu.js.map +1 -1
  32. package/lib/components/VOtpInput/VOtpInput.js +48 -0
  33. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  34. package/lib/components/VSelect/VSelectList.js +11 -5
  35. package/lib/components/VSelect/VSelectList.js.map +1 -1
  36. package/lib/components/VTooltip/VTooltip.js +3 -3
  37. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  38. package/lib/components/VTreeview/VTreeview.js +0 -6
  39. package/lib/components/VTreeview/VTreeview.js.map +1 -1
  40. package/lib/framework.js +1 -1
  41. package/lib/mixins/routable/index.js +5 -2
  42. package/lib/mixins/routable/index.js.map +1 -1
  43. package/package.json +1 -1
  44. package/src/components/VAlert/VAlert.ts +0 -1
  45. package/src/components/VApp/__tests__/VApp.spec.ts +24 -18
  46. package/src/components/VApp/__tests__/__snapshots__/VApp.spec.ts.snap +4 -4
  47. package/src/components/VAppBar/__tests__/VAppBar.spec.ts +256 -74
  48. package/src/components/VAppBar/__tests__/VAppBarNavIcon.spec.ts +2 -6
  49. package/src/components/VAppBar/__tests__/__snapshots__/VAppBar.spec.ts.snap +13 -4
  50. package/src/components/VAppBar/__tests__/__snapshots__/VAppBarNavIcon.spec.ts.snap +3 -4
  51. package/src/components/VBanner/__tests__/VBanner.spec.ts +35 -36
  52. package/src/components/VBanner/__tests__/__snapshots__/VBanner.spec.ts.snap +1 -1
  53. package/src/components/VBtn/__tests__/VBtn.spec.ts +1 -1
  54. package/src/components/VCard/__tests__/VCard.spec.ts +46 -28
  55. package/src/components/VCard/__tests__/__snapshots__/VCard.spec.ts.snap +2 -2
  56. package/src/components/VCheckbox/__tests__/VCheckbox.spec.ts +157 -152
  57. package/src/components/VChip/VChip.ts +1 -0
  58. package/src/components/VChip/__tests__/VChip.spec.ts +50 -50
  59. package/src/components/VChip/__tests__/__snapshots__/VChip.spec.ts.snap +4 -4
  60. package/src/components/VChipGroup/__tests__/VChipGroup.spec.ts +14 -21
  61. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPicker.spec.ts.snap +35 -35
  62. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPickerEdit.spec.ts.snap +10 -10
  63. package/src/components/VData/__tests__/VData.spec.ts +69 -90
  64. package/src/components/VDataTable/__tests__/MobileRow.spec.ts +55 -66
  65. package/src/components/VDataTable/__tests__/Row.spec.ts +64 -73
  66. package/src/components/VDataTable/__tests__/RowGroup.spec.ts +7 -5
  67. package/src/components/VDataTable/__tests__/VDataTable.spec.ts +910 -988
  68. package/src/components/VDataTable/__tests__/VEditDialog.spec.ts +26 -22
  69. package/src/components/VDataTable/__tests__/VSimpleTable.spec.ts +60 -29
  70. package/src/components/VDataTable/__tests__/VVirtualTable.spec.ts +13 -15
  71. package/src/components/VDataTable/__tests__/__snapshots__/Row.spec.ts.snap +30 -0
  72. package/src/components/VDataTable/__tests__/__snapshots__/VEditDialog.spec.ts.snap +18 -10
  73. package/src/components/VDataTable/mixins/__tests__/__snapshots__/header.spec.ts.snap +1 -1
  74. package/src/components/VDivider/__tests__/VDivider.spec.ts +11 -15
  75. package/src/components/VDivider/__tests__/__snapshots__/VDivider.spec.ts.snap +2 -2
  76. package/src/components/VGrid/__tests__/VCol.spec.ts +17 -17
  77. package/src/components/VGrid/__tests__/VContainer.spec.ts +58 -3
  78. package/src/components/VGrid/__tests__/VFlex.spec.ts +3 -3
  79. package/src/components/VGrid/__tests__/VGrid.spec.ts +12 -10
  80. package/src/components/VGrid/__tests__/VLayout.spec.ts +3 -3
  81. package/src/components/VIcon/__tests__/VIcon.spec.ts +176 -70
  82. package/src/components/VImg/__tests__/__snapshots__/VImg.spec.ts.snap +55 -55
  83. package/src/components/VItemGroup/__tests__/VItem.spec.ts +22 -37
  84. package/src/components/VItemGroup/__tests__/VItemGroup.spec.ts +96 -124
  85. package/src/components/VItemGroup/__tests__/__snapshots__/VItem.spec.ts.snap +2 -0
  86. package/src/components/VLabel/__tests__/VLabel.spec.ts +240 -14
  87. package/src/components/VLazy/__tests__/VLazy.spec.ts +5 -4
  88. package/src/components/VLazy/__tests__/__snapshots__/VLazy.spec.ts.snap +2 -1
  89. package/src/components/VList/VListItem.ts +9 -3
  90. package/src/components/VList/__tests__/VList.spec.ts +13 -12
  91. package/src/components/VList/__tests__/VListGroup.spec.ts +59 -51
  92. package/src/components/VList/__tests__/VListItem.spec.ts +142 -63
  93. package/src/components/VList/__tests__/VListItemAvatar.spec.ts +5 -2
  94. package/src/components/VList/__tests__/VListItemGroup.spec.ts +5 -2
  95. package/src/components/VList/__tests__/__snapshots__/VList.spec.ts.snap +10 -10
  96. package/src/components/VList/__tests__/__snapshots__/VListGroup.spec.ts.snap +5 -6
  97. package/src/components/VList/__tests__/__snapshots__/VListItem.spec.ts.snap +1 -1
  98. package/src/components/VMain/__tests__/VMain.spec.ts +71 -17
  99. package/src/components/VMenu/VMenu.ts +1 -1
  100. package/src/components/VMessages/__tests__/VMessages.spec.ts +14 -13
  101. package/src/components/VOtpInput/VOtpInput.ts +37 -1
  102. package/src/components/VParallax/__tests__/__snapshots__/VParallax.spec.ts.snap +8 -8
  103. package/src/components/VPicker/__tests__/__snapshots__/VPicker.spec.ts.snap +2 -2
  104. package/src/components/VResponsive/__tests__/__snapshots__/VResponsive.spec.ts.snap +2 -2
  105. package/src/components/VSelect/VSelectList.ts +9 -9
  106. package/src/components/VSelect/__tests__/VSelect.spec.ts +166 -125
  107. package/src/components/VSelect/__tests__/VSelect2.spec.ts +127 -111
  108. package/src/components/VSelect/__tests__/VSelect3.spec.ts +109 -91
  109. package/src/components/VSelect/__tests__/VSelect4.spec.ts +79 -68
  110. package/src/components/VSelect/__tests__/VSelectList.spec.ts +23 -31
  111. package/src/components/VSelect/__tests__/__snapshots__/VSelect.spec.ts.snap +58 -62
  112. package/src/components/VSelect/__tests__/__snapshots__/VSelect2.spec.ts.snap +50 -62
  113. package/src/components/VSelect/__tests__/__snapshots__/VSelect3.spec.ts.snap +10 -14
  114. package/src/components/VSparkline/__tests__/VSparkline.spec.ts +33 -35
  115. package/src/components/VStepper/__tests__/VStepper.spec.ts +4 -1
  116. package/src/components/VStepper/__tests__/VStepperContent.spec.ts +104 -110
  117. package/src/components/VStepper/__tests__/VStepperStep.spec.ts +51 -44
  118. package/src/components/VSwitch/__tests__/VSwitch.spec.ts +30 -37
  119. package/src/components/VTabs/__tests__/VTabs.spec.ts +0 -7
  120. package/src/components/VTextField/__tests__/VTextField.spec.ts +342 -246
  121. package/src/components/VTextarea/__tests__/VTextarea.spec.ts +112 -35
  122. package/src/components/VTimePicker/__tests__/__snapshots__/VTimePicker.spec.ts.snap +0 -40
  123. package/src/components/VToolbar/__tests__/VToolbar.spec.ts +49 -25
  124. package/src/components/VTooltip/VTooltip.ts +3 -3
  125. package/src/components/VTooltip/__tests__/__snapshots__/VTooltip.spec.ts.snap +34 -18
  126. package/src/components/VTreeview/VTreeview.ts +0 -5
  127. package/src/mixins/routable/index.ts +6 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VTreeview/VTreeview.ts"],"names":[],"mappings":"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","sourcesContent":["import {h} from 'vue'\n// Styles\nimport './VTreeview.sass'\n\n// Types\nimport { VNode, VNodeChildrenArrayContents, PropType } from 'vue'\nimport { PropValidator } from 'vue/types/options'\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 } 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 PropValidator<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 PropValidator<any[]>,\n multipleActive: Boolean,\n open: {\n type: Array,\n default: () => ([]),\n } as PropValidator<NodeArray>,\n openAll: Boolean,\n returnObject: {\n type: Boolean,\n default: false, // TODO: Should be true in next major\n },\n search: String,\n value: {\n type: Array,\n default: () => ([]),\n } as PropValidator<NodeArray>,\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 value (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 getValue = (key: string | number) => this.returnObject ? getObjectValueByPath(key, this.itemKey) : key\n\n this.buildTree(this.items)\n\n for (const value of this.value.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 // Save the developer from themselves\n if (this.$slots.prepend || this.$slots.append) {\n consoleWarn('The prepend and append slots require a slot-scope attribute', this)\n }\n\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) ? this.nodes[key] : {\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('input', 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 {h} from 'vue'\n// Styles\nimport './VTreeview.sass'\n\n// Types\nimport { VNode, VNodeChildrenArrayContents, PropType } from 'vue'\nimport { PropValidator } from 'vue/types/options'\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 } 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 PropValidator<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 PropValidator<any[]>,\n multipleActive: Boolean,\n open: {\n type: Array,\n default: () => ([]),\n } as PropValidator<NodeArray>,\n openAll: Boolean,\n returnObject: {\n type: Boolean,\n default: false, // TODO: Should be true in next major\n },\n search: String,\n value: {\n type: Array,\n default: () => ([]),\n } as PropValidator<NodeArray>,\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 value (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 getValue = (key: string | number) => this.returnObject ? getObjectValueByPath(key, this.itemKey) : key\n\n this.buildTree(this.items)\n\n for (const value of this.value.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) ? this.nodes[key] : {\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('input', 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"}
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-alpha27";
49
+ Vuetify.version = "2.7.2-alpha28";
50
50
  Vuetify.config = {
51
51
  silent: false
52
52
  };
@@ -39,7 +39,8 @@ export default defineComponent({
39
39
  classes() {
40
40
  const classes = {};
41
41
  if (this.to) return classes;
42
- const activeClass = this.activeClass || this.$activeClass;
42
+ const activeClass = this.activeClass || ('$activeClass' in this ? this.$activeClass : undefined); // const activeClass = this.activeClass || this.$activeClass
43
+
43
44
  if (activeClass) classes[activeClass] = this.isActive;
44
45
  if (this.proxyClass) classes[this.proxyClass] = this.isActive;
45
46
  return classes;
@@ -52,9 +53,11 @@ export default defineComponent({
52
53
  },
53
54
 
54
55
  isClickable() {
56
+ var _a;
57
+
55
58
  if (this.notALink) return false;
56
59
  if (this.disabled) return false;
57
- return Boolean(this.isLink || this.$attrs.onClick || this.$attrs['on!click'] || this.$attrs.tabindex);
60
+ return Boolean(this.isLink || this.$attrs.onClick || this.$attrs["on!click"] || this.$attrs.tabindex || ((_a = this.$props) === null || _a === void 0 ? void 0 : _a.onClick));
58
61
  },
59
62
 
60
63
  isLink() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mixins/routable/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { VNodeData, PropType, 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 || 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 )\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 { VNodeData, PropType, 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"}
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-alpha27",
4
+ "version": "2.7.2-alpha28",
5
5
  "author": {
6
6
  "name": "John Leider",
7
7
  "email": "john@vuetifyjs.com"
@@ -57,7 +57,6 @@ export default mixins(
57
57
  default: '$cancel',
58
58
  },
59
59
  icon: {
60
- default: '',
61
60
  type: [Boolean, String],
62
61
  validator (val: boolean | string) {
63
62
  return typeof val === 'string' || val === false
@@ -4,12 +4,12 @@ import VApp from '../VApp'
4
4
  // Utilities
5
5
  import {
6
6
  mount,
7
- Wrapper,
7
+ VueWrapper,
8
8
  } from '@vue/test-utils'
9
9
 
10
10
  describe('VApp.ts', () => {
11
11
  type Instance = InstanceType<typeof VApp>
12
- let mountFunction: (options?: object) => Wrapper<Instance>
12
+ let mountFunction: (options?: object) => VueWrapper<Instance>
13
13
 
14
14
  beforeEach(() => {
15
15
  mountFunction = (options = {}) => {
@@ -21,11 +21,13 @@ describe('VApp.ts', () => {
21
21
 
22
22
  it('should match a snapshot', () => {
23
23
  const wrapper = mountFunction({
24
- mocks: {
25
- $vuetify: {
26
- rtl: false,
27
- theme: {
28
- dark: false,
24
+ global: {
25
+ mocks: {
26
+ $vuetify: {
27
+ rtl: false,
28
+ theme: {
29
+ dark: false,
30
+ },
29
31
  },
30
32
  },
31
33
  },
@@ -36,11 +38,13 @@ describe('VApp.ts', () => {
36
38
 
37
39
  it('should have data-app attribute', () => {
38
40
  const wrapper = mountFunction({
39
- mocks: {
40
- $vuetify: {
41
- rtl: false,
42
- theme: {
43
- dark: false,
41
+ global: {
42
+ mocks: {
43
+ $vuetify: {
44
+ rtl: false,
45
+ theme: {
46
+ dark: false,
47
+ },
44
48
  },
45
49
  },
46
50
  },
@@ -52,14 +56,16 @@ describe('VApp.ts', () => {
52
56
 
53
57
  it('should allow a custom id', () => {
54
58
  const wrapper = mountFunction({
55
- propsData: {
59
+ props: {
56
60
  id: 'inspire',
57
61
  },
58
- mocks: {
59
- $vuetify: {
60
- rtl: false,
61
- theme: {
62
- dark: false,
62
+ global: {
63
+ mocks: {
64
+ $vuetify: {
65
+ rtl: false,
66
+ theme: {
67
+ dark: false,
68
+ },
63
69
  },
64
70
  },
65
71
  },
@@ -1,8 +1,8 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
3
  exports[`VApp.ts should allow a custom id 1`] = `
4
- <div data-app="true"
5
- class="v-application v-application--is-ltr theme--light"
4
+ <div class="v-application v-application--is-ltr theme--light"
5
+ data-app="true"
6
6
  id="inspire"
7
7
  >
8
8
  <div class="v-application--wrap">
@@ -11,8 +11,8 @@ exports[`VApp.ts should allow a custom id 1`] = `
11
11
  `;
12
12
 
13
13
  exports[`VApp.ts should match a snapshot 1`] = `
14
- <div data-app="true"
15
- class="v-application v-application--is-ltr theme--light"
14
+ <div class="v-application v-application--is-ltr theme--light"
15
+ data-app="true"
16
16
  id="app"
17
17
  >
18
18
  <div class="v-application--wrap">