@dimailn/vuetify 2.7.2-alpha3 → 2.7.2-alpha4

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.
@@ -44,7 +44,7 @@ var _default = (0, _mixins.default)(_colorable.default, _themeable.default, _tog
44
44
  type: [Number, String],
45
45
  default: 0.46
46
46
  },
47
- value: {
47
+ modelValue: {
48
48
  default: true
49
49
  },
50
50
  zIndex: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VOverlay/VOverlay.ts"],"names":[],"mappings":";;;;;;;AAAA;;AAEA;;AAGA;;AACA;;AACA;;AAGA;;AACA;;;;;;;;;;AAKA;eACe,qBACb,kBADa,EAEb,kBAFa,EAGb,mBAHa,EAIb,MAJa,CAIN;AACP,EAAA,IAAI,EAAE,WADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,QAAQ,EAAE,OADL;AAEL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,MADD;AAEL,MAAA,OAAO,EAAE;AAFJ,KAFF;AAML,IAAA,IAAI,EAAE;AACJ,MAAA,IAAI,EAAE,OADF;AAEJ,MAAA,OAAO,EAAE;AAFL,KAND;AAUL,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADC;AAEP,MAAA,OAAO,EAAE;AAFF,KAVJ;AAcL,IAAA,KAAK,EAAE;AACL,MAAA,OAAO,EAAE;AADJ,KAdF;AAiBL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADA;AAEN,MAAA,OAAO,EAAE;AAFH;AAjBH,GAHA;AA0BP,EAAA,QAAQ,EAAE;AACR,IAAA,OADQ,qBACD;AACL,UAAM,IAAI,GAAG,KAAK,kBAAL,CAAwB,KAAK,KAA7B,EAAoC;AAC/C,QAAA,KAAK,EAAE;AAAC,8BAAoB;AAArB,SADwC;AAE/C,QAAA,KAAK,EAAE;AACL,UAAA,OAAO,EAAE,KAAK;AADT;AAFwC,OAApC,CAAb;AAOA,aAAO,YAAE,KAAF,EAAS,IAAT,CAAP;AACD,KAVO;AAWR,IAAA,OAXQ,qBAWD;AACL;AACE,+BAAuB,KAAK,QAD9B;AAEE,6BAAqB,KAAK;AAF5B,SAGK,KAAK,YAHV;AAKD,KAjBO;AAkBR,IAAA,eAlBQ,6BAkBO;AACb,aAAO,MAAM,CAAC,KAAK,QAAL,GAAgB,KAAK,OAArB,GAA+B,CAAhC,CAAb;AACD,KApBO;AAqBR,IAAA,MArBQ,oBAqBF;AACJ,aAAO;AACL,QAAA,MAAM,EAAE,KAAK;AADR,OAAP;AAGD;AAzBO,GA1BH;AAsDP,EAAA,OAAO,EAAE;AACP,IAAA,UADO,wBACG;AACR,aAAO,YAAE,KAAF,EAAS;AACd,QAAA,KAAK,EAAE;AADO,OAAT,EAEJ,sBAAQ,IAAR,CAFI,CAAP;AAGD;AALM,GAtDF;AA8DP,EAAA,MA9DO,oBA8DD;AACJ,QAAM,QAAQ,GAAG,CAAC,KAAK,OAAN,CAAjB;AAEA,QAAI,KAAK,QAAT,EAAmB,QAAQ,CAAC,IAAT,CAAc,KAAK,UAAL,EAAd;AAEnB,WAAO,YAAE,KAAF,EAAS;AACd,MAAA,EAAE,EAAE,KAAK,UADK;AAEd,MAAA,KAAK,EAAE,CAAC,WAAD,EAAc,KAAK,OAAnB,CAFO;AAGd,MAAA,KAAK,EAAE,KAAK;AAHE,KAAT,EAIJ,QAJI,CAAP;AAKD;AAxEM,CAJM,C","sourcesContent":["import {h} from 'vue'\n// Styles\nimport './VOverlay.sass'\n\n// Mixins\nimport Colorable from './../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from './../../mixins/toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Themeable,\n Toggleable\n).extend({\n name: 'v-overlay',\n\n props: {\n absolute: Boolean,\n color: {\n type: String,\n default: '#212121',\n },\n dark: {\n type: Boolean,\n default: true,\n },\n opacity: {\n type: [Number, String],\n default: 0.46,\n },\n value: {\n default: true,\n },\n zIndex: {\n type: [Number, String],\n default: 5,\n },\n },\n\n computed: {\n __scrim (): VNode {\n const data = this.setBackgroundColor(this.color, {\n class: {'v-overlay__scrim': true},\n style: {\n opacity: this.computedOpacity,\n },\n })\n\n return h('div', data)\n },\n classes (): object {\n return {\n 'v-overlay--absolute': this.absolute,\n 'v-overlay--active': this.isActive,\n ...this.themeClasses,\n }\n },\n computedOpacity (): number {\n return Number(this.isActive ? this.opacity : 0)\n },\n styles (): object {\n return {\n zIndex: this.zIndex,\n }\n },\n },\n\n methods: {\n genContent () {\n return h('div', {\n class: 'v-overlay__content',\n }, getSlot(this))\n }\n },\n\n render (): VNode {\n const children = [this.__scrim]\n\n if (this.isActive) children.push(this.genContent())\n\n return h('div', {\n on: this.$listeners,\n class: ['v-overlay', this.classes],\n style: this.styles,\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VOverlay.js"}
1
+ {"version":3,"sources":["../../../src/components/VOverlay/VOverlay.ts"],"names":[],"mappings":";;;;;;;AAAA;;AAEA;;AAGA;;AACA;;AACA;;AAGA;;AACA;;;;;;;;;;AAKA;eACe,qBACb,kBADa,EAEb,kBAFa,EAGb,mBAHa,EAIb,MAJa,CAIN;AACP,EAAA,IAAI,EAAE,WADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,QAAQ,EAAE,OADL;AAEL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,MADD;AAEL,MAAA,OAAO,EAAE;AAFJ,KAFF;AAML,IAAA,IAAI,EAAE;AACJ,MAAA,IAAI,EAAE,OADF;AAEJ,MAAA,OAAO,EAAE;AAFL,KAND;AAUL,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADC;AAEP,MAAA,OAAO,EAAE;AAFF,KAVJ;AAcL,IAAA,UAAU,EAAE;AACV,MAAA,OAAO,EAAE;AADC,KAdP;AAiBL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADA;AAEN,MAAA,OAAO,EAAE;AAFH;AAjBH,GAHA;AA0BP,EAAA,QAAQ,EAAE;AACR,IAAA,OADQ,qBACD;AACL,UAAM,IAAI,GAAG,KAAK,kBAAL,CAAwB,KAAK,KAA7B,EAAoC;AAC/C,QAAA,KAAK,EAAE;AAAC,8BAAoB;AAArB,SADwC;AAE/C,QAAA,KAAK,EAAE;AACL,UAAA,OAAO,EAAE,KAAK;AADT;AAFwC,OAApC,CAAb;AAOA,aAAO,YAAE,KAAF,EAAS,IAAT,CAAP;AACD,KAVO;AAWR,IAAA,OAXQ,qBAWD;AACL;AACE,+BAAuB,KAAK,QAD9B;AAEE,6BAAqB,KAAK;AAF5B,SAGK,KAAK,YAHV;AAKD,KAjBO;AAkBR,IAAA,eAlBQ,6BAkBO;AACb,aAAO,MAAM,CAAC,KAAK,QAAL,GAAgB,KAAK,OAArB,GAA+B,CAAhC,CAAb;AACD,KApBO;AAqBR,IAAA,MArBQ,oBAqBF;AACJ,aAAO;AACL,QAAA,MAAM,EAAE,KAAK;AADR,OAAP;AAGD;AAzBO,GA1BH;AAsDP,EAAA,OAAO,EAAE;AACP,IAAA,UADO,wBACG;AACR,aAAO,YAAE,KAAF,EAAS;AACd,QAAA,KAAK,EAAE;AADO,OAAT,EAEJ,sBAAQ,IAAR,CAFI,CAAP;AAGD;AALM,GAtDF;AA8DP,EAAA,MA9DO,oBA8DD;AACJ,QAAM,QAAQ,GAAG,CAAC,KAAK,OAAN,CAAjB;AAEA,QAAI,KAAK,QAAT,EAAmB,QAAQ,CAAC,IAAT,CAAc,KAAK,UAAL,EAAd;AAEnB,WAAO,YAAE,KAAF,EAAS;AACd,MAAA,EAAE,EAAE,KAAK,UADK;AAEd,MAAA,KAAK,EAAE,CAAC,WAAD,EAAc,KAAK,OAAnB,CAFO;AAGd,MAAA,KAAK,EAAE,KAAK;AAHE,KAAT,EAIJ,QAJI,CAAP;AAKD;AAxEM,CAJM,C","sourcesContent":["import {h} from 'vue'\n// Styles\nimport './VOverlay.sass'\n\n// Mixins\nimport Colorable from './../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from './../../mixins/toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Themeable,\n Toggleable\n).extend({\n name: 'v-overlay',\n\n props: {\n absolute: Boolean,\n color: {\n type: String,\n default: '#212121',\n },\n dark: {\n type: Boolean,\n default: true,\n },\n opacity: {\n type: [Number, String],\n default: 0.46,\n },\n modelValue: {\n default: true,\n },\n zIndex: {\n type: [Number, String],\n default: 5,\n },\n },\n\n computed: {\n __scrim (): VNode {\n const data = this.setBackgroundColor(this.color, {\n class: {'v-overlay__scrim': true},\n style: {\n opacity: this.computedOpacity,\n },\n })\n\n return h('div', data)\n },\n classes (): object {\n return {\n 'v-overlay--absolute': this.absolute,\n 'v-overlay--active': this.isActive,\n ...this.themeClasses,\n }\n },\n computedOpacity (): number {\n return Number(this.isActive ? this.opacity : 0)\n },\n styles (): object {\n return {\n zIndex: this.zIndex,\n }\n },\n },\n\n methods: {\n genContent () {\n return h('div', {\n class: 'v-overlay__content',\n }, getSlot(this))\n }\n },\n\n render (): VNode {\n const children = [this.__scrim]\n\n if (this.isActive) children.push(this.genContent())\n\n return h('div', {\n on: this.$listeners,\n class: ['v-overlay', this.classes],\n style: this.styles,\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VOverlay.js"}
@@ -31,11 +31,11 @@ var _default = (0, _mixins.default)(_themeable.default
31
31
  inset: Boolean
32
32
  },
33
33
  render: function render() {
34
- return (0, _vue.h)('div', _objectSpread(_objectSpread({
34
+ return (0, _vue.h)('div', _objectSpread(_objectSpread({}, this.$attrs), {}, {
35
35
  class: ['v-subheader', _objectSpread({
36
36
  'v-subheader--inset': this.inset
37
- }, this.themeClasses)]
38
- }, this.$attrs), this.$listeners), (0, _helpers.getSlot)(this));
37
+ }, this.themeClasses), this.$attrs.class]
38
+ }, this.$listeners), (0, _helpers.getSlot)(this));
39
39
  }
40
40
  });
41
41
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VSubheader/VSubheader.ts"],"names":[],"mappings":";;;;;;;AAAA;;AAEA;;AAGA;;AACA;;AACA;;;;;;;;;;eAKe,qBACb;AACA;AAFa,EAGb,MAHa,CAGN;AACP,EAAA,IAAI,EAAE,aADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,KAAK,EAAE;AADF,GAHA;AAOP,EAAA,MAPO,oBAOD;AACJ,WAAO,YAAE,KAAF;AACL,MAAA,KAAK,EAAE,CAAC,aAAD;AACL,8BAAsB,KAAK;AADtB,SAEF,KAAK,YAFH;AADF,OAKF,KAAK,MALH,GAMF,KAAK,UANH,GAOJ,sBAAQ,IAAR,CAPI,CAAP;AAQD;AAhBM,CAHM,C","sourcesContent":["import {h} from 'vue'\n// Styles\nimport './VSubheader.sass'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-subheader',\n\n props: {\n inset: Boolean,\n },\n\n render (): VNode {\n return h('div', {\n class: ['v-subheader', {\n 'v-subheader--inset': this.inset,\n ...this.themeClasses,\n }],\n ...this.$attrs,\n ...this.$listeners\n }, getSlot(this))\n },\n})\n"],"sourceRoot":"","file":"VSubheader.js"}
1
+ {"version":3,"sources":["../../../src/components/VSubheader/VSubheader.ts"],"names":[],"mappings":";;;;;;;AAAA;;AAEA;;AAGA;;AACA;;AACA;;;;;;;;;;eAKe,qBACb;AACA;AAFa,EAGb,MAHa,CAGN;AACP,EAAA,IAAI,EAAE,aADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,KAAK,EAAE;AADF,GAHA;AAOP,EAAA,MAPO,oBAOD;AACJ,WAAO,YAAE,KAAF,kCACF,KAAK,MADH;AAEL,MAAA,KAAK,EAAE,CAAC,aAAD;AACL,8BAAsB,KAAK;AADtB,SAEF,KAAK,YAFH,GAGJ,KAAK,MAAL,CAAY,KAHR;AAFF,OAMF,KAAK,UANH,GAOJ,sBAAQ,IAAR,CAPI,CAAP;AAQD;AAhBM,CAHM,C","sourcesContent":["import {h} from 'vue'\n// Styles\nimport './VSubheader.sass'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-subheader',\n\n props: {\n inset: Boolean,\n },\n\n render (): VNode {\n return h('div', {\n ...this.$attrs,\n class: ['v-subheader', {\n 'v-subheader--inset': this.inset,\n ...this.themeClasses,\n }, this.$attrs.class],\n ...this.$listeners\n }, getSlot(this))\n },\n})\n"],"sourceRoot":"","file":"VSubheader.js"}
package/es5/framework.js CHANGED
@@ -79,7 +79,7 @@ var Vuetify = /*#__PURE__*/function () {
79
79
  exports.default = Vuetify;
80
80
  Vuetify.install = _install.install;
81
81
  Vuetify.installed = false;
82
- Vuetify.version = "2.7.2-alpha3";
82
+ Vuetify.version = "2.7.2-alpha4";
83
83
  Vuetify.config = {
84
84
  silent: false
85
85
  };
@@ -59,7 +59,7 @@ var _default = (0, _vue.defineComponent)({
59
59
  },
60
60
  render: function render() {
61
61
  return (0, _vue.h)(_VOverlay.default, _objectSpread({
62
- value: this.value
62
+ modelValue: this.value
63
63
  }, props));
64
64
  }
65
65
  }; // // Create the overlay app
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mixins/overlayable/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VOverlay from '../../components/VOverlay'\n\n// Utilities\nimport {\n keyCodes,\n addOnceEventListener,\n addPassiveEventListener,\n getZIndex,\n composedPath,\n} from '../../util/helpers'\n\n// Types\nimport {defineComponent, App, createApp, h} from 'vue'\n\ninterface Toggleable extends App {\n isActive?: boolean\n}\n\ninterface Stackable extends App {\n activeZIndex: number\n}\n\ninterface options {\n absolute?: boolean\n $refs: {\n dialog?: HTMLElement\n content?: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default defineComponent({\n name: 'overlayable',\n\n props: {\n hideOverlay: Boolean,\n overlayColor: String,\n overlayOpacity: [Number, String],\n },\n\n data () {\n return {\n animationFrame: 0,\n overlay: null as InstanceType<typeof VOverlay> | null,\n }\n },\n\n watch: {\n hideOverlay (value) {\n if (!this.isActive) return\n\n if (value) this.removeOverlay()\n else this.genOverlay()\n },\n },\n\n beforeDestroy () {\n this.removeOverlay()\n },\n\n methods: {\n createOverlay () {\n // Create a container element\n const container = document.createElement('div');\n\n const props = {\n absolute: this.absolute,\n color: this.overlayColor,\n opacity: this.overlayOpacity\n }\n const wrapper = {\n data() {\n return { value: false }\n },\n render() {\n return h(VOverlay, {\n value: this.value,\n ...props\n })\n }\n }\n // // Create the overlay app\n // const overlayApp = createApp(VOverlay, {\n // absolute: this.absolute,\n // value: false,\n // color: this.overlayColor,\n // opacity: this.overlayOpacity,\n // });\n\n const overlayApp = createApp(wrapper)\n\n // Mount the app to the container\n const overlayInstance = overlayApp.mount(container);\n\n // Determine the parent element\n const parent = this.absolute\n ? this.$el.parentNode\n : document.querySelector('[data-app]');\n\n if (parent) {\n parent.insertBefore(container, parent.firstChild);\n }\n\n this.overlay = overlayInstance;\n this.overlayApp = overlayApp\n },\n genOverlay () {\n this.hideScroll()\n\n if (this.hideOverlay) return\n\n if (!this.overlay) this.createOverlay()\n\n this.animationFrame = requestAnimationFrame(() => {\n if (!this.overlay) return\n\n if (this.activeZIndex !== undefined) {\n this.overlay.zIndex = String(this.activeZIndex - 1)\n } else if (this.$el) {\n this.overlay.zIndex = getZIndex(this.$el)\n }\n\n this.overlay.value = true\n })\n\n return true\n },\n /** removeOverlay(false) will not restore the scollbar afterwards */\n removeOverlay (showScroll = true) {\n if (this.overlay) {\n addOnceEventListener(this.overlay.$el, 'transitionend', () => {\n if (\n !this.overlay ||\n !this.overlay.$el ||\n !this.overlay.$el.parentNode ||\n this.overlay.value ||\n this.isActive\n ) return\n\n this.overlay.$el.parentNode.removeChild(this.overlay.$el)\n this.overlayApp.unmount()\n this.overlayApp = null\n this.overlay = null\n })\n\n // Cancel animation frame in case\n // overlay is removed before it\n // has finished its animation\n cancelAnimationFrame(this.animationFrame)\n\n this.overlay.value = false\n }\n\n showScroll && this.showScroll()\n },\n scrollListener (e: WheelEvent | KeyboardEvent) {\n if ('key' in e) {\n if (\n ['INPUT', 'TEXTAREA', 'SELECT'].includes((e.target as Element).tagName) ||\n // https://github.com/vuetifyjs/vuetify/issues/4715\n (e.target as HTMLElement).isContentEditable\n ) return\n\n const up = [keyCodes.up, keyCodes.pageup]\n const down = [keyCodes.down, keyCodes.pagedown]\n\n if (up.includes(e.keyCode)) {\n (e as any).deltaY = -1\n } else if (down.includes(e.keyCode)) {\n (e as any).deltaY = 1\n } else {\n return\n }\n }\n\n if (e.target === this.overlay ||\n (e.type !== 'keydown' && e.target === document.body) ||\n this.checkPath(e as WheelEvent)) e.preventDefault()\n },\n hasScrollbar (el?: Element) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false\n\n const style = window.getComputedStyle(el)\n return ((['auto', 'scroll'].includes(style.overflowY!) || el.tagName === 'SELECT') && el.scrollHeight > el.clientHeight) ||\n ((['auto', 'scroll'].includes(style.overflowX!)) && el.scrollWidth > el.clientWidth)\n },\n shouldScroll (el: Element, e: WheelEvent): boolean {\n if (el.hasAttribute('data-app')) return false\n\n const dir = e.shiftKey || e.deltaX ? 'x' : 'y'\n const delta = dir === 'y' ? e.deltaY : e.deltaX || e.deltaY\n\n let alreadyAtStart: boolean\n let alreadyAtEnd: boolean\n if (dir === 'y') {\n alreadyAtStart = el.scrollTop === 0\n alreadyAtEnd = el.scrollTop + el.clientHeight === el.scrollHeight\n } else {\n alreadyAtStart = el.scrollLeft === 0\n alreadyAtEnd = el.scrollLeft + el.clientWidth === el.scrollWidth\n }\n\n const scrollingUp = delta < 0\n const scrollingDown = delta > 0\n\n if (!alreadyAtStart && scrollingUp) return true\n if (!alreadyAtEnd && scrollingDown) return true\n if ((alreadyAtStart || alreadyAtEnd) && el.parentNode) {\n return this.shouldScroll(el.parentNode as Element, e)\n }\n\n return false\n },\n isInside (el: Element, parent: Element): boolean {\n if (el === parent) {\n return true\n } else if (el === null || el === document.body) {\n return false\n } else {\n return this.isInside(el.parentNode as Element, parent)\n }\n },\n checkPath (e: WheelEvent) {\n const path = composedPath(e)\n\n if (e.type === 'keydown' && path[0] === document.body) {\n const dialog = this.$refs.dialog\n // getSelection returns null in firefox in some edge cases, can be ignored\n const selected = window.getSelection()!.anchorNode as Element\n if (dialog && this.hasScrollbar(dialog) && this.isInside(selected, dialog)) {\n return !this.shouldScroll(dialog, e)\n }\n return true\n }\n\n for (let index = 0; index < path.length; index++) {\n const el = path[index]\n\n if (el === document) return true\n if (el === document.documentElement) return true\n if (el === this.$refs.content) return true\n\n if (this.hasScrollbar(el as Element)) return !this.shouldScroll(el as Element, e)\n }\n\n return true\n },\n hideScroll () {\n if (this.$vuetify.breakpoint.smAndDown) {\n document.documentElement!.classList.add('overflow-y-hidden')\n } else {\n addPassiveEventListener(window, 'wheel', this.scrollListener, { passive: false })\n window.addEventListener('keydown', this.scrollListener)\n }\n },\n showScroll () {\n document.documentElement!.classList.remove('overflow-y-hidden')\n window.removeEventListener('wheel', this.scrollListener)\n window.removeEventListener('keydown', this.scrollListener)\n },\n },\n})\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../src/mixins/overlayable/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VOverlay from '../../components/VOverlay'\n\n// Utilities\nimport {\n keyCodes,\n addOnceEventListener,\n addPassiveEventListener,\n getZIndex,\n composedPath,\n} from '../../util/helpers'\n\n// Types\nimport {defineComponent, App, createApp, h} from 'vue'\n\ninterface Toggleable extends App {\n isActive?: boolean\n}\n\ninterface Stackable extends App {\n activeZIndex: number\n}\n\ninterface options {\n absolute?: boolean\n $refs: {\n dialog?: HTMLElement\n content?: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default defineComponent({\n name: 'overlayable',\n\n props: {\n hideOverlay: Boolean,\n overlayColor: String,\n overlayOpacity: [Number, String],\n },\n\n data () {\n return {\n animationFrame: 0,\n overlay: null as InstanceType<typeof VOverlay> | null,\n }\n },\n\n watch: {\n hideOverlay (value) {\n if (!this.isActive) return\n\n if (value) this.removeOverlay()\n else this.genOverlay()\n },\n },\n\n beforeDestroy () {\n this.removeOverlay()\n },\n\n methods: {\n createOverlay () {\n // Create a container element\n const container = document.createElement('div');\n\n const props = {\n absolute: this.absolute,\n color: this.overlayColor,\n opacity: this.overlayOpacity\n }\n const wrapper = {\n data() {\n return { value: false }\n },\n render() {\n return h(VOverlay, {\n modelValue: this.value,\n ...props\n })\n }\n }\n // // Create the overlay app\n // const overlayApp = createApp(VOverlay, {\n // absolute: this.absolute,\n // value: false,\n // color: this.overlayColor,\n // opacity: this.overlayOpacity,\n // });\n\n const overlayApp = createApp(wrapper)\n\n // Mount the app to the container\n const overlayInstance = overlayApp.mount(container);\n\n // Determine the parent element\n const parent = this.absolute\n ? this.$el.parentNode\n : document.querySelector('[data-app]');\n\n if (parent) {\n parent.insertBefore(container, parent.firstChild);\n }\n\n this.overlay = overlayInstance;\n this.overlayApp = overlayApp\n },\n genOverlay () {\n this.hideScroll()\n\n if (this.hideOverlay) return\n\n if (!this.overlay) this.createOverlay()\n\n this.animationFrame = requestAnimationFrame(() => {\n if (!this.overlay) return\n\n if (this.activeZIndex !== undefined) {\n this.overlay.zIndex = String(this.activeZIndex - 1)\n } else if (this.$el) {\n this.overlay.zIndex = getZIndex(this.$el)\n }\n\n this.overlay.value = true\n })\n\n return true\n },\n /** removeOverlay(false) will not restore the scollbar afterwards */\n removeOverlay (showScroll = true) {\n if (this.overlay) {\n addOnceEventListener(this.overlay.$el, 'transitionend', () => {\n if (\n !this.overlay ||\n !this.overlay.$el ||\n !this.overlay.$el.parentNode ||\n this.overlay.value ||\n this.isActive\n ) return\n\n this.overlay.$el.parentNode.removeChild(this.overlay.$el)\n this.overlayApp.unmount()\n this.overlayApp = null\n this.overlay = null\n })\n\n // Cancel animation frame in case\n // overlay is removed before it\n // has finished its animation\n cancelAnimationFrame(this.animationFrame)\n\n this.overlay.value = false\n }\n\n showScroll && this.showScroll()\n },\n scrollListener (e: WheelEvent | KeyboardEvent) {\n if ('key' in e) {\n if (\n ['INPUT', 'TEXTAREA', 'SELECT'].includes((e.target as Element).tagName) ||\n // https://github.com/vuetifyjs/vuetify/issues/4715\n (e.target as HTMLElement).isContentEditable\n ) return\n\n const up = [keyCodes.up, keyCodes.pageup]\n const down = [keyCodes.down, keyCodes.pagedown]\n\n if (up.includes(e.keyCode)) {\n (e as any).deltaY = -1\n } else if (down.includes(e.keyCode)) {\n (e as any).deltaY = 1\n } else {\n return\n }\n }\n\n if (e.target === this.overlay ||\n (e.type !== 'keydown' && e.target === document.body) ||\n this.checkPath(e as WheelEvent)) e.preventDefault()\n },\n hasScrollbar (el?: Element) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false\n\n const style = window.getComputedStyle(el)\n return ((['auto', 'scroll'].includes(style.overflowY!) || el.tagName === 'SELECT') && el.scrollHeight > el.clientHeight) ||\n ((['auto', 'scroll'].includes(style.overflowX!)) && el.scrollWidth > el.clientWidth)\n },\n shouldScroll (el: Element, e: WheelEvent): boolean {\n if (el.hasAttribute('data-app')) return false\n\n const dir = e.shiftKey || e.deltaX ? 'x' : 'y'\n const delta = dir === 'y' ? e.deltaY : e.deltaX || e.deltaY\n\n let alreadyAtStart: boolean\n let alreadyAtEnd: boolean\n if (dir === 'y') {\n alreadyAtStart = el.scrollTop === 0\n alreadyAtEnd = el.scrollTop + el.clientHeight === el.scrollHeight\n } else {\n alreadyAtStart = el.scrollLeft === 0\n alreadyAtEnd = el.scrollLeft + el.clientWidth === el.scrollWidth\n }\n\n const scrollingUp = delta < 0\n const scrollingDown = delta > 0\n\n if (!alreadyAtStart && scrollingUp) return true\n if (!alreadyAtEnd && scrollingDown) return true\n if ((alreadyAtStart || alreadyAtEnd) && el.parentNode) {\n return this.shouldScroll(el.parentNode as Element, e)\n }\n\n return false\n },\n isInside (el: Element, parent: Element): boolean {\n if (el === parent) {\n return true\n } else if (el === null || el === document.body) {\n return false\n } else {\n return this.isInside(el.parentNode as Element, parent)\n }\n },\n checkPath (e: WheelEvent) {\n const path = composedPath(e)\n\n if (e.type === 'keydown' && path[0] === document.body) {\n const dialog = this.$refs.dialog\n // getSelection returns null in firefox in some edge cases, can be ignored\n const selected = window.getSelection()!.anchorNode as Element\n if (dialog && this.hasScrollbar(dialog) && this.isInside(selected, dialog)) {\n return !this.shouldScroll(dialog, e)\n }\n return true\n }\n\n for (let index = 0; index < path.length; index++) {\n const el = path[index]\n\n if (el === document) return true\n if (el === document.documentElement) return true\n if (el === this.$refs.content) return true\n\n if (this.hasScrollbar(el as Element)) return !this.shouldScroll(el as Element, e)\n }\n\n return true\n },\n hideScroll () {\n if (this.$vuetify.breakpoint.smAndDown) {\n document.documentElement!.classList.add('overflow-y-hidden')\n } else {\n addPassiveEventListener(window, 'wheel', this.scrollListener, { passive: false })\n window.addEventListener('keydown', this.scrollListener)\n }\n },\n showScroll () {\n document.documentElement!.classList.remove('overflow-y-hidden')\n window.removeEventListener('wheel', this.scrollListener)\n window.removeEventListener('keydown', this.scrollListener)\n },\n },\n})\n"],"sourceRoot":"","file":"index.js"}
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.Breakpoint = void 0;
9
9
 
10
+ var _vue = require("vue");
11
+
10
12
  var _service = require("../service");
11
13
 
12
14
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
@@ -72,7 +74,7 @@ var Breakpoint = /*#__PURE__*/function (_Service) {
72
74
  _this.mobileBreakpoint = mobileBreakpoint;
73
75
  _this.scrollBarWidth = scrollBarWidth;
74
76
  _this.thresholds = thresholds;
75
- return _this;
77
+ return _possibleConstructorReturn(_this, (0, _vue.reactive)(_assertThisInitialized(_this)));
76
78
  }
77
79
 
78
80
  _createClass(Breakpoint, [{
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/services/breakpoint/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Extensions\nimport { Service } from '../service'\n\n// Types\nimport { VuetifyPreset } from 'vuetify/types/services/presets'\nimport { Breakpoint as IBreakpoint } from 'vuetify/types/services/breakpoint'\n\nexport class Breakpoint extends Service implements IBreakpoint {\n public static property: 'breakpoint' = 'breakpoint'\n\n // Public\n public xs = false\n\n public sm = false\n\n public md = false\n\n public lg = false\n\n public xl = false\n\n public xsOnly = false\n\n public smOnly = false\n\n public smAndDown = false\n\n public smAndUp = false\n\n public mdOnly = false\n\n public mdAndDown = false\n\n public mdAndUp = false\n\n public lgOnly = false\n\n public lgAndDown = false\n\n public lgAndUp = false\n\n public xlOnly = false\n\n // Value is xs to match v2.x functionality\n public name: IBreakpoint['name'] = 'xs'\n\n public height = 0\n\n public width = 0\n\n // TODO: Add functionality to detect this dynamically in v3\n // Value is true to match v2.x functionality\n public mobile = true\n\n public mobileBreakpoint: IBreakpoint['mobileBreakpoint']\n\n public thresholds: IBreakpoint['thresholds']\n\n public scrollBarWidth: IBreakpoint['scrollBarWidth']\n\n private resizeTimeout = 0\n\n constructor (preset: VuetifyPreset) {\n super()\n\n const {\n mobileBreakpoint,\n scrollBarWidth,\n thresholds,\n } = preset[Breakpoint.property]\n\n this.mobileBreakpoint = mobileBreakpoint\n this.scrollBarWidth = scrollBarWidth\n this.thresholds = thresholds\n }\n\n public init () {\n this.update()\n\n /* istanbul ignore if */\n if (typeof window === 'undefined') return\n\n window.addEventListener(\n 'resize',\n this.onResize.bind(this),\n { passive: true }\n )\n }\n\n /* eslint-disable-next-line max-statements */\n public update (ssr = false) {\n const height = ssr ? 0 : this.getClientHeight()\n const width = ssr ? 0 : this.getClientWidth()\n\n const xs = width < this.thresholds.xs\n const sm = width < this.thresholds.sm && !xs\n const md = width < (this.thresholds.md - this.scrollBarWidth) && !(sm || xs)\n const lg = width < (this.thresholds.lg - this.scrollBarWidth) && !(md || sm || xs)\n const xl = width >= (this.thresholds.lg - this.scrollBarWidth)\n\n this.height = height\n this.width = width\n\n this.xs = xs\n this.sm = sm\n this.md = md\n this.lg = lg\n this.xl = xl\n\n this.xsOnly = xs\n this.smOnly = sm\n this.smAndDown = (xs || sm) && !(md || lg || xl)\n this.smAndUp = !xs && (sm || md || lg || xl)\n this.mdOnly = md\n this.mdAndDown = (xs || sm || md) && !(lg || xl)\n this.mdAndUp = !(xs || sm) && (md || lg || xl)\n this.lgOnly = lg\n this.lgAndDown = (xs || sm || md || lg) && !xl\n this.lgAndUp = !(xs || sm || md) && (lg || xl)\n this.xlOnly = xl\n\n switch (true) {\n case (xs):\n this.name = 'xs'\n break\n case (sm):\n this.name = 'sm'\n break\n case (md):\n this.name = 'md'\n break\n case (lg):\n this.name = 'lg'\n break\n default:\n this.name = 'xl'\n break\n }\n\n if (typeof this.mobileBreakpoint === 'number') {\n this.mobile = width < parseInt(this.mobileBreakpoint, 10)\n\n return\n }\n\n const breakpoints = {\n xs: 0,\n sm: 1,\n md: 2,\n lg: 3,\n xl: 4,\n } as const\n\n const current = breakpoints[this.name]\n const max = breakpoints[this.mobileBreakpoint]\n\n this.mobile = current <= max\n }\n\n private onResize () {\n clearTimeout(this.resizeTimeout)\n\n // Added debounce to match what\n // v-resize used to do but was\n // removed due to a memory leak\n // https://github.com/vuetifyjs/vuetify/pull/2997\n this.resizeTimeout = window.setTimeout(this.update.bind(this), 200)\n }\n\n // Cross-browser support as described in:\n // https://stackoverflow.com/questions/1248081\n private getClientWidth () {\n /* istanbul ignore if */\n if (typeof document === 'undefined') return 0 // SSR\n return Math.max(\n document.documentElement!.clientWidth,\n window.innerWidth || 0\n )\n }\n\n private getClientHeight () {\n /* istanbul ignore if */\n if (typeof document === 'undefined') return 0 // SSR\n return Math.max(\n document.documentElement!.clientHeight,\n window.innerHeight || 0\n )\n }\n}\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../src/services/breakpoint/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { reactive } from 'vue'\n\n\n// Extensions\nimport { Service } from '../service'\n\n// Types\nimport { VuetifyPreset } from 'vuetify/types/services/presets'\nimport { Breakpoint as IBreakpoint } from 'vuetify/types/services/breakpoint'\n\nexport class Breakpoint extends Service implements IBreakpoint {\n public static property: 'breakpoint' = 'breakpoint'\n\n // Public\n public xs = false\n\n public sm = false\n\n public md = false\n\n public lg = false\n\n public xl = false\n\n public xsOnly = false\n\n public smOnly = false\n\n public smAndDown = false\n\n public smAndUp = false\n\n public mdOnly = false\n\n public mdAndDown = false\n\n public mdAndUp = false\n\n public lgOnly = false\n\n public lgAndDown = false\n\n public lgAndUp = false\n\n public xlOnly = false\n\n // Value is xs to match v2.x functionality\n public name: IBreakpoint['name'] = 'xs'\n\n public height = 0\n\n public width = 0\n\n // TODO: Add functionality to detect this dynamically in v3\n // Value is true to match v2.x functionality\n public mobile = true\n\n public mobileBreakpoint: IBreakpoint['mobileBreakpoint']\n\n public thresholds: IBreakpoint['thresholds']\n\n public scrollBarWidth: IBreakpoint['scrollBarWidth']\n\n private resizeTimeout = 0\n\n constructor (preset: VuetifyPreset) {\n super()\n\n const {\n mobileBreakpoint,\n scrollBarWidth,\n thresholds,\n } = preset[Breakpoint.property]\n\n this.mobileBreakpoint = mobileBreakpoint\n this.scrollBarWidth = scrollBarWidth\n this.thresholds = thresholds\n\n return reactive(this)\n }\n\n public init () {\n this.update()\n\n /* istanbul ignore if */\n if (typeof window === 'undefined') return\n\n window.addEventListener(\n 'resize',\n this.onResize.bind(this),\n { passive: true }\n )\n }\n\n /* eslint-disable-next-line max-statements */\n public update (ssr = false) {\n const height = ssr ? 0 : this.getClientHeight()\n const width = ssr ? 0 : this.getClientWidth()\n\n const xs = width < this.thresholds.xs\n const sm = width < this.thresholds.sm && !xs\n const md = width < (this.thresholds.md - this.scrollBarWidth) && !(sm || xs)\n const lg = width < (this.thresholds.lg - this.scrollBarWidth) && !(md || sm || xs)\n const xl = width >= (this.thresholds.lg - this.scrollBarWidth)\n\n this.height = height\n this.width = width\n\n this.xs = xs\n this.sm = sm\n this.md = md\n this.lg = lg\n this.xl = xl\n\n this.xsOnly = xs\n this.smOnly = sm\n this.smAndDown = (xs || sm) && !(md || lg || xl)\n this.smAndUp = !xs && (sm || md || lg || xl)\n this.mdOnly = md\n this.mdAndDown = (xs || sm || md) && !(lg || xl)\n this.mdAndUp = !(xs || sm) && (md || lg || xl)\n this.lgOnly = lg\n this.lgAndDown = (xs || sm || md || lg) && !xl\n this.lgAndUp = !(xs || sm || md) && (lg || xl)\n this.xlOnly = xl\n\n switch (true) {\n case (xs):\n this.name = 'xs'\n break\n case (sm):\n this.name = 'sm'\n break\n case (md):\n this.name = 'md'\n break\n case (lg):\n this.name = 'lg'\n break\n default:\n this.name = 'xl'\n break\n }\n\n if (typeof this.mobileBreakpoint === 'number') {\n this.mobile = width < parseInt(this.mobileBreakpoint, 10)\n\n return\n }\n\n const breakpoints = {\n xs: 0,\n sm: 1,\n md: 2,\n lg: 3,\n xl: 4,\n } as const\n\n const current = breakpoints[this.name]\n const max = breakpoints[this.mobileBreakpoint]\n\n this.mobile = current <= max\n }\n\n private onResize () {\n clearTimeout(this.resizeTimeout)\n\n // Added debounce to match what\n // v-resize used to do but was\n // removed due to a memory leak\n // https://github.com/vuetifyjs/vuetify/pull/2997\n this.resizeTimeout = window.setTimeout(this.update.bind(this), 200)\n }\n\n // Cross-browser support as described in:\n // https://stackoverflow.com/questions/1248081\n private getClientWidth () {\n /* istanbul ignore if */\n if (typeof document === 'undefined') return 0 // SSR\n return Math.max(\n document.documentElement!.clientWidth,\n window.innerWidth || 0\n )\n }\n\n private getClientHeight () {\n /* istanbul ignore if */\n if (typeof document === 'undefined') return 0 // SSR\n return Math.max(\n document.documentElement!.clientHeight,\n window.innerHeight || 0\n )\n }\n}\n"],"sourceRoot":"","file":"index.js"}
@@ -26,7 +26,7 @@ export default mixins(Colorable, Themeable, Toggleable).extend({
26
26
  type: [Number, String],
27
27
  default: 0.46
28
28
  },
29
- value: {
29
+ modelValue: {
30
30
  default: true
31
31
  },
32
32
  zIndex: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VOverlay/VOverlay.ts"],"names":[],"mappings":"AAAA,SAAQ,CAAR,QAAgB,KAAhB,C,CACA;;AACA,OAAO,gDAAP,C,CAEA;;AACA,OAAO,SAAP,MAAsB,0BAAtB;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,UAAP,MAAuB,2BAAvB,C,CAEA;;AACA,OAAO,MAAP,MAAmB,mBAAnB;AACA,SAAS,OAAT,QAAwB,oBAAxB;AAKA;;AACA,eAAe,MAAM,CACnB,SADmB,EAEnB,SAFmB,EAGnB,UAHmB,CAAN,CAIb,MAJa,CAIN;AACP,EAAA,IAAI,EAAE,WADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,QAAQ,EAAE,OADL;AAEL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,MADD;AAEL,MAAA,OAAO,EAAE;AAFJ,KAFF;AAML,IAAA,IAAI,EAAE;AACJ,MAAA,IAAI,EAAE,OADF;AAEJ,MAAA,OAAO,EAAE;AAFL,KAND;AAUL,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADC;AAEP,MAAA,OAAO,EAAE;AAFF,KAVJ;AAcL,IAAA,KAAK,EAAE;AACL,MAAA,OAAO,EAAE;AADJ,KAdF;AAiBL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADA;AAEN,MAAA,OAAO,EAAE;AAFH;AAjBH,GAHA;AA0BP,EAAA,QAAQ,EAAE;AACR,IAAA,OAAO,GAAA;AACL,YAAM,IAAI,GAAG,KAAK,kBAAL,CAAwB,KAAK,KAA7B,EAAoC;AAC/C,QAAA,KAAK,EAAE;AAAC,8BAAoB;AAArB,SADwC;AAE/C,QAAA,KAAK,EAAE;AACL,UAAA,OAAO,EAAE,KAAK;AADT;AAFwC,OAApC,CAAb;AAOA,aAAO,CAAC,CAAC,KAAD,EAAQ,IAAR,CAAR;AACD,KAVO;;AAWR,IAAA,OAAO,GAAA;AACL,aAAO;AACL,+BAAuB,KAAK,QADvB;AAEL,6BAAqB,KAAK,QAFrB;AAGL,WAAG,KAAK;AAHH,OAAP;AAKD,KAjBO;;AAkBR,IAAA,eAAe,GAAA;AACb,aAAO,MAAM,CAAC,KAAK,QAAL,GAAgB,KAAK,OAArB,GAA+B,CAAhC,CAAb;AACD,KApBO;;AAqBR,IAAA,MAAM,GAAA;AACJ,aAAO;AACL,QAAA,MAAM,EAAE,KAAK;AADR,OAAP;AAGD;;AAzBO,GA1BH;AAsDP,EAAA,OAAO,EAAE;AACP,IAAA,UAAU,GAAA;AACR,aAAO,CAAC,CAAC,KAAD,EAAQ;AACd,QAAA,KAAK,EAAE;AADO,OAAR,EAEL,OAAO,CAAC,IAAD,CAFF,CAAR;AAGD;;AALM,GAtDF;;AA8DP,EAAA,MAAM,GAAA;AACJ,UAAM,QAAQ,GAAG,CAAC,KAAK,OAAN,CAAjB;AAEA,QAAI,KAAK,QAAT,EAAmB,QAAQ,CAAC,IAAT,CAAc,KAAK,UAAL,EAAd;AAEnB,WAAO,CAAC,CAAC,KAAD,EAAQ;AACd,MAAA,EAAE,EAAE,KAAK,UADK;AAEd,MAAA,KAAK,EAAE,CAAC,WAAD,EAAc,KAAK,OAAnB,CAFO;AAGd,MAAA,KAAK,EAAE,KAAK;AAHE,KAAR,EAIL,QAJK,CAAR;AAKD;;AAxEM,CAJM,CAAf","sourcesContent":["import {h} from 'vue'\n// Styles\nimport './VOverlay.sass'\n\n// Mixins\nimport Colorable from './../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from './../../mixins/toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Themeable,\n Toggleable\n).extend({\n name: 'v-overlay',\n\n props: {\n absolute: Boolean,\n color: {\n type: String,\n default: '#212121',\n },\n dark: {\n type: Boolean,\n default: true,\n },\n opacity: {\n type: [Number, String],\n default: 0.46,\n },\n value: {\n default: true,\n },\n zIndex: {\n type: [Number, String],\n default: 5,\n },\n },\n\n computed: {\n __scrim (): VNode {\n const data = this.setBackgroundColor(this.color, {\n class: {'v-overlay__scrim': true},\n style: {\n opacity: this.computedOpacity,\n },\n })\n\n return h('div', data)\n },\n classes (): object {\n return {\n 'v-overlay--absolute': this.absolute,\n 'v-overlay--active': this.isActive,\n ...this.themeClasses,\n }\n },\n computedOpacity (): number {\n return Number(this.isActive ? this.opacity : 0)\n },\n styles (): object {\n return {\n zIndex: this.zIndex,\n }\n },\n },\n\n methods: {\n genContent () {\n return h('div', {\n class: 'v-overlay__content',\n }, getSlot(this))\n }\n },\n\n render (): VNode {\n const children = [this.__scrim]\n\n if (this.isActive) children.push(this.genContent())\n\n return h('div', {\n on: this.$listeners,\n class: ['v-overlay', this.classes],\n style: this.styles,\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VOverlay.js"}
1
+ {"version":3,"sources":["../../../src/components/VOverlay/VOverlay.ts"],"names":[],"mappings":"AAAA,SAAQ,CAAR,QAAgB,KAAhB,C,CACA;;AACA,OAAO,gDAAP,C,CAEA;;AACA,OAAO,SAAP,MAAsB,0BAAtB;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,UAAP,MAAuB,2BAAvB,C,CAEA;;AACA,OAAO,MAAP,MAAmB,mBAAnB;AACA,SAAS,OAAT,QAAwB,oBAAxB;AAKA;;AACA,eAAe,MAAM,CACnB,SADmB,EAEnB,SAFmB,EAGnB,UAHmB,CAAN,CAIb,MAJa,CAIN;AACP,EAAA,IAAI,EAAE,WADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,QAAQ,EAAE,OADL;AAEL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,MADD;AAEL,MAAA,OAAO,EAAE;AAFJ,KAFF;AAML,IAAA,IAAI,EAAE;AACJ,MAAA,IAAI,EAAE,OADF;AAEJ,MAAA,OAAO,EAAE;AAFL,KAND;AAUL,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADC;AAEP,MAAA,OAAO,EAAE;AAFF,KAVJ;AAcL,IAAA,UAAU,EAAE;AACV,MAAA,OAAO,EAAE;AADC,KAdP;AAiBL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADA;AAEN,MAAA,OAAO,EAAE;AAFH;AAjBH,GAHA;AA0BP,EAAA,QAAQ,EAAE;AACR,IAAA,OAAO,GAAA;AACL,YAAM,IAAI,GAAG,KAAK,kBAAL,CAAwB,KAAK,KAA7B,EAAoC;AAC/C,QAAA,KAAK,EAAE;AAAC,8BAAoB;AAArB,SADwC;AAE/C,QAAA,KAAK,EAAE;AACL,UAAA,OAAO,EAAE,KAAK;AADT;AAFwC,OAApC,CAAb;AAOA,aAAO,CAAC,CAAC,KAAD,EAAQ,IAAR,CAAR;AACD,KAVO;;AAWR,IAAA,OAAO,GAAA;AACL,aAAO;AACL,+BAAuB,KAAK,QADvB;AAEL,6BAAqB,KAAK,QAFrB;AAGL,WAAG,KAAK;AAHH,OAAP;AAKD,KAjBO;;AAkBR,IAAA,eAAe,GAAA;AACb,aAAO,MAAM,CAAC,KAAK,QAAL,GAAgB,KAAK,OAArB,GAA+B,CAAhC,CAAb;AACD,KApBO;;AAqBR,IAAA,MAAM,GAAA;AACJ,aAAO;AACL,QAAA,MAAM,EAAE,KAAK;AADR,OAAP;AAGD;;AAzBO,GA1BH;AAsDP,EAAA,OAAO,EAAE;AACP,IAAA,UAAU,GAAA;AACR,aAAO,CAAC,CAAC,KAAD,EAAQ;AACd,QAAA,KAAK,EAAE;AADO,OAAR,EAEL,OAAO,CAAC,IAAD,CAFF,CAAR;AAGD;;AALM,GAtDF;;AA8DP,EAAA,MAAM,GAAA;AACJ,UAAM,QAAQ,GAAG,CAAC,KAAK,OAAN,CAAjB;AAEA,QAAI,KAAK,QAAT,EAAmB,QAAQ,CAAC,IAAT,CAAc,KAAK,UAAL,EAAd;AAEnB,WAAO,CAAC,CAAC,KAAD,EAAQ;AACd,MAAA,EAAE,EAAE,KAAK,UADK;AAEd,MAAA,KAAK,EAAE,CAAC,WAAD,EAAc,KAAK,OAAnB,CAFO;AAGd,MAAA,KAAK,EAAE,KAAK;AAHE,KAAR,EAIL,QAJK,CAAR;AAKD;;AAxEM,CAJM,CAAf","sourcesContent":["import {h} from 'vue'\n// Styles\nimport './VOverlay.sass'\n\n// Mixins\nimport Colorable from './../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from './../../mixins/toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Themeable,\n Toggleable\n).extend({\n name: 'v-overlay',\n\n props: {\n absolute: Boolean,\n color: {\n type: String,\n default: '#212121',\n },\n dark: {\n type: Boolean,\n default: true,\n },\n opacity: {\n type: [Number, String],\n default: 0.46,\n },\n modelValue: {\n default: true,\n },\n zIndex: {\n type: [Number, String],\n default: 5,\n },\n },\n\n computed: {\n __scrim (): VNode {\n const data = this.setBackgroundColor(this.color, {\n class: {'v-overlay__scrim': true},\n style: {\n opacity: this.computedOpacity,\n },\n })\n\n return h('div', data)\n },\n classes (): object {\n return {\n 'v-overlay--absolute': this.absolute,\n 'v-overlay--active': this.isActive,\n ...this.themeClasses,\n }\n },\n computedOpacity (): number {\n return Number(this.isActive ? this.opacity : 0)\n },\n styles (): object {\n return {\n zIndex: this.zIndex,\n }\n },\n },\n\n methods: {\n genContent () {\n return h('div', {\n class: 'v-overlay__content',\n }, getSlot(this))\n }\n },\n\n render (): VNode {\n const children = [this.__scrim]\n\n if (this.isActive) children.push(this.genContent())\n\n return h('div', {\n on: this.$listeners,\n class: ['v-overlay', this.classes],\n style: this.styles,\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VOverlay.js"}
@@ -14,12 +14,11 @@ export default mixins(Themeable
14
14
  },
15
15
 
16
16
  render() {
17
- return h('div', {
17
+ return h('div', { ...this.$attrs,
18
18
  class: ['v-subheader', {
19
19
  'v-subheader--inset': this.inset,
20
20
  ...this.themeClasses
21
- }],
22
- ...this.$attrs,
21
+ }, this.$attrs.class],
23
22
  ...this.$listeners
24
23
  }, getSlot(this));
25
24
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VSubheader/VSubheader.ts"],"names":[],"mappings":"AAAA,SAAQ,CAAR,QAAgB,KAAhB,C,CACA;;AACA,OAAO,oDAAP,C,CAEA;;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,MAAP,MAAmB,mBAAnB;AACA,SAAS,OAAT,QAAwB,oBAAxB;AAKA,eAAe,MAAM,CACnB;AACA;AAFmB,CAAN,CAGb,MAHa,CAGN;AACP,EAAA,IAAI,EAAE,aADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,KAAK,EAAE;AADF,GAHA;;AAOP,EAAA,MAAM,GAAA;AACJ,WAAO,CAAC,CAAC,KAAD,EAAQ;AACd,MAAA,KAAK,EAAE,CAAC,aAAD,EAAgB;AACrB,8BAAsB,KAAK,KADN;AAErB,WAAG,KAAK;AAFa,OAAhB,CADO;AAKd,SAAG,KAAK,MALM;AAMd,SAAG,KAAK;AANM,KAAR,EAOL,OAAO,CAAC,IAAD,CAPF,CAAR;AAQD;;AAhBM,CAHM,CAAf","sourcesContent":["import {h} from 'vue'\n// Styles\nimport './VSubheader.sass'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-subheader',\n\n props: {\n inset: Boolean,\n },\n\n render (): VNode {\n return h('div', {\n class: ['v-subheader', {\n 'v-subheader--inset': this.inset,\n ...this.themeClasses,\n }],\n ...this.$attrs,\n ...this.$listeners\n }, getSlot(this))\n },\n})\n"],"sourceRoot":"","file":"VSubheader.js"}
1
+ {"version":3,"sources":["../../../src/components/VSubheader/VSubheader.ts"],"names":[],"mappings":"AAAA,SAAQ,CAAR,QAAgB,KAAhB,C,CACA;;AACA,OAAO,oDAAP,C,CAEA;;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,MAAP,MAAmB,mBAAnB;AACA,SAAS,OAAT,QAAwB,oBAAxB;AAKA,eAAe,MAAM,CACnB;AACA;AAFmB,CAAN,CAGb,MAHa,CAGN;AACP,EAAA,IAAI,EAAE,aADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,KAAK,EAAE;AADF,GAHA;;AAOP,EAAA,MAAM,GAAA;AACJ,WAAO,CAAC,CAAC,KAAD,EAAQ,EACd,GAAG,KAAK,MADM;AAEd,MAAA,KAAK,EAAE,CAAC,aAAD,EAAgB;AACrB,8BAAsB,KAAK,KADN;AAErB,WAAG,KAAK;AAFa,OAAhB,EAGJ,KAAK,MAAL,CAAY,KAHR,CAFO;AAMd,SAAG,KAAK;AANM,KAAR,EAOL,OAAO,CAAC,IAAD,CAPF,CAAR;AAQD;;AAhBM,CAHM,CAAf","sourcesContent":["import {h} from 'vue'\n// Styles\nimport './VSubheader.sass'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-subheader',\n\n props: {\n inset: Boolean,\n },\n\n render (): VNode {\n return h('div', {\n ...this.$attrs,\n class: ['v-subheader', {\n 'v-subheader--inset': this.inset,\n ...this.themeClasses,\n }, this.$attrs.class],\n ...this.$listeners\n }, getSlot(this))\n },\n})\n"],"sourceRoot":"","file":"VSubheader.js"}
package/lib/framework.js CHANGED
@@ -46,7 +46,7 @@ export default class Vuetify {
46
46
  }
47
47
  Vuetify.install = install;
48
48
  Vuetify.installed = false;
49
- Vuetify.version = "2.7.2-alpha3";
49
+ Vuetify.version = "2.7.2-alpha4";
50
50
  Vuetify.config = {
51
51
  silent: false
52
52
  };
@@ -51,7 +51,7 @@ export default defineComponent({
51
51
 
52
52
  render() {
53
53
  return h(VOverlay, {
54
- value: this.value,
54
+ modelValue: this.value,
55
55
  ...props
56
56
  });
57
57
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mixins/overlayable/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VOverlay from '../../components/VOverlay'\n\n// Utilities\nimport {\n keyCodes,\n addOnceEventListener,\n addPassiveEventListener,\n getZIndex,\n composedPath,\n} from '../../util/helpers'\n\n// Types\nimport {defineComponent, App, createApp, h} from 'vue'\n\ninterface Toggleable extends App {\n isActive?: boolean\n}\n\ninterface Stackable extends App {\n activeZIndex: number\n}\n\ninterface options {\n absolute?: boolean\n $refs: {\n dialog?: HTMLElement\n content?: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default defineComponent({\n name: 'overlayable',\n\n props: {\n hideOverlay: Boolean,\n overlayColor: String,\n overlayOpacity: [Number, String],\n },\n\n data () {\n return {\n animationFrame: 0,\n overlay: null as InstanceType<typeof VOverlay> | null,\n }\n },\n\n watch: {\n hideOverlay (value) {\n if (!this.isActive) return\n\n if (value) this.removeOverlay()\n else this.genOverlay()\n },\n },\n\n beforeDestroy () {\n this.removeOverlay()\n },\n\n methods: {\n createOverlay () {\n // Create a container element\n const container = document.createElement('div');\n\n const props = {\n absolute: this.absolute,\n color: this.overlayColor,\n opacity: this.overlayOpacity\n }\n const wrapper = {\n data() {\n return { value: false }\n },\n render() {\n return h(VOverlay, {\n value: this.value,\n ...props\n })\n }\n }\n // // Create the overlay app\n // const overlayApp = createApp(VOverlay, {\n // absolute: this.absolute,\n // value: false,\n // color: this.overlayColor,\n // opacity: this.overlayOpacity,\n // });\n\n const overlayApp = createApp(wrapper)\n\n // Mount the app to the container\n const overlayInstance = overlayApp.mount(container);\n\n // Determine the parent element\n const parent = this.absolute\n ? this.$el.parentNode\n : document.querySelector('[data-app]');\n\n if (parent) {\n parent.insertBefore(container, parent.firstChild);\n }\n\n this.overlay = overlayInstance;\n this.overlayApp = overlayApp\n },\n genOverlay () {\n this.hideScroll()\n\n if (this.hideOverlay) return\n\n if (!this.overlay) this.createOverlay()\n\n this.animationFrame = requestAnimationFrame(() => {\n if (!this.overlay) return\n\n if (this.activeZIndex !== undefined) {\n this.overlay.zIndex = String(this.activeZIndex - 1)\n } else if (this.$el) {\n this.overlay.zIndex = getZIndex(this.$el)\n }\n\n this.overlay.value = true\n })\n\n return true\n },\n /** removeOverlay(false) will not restore the scollbar afterwards */\n removeOverlay (showScroll = true) {\n if (this.overlay) {\n addOnceEventListener(this.overlay.$el, 'transitionend', () => {\n if (\n !this.overlay ||\n !this.overlay.$el ||\n !this.overlay.$el.parentNode ||\n this.overlay.value ||\n this.isActive\n ) return\n\n this.overlay.$el.parentNode.removeChild(this.overlay.$el)\n this.overlayApp.unmount()\n this.overlayApp = null\n this.overlay = null\n })\n\n // Cancel animation frame in case\n // overlay is removed before it\n // has finished its animation\n cancelAnimationFrame(this.animationFrame)\n\n this.overlay.value = false\n }\n\n showScroll && this.showScroll()\n },\n scrollListener (e: WheelEvent | KeyboardEvent) {\n if ('key' in e) {\n if (\n ['INPUT', 'TEXTAREA', 'SELECT'].includes((e.target as Element).tagName) ||\n // https://github.com/vuetifyjs/vuetify/issues/4715\n (e.target as HTMLElement).isContentEditable\n ) return\n\n const up = [keyCodes.up, keyCodes.pageup]\n const down = [keyCodes.down, keyCodes.pagedown]\n\n if (up.includes(e.keyCode)) {\n (e as any).deltaY = -1\n } else if (down.includes(e.keyCode)) {\n (e as any).deltaY = 1\n } else {\n return\n }\n }\n\n if (e.target === this.overlay ||\n (e.type !== 'keydown' && e.target === document.body) ||\n this.checkPath(e as WheelEvent)) e.preventDefault()\n },\n hasScrollbar (el?: Element) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false\n\n const style = window.getComputedStyle(el)\n return ((['auto', 'scroll'].includes(style.overflowY!) || el.tagName === 'SELECT') && el.scrollHeight > el.clientHeight) ||\n ((['auto', 'scroll'].includes(style.overflowX!)) && el.scrollWidth > el.clientWidth)\n },\n shouldScroll (el: Element, e: WheelEvent): boolean {\n if (el.hasAttribute('data-app')) return false\n\n const dir = e.shiftKey || e.deltaX ? 'x' : 'y'\n const delta = dir === 'y' ? e.deltaY : e.deltaX || e.deltaY\n\n let alreadyAtStart: boolean\n let alreadyAtEnd: boolean\n if (dir === 'y') {\n alreadyAtStart = el.scrollTop === 0\n alreadyAtEnd = el.scrollTop + el.clientHeight === el.scrollHeight\n } else {\n alreadyAtStart = el.scrollLeft === 0\n alreadyAtEnd = el.scrollLeft + el.clientWidth === el.scrollWidth\n }\n\n const scrollingUp = delta < 0\n const scrollingDown = delta > 0\n\n if (!alreadyAtStart && scrollingUp) return true\n if (!alreadyAtEnd && scrollingDown) return true\n if ((alreadyAtStart || alreadyAtEnd) && el.parentNode) {\n return this.shouldScroll(el.parentNode as Element, e)\n }\n\n return false\n },\n isInside (el: Element, parent: Element): boolean {\n if (el === parent) {\n return true\n } else if (el === null || el === document.body) {\n return false\n } else {\n return this.isInside(el.parentNode as Element, parent)\n }\n },\n checkPath (e: WheelEvent) {\n const path = composedPath(e)\n\n if (e.type === 'keydown' && path[0] === document.body) {\n const dialog = this.$refs.dialog\n // getSelection returns null in firefox in some edge cases, can be ignored\n const selected = window.getSelection()!.anchorNode as Element\n if (dialog && this.hasScrollbar(dialog) && this.isInside(selected, dialog)) {\n return !this.shouldScroll(dialog, e)\n }\n return true\n }\n\n for (let index = 0; index < path.length; index++) {\n const el = path[index]\n\n if (el === document) return true\n if (el === document.documentElement) return true\n if (el === this.$refs.content) return true\n\n if (this.hasScrollbar(el as Element)) return !this.shouldScroll(el as Element, e)\n }\n\n return true\n },\n hideScroll () {\n if (this.$vuetify.breakpoint.smAndDown) {\n document.documentElement!.classList.add('overflow-y-hidden')\n } else {\n addPassiveEventListener(window, 'wheel', this.scrollListener, { passive: false })\n window.addEventListener('keydown', this.scrollListener)\n }\n },\n showScroll () {\n document.documentElement!.classList.remove('overflow-y-hidden')\n window.removeEventListener('wheel', this.scrollListener)\n window.removeEventListener('keydown', this.scrollListener)\n },\n },\n})\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../src/mixins/overlayable/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VOverlay from '../../components/VOverlay'\n\n// Utilities\nimport {\n keyCodes,\n addOnceEventListener,\n addPassiveEventListener,\n getZIndex,\n composedPath,\n} from '../../util/helpers'\n\n// Types\nimport {defineComponent, App, createApp, h} from 'vue'\n\ninterface Toggleable extends App {\n isActive?: boolean\n}\n\ninterface Stackable extends App {\n activeZIndex: number\n}\n\ninterface options {\n absolute?: boolean\n $refs: {\n dialog?: HTMLElement\n content?: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default defineComponent({\n name: 'overlayable',\n\n props: {\n hideOverlay: Boolean,\n overlayColor: String,\n overlayOpacity: [Number, String],\n },\n\n data () {\n return {\n animationFrame: 0,\n overlay: null as InstanceType<typeof VOverlay> | null,\n }\n },\n\n watch: {\n hideOverlay (value) {\n if (!this.isActive) return\n\n if (value) this.removeOverlay()\n else this.genOverlay()\n },\n },\n\n beforeDestroy () {\n this.removeOverlay()\n },\n\n methods: {\n createOverlay () {\n // Create a container element\n const container = document.createElement('div');\n\n const props = {\n absolute: this.absolute,\n color: this.overlayColor,\n opacity: this.overlayOpacity\n }\n const wrapper = {\n data() {\n return { value: false }\n },\n render() {\n return h(VOverlay, {\n modelValue: this.value,\n ...props\n })\n }\n }\n // // Create the overlay app\n // const overlayApp = createApp(VOverlay, {\n // absolute: this.absolute,\n // value: false,\n // color: this.overlayColor,\n // opacity: this.overlayOpacity,\n // });\n\n const overlayApp = createApp(wrapper)\n\n // Mount the app to the container\n const overlayInstance = overlayApp.mount(container);\n\n // Determine the parent element\n const parent = this.absolute\n ? this.$el.parentNode\n : document.querySelector('[data-app]');\n\n if (parent) {\n parent.insertBefore(container, parent.firstChild);\n }\n\n this.overlay = overlayInstance;\n this.overlayApp = overlayApp\n },\n genOverlay () {\n this.hideScroll()\n\n if (this.hideOverlay) return\n\n if (!this.overlay) this.createOverlay()\n\n this.animationFrame = requestAnimationFrame(() => {\n if (!this.overlay) return\n\n if (this.activeZIndex !== undefined) {\n this.overlay.zIndex = String(this.activeZIndex - 1)\n } else if (this.$el) {\n this.overlay.zIndex = getZIndex(this.$el)\n }\n\n this.overlay.value = true\n })\n\n return true\n },\n /** removeOverlay(false) will not restore the scollbar afterwards */\n removeOverlay (showScroll = true) {\n if (this.overlay) {\n addOnceEventListener(this.overlay.$el, 'transitionend', () => {\n if (\n !this.overlay ||\n !this.overlay.$el ||\n !this.overlay.$el.parentNode ||\n this.overlay.value ||\n this.isActive\n ) return\n\n this.overlay.$el.parentNode.removeChild(this.overlay.$el)\n this.overlayApp.unmount()\n this.overlayApp = null\n this.overlay = null\n })\n\n // Cancel animation frame in case\n // overlay is removed before it\n // has finished its animation\n cancelAnimationFrame(this.animationFrame)\n\n this.overlay.value = false\n }\n\n showScroll && this.showScroll()\n },\n scrollListener (e: WheelEvent | KeyboardEvent) {\n if ('key' in e) {\n if (\n ['INPUT', 'TEXTAREA', 'SELECT'].includes((e.target as Element).tagName) ||\n // https://github.com/vuetifyjs/vuetify/issues/4715\n (e.target as HTMLElement).isContentEditable\n ) return\n\n const up = [keyCodes.up, keyCodes.pageup]\n const down = [keyCodes.down, keyCodes.pagedown]\n\n if (up.includes(e.keyCode)) {\n (e as any).deltaY = -1\n } else if (down.includes(e.keyCode)) {\n (e as any).deltaY = 1\n } else {\n return\n }\n }\n\n if (e.target === this.overlay ||\n (e.type !== 'keydown' && e.target === document.body) ||\n this.checkPath(e as WheelEvent)) e.preventDefault()\n },\n hasScrollbar (el?: Element) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false\n\n const style = window.getComputedStyle(el)\n return ((['auto', 'scroll'].includes(style.overflowY!) || el.tagName === 'SELECT') && el.scrollHeight > el.clientHeight) ||\n ((['auto', 'scroll'].includes(style.overflowX!)) && el.scrollWidth > el.clientWidth)\n },\n shouldScroll (el: Element, e: WheelEvent): boolean {\n if (el.hasAttribute('data-app')) return false\n\n const dir = e.shiftKey || e.deltaX ? 'x' : 'y'\n const delta = dir === 'y' ? e.deltaY : e.deltaX || e.deltaY\n\n let alreadyAtStart: boolean\n let alreadyAtEnd: boolean\n if (dir === 'y') {\n alreadyAtStart = el.scrollTop === 0\n alreadyAtEnd = el.scrollTop + el.clientHeight === el.scrollHeight\n } else {\n alreadyAtStart = el.scrollLeft === 0\n alreadyAtEnd = el.scrollLeft + el.clientWidth === el.scrollWidth\n }\n\n const scrollingUp = delta < 0\n const scrollingDown = delta > 0\n\n if (!alreadyAtStart && scrollingUp) return true\n if (!alreadyAtEnd && scrollingDown) return true\n if ((alreadyAtStart || alreadyAtEnd) && el.parentNode) {\n return this.shouldScroll(el.parentNode as Element, e)\n }\n\n return false\n },\n isInside (el: Element, parent: Element): boolean {\n if (el === parent) {\n return true\n } else if (el === null || el === document.body) {\n return false\n } else {\n return this.isInside(el.parentNode as Element, parent)\n }\n },\n checkPath (e: WheelEvent) {\n const path = composedPath(e)\n\n if (e.type === 'keydown' && path[0] === document.body) {\n const dialog = this.$refs.dialog\n // getSelection returns null in firefox in some edge cases, can be ignored\n const selected = window.getSelection()!.anchorNode as Element\n if (dialog && this.hasScrollbar(dialog) && this.isInside(selected, dialog)) {\n return !this.shouldScroll(dialog, e)\n }\n return true\n }\n\n for (let index = 0; index < path.length; index++) {\n const el = path[index]\n\n if (el === document) return true\n if (el === document.documentElement) return true\n if (el === this.$refs.content) return true\n\n if (this.hasScrollbar(el as Element)) return !this.shouldScroll(el as Element, e)\n }\n\n return true\n },\n hideScroll () {\n if (this.$vuetify.breakpoint.smAndDown) {\n document.documentElement!.classList.add('overflow-y-hidden')\n } else {\n addPassiveEventListener(window, 'wheel', this.scrollListener, { passive: false })\n window.addEventListener('keydown', this.scrollListener)\n }\n },\n showScroll () {\n document.documentElement!.classList.remove('overflow-y-hidden')\n window.removeEventListener('wheel', this.scrollListener)\n window.removeEventListener('keydown', this.scrollListener)\n },\n },\n})\n"],"sourceRoot":"","file":"index.js"}
@@ -1,4 +1,5 @@
1
- // Extensions
1
+ import { reactive } from 'vue'; // Extensions
2
+
2
3
  import { Service } from '../service';
3
4
  export class Breakpoint extends Service {
4
5
  constructor(preset) {
@@ -36,6 +37,7 @@ export class Breakpoint extends Service {
36
37
  this.mobileBreakpoint = mobileBreakpoint;
37
38
  this.scrollBarWidth = scrollBarWidth;
38
39
  this.thresholds = thresholds;
40
+ return reactive(this);
39
41
  }
40
42
 
41
43
  init() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/services/breakpoint/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Extensions\nimport { Service } from '../service'\n\n// Types\nimport { VuetifyPreset } from 'vuetify/types/services/presets'\nimport { Breakpoint as IBreakpoint } from 'vuetify/types/services/breakpoint'\n\nexport class Breakpoint extends Service implements IBreakpoint {\n public static property: 'breakpoint' = 'breakpoint'\n\n // Public\n public xs = false\n\n public sm = false\n\n public md = false\n\n public lg = false\n\n public xl = false\n\n public xsOnly = false\n\n public smOnly = false\n\n public smAndDown = false\n\n public smAndUp = false\n\n public mdOnly = false\n\n public mdAndDown = false\n\n public mdAndUp = false\n\n public lgOnly = false\n\n public lgAndDown = false\n\n public lgAndUp = false\n\n public xlOnly = false\n\n // Value is xs to match v2.x functionality\n public name: IBreakpoint['name'] = 'xs'\n\n public height = 0\n\n public width = 0\n\n // TODO: Add functionality to detect this dynamically in v3\n // Value is true to match v2.x functionality\n public mobile = true\n\n public mobileBreakpoint: IBreakpoint['mobileBreakpoint']\n\n public thresholds: IBreakpoint['thresholds']\n\n public scrollBarWidth: IBreakpoint['scrollBarWidth']\n\n private resizeTimeout = 0\n\n constructor (preset: VuetifyPreset) {\n super()\n\n const {\n mobileBreakpoint,\n scrollBarWidth,\n thresholds,\n } = preset[Breakpoint.property]\n\n this.mobileBreakpoint = mobileBreakpoint\n this.scrollBarWidth = scrollBarWidth\n this.thresholds = thresholds\n }\n\n public init () {\n this.update()\n\n /* istanbul ignore if */\n if (typeof window === 'undefined') return\n\n window.addEventListener(\n 'resize',\n this.onResize.bind(this),\n { passive: true }\n )\n }\n\n /* eslint-disable-next-line max-statements */\n public update (ssr = false) {\n const height = ssr ? 0 : this.getClientHeight()\n const width = ssr ? 0 : this.getClientWidth()\n\n const xs = width < this.thresholds.xs\n const sm = width < this.thresholds.sm && !xs\n const md = width < (this.thresholds.md - this.scrollBarWidth) && !(sm || xs)\n const lg = width < (this.thresholds.lg - this.scrollBarWidth) && !(md || sm || xs)\n const xl = width >= (this.thresholds.lg - this.scrollBarWidth)\n\n this.height = height\n this.width = width\n\n this.xs = xs\n this.sm = sm\n this.md = md\n this.lg = lg\n this.xl = xl\n\n this.xsOnly = xs\n this.smOnly = sm\n this.smAndDown = (xs || sm) && !(md || lg || xl)\n this.smAndUp = !xs && (sm || md || lg || xl)\n this.mdOnly = md\n this.mdAndDown = (xs || sm || md) && !(lg || xl)\n this.mdAndUp = !(xs || sm) && (md || lg || xl)\n this.lgOnly = lg\n this.lgAndDown = (xs || sm || md || lg) && !xl\n this.lgAndUp = !(xs || sm || md) && (lg || xl)\n this.xlOnly = xl\n\n switch (true) {\n case (xs):\n this.name = 'xs'\n break\n case (sm):\n this.name = 'sm'\n break\n case (md):\n this.name = 'md'\n break\n case (lg):\n this.name = 'lg'\n break\n default:\n this.name = 'xl'\n break\n }\n\n if (typeof this.mobileBreakpoint === 'number') {\n this.mobile = width < parseInt(this.mobileBreakpoint, 10)\n\n return\n }\n\n const breakpoints = {\n xs: 0,\n sm: 1,\n md: 2,\n lg: 3,\n xl: 4,\n } as const\n\n const current = breakpoints[this.name]\n const max = breakpoints[this.mobileBreakpoint]\n\n this.mobile = current <= max\n }\n\n private onResize () {\n clearTimeout(this.resizeTimeout)\n\n // Added debounce to match what\n // v-resize used to do but was\n // removed due to a memory leak\n // https://github.com/vuetifyjs/vuetify/pull/2997\n this.resizeTimeout = window.setTimeout(this.update.bind(this), 200)\n }\n\n // Cross-browser support as described in:\n // https://stackoverflow.com/questions/1248081\n private getClientWidth () {\n /* istanbul ignore if */\n if (typeof document === 'undefined') return 0 // SSR\n return Math.max(\n document.documentElement!.clientWidth,\n window.innerWidth || 0\n )\n }\n\n private getClientHeight () {\n /* istanbul ignore if */\n if (typeof document === 'undefined') return 0 // SSR\n return Math.max(\n document.documentElement!.clientHeight,\n window.innerHeight || 0\n )\n }\n}\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../src/services/breakpoint/index.ts"],"names":[],"mappings":"AAAA,SAAS,QAAT,QAAyB,KAAzB,C,CAGA;;AACA,SAAS,OAAT,QAAwB,YAAxB;AAMA,OAAM,MAAO,UAAP,SAA0B,OAA1B,CAAiC;AAuDrC,EAAA,WAAA,CAAa,MAAb,EAAkC;AAChC,YADgC,CApDlC;;AACO,SAAA,EAAA,GAAK,KAAL;AAEA,SAAA,EAAA,GAAK,KAAL;AAEA,SAAA,EAAA,GAAK,KAAL;AAEA,SAAA,EAAA,GAAK,KAAL;AAEA,SAAA,EAAA,GAAK,KAAL;AAEA,SAAA,MAAA,GAAS,KAAT;AAEA,SAAA,MAAA,GAAS,KAAT;AAEA,SAAA,SAAA,GAAY,KAAZ;AAEA,SAAA,OAAA,GAAU,KAAV;AAEA,SAAA,MAAA,GAAS,KAAT;AAEA,SAAA,SAAA,GAAY,KAAZ;AAEA,SAAA,OAAA,GAAU,KAAV;AAEA,SAAA,MAAA,GAAS,KAAT;AAEA,SAAA,SAAA,GAAY,KAAZ;AAEA,SAAA,OAAA,GAAU,KAAV;AAEA,SAAA,MAAA,GAAS,KAAT,CAqB2B,CAnBlC;;AACO,SAAA,IAAA,GAA4B,IAA5B;AAEA,SAAA,MAAA,GAAS,CAAT;AAEA,SAAA,KAAA,GAAQ,CAAR,CAc2B,CAZlC;AACA;;AACO,SAAA,MAAA,GAAS,IAAT;AAQC,SAAA,aAAA,GAAgB,CAAhB;AAKN,UAAM;AACJ,MAAA,gBADI;AAEJ,MAAA,cAFI;AAGJ,MAAA;AAHI,QAIF,MAAM,CAAC,UAAU,CAAC,QAAZ,CAJV;AAMA,SAAK,gBAAL,GAAwB,gBAAxB;AACA,SAAK,cAAL,GAAsB,cAAtB;AACA,SAAK,UAAL,GAAkB,UAAlB;AAEA,WAAO,QAAQ,CAAC,IAAD,CAAf;AACD;;AAEM,EAAA,IAAI,GAAA;AACT,SAAK,MAAL;AAEA;;AACA,QAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AAEnC,IAAA,MAAM,CAAC,gBAAP,CACE,QADF,EAEE,KAAK,QAAL,CAAc,IAAd,CAAmB,IAAnB,CAFF,EAGE;AAAE,MAAA,OAAO,EAAE;AAAX,KAHF;AAKD;AAED;;;AACO,EAAA,MAAM,CAAE,GAAG,GAAG,KAAR,EAAa;AACxB,UAAM,MAAM,GAAG,GAAG,GAAG,CAAH,GAAO,KAAK,eAAL,EAAzB;AACA,UAAM,KAAK,GAAG,GAAG,GAAG,CAAH,GAAO,KAAK,cAAL,EAAxB;AAEA,UAAM,EAAE,GAAG,KAAK,GAAG,KAAK,UAAL,CAAgB,EAAnC;AACA,UAAM,EAAE,GAAG,KAAK,GAAG,KAAK,UAAL,CAAgB,EAAxB,IAA8B,CAAC,EAA1C;AACA,UAAM,EAAE,GAAG,KAAK,GAAI,KAAK,UAAL,CAAgB,EAAhB,GAAqB,KAAK,cAAnC,IAAsD,EAAE,EAAE,IAAI,EAAR,CAAjE;AACA,UAAM,EAAE,GAAG,KAAK,GAAI,KAAK,UAAL,CAAgB,EAAhB,GAAqB,KAAK,cAAnC,IAAsD,EAAE,EAAE,IAAI,EAAN,IAAY,EAAd,CAAjE;AACA,UAAM,EAAE,GAAG,KAAK,IAAK,KAAK,UAAL,CAAgB,EAAhB,GAAqB,KAAK,cAA/C;AAEA,SAAK,MAAL,GAAc,MAAd;AACA,SAAK,KAAL,GAAa,KAAb;AAEA,SAAK,EAAL,GAAU,EAAV;AACA,SAAK,EAAL,GAAU,EAAV;AACA,SAAK,EAAL,GAAU,EAAV;AACA,SAAK,EAAL,GAAU,EAAV;AACA,SAAK,EAAL,GAAU,EAAV;AAEA,SAAK,MAAL,GAAc,EAAd;AACA,SAAK,MAAL,GAAc,EAAd;AACA,SAAK,SAAL,GAAiB,CAAC,EAAE,IAAI,EAAP,KAAc,EAAE,EAAE,IAAI,EAAN,IAAY,EAAd,CAA/B;AACA,SAAK,OAAL,GAAe,CAAC,EAAD,KAAQ,EAAE,IAAI,EAAN,IAAY,EAAZ,IAAkB,EAA1B,CAAf;AACA,SAAK,MAAL,GAAc,EAAd;AACA,SAAK,SAAL,GAAiB,CAAC,EAAE,IAAI,EAAN,IAAY,EAAb,KAAoB,EAAE,EAAE,IAAI,EAAR,CAArC;AACA,SAAK,OAAL,GAAe,EAAE,EAAE,IAAI,EAAR,MAAgB,EAAE,IAAI,EAAN,IAAY,EAA5B,CAAf;AACA,SAAK,MAAL,GAAc,EAAd;AACA,SAAK,SAAL,GAAiB,CAAC,EAAE,IAAI,EAAN,IAAY,EAAZ,IAAkB,EAAnB,KAA0B,CAAC,EAA5C;AACA,SAAK,OAAL,GAAe,EAAE,EAAE,IAAI,EAAN,IAAY,EAAd,MAAsB,EAAE,IAAI,EAA5B,CAAf;AACA,SAAK,MAAL,GAAc,EAAd;;AAEA,YAAQ,IAAR;AACE,WAAM,EAAN;AACE,aAAK,IAAL,GAAY,IAAZ;AACA;;AACF,WAAM,EAAN;AACE,aAAK,IAAL,GAAY,IAAZ;AACA;;AACF,WAAM,EAAN;AACE,aAAK,IAAL,GAAY,IAAZ;AACA;;AACF,WAAM,EAAN;AACE,aAAK,IAAL,GAAY,IAAZ;AACA;;AACF;AACE,aAAK,IAAL,GAAY,IAAZ;AACA;AAfJ;;AAkBA,QAAI,OAAO,KAAK,gBAAZ,KAAiC,QAArC,EAA+C;AAC7C,WAAK,MAAL,GAAc,KAAK,GAAG,QAAQ,CAAC,KAAK,gBAAN,EAAwB,EAAxB,CAA9B;AAEA;AACD;;AAED,UAAM,WAAW,GAAG;AAClB,MAAA,EAAE,EAAE,CADc;AAElB,MAAA,EAAE,EAAE,CAFc;AAGlB,MAAA,EAAE,EAAE,CAHc;AAIlB,MAAA,EAAE,EAAE,CAJc;AAKlB,MAAA,EAAE,EAAE;AALc,KAApB;AAQA,UAAM,OAAO,GAAG,WAAW,CAAC,KAAK,IAAN,CAA3B;AACA,UAAM,GAAG,GAAG,WAAW,CAAC,KAAK,gBAAN,CAAvB;AAEA,SAAK,MAAL,GAAc,OAAO,IAAI,GAAzB;AACD;;AAEO,EAAA,QAAQ,GAAA;AACd,IAAA,YAAY,CAAC,KAAK,aAAN,CAAZ,CADc,CAGd;AACA;AACA;AACA;;AACA,SAAK,aAAL,GAAqB,MAAM,CAAC,UAAP,CAAkB,KAAK,MAAL,CAAY,IAAZ,CAAiB,IAAjB,CAAlB,EAA0C,GAA1C,CAArB;AACD,GAlKoC,CAoKrC;AACA;;;AACQ,EAAA,cAAc,GAAA;AACpB;AACA,QAAI,OAAO,QAAP,KAAoB,WAAxB,EAAqC,OAAO,CAAP,CAFjB,CAE0B;;AAC9C,WAAO,IAAI,CAAC,GAAL,CACL,QAAQ,CAAC,eAAT,CAA0B,WADrB,EAEL,MAAM,CAAC,UAAP,IAAqB,CAFhB,CAAP;AAID;;AAEO,EAAA,eAAe,GAAA;AACrB;AACA,QAAI,OAAO,QAAP,KAAoB,WAAxB,EAAqC,OAAO,CAAP,CAFhB,CAEyB;;AAC9C,WAAO,IAAI,CAAC,GAAL,CACL,QAAQ,CAAC,eAAT,CAA0B,YADrB,EAEL,MAAM,CAAC,WAAP,IAAsB,CAFjB,CAAP;AAID;;AAtLoC;AACvB,UAAA,CAAA,QAAA,GAAyB,YAAzB","sourcesContent":["import { reactive } from 'vue'\n\n\n// Extensions\nimport { Service } from '../service'\n\n// Types\nimport { VuetifyPreset } from 'vuetify/types/services/presets'\nimport { Breakpoint as IBreakpoint } from 'vuetify/types/services/breakpoint'\n\nexport class Breakpoint extends Service implements IBreakpoint {\n public static property: 'breakpoint' = 'breakpoint'\n\n // Public\n public xs = false\n\n public sm = false\n\n public md = false\n\n public lg = false\n\n public xl = false\n\n public xsOnly = false\n\n public smOnly = false\n\n public smAndDown = false\n\n public smAndUp = false\n\n public mdOnly = false\n\n public mdAndDown = false\n\n public mdAndUp = false\n\n public lgOnly = false\n\n public lgAndDown = false\n\n public lgAndUp = false\n\n public xlOnly = false\n\n // Value is xs to match v2.x functionality\n public name: IBreakpoint['name'] = 'xs'\n\n public height = 0\n\n public width = 0\n\n // TODO: Add functionality to detect this dynamically in v3\n // Value is true to match v2.x functionality\n public mobile = true\n\n public mobileBreakpoint: IBreakpoint['mobileBreakpoint']\n\n public thresholds: IBreakpoint['thresholds']\n\n public scrollBarWidth: IBreakpoint['scrollBarWidth']\n\n private resizeTimeout = 0\n\n constructor (preset: VuetifyPreset) {\n super()\n\n const {\n mobileBreakpoint,\n scrollBarWidth,\n thresholds,\n } = preset[Breakpoint.property]\n\n this.mobileBreakpoint = mobileBreakpoint\n this.scrollBarWidth = scrollBarWidth\n this.thresholds = thresholds\n\n return reactive(this)\n }\n\n public init () {\n this.update()\n\n /* istanbul ignore if */\n if (typeof window === 'undefined') return\n\n window.addEventListener(\n 'resize',\n this.onResize.bind(this),\n { passive: true }\n )\n }\n\n /* eslint-disable-next-line max-statements */\n public update (ssr = false) {\n const height = ssr ? 0 : this.getClientHeight()\n const width = ssr ? 0 : this.getClientWidth()\n\n const xs = width < this.thresholds.xs\n const sm = width < this.thresholds.sm && !xs\n const md = width < (this.thresholds.md - this.scrollBarWidth) && !(sm || xs)\n const lg = width < (this.thresholds.lg - this.scrollBarWidth) && !(md || sm || xs)\n const xl = width >= (this.thresholds.lg - this.scrollBarWidth)\n\n this.height = height\n this.width = width\n\n this.xs = xs\n this.sm = sm\n this.md = md\n this.lg = lg\n this.xl = xl\n\n this.xsOnly = xs\n this.smOnly = sm\n this.smAndDown = (xs || sm) && !(md || lg || xl)\n this.smAndUp = !xs && (sm || md || lg || xl)\n this.mdOnly = md\n this.mdAndDown = (xs || sm || md) && !(lg || xl)\n this.mdAndUp = !(xs || sm) && (md || lg || xl)\n this.lgOnly = lg\n this.lgAndDown = (xs || sm || md || lg) && !xl\n this.lgAndUp = !(xs || sm || md) && (lg || xl)\n this.xlOnly = xl\n\n switch (true) {\n case (xs):\n this.name = 'xs'\n break\n case (sm):\n this.name = 'sm'\n break\n case (md):\n this.name = 'md'\n break\n case (lg):\n this.name = 'lg'\n break\n default:\n this.name = 'xl'\n break\n }\n\n if (typeof this.mobileBreakpoint === 'number') {\n this.mobile = width < parseInt(this.mobileBreakpoint, 10)\n\n return\n }\n\n const breakpoints = {\n xs: 0,\n sm: 1,\n md: 2,\n lg: 3,\n xl: 4,\n } as const\n\n const current = breakpoints[this.name]\n const max = breakpoints[this.mobileBreakpoint]\n\n this.mobile = current <= max\n }\n\n private onResize () {\n clearTimeout(this.resizeTimeout)\n\n // Added debounce to match what\n // v-resize used to do but was\n // removed due to a memory leak\n // https://github.com/vuetifyjs/vuetify/pull/2997\n this.resizeTimeout = window.setTimeout(this.update.bind(this), 200)\n }\n\n // Cross-browser support as described in:\n // https://stackoverflow.com/questions/1248081\n private getClientWidth () {\n /* istanbul ignore if */\n if (typeof document === 'undefined') return 0 // SSR\n return Math.max(\n document.documentElement!.clientWidth,\n window.innerWidth || 0\n )\n }\n\n private getClientHeight () {\n /* istanbul ignore if */\n if (typeof document === 'undefined') return 0 // SSR\n return Math.max(\n document.documentElement!.clientHeight,\n window.innerHeight || 0\n )\n }\n}\n"],"sourceRoot":"","file":"index.js"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dimailn/vuetify",
3
3
  "description": "Vue Material Component Framework",
4
- "version": "2.7.2-alpha3",
4
+ "version": "2.7.2-alpha4",
5
5
  "author": {
6
6
  "name": "John Leider",
7
7
  "email": "john@vuetifyjs.com"
@@ -36,7 +36,7 @@ export default mixins(
36
36
  type: [Number, String],
37
37
  default: 0.46,
38
38
  },
39
- value: {
39
+ modelValue: {
40
40
  default: true,
41
41
  },
42
42
  zIndex: {
@@ -22,11 +22,11 @@ export default mixins(
22
22
 
23
23
  render (): VNode {
24
24
  return h('div', {
25
+ ...this.$attrs,
25
26
  class: ['v-subheader', {
26
27
  'v-subheader--inset': this.inset,
27
28
  ...this.themeClasses,
28
- }],
29
- ...this.$attrs,
29
+ }, this.$attrs.class],
30
30
  ...this.$listeners
31
31
  }, getSlot(this))
32
32
  },
@@ -75,7 +75,7 @@ export default defineComponent({
75
75
  },
76
76
  render() {
77
77
  return h(VOverlay, {
78
- value: this.value,
78
+ modelValue: this.value,
79
79
  ...props
80
80
  })
81
81
  }
@@ -1,3 +1,6 @@
1
+ import { reactive } from 'vue'
2
+
3
+
1
4
  // Extensions
2
5
  import { Service } from '../service'
3
6
 
@@ -72,6 +75,8 @@ export class Breakpoint extends Service implements IBreakpoint {
72
75
  this.mobileBreakpoint = mobileBreakpoint
73
76
  this.scrollBarWidth = scrollBarWidth
74
77
  this.thresholds = thresholds
78
+
79
+ return reactive(this)
75
80
  }
76
81
 
77
82
  public init () {