vuetify 2.6.2 → 2.6.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/json/web-types.json +9 -9
- package/dist/vuetify.css +18 -3
- package/dist/vuetify.css.map +1 -1
- package/dist/vuetify.js +96 -95
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +2 -2
- package/es5/components/VData/VData.js +2 -8
- package/es5/components/VData/VData.js.map +1 -1
- package/es5/components/VDialog/VDialog.js +4 -9
- package/es5/components/VDialog/VDialog.js.map +1 -1
- package/es5/components/VImg/VImg.js +6 -2
- package/es5/components/VImg/VImg.js.map +1 -1
- package/es5/components/VMenu/VMenu.js +4 -4
- package/es5/components/VMenu/VMenu.js.map +1 -1
- package/es5/components/VNavigationDrawer/VNavigationDrawer.js +1 -1
- package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
- package/es5/components/VPagination/VPagination.js +2 -1
- package/es5/components/VPagination/VPagination.js.map +1 -1
- package/es5/components/VResponsive/VResponsive.js +3 -1
- package/es5/components/VResponsive/VResponsive.js.map +1 -1
- package/es5/components/VSelect/VSelect.js +53 -49
- package/es5/components/VSelect/VSelect.js.map +1 -1
- package/es5/components/VTabs/VTab.js +1 -1
- package/es5/components/VTabs/VTab.js.map +1 -1
- package/es5/components/VTooltip/VTooltip.js +1 -3
- package/es5/components/VTooltip/VTooltip.js.map +1 -1
- package/es5/components/VTreeview/VTreeview.js +1 -1
- package/es5/components/VTreeview/VTreeview.js.map +1 -1
- package/es5/framework.js +1 -1
- package/es5/locale/es.js +3 -3
- package/es5/locale/es.js.map +1 -1
- package/es5/locale/fi.js +5 -5
- package/es5/locale/fi.js.map +1 -1
- package/es5/mixins/menuable/index.js +2 -1
- package/es5/mixins/menuable/index.js.map +1 -1
- package/es5/mixins/selectable/index.js +6 -4
- package/es5/mixins/selectable/index.js.map +1 -1
- package/lib/components/VData/VData.js +2 -4
- package/lib/components/VData/VData.js.map +1 -1
- package/lib/components/VDialog/VDialog.js +4 -8
- package/lib/components/VDialog/VDialog.js.map +1 -1
- package/lib/components/VImg/VImg.js +5 -2
- package/lib/components/VImg/VImg.js.map +1 -1
- package/lib/components/VMenu/VMenu.js +4 -3
- package/lib/components/VMenu/VMenu.js.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.js +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
- package/lib/components/VPagination/VPagination.js +2 -1
- package/lib/components/VPagination/VPagination.js.map +1 -1
- package/lib/components/VResponsive/VResponsive.js +2 -1
- package/lib/components/VResponsive/VResponsive.js.map +1 -1
- package/lib/components/VSelect/VSelect.js +9 -7
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VTabs/VTab.js +1 -1
- package/lib/components/VTabs/VTab.js.map +1 -1
- package/lib/components/VTooltip/VTooltip.js +2 -3
- package/lib/components/VTooltip/VTooltip.js.map +1 -1
- package/lib/components/VTreeview/VTreeview.js +1 -1
- package/lib/components/VTreeview/VTreeview.js.map +1 -1
- package/lib/framework.js +1 -1
- package/lib/locale/es.js +3 -3
- package/lib/locale/es.js.map +1 -1
- package/lib/locale/fi.js +5 -5
- package/lib/locale/fi.js.map +1 -1
- package/lib/mixins/menuable/index.js +2 -1
- package/lib/mixins/menuable/index.js.map +1 -1
- package/lib/mixins/selectable/index.js +7 -5
- package/lib/mixins/selectable/index.js.map +1 -1
- package/package.json +4 -3
- package/src/components/VCalendar/VCalendarCategory.sass +9 -3
- package/src/components/VData/VData.ts +2 -4
- package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +4 -4
- package/src/components/VDialog/VDialog.ts +3 -6
- package/src/components/VDialog/__tests__/__snapshots__/VDialog.spec.ts.snap +14 -32
- package/src/components/VImg/VImg.ts +4 -2
- package/src/components/VMenu/VMenu.ts +3 -5
- package/src/components/VNavigationDrawer/VNavigationDrawer.ts +1 -1
- package/src/components/VNavigationDrawer/__tests__/VNavigationDrawer.spec.ts +1 -1
- package/src/components/VPagination/VPagination.ts +2 -1
- package/src/components/VPagination/__tests__/VPagination.spec.ts +3 -1
- package/src/components/VPagination/__tests__/__snapshots__/VPagination.spec.ts.snap +3 -3
- package/src/components/VResponsive/VResponsive.ts +2 -1
- package/src/components/VSelect/VSelect.ts +6 -8
- package/src/components/VTabs/VTab.ts +1 -1
- package/src/components/VTooltip/VTooltip.ts +1 -2
- package/src/components/VTreeview/VTreeview.ts +6 -1
- package/src/locale/es.ts +3 -3
- package/src/locale/fi.ts +5 -5
- package/src/mixins/menuable/index.ts +2 -1
- package/src/mixins/selectable/index.ts +6 -4
|
@@ -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 +=
|
|
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"}
|
|
@@ -114,10 +114,6 @@ export default mixins(VInput, Rippleable, Comparable).extend({
|
|
|
114
114
|
});
|
|
115
115
|
},
|
|
116
116
|
|
|
117
|
-
onBlur() {
|
|
118
|
-
this.isFocused = false;
|
|
119
|
-
},
|
|
120
|
-
|
|
121
117
|
onClick(e) {
|
|
122
118
|
this.onChange();
|
|
123
119
|
this.$emit('click', e);
|
|
@@ -152,8 +148,14 @@ export default mixins(VInput, Rippleable, Comparable).extend({
|
|
|
152
148
|
this.hasColor = input;
|
|
153
149
|
},
|
|
154
150
|
|
|
155
|
-
onFocus() {
|
|
151
|
+
onFocus(e) {
|
|
156
152
|
this.isFocused = true;
|
|
153
|
+
this.$emit('focus', e);
|
|
154
|
+
},
|
|
155
|
+
|
|
156
|
+
onBlur(e) {
|
|
157
|
+
this.isFocused = false;
|
|
158
|
+
this.$emit('blur', e);
|
|
157
159
|
},
|
|
158
160
|
|
|
159
161
|
/** @abstract */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/mixins/selectable/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../../../src/mixins/selectable/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VInput from '../../components/VInput'\n\n// Mixins\nimport Rippleable from '../rippleable'\nimport Comparable from '../comparable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\nexport function prevent (e: Event) {\n e.preventDefault()\n}\n\n/* @vue/component */\nexport default mixins(\n VInput,\n Rippleable,\n Comparable\n).extend({\n name: 'selectable',\n\n model: {\n prop: 'inputValue',\n event: 'change',\n },\n\n props: {\n id: String,\n inputValue: null as any,\n falseValue: null as any,\n trueValue: null as any,\n multiple: {\n type: Boolean,\n default: null,\n },\n label: String,\n },\n\n data () {\n return {\n hasColor: this.inputValue,\n lazyValue: this.inputValue,\n }\n },\n\n computed: {\n computedColor (): string | undefined {\n if (!this.isActive) return undefined\n if (this.color) return this.color\n if (this.isDark && !this.appIsDark) return 'white'\n return 'primary'\n },\n isMultiple (): boolean {\n return this.multiple === true || (this.multiple === null && Array.isArray(this.internalValue))\n },\n isActive (): boolean {\n const value = this.value\n const input = this.internalValue\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) return false\n\n return input.some(item => this.valueComparator(item, value))\n }\n\n if (this.trueValue === undefined || this.falseValue === undefined) {\n return value\n ? this.valueComparator(value, input)\n : Boolean(input)\n }\n\n return this.valueComparator(input, this.trueValue)\n },\n isDirty (): boolean {\n return this.isActive\n },\n rippleState (): string | undefined {\n return !this.isDisabled && !this.validationState\n ? undefined\n : this.validationState\n },\n },\n\n watch: {\n inputValue (val) {\n this.lazyValue = val\n this.hasColor = val\n },\n },\n\n methods: {\n genLabel () {\n const label = VInput.options.methods.genLabel.call(this)\n\n if (!label) return label\n\n label!.data!.on = {\n // Label shouldn't cause the input to focus\n click: prevent,\n }\n\n return label\n },\n genInput (type: string, attrs: object) {\n return this.$createElement('input', {\n attrs: Object.assign({\n 'aria-checked': this.isActive.toString(),\n disabled: this.isDisabled,\n id: this.computedId,\n role: type,\n type,\n }, attrs),\n domProps: {\n value: this.value,\n checked: this.isActive,\n },\n on: {\n blur: this.onBlur,\n change: this.onChange,\n focus: this.onFocus,\n keydown: this.onKeydown,\n click: prevent,\n },\n ref: 'input',\n })\n },\n onClick (e: Event) {\n this.onChange()\n this.$emit('click', e)\n },\n onChange () {\n if (!this.isInteractive) return\n\n const value = this.value\n let input = this.internalValue\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) {\n input = []\n }\n\n const length = input.length\n\n input = input.filter((item: any) => !this.valueComparator(item, value))\n\n if (input.length === length) {\n input.push(value)\n }\n } else if (this.trueValue !== undefined && this.falseValue !== undefined) {\n input = this.valueComparator(input, this.trueValue) ? this.falseValue : this.trueValue\n } else if (value) {\n input = this.valueComparator(input, value) ? null : value\n } else {\n input = !input\n }\n\n this.validate(true, input)\n this.internalValue = input\n this.hasColor = input\n },\n onFocus (e: FocusEvent) {\n this.isFocused = true\n this.$emit('focus', e)\n },\n onBlur (e: FocusEvent) {\n this.isFocused = false\n this.$emit('blur', e)\n },\n /** @abstract */\n onKeydown (e: Event) {},\n },\n})\n"],"sourceRoot":"","file":"index.js"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vuetify",
|
|
3
3
|
"description": "Vue Material Component Framework",
|
|
4
|
-
"version": "2.6.
|
|
4
|
+
"version": "2.6.5",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "John Leider",
|
|
7
7
|
"email": "john@vuetifyjs.com"
|
|
@@ -44,7 +44,8 @@
|
|
|
44
44
|
"dist/",
|
|
45
45
|
"lib/",
|
|
46
46
|
"es5/",
|
|
47
|
-
"types/"
|
|
47
|
+
"types/",
|
|
48
|
+
"CHANGELOG.md"
|
|
48
49
|
],
|
|
49
50
|
"scripts": {
|
|
50
51
|
"watch": "cross-env TARGET=development webpack --config build/config.js --progress --hide-modules --watch",
|
|
@@ -112,5 +113,5 @@
|
|
|
112
113
|
"attributes": "dist/json/attributes.json"
|
|
113
114
|
},
|
|
114
115
|
"web-types": "dist/json/web-types.json",
|
|
115
|
-
"gitHead": "
|
|
116
|
+
"gitHead": "ec76888ebd16e0e3bfd93e636eb6e256f65ded4c"
|
|
116
117
|
}
|
|
@@ -6,6 +6,15 @@
|
|
|
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-daily__head
|
|
10
|
+
background: map-deep-get($material, 'calendar', 'background-color')
|
|
11
|
+
|
|
12
|
+
.v-calendar-daily__intervals-head
|
|
13
|
+
background: map-deep-get($material, 'calendar', 'background-color')
|
|
14
|
+
|
|
15
|
+
.v-calendar-daily__intervals-body
|
|
16
|
+
background: map-deep-get($material, 'calendar', 'background-color')
|
|
17
|
+
|
|
9
18
|
.v-calendar-category
|
|
10
19
|
overflow: auto
|
|
11
20
|
position: relative
|
|
@@ -33,7 +42,6 @@
|
|
|
33
42
|
min-width: 100%
|
|
34
43
|
position: sticky
|
|
35
44
|
top: 0
|
|
36
|
-
background: white
|
|
37
45
|
z-index: 2
|
|
38
46
|
|
|
39
47
|
.v-calendar-daily_head-day
|
|
@@ -44,7 +52,6 @@
|
|
|
44
52
|
position: sticky
|
|
45
53
|
left: 0
|
|
46
54
|
top: 0
|
|
47
|
-
background: white
|
|
48
55
|
z-index: 2
|
|
49
56
|
|
|
50
57
|
.v-calendar-daily_head-weekday
|
|
@@ -63,7 +70,6 @@
|
|
|
63
70
|
.v-calendar-daily__intervals-body
|
|
64
71
|
position: sticky
|
|
65
72
|
left: 0
|
|
66
|
-
background: white
|
|
67
73
|
z-index: 1
|
|
68
74
|
|
|
69
75
|
.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
|
-
|
|
34
|
-
} as PropValidator<string | string[]>,
|
|
33
|
+
} as PropValidator<string | string[] | undefined>,
|
|
35
34
|
sortDesc: {
|
|
36
35
|
type: [Boolean, Array],
|
|
37
|
-
|
|
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>
|
|
@@ -11,7 +11,6 @@ import Detachable from '../../mixins/detachable'
|
|
|
11
11
|
import Overlayable from '../../mixins/overlayable'
|
|
12
12
|
import Returnable from '../../mixins/returnable'
|
|
13
13
|
import Stackable from '../../mixins/stackable'
|
|
14
|
-
import Toggleable from '../../mixins/toggleable'
|
|
15
14
|
|
|
16
15
|
// Directives
|
|
17
16
|
import ClickOutside from '../../directives/click-outside'
|
|
@@ -28,13 +27,12 @@ import {
|
|
|
28
27
|
import { VNode, VNodeData } from 'vue'
|
|
29
28
|
|
|
30
29
|
const baseMixins = mixins(
|
|
31
|
-
Activatable,
|
|
32
30
|
Dependent,
|
|
33
31
|
Detachable,
|
|
34
32
|
Overlayable,
|
|
35
33
|
Returnable,
|
|
36
34
|
Stackable,
|
|
37
|
-
|
|
35
|
+
Activatable,
|
|
38
36
|
)
|
|
39
37
|
|
|
40
38
|
/* @vue/component */
|
|
@@ -72,7 +70,6 @@ export default baseMixins.extend({
|
|
|
72
70
|
activatedBy: null as EventTarget | null,
|
|
73
71
|
animate: false,
|
|
74
72
|
animateTimeout: -1,
|
|
75
|
-
isActive: !!this.value,
|
|
76
73
|
stackMinZIndex: 200,
|
|
77
74
|
previousActiveElement: null as HTMLElement | null,
|
|
78
75
|
}
|
|
@@ -253,8 +250,9 @@ export default baseMixins.extend({
|
|
|
253
250
|
this.$createElement('div', {
|
|
254
251
|
class: this.contentClasses,
|
|
255
252
|
attrs: {
|
|
256
|
-
role: '
|
|
253
|
+
role: 'dialog',
|
|
257
254
|
tabindex: this.isActive ? 0 : undefined,
|
|
255
|
+
'aria-modal': this.hideOverlay ? undefined : 'true',
|
|
258
256
|
...this.getScopeIdAttrs(),
|
|
259
257
|
},
|
|
260
258
|
on: { keydown: this.onKeydown },
|
|
@@ -318,7 +316,6 @@ export default baseMixins.extend({
|
|
|
318
316
|
this.attach === true ||
|
|
319
317
|
this.attach === 'attach',
|
|
320
318
|
},
|
|
321
|
-
attrs: { role: 'dialog' },
|
|
322
319
|
}, [
|
|
323
320
|
this.genActivator(),
|
|
324
321
|
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="
|
|
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="
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
93
|
-
class="v-dialog__container"
|
|
94
|
-
>
|
|
76
|
+
<div class="v-dialog__container">
|
|
95
77
|
</div>
|
|
96
78
|
`;
|
|
@@ -18,6 +18,7 @@ import Themeable from '../../mixins/themeable'
|
|
|
18
18
|
import mixins from '../../util/mixins'
|
|
19
19
|
import mergeData from '../../util/mergeData'
|
|
20
20
|
import { consoleWarn } from '../../util/console'
|
|
21
|
+
import { getSlot } from '../../util/helpers'
|
|
21
22
|
|
|
22
23
|
// not intended for public use, this is passed in by vuetify-loader
|
|
23
24
|
export interface srcObject {
|
|
@@ -250,11 +251,12 @@ export default mixins(
|
|
|
250
251
|
return content
|
|
251
252
|
},
|
|
252
253
|
__genPlaceholder (): VNode | void {
|
|
253
|
-
|
|
254
|
+
const slot = getSlot(this, 'placeholder')
|
|
255
|
+
if (slot) {
|
|
254
256
|
const placeholder = this.isLoading
|
|
255
257
|
? [this.$createElement('div', {
|
|
256
258
|
staticClass: 'v-image__placeholder',
|
|
257
|
-
},
|
|
259
|
+
}, slot)]
|
|
258
260
|
: []
|
|
259
261
|
|
|
260
262
|
if (!this.transition) return placeholder[0]
|
|
@@ -11,7 +11,6 @@ import Dependent from '../../mixins/dependent'
|
|
|
11
11
|
import Menuable from '../../mixins/menuable'
|
|
12
12
|
import Returnable from '../../mixins/returnable'
|
|
13
13
|
import Roundable from '../../mixins/roundable'
|
|
14
|
-
import Toggleable from '../../mixins/toggleable'
|
|
15
14
|
import Themeable from '../../mixins/themeable'
|
|
16
15
|
|
|
17
16
|
// Directives
|
|
@@ -33,11 +32,10 @@ import { VNode, VNodeDirective, VNodeData } from 'vue'
|
|
|
33
32
|
const baseMixins = mixins(
|
|
34
33
|
Dependent,
|
|
35
34
|
Delayable,
|
|
36
|
-
Menuable,
|
|
37
35
|
Returnable,
|
|
38
36
|
Roundable,
|
|
39
|
-
|
|
40
|
-
|
|
37
|
+
Themeable,
|
|
38
|
+
Menuable,
|
|
41
39
|
)
|
|
42
40
|
|
|
43
41
|
/* @vue/component */
|
|
@@ -399,7 +397,7 @@ export default baseMixins.extend({
|
|
|
399
397
|
mouseLeaveHandler (e: MouseEvent) {
|
|
400
398
|
// Prevent accidental re-activation
|
|
401
399
|
this.runDelay('close', () => {
|
|
402
|
-
if (this.$refs.content
|
|
400
|
+
if (this.$refs.content?.contains(e.relatedTarget as HTMLElement)) return
|
|
403
401
|
|
|
404
402
|
requestAnimationFrame(() => {
|
|
405
403
|
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
|
|
394
|
+
expect(calls).toEqual([true])
|
|
395
395
|
})
|
|
396
396
|
|
|
397
397
|
it('should react to open / close from touch events', async () => {
|
|
@@ -138,7 +138,7 @@ export default mixins(
|
|
|
138
138
|
},
|
|
139
139
|
},
|
|
140
140
|
|
|
141
|
-
|
|
141
|
+
beforeMount () {
|
|
142
142
|
this.init()
|
|
143
143
|
},
|
|
144
144
|
|
|
@@ -146,6 +146,7 @@ export default mixins(
|
|
|
146
146
|
init () {
|
|
147
147
|
this.selected = null
|
|
148
148
|
|
|
149
|
+
this.onResize()
|
|
149
150
|
this.$nextTick(this.onResize)
|
|
150
151
|
// TODO: Change this (f75dee3a, cbdf7caa)
|
|
151
152
|
setTimeout(() => (this.selected = this.value), 100)
|
|
@@ -229,7 +229,7 @@ describe('VPagination.ts', () => {
|
|
|
229
229
|
|
|
230
230
|
const pagination = wrapper.find(VPagination.options)
|
|
231
231
|
|
|
232
|
-
expect(pagination.vm.maxButtons).toBe(
|
|
232
|
+
expect(pagination.vm.maxButtons).toBe(22)
|
|
233
233
|
|
|
234
234
|
pagination.vm.onResize()
|
|
235
235
|
|
|
@@ -249,6 +249,8 @@ describe('VPagination.ts', () => {
|
|
|
249
249
|
},
|
|
250
250
|
})
|
|
251
251
|
|
|
252
|
+
wrapper.setData({ maxButtons: 4 })
|
|
253
|
+
|
|
252
254
|
expect(wrapper.vm.items).toHaveLength(4)
|
|
253
255
|
|
|
254
256
|
wrapper.setData({ maxButtons: 12 })
|
|
@@ -244,9 +244,9 @@ exports[`VPagination.ts should only render middle of range if length is big and
|
|
|
244
244
|
</li>
|
|
245
245
|
<li>
|
|
246
246
|
<button type="button"
|
|
247
|
+
aria-current="true"
|
|
247
248
|
aria-label="$vuetify.pagination.ariaLabel.currentPage"
|
|
248
249
|
class="v-pagination__item v-pagination__item--active primary"
|
|
249
|
-
aria-current="true"
|
|
250
250
|
>
|
|
251
251
|
50
|
|
252
252
|
</button>
|
|
@@ -628,7 +628,7 @@ exports[`VPagination.ts should render component in RTL mode and match snapshot 1
|
|
|
628
628
|
class="v-pagination__navigation"
|
|
629
629
|
>
|
|
630
630
|
<i aria-hidden="true"
|
|
631
|
-
class="v-icon notranslate mdi mdi-chevron-
|
|
631
|
+
class="v-icon notranslate mdi mdi-chevron-left theme--light"
|
|
632
632
|
>
|
|
633
633
|
</i>
|
|
634
634
|
</button>
|
|
@@ -680,7 +680,7 @@ exports[`VPagination.ts should render component in RTL mode and match snapshot 1
|
|
|
680
680
|
class="v-pagination__navigation"
|
|
681
681
|
>
|
|
682
682
|
<i aria-hidden="true"
|
|
683
|
-
class="v-icon notranslate mdi mdi-chevron-
|
|
683
|
+
class="v-icon notranslate mdi mdi-chevron-right theme--light"
|
|
684
684
|
>
|
|
685
685
|
</i>
|
|
686
686
|
</button>
|
|
@@ -8,6 +8,7 @@ import { VNode } from 'vue'
|
|
|
8
8
|
|
|
9
9
|
// Utils
|
|
10
10
|
import mixins from '../../util/mixins'
|
|
11
|
+
import { getSlot } from '../../util/helpers'
|
|
11
12
|
|
|
12
13
|
/* @vue/component */
|
|
13
14
|
export default mixins(Measurable).extend({
|
|
@@ -42,7 +43,7 @@ export default mixins(Measurable).extend({
|
|
|
42
43
|
return this.$createElement('div', {
|
|
43
44
|
staticClass: 'v-responsive__content',
|
|
44
45
|
class: this.contentClass,
|
|
45
|
-
}, this
|
|
46
|
+
}, getSlot(this))
|
|
46
47
|
},
|
|
47
48
|
},
|
|
48
49
|
|
|
@@ -257,6 +257,12 @@ export default baseMixins.extend<options>().extend({
|
|
|
257
257
|
internalValue (val) {
|
|
258
258
|
this.initialValue = val
|
|
259
259
|
this.setSelectedItems()
|
|
260
|
+
|
|
261
|
+
if (this.multiple) {
|
|
262
|
+
this.$nextTick(() => {
|
|
263
|
+
this.$refs.menu?.updateDimensions()
|
|
264
|
+
})
|
|
265
|
+
}
|
|
260
266
|
},
|
|
261
267
|
isMenuActive (val) {
|
|
262
268
|
window.setTimeout(() => this.onMenuActiveChange(val))
|
|
@@ -836,14 +842,6 @@ export default baseMixins.extend<options>().extend({
|
|
|
836
842
|
return this.returnObject ? i : this.getValue(i)
|
|
837
843
|
}))
|
|
838
844
|
|
|
839
|
-
// When selecting multiple
|
|
840
|
-
// adjust menu after each
|
|
841
|
-
// selection
|
|
842
|
-
this.$nextTick(() => {
|
|
843
|
-
this.$refs.menu &&
|
|
844
|
-
(this.$refs.menu as { [key: string]: any }).updateDimensions()
|
|
845
|
-
})
|
|
846
|
-
|
|
847
845
|
// There is no item to re-highlight
|
|
848
846
|
// when selections are hidden
|
|
849
847
|
if (this.hideSelected) {
|