{"version":3,"sources":["webpack:///../../../src/components/VGrid/VRow.ts","webpack:///../../../src/components/VGrid/VCol.ts","webpack:///../../../src/components/VGrid/grid.ts","webpack:///../../../src/components/VGrid/VContainer.ts"],"names":["breakpoints","ALIGNMENT","makeProps","prefix","def","reduce","props","val","upperFirst","alignValidator","str","includes","alignProps","type","String","default","validator","justifyValidator","justifyProps","alignContentValidator","alignContentProps","propMap","align","Object","keys","justify","alignContent","classMap","breakpointClass","prop","className","breakpoint","replace","toLowerCase","cache","Map","Vue","extend","name","functional","tag","dense","Boolean","noGutters","render","h","data","children","cacheKey","classList","get","forEach","value","push","set","mergeData","staticClass","class","breakpointProps","Number","offsetProps","orderProps","col","offset","order","cols","alignSelf","parent","hasColClasses","some","startsWith","Grid","id","trim","attrs","classes","filter","key","length","join","domProps","fluid","Array","concat"],"mappings":"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","file":"06273eb.js","sourcesContent":["import './VGrid.sass'\n\nimport Vue, { PropOptions } from 'vue'\nimport mergeData from '../../util/mergeData'\nimport { upperFirst } from '../../util/helpers'\n\n// no xs\nconst breakpoints = ['sm', 'md', 'lg', 'xl']\n\nconst ALIGNMENT = ['start', 'end', 'center']\n\nfunction makeProps (prefix: string, def: () => PropOptions) {\n return breakpoints.reduce((props, val) => {\n props[prefix + upperFirst(val)] = def()\n return props\n }, {} as Dictionary)\n}\n\nconst alignValidator = (str: any) => [...ALIGNMENT, 'baseline', 'stretch'].includes(str)\nconst alignProps = makeProps('align', () => ({\n type: String,\n default: null,\n validator: alignValidator,\n}))\n\nconst justifyValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around'].includes(str)\nconst justifyProps = makeProps('justify', () => ({\n type: String,\n default: null,\n validator: justifyValidator,\n}))\n\nconst alignContentValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around', 'stretch'].includes(str)\nconst alignContentProps = makeProps('alignContent', () => ({\n type: String,\n default: null,\n validator: alignContentValidator,\n}))\n\nconst propMap = {\n align: Object.keys(alignProps),\n justify: Object.keys(justifyProps),\n alignContent: Object.keys(alignContentProps),\n}\n\nconst classMap = {\n align: 'align',\n justify: 'justify',\n alignContent: 'align-content',\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: string) {\n let className = classMap[type]\n if (val == null) {\n return undefined\n }\n if (prop) {\n // alignSm -> Sm\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n // .align-items-sm-center\n className += `-${val}`\n return className.toLowerCase()\n}\n\nconst cache = new Map()\n\nexport default Vue.extend({\n name: 'v-row',\n functional: true,\n props: {\n tag: {\n type: String,\n default: 'div',\n },\n dense: Boolean,\n noGutters: Boolean,\n align: {\n type: String,\n default: null,\n validator: alignValidator,\n },\n ...alignProps,\n justify: {\n type: String,\n default: null,\n validator: justifyValidator,\n },\n ...justifyProps,\n alignContent: {\n type: String,\n default: null,\n validator: alignContentValidator,\n },\n ...alignContentProps,\n },\n render (h, { props, data, children }) {\n // Super-fast memoization based on props, 5x faster than JSON.stringify\n let cacheKey = ''\n for (const prop in props) {\n cacheKey += String((props as any)[prop])\n }\n let classList = cache.get(cacheKey)\n\n if (!classList) {\n classList = []\n // Loop through `align`, `justify`, `alignContent` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n classList.push({\n 'no-gutters': props.noGutters,\n 'row--dense': props.dense,\n [`align-${props.align}`]: props.align,\n [`justify-${props.justify}`]: props.justify,\n [`align-content-${props.alignContent}`]: props.alignContent,\n })\n\n cache.set(cacheKey, classList)\n }\n\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'row',\n class: classList,\n }),\n children\n )\n },\n})\n","import './VGrid.sass'\n\nimport Vue, { VNode, PropOptions } from 'vue'\nimport mergeData from '../../util/mergeData'\nimport { upperFirst } from '../../util/helpers'\n\n// no xs\nconst breakpoints = ['sm', 'md', 'lg', 'xl']\n\nconst breakpointProps = (() => {\n return breakpoints.reduce((props, val) => {\n props[val] = {\n type: [Boolean, String, Number],\n default: false,\n }\n return props\n }, {} as Dictionary)\n})()\n\nconst offsetProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['offset' + upperFirst(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Dictionary)\n})()\n\nconst orderProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['order' + upperFirst(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Dictionary)\n})()\n\nconst propMap = {\n col: Object.keys(breakpointProps),\n offset: Object.keys(offsetProps),\n order: Object.keys(orderProps),\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: boolean | string | number) {\n let className = type\n if (val == null || val === false) {\n return undefined\n }\n if (prop) {\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n // Handling the boolean style prop when accepting [Boolean, String, Number]\n // means Vue will not convert to sm: true for us.\n // Since the default is false, an empty string indicates the prop's presence.\n if (type === 'col' && (val === '' || val === true)) {\n // .col-md\n return className.toLowerCase()\n }\n // .order-md-6\n className += `-${val}`\n return className.toLowerCase()\n}\n\nconst cache = new Map()\n\nexport default Vue.extend({\n name: 'v-col',\n functional: true,\n props: {\n cols: {\n type: [Boolean, String, Number],\n default: false,\n },\n ...breakpointProps,\n offset: {\n type: [String, Number],\n default: null,\n },\n ...offsetProps,\n order: {\n type: [String, Number],\n default: null,\n },\n ...orderProps,\n alignSelf: {\n type: String,\n default: null,\n validator: (str: any) => ['auto', 'start', 'end', 'center', 'baseline', 'stretch'].includes(str),\n },\n tag: {\n type: String,\n default: 'div',\n },\n },\n render (h, { props, data, children, parent }): VNode {\n // Super-fast memoization based on props, 5x faster than JSON.stringify\n let cacheKey = ''\n for (const prop in props) {\n cacheKey += String((props as any)[prop])\n }\n let classList = cache.get(cacheKey)\n\n if (!classList) {\n classList = []\n // Loop through `col`, `offset`, `order` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string | number | boolean = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n const hasColClasses = classList.some(className => className.startsWith('col-'))\n\n classList.push({\n // Default to .col if no other col-{bp}-* classes generated nor `cols` specified.\n col: !hasColClasses || !props.cols,\n [`col-${props.cols}`]: props.cols,\n [`offset-${props.offset}`]: props.offset,\n [`order-${props.order}`]: props.order,\n [`align-self-${props.alignSelf}`]: props.alignSelf,\n })\n\n cache.set(cacheKey, classList)\n }\n\n return h(props.tag, mergeData(data, { class: classList }), children)\n },\n})\n","// 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"],"sourceRoot":""}