-
Notifications
You must be signed in to change notification settings - Fork 14
/
bss.js.map
1 lines (1 loc) · 25.5 KB
/
bss.js.map
1
{"version":3,"file":"bss.js","sources":["lib/pseudos.js","lib/popular.js","lib/utils.js","lib/sheet.js","lib/index.js"],"sourcesContent":["export default [\n ':active',\n ':any',\n ':checked',\n ':default',\n ':disabled',\n ':empty',\n ':enabled',\n ':first',\n ':first-child',\n ':first-of-type',\n ':fullscreen',\n ':focus',\n ':hover',\n ':indeterminate',\n ':in-range',\n ':invalid',\n ':last-child',\n ':last-of-type',\n ':left',\n ':link',\n ':only-child',\n ':only-of-type',\n ':optional',\n ':out-of-range',\n ':read-only',\n ':read-write',\n ':required',\n ':right',\n ':root',\n ':scope',\n ':target',\n ':valid',\n ':visited',\n\n // With value\n ':dir',\n ':lang',\n ':not',\n ':nth-child',\n ':nth-last-child',\n ':nth-last-of-type',\n ':nth-of-type',\n\n // Elements\n '::after',\n '::before',\n '::first-letter',\n '::first-line',\n '::selection',\n '::backdrop',\n '::placeholder',\n '::marker',\n '::spelling-error',\n '::grammar-error'\n]\n","export default {\n ai : 'alignItems',\n b : 'bottom',\n bc : 'backgroundColor',\n br : 'borderRadius',\n bs : 'boxShadow',\n bi : 'backgroundImage',\n c : 'color',\n d : 'display',\n f : 'float',\n fd : 'flexDirection',\n ff : 'fontFamily',\n fs : 'fontSize',\n h : 'height',\n jc : 'justifyContent',\n l : 'left',\n lh : 'lineHeight',\n ls : 'letterSpacing',\n m : 'margin',\n mb : 'marginBottom',\n ml : 'marginLeft',\n mr : 'marginRight',\n mt : 'marginTop',\n o : 'opacity',\n p : 'padding',\n pb : 'paddingBottom',\n pl : 'paddingLeft',\n pr : 'paddingRight',\n pt : 'paddingTop',\n r : 'right',\n t : 'top',\n ta : 'textAlign',\n td : 'textDecoration',\n tt : 'textTransform',\n w : 'width'\n}\n","export const cssProperties = ['float'].concat(Object.keys(\n typeof document === 'undefined'\n ? {}\n : findWidth(document.documentElement.style)\n).filter(p => p.indexOf('-') === -1 && p !== 'length'))\n\nfunction findWidth(obj) {\n return obj\n ? obj.hasOwnProperty('width')\n ? obj\n : findWidth(Object.getPrototypeOf(obj))\n : {}\n}\n\nexport const isProp = /^-?-?[a-z][a-z-_0-9]*$/i\n\nexport const memoize = (fn, cache = {}) => item =>\n item in cache\n ? cache[item]\n : cache[item] = fn(item)\n\nexport function add(style, prop, values) {\n if (prop in style) // Recursively increase specificity\n add(style, '!' + prop, values)\n else\n style[prop] = formatValues(prop, values)\n}\n\nexport const vendorMap = Object.create(null, {})\nexport const vendorValuePrefix = Object.create(null, {})\n\nexport const vendorRegex = /^(o|O|ms|MS|Ms|moz|Moz|webkit|Webkit|WebKit)([A-Z])/\n\nconst appendPx = memoize(prop => {\n const el = document.createElement('div')\n\n try {\n el.style[prop] = '1px'\n el.style.setProperty(prop, '1px')\n return el.style[prop].slice(-3) === '1px' ? 'px' : ''\n } catch (err) {\n return ''\n }\n}, {\n flex: '',\n boxShadow: 'px',\n border: 'px',\n borderTop: 'px',\n borderRight: 'px',\n borderBottom: 'px',\n borderLeft: 'px'\n})\n\nexport function lowercaseFirst(string) {\n return string.charAt(0).toLowerCase() + string.slice(1)\n}\n\nexport function assign(obj, obj2) {\n for (const key in obj2) {\n if (obj2.hasOwnProperty(key)) {\n obj[key] = typeof obj2[key] === 'string'\n ? obj2[key]\n : assign(obj[key] || {}, obj2[key])\n }\n }\n return obj\n}\n\nconst hyphenSeparator = /-([a-z])/g\nexport function hyphenToCamelCase(hyphen) {\n return hyphen.slice(hyphen.charAt(0) === '-' ? 1 : 0).replace(hyphenSeparator, function(match) {\n return match[1].toUpperCase()\n })\n}\n\nconst camelSeparator = /(\\B[A-Z])/g\nexport function camelCaseToHyphen(camelCase) {\n return camelCase.replace(camelSeparator, '-$1').toLowerCase()\n}\n\nconst initialMatch = /([A-Z])/g\nexport function initials(camelCase) {\n return camelCase.charAt(0) + (camelCase.match(initialMatch) || []).join('').toLowerCase()\n}\n\nconst ampersandMatch = /&/g\nexport function objectToRules(style, selector, suffix = '', single) {\n const base = {}\n const extra = suffix.indexOf('&') > -1 && suffix.indexOf(',') === -1 ? '' : '&'\n let rules = []\n\n Object.keys(style).forEach(prop => {\n if (prop.charAt(0) === '@')\n rules.push(prop + '{' + objectToRules(style[prop], selector, suffix, single).join('') + '}')\n else if (typeof style[prop] === 'object')\n rules = rules.concat(objectToRules(style[prop], selector, suffix + prop, single))\n else\n base[prop] = style[prop]\n })\n\n if (Object.keys(base).length) {\n rules.unshift(\n ((single || (suffix.charAt(0) === ' ') ? '' : '&') + extra + suffix).replace(ampersandMatch, selector).trim() +\n '{' + stylesToCss(base) + '}'\n )\n }\n\n return rules\n}\n\nexport const selectorSplit = /,(?=(?:(?:[^\"]*\"){2})*[^\"]*$)/\n\nexport function stylesToCss(style) {\n return Object.keys(style).reduce((acc, prop) =>\n acc + propToString(prop.charAt(0) === '!' ? prop.slice(1) : prop, style[prop])\n , '')\n}\n\nexport function readClasses(sheet) {\n throw new Error('not implemented')\n}\n\nfunction propToString(prop, value) {\n prop = prop in vendorMap ? vendorMap[prop] : prop\n return (vendorRegex.test(prop) ? '-' : '')\n + (cssVar(prop)\n ? prop\n : camelCaseToHyphen(prop)\n )\n + ':'\n + value\n + ';'\n}\n\nfunction formatValues(prop, value) {\n return Array.isArray(value)\n ? value.map(v => formatValue(prop, v)).join(' ')\n : typeof value === 'string'\n ? formatValues(prop, value.split(' '))\n : formatValue(prop, value)\n}\n\nfunction formatValue(prop, value) {\n return value in vendorValuePrefix\n ? vendorValuePrefix[value]\n : value + (isNaN(value) || value === null || value === 0 || value === '0' || typeof value === 'boolean' || cssVar(prop) ? '' : appendPx(prop))\n}\n\nfunction cssVar(prop) {\n return prop.charAt(0) === '-' && prop.charAt(1) === '-'\n}\n","import {\n objectToRules\n} from './utils.js'\n\nexport const classPrefix = 'b' + ('000' + ((Math.random() * 46656) | 0).toString(36)).slice(-3) +\n ('000' + ((Math.random() * 46656) | 0).toString(36)).slice(-3)\n\nconst styleSheet = typeof document === 'object' && document.createElement('style')\nstyleSheet && document.head && document.head.appendChild(styleSheet)\nstyleSheet && (styleSheet.id = classPrefix)\n\nconst sheet = styleSheet && styleSheet.sheet\n\nlet debug = false\nlet classes = Object.create(null, {})\nlet rules = []\nlet count = 0\n\nexport function setDebug(d) {\n debug = d\n}\n\nexport function getSheet() {\n const content = rules.join('')\n rules = []\n classes = Object.create(null, {})\n count = 0\n return content\n}\n\nexport function getRules() {\n return rules\n}\n\nexport function insert(rule, index) {\n rules.push(rule)\n\n if (debug)\n return styleSheet.textContent = rules.join('\\n')\n\n try {\n sheet && sheet.insertRule(rule, arguments.length > 1\n ? index\n : sheet.cssRules.length)\n } catch (e) {\n // Ignore thrown errors in eg. firefox for unsupported strings (::-webkit-inner-spin-button)\n }\n}\n\nexport function createClass(style) {\n const json = JSON.stringify(style)\n\n if (json in classes)\n return classes[json]\n\n const className = classPrefix + (++count)\n , rules = objectToRules(style, '.' + className)\n\n for (let i = 0; i < rules.length; i++)\n insert(rules[i])\n\n classes[json] = className\n\n return className\n}\n","/* eslint no-invalid-this: 0 */\nimport pseudos from './pseudos.js'\nimport popular from './popular.js'\n\nimport {\n classPrefix,\n createClass,\n setDebug,\n getSheet,\n getRules,\n insert\n} from './sheet'\n\nimport {\n hyphenToCamelCase,\n vendorValuePrefix,\n lowercaseFirst,\n objectToRules,\n selectorSplit,\n cssProperties,\n stylesToCss,\n vendorRegex,\n vendorMap,\n initials,\n memoize,\n isProp,\n assign,\n add\n} from './utils'\n\nconst shorts = Object.create(null)\n\nfunction bss(input, value) {\n const b = chain(bss)\n input && assign(b.__style, parse.apply(null, arguments))\n return b\n}\n\nfunction setProp(prop, value) {\n Object.defineProperty(bss, prop, {\n configurable: true,\n value\n })\n}\n\nObject.defineProperties(bss, {\n __style: {\n configurable: true,\n writable: true,\n value: {}\n },\n valueOf: {\n configurable: true,\n writable: true,\n value: function() {\n return '.' + this.class\n }\n },\n toString: {\n configurable: true,\n writable: true,\n value: function() {\n return this.class\n }\n }\n})\n\nsetProp('setDebug', setDebug)\n\nsetProp('$keyframes', keyframes)\nsetProp('$media', $media)\nsetProp('$import', $import)\nsetProp('$nest', $nest)\nsetProp('getSheet', getSheet)\nsetProp('getRules', getRules)\nsetProp('helper', helper)\nsetProp('css', css)\nsetProp('classPrefix', classPrefix)\n\nfunction chain(instance) {\n const newInstance = Object.create(bss, {\n __style: {\n value: assign({}, instance.__style)\n },\n style: {\n enumerable: true,\n get: function() {\n return Object.keys(this.__style).reduce((acc, key) => {\n if (typeof this.__style[key] === 'number' || typeof this.__style[key] === 'string')\n acc[key.charAt(0) === '!' ? key.slice(1) : key] = this.__style[key]\n return acc\n }, {})\n }\n }\n })\n\n if (instance === bss)\n bss.__style = {}\n\n return newInstance\n}\n\ncssProperties.forEach(prop => {\n const vendor = prop.match(vendorRegex)\n if (vendor) {\n const unprefixed = lowercaseFirst(prop.replace(vendorRegex, '$2'))\n if (cssProperties.indexOf(unprefixed) === -1) {\n if (unprefixed === 'flexDirection')\n vendorValuePrefix.flex = '-' + vendor[1].toLowerCase() + '-flex'\n\n vendorMap[unprefixed] = prop\n setProp(unprefixed, setter(prop))\n setProp(short(unprefixed), bss[unprefixed])\n return\n }\n }\n\n setProp(prop, setter(prop))\n setProp(short(prop), bss[prop])\n})\n\nsetProp('content', function Content(arg) {\n const b = chain(this)\n arg === null || arg === undefined || arg === false\n ? delete b.__style.content\n : b.__style.content = '\"' + arg + '\"'\n return b\n})\n\nObject.defineProperty(bss, 'class', {\n set: function(value) {\n this.__class = value\n },\n get: function() {\n return this.__class || createClass(this.__style)\n }\n})\n\nfunction $media(value, style) {\n const b = chain(this)\n if (value)\n b.__style['@media ' + value] = parse(style)\n\n return b\n}\n\nconst hasUrl = /^('|\"|url\\('|url\\(\")/i\nfunction $import(value) {\n value && insert('@import '\n + (hasUrl.test(value) ? value : '\"' + value + '\"')\n + ';', 0)\n\n return chain(this)\n}\n\nfunction $nest(selector, properties) {\n const b = chain(this)\n if (arguments.length === 1)\n Object.keys(selector).forEach(x => addNest(b.__style, x, selector[x]))\n else if (selector)\n addNest(b.__style, selector, properties)\n\n return b\n}\n\nfunction addNest(style, selector, properties) {\n const prop = selector.split(selectorSplit).map(x => {\n x = x.trim()\n return (x.charAt(0) === ':' || x.charAt(0) === '[' ? '' : ' ') + x\n }).join(',&')\n\n prop in style\n ? assign(style[prop], parse(properties))\n : style[prop] = parse(properties)\n}\n\npseudos.forEach(name =>\n setProp('$' + hyphenToCamelCase(name.replace(/:/g, '')), function Pseudo(value, style) {\n const b = chain(this)\n if (isTagged(value))\n b.__style[name] = parse.apply(null, arguments)\n else if (value || style)\n b.__style[name + (style ? '(' + value + ')' : '')] = parse(style || value)\n return b\n })\n)\n\nfunction setter(prop) {\n return function CssProperty(value) {\n const b = chain(this)\n if (!value && value !== 0)\n delete b.__style[prop]\n else if (arguments.length > 0)\n add(b.__style, prop, Array.prototype.slice.call(arguments))\n\n return b\n }\n}\n\nfunction css(selector, style) {\n if (arguments.length === 1)\n Object.keys(selector).forEach(key => addCss(key, selector[key]))\n else\n addCss(selector, style)\n\n return chain(this)\n}\n\nfunction addCss(selector, style) {\n objectToRules(parse(style), selector, '', true).forEach(rule => insert(rule))\n}\n\nfunction helper(name, styling) {\n if (arguments.length === 1)\n return Object.keys(name).forEach(key => helper(key, name[key]))\n\n delete bss[name] // Needed to avoid weird get calls in chrome\n\n if (typeof styling === 'function') {\n helper[name] = styling\n Object.defineProperty(bss, name, {\n configurable: true,\n value: function Helper(input) {\n const b = chain(this)\n const result = isTagged(input)\n ? styling(raw(input, arguments))\n : styling.apply(null, arguments)\n assign(b.__style, result.__style)\n return b\n }\n })\n } else {\n helper[name] = parse(styling)\n Object.defineProperty(bss, name, {\n configurable: true,\n get: function() {\n const b = chain(this)\n assign(b.__style, parse(styling))\n return b\n }\n })\n }\n}\n\nbss.helper('$animate', (value, props) =>\n bss.animation(bss.$keyframes(props) + ' ' + value)\n)\n\nfunction short(prop) {\n const acronym = initials(prop)\n , short = popular[acronym] && popular[acronym] !== prop ? prop : acronym\n\n shorts[short] = prop\n return short\n}\n\nconst blockEndMatch = /;(?![^(\"]*[)\"])|\\n/\nconst commentsMatch = /\\/\\*[\\s\\S]*?\\*\\/|([^:]|^)\\/\\/.*(?![^(\"]*[)\"])/g\nconst propSeperator = /[ :]+/\n\nconst stringToObject = memoize(string => {\n let last = ''\n , prev\n\n return string.trim().replace(commentsMatch, '').split(blockEndMatch).reduce((acc, line) => {\n if (!line)\n return acc\n line = last + line.trim()\n const [key, ...tokens] = line.replace(propSeperator, ' ').split(' ')\n\n last = line.charAt(line.length - 1) === ',' ? line : ''\n if (last)\n return acc\n\n if (line.charAt(0) === ',' || !isProp.test(key)) {\n acc[prev] += ' ' + line\n return acc\n }\n\n if (!key)\n return acc\n\n const prop = key.charAt(0) === '-' && key.charAt(1) === '-'\n ? key\n : hyphenToCamelCase(key)\n\n prev = shorts[prop] || prop\n\n if (key in helper) {\n typeof helper[key] === 'function'\n ? assign(acc, helper[key](...tokens).__style)\n : assign(acc, helper[key])\n } else if (prop in helper) {\n typeof helper[prop] === 'function'\n ? assign(acc, helper[prop](...tokens).__style)\n : assign(acc, helper[prop])\n } else if (tokens.length > 0) {\n add(acc, prev, tokens)\n }\n\n return acc\n }, {})\n})\n\nlet count = 0\nconst keyframeCache = {}\n\nfunction keyframes(props) {\n const content = Object.keys(props).reduce((acc, key) =>\n acc + key + '{' + stylesToCss(parse(props[key])) + '}'\n , '')\n\n if (content in keyframeCache)\n return keyframeCache[content]\n\n const name = classPrefix + count++\n keyframeCache[content] = name\n insert('@keyframes ' + name + '{' + content + '}')\n\n return name\n}\n\nfunction parse(input, value) {\n if (typeof input === 'string') {\n if (typeof value === 'string' || typeof value === 'number')\n return ({ [input] : value })\n\n return stringToObject(input)\n } else if (isTagged(input)) {\n return stringToObject(raw(input, arguments))\n }\n\n return input.__style || sanitize(input)\n}\n\nfunction isTagged(input) {\n return Array.isArray(input) && typeof input[0] === 'string'\n}\n\nfunction raw(input, args) {\n let str = ''\n for (let i = 0; i < input.length; i++)\n str += input[i] + (args[i + 1] || args[i + 1] === 0 ? args[i + 1] : '')\n return str\n}\n\nfunction sanitize(styles) {\n return Object.keys(styles).reduce((acc, key) => {\n const value = styles[key]\n key = shorts[key] || key\n\n if (!value && value !== 0 && value !== '')\n return acc\n\n if (key === 'content' && value.charAt(0) !== '\"')\n acc[key] = '\"' + value + '\"'\n else if (typeof value === 'object')\n acc[key] = sanitize(value)\n else\n add(acc, key, value)\n\n return acc\n }, {})\n}\n\nexport default bss\n"],"names":["count"],"mappings":"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"}