From 75de7c348b5d0c93c4efc98a7ead2f256f3acdb2 Mon Sep 17 00:00:00 2001 From: Rasmus Porsager Date: Mon, 10 Jun 2019 19:17:52 +0200 Subject: [PATCH] v1.6.2 --- CHANGELOG.md | 3 +++ bss.js | 6 +++--- bss.min.js | 2 +- bss.min.js.map | 2 +- package.json | 2 +- 5 files changed, 9 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 024ed46..cb9996c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ ## v[Unreleased] +## v1.6.2 - +- Just braces security update (part of rollup) + ## v1.6.1 - - Allow hyphenated names for helpers - Fix multiple rules inside @ rules diff --git a/bss.js b/bss.js index 43a8464..d1cc9b6 100644 --- a/bss.js +++ b/bss.js @@ -1,8 +1,8 @@ (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : - (global.b = factory()); -}(this, (function () { 'use strict'; + (global = global || self, global.b = factory()); +}(this, function () { 'use strict'; var pseudos = [ ':active', @@ -645,5 +645,5 @@ return bss; -}))); +})); //# sourceMappingURL=bss.js.map diff --git a/bss.min.js b/bss.min.js index 6404e18..0631cd4 100644 --- a/bss.min.js +++ b/bss.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.b=e()}(this,function(){"use strict";var i={ai:"alignItems",b:"bottom",bc:"backgroundColor",br:"borderRadius",bs:"boxShadow",bi:"backgroundImage",c:"color",d:"display",f:"float",fd:"flexDirection",ff:"fontFamily",fs:"fontSize",h:"height",jc:"justifyContent",l:"left",lh:"lineHeight",ls:"letterSpacing",m:"margin",mb:"marginBottom",ml:"marginLeft",mr:"marginRight",mt:"marginTop",o:"opacity",p:"padding",pb:"paddingBottom",pl:"paddingLeft",pr:"paddingRight",pt:"paddingTop",r:"right",t:"top",ta:"textAlign",td:"textDecoration",tt:"textTransform",w:"width"},o=["float"].concat(Object.keys("undefined"==typeof document?{}:function t(e){return e?e.hasOwnProperty("width")?e:t(Object.getPrototypeOf(e)):{}}(document.documentElement.style)).filter(function(t){return-1===t.indexOf("-")&&"length"!==t}));var u=/^-?-?[a-z][a-z-_0-9]*$/i,t=function(e,n){return void 0===n&&(n={}),function(t){return t in n?n[t]:n[t]=e(t)}};function l(t,e,n){e in t?l(t,"!"+e,n):t[e]=function t(e,n){return Array.isArray(n)?n.map(function(t){return h(e,t)}).join(" "):"string"==typeof n?t(e,n.split(" ")):h(e,n)}(e,n)}var c=Object.create(null,{}),a=Object.create(null,{}),f=/^(o|O|ms|MS|Ms|moz|Moz|webkit|Webkit|WebKit)([A-Z])/,n=t(function(t){var e=document.createElement("div");try{return e.style[t]="1px",e.style.setProperty(t,"1px"),"1px"===e.style[t].slice(-3)?"px":""}catch(t){return""}},{flex:"",boxShadow:"px",border:"px",borderTop:"px",borderRight:"px",borderBottom:"px",borderLeft:"px"});function s(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]="string"==typeof e[n]?e[n]:s(t[n]||{},e[n]));return t}function p(t){return t.slice("-"===t.charAt(0)?1:0).replace(/-([a-z])/g,function(t){return t[1].toUpperCase()})}function y(e,n,r,i){void 0===r&&(r="");var o={},t=-1 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\nexport function hyphenToCamelCase(hyphen) {\n return hyphen.slice(hyphen.charAt(0) === '-' ? 1 : 0).replace(/-([a-z])/g, function(match) {\n return match[1].toUpperCase()\n })\n}\n\nexport function camelCaseToHyphen(camelCase) {\n return camelCase.replace(/(\\B[A-Z])/g, '-$1').toLowerCase()\n}\n\nexport function initials(camelCase) {\n return camelCase.charAt(0) + (camelCase.match(/([A-Z])/g) || []).join('').toLowerCase()\n}\n\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(/&/g, 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.replace(/!/g, ''), 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.replace(/^!/, '')] = 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\nfunction $import(value) {\n if (value && !/^('|\"|url\\('|url\\(\")/.test(value))\n value = '\"' + value + '\"'\n\n if (value)\n insert('@import ' + value + ';', 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 style[\n selector.split(selectorSplit).map(x => {\n x = x.trim()\n return (x.charAt(0) === ':' || x.charAt(0) === '[' ? '' : ' ') + x\n }).join(',&')\n ] = 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 stringToObject = memoize(string => {\n let last = ''\n , prev\n\n return string.trim().replace(/\\/\\*[\\s\\S]*?\\*\\/|([^:]|^)\\/\\/.*(?![^(\"]*[)\"])/g, '').split(/;(?![^(\"]*[)\"])|\\n/).reduce((acc, line) => {\n if (!line)\n return acc\n line = last + line.trim()\n const [key, ...tokens] = line.replace(/[ :]+/, ' ').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","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"],"names":["ai","b","bc","br","bs","bi","c","d","f","fd","ff","fs","h","jc","l","lh","ls","m","mb","ml","mr","mt","o","p","pb","pl","pr","pt","r","t","ta","td","tt","w","cssProperties","concat","Object","keys","document","findWidth","obj","hasOwnProperty","getPrototypeOf","documentElement","style","filter","indexOf","const","isProp","memoize","fn","cache","item","add","prop","values","formatValues","value","Array","isArray","map","v","formatValue","join","split","vendorMap","create","vendorValuePrefix","vendorRegex","appendPx","el","createElement","setProperty","slice","err","flex","boxShadow","border","borderTop","borderRight","borderBottom","borderLeft","assign","obj2","key","hyphenToCamelCase","hyphen","charAt","replace","match","toUpperCase","objectToRules","selector","suffix","single","base","extra","rules","forEach","push","length","unshift","trim","stylesToCss","selectorSplit","reduce","acc","test","cssVar","toLowerCase","isNaN","classPrefix","Math","random","toString","styleSheet","head","appendChild","id","sheet","debug","classes","count","insert","rule","index","textContent","insertRule","arguments","cssRules","e","shorts","bss","input","chain","__style","parse","apply","setProp","defineProperty","configurable","instance","newInstance","enumerable","get","this","addNest","properties","x","setter","prototype","call","addCss","helper","name","styling","result","isTagged","raw","short","camelCase","acronym","popular","defineProperties","writable","valueOf","class","props","content","keyframeCache","string","vendor","unprefixed","arg","set","__class","json","JSON","stringify","className","i","createClass","animation","$keyframes","stringToObject","let","prev","last","line","tokens","sanitize","styles","args","str"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"bss.min.js","sources":["lib/popular.js","lib/utils.js","lib/sheet.js","lib/index.js","lib/pseudos.js"],"sourcesContent":["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\nexport function hyphenToCamelCase(hyphen) {\n return hyphen.slice(hyphen.charAt(0) === '-' ? 1 : 0).replace(/-([a-z])/g, function(match) {\n return match[1].toUpperCase()\n })\n}\n\nexport function camelCaseToHyphen(camelCase) {\n return camelCase.replace(/(\\B[A-Z])/g, '-$1').toLowerCase()\n}\n\nexport function initials(camelCase) {\n return camelCase.charAt(0) + (camelCase.match(/([A-Z])/g) || []).join('').toLowerCase()\n}\n\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(/&/g, 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.replace(/!/g, ''), 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.replace(/^!/, '')] = 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\nfunction $import(value) {\n if (value && !/^('|\"|url\\('|url\\(\")/.test(value))\n value = '\"' + value + '\"'\n\n if (value)\n insert('@import ' + value + ';', 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 style[\n selector.split(selectorSplit).map(x => {\n x = x.trim()\n return (x.charAt(0) === ':' || x.charAt(0) === '[' ? '' : ' ') + x\n }).join(',&')\n ] = 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 stringToObject = memoize(string => {\n let last = ''\n , prev\n\n return string.trim().replace(/\\/\\*[\\s\\S]*?\\*\\/|([^:]|^)\\/\\/.*(?![^(\"]*[)\"])/g, '').split(/;(?![^(\"]*[)\"])|\\n/).reduce((acc, line) => {\n if (!line)\n return acc\n line = last + line.trim()\n const [key, ...tokens] = line.replace(/[ :]+/, ' ').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","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"],"names":["ai","b","bc","br","bs","bi","c","d","f","fd","ff","fs","h","jc","l","lh","ls","m","mb","ml","mr","mt","o","p","pb","pl","pr","pt","r","t","ta","td","tt","w","cssProperties","concat","Object","keys","document","findWidth","obj","hasOwnProperty","getPrototypeOf","documentElement","style","filter","indexOf","memoize","fn","cache","item","const","isProp","add","prop","values","formatValues","value","Array","isArray","map","v","formatValue","join","split","vendorMap","create","vendorValuePrefix","vendorRegex","appendPx","el","createElement","setProperty","slice","err","flex","boxShadow","border","borderTop","borderRight","borderBottom","borderLeft","assign","obj2","key","hyphenToCamelCase","hyphen","charAt","replace","match","toUpperCase","objectToRules","selector","suffix","single","base","extra","rules","forEach","push","length","unshift","trim","stylesToCss","selectorSplit","reduce","acc","test","cssVar","camelCase","toLowerCase","camelCaseToHyphen","propToString","isNaN","classPrefix","Math","random","toString","styleSheet","head","appendChild","id","sheet","debug","classes","count","insert","rule","index","textContent","insertRule","arguments","cssRules","e","shorts","bss","input","chain","__style","parse","apply","setProp","defineProperty","configurable","instance","newInstance","enumerable","get","this","addNest","properties","x","setter","prototype","call","addCss","helper","name","styling","result","isTagged","raw","short","acronym","initials","popular","defineProperties","writable","valueOf","class","props","content","keyframeCache","vendor","unprefixed","string","lowercaseFirst","arg","set","__class","json","JSON","stringify","className","i","createClass","animation","$keyframes","stringToObject","let","prev","last","line","tokens","sanitize","styles","args","str"],"mappings":"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"} \ No newline at end of file diff --git a/package.json b/package.json index 29314e1..973a434 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "bss", - "version": "1.6.1", + "version": "1.6.2", "description": "Better Style Sheets", "main": "bss.js", "module": "bss.esm.js",