{"version":3,"sources":["webpack:///../../../src/components/VGrid/VRow.ts","webpack:///../../../src/components/VDialog/VDialog.ts","webpack:///../../../src/components/VOverlay/index.ts","webpack:///../../../src/components/VForm/VForm.ts","webpack:///../../../src/components/VOverlay/VOverlay.ts","webpack:///../../../src/mixins/overlayable/index.ts"],"names":["breakpoints","ALIGNMENT","makeProps","props","prefix","def","alignValidator","str","alignProps","type","default","validator","justifyValidator","justifyProps","alignContentValidator","alignContentProps","propMap","align","Object","justify","alignContent","classMap","breakpointClass","className","val","breakpoint","prop","cache","name","functional","tag","dense","noGutters","render","children","cacheKey","String","classList","value","h","data","staticClass","class","baseMixins","directives","ClickOutside","dark","disabled","fullscreen","light","maxWidth","noClickAnimation","origin","persistent","retainFocus","scrollable","transition","width","activatedBy","animate","animateTimeout","isActive","this","stackMinZIndex","previousActiveElement","computed","classes","contentClasses","hasActivator","Boolean","$slots","$scopedSlots","watch","created","$attrs","hasOwnProperty","beforeMount","beforeDestroy","window","unbind","methods","animateClick","closeConditional","target","e","_isDestroyed","$refs","content","contains","overlay","$el","activeZIndex","hideScroll","document","show","bind","onClickOutside","onKeydown","getOpenDependents","activator","onFocusin","getOpenDependentElements","some","el","focusable","querySelectorAll","genContent","showLazyContent","root","attrs","role","tabindex","on","keydown","style","zIndex","ref","genTransition","$createElement","appear","genInnerContent","handler","include","transformOrigin","undefined","attach","provide","form","inheritAttrs","lazyValidation","readonly","inputs","watchers","errorBag","errors","deep","immediate","watchInput","watcher","input","_uid","valid","shouldValidate","validate","filter","reset","resetErrorBag","setTimeout","resetValidation","register","unregister","found","find","i","unwatch","novalidate","attrs$","submit","absolute","color","opacity","Number","__scrim","setBackgroundColor","computedOpacity","themeClasses","styles","hideOverlay","overlayColor","overlayOpacity","animationFrame","genOverlay","createOverlay","propsData","parent","requestAnimationFrame","removeOverlay","showScroll","cancelAnimationFrame","scrollListener","includes","up","down","checkPath","hasScrollbar","Node","shouldScroll","delta","isInside","path","composedPath","dialog","selected","index","$vuetify","passive"],"mappings":"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","file":"js/chunk-b17d9cfa.dcd8c6de.js","sourcesContent":["import './VGrid.sass'\n\nimport Vue, { PropOptions } from 'vue'\nimport mergeData from '../../util/mergeData'\nimport { upperFirst } from '../../util/helpers'\n\n// no xs\nconst breakpoints = ['sm', 'md', 'lg', 'xl']\n\nconst ALIGNMENT = ['start', 'end', 'center']\n\nfunction makeProps (prefix: string, def: () => PropOptions) {\n return breakpoints.reduce((props, val) => {\n props[prefix + upperFirst(val)] = def()\n return props\n }, {} as Dictionary)\n}\n\nconst alignValidator = (str: any) => [...ALIGNMENT, 'baseline', 'stretch'].includes(str)\nconst alignProps = makeProps('align', () => ({\n type: String,\n default: null,\n validator: alignValidator,\n}))\n\nconst justifyValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around'].includes(str)\nconst justifyProps = makeProps('justify', () => ({\n type: String,\n default: null,\n validator: justifyValidator,\n}))\n\nconst alignContentValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around', 'stretch'].includes(str)\nconst alignContentProps = makeProps('alignContent', () => ({\n type: String,\n default: null,\n validator: alignContentValidator,\n}))\n\nconst propMap = {\n align: Object.keys(alignProps),\n justify: Object.keys(justifyProps),\n alignContent: Object.keys(alignContentProps),\n}\n\nconst classMap = {\n align: 'align',\n justify: 'justify',\n alignContent: 'align-content',\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: string) {\n let className = classMap[type]\n if (val == null) {\n return undefined\n }\n if (prop) {\n // alignSm -> Sm\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n // .align-items-sm-center\n className += `-${val}`\n return className.toLowerCase()\n}\n\nconst cache = new Map()\n\nexport default Vue.extend({\n name: 'v-row',\n functional: true,\n props: {\n tag: {\n type: String,\n default: 'div',\n },\n dense: Boolean,\n noGutters: Boolean,\n align: {\n type: String,\n default: null,\n validator: alignValidator,\n },\n ...alignProps,\n justify: {\n type: String,\n default: null,\n validator: justifyValidator,\n },\n ...justifyProps,\n alignContent: {\n type: String,\n default: null,\n validator: alignContentValidator,\n },\n ...alignContentProps,\n },\n render (h, { props, data, children }) {\n // Super-fast memoization based on props, 5x faster than JSON.stringify\n let cacheKey = ''\n for (const prop in props) {\n cacheKey += String((props as any)[prop])\n }\n let classList = cache.get(cacheKey)\n\n if (!classList) {\n classList = []\n // Loop through `align`, `justify`, `alignContent` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n classList.push({\n 'no-gutters': props.noGutters,\n 'row--dense': props.dense,\n [`align-${props.align}`]: props.align,\n [`justify-${props.justify}`]: props.justify,\n [`align-content-${props.alignContent}`]: props.alignContent,\n })\n\n cache.set(cacheKey, classList)\n }\n\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'row',\n class: classList,\n }),\n children\n )\n },\n})\n","// Styles\nimport './VDialog.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Overlayable from '../../mixins/overlayable'\nimport Returnable from '../../mixins/returnable'\nimport Stackable from '../../mixins/stackable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n Activatable,\n Dependent,\n Detachable,\n Overlayable,\n Returnable,\n Stackable,\n Toggleable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-dialog',\n\n directives: { ClickOutside },\n\n props: {\n dark: Boolean,\n disabled: Boolean,\n fullscreen: Boolean,\n light: Boolean,\n maxWidth: {\n type: [String, Number],\n default: 'none',\n },\n noClickAnimation: Boolean,\n origin: {\n type: String,\n default: 'center center',\n },\n persistent: Boolean,\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n transition: {\n type: [String, Boolean],\n default: 'dialog-transition',\n },\n width: {\n type: [String, Number],\n default: 'auto',\n },\n },\n\n data () {\n return {\n activatedBy: null as EventTarget | null,\n animate: false,\n animateTimeout: -1,\n isActive: !!this.value,\n stackMinZIndex: 200,\n previousActiveElement: null as HTMLElement | null,\n }\n },\n\n computed: {\n classes (): object {\n return {\n [(`v-dialog ${this.contentClass}`).trim()]: true,\n 'v-dialog--active': this.isActive,\n 'v-dialog--persistent': this.persistent,\n 'v-dialog--fullscreen': this.fullscreen,\n 'v-dialog--scrollable': this.scrollable,\n 'v-dialog--animated': this.animate,\n }\n },\n contentClasses (): object {\n return {\n 'v-dialog__content': true,\n 'v-dialog__content--active': this.isActive,\n }\n },\n hasActivator (): boolean {\n return Boolean(\n !!this.$slots.activator ||\n !!this.$scopedSlots.activator\n )\n },\n },\n\n watch: {\n isActive (val) {\n if (val) {\n this.show()\n this.hideScroll()\n } else {\n this.removeOverlay()\n this.unbind()\n this.previousActiveElement?.focus()\n }\n },\n fullscreen (val) {\n if (!this.isActive) return\n\n if (val) {\n this.hideScroll()\n this.removeOverlay(false)\n } else {\n this.showScroll()\n this.genOverlay()\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.isBooted = this.isActive\n this.isActive && this.show()\n })\n },\n\n beforeDestroy () {\n if (typeof window !== 'undefined') this.unbind()\n },\n\n methods: {\n animateClick () {\n this.animate = false\n // Needed for when clicking very fast\n // outside of the dialog\n this.$nextTick(() => {\n this.animate = true\n window.clearTimeout(this.animateTimeout)\n this.animateTimeout = window.setTimeout(() => (this.animate = false), 150)\n })\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n // Ignore the click if the dialog is closed or destroyed,\n // if it was on an element inside the content,\n // if it was dragged onto the overlay (#6969),\n // or if this isn't the topmost dialog (#9907)\n return !(\n this._isDestroyed ||\n !this.isActive ||\n this.$refs.content.contains(target) ||\n (this.overlay && target && !this.overlay.$el.contains(target))\n ) && this.activeZIndex >= this.getMaxZIndex()\n },\n hideScroll () {\n if (this.fullscreen) {\n document.documentElement.classList.add('overflow-y-hidden')\n } else {\n Overlayable.options.methods.hideScroll.call(this)\n }\n },\n show () {\n !this.fullscreen && !this.hideOverlay && this.genOverlay()\n // Double nextTick to wait for lazy content to be generated\n this.$nextTick(() => {\n this.$nextTick(() => {\n this.previousActiveElement = document.activeElement as HTMLElement\n this.$refs.content.focus()\n this.bind()\n })\n })\n },\n bind () {\n window.addEventListener('focusin', this.onFocusin)\n },\n unbind () {\n window.removeEventListener('focusin', this.onFocusin)\n },\n onClickOutside (e: Event) {\n this.$emit('click:outside', e)\n\n if (this.persistent) {\n this.noClickAnimation || this.animateClick()\n } else {\n this.isActive = false\n }\n },\n onKeydown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc && !this.getOpenDependents().length) {\n if (!this.persistent) {\n this.isActive = false\n const activator = this.getActivator()\n this.$nextTick(() => activator && (activator as HTMLElement).focus())\n } else if (!this.noClickAnimation) {\n this.animateClick()\n }\n }\n this.$emit('keydown', e)\n },\n // On focus change, wrap focus to stay inside the dialog\n // https://github.com/vuetifyjs/vuetify/issues/6892\n onFocusin (e: Event) {\n if (!e || !this.retainFocus) return\n\n const target = e.target as HTMLElement\n\n if (\n !!target &&\n // It isn't the document or the dialog body\n ![document, this.$refs.content].includes(target) &&\n // It isn't inside the dialog body\n !this.$refs.content.contains(target) &&\n // We're the topmost dialog\n this.activeZIndex >= this.getMaxZIndex() &&\n // It isn't inside a dependent element (like a menu)\n !this.getOpenDependentElements().some(el => el.contains(target))\n // So we must have focused something outside the dialog and its children\n ) {\n // Find and focus the first available element inside the dialog\n const focusable = this.$refs.content.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])')\n const el = [...focusable].find(el => !el.hasAttribute('disabled')) as HTMLElement | undefined\n el && el.focus()\n }\n },\n genContent () {\n return this.showLazyContent(() => [\n this.$createElement(VThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, [\n this.$createElement('div', {\n class: this.contentClasses,\n attrs: {\n role: 'document',\n tabindex: this.isActive ? 0 : undefined,\n ...this.getScopeIdAttrs(),\n },\n on: { keydown: this.onKeydown },\n style: { zIndex: this.activeZIndex },\n ref: 'content',\n }, [this.genTransition()]),\n ]),\n ])\n },\n genTransition () {\n const content = this.genInnerContent()\n\n if (!this.transition) return content\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n appear: true,\n },\n }, [content])\n },\n genInnerContent () {\n const data: VNodeData = {\n class: this.classes,\n ref: 'dialog',\n directives: [\n {\n name: 'click-outside',\n value: {\n handler: this.onClickOutside,\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n },\n { name: 'show', value: this.isActive },\n ],\n style: {\n transformOrigin: this.origin,\n },\n }\n\n if (!this.fullscreen) {\n data.style = {\n ...data.style as object,\n maxWidth: this.maxWidth === 'none' ? undefined : convertToUnit(this.maxWidth),\n width: this.width === 'auto' ? undefined : convertToUnit(this.width),\n }\n }\n\n return this.$createElement('div', data, this.getContentSlot())\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-dialog__container',\n class: {\n 'v-dialog__container--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n },\n attrs: { role: 'dialog' },\n }, [\n this.genActivator(),\n this.genContent(),\n ])\n },\n})\n","import VOverlay from './VOverlay'\n\nexport { VOverlay }\n\nexport default VOverlay\n","// Components\nimport VInput from '../VInput/VInput'\n\n// Mixins\nimport mixins from '../../util/mixins'\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Helpers\nimport { VNode } from 'vue'\n\ntype ErrorBag = Record\ntype VInputInstance = InstanceType\ntype Watchers = {\n _uid: number\n valid: () => void\n shouldValidate: () => void\n}\n\n/* @vue/component */\nexport default mixins(\n BindsAttrs,\n RegistrableProvide('form')\n /* @vue/component */\n).extend({\n name: 'v-form',\n\n provide (): object {\n return { form: this }\n },\n\n inheritAttrs: false,\n\n props: {\n disabled: Boolean,\n lazyValidation: Boolean,\n readonly: Boolean,\n value: Boolean,\n },\n\n data: () => ({\n inputs: [] as VInputInstance[],\n watchers: [] as Watchers[],\n errorBag: {} as ErrorBag,\n }),\n\n watch: {\n errorBag: {\n handler (val) {\n const errors = Object.values(val).includes(true)\n\n this.$emit('input', !errors)\n },\n deep: true,\n immediate: true,\n },\n },\n\n methods: {\n watchInput (input: any): Watchers {\n const watcher = (input: any): (() => void) => {\n return input.$watch('hasError', (val: boolean) => {\n this.$set(this.errorBag, input._uid, val)\n }, { immediate: true })\n }\n\n const watchers: Watchers = {\n _uid: input._uid,\n valid: () => {},\n shouldValidate: () => {},\n }\n\n if (this.lazyValidation) {\n // Only start watching inputs if we need to\n watchers.shouldValidate = input.$watch('shouldValidate', (val: boolean) => {\n if (!val) return\n\n // Only watch if we're not already doing it\n if (this.errorBag.hasOwnProperty(input._uid)) return\n\n watchers.valid = watcher(input)\n })\n } else {\n watchers.valid = watcher(input)\n }\n\n return watchers\n },\n /** @public */\n validate (): boolean {\n return this.inputs.filter(input => !input.validate(true)).length === 0\n },\n /** @public */\n reset (): void {\n this.inputs.forEach(input => input.reset())\n this.resetErrorBag()\n },\n resetErrorBag () {\n if (this.lazyValidation) {\n // Account for timeout in validatable\n setTimeout(() => {\n this.errorBag = {}\n }, 0)\n }\n },\n /** @public */\n resetValidation () {\n this.inputs.forEach(input => input.resetValidation())\n this.resetErrorBag()\n },\n register (input: VInputInstance) {\n this.inputs.push(input)\n this.watchers.push(this.watchInput(input))\n },\n unregister (input: VInputInstance) {\n const found = this.inputs.find(i => i._uid === input._uid)\n\n if (!found) return\n\n const unwatch = this.watchers.find(i => i._uid === found._uid)\n if (unwatch) {\n unwatch.valid()\n unwatch.shouldValidate()\n }\n\n this.watchers = this.watchers.filter(i => i._uid !== found._uid)\n this.inputs = this.inputs.filter(i => i._uid !== found._uid)\n this.$delete(this.errorBag, found._uid)\n },\n },\n\n render (h): VNode {\n return h('form', {\n staticClass: 'v-form',\n attrs: {\n novalidate: true,\n ...this.attrs$,\n },\n on: {\n submit: (e: Event) => this.$emit('submit', e),\n },\n }, this.$slots.default)\n },\n})\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'\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 staticClass: 'v-overlay__scrim',\n style: {\n opacity: this.computedOpacity,\n },\n })\n\n return this.$createElement('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 this.$createElement('div', {\n staticClass: 'v-overlay__content',\n }, this.$slots.default)\n },\n },\n\n render (h): VNode {\n const children = [this.__scrim]\n\n if (this.isActive) children.push(this.genContent())\n\n return h('div', {\n staticClass: 'v-overlay',\n class: this.classes,\n style: this.styles,\n }, children)\n },\n})\n","// Components\nimport VOverlay from '../../components/VOverlay'\n\n// Utilities\nimport {\n keyCodes,\n addOnceEventListener,\n addPassiveEventListener,\n getZIndex,\n} from '../../util/helpers'\n\n// Types\nimport Vue from 'vue'\n\ninterface Toggleable extends Vue {\n isActive?: boolean\n}\n\ninterface Stackable extends Vue {\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 Vue.extend().extend({\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 | 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 const overlay = new VOverlay({\n propsData: {\n absolute: this.absolute,\n value: false,\n color: this.overlayColor,\n opacity: this.overlayOpacity,\n },\n })\n\n overlay.$mount()\n\n const parent = this.absolute\n ? this.$el.parentNode\n : document.querySelector('[data-app]')\n\n parent && parent.insertBefore(overlay.$el, parent.firstChild)\n\n this.overlay = overlay\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 ) return\n\n this.overlay.$el.parentNode.removeChild(this.overlay.$el)\n this.overlay.$destroy()\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 (e.type === 'keydown') {\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)) 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.scrollHeight > el.clientHeight\n },\n shouldScroll (el: Element, delta: number) {\n if (el.scrollTop === 0 && delta < 0) return true\n return el.scrollTop + el.clientHeight === el.scrollHeight && delta > 0\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 = e.path || this.composedPath(e)\n const delta = e.deltaY\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, delta)\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, delta)\n }\n\n return true\n },\n /**\n * Polyfill for Event.prototype.composedPath\n */\n composedPath (e: WheelEvent): EventTarget[] {\n if (e.composedPath) return e.composedPath()\n\n const path = []\n let el = e.target as Element\n\n while (el) {\n path.push(el)\n\n if (el.tagName === 'HTML') {\n path.push(document)\n path.push(window)\n\n return path\n }\n\n el = el.parentElement!\n }\n return path\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 as EventHandlerNonNull, { passive: false })\n window.addEventListener('keydown', this.scrollListener as EventHandlerNonNull)\n }\n },\n showScroll () {\n document.documentElement!.classList.remove('overflow-y-hidden')\n window.removeEventListener('wheel', this.scrollListener as EventHandlerNonNull)\n window.removeEventListener('keydown', this.scrollListener as EventHandlerNonNull)\n },\n },\n})\n"],"sourceRoot":""}