{"version":3,"sources":["webpack:///./src/mixins/shared/base/settings/menuItemSettingsMixin.js","webpack:///../../../src/components/VGrid/grid.ts","webpack:///../../../src/components/VGrid/VContainer.ts","webpack:///./src/views/shared/layout/AppLayout.vue","webpack:///src/views/shared/layout/AppLayout.vue","webpack:///./src/views/shared/layout/AppLayout.vue?2572","webpack:///./src/views/shared/layout/AppLayout.vue?a127","webpack:///../../../src/mixins/ssr-bootable/index.ts","webpack:///../../src/util/mergeData.ts","webpack:///../../../src/components/VMain/VMain.ts"],"names":["mapGetters","createNamespacedHelpers","menuItemSettingsMixin","computed","menuItemColor","mdMenuItemColor","Color","this","name","variantType","variantNumber","menuItemColorClass","getClassColor","VGrid","Vue","extend","functional","props","id","String","tag","type","default","render","h","data","children","staticClass","trim","attrs","classes","Object","keys","filter","key","value","startsWith","length","join","domProps","Grid","fluid","Boolean","mergeData","class","Array","concat","_c","_vm","staticRenderFns","mixins","components","AppBar","AppFooter","component","isBooted","mounted","window","requestAnimationFrame","$el","setAttribute","pattern","styleList","styleProp","parseStyle","style","styleMap","s","split","val","camelize","mergeTarget","prop","i","arguments","mergeClasses","mergeStyles","undefined","mergeListeners","target","source","wrapInArray","args","dest","arg","event","SSRBootable","styles","bar","top","right","footer","insetFooter","bottom","left","$vuetify","application","paddingTop","paddingRight","paddingBottom","paddingLeft","ref","getSlot"],"mappings":"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","file":"js/chunk-3e4897d8.a597c94f.js","sourcesContent":["// design\r\nimport { Color } from \"@/design/colors/Color\";\r\n\r\n// vuex/store\r\nimport { createNamespacedHelpers } from \"vuex\";\r\nconst { mapGetters } = createNamespacedHelpers(\"solution\");\r\n\r\n/**\r\n * Menu Item Settings Mixin encapsulate Menu Item Settings logic\r\n */\r\nexport const menuItemSettingsMixin = {\r\n computed: {\r\n ...mapGetters({\r\n menuItemColor: \"menuItemColor\"\r\n }),\r\n /**\r\n * Get Material Design Menu Item Color\r\n * @returns {Color}\r\n */\r\n mdMenuItemColor() {\r\n return new Color(\r\n this.menuItemColor.name,\r\n this.menuItemColor.variantType,\r\n this.menuItemColor.variantNumber\r\n );\r\n },\r\n /**\r\n * Get menu Item color class\r\n * @returns {string|*}\r\n */\r\n menuItemColorClass() {\r\n return this.mdMenuItemColor.getClassColor();\r\n }\r\n }\r\n};\r\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","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","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-app',[_vm._t(\"appBar\",function(){return [_c('app-bar')]}),_vm._t(\"navigationLeftDrawer\"),_c('v-main',[_vm._t(\"main\",function(){return [_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('router-view')],1)]})],2),_vm._t(\"navigationRightDrawer\"),_vm._t(\"footer\",function(){return [_c('app-footer')]}),_vm._t(\"bottomNavigation\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppLayout.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppLayout.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AppLayout.vue?vue&type=template&id=7dbc02be\"\nimport script from \"./AppLayout.vue?vue&type=script&lang=js\"\nexport * from \"./AppLayout.vue?vue&type=script&lang=js\"\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","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","/**\n * @copyright 2017 Alex Regan\n * @license MIT\n * @see https://github.com/alexsasharegan/vue-functional-data-merge\n */\n/* eslint-disable max-statements */\nimport { VNodeData } from 'vue'\nimport { camelize, wrapInArray } from './helpers'\n\nconst pattern = {\n styleList: /;(?![^(]*\\))/g,\n styleProp: /:(.*)/,\n} as const\n\nfunction parseStyle (style: string) {\n const styleMap: Dictionary = {}\n\n for (const s of style.split(pattern.styleList)) {\n let [key, val] = s.split(pattern.styleProp)\n key = key.trim()\n if (!key) {\n continue\n }\n // May be undefined if the `key: value` pair is incomplete.\n if (typeof val === 'string') {\n val = val.trim()\n }\n styleMap[camelize(key)] = val\n }\n\n return styleMap\n}\n\n/**\n * Intelligently merges data for createElement.\n * Merges arguments left to right, preferring the right argument.\n * Returns new VNodeData object.\n */\nexport default function mergeData (...vNodeData: VNodeData[]): VNodeData\nexport default function mergeData (): VNodeData {\n const mergeTarget: VNodeData & Dictionary = {}\n let i: number = arguments.length\n let prop: string\n\n // Allow for variadic argument length.\n while (i--) {\n // Iterate through the data properties and execute merge strategies\n // Object.keys eliminates need for hasOwnProperty call\n for (prop of Object.keys(arguments[i])) {\n switch (prop) {\n // Array merge strategy (array concatenation)\n case 'class':\n case 'directives':\n if (arguments[i][prop]) {\n mergeTarget[prop] = mergeClasses(mergeTarget[prop], arguments[i][prop])\n }\n break\n case 'style':\n if (arguments[i][prop]) {\n mergeTarget[prop] = mergeStyles(mergeTarget[prop], arguments[i][prop])\n }\n break\n // Space delimited string concatenation strategy\n case 'staticClass':\n if (!arguments[i][prop]) {\n break\n }\n if (mergeTarget[prop] === undefined) {\n mergeTarget[prop] = ''\n }\n if (mergeTarget[prop]) {\n // Not an empty string, so concatenate\n mergeTarget[prop] += ' '\n }\n mergeTarget[prop] += arguments[i][prop].trim()\n break\n // Object, the properties of which to merge via array merge strategy (array concatenation).\n // Callback merge strategy merges callbacks to the beginning of the array,\n // so that the last defined callback will be invoked first.\n // This is done since to mimic how Object.assign merging\n // uses the last given value to assign.\n case 'on':\n case 'nativeOn':\n if (arguments[i][prop]) {\n mergeTarget[prop] = mergeListeners(mergeTarget[prop], arguments[i][prop])\n }\n break\n // Object merge strategy\n case 'attrs':\n case 'props':\n case 'domProps':\n case 'scopedSlots':\n case 'staticStyle':\n case 'hook':\n case 'transition':\n if (!arguments[i][prop]) {\n break\n }\n if (!mergeTarget[prop]) {\n mergeTarget[prop] = {}\n }\n mergeTarget[prop] = { ...arguments[i][prop], ...mergeTarget[prop] }\n break\n // Reassignment strategy (no merge)\n default: // slot, key, ref, tag, show, keepAlive\n if (!mergeTarget[prop]) {\n mergeTarget[prop] = arguments[i][prop]\n }\n }\n }\n }\n\n return mergeTarget\n}\n\nexport function mergeStyles (\n target: undefined | string | object[] | object,\n source: undefined | string | object[] | object\n) {\n if (!target) return source\n if (!source) return target\n\n target = wrapInArray(typeof target === 'string' ? parseStyle(target) : target)\n\n return (target as object[]).concat(typeof source === 'string' ? parseStyle(source) : source)\n}\n\nexport function mergeClasses (target: any, source: any) {\n if (!source) return target\n if (!target) return source\n\n return target ? wrapInArray(target).concat(source) : source\n}\n\nexport function mergeListeners (...args: [\n { [key: string]: Function | Function[] } | undefined,\n { [key: string]: Function | Function[] } | undefined\n]) {\n if (!args[0]) return args[1]\n if (!args[1]) return args[0]\n\n const dest: { [key: string]: Function | Function[] } = {}\n\n for (let i = 2; i--;) {\n const arg = args[i]\n for (const event in arg) {\n if (!arg[event]) continue\n\n if (dest[event]) {\n // Merge current listeners before (because we are iterating backwards).\n // Note that neither \"target\" or \"source\" must be altered.\n dest[event] = ([] as Function[]).concat(arg[event], dest[event])\n } else {\n // Straight assign.\n dest[event] = arg[event]\n }\n }\n }\n\n return dest\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":""}