{"version":3,"file":"stylis-e47d4402.js","sources":["../../node_modules/stylis/src/Enum.js","../../node_modules/stylis/src/Utility.js","../../node_modules/stylis/src/Tokenizer.js","../../node_modules/stylis/src/Parser.js","../../node_modules/stylis/src/Prefixer.js","../../node_modules/stylis/src/Serializer.js","../../node_modules/stylis/src/Middleware.js"],"sourcesContent":["export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\nexport var SCOPE = '@scope'\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @param {number} position\n * @return {number}\n */\nexport function indexof (value, search, position) {\n\treturn value.indexOf(search, position)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n\n/**\n * @param {string[]} array\n * @param {RegExp} pattern\n * @return {string[]}\n */\nexport function filter (array, pattern) {\n\treturn array.filter(function (value) { return !match(value, pattern) })\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {object[]} siblings\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length, siblings) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: '', siblings: siblings}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0, root.siblings), root, {length: -root.length}, props)\n}\n\n/**\n * @param {object} root\n */\nexport function lift (root) {\n\twhile (root.root)\n\t\troot = copy(root.root, {children: [root]})\n\n\tappend(root, root.siblings)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f', abs(index ? points[index - 1] : 0)) != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent, declarations), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1, declarations) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2, declarations), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length, rulesets), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length, children), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length, siblings) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length, siblings)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @param {object[]} siblings\n * @return {object}\n */\nexport function comment (value, root, parent, siblings) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0, siblings)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function declaration (value, root, parent, length, siblings) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length, siblings)\n}\n","import {MS, MOZ, WEBKIT} from './Enum.js'\nimport {hash, charat, strlen, indexof, replace, substr, match} from './Utility.js'\n\n/**\n * @param {string} value\n * @param {number} length\n * @param {object[]} children\n * @return {string}\n */\nexport function prefix (value, length, children) {\n\tswitch (hash(value, length)) {\n\t\t// color-adjust\n\t\tcase 5103:\n\t\t\treturn WEBKIT + 'print-' + value + value\n\t\t// animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\t\tcase 5737: case 4201: case 3177: case 3433: case 1641: case 4457: case 2921:\n\t\t// text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\t\tcase 5572: case 6356: case 5844: case 3191: case 6645: case 3005:\n\t\t// mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\t\tcase 6391: case 5879: case 5623: case 6135: case 4599: case 4855:\n\t\t// background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\t\tcase 4215: case 6389: case 5109: case 5365: case 5621: case 3829:\n\t\t\treturn WEBKIT + value + value\n\t\t// tab-size\n\t\tcase 4789:\n\t\t\treturn MOZ + value + value\n\t\t// appearance, user-select, transform, hyphens, text-size-adjust\n\t\tcase 5349: case 4246: case 4810: case 6968: case 2756:\n\t\t\treturn WEBKIT + value + MOZ + value + MS + value + value\n\t\t// writing-mode\n\t\tcase 5936:\n\t\t\tswitch (charat(value, length + 11)) {\n\t\t\t\t// vertical-l(r)\n\t\t\t\tcase 114:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value\n\t\t\t\t// vertical-r(l)\n\t\t\t\tcase 108:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value\n\t\t\t\t// horizontal(-)tb\n\t\t\t\tcase 45:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value\n\t\t\t\t// default: fallthrough to below\n\t\t\t}\n\t\t// flex, flex-direction, scroll-snap-type, writing-mode\n\t\tcase 6828: case 4268: case 2903:\n\t\t\treturn WEBKIT + value + MS + value + value\n\t\t// order\n\t\tcase 6165:\n\t\t\treturn WEBKIT + value + MS + 'flex-' + value + value\n\t\t// align-items\n\t\tcase 5187:\n\t\t\treturn WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value\n\t\t// align-self\n\t\tcase 5443:\n\t\t\treturn WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/g, '') + (!match(value, /flex-|baseline/) ? MS + 'grid-row-' + replace(value, /flex-|-self/g, '') : '') + value\n\t\t// align-content\n\t\tcase 4675:\n\t\t\treturn WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/g, '') + value\n\t\t// flex-shrink\n\t\tcase 5548:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value\n\t\t// flex-basis\n\t\tcase 5292:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value\n\t\t// flex-grow\n\t\tcase 6060:\n\t\t\treturn WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value\n\t\t// transition\n\t\tcase 4554:\n\t\t\treturn WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value\n\t\t// cursor\n\t\tcase 6187:\n\t\t\treturn replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value\n\t\t// background, background-image\n\t\tcase 5495: case 3959:\n\t\t\treturn replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1')\n\t\t// justify-content\n\t\tcase 4968:\n\t\t\treturn replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value\n\t\t// justify-self\n\t\tcase 4200:\n\t\t\tif (!match(value, /flex-|baseline/)) return MS + 'grid-column-align' + substr(value, length) + value\n\t\t\tbreak\n\t\t// grid-template-(columns|rows)\n\t\tcase 2592: case 3360:\n\t\t\treturn MS + replace(value, 'template-', '') + value\n\t\t// grid-(row|column)-start\n\t\tcase 4384: case 3616:\n\t\t\tif (children && children.some(function (element, index) { return length = index, match(element.props, /grid-\\w+-end/) })) {\n\t\t\t\treturn ~indexof(value + (children = children[length].value), 'span', 0) ? value : (MS + replace(value, '-start', '') + value + MS + 'grid-row-span:' + (~indexof(children, 'span', 0) ? match(children, /\\d+/) : +match(children, /\\d+/) - +match(value, /\\d+/)) + ';')\n\t\t\t}\n\t\t\treturn MS + replace(value, '-start', '') + value\n\t\t// grid-(row|column)-end\n\t\tcase 4896: case 4128:\n\t\t\treturn (children && children.some(function (element) { return match(element.props, /grid-\\w+-start/) })) ? value : MS + replace(replace(value, '-end', '-span'), 'span ', '') + value\n\t\t// (margin|padding)-inline-(start|end)\n\t\tcase 4095: case 3583: case 4068: case 2532:\n\t\t\treturn replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value\n\t\t// (min|max)?(width|height|inline-size|block-size)\n\t\tcase 8116: case 7059: case 5753: case 5535:\n\t\tcase 5445: case 5701: case 4933: case 4677:\n\t\tcase 5533: case 5789: case 5021: case 4765:\n\t\t\t// stretch, max-content, min-content, fill-available\n\t\t\tif (strlen(value) - 1 - length > 6)\n\t\t\t\tswitch (charat(value, length + 1)) {\n\t\t\t\t\t// (m)ax-content, (m)in-content\n\t\t\t\t\tcase 109:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (charat(value, length + 4) !== 45)\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t// (f)ill-available, (f)it-content\n\t\t\t\t\tcase 102:\n\t\t\t\t\t\treturn replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value\n\t\t\t\t\t// (s)tretch\n\t\t\t\t\tcase 115:\n\t\t\t\t\t\treturn ~indexof(value, 'stretch', 0) ? prefix(replace(value, 'stretch', 'fill-available'), length, children) + value : value\n\t\t\t\t}\n\t\t\tbreak\n\t\t// grid-(column|row)\n\t\tcase 5152: case 5920:\n\t\t\treturn replace(value, /(.+?):(\\d+)(\\s*\\/\\s*(span)?\\s*(\\d+))?(.*)/, function (_, a, b, c, d, e, f) { return (MS + a + ':' + b + f) + (c ? (MS + a + '-span:' + (d ? e : +e - +b)) + f : '') + value })\n\t\t// position: sticky\n\t\tcase 4949:\n\t\t\t// stick(y)?\n\t\t\tif (charat(value, length + 6) === 121)\n\t\t\t\treturn replace(value, ':', ':' + WEBKIT) + value\n\t\t\tbreak\n\t\t// display: (flex|inline-flex|grid|inline-grid)\n\t\tcase 6444:\n\t\t\tswitch (charat(value, charat(value, 14) === 45 ? 18 : 11)) {\n\t\t\t\t// (inline-)?fle(x)\n\t\t\t\tcase 120:\n\t\t\t\t\treturn replace(value, /(.+:)([^;\\s!]+)(;|(\\s+)?!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value\n\t\t\t\t// (inline-)?gri(d)\n\t\t\t\tcase 100:\n\t\t\t\t\treturn replace(value, ':', ':' + MS) + value\n\t\t\t}\n\t\t\tbreak\n\t\t// scroll-margin, scroll-margin-(top|right|bottom|left)\n\t\tcase 5719: case 2647: case 2135: case 3927: case 2391:\n\t\t\treturn replace(value, 'scroll-', 'scroll-snap-') + value\n\t}\n\n\treturn value\n}\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\n\tfor (var i = 0; i < children.length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: if (!strlen(element.value = element.props.join(','))) return ''\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine, filter, assign} from './Utility.js'\nimport {copy, lift, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(children = element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, callback = /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [value]}))\n\t\t\t\t\t\t\t\t\tassign(element, {props: filter(children, callback)})\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [value]}))\n\t\t\t\t\t\t\t\t\tassign(element, {props: filter(children, callback)})\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n"],"names":["e","n","MS","MOZ","WEBKIT","COMMENT","RULESET","DECLARATION","IMPORT","KEYFRAMES","LAYER","abs","from","assign","hash","value","length","charat","trim","match","pattern","replace","replacement","indexof","search","position","index","substr","begin","end","strlen","sizeof","append","array","combine","callback","filter","line","column","character","characters","node","root","parent","type","props","children","siblings","copy","lift","char","prev","next","peek","caret","slice","token","alloc","dealloc","delimit","delimiter","whitespace","escaping","count","commenter","identifier","compile","parse","rule","rules","rulesets","pseudo","points","declarations","offset","atrule","property","previous","variable","scanning","ampersand","reference","comment","declaration","ruleset","post","size","i","j","k","x","y","z","prefix","element","_","a","b","c","d","f","serialize","output","stringify","middleware","collection","rulesheet","prefixer"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]}