@vuetify/nightly 2.6.2 → 2.6.3

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 (44) hide show
  1. package/dist/json/web-types.json +9 -9
  2. package/dist/vuetify.css +18 -3
  3. package/dist/vuetify.css.map +1 -1
  4. package/dist/vuetify.js +13 -18
  5. package/dist/vuetify.js.map +1 -1
  6. package/dist/vuetify.min.css +2 -2
  7. package/dist/vuetify.min.js +2 -2
  8. package/es5/components/VData/VData.js +2 -8
  9. package/es5/components/VData/VData.js.map +1 -1
  10. package/es5/components/VDialog/VDialog.js +3 -5
  11. package/es5/components/VDialog/VDialog.js.map +1 -1
  12. package/es5/components/VMenu/VMenu.js +3 -1
  13. package/es5/components/VMenu/VMenu.js.map +1 -1
  14. package/es5/components/VNavigationDrawer/VNavigationDrawer.js +1 -1
  15. package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  16. package/es5/components/VTabs/VTab.js +1 -1
  17. package/es5/components/VTabs/VTab.js.map +1 -1
  18. package/es5/framework.js +1 -1
  19. package/es5/mixins/menuable/index.js +2 -1
  20. package/es5/mixins/menuable/index.js.map +1 -1
  21. package/lib/components/VData/VData.js +2 -4
  22. package/lib/components/VData/VData.js.map +1 -1
  23. package/lib/components/VDialog/VDialog.js +2 -4
  24. package/lib/components/VDialog/VDialog.js.map +1 -1
  25. package/lib/components/VMenu/VMenu.js +3 -1
  26. package/lib/components/VMenu/VMenu.js.map +1 -1
  27. package/lib/components/VNavigationDrawer/VNavigationDrawer.js +1 -1
  28. package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  29. package/lib/components/VTabs/VTab.js +1 -1
  30. package/lib/components/VTabs/VTab.js.map +1 -1
  31. package/lib/framework.js +1 -1
  32. package/lib/mixins/menuable/index.js +2 -1
  33. package/lib/mixins/menuable/index.js.map +1 -1
  34. package/package.json +1 -1
  35. package/src/components/VCalendar/VCalendarCategory.sass +10 -3
  36. package/src/components/VData/VData.ts +2 -4
  37. package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +4 -4
  38. package/src/components/VDialog/VDialog.ts +2 -2
  39. package/src/components/VDialog/__tests__/__snapshots__/VDialog.spec.ts.snap +14 -32
  40. package/src/components/VMenu/VMenu.ts +1 -1
  41. package/src/components/VNavigationDrawer/VNavigationDrawer.ts +1 -1
  42. package/src/components/VNavigationDrawer/__tests__/VNavigationDrawer.spec.ts +1 -1
  43. package/src/components/VTabs/VTab.ts +1 -1
  44. package/src/mixins/menuable/index.ts +2 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VNavigationDrawer/VNavigationDrawer.ts"],"names":[],"mappings":"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","sourcesContent":["// 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 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 directives: {\n ClickOutside,\n Resize,\n Touch,\n },\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 default (): string {\n return this.app ? '100vh' : '100%'\n },\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 default (): string {\n return this.app ? 'nav' : 'aside'\n },\n },\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n value: null as unknown as PropType<any>,\n },\n\n data: () => ({\n isMouseover: false,\n touchArea: {\n left: 0,\n right: 0,\n },\n stackMinZIndex: 6,\n }),\n\n computed: {\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.options.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('input', 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 value (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 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.$scopedSlots.img\n ? this.$scopedSlots.img(props)\n : this.$createElement(VImg, { props })\n\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__image',\n }, [image])\n },\n genDirectives (): VNodeDirective[] {\n const directives = [{\n name: 'click-outside',\n value: {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n }]\n\n if (!this.touchless && !this.stateless) {\n directives.push({\n name: 'touch',\n value: {\n parent: true,\n left: this.swipeLeft,\n right: this.swipeRight,\n },\n } as any)\n }\n\n return directives\n },\n genListeners () {\n const on: Record<string, (e: Event) => void> = {\n mouseenter: () => (this.isMouseover = true),\n mouseleave: () => (this.isMouseover = false),\n transitionend: (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.click = () => 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 this.$createElement('div', {\n staticClass: `v-navigation-drawer__${name}`,\n }, slot)\n },\n genPrepend () {\n return this.genPosition('prepend')\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__content',\n }, this.$slots.default)\n },\n genBorder () {\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__border',\n })\n },\n init () {\n if (this.permanent) {\n this.isActive = true\n } else if (this.stateless ||\n this.value != null\n ) {\n this.isActive = this.value\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.miniVariant !== val) this.$emit('update:mini-variant', val)\n },\n },\n\n render (h): 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 return h(this.tag, this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n directives: this.genDirectives(),\n on: this.genListeners(),\n }), children)\n },\n})\n"],"sourceRoot":"","file":"VNavigationDrawer.js"}
1
+ {"version":3,"sources":["../../../src/components/VNavigationDrawer/VNavigationDrawer.ts"],"names":[],"mappings":"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","sourcesContent":["// 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 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 directives: {\n ClickOutside,\n Resize,\n Touch,\n },\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 default (): string {\n return this.app ? '100vh' : '100%'\n },\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 default (): string {\n return this.app ? 'nav' : 'aside'\n },\n },\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n value: null as unknown as PropType<any>,\n },\n\n data: () => ({\n isMouseover: false,\n touchArea: {\n left: 0,\n right: 0,\n },\n stackMinZIndex: 6,\n }),\n\n computed: {\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.options.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('input', 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 value (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 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.$scopedSlots.img\n ? this.$scopedSlots.img(props)\n : this.$createElement(VImg, { props })\n\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__image',\n }, [image])\n },\n genDirectives (): VNodeDirective[] {\n const directives = [{\n name: 'click-outside',\n value: {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n }]\n\n if (!this.touchless && !this.stateless) {\n directives.push({\n name: 'touch',\n value: {\n parent: true,\n left: this.swipeLeft,\n right: this.swipeRight,\n },\n } as any)\n }\n\n return directives\n },\n genListeners () {\n const on: Record<string, (e: Event) => void> = {\n mouseenter: () => (this.isMouseover = true),\n mouseleave: () => (this.isMouseover = false),\n transitionend: (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.click = () => 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 this.$createElement('div', {\n staticClass: `v-navigation-drawer__${name}`,\n }, slot)\n },\n genPrepend () {\n return this.genPosition('prepend')\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__content',\n }, this.$slots.default)\n },\n genBorder () {\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__border',\n })\n },\n init () {\n if (this.permanent) {\n this.isActive = true\n } else if (this.stateless ||\n this.value != null\n ) {\n this.isActive = this.value\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 (h): 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 return h(this.tag, this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n directives: this.genDirectives(),\n on: this.genListeners(),\n }), children)\n },\n})\n"],"sourceRoot":"","file":"VNavigationDrawer.js"}
@@ -78,7 +78,7 @@ export default baseMixins.extend().extend().extend({
78
78
  data.attrs = { ...data.attrs,
79
79
  'aria-selected': String(this.isActive),
80
80
  role: 'tab',
81
- tabindex: 0
81
+ tabindex: this.disabled ? -1 : 0
82
82
  };
83
83
  data.on = { ...data.on,
84
84
  keydown: e => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VTabs/VTab.ts"],"names":[],"mappings":"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","sourcesContent":["// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Routable from '../../mixins/routable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { keyCodes } from './../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { ExtractVue } from './../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\n// Components\nimport VTabsBar from '../VTabs/VTabsBar'\n\nconst baseMixins = mixins(\n Routable,\n // Must be after routable\n // to overwrite activeClass\n GroupableFactory('tabsBar'),\n Themeable\n)\n\ntype VTabBarInstance = InstanceType<typeof VTabsBar>\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n tabsBar: VTabBarInstance\n}\n\nexport default baseMixins.extend<options>().extend(\n /* @vue/component */\n).extend({\n name: 'v-tab',\n\n props: {\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n },\n\n data: () => ({\n proxyClass: 'v-tab--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-tab': true,\n ...Routable.options.computed.classes.call(this),\n 'v-tab--disabled': this.disabled,\n ...this.groupClasses,\n }\n },\n value (): any {\n let to = this.to || this.href\n\n if (to == null) return to\n\n if (this.$router &&\n this.to === Object(this.to)\n ) {\n const resolve = this.$router.resolve(\n this.to,\n this.$route,\n this.append\n )\n\n to = resolve.href\n }\n\n return to.replace('#', '')\n },\n },\n\n methods: {\n click (e: KeyboardEvent | MouseEvent): void {\n // Prevent keyboard actions\n // from children elements\n // within disabled tabs\n if (this.disabled) {\n e.preventDefault()\n return\n }\n\n // If user provides an\n // actual link, do not\n // prevent default\n if (this.href &&\n this.href.indexOf('#') > -1\n ) e.preventDefault()\n\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n toggle () {\n // VItemGroup treats a change event as a click\n if (!this.isActive || (!this.tabsBar.mandatory && !this.to)) {\n this.$emit('change')\n }\n },\n },\n\n render (h): VNode {\n const { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n 'aria-selected': String(this.isActive),\n role: 'tab',\n tabindex: 0,\n }\n data.on = {\n ...data.on,\n keydown: (e: KeyboardEvent) => {\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n },\n }\n\n return h(tag, data, this.$slots.default)\n },\n})\n"],"sourceRoot":"","file":"VTab.js"}
1
+ {"version":3,"sources":["../../../src/components/VTabs/VTab.ts"],"names":[],"mappings":"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","sourcesContent":["// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Routable from '../../mixins/routable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { keyCodes } from './../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { ExtractVue } from './../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\n// Components\nimport VTabsBar from '../VTabs/VTabsBar'\n\nconst baseMixins = mixins(\n Routable,\n // Must be after routable\n // to overwrite activeClass\n GroupableFactory('tabsBar'),\n Themeable\n)\n\ntype VTabBarInstance = InstanceType<typeof VTabsBar>\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n tabsBar: VTabBarInstance\n}\n\nexport default baseMixins.extend<options>().extend(\n /* @vue/component */\n).extend({\n name: 'v-tab',\n\n props: {\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n },\n\n data: () => ({\n proxyClass: 'v-tab--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-tab': true,\n ...Routable.options.computed.classes.call(this),\n 'v-tab--disabled': this.disabled,\n ...this.groupClasses,\n }\n },\n value (): any {\n let to = this.to || this.href\n\n if (to == null) return to\n\n if (this.$router &&\n this.to === Object(this.to)\n ) {\n const resolve = this.$router.resolve(\n this.to,\n this.$route,\n this.append\n )\n\n to = resolve.href\n }\n\n return to.replace('#', '')\n },\n },\n\n methods: {\n click (e: KeyboardEvent | MouseEvent): void {\n // Prevent keyboard actions\n // from children elements\n // within disabled tabs\n if (this.disabled) {\n e.preventDefault()\n return\n }\n\n // If user provides an\n // actual link, do not\n // prevent default\n if (this.href &&\n this.href.indexOf('#') > -1\n ) e.preventDefault()\n\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n toggle () {\n // VItemGroup treats a change event as a click\n if (!this.isActive || (!this.tabsBar.mandatory && !this.to)) {\n this.$emit('change')\n }\n },\n },\n\n render (h): VNode {\n const { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n 'aria-selected': String(this.isActive),\n role: 'tab',\n tabindex: this.disabled ? -1 : 0,\n }\n data.on = {\n ...data.on,\n keydown: (e: KeyboardEvent) => {\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n },\n }\n\n return h(tag, data, this.$slots.default)\n },\n})\n"],"sourceRoot":"","file":"VTab.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.6.2";
49
+ Vuetify.version = "2.6.3";
50
50
  Vuetify.config = {
51
51
  silent: false
52
52
  };
@@ -100,7 +100,8 @@ export default baseMixins.extend().extend({
100
100
  const activatorLeft = (this.attach !== false ? a.offsetLeft : a.left) || 0;
101
101
  const minWidth = Math.max(a.width, c.width);
102
102
  let left = 0;
103
- left += this.left ? activatorLeft - (minWidth - a.width) : activatorLeft;
103
+ left += activatorLeft;
104
+ if (this.left || this.$vuetify.rtl && !this.right) left -= minWidth - a.width;
104
105
 
105
106
  if (this.offsetX) {
106
107
  const maxWidth = isNaN(Number(this.maxWidth)) ? a.width : Math.min(a.width, Number(this.maxWidth));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mixins/menuable/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Mixins\nimport Stackable from '../stackable'\nimport { factory as positionableFactory } from '../positionable'\nimport Activatable from '../activatable'\nimport Detachable from '../detachable'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Stackable,\n positionableFactory(['top', 'right', 'bottom', 'left', 'absolute']),\n Activatable,\n Detachable,\n)\n\ninterface dimensions {\n top: number\n left: number\n bottom: number\n right: number\n width: number\n height: number\n offsetTop: number\n scrollHeight: number\n offsetLeft: number\n}\n\ninterface options extends ExtractVue<typeof baseMixins> {\n attach: boolean | string | Element\n offsetY: boolean\n offsetX: boolean\n dimensions: {\n activator: dimensions\n content: dimensions\n }\n $refs: {\n content: HTMLElement\n activator: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'menuable',\n\n props: {\n allowOverflow: Boolean,\n light: Boolean,\n dark: Boolean,\n maxWidth: {\n type: [Number, String],\n default: 'auto',\n },\n minWidth: [Number, String],\n nudgeBottom: {\n type: [Number, String],\n default: 0,\n },\n nudgeLeft: {\n type: [Number, String],\n default: 0,\n },\n nudgeRight: {\n type: [Number, String],\n default: 0,\n },\n nudgeTop: {\n type: [Number, String],\n default: 0,\n },\n nudgeWidth: {\n type: [Number, String],\n default: 0,\n },\n offsetOverflow: Boolean,\n positionX: {\n type: Number,\n default: null,\n },\n positionY: {\n type: Number,\n default: null,\n },\n zIndex: {\n type: [Number, String],\n default: null,\n },\n },\n\n data: () => ({\n activatorNode: [] as VNode[],\n absoluteX: 0,\n absoluteY: 0,\n activatedBy: null as EventTarget | null,\n activatorFixed: false,\n dimensions: {\n activator: {\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n width: 0,\n height: 0,\n offsetTop: 0,\n scrollHeight: 0,\n offsetLeft: 0,\n },\n content: {\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n width: 0,\n height: 0,\n offsetTop: 0,\n scrollHeight: 0,\n },\n },\n relativeYOffset: 0,\n hasJustFocused: false,\n hasWindow: false,\n inputActivator: false,\n isContentActive: false,\n pageWidth: 0,\n pageYOffset: 0,\n stackClass: 'v-menu__content--active',\n stackMinZIndex: 6,\n }),\n\n computed: {\n computedLeft () {\n const a = this.dimensions.activator\n const c = this.dimensions.content\n const activatorLeft = (this.attach !== false ? a.offsetLeft : a.left) || 0\n const minWidth = Math.max(a.width, c.width)\n let left = 0\n left += this.left ? activatorLeft - (minWidth - a.width) : activatorLeft\n if (this.offsetX) {\n const maxWidth = isNaN(Number(this.maxWidth))\n ? a.width\n : Math.min(a.width, Number(this.maxWidth))\n\n left += this.left ? -maxWidth : a.width\n }\n if (this.nudgeLeft) left -= parseInt(this.nudgeLeft)\n if (this.nudgeRight) left += parseInt(this.nudgeRight)\n\n return left\n },\n computedTop () {\n const a = this.dimensions.activator\n const c = this.dimensions.content\n let top = 0\n\n if (this.top) top += a.height - c.height\n if (this.attach !== false) top += a.offsetTop\n else top += a.top + this.pageYOffset\n if (this.offsetY) top += this.top ? -a.height : a.height\n if (this.nudgeTop) top -= parseInt(this.nudgeTop)\n if (this.nudgeBottom) top += parseInt(this.nudgeBottom)\n\n return top\n },\n hasActivator (): boolean {\n return !!this.$slots.activator || !!this.$scopedSlots.activator || !!this.activator || !!this.inputActivator\n },\n absoluteYOffset (): number {\n return this.pageYOffset - this.relativeYOffset\n },\n },\n\n watch: {\n disabled (val) {\n val && this.callDeactivate()\n },\n isActive (val) {\n if (this.disabled) return\n\n val ? this.callActivate() : this.callDeactivate()\n },\n positionX: 'updateDimensions',\n positionY: 'updateDimensions',\n },\n\n beforeMount () {\n this.hasWindow = typeof window !== 'undefined'\n\n if (this.hasWindow) {\n window.addEventListener('resize', this.updateDimensions, false)\n }\n },\n\n beforeDestroy () {\n if (this.hasWindow) {\n window.removeEventListener('resize', this.updateDimensions, false)\n }\n },\n\n methods: {\n absolutePosition () {\n return {\n offsetTop: this.positionY || this.absoluteY,\n offsetLeft: this.positionX || this.absoluteX,\n scrollHeight: 0,\n top: this.positionY || this.absoluteY,\n bottom: this.positionY || this.absoluteY,\n left: this.positionX || this.absoluteX,\n right: this.positionX || this.absoluteX,\n height: 0,\n width: 0,\n }\n },\n activate () {},\n calcLeft (menuWidth: number) {\n return convertToUnit(this.attach !== false\n ? this.computedLeft\n : this.calcXOverflow(this.computedLeft, menuWidth))\n },\n calcTop () {\n return convertToUnit(this.attach !== false\n ? this.computedTop\n : this.calcYOverflow(this.computedTop))\n },\n calcXOverflow (left: number, menuWidth: number) {\n const xOverflow = left + menuWidth - this.pageWidth + 12\n\n if ((!this.left || this.right) && xOverflow > 0) {\n left = Math.max(left - xOverflow, 0)\n } else {\n left = Math.max(left, 12)\n }\n\n return left + this.getOffsetLeft()\n },\n calcYOverflow (top: number) {\n const documentHeight = this.getInnerHeight()\n const toTop = this.absoluteYOffset + documentHeight\n const activator = this.dimensions.activator\n const contentHeight = this.dimensions.content.height\n const totalHeight = top + contentHeight\n const isOverflowing = toTop < totalHeight\n\n // If overflowing bottom and offset\n // TODO: set 'bottom' position instead of 'top'\n if (isOverflowing &&\n this.offsetOverflow &&\n // If we don't have enough room to offset\n // the overflow, don't offset\n activator.top > contentHeight\n ) {\n top = this.pageYOffset + (activator.top - contentHeight)\n // If overflowing bottom\n } else if (isOverflowing && !this.allowOverflow) {\n top = toTop - contentHeight - 12\n // If overflowing top\n } else if (top < this.absoluteYOffset && !this.allowOverflow) {\n top = this.absoluteYOffset + 12\n }\n\n return top < 12 ? 12 : top\n },\n callActivate () {\n if (!this.hasWindow) return\n\n this.activate()\n },\n callDeactivate () {\n this.isContentActive = false\n\n this.deactivate()\n },\n checkForPageYOffset () {\n if (this.hasWindow) {\n this.pageYOffset = this.activatorFixed ? 0 : this.getOffsetTop()\n }\n },\n checkActivatorFixed () {\n if (this.attach !== false) return\n let el = this.getActivator()\n while (el) {\n if (window.getComputedStyle(el).position === 'fixed') {\n this.activatorFixed = true\n return\n }\n el = el.offsetParent as HTMLElement\n }\n this.activatorFixed = false\n },\n deactivate () {},\n genActivatorListeners () {\n const listeners = Activatable.options.methods.genActivatorListeners.call(this)\n\n const onClick = listeners.click\n\n if (onClick) {\n listeners.click = (e: MouseEvent & KeyboardEvent & FocusEvent) => {\n if (this.openOnClick) {\n onClick && onClick(e)\n }\n\n this.absoluteX = e.clientX\n this.absoluteY = e.clientY\n }\n }\n\n return listeners\n },\n getInnerHeight () {\n if (!this.hasWindow) return 0\n\n return window.innerHeight ||\n document.documentElement.clientHeight\n },\n getOffsetLeft () {\n if (!this.hasWindow) return 0\n\n return window.pageXOffset ||\n document.documentElement.scrollLeft\n },\n getOffsetTop () {\n if (!this.hasWindow) return 0\n\n return window.pageYOffset ||\n document.documentElement.scrollTop\n },\n getRoundedBoundedClientRect (el: Element) {\n const rect = el.getBoundingClientRect()\n return {\n top: Math.round(rect.top),\n left: Math.round(rect.left),\n bottom: Math.round(rect.bottom),\n right: Math.round(rect.right),\n width: Math.round(rect.width),\n height: Math.round(rect.height),\n }\n },\n measure (el: HTMLElement) {\n if (!el || !this.hasWindow) return null\n\n const rect = this.getRoundedBoundedClientRect(el)\n\n // Account for activator margin\n if (this.attach !== false) {\n const style = window.getComputedStyle(el)\n\n rect.left = parseInt(style.marginLeft!)\n rect.top = parseInt(style.marginTop!)\n }\n\n return rect\n },\n sneakPeek (cb: () => void) {\n requestAnimationFrame(() => {\n const el = this.$refs.content\n\n if (!el || el.style.display !== 'none') {\n cb()\n return\n }\n\n el.style.display = 'inline-block'\n cb()\n el.style.display = 'none'\n })\n },\n startTransition () {\n return new Promise<void>(resolve => requestAnimationFrame(() => {\n this.isContentActive = this.hasJustFocused = this.isActive\n resolve()\n }))\n },\n updateDimensions () {\n this.hasWindow = typeof window !== 'undefined'\n this.checkActivatorFixed()\n this.checkForPageYOffset()\n this.pageWidth = document.documentElement.clientWidth\n\n const dimensions: any = {\n activator: { ...this.dimensions.activator },\n content: { ...this.dimensions.content },\n }\n\n // Activator should already be shown\n if (!this.hasActivator || this.absolute) {\n dimensions.activator = this.absolutePosition()\n } else {\n const activator = this.getActivator()\n if (!activator) return\n\n dimensions.activator = this.measure(activator)\n dimensions.activator.offsetLeft = activator.offsetLeft\n if (this.attach !== false) {\n // account for css padding causing things to not line up\n // this is mostly for v-autocomplete, hopefully it won't break anything\n dimensions.activator.offsetTop = activator.offsetTop\n } else {\n dimensions.activator.offsetTop = 0\n }\n }\n\n // Display and hide to get dimensions\n this.sneakPeek(() => {\n if (this.$refs.content) {\n if (this.$refs.content.offsetParent) {\n const offsetRect = this.getRoundedBoundedClientRect(this.$refs.content.offsetParent)\n\n this.relativeYOffset = window.pageYOffset + offsetRect.top\n dimensions.activator.top -= this.relativeYOffset\n dimensions.activator.left -= window.pageXOffset + offsetRect.left\n }\n\n dimensions.content = this.measure(this.$refs.content)\n }\n\n this.dimensions = dimensions\n })\n },\n },\n})\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../src/mixins/menuable/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Mixins\nimport Stackable from '../stackable'\nimport { factory as positionableFactory } from '../positionable'\nimport Activatable from '../activatable'\nimport Detachable from '../detachable'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Stackable,\n positionableFactory(['top', 'right', 'bottom', 'left', 'absolute']),\n Activatable,\n Detachable,\n)\n\ninterface dimensions {\n top: number\n left: number\n bottom: number\n right: number\n width: number\n height: number\n offsetTop: number\n scrollHeight: number\n offsetLeft: number\n}\n\ninterface options extends ExtractVue<typeof baseMixins> {\n attach: boolean | string | Element\n offsetY: boolean\n offsetX: boolean\n dimensions: {\n activator: dimensions\n content: dimensions\n }\n $refs: {\n content: HTMLElement\n activator: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'menuable',\n\n props: {\n allowOverflow: Boolean,\n light: Boolean,\n dark: Boolean,\n maxWidth: {\n type: [Number, String],\n default: 'auto',\n },\n minWidth: [Number, String],\n nudgeBottom: {\n type: [Number, String],\n default: 0,\n },\n nudgeLeft: {\n type: [Number, String],\n default: 0,\n },\n nudgeRight: {\n type: [Number, String],\n default: 0,\n },\n nudgeTop: {\n type: [Number, String],\n default: 0,\n },\n nudgeWidth: {\n type: [Number, String],\n default: 0,\n },\n offsetOverflow: Boolean,\n positionX: {\n type: Number,\n default: null,\n },\n positionY: {\n type: Number,\n default: null,\n },\n zIndex: {\n type: [Number, String],\n default: null,\n },\n },\n\n data: () => ({\n activatorNode: [] as VNode[],\n absoluteX: 0,\n absoluteY: 0,\n activatedBy: null as EventTarget | null,\n activatorFixed: false,\n dimensions: {\n activator: {\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n width: 0,\n height: 0,\n offsetTop: 0,\n scrollHeight: 0,\n offsetLeft: 0,\n },\n content: {\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n width: 0,\n height: 0,\n offsetTop: 0,\n scrollHeight: 0,\n },\n },\n relativeYOffset: 0,\n hasJustFocused: false,\n hasWindow: false,\n inputActivator: false,\n isContentActive: false,\n pageWidth: 0,\n pageYOffset: 0,\n stackClass: 'v-menu__content--active',\n stackMinZIndex: 6,\n }),\n\n computed: {\n computedLeft () {\n const a = this.dimensions.activator\n const c = this.dimensions.content\n const activatorLeft = (this.attach !== false ? a.offsetLeft : a.left) || 0\n const minWidth = Math.max(a.width, c.width)\n let left = 0\n left += activatorLeft\n if (this.left || (this.$vuetify.rtl && !this.right)) left -= (minWidth - a.width)\n if (this.offsetX) {\n const maxWidth = isNaN(Number(this.maxWidth))\n ? a.width\n : Math.min(a.width, Number(this.maxWidth))\n\n left += this.left ? -maxWidth : a.width\n }\n if (this.nudgeLeft) left -= parseInt(this.nudgeLeft)\n if (this.nudgeRight) left += parseInt(this.nudgeRight)\n\n return left\n },\n computedTop () {\n const a = this.dimensions.activator\n const c = this.dimensions.content\n let top = 0\n\n if (this.top) top += a.height - c.height\n if (this.attach !== false) top += a.offsetTop\n else top += a.top + this.pageYOffset\n if (this.offsetY) top += this.top ? -a.height : a.height\n if (this.nudgeTop) top -= parseInt(this.nudgeTop)\n if (this.nudgeBottom) top += parseInt(this.nudgeBottom)\n\n return top\n },\n hasActivator (): boolean {\n return !!this.$slots.activator || !!this.$scopedSlots.activator || !!this.activator || !!this.inputActivator\n },\n absoluteYOffset (): number {\n return this.pageYOffset - this.relativeYOffset\n },\n },\n\n watch: {\n disabled (val) {\n val && this.callDeactivate()\n },\n isActive (val) {\n if (this.disabled) return\n\n val ? this.callActivate() : this.callDeactivate()\n },\n positionX: 'updateDimensions',\n positionY: 'updateDimensions',\n },\n\n beforeMount () {\n this.hasWindow = typeof window !== 'undefined'\n\n if (this.hasWindow) {\n window.addEventListener('resize', this.updateDimensions, false)\n }\n },\n\n beforeDestroy () {\n if (this.hasWindow) {\n window.removeEventListener('resize', this.updateDimensions, false)\n }\n },\n\n methods: {\n absolutePosition () {\n return {\n offsetTop: this.positionY || this.absoluteY,\n offsetLeft: this.positionX || this.absoluteX,\n scrollHeight: 0,\n top: this.positionY || this.absoluteY,\n bottom: this.positionY || this.absoluteY,\n left: this.positionX || this.absoluteX,\n right: this.positionX || this.absoluteX,\n height: 0,\n width: 0,\n }\n },\n activate () {},\n calcLeft (menuWidth: number) {\n return convertToUnit(this.attach !== false\n ? this.computedLeft\n : this.calcXOverflow(this.computedLeft, menuWidth))\n },\n calcTop () {\n return convertToUnit(this.attach !== false\n ? this.computedTop\n : this.calcYOverflow(this.computedTop))\n },\n calcXOverflow (left: number, menuWidth: number) {\n const xOverflow = left + menuWidth - this.pageWidth + 12\n\n if ((!this.left || this.right) && xOverflow > 0) {\n left = Math.max(left - xOverflow, 0)\n } else {\n left = Math.max(left, 12)\n }\n\n return left + this.getOffsetLeft()\n },\n calcYOverflow (top: number) {\n const documentHeight = this.getInnerHeight()\n const toTop = this.absoluteYOffset + documentHeight\n const activator = this.dimensions.activator\n const contentHeight = this.dimensions.content.height\n const totalHeight = top + contentHeight\n const isOverflowing = toTop < totalHeight\n\n // If overflowing bottom and offset\n // TODO: set 'bottom' position instead of 'top'\n if (isOverflowing &&\n this.offsetOverflow &&\n // If we don't have enough room to offset\n // the overflow, don't offset\n activator.top > contentHeight\n ) {\n top = this.pageYOffset + (activator.top - contentHeight)\n // If overflowing bottom\n } else if (isOverflowing && !this.allowOverflow) {\n top = toTop - contentHeight - 12\n // If overflowing top\n } else if (top < this.absoluteYOffset && !this.allowOverflow) {\n top = this.absoluteYOffset + 12\n }\n\n return top < 12 ? 12 : top\n },\n callActivate () {\n if (!this.hasWindow) return\n\n this.activate()\n },\n callDeactivate () {\n this.isContentActive = false\n\n this.deactivate()\n },\n checkForPageYOffset () {\n if (this.hasWindow) {\n this.pageYOffset = this.activatorFixed ? 0 : this.getOffsetTop()\n }\n },\n checkActivatorFixed () {\n if (this.attach !== false) return\n let el = this.getActivator()\n while (el) {\n if (window.getComputedStyle(el).position === 'fixed') {\n this.activatorFixed = true\n return\n }\n el = el.offsetParent as HTMLElement\n }\n this.activatorFixed = false\n },\n deactivate () {},\n genActivatorListeners () {\n const listeners = Activatable.options.methods.genActivatorListeners.call(this)\n\n const onClick = listeners.click\n\n if (onClick) {\n listeners.click = (e: MouseEvent & KeyboardEvent & FocusEvent) => {\n if (this.openOnClick) {\n onClick && onClick(e)\n }\n\n this.absoluteX = e.clientX\n this.absoluteY = e.clientY\n }\n }\n\n return listeners\n },\n getInnerHeight () {\n if (!this.hasWindow) return 0\n\n return window.innerHeight ||\n document.documentElement.clientHeight\n },\n getOffsetLeft () {\n if (!this.hasWindow) return 0\n\n return window.pageXOffset ||\n document.documentElement.scrollLeft\n },\n getOffsetTop () {\n if (!this.hasWindow) return 0\n\n return window.pageYOffset ||\n document.documentElement.scrollTop\n },\n getRoundedBoundedClientRect (el: Element) {\n const rect = el.getBoundingClientRect()\n return {\n top: Math.round(rect.top),\n left: Math.round(rect.left),\n bottom: Math.round(rect.bottom),\n right: Math.round(rect.right),\n width: Math.round(rect.width),\n height: Math.round(rect.height),\n }\n },\n measure (el: HTMLElement) {\n if (!el || !this.hasWindow) return null\n\n const rect = this.getRoundedBoundedClientRect(el)\n\n // Account for activator margin\n if (this.attach !== false) {\n const style = window.getComputedStyle(el)\n\n rect.left = parseInt(style.marginLeft!)\n rect.top = parseInt(style.marginTop!)\n }\n\n return rect\n },\n sneakPeek (cb: () => void) {\n requestAnimationFrame(() => {\n const el = this.$refs.content\n\n if (!el || el.style.display !== 'none') {\n cb()\n return\n }\n\n el.style.display = 'inline-block'\n cb()\n el.style.display = 'none'\n })\n },\n startTransition () {\n return new Promise<void>(resolve => requestAnimationFrame(() => {\n this.isContentActive = this.hasJustFocused = this.isActive\n resolve()\n }))\n },\n updateDimensions () {\n this.hasWindow = typeof window !== 'undefined'\n this.checkActivatorFixed()\n this.checkForPageYOffset()\n this.pageWidth = document.documentElement.clientWidth\n\n const dimensions: any = {\n activator: { ...this.dimensions.activator },\n content: { ...this.dimensions.content },\n }\n\n // Activator should already be shown\n if (!this.hasActivator || this.absolute) {\n dimensions.activator = this.absolutePosition()\n } else {\n const activator = this.getActivator()\n if (!activator) return\n\n dimensions.activator = this.measure(activator)\n dimensions.activator.offsetLeft = activator.offsetLeft\n if (this.attach !== false) {\n // account for css padding causing things to not line up\n // this is mostly for v-autocomplete, hopefully it won't break anything\n dimensions.activator.offsetTop = activator.offsetTop\n } else {\n dimensions.activator.offsetTop = 0\n }\n }\n\n // Display and hide to get dimensions\n this.sneakPeek(() => {\n if (this.$refs.content) {\n if (this.$refs.content.offsetParent) {\n const offsetRect = this.getRoundedBoundedClientRect(this.$refs.content.offsetParent)\n\n this.relativeYOffset = window.pageYOffset + offsetRect.top\n dimensions.activator.top -= this.relativeYOffset\n dimensions.activator.left -= window.pageXOffset + offsetRect.left\n }\n\n dimensions.content = this.measure(this.$refs.content)\n }\n\n this.dimensions = dimensions\n })\n },\n },\n})\n"],"sourceRoot":"","file":"index.js"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vuetify/nightly",
3
3
  "description": "Vue Material Component Framework",
4
- "version": "2.6.2",
4
+ "version": "2.6.3",
5
5
  "author": {
6
6
  "name": "John Leider",
7
7
  "email": "john@vuetifyjs.com"
@@ -6,6 +6,16 @@
6
6
  .v-calendar-category__column-header
7
7
  border-right: map-deep-get($material, 'calendar', 'line-color') $calendar-line-width solid
8
8
 
9
+ .v-calendar-category
10
+ .v-calendar-daily__head
11
+ background: map-deep-get($material, 'calendar', 'background-color')
12
+
13
+ .v-calendar-daily__intervals-head
14
+ background: map-deep-get($material, 'calendar', 'background-color')
15
+
16
+ .v-calendar-daily__intervals-body
17
+ background: map-deep-get($material, 'calendar', 'background-color')
18
+
9
19
  .v-calendar-category
10
20
  overflow: auto
11
21
  position: relative
@@ -33,7 +43,6 @@
33
43
  min-width: 100%
34
44
  position: sticky
35
45
  top: 0
36
- background: white
37
46
  z-index: 2
38
47
 
39
48
  .v-calendar-daily_head-day
@@ -44,7 +53,6 @@
44
53
  position: sticky
45
54
  left: 0
46
55
  top: 0
47
- background: white
48
56
  z-index: 2
49
57
 
50
58
  .v-calendar-daily_head-weekday
@@ -63,7 +71,6 @@
63
71
  .v-calendar-daily__intervals-body
64
72
  position: sticky
65
73
  left: 0
66
- background: white
67
74
  z-index: 1
68
75
 
69
76
  .v-calendar-daily__interval
@@ -30,12 +30,10 @@ export default Vue.extend({
30
30
  } as PropValidator<Partial<DataOptions>>,
31
31
  sortBy: {
32
32
  type: [String, Array],
33
- default: () => [],
34
- } as PropValidator<string | string[]>,
33
+ } as PropValidator<string | string[] | undefined>,
35
34
  sortDesc: {
36
35
  type: [Boolean, Array],
37
- default: () => [],
38
- } as PropValidator<boolean | boolean[]>,
36
+ } as PropValidator<boolean | boolean[] | undefined>,
39
37
  customSort: {
40
38
  type: Function,
41
39
  default: sortItems,
@@ -8312,16 +8312,16 @@ exports[`VDataTable.ts should render with group scoped slot 1`] = `
8312
8312
  </thead>
8313
8313
  <tbody>
8314
8314
  <div>
8315
- {"group":0,"options":{"page":1,"itemsPerPage":5,"sortBy":[],"sortDesc":[],"groupBy":["protein"],"groupDesc":[false],"mustSort":false,"multiSort":false},"isMobile":true,"items":[{"name":"Jelly bean","calories":375,"fat":0,"carbs":94,"protein":0,"iron":"0%"},{"name":"Lollipop","calories":392,"fat":0.2,"carbs":98,"protein":0,"iron":"2%"}],"headers":[{"text":"Dessert (100g serving)","align":"left","sortable":false,"value":"name"},{"text":"Calories","value":"calories"},{"text":"Fat (g)","value":"fat"},{"text":"Carbs (g)","value":"carbs"},{"text":"Iron (%)","value":"iron"}]}
8315
+ {"group":0,"options":{"page":1,"itemsPerPage":5,"sortBy":[],"sortDesc":[false],"groupBy":["protein"],"groupDesc":[false],"mustSort":false,"multiSort":false},"isMobile":true,"items":[{"name":"Jelly bean","calories":375,"fat":0,"carbs":94,"protein":0,"iron":"0%"},{"name":"Lollipop","calories":392,"fat":0.2,"carbs":98,"protein":0,"iron":"2%"}],"headers":[{"text":"Dessert (100g serving)","align":"left","sortable":false,"value":"name"},{"text":"Calories","value":"calories"},{"text":"Fat (g)","value":"fat"},{"text":"Carbs (g)","value":"carbs"},{"text":"Iron (%)","value":"iron"}]}
8316
8316
  </div>
8317
8317
  <div>
8318
- {"group":3.9,"options":{"page":1,"itemsPerPage":5,"sortBy":[],"sortDesc":[],"groupBy":["protein"],"groupDesc":[false],"mustSort":false,"multiSort":false},"isMobile":true,"items":[{"name":"Gingerbread","calories":356,"fat":16,"carbs":49,"protein":3.9,"iron":"16%"}],"headers":[{"text":"Dessert (100g serving)","align":"left","sortable":false,"value":"name"},{"text":"Calories","value":"calories"},{"text":"Fat (g)","value":"fat"},{"text":"Carbs (g)","value":"carbs"},{"text":"Iron (%)","value":"iron"}]}
8318
+ {"group":3.9,"options":{"page":1,"itemsPerPage":5,"sortBy":[],"sortDesc":[false],"groupBy":["protein"],"groupDesc":[false],"mustSort":false,"multiSort":false},"isMobile":true,"items":[{"name":"Gingerbread","calories":356,"fat":16,"carbs":49,"protein":3.9,"iron":"16%"}],"headers":[{"text":"Dessert (100g serving)","align":"left","sortable":false,"value":"name"},{"text":"Calories","value":"calories"},{"text":"Fat (g)","value":"fat"},{"text":"Carbs (g)","value":"carbs"},{"text":"Iron (%)","value":"iron"}]}
8319
8319
  </div>
8320
8320
  <div>
8321
- {"group":4,"options":{"page":1,"itemsPerPage":5,"sortBy":[],"sortDesc":[],"groupBy":["protein"],"groupDesc":[false],"mustSort":false,"multiSort":false},"isMobile":true,"items":[{"name":"Frozen Yogurt","calories":159,"fat":6,"carbs":24,"protein":4,"iron":"1%","class":"test"}],"headers":[{"text":"Dessert (100g serving)","align":"left","sortable":false,"value":"name"},{"text":"Calories","value":"calories"},{"text":"Fat (g)","value":"fat"},{"text":"Carbs (g)","value":"carbs"},{"text":"Iron (%)","value":"iron"}]}
8321
+ {"group":4,"options":{"page":1,"itemsPerPage":5,"sortBy":[],"sortDesc":[false],"groupBy":["protein"],"groupDesc":[false],"mustSort":false,"multiSort":false},"isMobile":true,"items":[{"name":"Frozen Yogurt","calories":159,"fat":6,"carbs":24,"protein":4,"iron":"1%","class":"test"}],"headers":[{"text":"Dessert (100g serving)","align":"left","sortable":false,"value":"name"},{"text":"Calories","value":"calories"},{"text":"Fat (g)","value":"fat"},{"text":"Carbs (g)","value":"carbs"},{"text":"Iron (%)","value":"iron"}]}
8322
8322
  </div>
8323
8323
  <div>
8324
- {"group":4.3,"options":{"page":1,"itemsPerPage":5,"sortBy":[],"sortDesc":[],"groupBy":["protein"],"groupDesc":[false],"mustSort":false,"multiSort":false},"isMobile":true,"items":[{"name":"Ice cream sandwich","calories":237,"fat":9,"carbs":37,"protein":4.3,"iron":"1%","class":["test","second"]}],"headers":[{"text":"Dessert (100g serving)","align":"left","sortable":false,"value":"name"},{"text":"Calories","value":"calories"},{"text":"Fat (g)","value":"fat"},{"text":"Carbs (g)","value":"carbs"},{"text":"Iron (%)","value":"iron"}]}
8324
+ {"group":4.3,"options":{"page":1,"itemsPerPage":5,"sortBy":[],"sortDesc":[false],"groupBy":["protein"],"groupDesc":[false],"mustSort":false,"multiSort":false},"isMobile":true,"items":[{"name":"Ice cream sandwich","calories":237,"fat":9,"carbs":37,"protein":4.3,"iron":"1%","class":["test","second"]}],"headers":[{"text":"Dessert (100g serving)","align":"left","sortable":false,"value":"name"},{"text":"Calories","value":"calories"},{"text":"Fat (g)","value":"fat"},{"text":"Carbs (g)","value":"carbs"},{"text":"Iron (%)","value":"iron"}]}
8325
8325
  </div>
8326
8326
  </tbody>
8327
8327
  </table>
@@ -253,8 +253,9 @@ export default baseMixins.extend({
253
253
  this.$createElement('div', {
254
254
  class: this.contentClasses,
255
255
  attrs: {
256
- role: 'document',
256
+ role: 'dialog',
257
257
  tabindex: this.isActive ? 0 : undefined,
258
+ 'aria-modal': this.hideOverlay ? undefined : 'true',
258
259
  ...this.getScopeIdAttrs(),
259
260
  },
260
261
  on: { keydown: this.onKeydown },
@@ -318,7 +319,6 @@ export default baseMixins.extend({
318
319
  this.attach === true ||
319
320
  this.attach === 'attach',
320
321
  },
321
- attrs: { role: 'dialog' },
322
322
  }, [
323
323
  this.genActivator(),
324
324
  this.genContent(),
@@ -1,7 +1,8 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
3
  exports[`VDialog.ts should only set tabindex if active 1`] = `
4
- <div role="document"
4
+ <div role="dialog"
5
+ aria-modal="true"
5
6
  class="v-dialog__content"
6
7
  style="z-index: 0;"
7
8
  >
@@ -13,7 +14,8 @@ exports[`VDialog.ts should only set tabindex if active 1`] = `
13
14
  `;
14
15
 
15
16
  exports[`VDialog.ts should only set tabindex if active 2`] = `
16
- <div role="document"
17
+ <div role="dialog"
18
+ aria-modal="true"
17
19
  class="v-dialog__content v-dialog__content--active"
18
20
  style="z-index: 202; z-index: 202;"
19
21
  tabindex="0"
@@ -26,71 +28,51 @@ exports[`VDialog.ts should only set tabindex if active 2`] = `
26
28
  `;
27
29
 
28
30
  exports[`VDialog.ts should render a disabled component and match snapshot 1`] = `
29
- <div role="dialog"
30
- class="v-dialog__container"
31
- >
31
+ <div class="v-dialog__container">
32
32
  </div>
33
33
  `;
34
34
 
35
35
  exports[`VDialog.ts should render a eager component and match snapshot 1`] = `
36
- <div role="dialog"
37
- class="v-dialog__container"
38
- >
36
+ <div class="v-dialog__container">
39
37
  </div>
40
38
  `;
41
39
 
42
40
  exports[`VDialog.ts should render a fullscreen component and match snapshot 1`] = `
43
- <div role="dialog"
44
- class="v-dialog__container"
45
- >
41
+ <div class="v-dialog__container">
46
42
  </div>
47
43
  `;
48
44
 
49
45
  exports[`VDialog.ts should render a persistent component and match snapshot 1`] = `
50
- <div role="dialog"
51
- class="v-dialog__container"
52
- >
46
+ <div class="v-dialog__container">
53
47
  </div>
54
48
  `;
55
49
 
56
50
  exports[`VDialog.ts should render a scrollable component and match snapshot 1`] = `
57
- <div role="dialog"
58
- class="v-dialog__container"
59
- >
51
+ <div class="v-dialog__container">
60
52
  </div>
61
53
  `;
62
54
 
63
55
  exports[`VDialog.ts should render component and match snapshot 1`] = `
64
- <div role="dialog"
65
- class="v-dialog__container"
66
- >
56
+ <div class="v-dialog__container">
67
57
  </div>
68
58
  `;
69
59
 
70
60
  exports[`VDialog.ts should render component with custom origin and match snapshot 1`] = `
71
- <div role="dialog"
72
- class="v-dialog__container"
73
- >
61
+ <div class="v-dialog__container">
74
62
  </div>
75
63
  `;
76
64
 
77
65
  exports[`VDialog.ts should render component with custom transition and match snapshot 1`] = `
78
- <div role="dialog"
79
- class="v-dialog__container"
80
- >
66
+ <div class="v-dialog__container">
81
67
  </div>
82
68
  `;
83
69
 
84
70
  exports[`VDialog.ts should render component with custom width (max-width) and match snapshot 1`] = `
85
- <div role="dialog"
86
- class="v-dialog__container"
87
- >
71
+ <div class="v-dialog__container">
88
72
  </div>
89
73
  `;
90
74
 
91
75
  exports[`VDialog.ts should render component with custom width and match snapshot 1`] = `
92
- <div role="dialog"
93
- class="v-dialog__container"
94
- >
76
+ <div class="v-dialog__container">
95
77
  </div>
96
78
  `;
@@ -399,7 +399,7 @@ export default baseMixins.extend({
399
399
  mouseLeaveHandler (e: MouseEvent) {
400
400
  // Prevent accidental re-activation
401
401
  this.runDelay('close', () => {
402
- if (this.$refs.content.contains(e.relatedTarget as HTMLElement)) return
402
+ if (this.$refs.content?.contains(e.relatedTarget as HTMLElement)) return
403
403
 
404
404
  requestAnimationFrame(() => {
405
405
  this.isActive = false
@@ -444,7 +444,7 @@ export default baseMixins.extend({
444
444
  return isNaN(width) ? this.$el.clientWidth : width
445
445
  },
446
446
  updateMiniVariant (val: boolean) {
447
- if (this.miniVariant !== val) this.$emit('update:mini-variant', val)
447
+ if (this.expandOnHover && this.miniVariant !== val) this.$emit('update:mini-variant', val)
448
448
  },
449
449
  },
450
450
 
@@ -391,7 +391,7 @@ describe('VNavigationDrawer', () => { // eslint-disable-line max-statements
391
391
  wrapper.setProps({ expandOnHover: false })
392
392
  await wrapper.vm.$nextTick()
393
393
 
394
- expect(calls).toEqual([true, false])
394
+ expect(calls).toEqual([true])
395
395
  })
396
396
 
397
397
  it('should react to open / close from touch events', async () => {
@@ -113,7 +113,7 @@ export default baseMixins.extend<options>().extend(
113
113
  ...data.attrs,
114
114
  'aria-selected': String(this.isActive),
115
115
  role: 'tab',
116
- tabindex: 0,
116
+ tabindex: this.disabled ? -1 : 0,
117
117
  }
118
118
  data.on = {
119
119
  ...data.on,
@@ -139,7 +139,8 @@ export default baseMixins.extend<options>().extend({
139
139
  const activatorLeft = (this.attach !== false ? a.offsetLeft : a.left) || 0
140
140
  const minWidth = Math.max(a.width, c.width)
141
141
  let left = 0
142
- left += this.left ? activatorLeft - (minWidth - a.width) : activatorLeft
142
+ left += activatorLeft
143
+ if (this.left || (this.$vuetify.rtl && !this.right)) left -= (minWidth - a.width)
143
144
  if (this.offsetX) {
144
145
  const maxWidth = isNaN(Number(this.maxWidth))
145
146
  ? a.width