{"version":3,"sources":["webpack:///../../../src/mixins/measurable/index.ts","webpack:///../../../src/mixins/binds-attrs/index.ts","webpack:///../../../src/mixins/roundable/index.ts","webpack:///../../../src/components/VSheet/VSheet.ts","webpack:///../../../src/mixins/colorable/index.ts","webpack:///./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","webpack:///./node_modules/core-js/modules/es.string.fixed.js","webpack:///../../../src/mixins/elevatable/index.ts","webpack:///../../src/util/mergeData.ts","webpack:///../../../src/mixins/positionable/index.ts"],"names":["Vue","extend","name","props","height","Number","String","maxHeight","maxWidth","minHeight","minWidth","width","computed","measurableStyles","styles","convertToUnit","this","makeWatcher","property","val","oldVal","attr","Object","prototype","hasOwnProperty","call","$delete","$data","$set","data","attrs$","listeners$","created","$watch","immediate","rounded","Boolean","tile","roundedClasses","composite","push","_step","values","split","_iterator","_createForOfIteratorHelper","s","n","done","value","concat","err","e","f","length","_defineProperty","join","mixins","BindsAttrs","Colorable","Elevatable","Measurable","Roundable","Themeable","outlined","shaped","tag","type","default","classes","_objectSpread","themeClasses","elevationClasses","render","h","class","style","on","setBackgroundColor","color","$slots","methods","arguments","undefined","consoleError","isCssColor","setTextColor","_color$toString$trim$","toString","trim","_color$toString$trim$2","_slicedToArray","colorName","colorModifier","o","allowArrayLike","it","Symbol","iterator","Array","isArray","unsupportedIterableToArray","i","F","_e","TypeError","normalCompletion","didErr","step","next","_e2","$","createHTML","forcedStringHTMLMethod","target","proto","forced","fixed","elevation","computedElevation","isNaN","parseInt","pattern","styleList","styleProp","parseStyle","styleMap","_s$split","_s$split2","key","camelize","mergeData","prop","mergeTarget","_i","_Object$keys","keys","mergeClasses","mergeStyles","mergeListeners","source","wrapInArray","dest","arg","event","availableProps","absolute","bottom","left","right","top","factory","selected","filterObjectOnKeys"],"mappings":"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","file":"js/chunk-932be78a.f7c9fd8c.js","sourcesContent":["// Helpers\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport Vue, { PropType } from 'vue'\n\nexport type NumberOrNumberString = PropType\n\nexport default Vue.extend({\n name: 'measurable',\n\n props: {\n height: [Number, String] as NumberOrNumberString,\n maxHeight: [Number, String] as NumberOrNumberString,\n maxWidth: [Number, String] as NumberOrNumberString,\n minHeight: [Number, String] as NumberOrNumberString,\n minWidth: [Number, String] as NumberOrNumberString,\n width: [Number, String] as NumberOrNumberString,\n },\n\n computed: {\n measurableStyles (): object {\n const styles: Record = {}\n\n const height = convertToUnit(this.height)\n const minHeight = convertToUnit(this.minHeight)\n const minWidth = convertToUnit(this.minWidth)\n const maxHeight = convertToUnit(this.maxHeight)\n const maxWidth = convertToUnit(this.maxWidth)\n const width = convertToUnit(this.width)\n\n if (height) styles.height = height\n if (minHeight) styles.minHeight = minHeight\n if (minWidth) styles.minWidth = minWidth\n if (maxHeight) styles.maxHeight = maxHeight\n if (maxWidth) styles.maxWidth = maxWidth\n if (width) styles.width = width\n\n return styles\n },\n },\n})\n","import Vue from 'vue'\n\n/**\n * This mixin provides `attrs$` and `listeners$` to work around\n * vue bug https://github.com/vuejs/vue/issues/10115\n */\n\nfunction makeWatcher (property: string): ThisType & ((val: any, oldVal: any) => void) {\n return function (this: Vue, val, oldVal) {\n for (const attr in oldVal) {\n if (!Object.prototype.hasOwnProperty.call(val, attr)) {\n this.$delete(this.$data[property], attr)\n }\n }\n for (const attr in val) {\n this.$set(this.$data[property], attr, val[attr])\n }\n }\n}\n\nexport default Vue.extend({\n data: () => ({\n attrs$: {} as Dictionary,\n listeners$: {} as Dictionary,\n }),\n\n created () {\n // Work around unwanted re-renders: https://github.com/vuejs/vue/issues/10115\n // Make sure to use `attrs$` instead of `$attrs` (confusing right?)\n this.$watch('$attrs', makeWatcher('attrs$'), { immediate: true })\n this.$watch('$listeners', makeWatcher('listeners$'), { immediate: true })\n },\n})\n","import Vue from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'roundable',\n\n props: {\n rounded: [Boolean, String],\n tile: Boolean,\n },\n\n computed: {\n roundedClasses (): Record {\n const composite = []\n const rounded = typeof this.rounded === 'string'\n ? String(this.rounded)\n : this.rounded === true\n\n if (this.tile) {\n composite.push('rounded-0')\n } else if (typeof rounded === 'string') {\n const values = rounded.split(' ')\n\n for (const value of values) {\n composite.push(`rounded-${value}`)\n }\n } else if (rounded) {\n composite.push('rounded')\n }\n\n return composite.length > 0 ? {\n [composite.join(' ')]: true,\n } : {}\n },\n },\n})\n","// Styles\nimport './VSheet.sass'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport Elevatable from '../../mixins/elevatable'\nimport Measurable from '../../mixins/measurable'\nimport Roundable from '../../mixins/roundable'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n BindsAttrs,\n Colorable,\n Elevatable,\n Measurable,\n Roundable,\n Themeable\n).extend({\n name: 'v-sheet',\n\n props: {\n outlined: Boolean,\n shaped: Boolean,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-sheet': true,\n 'v-sheet--outlined': this.outlined,\n 'v-sheet--shaped': this.shaped,\n ...this.themeClasses,\n ...this.elevationClasses,\n ...this.roundedClasses,\n }\n },\n styles (): object {\n return this.measurableStyles\n },\n },\n\n render (h): VNode {\n const data = {\n class: this.classes,\n style: this.styles,\n on: this.listeners$,\n }\n\n return h(\n this.tag,\n this.setBackgroundColor(this.color, data),\n this.$slots.default\n )\n },\n})\n","import Vue from 'vue'\nimport { VNodeData } from 'vue/types/vnode'\nimport { consoleError } from '../../util/console'\nimport { isCssColor } from '../../util/colorUtils'\n\nexport default Vue.extend({\n name: 'colorable',\n\n props: {\n color: String,\n },\n\n methods: {\n setBackgroundColor (color?: string | false, data: VNodeData = {}): VNodeData {\n if (typeof data.style === 'string') {\n // istanbul ignore next\n consoleError('style must be an object', this)\n // istanbul ignore next\n return data\n }\n if (typeof data.class === 'string') {\n // istanbul ignore next\n consoleError('class must be an object', this)\n // istanbul ignore next\n return data\n }\n if (isCssColor(color)) {\n data.style = {\n ...data.style as object,\n 'background-color': `${color}`,\n 'border-color': `${color}`,\n }\n } else if (color) {\n data.class = {\n ...data.class,\n [color]: true,\n }\n }\n\n return data\n },\n\n setTextColor (color?: string | false, data: VNodeData = {}): VNodeData {\n if (typeof data.style === 'string') {\n // istanbul ignore next\n consoleError('style must be an object', this)\n // istanbul ignore next\n return data\n }\n if (typeof data.class === 'string') {\n // istanbul ignore next\n consoleError('class must be an object', this)\n // istanbul ignore next\n return data\n }\n if (isCssColor(color)) {\n data.style = {\n ...data.style as object,\n color: `${color}`,\n 'caret-color': `${color}`,\n }\n } else if (color) {\n const [colorName, colorModifier] = color.toString().trim().split(' ', 2) as (string | undefined)[]\n data.class = {\n ...data.class,\n [colorName + '--text']: true,\n }\n if (colorModifier) {\n data.class['text--' + colorModifier] = true\n }\n }\n return data\n },\n },\n})\n","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n var F = function F() {};\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.fixed` method\n// https://tc39.es/ecma262/#sec-string.prototype.fixed\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fixed') }, {\n fixed: function fixed() {\n return createHTML(this, 'tt', '', '');\n }\n});\n","import Vue from 'vue'\n\nexport default Vue.extend({\n name: 'elevatable',\n\n props: {\n elevation: [Number, String],\n },\n\n computed: {\n computedElevation (): string | number | undefined {\n return this.elevation\n },\n elevationClasses (): Record {\n const elevation = this.computedElevation\n\n if (elevation == null) return {}\n if (isNaN(parseInt(elevation))) return {}\n return { [`elevation-${this.elevation}`]: 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","import Vue from 'vue'\nimport { filterObjectOnKeys } from '../../util/helpers'\nimport { OptionsVue, VueConstructor } from 'vue/types/vue'\n\nconst availableProps = {\n absolute: Boolean,\n bottom: Boolean,\n fixed: Boolean,\n left: Boolean,\n right: Boolean,\n top: Boolean,\n}\ntype props = Record\n\nexport type Positionable = VueConstructor\n\nexport function factory (selected?: S[]): Positionable\nexport function factory (selected: undefined): OptionsVue\nexport function factory (selected: any[] = []): any {\n return Vue.extend({\n name: 'positionable',\n props: selected.length ? filterObjectOnKeys(availableProps, selected) : availableProps,\n })\n}\n\nexport default factory()\n\n// Add a `*` before the second `/`\n/* Tests /\nlet single = factory(['top']).extend({\n created () {\n this.top\n this.bottom\n this.absolute\n }\n})\n\nlet some = factory(['top', 'bottom']).extend({\n created () {\n this.top\n this.bottom\n this.absolute\n }\n})\n\nlet all = factory().extend({\n created () {\n this.top\n this.bottom\n this.absolute\n this.foobar\n }\n})\n/**/\n"],"sourceRoot":""}