{"version":3,"sources":["webpack:///../../../src/components/VSnackbar/VSnackbar.ts","webpack:///./src/layouts/layout.vue?7ba6","webpack:///../../../src/mixins/applicationable/index.ts","webpack:///../../../src/components/VFooter/VFooter.ts","webpack:///../../../src/components/VTabs/VTab.ts","webpack:///../../../src/components/VSlideGroup/VSlideGroup.ts","webpack:///../../../src/components/VTabs/VTabsBar.ts","webpack:///../../../src/components/VWindow/VWindow.ts","webpack:///../../../src/components/VTabs/VTabsItems.ts","webpack:///../../../src/components/VTabs/VTabsSlider.ts","webpack:///../../../src/components/VTabs/VTabs.ts","webpack:///./src/layouts/layout.vue?5d02","webpack:///src/layouts/layout.vue","webpack:///./src/layouts/layout.vue?1f33","webpack:///./src/layouts/layout.vue","webpack:///./src/layouts/layout.vue?1018","webpack:///../../../src/components/VGrid/VContainer.ts","webpack:///../../../src/components/VGrid/VLayout.ts","webpack:///../../../src/mixins/ssr-bootable/index.ts","webpack:///../../../src/mixins/mobile/index.ts","webpack:///../../../src/components/VGrid/grid.ts","webpack:///../../../src/components/VMain/VMain.ts"],"names":["mixins","VSheet","Colorable","Toggleable","PositionableFactory","extend","name","props","app","Boolean","centered","contentClass","type","String","default","multiLine","text","timeout","Number","transition","validator","v","vertical","data","activeTimeout","computed","classes","this","absolute","isActive","bottom","top","hasBackground","left","right","outlined","isDark","light","Themeable","options","call","styles","_this$$vuetify$applic","$vuetify","application","bar","footer","insetFooter","paddingBottom","convertToUnit","paddingLeft","paddingRight","paddingTop","watch","mounted","setTimeout","created","$attrs","hasOwnProperty","removed","deprecate","methods","genActions","$createElement","staticClass","getSlot","attrs","class","genContent","_defineProperty","role","genWrapper","_this","setColor","setBackgroundColor","setTextColor","color","style","directives","value","on","pointerenter","window","clearTimeout","pointerleave","genTransition","_this2","includes","render","h","applicationable","events","arguments","length","undefined","applicationProperty","x","prev","removeApplication","callUpdate","newVal","oldVal","unregister","_uid","activated","i","$watch","deactivated","destroyed","register","updateApplication","force","Applicationable","SSRBootable","height","inset","padless","tag","_objectSpread","fixed","computedBottom","isPositioned","computedLeft","computedRight","parseInt","isNaN","$el","clientHeight","baseMixins","Routable","GroupableFactory","ripple","Object","tabValue","required","proxyClass","disabled","groupClasses","to","href","$router","resolve","$route","append","replace","click","e","preventDefault","indexOf","detail","blur","$emit","toggle","tabsBar","mandatory","_this$generateRouteLi","generateRouteLink","tabindex","keydown","keyCode","keyCodes","enter","bias","val","c","Math","abs","sign","calculateUpdatedOffset","selectedElement","widths","rtl","currentScrollOffset","clientWidth","offsetLeft","content","totalWidth","wrapper","itemOffset","additionalOffset","max","min","calculateCenteredOffset","offsetCentered","BaseSlideGroup","BaseItemGroup","Mobile","Resize","Touch","activeClass","centerActive","nextIcon","prevIcon","showArrows","isOverflowing","resizeTimeout","startX","isSwipingHorizontal","isSwiping","scrollOffset","canTouch","__cachedNext","__cachedPrev","hasAffixes","isMobile","hasNext","_this$widths","hasPrev","internalValue","scroll","$refs","transform","concat","ResizeObserver","obs","onResize","observe","$on","disconnect","itemsLength","_a","children","setWidths","onScroll","scrollLeft","onFocusin","_step","_iterator","_createForOfIteratorHelper","composedPath","s","n","done","_step2","el","_iterator2","items","vm","err","f","genNext","slot","$scopedSlots","next","onAffixClick","key","ref","focusin","genData","genIcon","location","icon","upperLocation","toUpperCase","slice","hasAffix","VIcon","genPrev","_this3","VFadeTransition","_this4","start","overflowCheck","onTouchStart","move","onTouchMove","end","onTouchEnd","calculateNewOffset","direction","newAbosluteOffset","scrollTo","_isDestroyed","touchstartX","setProperty","diffX","touchmoveX","diffY","touchmoveY","touchstartY","document","documentElement","overflowY","_this$$refs","maxScrollOffset","removeProperty","fn","stopPropagation","scrollIntoView","selectedItem","lastItemPosition","getBoundingClientRect","wrapperPosition","selectedIndex","_this5","requestAnimationFrame","_this5$$refs","provide","slideGroup","themeClasses","callSlider","isBooted","onRouteChange","newPath","path","oldPath","hasNew","hasOld","item","windowGroup","continuous","reverse","showArrowsOnHover","touch","touchless","changedByDelimiters","internalHeight","transitionHeight","transitionCount","isReverse","computedTransition","axis","internalReverse","hasActiveItems","find","internalIndex","findIndex","getValue","updateReverse","genDefaultSlot","genContainer","push","genControlIcons","lang","t","_c","_b","VBtn","large","icons","getNextIndex","index","nextIndex","getPrevIndex","prevIndex","lastIndex","VWindow","rootIsDark","id","Proxyable","alignWithTitle","backgroundColor","fixedTabs","grow","hideSlider","iconsAndText","mobileBreakpoint","optional","sliderColor","sliderSize","slider","width","transitionTime","isReversed","sliderStyles","computedColor","appIsDark","$nextTick","selectedItems","activeTab","scrollHeight","offsetWidth","offsetTop","scrollWidth","genBar","dark","change","VTabsBar","genSlider","genItems","VTabsItems","VTabsSlider","parseNodes","tab","vnode","componentOptions","Ctor","_this$parseNodes","modifiers","quiet","_vm","_h","_self","VCard","_e","VMain","VContainer","model","callback","$$v","expression","VTab","$event","_v","VLayout","VSpacer","staticStyle","VSnackbar","scopedSlots","_u","reloadPage","showUpdate","_s","version","versionServer","textUpdate","staticRenderFns","filter","empCode","menuPin","publicPath","process","env","apiPath","protocol","host","split","staticPath","selectedPRvalue","selectedPR","selectedSaraban","menuleft","menuPR","menuPRAS","menutop","fav","menu","mini","avatarMenu","message","hints","File1","clipped","drawer","miniVariant","rightDrawer","title","currentDate","Date","result","checkVersion","$store","getters","empConfig","isAuthen","updateLeftMenu","rootpath","prListCount","prListCountAll","prMy","prFilter","prApprove","assetMy","assetFilter","assetApprove","breakpoint","from","pinMenu","toggleMenu","reload","axios","get","now","then","response","console","log","versionLocal","catch","loadprHistory","checkPermission","permissionArray","layoutRefresh","errorHandel","res","status","state","users","custmain","navigateTo","route","signOut","dispatch","DelNoti","ID","bookServ","delNotificate","error","notificate","EmpCode","App","code","substring","yy","insertDate","Link","UpStatus","component","Grid","functional","fluid","_ref","keys","startsWith","domProps","mergeData","Array","Vue","setAttribute","_this$$vuetify$breakp","mobile","mobileWidth","isNumber","VGrid","trim","join"],"mappings":"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","file":"js/chunk-66f20441.30b51dd6.js","sourcesContent":["// Styles\nimport './VSnackbar.sass'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from '../../mixins/toggleable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { deprecate, removed } from '../../util/console'\n\n// Types\nimport { PropType, VNode } from 'vue'\n\nexport default mixins(\n VSheet,\n Colorable,\n Toggleable,\n PositionableFactory([\n 'absolute',\n 'bottom',\n 'left',\n 'right',\n 'top',\n ])\n/* @vue/component */\n).extend({\n name: 'v-snackbar',\n\n props: {\n app: Boolean,\n centered: Boolean,\n contentClass: {\n type: String,\n default: '',\n },\n multiLine: Boolean,\n text: Boolean,\n timeout: {\n type: [Number, String],\n default: 5000,\n },\n transition: {\n type: [Boolean, String] as PropType,\n default: 'v-snack-transition',\n validator: v => typeof v === 'string' || v === false,\n },\n vertical: Boolean,\n },\n\n data: () => ({\n activeTimeout: -1,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-snack--absolute': this.absolute,\n 'v-snack--active': this.isActive,\n 'v-snack--bottom': this.bottom || !this.top,\n 'v-snack--centered': this.centered,\n 'v-snack--has-background': this.hasBackground,\n 'v-snack--left': this.left,\n 'v-snack--multi-line': this.multiLine && !this.vertical,\n 'v-snack--right': this.right,\n 'v-snack--text': this.text,\n 'v-snack--top': this.top,\n 'v-snack--vertical': this.vertical,\n }\n },\n // Text and outlined styles both\n // use transparent backgrounds\n hasBackground (): boolean {\n return (\n !this.text &&\n !this.outlined\n )\n },\n // Snackbar is dark by default\n // override themeable logic.\n isDark (): boolean {\n return this.hasBackground\n ? !this.light\n : Themeable.options.computed.isDark.call(this)\n },\n styles (): object {\n if (this.absolute || !this.app) return {}\n\n const {\n bar,\n bottom,\n footer,\n insetFooter,\n left,\n right,\n top,\n } = this.$vuetify.application\n\n return {\n paddingBottom: convertToUnit(bottom + footer + insetFooter),\n paddingLeft: convertToUnit(left),\n paddingRight: convertToUnit(right),\n paddingTop: convertToUnit(bar + top),\n }\n },\n },\n\n watch: {\n isActive: 'setTimeout',\n timeout: 'setTimeout',\n },\n\n mounted () {\n if (this.isActive) this.setTimeout()\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('auto-height')) {\n removed('auto-height', this)\n }\n\n /* istanbul ignore next */\n // eslint-disable-next-line eqeqeq\n if (this.timeout == 0) {\n deprecate('timeout=\"0\"', '-1', this)\n }\n },\n\n methods: {\n genActions () {\n return this.$createElement('div', {\n staticClass: 'v-snack__action ',\n }, [\n getSlot(this, 'action', {\n attrs: { class: 'v-snack__btn' },\n }),\n ])\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-snack__content',\n class: {\n [this.contentClass]: true,\n },\n attrs: {\n role: 'status',\n 'aria-live': 'polite',\n },\n }, [getSlot(this)])\n },\n genWrapper () {\n const setColor = this.hasBackground\n ? this.setBackgroundColor\n : this.setTextColor\n\n const data = setColor(this.color, {\n staticClass: 'v-snack__wrapper',\n class: VSheet.options.computed.classes.call(this),\n style: VSheet.options.computed.styles.call(this),\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n on: {\n pointerenter: () => window.clearTimeout(this.activeTimeout),\n pointerleave: this.setTimeout,\n },\n })\n\n return this.$createElement('div', data, [\n this.genContent(),\n this.genActions(),\n ])\n },\n genTransition () {\n return this.$createElement('transition', {\n props: { name: this.transition },\n }, [this.genWrapper()])\n },\n setTimeout () {\n window.clearTimeout(this.activeTimeout)\n\n const timeout = Number(this.timeout)\n\n if (\n !this.isActive ||\n // TODO: remove 0 in v3\n [0, -1].includes(timeout)\n ) {\n return\n }\n\n this.activeTimeout = window.setTimeout(() => {\n this.isActive = false\n }, timeout)\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-snack',\n class: this.classes,\n style: this.styles,\n }, [\n this.transition !== false\n ? this.genTransition()\n : this.genWrapper(),\n ])\n },\n})\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./layout.vue?vue&type=style&index=0&id=e5d7cbd6&prod&scope=true&lang=css\"","import { factory as PositionableFactory } from '../positionable'\nimport { TargetProp } from 'vuetify/types/services/application'\n\n// Util\nimport mixins from '../../util/mixins'\n\nexport default function applicationable (value: TargetProp, events: string[] = []) {\n /* @vue/component */\n return mixins(PositionableFactory(['absolute', 'fixed'])).extend({\n name: 'applicationable',\n\n props: {\n app: Boolean,\n },\n\n computed: {\n applicationProperty (): TargetProp {\n return value\n },\n },\n\n watch: {\n // If previous value was app\n // reset the provided prop\n app (x: boolean, prev: boolean) {\n prev\n ? this.removeApplication(true)\n : this.callUpdate()\n },\n applicationProperty (newVal, oldVal) {\n this.$vuetify.application.unregister(this._uid, oldVal)\n },\n },\n\n activated () {\n this.callUpdate()\n },\n\n created () {\n for (let i = 0, length = events.length; i < length; i++) {\n this.$watch(events[i], this.callUpdate)\n }\n this.callUpdate()\n },\n\n mounted () {\n this.callUpdate()\n },\n\n deactivated () {\n this.removeApplication()\n },\n\n destroyed () {\n this.removeApplication()\n },\n\n methods: {\n callUpdate () {\n if (!this.app) return\n\n this.$vuetify.application.register(\n this._uid,\n this.applicationProperty,\n this.updateApplication()\n )\n },\n removeApplication (force = false) {\n if (!force && !this.app) return\n\n this.$vuetify.application.unregister(\n this._uid,\n this.applicationProperty\n )\n },\n updateApplication: () => 0,\n },\n })\n}\n","// Styles\nimport './VFooter.sass'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport SSRBootable from '../../mixins/ssr-bootable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { convertToUnit, getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue/types/vnode'\n\n/* @vue/component */\nexport default mixins(\n VSheet,\n Applicationable('footer', [\n 'height',\n 'inset',\n ]),\n SSRBootable\n).extend({\n name: 'v-footer',\n\n props: {\n height: {\n default: 'auto',\n type: [Number, String],\n },\n inset: Boolean,\n padless: Boolean,\n tag: {\n type: String,\n default: 'footer',\n },\n },\n\n computed: {\n applicationProperty (): string {\n return this.inset ? 'insetFooter' : 'footer'\n },\n classes (): object {\n return {\n ...VSheet.options.computed.classes.call(this),\n 'v-footer--absolute': this.absolute,\n 'v-footer--fixed': !this.absolute && (this.app || this.fixed),\n 'v-footer--padless': this.padless,\n 'v-footer--inset': this.inset,\n }\n },\n computedBottom (): number | undefined {\n if (!this.isPositioned) return undefined\n\n return this.app\n ? this.$vuetify.application.bottom\n : 0\n },\n computedLeft (): number | undefined {\n if (!this.isPositioned) return undefined\n\n return this.app && this.inset\n ? this.$vuetify.application.left\n : 0\n },\n computedRight (): number | undefined {\n if (!this.isPositioned) return undefined\n\n return this.app && this.inset\n ? this.$vuetify.application.right\n : 0\n },\n isPositioned (): boolean {\n return Boolean(\n this.absolute ||\n this.fixed ||\n this.app\n )\n },\n styles (): object {\n const height = parseInt(this.height)\n\n return {\n ...VSheet.options.computed.styles.call(this),\n height: isNaN(height) ? height : convertToUnit(height),\n left: convertToUnit(this.computedLeft),\n right: convertToUnit(this.computedRight),\n bottom: convertToUnit(this.computedBottom),\n }\n },\n },\n\n methods: {\n updateApplication () {\n const height = parseInt(this.height)\n\n return isNaN(height)\n ? this.$el ? this.$el.clientHeight : 0\n : height\n },\n },\n\n render (h): VNode {\n const data = this.setBackgroundColor(this.color, {\n staticClass: 'v-footer',\n class: this.classes,\n style: this.styles,\n })\n\n return h(this.tag, data, getSlot(this))\n },\n})\n","// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Routable from '../../mixins/routable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { getSlot, keyCodes } from './../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { ExtractVue } from './../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\n// Components\nimport VTabsBar from '../VTabs/VTabsBar'\n\nconst baseMixins = mixins(\n Routable,\n // Must be after routable\n // to overwrite activeClass\n GroupableFactory('tabsBar'),\n Themeable\n)\n\ntype VTabBarInstance = InstanceType\n\ninterface options extends ExtractVue {\n $el: HTMLElement\n tabsBar: VTabBarInstance\n}\n\nexport default baseMixins.extend().extend(\n /* @vue/component */\n).extend({\n name: 'v-tab',\n\n props: {\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n tabValue: {\n required: false,\n },\n },\n\n data: () => ({\n proxyClass: 'v-tab--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-tab': true,\n ...Routable.options.computed.classes.call(this),\n 'v-tab--disabled': this.disabled,\n ...this.groupClasses,\n }\n },\n value (): any {\n if (this.tabValue != null) return this.tabValue\n\n let to = this.to || this.href\n\n if (to == null) return to\n\n if (this.$router &&\n this.to === Object(this.to)\n ) {\n const resolve = this.$router.resolve(\n this.to,\n this.$route,\n this.append\n )\n\n to = resolve.href\n }\n\n return to.replace('#', '')\n },\n },\n\n methods: {\n click (e: KeyboardEvent | MouseEvent): void {\n // Prevent keyboard actions\n // from children elements\n // within disabled tabs\n if (this.disabled) {\n e.preventDefault()\n return\n }\n\n // If user provides an\n // actual link, do not\n // prevent default\n if (this.href &&\n this.href.indexOf('#') > -1\n ) e.preventDefault()\n\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n toggle () {\n // VItemGroup treats a change event as a click\n if (!this.isActive || (!this.tabsBar.mandatory && !this.to)) {\n this.$emit('change')\n }\n },\n },\n\n render (h): VNode {\n const { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n 'aria-selected': String(this.isActive),\n role: 'tab',\n tabindex: this.disabled ? -1 : 0,\n }\n data.on = {\n ...data.on,\n keydown: (e: KeyboardEvent) => {\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n },\n }\n\n return h(tag, data, getSlot(this))\n },\n})\n","// Styles\nimport './VSlideGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport { VFadeTransition } from '../transitions'\n\n// Extensions\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Mixins\nimport Mobile from '../../mixins/mobile'\n\n// Directives\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode } from 'vue'\nimport { composedPath, getSlot } from '../../util/helpers'\n\ninterface TouchEvent {\n touchstartX: number\n touchstartY: number\n touchmoveX: number\n touchmoveY: number\n stopPropagation: Function\n}\n\ninterface Widths {\n content: number\n wrapper: number\n}\n\ninterface options extends Vue {\n $refs: {\n content: HTMLElement\n wrapper: HTMLElement\n }\n}\n\nfunction bias (val: number) {\n const c = 0.501\n const x = Math.abs(val)\n return Math.sign(val) * (x / ((1 / c - 2) * (1 - x) + 1))\n}\n\nexport function calculateUpdatedOffset (\n selectedElement: HTMLElement,\n widths: Widths,\n rtl: boolean,\n currentScrollOffset: number\n): number {\n const clientWidth = selectedElement.clientWidth\n const offsetLeft = rtl\n ? (widths.content - selectedElement.offsetLeft - clientWidth)\n : selectedElement.offsetLeft\n\n if (rtl) {\n currentScrollOffset = -currentScrollOffset\n }\n\n const totalWidth = widths.wrapper + currentScrollOffset\n const itemOffset = clientWidth + offsetLeft\n const additionalOffset = clientWidth * 0.4\n\n if (offsetLeft <= currentScrollOffset) {\n currentScrollOffset = Math.max(offsetLeft - additionalOffset, 0)\n } else if (totalWidth <= itemOffset) {\n currentScrollOffset = Math.min(currentScrollOffset - (totalWidth - itemOffset - additionalOffset), widths.content - widths.wrapper)\n }\n\n return rtl ? -currentScrollOffset : currentScrollOffset\n}\n\nexport function calculateCenteredOffset (\n selectedElement: HTMLElement,\n widths: Widths,\n rtl: boolean\n): number {\n const { offsetLeft, clientWidth } = selectedElement\n\n if (rtl) {\n const offsetCentered = widths.content - offsetLeft - clientWidth / 2 - widths.wrapper / 2\n return -Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered))\n } else {\n const offsetCentered = offsetLeft + clientWidth / 2 - widths.wrapper / 2\n return Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered))\n }\n}\n\nexport const BaseSlideGroup = mixins\n/* eslint-enable indent */\n>(\n BaseItemGroup,\n Mobile,\n /* @vue/component */\n).extend({\n name: 'base-slide-group',\n\n directives: {\n Resize,\n Touch,\n },\n\n props: {\n activeClass: {\n type: String,\n default: 'v-slide-item--active',\n },\n centerActive: Boolean,\n nextIcon: {\n type: String,\n default: '$next',\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n showArrows: {\n type: [Boolean, String],\n validator: (v: any) => (\n typeof v === 'boolean' || [\n 'always',\n 'never',\n 'desktop',\n 'mobile',\n ].includes(v)\n ),\n },\n },\n\n data: () => ({\n isOverflowing: false,\n resizeTimeout: 0,\n startX: 0,\n isSwipingHorizontal: false,\n isSwiping: false,\n scrollOffset: 0,\n widths: {\n content: 0,\n wrapper: 0,\n },\n }),\n\n computed: {\n canTouch (): boolean {\n return typeof window !== 'undefined'\n },\n __cachedNext (): VNode {\n return this.genTransition('next')\n },\n __cachedPrev (): VNode {\n return this.genTransition('prev')\n },\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-slide-group': true,\n 'v-slide-group--has-affixes': this.hasAffixes,\n 'v-slide-group--is-overflowing': this.isOverflowing,\n }\n },\n hasAffixes (): Boolean {\n switch (this.showArrows) {\n // Always show arrows on desktop & mobile\n case 'always': return true\n\n // Always show arrows on desktop\n case 'desktop': return !this.isMobile\n\n // Show arrows on mobile when overflowing.\n // This matches the default 2.2 behavior\n case true: return this.isOverflowing || Math.abs(this.scrollOffset) > 0\n\n // Always show on mobile\n case 'mobile': return (\n this.isMobile ||\n (this.isOverflowing || Math.abs(this.scrollOffset) > 0)\n )\n\n // Always hide arrows\n case 'never': return false\n\n // https://material.io/components/tabs#scrollable-tabs\n // Always show arrows when\n // overflowed on desktop\n default: return (\n !this.isMobile &&\n (this.isOverflowing || Math.abs(this.scrollOffset) > 0)\n )\n }\n },\n hasNext (): boolean {\n if (!this.hasAffixes) return false\n\n const { content, wrapper } = this.widths\n\n // Check one scroll ahead to know the width of right-most item\n return content > Math.abs(this.scrollOffset) + wrapper\n },\n hasPrev (): boolean {\n return this.hasAffixes && this.scrollOffset !== 0\n },\n },\n\n watch: {\n internalValue: 'setWidths',\n // When overflow changes, the arrows alter\n // the widths of the content and wrapper\n // and need to be recalculated\n isOverflowing: 'setWidths',\n scrollOffset (val) {\n if (this.$vuetify.rtl) val = -val\n\n let scroll =\n val <= 0\n ? bias(-val)\n : val > this.widths.content - this.widths.wrapper\n ? -(this.widths.content - this.widths.wrapper) + bias(this.widths.content - this.widths.wrapper - val)\n : -val\n\n if (this.$vuetify.rtl) scroll = -scroll\n\n this.$refs.content.style.transform = `translateX(${scroll}px)`\n },\n },\n\n mounted () {\n if (typeof ResizeObserver !== 'undefined') {\n const obs = new ResizeObserver(() => {\n this.onResize()\n })\n obs.observe(this.$el)\n obs.observe(this.$refs.content)\n this.$on('hook:destroyed', () => {\n obs.disconnect()\n })\n } else {\n let itemsLength = 0\n this.$on('hook:beforeUpdate', () => {\n itemsLength = (this.$refs.content?.children || []).length\n })\n this.$on('hook:updated', () => {\n if (itemsLength === (this.$refs.content?.children || []).length) return\n this.setWidths()\n })\n }\n },\n\n methods: {\n onScroll () {\n this.$refs.wrapper.scrollLeft = 0\n },\n onFocusin (e: FocusEvent) {\n if (!this.isOverflowing) return\n\n // Focused element is likely to be the root of an item, so a\n // breadth-first search will probably find it in the first iteration\n for (const el of composedPath(e)) {\n for (const vm of this.items) {\n if (vm.$el === el) {\n this.scrollOffset = calculateUpdatedOffset(\n vm.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl,\n this.scrollOffset\n )\n return\n }\n }\n }\n },\n // Always generate next for scrollable hint\n genNext (): VNode | null {\n const slot = this.$scopedSlots.next\n ? this.$scopedSlots.next({})\n : getSlot(this, 'next') || this.__cachedNext\n\n return this.$createElement('div', {\n staticClass: 'v-slide-group__next',\n class: {\n 'v-slide-group__next--disabled': !this.hasNext,\n },\n on: {\n click: () => this.onAffixClick('next'),\n },\n key: 'next',\n }, [slot])\n },\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-slide-group__content',\n ref: 'content',\n on: {\n focusin: this.onFocusin,\n },\n }, getSlot(this))\n },\n genData (): object {\n return {\n class: this.classes,\n directives: [{\n name: 'resize',\n value: this.onResize,\n }],\n }\n },\n genIcon (location: 'prev' | 'next'): VNode | null {\n let icon = location\n\n if (this.$vuetify.rtl && location === 'prev') {\n icon = 'next'\n } else if (this.$vuetify.rtl && location === 'next') {\n icon = 'prev'\n }\n\n const upperLocation = `${location[0].toUpperCase()}${location.slice(1)}`\n const hasAffix = (this as any)[`has${upperLocation}`]\n\n if (\n !this.showArrows &&\n !hasAffix\n ) return null\n\n return this.$createElement(VIcon, {\n props: {\n disabled: !hasAffix,\n },\n }, (this as any)[`${icon}Icon`])\n },\n // Always generate prev for scrollable hint\n genPrev (): VNode | null {\n const slot = this.$scopedSlots.prev\n ? this.$scopedSlots.prev({})\n : getSlot(this, 'prev') || this.__cachedPrev\n\n return this.$createElement('div', {\n staticClass: 'v-slide-group__prev',\n class: {\n 'v-slide-group__prev--disabled': !this.hasPrev,\n },\n on: {\n click: () => this.onAffixClick('prev'),\n },\n key: 'prev',\n }, [slot])\n },\n genTransition (location: 'prev' | 'next') {\n return this.$createElement(VFadeTransition, [this.genIcon(location)])\n },\n genWrapper (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-slide-group__wrapper',\n directives: [{\n name: 'touch',\n value: {\n start: (e: TouchEvent) => this.overflowCheck(e, this.onTouchStart),\n move: (e: TouchEvent) => this.overflowCheck(e, this.onTouchMove),\n end: (e: TouchEvent) => this.overflowCheck(e, this.onTouchEnd),\n },\n }],\n ref: 'wrapper',\n on: {\n scroll: this.onScroll,\n },\n }, [this.genContent()])\n },\n calculateNewOffset (direction: 'prev' | 'next', widths: Widths, rtl: boolean, currentScrollOffset: number) {\n const sign = rtl ? -1 : 1\n const newAbosluteOffset = sign * currentScrollOffset +\n (direction === 'prev' ? -1 : 1) * widths.wrapper\n\n return sign * Math.max(Math.min(newAbosluteOffset, widths.content - widths.wrapper), 0)\n },\n onAffixClick (location: 'prev' | 'next') {\n this.$emit(`click:${location}`)\n this.scrollTo(location)\n },\n onResize () {\n /* istanbul ignore next */\n if (this._isDestroyed) return\n\n this.setWidths()\n },\n onTouchStart (e: TouchEvent) {\n const { content } = this.$refs\n\n this.startX = this.scrollOffset + e.touchstartX as number\n\n content.style.setProperty('transition', 'none')\n content.style.setProperty('willChange', 'transform')\n },\n onTouchMove (e: TouchEvent) {\n if (!this.canTouch) return\n\n if (!this.isSwiping) {\n // only calculate disableSwipeHorizontal during the first onTouchMove invoke\n // in order to ensure disableSwipeHorizontal value is consistent between onTouchStart and onTouchEnd\n const diffX = e.touchmoveX - e.touchstartX\n const diffY = e.touchmoveY - e.touchstartY\n this.isSwipingHorizontal = Math.abs(diffX) > Math.abs(diffY)\n this.isSwiping = true\n }\n\n if (this.isSwipingHorizontal) {\n // sliding horizontally\n this.scrollOffset = this.startX - e.touchmoveX\n // temporarily disable window vertical scrolling\n document.documentElement.style.overflowY = 'hidden'\n }\n },\n onTouchEnd () {\n if (!this.canTouch) return\n\n const { content, wrapper } = this.$refs\n const maxScrollOffset = content.clientWidth - wrapper.clientWidth\n\n content.style.setProperty('transition', null)\n content.style.setProperty('willChange', null)\n\n if (this.$vuetify.rtl) {\n /* istanbul ignore else */\n if (this.scrollOffset > 0 || !this.isOverflowing) {\n this.scrollOffset = 0\n } else if (this.scrollOffset <= -maxScrollOffset) {\n this.scrollOffset = -maxScrollOffset\n }\n } else {\n /* istanbul ignore else */\n if (this.scrollOffset < 0 || !this.isOverflowing) {\n this.scrollOffset = 0\n } else if (this.scrollOffset >= maxScrollOffset) {\n this.scrollOffset = maxScrollOffset\n }\n }\n\n this.isSwiping = false\n // rollback whole page scrolling to default\n document.documentElement.style.removeProperty('overflow-y')\n },\n overflowCheck (e: TouchEvent, fn: (e: TouchEvent) => void) {\n e.stopPropagation()\n this.isOverflowing && fn(e)\n },\n scrollIntoView /* istanbul ignore next */ () {\n if (!this.selectedItem && this.items.length) {\n const lastItemPosition = this.items[this.items.length - 1].$el.getBoundingClientRect()\n const wrapperPosition = this.$refs.wrapper.getBoundingClientRect()\n\n if (\n (this.$vuetify.rtl && wrapperPosition.right < lastItemPosition.right) ||\n (!this.$vuetify.rtl && wrapperPosition.left > lastItemPosition.left)\n ) {\n this.scrollTo('prev')\n }\n }\n\n if (!this.selectedItem) {\n return\n }\n\n if (\n this.selectedIndex === 0 ||\n (!this.centerActive && !this.isOverflowing)\n ) {\n this.scrollOffset = 0\n } else if (this.centerActive) {\n this.scrollOffset = calculateCenteredOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl\n )\n } else if (this.isOverflowing) {\n this.scrollOffset = calculateUpdatedOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl,\n this.scrollOffset\n )\n }\n },\n scrollTo /* istanbul ignore next */ (location: 'prev' | 'next') {\n this.scrollOffset = this.calculateNewOffset(location, {\n // Force reflow\n content: this.$refs.content ? this.$refs.content.clientWidth : 0,\n wrapper: this.$refs.wrapper ? this.$refs.wrapper.clientWidth : 0,\n }, this.$vuetify.rtl, this.scrollOffset)\n },\n setWidths () {\n window.requestAnimationFrame(() => {\n if (this._isDestroyed) return\n\n const { content, wrapper } = this.$refs\n\n this.widths = {\n content: content ? content.clientWidth : 0,\n wrapper: wrapper ? wrapper.clientWidth : 0,\n }\n\n // https://github.com/vuetifyjs/vuetify/issues/13212\n // We add +1 to the wrappers width to prevent an issue where the `clientWidth`\n // gets calculated wrongly by the browser if using a different zoom-level.\n this.isOverflowing = this.widths.wrapper + 1 < this.widths.content\n\n this.scrollIntoView()\n })\n },\n },\n\n render (h): VNode {\n return h('div', this.genData(), [\n this.genPrev(),\n this.genWrapper(),\n this.genNext(),\n ])\n },\n})\n\nexport default BaseSlideGroup.extend({\n name: 'v-slide-group',\n\n provide (): object {\n return {\n slideGroup: this,\n }\n },\n})\n","// Extensions\nimport { BaseSlideGroup } from '../VSlideGroup/VSlideGroup'\n\n// Components\nimport VTab from './VTab'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport SSRBootable from '../../mixins/ssr-bootable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { Route } from 'vue-router'\nimport { VNode } from 'vue'\n\ntype VTabInstance = InstanceType\n\nexport default mixins(\n BaseSlideGroup,\n SSRBootable,\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-tabs-bar',\n\n provide () {\n return {\n tabsBar: this,\n }\n },\n\n computed: {\n classes () {\n return {\n ...BaseSlideGroup.options.computed.classes.call(this),\n 'v-tabs-bar': true,\n 'v-tabs-bar--is-mobile': this.isMobile,\n // TODO: Remove this and move to v-slide-group\n 'v-tabs-bar--show-arrows': this.showArrows,\n ...this.themeClasses,\n }\n },\n },\n\n watch: {\n items: 'callSlider',\n internalValue: 'callSlider',\n $route: 'onRouteChange',\n },\n\n methods: {\n callSlider () {\n if (!this.isBooted) return\n\n this.$emit('call:slider')\n },\n genContent () {\n const render = BaseSlideGroup.options.methods.genContent.call(this)\n\n render.data = render.data || {}\n render.data.staticClass += ' v-tabs-bar__content'\n\n return render\n },\n onRouteChange (val: Route, oldVal: Route) {\n /* istanbul ignore next */\n if (this.mandatory) return\n\n const items = this.items as unknown as VTabInstance[]\n const newPath = val.path\n const oldPath = oldVal.path\n\n let hasNew = false\n let hasOld = false\n\n for (const item of items) {\n if (item.to === oldPath) hasOld = true\n else if (item.to === newPath) hasNew = true\n\n if (hasNew && hasOld) break\n }\n\n // If we have an old item and not a new one\n // it's assumed that the user navigated to\n // a path that is not present in the items\n if (!hasNew && hasOld) this.internalValue = undefined\n },\n },\n\n render (h): VNode {\n const render = BaseSlideGroup.options.render.call(this, h)\n\n render.data!.attrs = {\n role: 'tablist',\n }\n\n return render\n },\n})\n","// Styles\nimport './VWindow.sass'\n\n// Types\nimport { VNode, VNodeDirective } from 'vue/types/vnode'\nimport { PropType } from 'vue'\nimport { TouchHandlers } from 'vuetify/types'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default BaseItemGroup.extend({\n name: 'v-window',\n\n directives: { Touch },\n\n provide (): object {\n return {\n windowGroup: this,\n }\n },\n\n props: {\n activeClass: {\n type: String,\n default: 'v-window-item--active',\n },\n continuous: Boolean,\n mandatory: {\n type: Boolean,\n default: true,\n },\n nextIcon: {\n type: [Boolean, String],\n default: '$next',\n },\n prevIcon: {\n type: [Boolean, String],\n default: '$prev',\n },\n reverse: Boolean,\n showArrows: Boolean,\n showArrowsOnHover: Boolean,\n touch: Object as PropType,\n touchless: Boolean,\n value: {\n required: false,\n },\n vertical: Boolean,\n },\n\n data () {\n return {\n changedByDelimiters: false,\n internalHeight: undefined as undefined | string, // This can be fixed by child class.\n transitionHeight: undefined as undefined | string, // Intermediate height during transition.\n transitionCount: 0, // Number of windows in transition state.\n isBooted: false,\n isReverse: false,\n }\n },\n\n computed: {\n isActive (): boolean {\n return this.transitionCount > 0\n },\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-window--show-arrows-on-hover': this.showArrowsOnHover,\n }\n },\n computedTransition (): string {\n if (!this.isBooted) return ''\n\n const axis = this.vertical ? 'y' : 'x'\n const reverse = this.internalReverse ? !this.isReverse : this.isReverse\n const direction = reverse ? '-reverse' : ''\n\n return `v-window-${axis}${direction}-transition`\n },\n hasActiveItems (): boolean {\n return Boolean(\n this.items.find(item => !item.disabled)\n )\n },\n hasNext (): boolean {\n return this.continuous || this.internalIndex < this.items.length - 1\n },\n hasPrev (): boolean {\n return this.continuous || this.internalIndex > 0\n },\n internalIndex (): number {\n return this.items.findIndex((item, i) => {\n return this.internalValue === this.getValue(item, i)\n })\n },\n internalReverse (): boolean {\n return this.$vuetify.rtl ? !this.reverse : this.reverse\n },\n },\n\n watch: {\n internalIndex (val, oldVal) {\n this.isReverse = this.updateReverse(val, oldVal)\n },\n },\n\n mounted () {\n window.requestAnimationFrame(() => (this.isBooted = true))\n },\n\n methods: {\n genDefaultSlot () {\n return getSlot(this)\n },\n genContainer (): VNode {\n const children = [this.genDefaultSlot()]\n\n if (this.showArrows) {\n children.push(this.genControlIcons())\n }\n\n return this.$createElement('div', {\n staticClass: 'v-window__container',\n class: {\n 'v-window__container--is-active': this.isActive,\n },\n style: {\n height: this.internalHeight || this.transitionHeight,\n },\n }, children)\n },\n genIcon (\n direction: 'prev' | 'next',\n icon: string,\n click: () => void\n ) {\n const on = {\n click: (e: Event) => {\n e.stopPropagation()\n this.changedByDelimiters = true\n click()\n },\n }\n const attrs = {\n 'aria-label': this.$vuetify.lang.t(`$vuetify.carousel.${direction}`),\n }\n const children = this.$scopedSlots[direction]?.({\n on,\n attrs,\n }) ?? [this.$createElement(VBtn, {\n props: { icon: true },\n attrs,\n on,\n }, [\n this.$createElement(VIcon, {\n props: { large: true },\n }, icon),\n ])]\n\n return this.$createElement('div', {\n staticClass: `v-window__${direction}`,\n }, children)\n },\n genControlIcons () {\n const icons = []\n\n const prevIcon = this.$vuetify.rtl\n ? this.nextIcon\n : this.prevIcon\n\n /* istanbul ignore else */\n if (\n this.hasPrev &&\n prevIcon &&\n typeof prevIcon === 'string'\n ) {\n const icon = this.genIcon('prev', prevIcon, this.prev)\n icon && icons.push(icon)\n }\n\n const nextIcon = this.$vuetify.rtl\n ? this.prevIcon\n : this.nextIcon\n\n /* istanbul ignore else */\n if (\n this.hasNext &&\n nextIcon &&\n typeof nextIcon === 'string'\n ) {\n const icon = this.genIcon('next', nextIcon, this.next)\n icon && icons.push(icon)\n }\n\n return icons\n },\n getNextIndex (index: number): number {\n const nextIndex = (index + 1) % this.items.length\n const item = this.items[nextIndex]\n\n if (item.disabled) return this.getNextIndex(nextIndex)\n\n return nextIndex\n },\n getPrevIndex (index: number): number {\n const prevIndex = (index + this.items.length - 1) % this.items.length\n const item = this.items[prevIndex]\n\n if (item.disabled) return this.getPrevIndex(prevIndex)\n\n return prevIndex\n },\n next () {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasNext) return\n\n const nextIndex = this.getNextIndex(this.internalIndex)\n const item = this.items[nextIndex]\n\n this.internalValue = this.getValue(item, nextIndex)\n },\n prev () {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasPrev) return\n\n const lastIndex = this.getPrevIndex(this.internalIndex)\n const item = this.items[lastIndex]\n\n this.internalValue = this.getValue(item, lastIndex)\n },\n updateReverse (val: number, oldVal: number) {\n const itemsLength = this.items.length\n const lastIndex = itemsLength - 1\n\n if (itemsLength <= 2) return val < oldVal\n\n if (val === lastIndex && oldVal === 0) {\n return true\n } else if (val === 0 && oldVal === lastIndex) {\n return false\n } else {\n return val < oldVal\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-window',\n class: this.classes,\n directives: [] as VNodeDirective[],\n }\n\n if (!this.touchless) {\n const value = this.touch || {\n left: () => {\n this.$vuetify.rtl ? this.prev() : this.next()\n },\n right: () => {\n this.$vuetify.rtl ? this.next() : this.prev()\n },\n end: (e: TouchEvent) => {\n e.stopPropagation()\n },\n start: (e: TouchEvent) => {\n e.stopPropagation()\n },\n }\n\n data.directives.push({\n name: 'touch',\n value,\n })\n }\n\n return h('div', data, [this.genContainer()])\n },\n})\n","// Extensions\nimport VWindow from '../VWindow/VWindow'\n\n// Types & Components\nimport { BaseItemGroup, GroupableInstance } from './../VItemGroup/VItemGroup'\n\n/* @vue/component */\nexport default VWindow.extend({\n name: 'v-tabs-items',\n\n props: {\n mandatory: {\n type: Boolean,\n default: false,\n },\n },\n\n computed: {\n classes (): object {\n return {\n ...VWindow.options.computed.classes.call(this),\n 'v-tabs-items': true,\n }\n },\n isDark (): boolean {\n return this.rootIsDark\n },\n },\n\n methods: {\n getValue (item: GroupableInstance, i: number) {\n return item.id || BaseItemGroup.options.methods.getValue.call(this, item, i)\n },\n },\n})\n","// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\n/* @vue/component */\nexport default mixins(Colorable).extend({\n name: 'v-tabs-slider',\n\n render (h): VNode {\n return h('div', this.setBackgroundColor(this.color, {\n staticClass: 'v-tabs-slider',\n }))\n },\n})\n","// Styles\nimport './VTabs.sass'\n\n// Components\nimport VTabsBar from './VTabsBar'\nimport VTabsItems from './VTabsItems'\nimport VTabsSlider from './VTabsSlider'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { ExtractVue } from './../../util/mixins'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\nconst baseMixins = mixins(\n Colorable,\n Proxyable,\n Themeable\n)\n\ninterface options extends ExtractVue {\n $refs: {\n items: InstanceType\n }\n}\n\nexport default baseMixins.extend().extend({\n name: 'v-tabs',\n\n directives: {\n Resize,\n },\n\n props: {\n activeClass: {\n type: String,\n default: '',\n },\n alignWithTitle: Boolean,\n backgroundColor: String,\n centerActive: Boolean,\n centered: Boolean,\n fixedTabs: Boolean,\n grow: Boolean,\n height: {\n type: [Number, String],\n default: undefined,\n },\n hideSlider: Boolean,\n iconsAndText: Boolean,\n mobileBreakpoint: [String, Number],\n nextIcon: {\n type: String,\n default: '$next',\n },\n optional: Boolean,\n prevIcon: {\n type: String,\n default: '$prev',\n },\n right: Boolean,\n showArrows: [Boolean, String],\n sliderColor: String,\n sliderSize: {\n type: [Number, String],\n default: 2,\n },\n vertical: Boolean,\n },\n\n data () {\n return {\n resizeTimeout: 0,\n slider: {\n height: null as null | number,\n left: null as null | number,\n right: null as null | number,\n top: null as null | number,\n width: null as null | number,\n },\n transitionTime: 300,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-tabs--align-with-title': this.alignWithTitle,\n 'v-tabs--centered': this.centered,\n 'v-tabs--fixed-tabs': this.fixedTabs,\n 'v-tabs--grow': this.grow,\n 'v-tabs--icons-and-text': this.iconsAndText,\n 'v-tabs--right': this.right,\n 'v-tabs--vertical': this.vertical,\n ...this.themeClasses,\n }\n },\n isReversed (): boolean {\n return this.$vuetify.rtl && this.vertical\n },\n sliderStyles (): object {\n return {\n height: convertToUnit(this.slider.height),\n left: this.isReversed ? undefined : convertToUnit(this.slider.left),\n right: this.isReversed ? convertToUnit(this.slider.right) : undefined,\n top: this.vertical ? convertToUnit(this.slider.top) : undefined,\n transition: this.slider.left != null ? null : 'none',\n width: convertToUnit(this.slider.width),\n }\n },\n computedColor (): string {\n if (this.color) return this.color\n else if (this.isDark && !this.appIsDark) return 'white'\n else return 'primary'\n },\n },\n\n watch: {\n alignWithTitle: 'callSlider',\n centered: 'callSlider',\n centerActive: 'callSlider',\n fixedTabs: 'callSlider',\n grow: 'callSlider',\n iconsAndText: 'callSlider',\n right: 'callSlider',\n showArrows: 'callSlider',\n vertical: 'callSlider',\n '$vuetify.application.left': 'onResize',\n '$vuetify.application.right': 'onResize',\n '$vuetify.rtl': 'onResize',\n },\n\n mounted () {\n if (typeof ResizeObserver !== 'undefined') {\n const obs = new ResizeObserver(() => {\n this.onResize()\n })\n obs.observe(this.$el)\n this.$on('hook:destroyed', () => {\n obs.disconnect()\n })\n }\n\n this.$nextTick(() => {\n window.setTimeout(this.callSlider, 30)\n })\n },\n\n methods: {\n callSlider () {\n if (\n this.hideSlider ||\n !this.$refs.items ||\n !this.$refs.items.selectedItems.length\n ) {\n this.slider.width = 0\n return false\n }\n\n this.$nextTick(() => {\n // Give screen time to paint\n const activeTab = this.$refs.items.selectedItems[0]\n /* istanbul ignore if */\n if (!activeTab || !activeTab.$el) {\n this.slider.width = 0\n this.slider.left = 0\n return\n }\n const el = activeTab.$el as HTMLElement\n\n this.slider = {\n height: !this.vertical ? Number(this.sliderSize) : el.scrollHeight,\n left: this.vertical ? 0 : el.offsetLeft,\n right: this.vertical ? 0 : el.offsetLeft + el.offsetWidth,\n top: el.offsetTop,\n width: this.vertical ? Number(this.sliderSize) : el.scrollWidth,\n }\n })\n\n return true\n },\n genBar (items: VNode[], slider: VNode | null) {\n const data = {\n style: {\n height: convertToUnit(this.height),\n },\n props: {\n activeClass: this.activeClass,\n centerActive: this.centerActive,\n dark: this.dark,\n light: this.light,\n mandatory: !this.optional,\n mobileBreakpoint: this.mobileBreakpoint,\n nextIcon: this.nextIcon,\n prevIcon: this.prevIcon,\n showArrows: this.showArrows,\n value: this.internalValue,\n },\n on: {\n 'call:slider': this.callSlider,\n change: (val: any) => {\n this.internalValue = val\n },\n },\n ref: 'items',\n }\n\n this.setTextColor(this.computedColor, data)\n this.setBackgroundColor(this.backgroundColor, data)\n\n return this.$createElement(VTabsBar, data, [\n this.genSlider(slider),\n items,\n ])\n },\n genItems (items: VNode | null, item: VNode[]) {\n // If user provides items\n // opt to use theirs\n if (items) return items\n\n // If no tabs are provided\n // render nothing\n if (!item.length) return null\n\n return this.$createElement(VTabsItems, {\n props: {\n value: this.internalValue,\n },\n on: {\n change: (val: any) => {\n this.internalValue = val\n },\n },\n }, item)\n },\n genSlider (slider: VNode | null) {\n if (this.hideSlider) return null\n\n if (!slider) {\n slider = this.$createElement(VTabsSlider, {\n props: { color: this.sliderColor },\n })\n }\n\n return this.$createElement('div', {\n staticClass: 'v-tabs-slider-wrapper',\n style: this.sliderStyles,\n }, [slider])\n },\n onResize () {\n if (this._isDestroyed) return\n\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.callSlider, 0)\n },\n parseNodes () {\n let items = null\n let slider = null\n const item = []\n const tab = []\n const slot = getSlot(this) || []\n const length = slot.length\n\n for (let i = 0; i < length; i++) {\n const vnode = slot[i]\n\n if (vnode.componentOptions) {\n switch (vnode.componentOptions.Ctor.options.name) {\n case 'v-tabs-slider': slider = vnode\n break\n case 'v-tabs-items': items = vnode\n break\n case 'v-tab-item': item.push(vnode)\n break\n // case 'v-tab' - intentionally omitted\n default: tab.push(vnode)\n }\n } else {\n tab.push(vnode)\n }\n }\n\n /**\n * tab: array of `v-tab`\n * slider: single `v-tabs-slider`\n * items: single `v-tabs-items`\n * item: array of `v-tab-item`\n */\n return { tab, slider, items, item }\n },\n },\n\n render (h): VNode {\n const { tab, slider, items, item } = this.parseNodes()\n\n return h('div', {\n staticClass: 'v-tabs',\n class: this.classes,\n directives: [{\n name: 'resize',\n modifiers: { quiet: true },\n value: this.onResize,\n }],\n }, [\n this.genBar(tab, slider),\n this.genItems(items, item),\n ])\n },\n})\n","import { VAppBar } from 'vuetify/lib/components/VAppBar';\nimport { VAppBarNavIcon } from 'vuetify/lib/components/VAppBar';\nimport { VAvatar } from 'vuetify/lib/components/VAvatar';\nimport { VBadge } from 'vuetify/lib/components/VBadge';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VFooter } from 'vuetify/lib/components/VFooter';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListGroup } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemAction } from 'vuetify/lib/components/VList';\nimport { VListItemAvatar } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemIcon } from 'vuetify/lib/components/VList';\nimport { VListItemSubtitle } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMain } from 'vuetify/lib/components/VMain';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VNavigationDrawer } from 'vuetify/lib/components/VNavigationDrawer';\nimport { VSnackbar } from 'vuetify/lib/components/VSnackbar';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\nimport { VTabsItems } from 'vuetify/lib/components/VTabs';\nimport { VTabsSlider } from 'vuetify/lib/components/VTabs';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\n\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ma-0 pb-0\"},[_c(VCard,{staticClass:\"pb-0\"},[(false && _vm.$store.getters.isAuthen)?_c(VNavigationDrawer,{attrs:{\"app\":\"\",\"mini-variant\":_vm.mini,\"expand-on-hover\":!_vm.menuPin && !_vm.isMobile,\"permanent\":!_vm.isMobile,\"width\":\"350\"},model:{value:(_vm.drawer),callback:function ($$v) {_vm.drawer=$$v},expression:\"drawer\"}},[_c(VList,[_c(VListItem,{staticClass:\"px-2\",attrs:{\"link\":\"\"}},[_c(VListItemAvatar,{on:{\"click\":_vm.toggleMenu}},[_c('img',{attrs:{\"src\":_vm.apiPath + 'content/emp_img.asp?w=450&img=' + _vm.$store.state.users.custmain.Description + '.jpg'}})]),_c(VListItemContent,{on:{\"click\":function($event){return _vm.$router.push('/profile')}}},[_c(VListItemTitle,{staticClass:\"title\"},[_vm._v(\"\\n \"+_vm._s(_vm.$store.state.users.custmain.FullName)+\"\\n \")]),_c(VListItemSubtitle,[_vm._v(\"\\n \"+_vm._s(_vm.$store.state.users.custmain.EmailAddress)+\"\\n \")])],1),_c(VBtn,{attrs:{\"icon\":\"\"},on:{\"click\":_vm.pinMenu}},[(!_vm.menuPin)?_c(VIcon,{attrs:{\"small\":\"\"}},[_vm._v(\"mdi-pin-off\")]):_c(VIcon,{attrs:{\"small\":\"\"}},[_vm._v(\"mdi-pin\")])],1)],1)],1),_c(VDivider),_c(VList,{attrs:{\"dense\":\"\",\"nav\":\"\"}},[_c(VListItem,{attrs:{\"link\":\"\",\"to\":'/'},on:{\"click\":_vm.layoutRefresh}},[_c(VListItemIcon,{on:{\"click\":_vm.toggleMenu}},[_c(VIcon,[_vm._v(\"home\")])],1),_c(VListItemContent,[_c(VListItemTitle,[_vm._v(\"หน้าแรก\")])],1)],1),(false)?_c(VListGroup,{attrs:{\"prepend-icon1\":\"mdi-cart\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(){return [_c(VListItemIcon,{on:{\"click\":function($event){_vm.mini = false}}},[(_vm.prListCountAll > 0)?_c(VBadge,{attrs:{\"color\":\"red\",\"dot\":\"\"}},[_c(VIcon,[_vm._v(\"store\")])],1):_vm._e(),(!(_vm.prListCountAll > 0))?_c(VIcon,[_vm._v(\"store\")]):_vm._e()],1),_c(VListItemContent,[_c(VListItemTitle,[_vm._v(\"ใบขอซื้อ/ขอจ้าง\")])],1)]},proxy:true}],null,false,908593773),model:{value:(_vm.selectedPR),callback:function ($$v) {_vm.selectedPR=$$v},expression:\"selectedPR\"}},[_c(VDivider),_vm._l((_vm.menuPR),function(item){return _c(VListItem,{key:item.title,attrs:{\"link\":\"\",\"to\":item.to}},[_c(VListItemIcon,{on:{\"mouseover1\":function($event){_vm.drawer = false}}},[(_vm.prListCount[item.nfloat] > 0)?_c(VBadge,{attrs:{\"color\":\"red\",\"dot\":\"\"}},[_c(VIcon,[_vm._v(_vm._s(item.icon))])],1):_vm._e(),(!(_vm.prListCount[item.nfloat] > 0))?_c(VIcon,[_vm._v(_vm._s(item.icon))]):_vm._e()],1),_c(VListItemContent,[_c(VListItemTitle,{domProps:{\"textContent\":_vm._s(item.title)}}),_c(VListItemSubtitle,[_vm._v(_vm._s(item.subt))])],1),_c(VListItemIcon,{on:{\"mouseover1\":function($event){_vm.drawer = false}}},[(_vm.prListCount[item.nfloat] > 0)?_c(VBadge,{staticClass:\"caption\",attrs:{\"color\":\"red\",\"content\":_vm.prListCount[item.nfloat],\"inline\":\"\"}}):_vm._e()],1)],1)}),_c(VDivider),_vm._l((_vm.menuPRAS),function(item){return _c(VListItem,{key:item.title,attrs:{\"link\":\"\",\"to\":item.to}},[_c(VListItemIcon,{on:{\"mouseover1\":function($event){_vm.mini = false}}},[(_vm.prListCount[item.nfloat] > 0)?_c(VBadge,{attrs:{\"color\":\"red\",\"dot\":\"\"}},[_c(VIcon,[_vm._v(_vm._s(item.icon))])],1):_vm._e(),(!(_vm.prListCount[item.nfloat] > 0))?_c(VIcon,[_vm._v(_vm._s(item.icon))]):_vm._e()],1),_c(VListItemContent,[_c(VListItemTitle,{domProps:{\"textContent\":_vm._s(item.title)}}),_c(VListItemSubtitle,[_vm._v(_vm._s(item.subt))])],1),_c(VListItemIcon,{on:{\"mouseover1\":function($event){_vm.drawer = false}}},[(_vm.prListCount[item.nfloat] > 0)?_c(VBadge,{staticClass:\"caption\",attrs:{\"color\":\"red\",\"content\":_vm.prListCount[item.nfloat],\"inline\":\"\"}}):_vm._e()],1)],1)}),_c(VDivider)],2):_vm._e(),(false)?_c(VListGroup,{scopedSlots:_vm._u([{key:\"activator\",fn:function(){return [_c(VListItemIcon,{on:{\"click\":function($event){_vm.mini = false}}},[_c(VIcon,[_vm._v(\"mdi-file-document-multiple\")])],1),_c(VListItemContent,[_c(VListItemTitle,[_vm._v(\"ระบบงานสารบรรณ\")])],1)]},proxy:true}],null,false,3128403186),model:{value:(_vm.selectedSaraban),callback:function ($$v) {_vm.selectedSaraban=$$v},expression:\"selectedSaraban\"}},_vm._l((_vm.menuleft),function(item){return _c(VListItem,{key:item.title,attrs:{\"link\":\"\",\"to\":item.to}},[_c(VListItemIcon,{on:{\"mouseover1\":function($event){_vm.drawer = false}}},[_c(VIcon,[_vm._v(_vm._s(item.icon))])],1),_c(VListItemContent,[_c(VListItemTitle,{domProps:{\"textContent\":_vm._s(item.title)}})],1),_c(VListItemIcon,[_c(VIcon,[_vm._v(\"mdi-circle-small\")])],1)],1)}),1):_vm._e()],1)],1):_vm._e(),(false)?_c(VAppBar,{attrs:{\"dense\":\"\",\"app\":\"\",\"clipped-left1\":\"\",\"color\":\"indigo\",\"dark\":\"\",\"fixed1\":\"\"}},[_c(VAppBarNavIcon,{staticClass:\"hidden-sm-and-up\",on:{\"click\":function($event){_vm.drawer = !_vm.drawer\n _vm.mini = false}}}),_c('span',{staticClass:\"title ml-3 mr-5\",staticStyle:{\"cursor\":\"pointer\"},on:{\"click\":function($event){return _vm.navigateTo({ name: '/' })}}},[_vm._v(\"TAI \\n \"),(_vm.env === 'production')?_c('span',{staticClass:\"font-weight-light\"},[_vm._v(\"System\")]):_c('span',[_vm._v(\" \"+_vm._s(_vm.env)+\" \")])]),(false)?_c(VTextField,{attrs:{\"solo-inverted\":\"\",\"flat\":\"\",\"hide-details\":\"\",\"label\":\"Search\",\"prepend-inner-icon\":\"search\"}}):_vm._e(),_c(VSpacer),_c(VMenu,{attrs:{\"offset-y\":\"\",\"close-on-content-click\":false,\"nudge-width\":200},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [(false)?_c(VBtn,_vm._g({attrs:{\"icon\":\"\"}},on),[(_vm.$store.getters.isAuthen)?_c(VBadge,{attrs:{\"color\":\"cyan\",\"overlap\":\"\"}},[_c('span',{attrs:{\"slot\":\"badge\"},slot:\"badge\"},[_vm._v(_vm._s(_vm.$store.state.users.notificate.length))]),_c(VIcon,[_vm._v(\"notifications\")])],1):_vm._e()],1):_vm._e()]}}],null,false,477009026),model:{value:(_vm.menu),callback:function ($$v) {_vm.menu=$$v},expression:\"menu\"}},[_c(VCard,[_c(VList,_vm._l((_vm.$store.state.users.notificate),function(item){return _c(VListItem,{key:'noti' + item.ID + item.EmpCode,attrs:{\"filter\":'EmpCode = \\'' + _vm.$store.state.users.custmain.empCode + '\\''},on:{\"click\":function($event){$event.stopPropagation();return _vm.DelNoti(item)}}},[_c(VListItemAvatar,[_c(VAvatar,{attrs:{\"size\":\"55px\"}},[_c('img',{attrs:{\"src\":_vm.staticPath + 'doc-images/app/' + item.App + '.jpg',\"alt\":item.EmpCode}})])],1),_c(VListItemContent,[_c(VListItemTitle,{domProps:{\"textContent\":_vm._s(item.Title)}}),_c(VListItemSubtitle,[_vm._v(_vm._s(_vm._f(\"datetime\")(item.insertDate)))]),_c(VListItemSubtitle,[_vm._v(_vm._s(_vm._f(\"datedif\")(item.insertDate)))])],1),_c(VListItemAction,[_c(VAvatar,{staticClass:\"info\",attrs:{\"size\":\"55px\"}},[_vm._v(_vm._s(item.App))])],1)],1)}),1),_c(VDivider),_c(VCardActions,[_c(VBtn,{attrs:{\"to\":'/bookview2'},nativeOn:{\"click\":function($event){_vm.menu = false}}},[_vm._v(\"ดูทั้งหมด\")]),_c(VSpacer),_c(VBtn,{on:{\"click\":function($event){_vm.menu = false}}},[_vm._v(\"ปิด\")])],1)],1)],1),(!_vm.$store.getters.isAuthen)?_c(VBtn,{key:'signin',attrs:{\"text\":\"\",\"dark\":\"\",\"to\":'/signin'}},[_vm._v(\"\\n Sign In\\n \"),_c(VIcon,{attrs:{\"right\":\"\",\"dark\":\"\"}},[_vm._v(\"lock_open\")])],1):_vm._e(),(_vm.$store.getters.isAuthen)?_c(VBtn,{key:'signOutIcon',staticClass:\"d-sm-none d-xs-none\",attrs:{\"icon\":\"\",\"text\":\"\",\"dark\":\"\"},on:{\"click\":_vm.signOut}},[_c(VIcon,{attrs:{\"dark\":\"\"}},[_vm._v(\"mdi-location-exit\")])],1):_vm._e(),(_vm.$store.getters.isAuthen)?_c(VBtn,{key:'signOut',staticClass:\"d-none d-xs-flex d-sm-flex\",attrs:{\"text\":\"\",\"dark\":\"\"},on:{\"click\":_vm.signOut}},[_vm._v(\"\\n Sign Out\\n \"),_c(VIcon,{attrs:{\"right\":\"\",\"dark\":\"\"}},[_vm._v(\"mdi-location-exit\")])],1):_vm._e(),(_vm.$store.getters.isAuthen && _vm.isMobile && false)?_c(VListItemAvatar,[_c(VMenu,{attrs:{\"offset-y\":\"\",\"close-on-content-click\":false,\"nudge-width\":200},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c(VAvatar,_vm._g({attrs:{\"size\":\"36px\"}},on),[_c('img',{attrs:{\"src\":_vm.apiPath + 'content/emp_img.asp?w=450&img=' + _vm.$store.state.users.custmain.Description + '.jpg'}})])]}}],null,false,2510720143),model:{value:(_vm.avatarMenu),callback:function ($$v) {_vm.avatarMenu=$$v},expression:\"avatarMenu\"}},[_c(VCard,[_c(VList,[_c(VListItem,{attrs:{\"to\":'/profile'}},[_c(VListItemTitle,[_vm._v(\"profile\")])],1)],1)],1)],1)],1):_vm._e()],1):_vm._e(),_c(VMain,[_c(VContainer,{staticClass:\"pa-0\",attrs:{\"fluid\":\"\",\"fill-height\":\"\"}},[_c(VTabs,{staticClass:\"ma-0 pa-0\",attrs:{\"center-active\":\"\",\"background-color\":\"blue darken-4\",\"centered\":\"\",\"dark\":\"\",\"icons-and-text\":\"\"},model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},[_c(VTabsSlider),_c(VTab,{attrs:{\"href\":\"#tab-0\"},on:{\"click\":function($event){return _vm.$router.push('/')}}},[_vm._v(\"\\n ขอรับบริการ\\n \"),_c(VIcon,[_vm._v(\"mdi-plus\")])],1),(true)?_c(VTab,{attrs:{\"href\":\"#tab-1\"},on:{\"click\":function($event){return _vm.$router.push('/servicelist')}}},[_vm._v(\"\\n รายการคำขอ\\n \"),_c(VIcon,[_vm._v(\"mdi-certificate-outline\")])],1):_vm._e(),(false)?_c(VTab,{attrs:{\"href\":\"#tab-2\"}},[_vm._v(\"\\n ที่ต้องได้รับ\\n \"),_c(VIcon,[_vm._v(\"mdi-inbox\")])],1):_vm._e(),(false)?_c(VTab,{attrs:{\"href\":\"#tab-3\"}},[_vm._v(\"\\n ที่ต้องชำระ\\n \"),_c(VIcon,[_vm._v(\"mdi-cash\")])],1):_vm._e(),(false)?_c(VTab,{attrs:{\"href\":\"#tab-4\"}},[_vm._v(\"\\n สำเร็จ\\n \"),_c(VIcon,[_vm._v(\"mdi-certificate-outline\")])],1):_vm._e(),_c(VTab,{attrs:{\"href\":\"#tab-5\"},on:{\"click\":function($event){return _vm.$router.push('/profile')}}},[_vm._v(\"\\n ฉัน\\n \"),_c(VIcon,[_vm._v(\"mdi-account\")])],1)],1),_c(VTabsItems,{model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}}),_c(VLayout,{staticClass:\"ma-0 pa-0\",attrs:{\"justify-center\":\"\"}},[_c('router-view',{staticClass:\"ma-0 pa-0\",attrs:{\"align-center\":\"\"}})],1)],1)],1),_c(VFooter,{attrs:{\"color\":\"indigo\",\"fixed\":\"\"}},[_c(VSpacer),_c('span',{staticClass:\"white--text\",staticStyle:{\"font-size\":\"10px\"}},[_vm._v(\"© 2022 - Ver:1.28.0\"),(!_vm.isMobile)?_c('span',[_vm._v(\" Build:20241129.051732\")]):_vm._e()]),_c(VSpacer)],1),_c(VSnackbar,{attrs:{\"timeout\":\"-1\"},scopedSlots:_vm._u([{key:\"action\",fn:function(ref){\n var attrs = ref.attrs;\nreturn [_c(VBtn,_vm._b({attrs:{\"color\":\"red\",\"text\":\"\"},on:{\"click\":_vm.reloadPage}},'v-btn',attrs,false),[_vm._v(\" Reload \")])]}}]),model:{value:(_vm.showUpdate),callback:function ($$v) {_vm.showUpdate=$$v},expression:\"showUpdate\"}},[_vm._v(\"\\n [\"+_vm._s(_vm.version)+\" ==> \"+_vm._s(_vm.versionServer)+\"] - \"+_vm._s(_vm.textUpdate)+\"\\n\\n \")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./layout.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./layout.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./layout.vue?vue&type=template&id=e5d7cbd6\"\nimport script from \"./layout.vue?vue&type=script&lang=js\"\nexport * from \"./layout.vue?vue&type=script&lang=js\"\nimport style0 from \"./layout.vue?vue&type=style&index=0&id=e5d7cbd6&prod&scope=true&lang=css\"\nimport style1 from \"./layout.vue?vue&type=style&index=1&id=e5d7cbd6&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./layout.vue?vue&type=style&index=1&id=e5d7cbd6&prod&lang=css\"","import './_grid.sass'\nimport './VGrid.sass'\n\nimport Grid from './grid'\n\nimport mergeData from '../../util/mergeData'\n\n/* @vue/component */\nexport default Grid('container').extend({\n name: 'v-container',\n functional: true,\n props: {\n id: String,\n tag: {\n type: String,\n default: 'div',\n },\n fluid: {\n type: Boolean,\n default: false,\n },\n },\n render (h, { props, data, children }) {\n let classes\n const { attrs } = data\n if (attrs) {\n // reset attrs to extract utility clases like pa-3\n data.attrs = {}\n classes = Object.keys(attrs).filter(key => {\n // TODO: Remove once resolved\n // https://github.com/vuejs/vue/issues/7841\n if (key === 'slot') return false\n\n const value = attrs[key]\n\n // add back data attributes like data-test=\"foo\" but do not\n // add them as classes\n if (key.startsWith('data-')) {\n data.attrs![key] = value\n return false\n }\n\n return value || typeof value === 'string'\n })\n }\n\n if (props.id) {\n data.domProps = data.domProps || {}\n data.domProps.id = props.id\n }\n\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'container',\n class: Array({\n 'container--fluid': props.fluid,\n }).concat(classes || []),\n }),\n children\n )\n },\n})\n","import './_grid.sass'\n\nimport Grid from './grid'\n\nexport default Grid('layout')\n","import Vue from 'vue'\n\n/**\n * SSRBootable\n *\n * @mixin\n *\n * Used in layout components (drawer, toolbar, content)\n * to avoid an entry animation when using SSR\n */\nexport default Vue.extend({\n name: 'ssr-bootable',\n\n data: () => ({\n isBooted: false,\n }),\n\n mounted () {\n // Use setAttribute instead of dataset\n // because dataset does not work well\n // with unit tests\n window.requestAnimationFrame(() => {\n this.$el.setAttribute('data-booted', 'true')\n this.isBooted = true\n })\n },\n})\n","// Types\nimport { BreakpointName } from 'vuetify/types/services/breakpoint'\nimport { deprecate } from '../../util/console'\nimport Vue, { PropType } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'mobile',\n\n props: {\n mobileBreakpoint: {\n type: [Number, String] as PropType,\n default (): number | BreakpointName | undefined {\n // Avoid destroying unit\n // tests for users\n return this.$vuetify\n ? this.$vuetify.breakpoint.mobileBreakpoint\n : undefined\n },\n validator: v => (\n !isNaN(Number(v)) ||\n ['xs', 'sm', 'md', 'lg', 'xl'].includes(String(v))\n ),\n },\n },\n\n computed: {\n isMobile (): boolean {\n const {\n mobile,\n width,\n name,\n mobileBreakpoint,\n } = this.$vuetify.breakpoint\n\n // Check if local mobileBreakpoint matches\n // the application's mobileBreakpoint\n if (mobileBreakpoint === this.mobileBreakpoint) return mobile\n\n const mobileWidth = parseInt(this.mobileBreakpoint, 10)\n const isNumber = !isNaN(mobileWidth)\n\n return isNumber\n ? width < mobileWidth\n : name === this.mobileBreakpoint\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('mobile-break-point')) {\n deprecate('mobile-break-point', 'mobile-breakpoint', this)\n }\n },\n})\n","// Types\nimport Vue, { VNode } from 'vue'\n\nexport default function VGrid (name: string) {\n /* @vue/component */\n return Vue.extend({\n name: `v-${name}`,\n\n functional: true,\n\n props: {\n id: String,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n render (h, { props, data, children }): VNode {\n data.staticClass = (`${name} ${data.staticClass || ''}`).trim()\n\n const { attrs } = data\n if (attrs) {\n // reset attrs to extract utility clases like pa-3\n data.attrs = {}\n const classes = Object.keys(attrs).filter(key => {\n // TODO: Remove once resolved\n // https://github.com/vuejs/vue/issues/7841\n if (key === 'slot') return false\n\n const value = attrs[key]\n\n // add back data attributes like data-test=\"foo\" but do not\n // add them as classes\n if (key.startsWith('data-')) {\n data.attrs![key] = value\n return false\n }\n\n return value || typeof value === 'string'\n })\n\n if (classes.length) data.staticClass += ` ${classes.join(' ')}`\n }\n\n if (props.id) {\n data.domProps = data.domProps || {}\n data.domProps.id = props.id\n }\n\n return h(props.tag, data, children)\n },\n })\n}\n","// Styles\nimport './VMain.sass'\n\n// Mixins\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default SSRBootable.extend({\n name: 'v-main',\n\n props: {\n tag: {\n type: String,\n default: 'main',\n },\n },\n\n computed: {\n styles (): object {\n const {\n bar, top, right, footer, insetFooter, bottom, left,\n } = this.$vuetify.application\n\n return {\n paddingTop: `${top + bar}px`,\n paddingRight: `${right}px`,\n paddingBottom: `${footer + insetFooter + bottom}px`,\n paddingLeft: `${left}px`,\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-main',\n style: this.styles,\n ref: 'main',\n }\n\n return h(this.tag, data, [\n h(\n 'div',\n { staticClass: 'v-main__wrap' },\n getSlot(this),\n ),\n ])\n },\n})\n"],"sourceRoot":""}