@dimailn/vuetify 2.7.2-alpha36 → 2.7.2-alpha37

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 (55) hide show
  1. package/dist/vuetify.js +17 -12
  2. package/dist/vuetify.js.map +1 -1
  3. package/dist/vuetify.min.js +1 -1
  4. package/es5/components/VDialog/VDialog.js +1 -1
  5. package/es5/components/VDialog/VDialog.js.map +1 -1
  6. package/es5/components/VItemGroup/VItemGroup.js +1 -1
  7. package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
  8. package/es5/components/VMenu/VMenu.js +1 -1
  9. package/es5/components/VMenu/VMenu.js.map +1 -1
  10. package/es5/components/VNavigationDrawer/VNavigationDrawer.js +1 -1
  11. package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  12. package/es5/components/VSelect/VSelect.js +1 -1
  13. package/es5/components/VSelect/VSelect.js.map +1 -1
  14. package/es5/components/VSlideGroup/VSlideGroup.js +2 -2
  15. package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
  16. package/es5/components/VTabs/VTabs.js +1 -1
  17. package/es5/components/VTabs/VTabs.js.map +1 -1
  18. package/es5/mixins/detachable/index.js +1 -1
  19. package/es5/mixins/detachable/index.js.map +1 -1
  20. package/es5/mixins/groupable/index.js +5 -1
  21. package/es5/mixins/groupable/index.js.map +1 -1
  22. package/es5/mixins/proxyable/index.js +3 -2
  23. package/es5/mixins/proxyable/index.js.map +1 -1
  24. package/lib/components/VDialog/VDialog.js +1 -1
  25. package/lib/components/VDialog/VDialog.js.map +1 -1
  26. package/lib/components/VItemGroup/VItemGroup.js +1 -1
  27. package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
  28. package/lib/components/VMenu/VMenu.js +1 -1
  29. package/lib/components/VMenu/VMenu.js.map +1 -1
  30. package/lib/components/VNavigationDrawer/VNavigationDrawer.js +1 -1
  31. package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  32. package/lib/components/VSelect/VSelect.js +1 -1
  33. package/lib/components/VSelect/VSelect.js.map +1 -1
  34. package/lib/components/VSlideGroup/VSlideGroup.js +2 -2
  35. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  36. package/lib/components/VTabs/VTabs.js +1 -1
  37. package/lib/components/VTabs/VTabs.js.map +1 -1
  38. package/lib/mixins/detachable/index.js +1 -1
  39. package/lib/mixins/detachable/index.js.map +1 -1
  40. package/lib/mixins/groupable/index.js +3 -1
  41. package/lib/mixins/groupable/index.js.map +1 -1
  42. package/lib/mixins/proxyable/index.js +3 -2
  43. package/lib/mixins/proxyable/index.js.map +1 -1
  44. package/package.json +1 -1
  45. package/src/components/VBtn/__tests__/VBtn.spec.ts +2 -1
  46. package/src/components/VDialog/VDialog.ts +1 -1
  47. package/src/components/VItemGroup/VItemGroup.ts +1 -1
  48. package/src/components/VMenu/VMenu.ts +1 -1
  49. package/src/components/VNavigationDrawer/VNavigationDrawer.ts +1 -1
  50. package/src/components/VSelect/VSelect.ts +1 -1
  51. package/src/components/VSlideGroup/VSlideGroup.ts +2 -2
  52. package/src/components/VTabs/VTabs.ts +1 -1
  53. package/src/mixins/detachable/index.ts +1 -1
  54. package/src/mixins/groupable/index.ts +3 -1
  55. package/src/mixins/proxyable/index.ts +2 -2
@@ -189,7 +189,7 @@ var _default = baseMixins.extend({
189
189
  // if it was dragged onto the overlay (#6969),
190
190
  // or if this isn't the topmost dialog (#9907)
191
191
 
192
- return !(this._isDestroyed || !this.isActive || this.$refs.content.contains(target) || this.overlay && target && !this.overlay.$el.contains(target)) && this.activeZIndex >= this.getMaxZIndex();
192
+ return !(this.$.isUnmounted || !this.isActive || this.$refs.content.contains(target) || this.overlay && target && !this.overlay.$el.contains(target)) && this.activeZIndex >= this.getMaxZIndex();
193
193
  },
194
194
  hideScroll: function hideScroll() {
195
195
  if (this.fullscreen) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VDialog/VDialog.ts"],"names":[],"mappings":"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","sourcesContent":["import { Transition, h, vShow, withDirectives } from 'vue'\n// Styles\nimport './VDialog.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Overlayable from '../../mixins/overlayable'\nimport Returnable from '../../mixins/returnable'\nimport Stackable from '../../mixins/stackable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { removed, breaking } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Detachable,\n Overlayable,\n Returnable,\n Stackable,\n Activatable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-dialog',\n\n props: {\n dark: Boolean,\n disabled: Boolean,\n fullscreen: Boolean,\n light: Boolean,\n maxWidth: [String, Number],\n noClickAnimation: Boolean,\n origin: {\n type: String,\n default: 'center center',\n },\n persistent: Boolean,\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n transition: {\n type: [String, Boolean],\n default: 'dialog-transition',\n },\n width: [String, Number],\n },\n\n emits: ['click:outside', 'keydown', 'update:return-value', 'update:modelValue'],\n\n data () {\n return {\n activatedBy: null as EventTarget | null,\n animate: false,\n animateTimeout: -1,\n stackMinZIndex: 200,\n previousActiveElement: null as HTMLElement | null,\n }\n },\n\n computed: {\n classes (): object {\n return {\n [(`v-dialog ${this.contentClass}`).trim()]: true,\n 'v-dialog--active': this.isActive,\n 'v-dialog--persistent': this.persistent,\n 'v-dialog--fullscreen': this.fullscreen,\n 'v-dialog--scrollable': this.scrollable,\n 'v-dialog--animated': this.animate,\n }\n },\n contentClasses (): object {\n return {\n 'v-dialog__content': true,\n 'v-dialog__content--active': this.isActive,\n }\n },\n hasActivator (): boolean {\n return Boolean(\n !!this.$slots.activator ||\n !!this.$slots.activator\n )\n },\n },\n\n watch: {\n isActive (val) {\n if (val) {\n this.show()\n this.hideScroll()\n } else {\n this.removeOverlay()\n this.unbind()\n this.previousActiveElement?.focus()\n }\n },\n fullscreen (val) {\n if (!this.isActive) return\n\n if (val) {\n this.hideScroll()\n this.removeOverlay(false)\n } else {\n this.showScroll()\n this.genOverlay()\n }\n },\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', '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 /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.isBooted = this.isActive\n this.isActive && this.show()\n })\n },\n\n beforeUnmount () {\n if (typeof window !== 'undefined') this.unbind()\n },\n\n methods: {\n animateClick () {\n this.animate = false\n // Needed for when clicking very fast\n // outside of the dialog\n this.$nextTick(() => {\n this.animate = true\n window.clearTimeout(this.animateTimeout)\n this.animateTimeout = window.setTimeout(() => (this.animate = false), 150)\n })\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n // Ignore the click if the dialog is closed or destroyed,\n // if it was on an element inside the content,\n // if it was dragged onto the overlay (#6969),\n // or if this isn't the topmost dialog (#9907)\n return !(\n this._isDestroyed ||\n !this.isActive ||\n this.$refs.content.contains(target) ||\n (this.overlay && target && !this.overlay.$el.contains(target))\n ) && this.activeZIndex >= this.getMaxZIndex()\n },\n hideScroll () {\n if (this.fullscreen) {\n document.documentElement.classList.add('overflow-y-hidden')\n } else {\n Overlayable.methods.hideScroll.call(this)\n }\n },\n show () {\n !this.fullscreen && !this.hideOverlay && this.genOverlay()\n // Double nextTick to wait for lazy content to be generated\n this.$nextTick(() => {\n this.$nextTick(() => {\n if (!this.$refs.dialog?.contains(document.activeElement)) {\n this.previousActiveElement = document.activeElement as HTMLElement\n this.$refs.dialog?.focus()\n }\n this.bind()\n })\n })\n },\n bind () {\n window.addEventListener('focusin', this.onFocusin)\n },\n unbind () {\n window.removeEventListener('focusin', this.onFocusin)\n },\n onClickOutside (e: Event) {\n this.$emit('click:outside', e)\n\n if (this.persistent) {\n this.noClickAnimation || this.animateClick()\n } else {\n this.isActive = false\n }\n },\n onKeydown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc && !this.getOpenDependents().length) {\n if (!this.persistent) {\n this.isActive = false\n const activator = this.getActivator()\n this.$nextTick(() => activator && (activator as HTMLElement).focus())\n } else if (!this.noClickAnimation) {\n this.animateClick()\n }\n }\n this.$emit('keydown', e)\n },\n // On focus change, wrap focus to stay inside the dialog\n // https://github.com/vuetifyjs/vuetify/issues/6892\n onFocusin (e: Event) {\n if (!e || !this.retainFocus) return\n\n const target = e.target as HTMLElement\n\n if (\n !!target &&\n this.$refs.dialog &&\n // It isn't the document or the dialog body\n ![document, this.$refs.dialog].includes(target) &&\n // It isn't inside the dialog body\n !this.$refs.dialog.contains(target) &&\n // We're the topmost dialog\n this.activeZIndex >= this.getMaxZIndex() &&\n // It isn't inside a dependent element (like a menu)\n !this.getOpenDependentElements().some(el => el.contains(target))\n // So we must have focused something outside the dialog and its children\n ) {\n // Find and focus the first available element inside the dialog\n const focusable = this.$refs.dialog.querySelectorAll('button, [href], input:not([type=\"hidden\"]), select, textarea, [tabindex]:not([tabindex=\"-1\"])')\n const el = [...focusable].find(el => !el.hasAttribute('disabled') && !el.matches('[tabindex=\"-1\"]')) as HTMLElement | undefined\n el && el.focus()\n }\n },\n genContent () {\n return this.showLazyContent(() => [\n h(VThemeProvider, {\n root: true,\n light: this.light,\n dark: this.dark,\n }, () => [\n h('div', {\n class: this.contentClasses,\n role: 'dialog',\n 'aria-modal': this.hideOverlay ? undefined : 'true',\n ...this.getScopeIdAttrs(),\n onKeydown: this.onKeydown,\n style: { zIndex: this.activeZIndex },\n ref: 'content',\n }, [this.genTransition()]),\n ]),\n ])\n },\n genTransition () {\n const content = this.genInnerContent()\n\n if (!this.transition) return content\n\n return h(Transition, {\n name: this.transition,\n origin: this.origin,\n appear: true,\n }, () => [content])\n },\n genInnerContent () {\n const directives = [\n [\n ClickOutside,\n {\n handler: this.onClickOutside,\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n ],\n [\n vShow,\n this.isActive,\n ],\n ]\n const data: VNodeData = {\n class: this.classes,\n tabindex: this.isActive ? 0 : undefined,\n ref: 'dialog',\n style: {\n transformOrigin: this.origin,\n },\n }\n\n if (!this.fullscreen) {\n data.style = {\n ...data.style as object,\n maxWidth: convertToUnit(this.maxWidth),\n width: convertToUnit(this.width),\n }\n }\n\n return withDirectives(\n h('div', data, this.getContentSlot()),\n directives\n )\n },\n },\n\n render (): VNode {\n return h('div', {\n class: ['v-dialog__container', {\n 'v-dialog__container--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n }],\n }, [\n this.genActivator(),\n this.genContent(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VDialog.js"}
1
+ {"version":3,"sources":["../../../src/components/VDialog/VDialog.ts"],"names":[],"mappings":"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","sourcesContent":["import { Transition, h, vShow, withDirectives } from 'vue'\n// Styles\nimport './VDialog.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Overlayable from '../../mixins/overlayable'\nimport Returnable from '../../mixins/returnable'\nimport Stackable from '../../mixins/stackable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { removed, breaking } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Detachable,\n Overlayable,\n Returnable,\n Stackable,\n Activatable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-dialog',\n\n props: {\n dark: Boolean,\n disabled: Boolean,\n fullscreen: Boolean,\n light: Boolean,\n maxWidth: [String, Number],\n noClickAnimation: Boolean,\n origin: {\n type: String,\n default: 'center center',\n },\n persistent: Boolean,\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n transition: {\n type: [String, Boolean],\n default: 'dialog-transition',\n },\n width: [String, Number],\n },\n\n emits: ['click:outside', 'keydown', 'update:return-value', 'update:modelValue'],\n\n data () {\n return {\n activatedBy: null as EventTarget | null,\n animate: false,\n animateTimeout: -1,\n stackMinZIndex: 200,\n previousActiveElement: null as HTMLElement | null,\n }\n },\n\n computed: {\n classes (): object {\n return {\n [(`v-dialog ${this.contentClass}`).trim()]: true,\n 'v-dialog--active': this.isActive,\n 'v-dialog--persistent': this.persistent,\n 'v-dialog--fullscreen': this.fullscreen,\n 'v-dialog--scrollable': this.scrollable,\n 'v-dialog--animated': this.animate,\n }\n },\n contentClasses (): object {\n return {\n 'v-dialog__content': true,\n 'v-dialog__content--active': this.isActive,\n }\n },\n hasActivator (): boolean {\n return Boolean(\n !!this.$slots.activator ||\n !!this.$slots.activator\n )\n },\n },\n\n watch: {\n isActive (val) {\n if (val) {\n this.show()\n this.hideScroll()\n } else {\n this.removeOverlay()\n this.unbind()\n this.previousActiveElement?.focus()\n }\n },\n fullscreen (val) {\n if (!this.isActive) return\n\n if (val) {\n this.hideScroll()\n this.removeOverlay(false)\n } else {\n this.showScroll()\n this.genOverlay()\n }\n },\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', '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 /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.isBooted = this.isActive\n this.isActive && this.show()\n })\n },\n\n beforeUnmount () {\n if (typeof window !== 'undefined') this.unbind()\n },\n\n methods: {\n animateClick () {\n this.animate = false\n // Needed for when clicking very fast\n // outside of the dialog\n this.$nextTick(() => {\n this.animate = true\n window.clearTimeout(this.animateTimeout)\n this.animateTimeout = window.setTimeout(() => (this.animate = false), 150)\n })\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n // Ignore the click if the dialog is closed or destroyed,\n // if it was on an element inside the content,\n // if it was dragged onto the overlay (#6969),\n // or if this isn't the topmost dialog (#9907)\n return !(\n this.$.isUnmounted ||\n !this.isActive ||\n this.$refs.content.contains(target) ||\n (this.overlay && target && !this.overlay.$el.contains(target))\n ) && this.activeZIndex >= this.getMaxZIndex()\n },\n hideScroll () {\n if (this.fullscreen) {\n document.documentElement.classList.add('overflow-y-hidden')\n } else {\n Overlayable.methods.hideScroll.call(this)\n }\n },\n show () {\n !this.fullscreen && !this.hideOverlay && this.genOverlay()\n // Double nextTick to wait for lazy content to be generated\n this.$nextTick(() => {\n this.$nextTick(() => {\n if (!this.$refs.dialog?.contains(document.activeElement)) {\n this.previousActiveElement = document.activeElement as HTMLElement\n this.$refs.dialog?.focus()\n }\n this.bind()\n })\n })\n },\n bind () {\n window.addEventListener('focusin', this.onFocusin)\n },\n unbind () {\n window.removeEventListener('focusin', this.onFocusin)\n },\n onClickOutside (e: Event) {\n this.$emit('click:outside', e)\n\n if (this.persistent) {\n this.noClickAnimation || this.animateClick()\n } else {\n this.isActive = false\n }\n },\n onKeydown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc && !this.getOpenDependents().length) {\n if (!this.persistent) {\n this.isActive = false\n const activator = this.getActivator()\n this.$nextTick(() => activator && (activator as HTMLElement).focus())\n } else if (!this.noClickAnimation) {\n this.animateClick()\n }\n }\n this.$emit('keydown', e)\n },\n // On focus change, wrap focus to stay inside the dialog\n // https://github.com/vuetifyjs/vuetify/issues/6892\n onFocusin (e: Event) {\n if (!e || !this.retainFocus) return\n\n const target = e.target as HTMLElement\n\n if (\n !!target &&\n this.$refs.dialog &&\n // It isn't the document or the dialog body\n ![document, this.$refs.dialog].includes(target) &&\n // It isn't inside the dialog body\n !this.$refs.dialog.contains(target) &&\n // We're the topmost dialog\n this.activeZIndex >= this.getMaxZIndex() &&\n // It isn't inside a dependent element (like a menu)\n !this.getOpenDependentElements().some(el => el.contains(target))\n // So we must have focused something outside the dialog and its children\n ) {\n // Find and focus the first available element inside the dialog\n const focusable = this.$refs.dialog.querySelectorAll('button, [href], input:not([type=\"hidden\"]), select, textarea, [tabindex]:not([tabindex=\"-1\"])')\n const el = [...focusable].find(el => !el.hasAttribute('disabled') && !el.matches('[tabindex=\"-1\"]')) as HTMLElement | undefined\n el && el.focus()\n }\n },\n genContent () {\n return this.showLazyContent(() => [\n h(VThemeProvider, {\n root: true,\n light: this.light,\n dark: this.dark,\n }, () => [\n h('div', {\n class: this.contentClasses,\n role: 'dialog',\n 'aria-modal': this.hideOverlay ? undefined : 'true',\n ...this.getScopeIdAttrs(),\n onKeydown: this.onKeydown,\n style: { zIndex: this.activeZIndex },\n ref: 'content',\n }, [this.genTransition()]),\n ]),\n ])\n },\n genTransition () {\n const content = this.genInnerContent()\n\n if (!this.transition) return content\n\n return h(Transition, {\n name: this.transition,\n origin: this.origin,\n appear: true,\n }, () => [content])\n },\n genInnerContent () {\n const directives = [\n [\n ClickOutside,\n {\n handler: this.onClickOutside,\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n ],\n [\n vShow,\n this.isActive,\n ],\n ]\n const data: VNodeData = {\n class: this.classes,\n tabindex: this.isActive ? 0 : undefined,\n ref: 'dialog',\n style: {\n transformOrigin: this.origin,\n },\n }\n\n if (!this.fullscreen) {\n data.style = {\n ...data.style as object,\n maxWidth: convertToUnit(this.maxWidth),\n width: convertToUnit(this.width),\n }\n }\n\n return withDirectives(\n h('div', data, this.getContentSlot()),\n directives\n )\n },\n },\n\n render (): VNode {\n return h('div', {\n class: ['v-dialog__container', {\n 'v-dialog__container--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n }],\n }, [\n this.genActivator(),\n this.genContent(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VDialog.js"}
@@ -147,7 +147,7 @@ var BaseItemGroup = (0, _mixins.default)(_comparable.default, _proxyable.default
147
147
  this.updateItem(item, index);
148
148
  },
149
149
  unregister: function unregister(item) {
150
- if (this._isDestroyed) return;
150
+ if (this.$.isUnmounted) return;
151
151
  var index = this.items.indexOf(item);
152
152
  var value = this.getValue(item, index);
153
153
  this.items.splice(index, 1);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VItemGroup/VItemGroup.ts"],"names":[],"mappings":"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","sourcesContent":["import {h} from 'vue'\n// Styles\nimport './VItemGroup.sass'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport Groupable from '../../mixins/groupable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue/types'\nimport { defineComponent } from 'vue'\n\nexport type GroupableInstance = InstanceType<typeof Groupable> & {\n id?: string\n to?: any\n value?: any\n }\n\nexport const BaseItemGroup = mixins(\n Comparable,\n Proxyable,\n Themeable\n).extend({\n name: 'base-item-group',\n\n emits: ['update:modelValue'],\n\n props: {\n activeClass: {\n type: String,\n default: 'v-item--active',\n },\n allowDeselect: {\n type: Boolean,\n default: true,\n },\n mandatory: Boolean,\n max: {\n type: [Number, String],\n default: null,\n },\n multiple: Boolean,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n data () {\n return {\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n internalLazyValue: this.modelValue !== undefined\n ? this.modelValue\n : this.multiple ? [] : undefined,\n items: [] as GroupableInstance[],\n }\n },\n\n computed: {\n classes (): Record<string, boolean> {\n return {\n 'v-item-group': true,\n ...this.themeClasses,\n }\n },\n selectedIndex (): number {\n return (this.selectedItem && this.items.indexOf(this.selectedItem)) || -1\n },\n selectedItem (): GroupableInstance | undefined {\n if (this.multiple) return undefined\n\n return this.selectedItems[0]\n },\n selectedItems (): GroupableInstance[] {\n return this.items.filter((item, index) => {\n return this.toggleMethod(this.getValue(item, index))\n })\n },\n selectedValues (): any[] {\n if (this.internalValue == null) return []\n\n return Array.isArray(this.internalValue)\n ? this.internalValue\n : [this.internalValue]\n },\n toggleMethod (): (v: any) => boolean {\n if (!this.multiple) {\n return (v: any) => this.valueComparator(this.internalValue, v)\n }\n\n const internalValue = this.internalValue\n if (Array.isArray(internalValue)) {\n return (v: any) => internalValue.some(intern => this.valueComparator(intern, v))\n }\n\n return () => false\n },\n },\n\n watch: {\n internalValue: 'updateItemsState',\n items: 'updateItemsState'\n },\n\n created () {\n if (this.multiple && !Array.isArray(this.internalValue)) {\n consoleWarn('Model must be bound to an array if the multiple property is true.', this)\n }\n },\n\n methods: {\n\n genData (): object {\n return {\n class: this.classes,\n }\n },\n getValue (item: GroupableInstance, i: number): unknown {\n return item.value === undefined\n ? i\n : item.value\n },\n onClick (item: GroupableInstance) {\n this.updateInternalValue(\n this.getValue(item, this.items.indexOf(item))\n )\n },\n register (item: GroupableInstance) {\n const index = this.items.push(item) - 1\n\n // TODO!!!\n item.$on('change', () => this.onClick(item))\n\n // If no value provided and mandatory,\n // assign first registered item\n if (this.mandatory && !this.selectedValues.length) {\n this.updateMandatory()\n }\n\n this.updateItem(item, index)\n },\n unregister (item: GroupableInstance) {\n if (this._isDestroyed) return\n\n const index = this.items.indexOf(item)\n const value = this.getValue(item, index)\n\n this.items.splice(index, 1)\n\n const valueIndex = this.selectedValues.indexOf(value)\n\n // Items is not selected, do nothing\n if (valueIndex < 0) return\n\n // If not mandatory, use regular update process\n if (!this.mandatory) {\n return this.updateInternalValue(value)\n }\n\n // Remove the value\n if (this.multiple && Array.isArray(this.internalValue)) {\n this.internalValue = this.internalValue.filter(v => v !== value)\n } else {\n this.internalValue = undefined\n }\n\n // If mandatory and we have no selection\n // add the last item as value\n /* istanbul ignore else */\n if (!this.selectedItems.length) {\n this.updateMandatory(true)\n }\n },\n updateItem (item: GroupableInstance, index: number) {\n const value = this.getValue(item, index)\n\n item.isActive = this.toggleMethod(value)\n },\n // https://github.com/vuetifyjs/vuetify/issues/5352\n updateItemsState () {\n this.$nextTick(() => {\n if (this.mandatory &&\n !this.selectedItems.length\n ) {\n return this.updateMandatory()\n }\n\n // TODO: Make this smarter so it\n // doesn't have to iterate every\n // child in an update\n this.items.forEach(this.updateItem)\n })\n },\n updateInternalValue (value: any) {\n this.multiple\n ? this.updateMultiple(value)\n : this.updateSingle(value)\n },\n updateMandatory (last?: boolean) {\n if (!this.items.length) return\n\n const items = this.items.slice()\n\n if (last) items.reverse()\n\n const item = items.find(item => !item.disabled)\n\n // If no tabs are available\n // aborts mandatory value\n if (!item) return\n\n const index = this.items.indexOf(item)\n\n this.updateInternalValue(\n this.getValue(item, index)\n )\n },\n updateMultiple (value: any) {\n const defaultValue = Array.isArray(this.internalValue)\n ? this.internalValue\n : []\n const internalValue = defaultValue.slice()\n const index = internalValue.findIndex(val => this.valueComparator(val, value))\n\n if (\n this.mandatory &&\n // Item already exists\n index > -1 &&\n // value would be reduced below min\n internalValue.length - 1 < 1\n ) return\n\n if (\n // Max is set\n this.max != null &&\n // Item doesn't exist\n index < 0 &&\n // value would be increased above max\n internalValue.length + 1 > this.max\n ) return\n\n index > -1\n ? internalValue.splice(index, 1)\n : internalValue.push(value)\n\n this.internalValue = internalValue\n },\n updateSingle (value: any) {\n const isSame = this.valueComparator(this.internalValue, value)\n\n if (this.mandatory && isSame) return\n if (!this.allowDeselect && isSame) return\n\n this.internalValue = isSame ? undefined : value\n },\n },\n\n render (): VNode {\n const data = this.genData()\n return h(this.tag, {\n class: data.class,\n ...data.attrs,\n }, getSlot(this))\n },\n})\n\nexport default defineComponent({\n name: 'v-item-group',\n extends: BaseItemGroup,\n\n provide (): object {\n return {\n itemGroup: this,\n }\n },\n})\n"],"sourceRoot":"","file":"VItemGroup.js"}
1
+ {"version":3,"sources":["../../../src/components/VItemGroup/VItemGroup.ts"],"names":[],"mappings":";;;;;;;AAAA;;AAEA;;AAGA;;AAEA;;AACA;;AAGA;;AACA;;AACA;;;;;;;;;;AAYO,IAAM,aAAa,GAAG,qBAC3B,mBAD2B,EAE3B,kBAF2B,EAG3B,kBAH2B,EAI3B,MAJ2B,CAIpB;AACP,EAAA,IAAI,EAAE,iBADC;AAGP,EAAA,KAAK,EAAE,CAAC,mBAAD,CAHA;AAKP,EAAA,KAAK,EAAE;AACL,IAAA,WAAW,EAAE;AACX,MAAA,IAAI,EAAE,MADK;AAEX,MAAA,OAAO,EAAE;AAFE,KADR;AAKL,IAAA,aAAa,EAAE;AACb,MAAA,IAAI,EAAE,OADO;AAEb,MAAA,OAAO,EAAE;AAFI,KALV;AASL,IAAA,SAAS,EAAE,OATN;AAUL,IAAA,GAAG,EAAE;AACH,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADH;AAEH,MAAA,OAAO,EAAE;AAFN,KAVA;AAcL,IAAA,QAAQ,EAAE,OAdL;AAeL,IAAA,GAAG,EAAE;AACH,MAAA,IAAI,EAAE,MADH;AAEH,MAAA,OAAO,EAAE;AAFN;AAfA,GALA;AA0BP,EAAA,IA1BO,kBA0BH;AACF,WAAO;AACL;AACA;AACA;AACA,MAAA,iBAAiB,EAAE,KAAK,UAAL,KAAoB,SAApB,GACf,KAAK,UADU,GAEf,KAAK,QAAL,GAAgB,EAAhB,GAAqB,SANpB;AAOL,MAAA,KAAK,EAAE;AAPF,KAAP;AASD,GApCM;AAsCP,EAAA,QAAQ,EAAE;AACR,IAAA,OADQ,qBACD;AACL;AACE,wBAAgB;AADlB,SAEK,KAAK,YAFV;AAID,KANO;AAOR,IAAA,aAPQ,2BAOK;AACX,aAAQ,KAAK,YAAL,IAAqB,KAAK,KAAL,CAAW,OAAX,CAAmB,KAAK,YAAxB,CAAtB,IAAgE,CAAC,CAAxE;AACD,KATO;AAUR,IAAA,YAVQ,0BAUI;AACV,UAAI,KAAK,QAAT,EAAmB,OAAO,SAAP;AAEnB,aAAO,KAAK,aAAL,CAAmB,CAAnB,CAAP;AACD,KAdO;AAeR,IAAA,aAfQ,2BAeK;AAAA;;AACX,aAAO,KAAK,KAAL,CAAW,MAAX,CAAkB,UAAC,IAAD,EAAO,KAAP,EAAgB;AACvC,eAAO,KAAI,CAAC,YAAL,CAAkB,KAAI,CAAC,QAAL,CAAc,IAAd,EAAoB,KAApB,CAAlB,CAAP;AACD,OAFM,CAAP;AAGD,KAnBO;AAoBR,IAAA,cApBQ,4BAoBM;AACZ,UAAI,KAAK,aAAL,IAAsB,IAA1B,EAAgC,OAAO,EAAP;AAEhC,aAAO,KAAK,CAAC,OAAN,CAAc,KAAK,aAAnB,IACH,KAAK,aADF,GAEH,CAAC,KAAK,aAAN,CAFJ;AAGD,KA1BO;AA2BR,IAAA,YA3BQ,0BA2BI;AAAA;;AACV,UAAI,CAAC,KAAK,QAAV,EAAoB;AAClB,eAAO,UAAC,CAAD;AAAA,iBAAY,MAAI,CAAC,eAAL,CAAqB,MAAI,CAAC,aAA1B,EAAyC,CAAzC,CAAZ;AAAA,SAAP;AACD;;AAED,UAAM,aAAa,GAAG,KAAK,aAA3B;;AACA,UAAI,KAAK,CAAC,OAAN,CAAc,aAAd,CAAJ,EAAkC;AAChC,eAAO,UAAC,CAAD;AAAA,iBAAY,aAAa,CAAC,IAAd,CAAmB,UAAA,MAAM;AAAA,mBAAI,MAAI,CAAC,eAAL,CAAqB,MAArB,EAA6B,CAA7B,CAAJ;AAAA,WAAzB,CAAZ;AAAA,SAAP;AACD;;AAED,aAAO;AAAA,eAAM,KAAN;AAAA,OAAP;AACD;AAtCO,GAtCH;AA+EP,EAAA,KAAK,EAAE;AACL,IAAA,aAAa,EAAE,kBADV;AAEL,IAAA,KAAK,EAAE;AAFF,GA/EA;AAoFP,EAAA,OApFO,qBAoFA;AACL,QAAI,KAAK,QAAL,IAAiB,CAAC,KAAK,CAAC,OAAN,CAAc,KAAK,aAAnB,CAAtB,EAAyD;AACvD,gCAAY,mEAAZ,EAAiF,IAAjF;AACD;AACF,GAxFM;AA0FP,EAAA,OAAO,EAAE;AAEP,IAAA,OAFO,qBAEA;AACL,aAAO;AACL,QAAA,KAAK,EAAE,KAAK;AADP,OAAP;AAGD,KANM;AAOP,IAAA,QAPO,oBAOG,IAPH,EAO4B,CAP5B,EAOqC;AAC1C,aAAO,IAAI,CAAC,KAAL,KAAe,SAAf,GACH,CADG,GAEH,IAAI,CAAC,KAFT;AAGD,KAXM;AAYP,IAAA,OAZO,mBAYE,IAZF,EAYyB;AAC9B,WAAK,mBAAL,CACE,KAAK,QAAL,CAAc,IAAd,EAAoB,KAAK,KAAL,CAAW,OAAX,CAAmB,IAAnB,CAApB,CADF;AAGD,KAhBM;AAiBP,IAAA,QAjBO,oBAiBG,IAjBH,EAiB0B;AAAA;;AAC/B,UAAM,KAAK,GAAG,KAAK,KAAL,CAAW,IAAX,CAAgB,IAAhB,IAAwB,CAAtC,CAD+B,CAG/B;;AACA,MAAA,IAAI,CAAC,GAAL,CAAS,QAAT,EAAmB;AAAA,eAAM,MAAI,CAAC,OAAL,CAAa,IAAb,CAAN;AAAA,OAAnB,EAJ+B,CAM/B;AACA;;AACA,UAAI,KAAK,SAAL,IAAkB,CAAC,KAAK,cAAL,CAAoB,MAA3C,EAAmD;AACjD,aAAK,eAAL;AACD;;AAED,WAAK,UAAL,CAAgB,IAAhB,EAAsB,KAAtB;AACD,KA9BM;AA+BP,IAAA,UA/BO,sBA+BK,IA/BL,EA+B4B;AACjC,UAAI,KAAK,CAAL,CAAO,WAAX,EAAwB;AAExB,UAAM,KAAK,GAAG,KAAK,KAAL,CAAW,OAAX,CAAmB,IAAnB,CAAd;AACA,UAAM,KAAK,GAAG,KAAK,QAAL,CAAc,IAAd,EAAoB,KAApB,CAAd;AAEA,WAAK,KAAL,CAAW,MAAX,CAAkB,KAAlB,EAAyB,CAAzB;AAEA,UAAM,UAAU,GAAG,KAAK,cAAL,CAAoB,OAApB,CAA4B,KAA5B,CAAnB,CARiC,CAUjC;;AACA,UAAI,UAAU,GAAG,CAAjB,EAAoB,OAXa,CAajC;;AACA,UAAI,CAAC,KAAK,SAAV,EAAqB;AACnB,eAAO,KAAK,mBAAL,CAAyB,KAAzB,CAAP;AACD,OAhBgC,CAkBjC;;;AACA,UAAI,KAAK,QAAL,IAAiB,KAAK,CAAC,OAAN,CAAc,KAAK,aAAnB,CAArB,EAAwD;AACtD,aAAK,aAAL,GAAqB,KAAK,aAAL,CAAmB,MAAnB,CAA0B,UAAA,CAAC;AAAA,iBAAI,CAAC,KAAK,KAAV;AAAA,SAA3B,CAArB;AACD,OAFD,MAEO;AACL,aAAK,aAAL,GAAqB,SAArB;AACD,OAvBgC,CAyBjC;AACA;;AACA;;;AACA,UAAI,CAAC,KAAK,aAAL,CAAmB,MAAxB,EAAgC;AAC9B,aAAK,eAAL,CAAqB,IAArB;AACD;AACF,KA9DM;AA+DP,IAAA,UA/DO,sBA+DK,IA/DL,EA+D8B,KA/D9B,EA+D2C;AAChD,UAAM,KAAK,GAAG,KAAK,QAAL,CAAc,IAAd,EAAoB,KAApB,CAAd;AAEA,MAAA,IAAI,CAAC,QAAL,GAAgB,KAAK,YAAL,CAAkB,KAAlB,CAAhB;AACD,KAnEM;AAoEP;AACA,IAAA,gBArEO,8BAqES;AAAA;;AACd,WAAK,SAAL,CAAe,YAAK;AAClB,YAAI,MAAI,CAAC,SAAL,IACF,CAAC,MAAI,CAAC,aAAL,CAAmB,MADtB,EAEE;AACA,iBAAO,MAAI,CAAC,eAAL,EAAP;AACD,SALiB,CAOlB;AACA;AACA;;;AACA,QAAA,MAAI,CAAC,KAAL,CAAW,OAAX,CAAmB,MAAI,CAAC,UAAxB;AACD,OAXD;AAYD,KAlFM;AAmFP,IAAA,mBAnFO,+BAmFc,KAnFd,EAmFwB;AAC7B,WAAK,QAAL,GACI,KAAK,cAAL,CAAoB,KAApB,CADJ,GAEI,KAAK,YAAL,CAAkB,KAAlB,CAFJ;AAGD,KAvFM;AAwFP,IAAA,eAxFO,2BAwFU,IAxFV,EAwFwB;AAC7B,UAAI,CAAC,KAAK,KAAL,CAAW,MAAhB,EAAwB;AAExB,UAAM,KAAK,GAAG,KAAK,KAAL,CAAW,KAAX,EAAd;AAEA,UAAI,IAAJ,EAAU,KAAK,CAAC,OAAN;AAEV,UAAM,IAAI,GAAG,KAAK,CAAC,IAAN,CAAW,UAAA,IAAI;AAAA,eAAI,CAAC,IAAI,CAAC,QAAV;AAAA,OAAf,CAAb,CAP6B,CAS7B;AACA;;AACA,UAAI,CAAC,IAAL,EAAW;AAEX,UAAM,KAAK,GAAG,KAAK,KAAL,CAAW,OAAX,CAAmB,IAAnB,CAAd;AAEA,WAAK,mBAAL,CACE,KAAK,QAAL,CAAc,IAAd,EAAoB,KAApB,CADF;AAGD,KA1GM;AA2GP,IAAA,cA3GO,0BA2GS,KA3GT,EA2GmB;AAAA;;AACxB,UAAM,YAAY,GAAG,KAAK,CAAC,OAAN,CAAc,KAAK,aAAnB,IACjB,KAAK,aADY,GAEjB,EAFJ;AAGA,UAAM,aAAa,GAAG,YAAY,CAAC,KAAb,EAAtB;AACA,UAAM,KAAK,GAAG,aAAa,CAAC,SAAd,CAAwB,UAAA,GAAG;AAAA,eAAI,MAAI,CAAC,eAAL,CAAqB,GAArB,EAA0B,KAA1B,CAAJ;AAAA,OAA3B,CAAd;AAEA,UACE,KAAK,SAAL,IACA;AACA,MAAA,KAAK,GAAG,CAAC,CAFT,IAGA;AACA,MAAA,aAAa,CAAC,MAAd,GAAuB,CAAvB,GAA2B,CAL7B,EAME;AAEF,WACE;AACA,WAAK,GAAL,IAAY,IAAZ,IACA;AACA,MAAA,KAAK,GAAG,CAFR,IAGA;AACA,MAAA,aAAa,CAAC,MAAd,GAAuB,CAAvB,GAA2B,KAAK,GANlC,EAOE;AAEF,MAAA,KAAK,GAAG,CAAC,CAAT,GACI,aAAa,CAAC,MAAd,CAAqB,KAArB,EAA4B,CAA5B,CADJ,GAEI,aAAa,CAAC,IAAd,CAAmB,KAAnB,CAFJ;AAIA,WAAK,aAAL,GAAqB,aAArB;AACD,KAxIM;AAyIP,IAAA,YAzIO,wBAyIO,KAzIP,EAyIiB;AACtB,UAAM,MAAM,GAAG,KAAK,eAAL,CAAqB,KAAK,aAA1B,EAAyC,KAAzC,CAAf;AAEA,UAAI,KAAK,SAAL,IAAkB,MAAtB,EAA8B;AAC9B,UAAI,CAAC,KAAK,aAAN,IAAuB,MAA3B,EAAmC;AAEnC,WAAK,aAAL,GAAqB,MAAM,GAAG,SAAH,GAAe,KAA1C;AACD;AAhJM,GA1FF;AA6OP,EAAA,MA7OO,oBA6OD;AACJ,QAAM,IAAI,GAAG,KAAK,OAAL,EAAb;AACA,WAAO,YAAE,KAAK,GAAP;AACL,MAAA,KAAK,EAAE,IAAI,CAAC;AADP,OAEF,IAAI,CAAC,KAFH,GAGJ,sBAAQ,IAAR,CAHI,CAAP;AAID;AAnPM,CAJoB,CAAtB;;;eA0PQ,0BAAgB;AAC7B,EAAA,IAAI,EAAE,cADuB;AAE7B,EAAA,OAAO,EAAE,aAFoB;AAI7B,EAAA,OAJ6B,qBAItB;AACL,WAAO;AACL,MAAA,SAAS,EAAE;AADN,KAAP;AAGD;AAR4B,CAAhB,C","sourcesContent":["import {h} from 'vue'\n// Styles\nimport './VItemGroup.sass'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport Groupable from '../../mixins/groupable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue/types'\nimport { defineComponent } from 'vue'\n\nexport type GroupableInstance = InstanceType<typeof Groupable> & {\n id?: string\n to?: any\n value?: any\n }\n\nexport const BaseItemGroup = mixins(\n Comparable,\n Proxyable,\n Themeable\n).extend({\n name: 'base-item-group',\n\n emits: ['update:modelValue'],\n\n props: {\n activeClass: {\n type: String,\n default: 'v-item--active',\n },\n allowDeselect: {\n type: Boolean,\n default: true,\n },\n mandatory: Boolean,\n max: {\n type: [Number, String],\n default: null,\n },\n multiple: Boolean,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n data () {\n return {\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n internalLazyValue: this.modelValue !== undefined\n ? this.modelValue\n : this.multiple ? [] : undefined,\n items: [] as GroupableInstance[],\n }\n },\n\n computed: {\n classes (): Record<string, boolean> {\n return {\n 'v-item-group': true,\n ...this.themeClasses,\n }\n },\n selectedIndex (): number {\n return (this.selectedItem && this.items.indexOf(this.selectedItem)) || -1\n },\n selectedItem (): GroupableInstance | undefined {\n if (this.multiple) return undefined\n\n return this.selectedItems[0]\n },\n selectedItems (): GroupableInstance[] {\n return this.items.filter((item, index) => {\n return this.toggleMethod(this.getValue(item, index))\n })\n },\n selectedValues (): any[] {\n if (this.internalValue == null) return []\n\n return Array.isArray(this.internalValue)\n ? this.internalValue\n : [this.internalValue]\n },\n toggleMethod (): (v: any) => boolean {\n if (!this.multiple) {\n return (v: any) => this.valueComparator(this.internalValue, v)\n }\n\n const internalValue = this.internalValue\n if (Array.isArray(internalValue)) {\n return (v: any) => internalValue.some(intern => this.valueComparator(intern, v))\n }\n\n return () => false\n },\n },\n\n watch: {\n internalValue: 'updateItemsState',\n items: 'updateItemsState'\n },\n\n created () {\n if (this.multiple && !Array.isArray(this.internalValue)) {\n consoleWarn('Model must be bound to an array if the multiple property is true.', this)\n }\n },\n\n methods: {\n\n genData (): object {\n return {\n class: this.classes,\n }\n },\n getValue (item: GroupableInstance, i: number): unknown {\n return item.value === undefined\n ? i\n : item.value\n },\n onClick (item: GroupableInstance) {\n this.updateInternalValue(\n this.getValue(item, this.items.indexOf(item))\n )\n },\n register (item: GroupableInstance) {\n const index = this.items.push(item) - 1\n\n // TODO!!!\n item.$on('change', () => this.onClick(item))\n\n // If no value provided and mandatory,\n // assign first registered item\n if (this.mandatory && !this.selectedValues.length) {\n this.updateMandatory()\n }\n\n this.updateItem(item, index)\n },\n unregister (item: GroupableInstance) {\n if (this.$.isUnmounted) return\n\n const index = this.items.indexOf(item)\n const value = this.getValue(item, index)\n\n this.items.splice(index, 1)\n\n const valueIndex = this.selectedValues.indexOf(value)\n\n // Items is not selected, do nothing\n if (valueIndex < 0) return\n\n // If not mandatory, use regular update process\n if (!this.mandatory) {\n return this.updateInternalValue(value)\n }\n\n // Remove the value\n if (this.multiple && Array.isArray(this.internalValue)) {\n this.internalValue = this.internalValue.filter(v => v !== value)\n } else {\n this.internalValue = undefined\n }\n\n // If mandatory and we have no selection\n // add the last item as value\n /* istanbul ignore else */\n if (!this.selectedItems.length) {\n this.updateMandatory(true)\n }\n },\n updateItem (item: GroupableInstance, index: number) {\n const value = this.getValue(item, index)\n\n item.isActive = this.toggleMethod(value)\n },\n // https://github.com/vuetifyjs/vuetify/issues/5352\n updateItemsState () {\n this.$nextTick(() => {\n if (this.mandatory &&\n !this.selectedItems.length\n ) {\n return this.updateMandatory()\n }\n\n // TODO: Make this smarter so it\n // doesn't have to iterate every\n // child in an update\n this.items.forEach(this.updateItem)\n })\n },\n updateInternalValue (value: any) {\n this.multiple\n ? this.updateMultiple(value)\n : this.updateSingle(value)\n },\n updateMandatory (last?: boolean) {\n if (!this.items.length) return\n\n const items = this.items.slice()\n\n if (last) items.reverse()\n\n const item = items.find(item => !item.disabled)\n\n // If no tabs are available\n // aborts mandatory value\n if (!item) return\n\n const index = this.items.indexOf(item)\n\n this.updateInternalValue(\n this.getValue(item, index)\n )\n },\n updateMultiple (value: any) {\n const defaultValue = Array.isArray(this.internalValue)\n ? this.internalValue\n : []\n const internalValue = defaultValue.slice()\n const index = internalValue.findIndex(val => this.valueComparator(val, value))\n\n if (\n this.mandatory &&\n // Item already exists\n index > -1 &&\n // value would be reduced below min\n internalValue.length - 1 < 1\n ) return\n\n if (\n // Max is set\n this.max != null &&\n // Item doesn't exist\n index < 0 &&\n // value would be increased above max\n internalValue.length + 1 > this.max\n ) return\n\n index > -1\n ? internalValue.splice(index, 1)\n : internalValue.push(value)\n\n this.internalValue = internalValue\n },\n updateSingle (value: any) {\n const isSame = this.valueComparator(this.internalValue, value)\n\n if (this.mandatory && isSame) return\n if (!this.allowDeselect && isSame) return\n\n this.internalValue = isSame ? undefined : value\n },\n },\n\n render (): VNode {\n const data = this.genData()\n return h(this.tag, {\n class: data.class,\n ...data.attrs,\n }, getSlot(this))\n },\n})\n\nexport default defineComponent({\n name: 'v-item-group',\n extends: BaseItemGroup,\n\n provide (): object {\n return {\n itemGroup: this,\n }\n },\n})\n"],"sourceRoot":"","file":"VItemGroup.js"}
@@ -299,7 +299,7 @@ var _default2 = baseMixins.extend({
299
299
  },
300
300
  closeConditional: function closeConditional(e) {
301
301
  var target = e.target;
302
- return this.isActive && !this._isDestroyed && this.closeOnClick && this.$refs.content && !this.$refs.content.contains(target);
302
+ return this.isActive && !this.$.isUnmounted && this.closeOnClick && this.$refs.content && !this.$refs.content.contains(target);
303
303
  },
304
304
  genActivatorAttributes: function genActivatorAttributes() {
305
305
  var attributes = _activatable.default.methods.genActivatorAttributes.call(this);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VMenu/VMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, Transition, vShow, withDirectives } from 'vue'\n// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Menuable from '../../mixins/menuable'\nimport Returnable from '../../mixins/returnable'\nimport Roundable from '../../mixins/roundable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { removed, breaking } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\nimport goTo from '../../services/goto'\n\n// Types\nimport { VNode, VNodeDirective, VNodeData, PropType } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Delayable,\n Returnable,\n Roundable,\n Themeable,\n Menuable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-menu',\n\n provide (): object {\n return {\n isInMenu: true,\n // Pass theme through to default slot\n theme: this.theme,\n }\n },\n\n props: {\n auto: Boolean,\n closeOnClick: {\n type: Boolean,\n default: true,\n },\n closeOnContentClick: {\n type: Boolean,\n default: true,\n },\n disabled: Boolean,\n disableKeys: Boolean,\n maxHeight: {\n type: [Number, String],\n default: 'auto',\n },\n offsetX: Boolean,\n offsetY: Boolean,\n openOnHover: Boolean,\n origin: {\n type: String,\n default: 'top left',\n },\n transition: {\n type: [Boolean, String],\n default: 'v-menu-transition',\n },\n contentProps: {\n type: Object as PropType<Record<string, any>>,\n default: () => ({}),\n },\n onScroll: {\n type: Function as PropType<(event: Event) => void>,\n default: undefined,\n },\n },\n\n emits: [\n 'keydown',\n 'update:modelValue',\n 'update:return-value',\n ],\n\n data () {\n return {\n calculatedTopAuto: 0,\n defaultOffset: 8,\n hasJustFocused: false,\n listIndex: -1,\n resizeTimeout: 0,\n selectedIndex: null as null | number,\n tiles: [] as HTMLElement[],\n }\n },\n\n computed: {\n activeTile (): HTMLElement | undefined {\n return this.tiles[this.listIndex]\n },\n calculatedLeft (): string {\n const menuWidth = Math.max(this.dimensions.content.width, parseFloat(this.calculatedMinWidth))\n\n if (!this.auto) return this.calcLeft(menuWidth) || '0'\n\n return convertToUnit(this.calcXOverflow(this.calcLeftAuto(), menuWidth)) || '0'\n },\n calculatedMaxHeight (): string {\n const height = this.auto\n ? '220px'\n : convertToUnit(this.maxHeight)\n\n return height || '0'\n },\n calculatedMaxWidth (): string {\n return convertToUnit(this.maxWidth) || '0'\n },\n calculatedMinWidth (): string {\n if (this.minWidth) {\n return convertToUnit(this.minWidth) || '0'\n }\n\n const minWidth = Math.min(\n this.dimensions.activator.width +\n Number(this.nudgeWidth) +\n (this.auto ? 16 : 0),\n Math.max(this.pageWidth - 24, 0)\n )\n\n const calculatedMaxWidth = isNaN(parseInt(this.calculatedMaxWidth))\n ? minWidth\n : parseInt(this.calculatedMaxWidth)\n\n return convertToUnit(Math.min(\n calculatedMaxWidth,\n minWidth\n )) || '0'\n },\n calculatedTop (): string {\n const top = !this.auto\n ? this.calcTop()\n : convertToUnit(this.calcYOverflow(this.calculatedTopAuto))\n\n return top || '0'\n },\n hasClickableTiles (): boolean {\n return Boolean(this.tiles.find(tile => tile.tabIndex > -1))\n },\n styles (): object {\n return {\n maxHeight: this.calculatedMaxHeight,\n minWidth: this.calculatedMinWidth,\n maxWidth: this.calculatedMaxWidth,\n top: this.calculatedTop,\n left: this.calculatedLeft,\n transformOrigin: this.origin,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n watch: {\n isActive (val) {\n if (!val) this.listIndex = -1\n },\n isContentActive (val) {\n this.hasJustFocused = val\n },\n listIndex (next, prev) {\n if (next in this.tiles) {\n const tile = this.tiles[next]\n tile.classList.add('v-list-item--highlighted')\n const scrollTop = this.$refs.content.scrollTop\n const contentHeight = this.$refs.content.clientHeight\n\n if (scrollTop > tile.offsetTop - 8) {\n goTo(tile.offsetTop - tile.clientHeight, {\n appOffset: false,\n duration: 300,\n container: this.$refs.content,\n })\n } else if (scrollTop + contentHeight < tile.offsetTop + tile.clientHeight + 8) {\n goTo(tile.offsetTop - contentHeight + tile.clientHeight * 2, {\n appOffset: false,\n duration: 300,\n container: this.$refs.content,\n })\n }\n }\n\n prev in this.tiles &&\n this.tiles[prev].classList.remove('v-list-item--highlighted')\n },\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', '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 /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n mounted () {\n this.isActive && this.callActivate()\n },\n\n methods: {\n activate () {\n // Update coordinates and dimensions of menu\n // and its activator\n this.updateDimensions()\n // Start the transition\n requestAnimationFrame(() => {\n // Once transitioning, calculate scroll and top position\n this.startTransition().then(() => {\n if (this.$refs.content) {\n this.calculatedTopAuto = this.calcTopAuto()\n this.auto && (this.$refs.content.scrollTop = this.calcScrollPosition())\n }\n })\n })\n },\n calcScrollPosition () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement\n const maxScrollTop = $el.scrollHeight - $el.offsetHeight\n\n return activeTile\n ? Math.min(maxScrollTop, Math.max(0, activeTile.offsetTop - $el.offsetHeight / 2 + activeTile.offsetHeight / 2))\n : $el.scrollTop\n },\n calcLeftAuto () {\n return parseInt(this.dimensions.activator.left - this.defaultOffset * 2)\n },\n calcTopAuto () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement | null\n\n if (!activeTile) {\n this.selectedIndex = null\n }\n\n if (this.offsetY || !activeTile) {\n return this.computedTop\n }\n\n this.selectedIndex = Array.from(this.tiles).indexOf(activeTile)\n\n const tileDistanceFromMenuTop = activeTile.offsetTop - this.calcScrollPosition()\n const firstTileOffsetTop = ($el.querySelector('.v-list-item') as HTMLElement).offsetTop\n\n return this.computedTop - tileDistanceFromMenuTop - firstTileOffsetTop - 1\n },\n changeListIndex (e: KeyboardEvent) {\n // For infinite scroll and autocomplete, re-evaluate children\n this.getTiles()\n\n if (!this.isActive || !this.hasClickableTiles) {\n return\n } else if (e.keyCode === keyCodes.tab) {\n this.isActive = false\n return\n } else if (e.keyCode === keyCodes.down) {\n this.nextTile()\n } else if (e.keyCode === keyCodes.up) {\n this.prevTile()\n } else if (e.keyCode === keyCodes.end) {\n this.lastTile()\n } else if (e.keyCode === keyCodes.home) {\n this.firstTile()\n } else if (e.keyCode === keyCodes.enter && this.listIndex !== -1) {\n this.tiles[this.listIndex].click()\n } else { return }\n // One of the conditions was met, prevent default action (#2988)\n e.preventDefault()\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n\n return this.isActive &&\n !this._isDestroyed &&\n this.closeOnClick &&\n this.$refs.content &&\n !this.$refs.content.contains(target)\n },\n genActivatorAttributes () {\n const attributes = Activatable.methods.genActivatorAttributes.call(this)\n\n if (this.activeTile && this.activeTile.id) {\n return {\n ...attributes,\n 'aria-activedescendant': this.activeTile.id,\n }\n }\n\n return attributes\n },\n genActivatorListeners () {\n const listeners = Menuable.methods.genActivatorListeners.call(this)\n\n if (!this.disableKeys) {\n listeners.onKeydown = this.onKeyDown;\n }\n\n return listeners\n },\n genTransition (): VNode {\n const content = this.genContent()\n\n if (!this.transition) return content\n\n return h(Transition, {\n name: this.transition\n }, [content])\n },\n genDirectives (): VNodeDirective[] {\n const directives = [[\n vShow,\n this.isContentActive\n ]]\n\n // Do not add click outside for hover menu\n if (!this.openOnHover && this.closeOnClick) {\n directives.push([\n ClickOutside,\n {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: () => [this.$el, ...this.getOpenDependentElements()],\n },\n ])\n }\n\n return directives\n },\n genContent (): VNode {\n const options = {\n ...this.getScopeIdAttrs(),\n ...this.contentProps,\n role: 'role' in this.$attrs ? this.$attrs.role : 'menu',\n class: ['v-menu__content', {\n ...this.rootThemeClasses,\n ...this.roundedClasses,\n 'v-menu__content--auto': this.auto,\n 'v-menu__content--fixed': this.activatorFixed,\n menuable__content__active: this.isActive,\n [this.contentClass.trim()]: true,\n }],\n style: this.styles,\n ref: 'content',\n onClick: (e: Event) => {\n const target = e.target as HTMLElement\n\n if (target.getAttribute('disabled')) return\n if (this.closeOnContentClick) this.isActive = false\n },\n onKeydown: this.onKeyDown,\n } as VNodeData\n\n if (this.onScroll) {\n options.onScroll = this.onScroll\n }\n\n if (!this.disabled && this.openOnHover) {\n options.onMouseenter = this.mouseEnterHandler\n }\n\n if (this.openOnHover) {\n options.onMouseleave = this.mouseLeaveHandler\n }\n\n const directives = this.genDirectives()\n\n return withDirectives(h('div', options, this.getContentSlot()), directives)\n },\n getTiles () {\n if (!this.$refs.content) return\n\n this.tiles = Array.from(this.$refs.content.querySelectorAll('.v-list-item, .v-divider, .v-subheader'))\n },\n mouseEnterHandler () {\n this.runDelay('open', () => {\n if (this.hasJustFocused) return\n\n this.hasJustFocused = true\n })\n },\n mouseLeaveHandler (e: MouseEvent) {\n // Prevent accidental re-activation\n this.runDelay('close', () => {\n if (this.$refs.content?.contains(e.relatedTarget as HTMLElement)) return\n\n requestAnimationFrame(() => {\n this.isActive = false\n this.callDeactivate()\n })\n })\n },\n nextTile () {\n const tile = this.tiles[this.listIndex + 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = -1\n this.nextTile()\n\n return\n }\n\n this.listIndex++\n if (tile.tabIndex === -1) this.nextTile()\n },\n prevTile () {\n const tile = this.tiles[this.listIndex - 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = this.tiles.length\n this.prevTile()\n\n return\n }\n\n this.listIndex--\n if (tile.tabIndex === -1) this.prevTile()\n },\n lastTile () {\n const tile = this.tiles[this.tiles.length - 1]\n\n if (!tile) return\n\n this.listIndex = this.tiles.length - 1\n\n if (tile.tabIndex === -1) this.prevTile()\n },\n firstTile () {\n const tile = this.tiles[0]\n\n if (!tile) return\n\n this.listIndex = 0\n\n if (tile.tabIndex === -1) this.nextTile()\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.disableKeys) return\n\n if (e.keyCode === keyCodes.esc) {\n // Wait for dependent elements to close first\n setTimeout(() => { this.isActive = false })\n const activator = this.getActivator()\n this.$nextTick(() => activator && activator.focus())\n } else if (\n !this.isActive &&\n [keyCodes.up, keyCodes.down].includes(e.keyCode)\n ) {\n this.isActive = true\n }\n\n // Allow for isActive watcher to generate tile list\n this.$nextTick(() => this.changeListIndex(e))\n },\n onResize () {\n if (!this.isActive) return\n\n // Account for screen resize\n // and orientation change\n // eslint-disable-next-line no-unused-expressions\n this.$refs.content.offsetWidth\n this.updateDimensions()\n\n // When resizing to a smaller width\n // content width is evaluated before\n // the new activator width has been\n // set, causing it to not size properly\n // hacky but will revisit in the future\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.updateDimensions, 100)\n },\n },\n\n render (): VNode {\n const data = {\n class: ['v-menu', {\n 'v-menu--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n }]\n }\n\n const directives = [[\n Resize,\n this.onResize,\n '500'\n ]]\n\n // console.log('vmenurender', this, this.activator, this.getActivator())\n\n return withDirectives(h('div', data, [\n !this.activator && this.genActivator(),\n this.showLazyContent(() => [\n h(VThemeProvider, {\n root: true,\n light: this.light,\n dark: this.dark,\n }, [this.genTransition()]),\n ]),\n ]), directives)\n },\n})\n"],"sourceRoot":"","file":"VMenu.js"}
1
+ {"version":3,"sources":["../../../src/components/VMenu/VMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, Transition, vShow, withDirectives } from 'vue'\n// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Menuable from '../../mixins/menuable'\nimport Returnable from '../../mixins/returnable'\nimport Roundable from '../../mixins/roundable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { removed, breaking } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\nimport goTo from '../../services/goto'\n\n// Types\nimport { VNode, VNodeDirective, VNodeData, PropType } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Delayable,\n Returnable,\n Roundable,\n Themeable,\n Menuable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-menu',\n\n provide (): object {\n return {\n isInMenu: true,\n // Pass theme through to default slot\n theme: this.theme,\n }\n },\n\n props: {\n auto: Boolean,\n closeOnClick: {\n type: Boolean,\n default: true,\n },\n closeOnContentClick: {\n type: Boolean,\n default: true,\n },\n disabled: Boolean,\n disableKeys: Boolean,\n maxHeight: {\n type: [Number, String],\n default: 'auto',\n },\n offsetX: Boolean,\n offsetY: Boolean,\n openOnHover: Boolean,\n origin: {\n type: String,\n default: 'top left',\n },\n transition: {\n type: [Boolean, String],\n default: 'v-menu-transition',\n },\n contentProps: {\n type: Object as PropType<Record<string, any>>,\n default: () => ({}),\n },\n onScroll: {\n type: Function as PropType<(event: Event) => void>,\n default: undefined,\n },\n },\n\n emits: [\n 'keydown',\n 'update:modelValue',\n 'update:return-value',\n ],\n\n data () {\n return {\n calculatedTopAuto: 0,\n defaultOffset: 8,\n hasJustFocused: false,\n listIndex: -1,\n resizeTimeout: 0,\n selectedIndex: null as null | number,\n tiles: [] as HTMLElement[],\n }\n },\n\n computed: {\n activeTile (): HTMLElement | undefined {\n return this.tiles[this.listIndex]\n },\n calculatedLeft (): string {\n const menuWidth = Math.max(this.dimensions.content.width, parseFloat(this.calculatedMinWidth))\n\n if (!this.auto) return this.calcLeft(menuWidth) || '0'\n\n return convertToUnit(this.calcXOverflow(this.calcLeftAuto(), menuWidth)) || '0'\n },\n calculatedMaxHeight (): string {\n const height = this.auto\n ? '220px'\n : convertToUnit(this.maxHeight)\n\n return height || '0'\n },\n calculatedMaxWidth (): string {\n return convertToUnit(this.maxWidth) || '0'\n },\n calculatedMinWidth (): string {\n if (this.minWidth) {\n return convertToUnit(this.minWidth) || '0'\n }\n\n const minWidth = Math.min(\n this.dimensions.activator.width +\n Number(this.nudgeWidth) +\n (this.auto ? 16 : 0),\n Math.max(this.pageWidth - 24, 0)\n )\n\n const calculatedMaxWidth = isNaN(parseInt(this.calculatedMaxWidth))\n ? minWidth\n : parseInt(this.calculatedMaxWidth)\n\n return convertToUnit(Math.min(\n calculatedMaxWidth,\n minWidth\n )) || '0'\n },\n calculatedTop (): string {\n const top = !this.auto\n ? this.calcTop()\n : convertToUnit(this.calcYOverflow(this.calculatedTopAuto))\n\n return top || '0'\n },\n hasClickableTiles (): boolean {\n return Boolean(this.tiles.find(tile => tile.tabIndex > -1))\n },\n styles (): object {\n return {\n maxHeight: this.calculatedMaxHeight,\n minWidth: this.calculatedMinWidth,\n maxWidth: this.calculatedMaxWidth,\n top: this.calculatedTop,\n left: this.calculatedLeft,\n transformOrigin: this.origin,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n watch: {\n isActive (val) {\n if (!val) this.listIndex = -1\n },\n isContentActive (val) {\n this.hasJustFocused = val\n },\n listIndex (next, prev) {\n if (next in this.tiles) {\n const tile = this.tiles[next]\n tile.classList.add('v-list-item--highlighted')\n const scrollTop = this.$refs.content.scrollTop\n const contentHeight = this.$refs.content.clientHeight\n\n if (scrollTop > tile.offsetTop - 8) {\n goTo(tile.offsetTop - tile.clientHeight, {\n appOffset: false,\n duration: 300,\n container: this.$refs.content,\n })\n } else if (scrollTop + contentHeight < tile.offsetTop + tile.clientHeight + 8) {\n goTo(tile.offsetTop - contentHeight + tile.clientHeight * 2, {\n appOffset: false,\n duration: 300,\n container: this.$refs.content,\n })\n }\n }\n\n prev in this.tiles &&\n this.tiles[prev].classList.remove('v-list-item--highlighted')\n },\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', '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 /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n mounted () {\n this.isActive && this.callActivate()\n },\n\n methods: {\n activate () {\n // Update coordinates and dimensions of menu\n // and its activator\n this.updateDimensions()\n // Start the transition\n requestAnimationFrame(() => {\n // Once transitioning, calculate scroll and top position\n this.startTransition().then(() => {\n if (this.$refs.content) {\n this.calculatedTopAuto = this.calcTopAuto()\n this.auto && (this.$refs.content.scrollTop = this.calcScrollPosition())\n }\n })\n })\n },\n calcScrollPosition () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement\n const maxScrollTop = $el.scrollHeight - $el.offsetHeight\n\n return activeTile\n ? Math.min(maxScrollTop, Math.max(0, activeTile.offsetTop - $el.offsetHeight / 2 + activeTile.offsetHeight / 2))\n : $el.scrollTop\n },\n calcLeftAuto () {\n return parseInt(this.dimensions.activator.left - this.defaultOffset * 2)\n },\n calcTopAuto () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement | null\n\n if (!activeTile) {\n this.selectedIndex = null\n }\n\n if (this.offsetY || !activeTile) {\n return this.computedTop\n }\n\n this.selectedIndex = Array.from(this.tiles).indexOf(activeTile)\n\n const tileDistanceFromMenuTop = activeTile.offsetTop - this.calcScrollPosition()\n const firstTileOffsetTop = ($el.querySelector('.v-list-item') as HTMLElement).offsetTop\n\n return this.computedTop - tileDistanceFromMenuTop - firstTileOffsetTop - 1\n },\n changeListIndex (e: KeyboardEvent) {\n // For infinite scroll and autocomplete, re-evaluate children\n this.getTiles()\n\n if (!this.isActive || !this.hasClickableTiles) {\n return\n } else if (e.keyCode === keyCodes.tab) {\n this.isActive = false\n return\n } else if (e.keyCode === keyCodes.down) {\n this.nextTile()\n } else if (e.keyCode === keyCodes.up) {\n this.prevTile()\n } else if (e.keyCode === keyCodes.end) {\n this.lastTile()\n } else if (e.keyCode === keyCodes.home) {\n this.firstTile()\n } else if (e.keyCode === keyCodes.enter && this.listIndex !== -1) {\n this.tiles[this.listIndex].click()\n } else { return }\n // One of the conditions was met, prevent default action (#2988)\n e.preventDefault()\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n\n return this.isActive &&\n !this.$.isUnmounted &&\n this.closeOnClick &&\n this.$refs.content &&\n !this.$refs.content.contains(target)\n },\n genActivatorAttributes () {\n const attributes = Activatable.methods.genActivatorAttributes.call(this)\n\n if (this.activeTile && this.activeTile.id) {\n return {\n ...attributes,\n 'aria-activedescendant': this.activeTile.id,\n }\n }\n\n return attributes\n },\n genActivatorListeners () {\n const listeners = Menuable.methods.genActivatorListeners.call(this)\n\n if (!this.disableKeys) {\n listeners.onKeydown = this.onKeyDown;\n }\n\n return listeners\n },\n genTransition (): VNode {\n const content = this.genContent()\n\n if (!this.transition) return content\n\n return h(Transition, {\n name: this.transition\n }, [content])\n },\n genDirectives (): VNodeDirective[] {\n const directives = [[\n vShow,\n this.isContentActive\n ]]\n\n // Do not add click outside for hover menu\n if (!this.openOnHover && this.closeOnClick) {\n directives.push([\n ClickOutside,\n {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: () => [this.$el, ...this.getOpenDependentElements()],\n },\n ])\n }\n\n return directives\n },\n genContent (): VNode {\n const options = {\n ...this.getScopeIdAttrs(),\n ...this.contentProps,\n role: 'role' in this.$attrs ? this.$attrs.role : 'menu',\n class: ['v-menu__content', {\n ...this.rootThemeClasses,\n ...this.roundedClasses,\n 'v-menu__content--auto': this.auto,\n 'v-menu__content--fixed': this.activatorFixed,\n menuable__content__active: this.isActive,\n [this.contentClass.trim()]: true,\n }],\n style: this.styles,\n ref: 'content',\n onClick: (e: Event) => {\n const target = e.target as HTMLElement\n\n if (target.getAttribute('disabled')) return\n if (this.closeOnContentClick) this.isActive = false\n },\n onKeydown: this.onKeyDown,\n } as VNodeData\n\n if (this.onScroll) {\n options.onScroll = this.onScroll\n }\n\n if (!this.disabled && this.openOnHover) {\n options.onMouseenter = this.mouseEnterHandler\n }\n\n if (this.openOnHover) {\n options.onMouseleave = this.mouseLeaveHandler\n }\n\n const directives = this.genDirectives()\n\n return withDirectives(h('div', options, this.getContentSlot()), directives)\n },\n getTiles () {\n if (!this.$refs.content) return\n\n this.tiles = Array.from(this.$refs.content.querySelectorAll('.v-list-item, .v-divider, .v-subheader'))\n },\n mouseEnterHandler () {\n this.runDelay('open', () => {\n if (this.hasJustFocused) return\n\n this.hasJustFocused = true\n })\n },\n mouseLeaveHandler (e: MouseEvent) {\n // Prevent accidental re-activation\n this.runDelay('close', () => {\n if (this.$refs.content?.contains(e.relatedTarget as HTMLElement)) return\n\n requestAnimationFrame(() => {\n this.isActive = false\n this.callDeactivate()\n })\n })\n },\n nextTile () {\n const tile = this.tiles[this.listIndex + 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = -1\n this.nextTile()\n\n return\n }\n\n this.listIndex++\n if (tile.tabIndex === -1) this.nextTile()\n },\n prevTile () {\n const tile = this.tiles[this.listIndex - 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = this.tiles.length\n this.prevTile()\n\n return\n }\n\n this.listIndex--\n if (tile.tabIndex === -1) this.prevTile()\n },\n lastTile () {\n const tile = this.tiles[this.tiles.length - 1]\n\n if (!tile) return\n\n this.listIndex = this.tiles.length - 1\n\n if (tile.tabIndex === -1) this.prevTile()\n },\n firstTile () {\n const tile = this.tiles[0]\n\n if (!tile) return\n\n this.listIndex = 0\n\n if (tile.tabIndex === -1) this.nextTile()\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.disableKeys) return\n\n if (e.keyCode === keyCodes.esc) {\n // Wait for dependent elements to close first\n setTimeout(() => { this.isActive = false })\n const activator = this.getActivator()\n this.$nextTick(() => activator && activator.focus())\n } else if (\n !this.isActive &&\n [keyCodes.up, keyCodes.down].includes(e.keyCode)\n ) {\n this.isActive = true\n }\n\n // Allow for isActive watcher to generate tile list\n this.$nextTick(() => this.changeListIndex(e))\n },\n onResize () {\n if (!this.isActive) return\n\n // Account for screen resize\n // and orientation change\n // eslint-disable-next-line no-unused-expressions\n this.$refs.content.offsetWidth\n this.updateDimensions()\n\n // When resizing to a smaller width\n // content width is evaluated before\n // the new activator width has been\n // set, causing it to not size properly\n // hacky but will revisit in the future\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.updateDimensions, 100)\n },\n },\n\n render (): VNode {\n const data = {\n class: ['v-menu', {\n 'v-menu--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n }]\n }\n\n const directives = [[\n Resize,\n this.onResize,\n '500'\n ]]\n\n // console.log('vmenurender', this, this.activator, this.getActivator())\n\n return withDirectives(h('div', data, [\n !this.activator && this.genActivator(),\n this.showLazyContent(() => [\n h(VThemeProvider, {\n root: true,\n light: this.light,\n dark: this.dark,\n }, [this.genTransition()]),\n ]),\n ]), directives)\n },\n})\n"],"sourceRoot":"","file":"VMenu.js"}
@@ -266,7 +266,7 @@ var _default = baseMixins.extend({
266
266
  };
267
267
  },
268
268
  closeConditional: function closeConditional() {
269
- return this.isActive && !this._isDestroyed && this.reactsToClick;
269
+ return this.isActive && !this.$.isUnmounted && this.reactsToClick;
270
270
  },
271
271
  genAppend: function genAppend() {
272
272
  return this.genPosition('append');
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VNavigationDrawer/VNavigationDrawer.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, withDirectives } from 'vue'\n// Styles\nimport './VNavigationDrawer.sass'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Colorable from '../../mixins/colorable'\nimport Dependent from '../../mixins/dependent'\nimport Mobile from '../../mixins/mobile'\nimport Overlayable from '../../mixins/overlayable'\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { breaking } from '../../util/console'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, VNodeDirective, PropType } from 'vue'\nimport { TouchWrapper } from 'vuetify/types'\n\nconst baseMixins = mixins(\n Applicationable('left', [\n 'isActive',\n 'isMobile',\n 'miniVariant',\n 'expandOnHover',\n 'permanent',\n 'right',\n 'temporary',\n 'width',\n ]),\n Colorable,\n Dependent,\n Mobile,\n Overlayable,\n SSRBootable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-navigation-drawer',\n\n provide (): object {\n return {\n isInNav: this.$tag === 'nav',\n }\n },\n\n props: {\n bottom: Boolean,\n clipped: Boolean,\n disableResizeWatcher: Boolean,\n disableRouteWatcher: Boolean,\n expandOnHover: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n },\n miniVariant: Boolean,\n miniVariantWidth: {\n type: [Number, String],\n default: 56,\n },\n permanent: Boolean,\n right: Boolean,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n stateless: Boolean,\n tag: {\n type: String,\n },\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n modelValue: null as unknown as PropType<any>,\n },\n\n emits: ['update:modelValue', 'transitionend', 'update:mini-variant'],\n\n data: () => ({\n isMouseover: false,\n touchArea: {\n left: 0,\n right: 0,\n },\n stackMinZIndex: 6,\n }),\n\n computed: {\n $tag () {\n return this.tag || this.app ? 'nav' : 'aside'\n },\n $height () {\n return this.height || (this.app ? '100vh' : '100%')\n },\n /**\n * Used for setting an app value from a dynamic\n * property. Called from applicationable.js\n */\n applicationProperty (): string {\n return this.right ? 'right' : 'left'\n },\n classes (): object {\n return {\n 'v-navigation-drawer': true,\n 'v-navigation-drawer--absolute': this.absolute,\n 'v-navigation-drawer--bottom': this.bottom,\n 'v-navigation-drawer--clipped': this.clipped,\n 'v-navigation-drawer--close': !this.isActive,\n 'v-navigation-drawer--fixed': !this.absolute && (this.app || this.fixed),\n 'v-navigation-drawer--floating': this.floating,\n 'v-navigation-drawer--is-mobile': this.isMobile,\n 'v-navigation-drawer--is-mouseover': this.isMouseover,\n 'v-navigation-drawer--mini-variant': this.isMiniVariant,\n 'v-navigation-drawer--custom-mini-variant': Number(this.miniVariantWidth) !== 56,\n 'v-navigation-drawer--open': this.isActive,\n 'v-navigation-drawer--open-on-hover': this.expandOnHover,\n 'v-navigation-drawer--right': this.right,\n 'v-navigation-drawer--temporary': this.temporary,\n ...this.themeClasses,\n }\n },\n computedMaxHeight (): number | null {\n if (!this.hasApp) return null\n\n const computedMaxHeight = (\n this.$vuetify.application.bottom +\n this.$vuetify.application.footer +\n this.$vuetify.application.bar\n )\n\n if (!this.clipped) return computedMaxHeight\n\n return computedMaxHeight + this.$vuetify.application.top\n },\n computedTop (): number {\n if (!this.hasApp) return 0\n\n let computedTop = this.$vuetify.application.bar\n\n computedTop += this.clipped\n ? this.$vuetify.application.top\n : 0\n\n return computedTop\n },\n computedTransform (): number {\n if (this.isActive) return 0\n if (this.isBottom) return 100\n return this.right ? 100 : -100\n },\n computedWidth (): string | number {\n return this.isMiniVariant ? this.miniVariantWidth : this.width\n },\n hasApp (): boolean {\n return (\n this.app &&\n (!this.isMobile && !this.temporary)\n )\n },\n isBottom (): boolean {\n return this.bottom && this.isMobile\n },\n isMiniVariant (): boolean {\n return (\n !this.expandOnHover &&\n this.miniVariant\n ) || (\n this.expandOnHover &&\n !this.isMouseover\n )\n },\n isMobile (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n Mobile.computed.isMobile.call(this)\n )\n },\n reactsToClick (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n (this.isMobile || this.temporary)\n )\n },\n reactsToMobile (): boolean {\n return (\n this.app &&\n !this.disableResizeWatcher &&\n !this.permanent &&\n !this.stateless &&\n !this.temporary\n )\n },\n reactsToResize (): boolean {\n return !this.disableResizeWatcher && !this.stateless\n },\n reactsToRoute (): boolean {\n return (\n !this.disableRouteWatcher &&\n !this.stateless &&\n (this.temporary || this.isMobile)\n )\n },\n showOverlay (): boolean {\n return (\n !this.hideOverlay &&\n this.isActive &&\n (this.isMobile || this.temporary)\n )\n },\n styles (): object {\n const translate = this.isBottom ? 'translateY' : 'translateX'\n return {\n height: convertToUnit(this.$height),\n top: !this.isBottom ? convertToUnit(this.computedTop) : 'auto',\n maxHeight: this.computedMaxHeight != null\n ? `calc(100% - ${convertToUnit(this.computedMaxHeight)})`\n : undefined,\n transform: `${translate}(${convertToUnit(this.computedTransform, '%')})`,\n width: convertToUnit(this.computedWidth),\n }\n },\n },\n\n watch: {\n $route: 'onRouteChange',\n isActive (val) {\n this.$emit('update:modelValue', val)\n },\n /**\n * When mobile changes, adjust the active state\n * only when there has been a previous value\n */\n isMobile (val, prev) {\n !val &&\n this.isActive &&\n !this.temporary &&\n this.removeOverlay()\n\n if (prev == null ||\n !this.reactsToResize ||\n !this.reactsToMobile\n ) return\n\n this.isActive = !val\n },\n permanent (val) {\n // If enabling prop enable the drawer\n if (val) this.isActive = true\n },\n showOverlay (val) {\n if (val) this.genOverlay()\n else this.removeOverlay()\n },\n modelValue (val) {\n if (this.permanent) return\n\n if (val == null) {\n this.init()\n return\n }\n\n if (val !== this.isActive) this.isActive = val\n },\n expandOnHover: 'updateMiniVariant',\n isMouseover (val) {\n this.updateMiniVariant(!val)\n },\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', '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\n beforeMount () {\n this.init()\n },\n\n methods: {\n calculateTouchArea () {\n const parent = this.$el.parentNode as Element\n\n if (!parent) return\n\n const parentRect = parent.getBoundingClientRect()\n\n this.touchArea = {\n left: parentRect.left + 50,\n right: parentRect.right - 50,\n }\n },\n closeConditional () {\n return this.isActive && !this._isDestroyed && this.reactsToClick\n },\n genAppend () {\n return this.genPosition('append')\n },\n genBackground () {\n const props = {\n height: '100%',\n width: '100%',\n src: this.src,\n }\n\n const image = this.$slots.img\n ? this.$slots.img(props)\n : h(VImg, { props })\n\n return h('div', {\n class: 'v-navigation-drawer__image',\n }, [image])\n },\n genDirectives (): VNodeDirective[] {\n return [\n [\n ClickOutside,\n {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n ],\n [\n Touch,\n {\n parent: true,\n left: this.swipeLeft,\n right: this.swipeRight,\n isDirActive: !this.touchless && !this.stateless,\n },\n ],\n ]\n },\n genListeners () {\n const on: Record<string, (e: Event) => void> = {\n onMouseenter: () => (this.isMouseover = true),\n onMouseleave: () => (this.isMouseover = false),\n onTransitionend: (e: Event) => {\n if (e.target !== e.currentTarget) return\n this.$emit('transitionend', e)\n\n // IE11 does not support new Event('resize')\n const resizeEvent = document.createEvent('UIEvents')\n resizeEvent.initUIEvent('resize', true, false, window, 0)\n window.dispatchEvent(resizeEvent)\n },\n }\n\n if (this.miniVariant) {\n on.onClick = () => this.$emit('update:mini-variant', false)\n }\n\n return on\n },\n genPosition (name: 'prepend' | 'append') {\n const slot = getSlot(this, name)\n\n if (!slot) return slot\n\n return h('div', {\n class: `v-navigation-drawer__${name}`,\n }, slot)\n },\n genPrepend () {\n return this.genPosition('prepend')\n },\n genContent () {\n return h('div', {\n class: 'v-navigation-drawer__content',\n }, getSlot(this))\n },\n genBorder () {\n return h('div', {\n class: 'v-navigation-drawer__border',\n })\n },\n init () {\n if (this.permanent) {\n this.isActive = true\n } else if (this.stateless ||\n this.modelValue != null\n ) {\n this.isActive = this.modelValue\n } else if (!this.temporary) {\n this.isActive = !this.isMobile\n }\n },\n onRouteChange () {\n if (this.reactsToRoute && this.closeConditional()) {\n this.isActive = false\n }\n },\n swipeLeft (e: TouchWrapper) {\n if (this.isActive && this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (this.right &&\n e.touchstartX >= this.touchArea.right\n ) this.isActive = true\n else if (!this.right && this.isActive) this.isActive = false\n },\n swipeRight (e: TouchWrapper) {\n if (this.isActive && !this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (!this.right &&\n e.touchstartX <= this.touchArea.left\n ) this.isActive = true\n else if (this.right && this.isActive) this.isActive = false\n },\n /**\n * Update the application layout\n */\n updateApplication () {\n if (\n !this.isActive ||\n this.isMobile ||\n this.temporary ||\n !this.$el\n ) return 0\n\n const width = Number(this.miniVariant ? this.miniVariantWidth : this.width)\n\n return isNaN(width) ? this.$el.clientWidth : width\n },\n updateMiniVariant (val: boolean) {\n if (this.expandOnHover && this.miniVariant !== val) this.$emit('update:mini-variant', val)\n },\n },\n\n render (): VNode {\n const children = [\n this.genPrepend(),\n this.genContent(),\n this.genAppend(),\n this.genBorder(),\n ]\n\n if (this.src || getSlot(this, 'img')) children.unshift(this.genBackground())\n\n const node = h(this.$tag, this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n ...this.genListeners(),\n }), children)\n\n return withDirectives(node, this.genDirectives())\n },\n})\n"],"sourceRoot":"","file":"VNavigationDrawer.js"}
1
+ {"version":3,"sources":["../../../src/components/VNavigationDrawer/VNavigationDrawer.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, withDirectives } from 'vue'\n// Styles\nimport './VNavigationDrawer.sass'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Colorable from '../../mixins/colorable'\nimport Dependent from '../../mixins/dependent'\nimport Mobile from '../../mixins/mobile'\nimport Overlayable from '../../mixins/overlayable'\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { breaking } from '../../util/console'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, VNodeDirective, PropType } from 'vue'\nimport { TouchWrapper } from 'vuetify/types'\n\nconst baseMixins = mixins(\n Applicationable('left', [\n 'isActive',\n 'isMobile',\n 'miniVariant',\n 'expandOnHover',\n 'permanent',\n 'right',\n 'temporary',\n 'width',\n ]),\n Colorable,\n Dependent,\n Mobile,\n Overlayable,\n SSRBootable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-navigation-drawer',\n\n provide (): object {\n return {\n isInNav: this.$tag === 'nav',\n }\n },\n\n props: {\n bottom: Boolean,\n clipped: Boolean,\n disableResizeWatcher: Boolean,\n disableRouteWatcher: Boolean,\n expandOnHover: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n },\n miniVariant: Boolean,\n miniVariantWidth: {\n type: [Number, String],\n default: 56,\n },\n permanent: Boolean,\n right: Boolean,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n stateless: Boolean,\n tag: {\n type: String,\n },\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n modelValue: null as unknown as PropType<any>,\n },\n\n emits: ['update:modelValue', 'transitionend', 'update:mini-variant'],\n\n data: () => ({\n isMouseover: false,\n touchArea: {\n left: 0,\n right: 0,\n },\n stackMinZIndex: 6,\n }),\n\n computed: {\n $tag () {\n return this.tag || this.app ? 'nav' : 'aside'\n },\n $height () {\n return this.height || (this.app ? '100vh' : '100%')\n },\n /**\n * Used for setting an app value from a dynamic\n * property. Called from applicationable.js\n */\n applicationProperty (): string {\n return this.right ? 'right' : 'left'\n },\n classes (): object {\n return {\n 'v-navigation-drawer': true,\n 'v-navigation-drawer--absolute': this.absolute,\n 'v-navigation-drawer--bottom': this.bottom,\n 'v-navigation-drawer--clipped': this.clipped,\n 'v-navigation-drawer--close': !this.isActive,\n 'v-navigation-drawer--fixed': !this.absolute && (this.app || this.fixed),\n 'v-navigation-drawer--floating': this.floating,\n 'v-navigation-drawer--is-mobile': this.isMobile,\n 'v-navigation-drawer--is-mouseover': this.isMouseover,\n 'v-navigation-drawer--mini-variant': this.isMiniVariant,\n 'v-navigation-drawer--custom-mini-variant': Number(this.miniVariantWidth) !== 56,\n 'v-navigation-drawer--open': this.isActive,\n 'v-navigation-drawer--open-on-hover': this.expandOnHover,\n 'v-navigation-drawer--right': this.right,\n 'v-navigation-drawer--temporary': this.temporary,\n ...this.themeClasses,\n }\n },\n computedMaxHeight (): number | null {\n if (!this.hasApp) return null\n\n const computedMaxHeight = (\n this.$vuetify.application.bottom +\n this.$vuetify.application.footer +\n this.$vuetify.application.bar\n )\n\n if (!this.clipped) return computedMaxHeight\n\n return computedMaxHeight + this.$vuetify.application.top\n },\n computedTop (): number {\n if (!this.hasApp) return 0\n\n let computedTop = this.$vuetify.application.bar\n\n computedTop += this.clipped\n ? this.$vuetify.application.top\n : 0\n\n return computedTop\n },\n computedTransform (): number {\n if (this.isActive) return 0\n if (this.isBottom) return 100\n return this.right ? 100 : -100\n },\n computedWidth (): string | number {\n return this.isMiniVariant ? this.miniVariantWidth : this.width\n },\n hasApp (): boolean {\n return (\n this.app &&\n (!this.isMobile && !this.temporary)\n )\n },\n isBottom (): boolean {\n return this.bottom && this.isMobile\n },\n isMiniVariant (): boolean {\n return (\n !this.expandOnHover &&\n this.miniVariant\n ) || (\n this.expandOnHover &&\n !this.isMouseover\n )\n },\n isMobile (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n Mobile.computed.isMobile.call(this)\n )\n },\n reactsToClick (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n (this.isMobile || this.temporary)\n )\n },\n reactsToMobile (): boolean {\n return (\n this.app &&\n !this.disableResizeWatcher &&\n !this.permanent &&\n !this.stateless &&\n !this.temporary\n )\n },\n reactsToResize (): boolean {\n return !this.disableResizeWatcher && !this.stateless\n },\n reactsToRoute (): boolean {\n return (\n !this.disableRouteWatcher &&\n !this.stateless &&\n (this.temporary || this.isMobile)\n )\n },\n showOverlay (): boolean {\n return (\n !this.hideOverlay &&\n this.isActive &&\n (this.isMobile || this.temporary)\n )\n },\n styles (): object {\n const translate = this.isBottom ? 'translateY' : 'translateX'\n return {\n height: convertToUnit(this.$height),\n top: !this.isBottom ? convertToUnit(this.computedTop) : 'auto',\n maxHeight: this.computedMaxHeight != null\n ? `calc(100% - ${convertToUnit(this.computedMaxHeight)})`\n : undefined,\n transform: `${translate}(${convertToUnit(this.computedTransform, '%')})`,\n width: convertToUnit(this.computedWidth),\n }\n },\n },\n\n watch: {\n $route: 'onRouteChange',\n isActive (val) {\n this.$emit('update:modelValue', val)\n },\n /**\n * When mobile changes, adjust the active state\n * only when there has been a previous value\n */\n isMobile (val, prev) {\n !val &&\n this.isActive &&\n !this.temporary &&\n this.removeOverlay()\n\n if (prev == null ||\n !this.reactsToResize ||\n !this.reactsToMobile\n ) return\n\n this.isActive = !val\n },\n permanent (val) {\n // If enabling prop enable the drawer\n if (val) this.isActive = true\n },\n showOverlay (val) {\n if (val) this.genOverlay()\n else this.removeOverlay()\n },\n modelValue (val) {\n if (this.permanent) return\n\n if (val == null) {\n this.init()\n return\n }\n\n if (val !== this.isActive) this.isActive = val\n },\n expandOnHover: 'updateMiniVariant',\n isMouseover (val) {\n this.updateMiniVariant(!val)\n },\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', '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\n beforeMount () {\n this.init()\n },\n\n methods: {\n calculateTouchArea () {\n const parent = this.$el.parentNode as Element\n\n if (!parent) return\n\n const parentRect = parent.getBoundingClientRect()\n\n this.touchArea = {\n left: parentRect.left + 50,\n right: parentRect.right - 50,\n }\n },\n closeConditional () {\n return this.isActive && !this.$.isUnmounted && this.reactsToClick\n },\n genAppend () {\n return this.genPosition('append')\n },\n genBackground () {\n const props = {\n height: '100%',\n width: '100%',\n src: this.src,\n }\n\n const image = this.$slots.img\n ? this.$slots.img(props)\n : h(VImg, { props })\n\n return h('div', {\n class: 'v-navigation-drawer__image',\n }, [image])\n },\n genDirectives (): VNodeDirective[] {\n return [\n [\n ClickOutside,\n {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n ],\n [\n Touch,\n {\n parent: true,\n left: this.swipeLeft,\n right: this.swipeRight,\n isDirActive: !this.touchless && !this.stateless,\n },\n ],\n ]\n },\n genListeners () {\n const on: Record<string, (e: Event) => void> = {\n onMouseenter: () => (this.isMouseover = true),\n onMouseleave: () => (this.isMouseover = false),\n onTransitionend: (e: Event) => {\n if (e.target !== e.currentTarget) return\n this.$emit('transitionend', e)\n\n // IE11 does not support new Event('resize')\n const resizeEvent = document.createEvent('UIEvents')\n resizeEvent.initUIEvent('resize', true, false, window, 0)\n window.dispatchEvent(resizeEvent)\n },\n }\n\n if (this.miniVariant) {\n on.onClick = () => this.$emit('update:mini-variant', false)\n }\n\n return on\n },\n genPosition (name: 'prepend' | 'append') {\n const slot = getSlot(this, name)\n\n if (!slot) return slot\n\n return h('div', {\n class: `v-navigation-drawer__${name}`,\n }, slot)\n },\n genPrepend () {\n return this.genPosition('prepend')\n },\n genContent () {\n return h('div', {\n class: 'v-navigation-drawer__content',\n }, getSlot(this))\n },\n genBorder () {\n return h('div', {\n class: 'v-navigation-drawer__border',\n })\n },\n init () {\n if (this.permanent) {\n this.isActive = true\n } else if (this.stateless ||\n this.modelValue != null\n ) {\n this.isActive = this.modelValue\n } else if (!this.temporary) {\n this.isActive = !this.isMobile\n }\n },\n onRouteChange () {\n if (this.reactsToRoute && this.closeConditional()) {\n this.isActive = false\n }\n },\n swipeLeft (e: TouchWrapper) {\n if (this.isActive && this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (this.right &&\n e.touchstartX >= this.touchArea.right\n ) this.isActive = true\n else if (!this.right && this.isActive) this.isActive = false\n },\n swipeRight (e: TouchWrapper) {\n if (this.isActive && !this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (!this.right &&\n e.touchstartX <= this.touchArea.left\n ) this.isActive = true\n else if (this.right && this.isActive) this.isActive = false\n },\n /**\n * Update the application layout\n */\n updateApplication () {\n if (\n !this.isActive ||\n this.isMobile ||\n this.temporary ||\n !this.$el\n ) return 0\n\n const width = Number(this.miniVariant ? this.miniVariantWidth : this.width)\n\n return isNaN(width) ? this.$el.clientWidth : width\n },\n updateMiniVariant (val: boolean) {\n if (this.expandOnHover && this.miniVariant !== val) this.$emit('update:mini-variant', val)\n },\n },\n\n render (): VNode {\n const children = [\n this.genPrepend(),\n this.genContent(),\n this.genAppend(),\n this.genBorder(),\n ]\n\n if (this.src || getSlot(this, 'img')) children.unshift(this.genBackground())\n\n const node = h(this.$tag, this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n ...this.genListeners(),\n }), children)\n\n return withDirectives(node, this.genDirectives())\n },\n})\n"],"sourceRoot":"","file":"VNavigationDrawer.js"}
@@ -377,7 +377,7 @@ var _default2 = baseMixins.extend({
377
377
  },
378
378
  closeConditional: function closeConditional(e) {
379
379
  if (!this.isMenuActive) return true;
380
- return !this._isDestroyed && ( // Click originates from outside the menu content
380
+ return !this.$.isUnmounted && ( // Click originates from outside the menu content
381
381
  // Multiple selects don't close when an item is clicked
382
382
  !this.getContent() || !this.getContent().contains(e.target)) && // Click originates from outside the element
383
383
  this.$el && !this.$el.contains(e.target) && e.target !== this.$el;