{"version":3,"sources":["webpack:///../../../src/components/VGrid/VRow.ts","webpack:///../../../src/components/VOverlay/VOverlay.ts","webpack:///../../../src/components/VOverlay/index.ts","webpack:///../../../src/mixins/overlayable/index.ts","webpack:///../../../src/components/VDialog/VDialog.ts","webpack:///../../../src/components/VGrid/VCol.ts"],"names":["breakpoints","ALIGNMENT","makeProps","prefix","def","reduce","props","val","alignValidator","str","includes","alignProps","type","String","default","validator","justifyValidator","justifyProps","alignContentValidator","alignContentProps","propMap","align","Object","keys","justify","alignContent","classMap","breakpointClass","prop","className","breakpoint","replace","toLowerCase","cache","Map","extend","name","functional","tag","dense","Boolean","noGutters","render","h","data","children","cacheKey","classList","get","forEach","value","push","set","staticClass","class","mixins","absolute","color","dark","opacity","Number","zIndex","computed","__scrim","this","setBackgroundColor","style","computedOpacity","$createElement","classes","isActive","themeClasses","styles","methods","genContent","$slots","hideOverlay","overlayColor","overlayOpacity","animationFrame","overlay","watch","removeOverlay","genOverlay","beforeDestroy","createOverlay","propsData","$mount","parent","$el","parentNode","document","querySelector","insertBefore","firstChild","hideScroll","requestAnimationFrame","undefined","activeZIndex","showScroll","removeChild","$destroy","cancelAnimationFrame","scrollListener","e","target","tagName","isContentEditable","up","pageup","down","pagedown","keyCode","deltaY","body","checkPath","preventDefault","hasScrollbar","el","nodeType","Node","ELEMENT_NODE","window","getComputedStyle","overflowY","scrollHeight","clientHeight","shouldScroll","delta","scrollTop","isInside","path","composedPath","dialog","$refs","selected","getSelection","anchorNode","index","length","documentElement","content","parentElement","$vuetify","smAndDown","add","passive","addEventListener","remove","removeEventListener","baseMixins","directives","ClickOutside","disabled","fullscreen","light","maxWidth","noClickAnimation","origin","persistent","retainFocus","scrollable","transition","width","activatedBy","animate","animateTimeout","stackMinZIndex","previousActiveElement","contentClass","trim","contentClasses","hasActivator","activator","$scopedSlots","show","unbind","focus","created","$attrs","hasOwnProperty","beforeMount","$nextTick","isBooted","animateClick","clearTimeout","setTimeout","closeConditional","_isDestroyed","contains","getMaxZIndex","options","call","activeElement","bind","onFocusin","onClickOutside","$emit","onKeydown","esc","getOpenDependents","getActivator","getOpenDependentElements","some","focusable","querySelectorAll","find","hasAttribute","showLazyContent","VThemeProvider","root","attrs","role","tabindex","getScopeIdAttrs","on","keydown","ref","genTransition","genInnerContent","appear","handler","include","transformOrigin","getContentSlot","attach","genActivator","breakpointProps","offsetProps","orderProps","col","offset","order","cols","alignSelf","hasColClasses","startsWith"],"mappings":"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","file":"js/chunk-b6f69bce.8f2e27c7.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 './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","import VOverlay from './VOverlay'\n\nexport { VOverlay }\n\nexport default VOverlay\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","// 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 './VGrid.sass'\n\nimport Vue, { VNode, 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 breakpointProps = (() => {\n return breakpoints.reduce((props, val) => {\n props[val] = {\n type: [Boolean, String, Number],\n default: false,\n }\n return props\n }, {} as Dictionary)\n})()\n\nconst offsetProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['offset' + upperFirst(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Dictionary)\n})()\n\nconst orderProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['order' + upperFirst(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Dictionary)\n})()\n\nconst propMap = {\n col: Object.keys(breakpointProps),\n offset: Object.keys(offsetProps),\n order: Object.keys(orderProps),\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: boolean | string | number) {\n let className = type\n if (val == null || val === false) {\n return undefined\n }\n if (prop) {\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n // Handling the boolean style prop when accepting [Boolean, String, Number]\n // means Vue will not convert to sm: true for us.\n // Since the default is false, an empty string indicates the prop's presence.\n if (type === 'col' && (val === '' || val === true)) {\n // .col-md\n return className.toLowerCase()\n }\n // .order-md-6\n className += `-${val}`\n return className.toLowerCase()\n}\n\nconst cache = new Map()\n\nexport default Vue.extend({\n name: 'v-col',\n functional: true,\n props: {\n cols: {\n type: [Boolean, String, Number],\n default: false,\n },\n ...breakpointProps,\n offset: {\n type: [String, Number],\n default: null,\n },\n ...offsetProps,\n order: {\n type: [String, Number],\n default: null,\n },\n ...orderProps,\n alignSelf: {\n type: String,\n default: null,\n validator: (str: any) => ['auto', 'start', 'end', 'center', 'baseline', 'stretch'].includes(str),\n },\n tag: {\n type: String,\n default: 'div',\n },\n },\n render (h, { props, data, children, parent }): VNode {\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 `col`, `offset`, `order` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string | number | boolean = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n const hasColClasses = classList.some(className => className.startsWith('col-'))\n\n classList.push({\n // Default to .col if no other col-{bp}-* classes generated nor `cols` specified.\n col: !hasColClasses || !props.cols,\n [`col-${props.cols}`]: props.cols,\n [`offset-${props.offset}`]: props.offset,\n [`order-${props.order}`]: props.order,\n [`align-self-${props.alignSelf}`]: props.alignSelf,\n })\n\n cache.set(cacheKey, classList)\n }\n\n return h(props.tag, mergeData(data, { class: classList }), children)\n },\n})\n"],"sourceRoot":""}