@telegraph/style-engine 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/README.md +17 -0
- package/dist/cjs/index.js +50 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/esm/index.mjs +2630 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/types/constants/responsive-style-props.d.ts +22 -0
- package/dist/types/constants/responsive-style-props.d.ts.map +1 -0
- package/dist/types/hooks/useStyleProps.d.ts +908 -0
- package/dist/types/hooks/useStyleProps.d.ts.map +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.d.ts.map +1 -0
- package/package.json +60 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../node_modules/@vanilla-extract/css/injectStyles/dist/vanilla-extract-css-injectStyles.browser.esm.js","../../../../node_modules/@vanilla-extract/private/dist/vanilla-extract-private.esm.js","../../../../node_modules/cssesc/cssesc.js","../../../../node_modules/modern-ahocorasick/dist/index.mjs","../../../../node_modules/@vanilla-extract/css/adapter/dist/vanilla-extract-css-adapter.browser.esm.js","../../../../node_modules/@vanilla-extract/css/dist/taggedTemplateLiteral-8e47dbd7.browser.esm.js","../../../../node_modules/css-what/lib/es/types.js","../../../../node_modules/css-what/lib/es/parse.js","../../../../node_modules/dedent/dist/dedent.mjs","../../../../node_modules/media-query-parser/dist/media-query-parser.esm.js","../../../../node_modules/@vanilla-extract/css/dist/transformCss-72a2e7e9.browser.esm.js","../../../../node_modules/@emotion/hash/dist/emotion-hash.esm.js","../../../../node_modules/@vanilla-extract/css/fileScope/dist/vanilla-extract-css-fileScope.browser.esm.js","../../../../node_modules/deepmerge/dist/cjs.js","../../../../node_modules/@vanilla-extract/css/dist/vanilla-extract-css.browser.esm.js","../../src/hooks/useStyleProps.ts","../../src/constants/responsive-style-props.ts"],"sourcesContent":["var stylesheets = {};\nvar injectStyles = _ref => {\n var {\n fileScope,\n css\n } = _ref;\n var fileScopeId = fileScope.packageName ? [fileScope.packageName, fileScope.filePath].join('/') : fileScope.filePath;\n var stylesheet = stylesheets[fileScopeId];\n if (!stylesheet) {\n var styleEl = document.createElement('style');\n if (fileScope.packageName) {\n styleEl.setAttribute('data-package', fileScope.packageName);\n }\n styleEl.setAttribute('data-file', fileScope.filePath);\n styleEl.setAttribute('type', 'text/css');\n stylesheet = stylesheets[fileScopeId] = styleEl;\n document.head.appendChild(styleEl);\n }\n stylesheet.innerHTML = css;\n};\n\nexport { injectStyles };\n","function getVarName(variable) {\n var matches = variable.match(/^var\\((.*)\\)$/);\n if (matches) {\n return matches[1];\n }\n return variable;\n}\n\nfunction get(obj, path) {\n var result = obj;\n for (var key of path) {\n if (!(key in result)) {\n throw new Error(\"Path \".concat(path.join(' -> '), \" does not exist in object\"));\n }\n result = result[key];\n }\n return result;\n}\n\nfunction walkObject(obj, fn) {\n var path = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n var clone = {};\n for (var key in obj) {\n var _value = obj[key];\n var currentPath = [...path, key];\n if (typeof _value === 'string' || typeof _value === 'number' || _value == null) {\n clone[key] = fn(_value, currentPath);\n } else if (typeof _value === 'object' && !Array.isArray(_value)) {\n clone[key] = walkObject(_value, fn, currentPath);\n } else {\n console.warn(\"Skipping invalid key \\\"\".concat(currentPath.join('.'), \"\\\". Should be a string, number, null or object. Received: \\\"\").concat(Array.isArray(_value) ? 'Array' : typeof _value, \"\\\"\"));\n }\n }\n return clone;\n}\n\nexport { get, getVarName, walkObject };\n","/*! https://mths.be/cssesc v3.0.0 by @mathias */\n'use strict';\n\nvar object = {};\nvar hasOwnProperty = object.hasOwnProperty;\nvar merge = function merge(options, defaults) {\n\tif (!options) {\n\t\treturn defaults;\n\t}\n\tvar result = {};\n\tfor (var key in defaults) {\n\t\t// `if (defaults.hasOwnProperty(key) { … }` is not needed here, since\n\t\t// only recognized option names are used.\n\t\tresult[key] = hasOwnProperty.call(options, key) ? options[key] : defaults[key];\n\t}\n\treturn result;\n};\n\nvar regexAnySingleEscape = /[ -,\\.\\/:-@\\[-\\^`\\{-~]/;\nvar regexSingleEscape = /[ -,\\.\\/:-@\\[\\]\\^`\\{-~]/;\nvar regexAlwaysEscape = /['\"\\\\]/;\nvar regexExcessiveSpaces = /(^|\\\\+)?(\\\\[A-F0-9]{1,6})\\x20(?![a-fA-F0-9\\x20])/g;\n\n// https://mathiasbynens.be/notes/css-escapes#css\nvar cssesc = function cssesc(string, options) {\n\toptions = merge(options, cssesc.options);\n\tif (options.quotes != 'single' && options.quotes != 'double') {\n\t\toptions.quotes = 'single';\n\t}\n\tvar quote = options.quotes == 'double' ? '\"' : '\\'';\n\tvar isIdentifier = options.isIdentifier;\n\n\tvar firstChar = string.charAt(0);\n\tvar output = '';\n\tvar counter = 0;\n\tvar length = string.length;\n\twhile (counter < length) {\n\t\tvar character = string.charAt(counter++);\n\t\tvar codePoint = character.charCodeAt();\n\t\tvar value = void 0;\n\t\t// If it’s not a printable ASCII character…\n\t\tif (codePoint < 0x20 || codePoint > 0x7E) {\n\t\t\tif (codePoint >= 0xD800 && codePoint <= 0xDBFF && counter < length) {\n\t\t\t\t// It’s a high surrogate, and there is a next character.\n\t\t\t\tvar extra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) {\n\t\t\t\t\t// next character is low surrogate\n\t\t\t\t\tcodePoint = ((codePoint & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000;\n\t\t\t\t} else {\n\t\t\t\t\t// It’s an unmatched surrogate; only append this code unit, in case\n\t\t\t\t\t// the next code unit is the high surrogate of a surrogate pair.\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t}\n\t\t\tvalue = '\\\\' + codePoint.toString(16).toUpperCase() + ' ';\n\t\t} else {\n\t\t\tif (options.escapeEverything) {\n\t\t\t\tif (regexAnySingleEscape.test(character)) {\n\t\t\t\t\tvalue = '\\\\' + character;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = '\\\\' + codePoint.toString(16).toUpperCase() + ' ';\n\t\t\t\t}\n\t\t\t} else if (/[\\t\\n\\f\\r\\x0B]/.test(character)) {\n\t\t\t\tvalue = '\\\\' + codePoint.toString(16).toUpperCase() + ' ';\n\t\t\t} else if (character == '\\\\' || !isIdentifier && (character == '\"' && quote == character || character == '\\'' && quote == character) || isIdentifier && regexSingleEscape.test(character)) {\n\t\t\t\tvalue = '\\\\' + character;\n\t\t\t} else {\n\t\t\t\tvalue = character;\n\t\t\t}\n\t\t}\n\t\toutput += value;\n\t}\n\n\tif (isIdentifier) {\n\t\tif (/^-[-\\d]/.test(output)) {\n\t\t\toutput = '\\\\-' + output.slice(1);\n\t\t} else if (/\\d/.test(firstChar)) {\n\t\t\toutput = '\\\\3' + firstChar + ' ' + output.slice(1);\n\t\t}\n\t}\n\n\t// Remove spaces after `\\HEX` escapes that are not followed by a hex digit,\n\t// since they’re redundant. Note that this is only possible if the escape\n\t// sequence isn’t preceded by an odd number of backslashes.\n\toutput = output.replace(regexExcessiveSpaces, function ($0, $1, $2) {\n\t\tif ($1 && $1.length % 2) {\n\t\t\t// It’s not safe to remove the space, so don’t.\n\t\t\treturn $0;\n\t\t}\n\t\t// Strip the space.\n\t\treturn ($1 || '') + $2;\n\t});\n\n\tif (!isIdentifier && options.wrap) {\n\t\treturn quote + output + quote;\n\t}\n\treturn output;\n};\n\n// Expose default options (so they can be overridden globally).\ncssesc.options = {\n\t'escapeEverything': false,\n\t'isIdentifier': false,\n\t'quotes': 'single',\n\t'wrap': false\n};\n\ncssesc.version = '3.0.0';\n\nmodule.exports = cssesc;\n","class AhoCorasick {\n constructor(keywords) {\n const { failure, gotoFn, output } = this._buildTables(keywords);\n this.gotoFn = gotoFn;\n this.output = output;\n this.failure = failure;\n }\n _buildTables(keywords) {\n const gotoFn = {\n 0: {}\n };\n const output = {};\n let state = 0;\n for (const word of keywords) {\n let curr = 0;\n for (const l of word) {\n if (gotoFn[curr] && l in gotoFn[curr]) {\n curr = gotoFn[curr][l];\n }\n else {\n state++;\n gotoFn[curr][l] = state;\n gotoFn[state] = {};\n curr = state;\n output[state] = [];\n }\n }\n output[curr].push(word);\n }\n const failure = {};\n const xs = [];\n // f(s) = 0 for all states of depth 1 (the ones from which the 0 state can transition to)\n for (const l in gotoFn[0]) {\n const state = gotoFn[0][l];\n failure[state] = 0;\n xs.push(state);\n }\n while (xs.length > 0) {\n const r = xs.shift();\n if (r !== undefined) {\n for (const l in gotoFn[r]) {\n const s = gotoFn[r][l];\n xs.push(s);\n // set state = f(r)\n let state = failure[r];\n while (state > 0 && !(l in gotoFn[state])) {\n state = failure[state];\n }\n if (l in gotoFn[state]) {\n const fs = gotoFn[state][l];\n failure[s] = fs;\n output[s] = [...output[s], ...output[fs]];\n }\n else {\n failure[s] = 0;\n }\n }\n }\n // for each symbol a such that g(r, a) = s\n }\n return {\n gotoFn,\n output,\n failure\n };\n }\n search(str) {\n let state = 0;\n const results = [];\n // eslint-disable-next-line unicorn/no-for-loop\n for (let i = 0; i < str.length; i++) {\n const l = str[i];\n while (state > 0 && !(l in this.gotoFn[state])) {\n state = this.failure[state];\n }\n // 使用 object ,表情符号出现问题\n if (!(l in this.gotoFn[state])) {\n continue;\n }\n state = this.gotoFn[state][l];\n if (this.output[state].length > 0) {\n const foundStrs = this.output[state];\n results.push([i, foundStrs]);\n }\n }\n return results;\n }\n}\n\nexport { AhoCorasick as default };\n","var mockAdapter = {\n appendCss: () => {},\n registerClassName: () => {},\n onEndFileScope: () => {},\n registerComposition: () => {},\n markCompositionUsed: () => {},\n getIdentOption: () => process.env.NODE_ENV === 'production' ? 'short' : 'debug'\n};\nvar adapterStack = [mockAdapter];\nvar currentAdapter = () => {\n if (adapterStack.length < 1) {\n throw new Error('No adapter configured');\n }\n return adapterStack[adapterStack.length - 1];\n};\nvar hasConfiguredAdapter = false;\nvar setAdapterIfNotSet = newAdapter => {\n if (!hasConfiguredAdapter) {\n setAdapter(newAdapter);\n }\n};\nvar setAdapter = newAdapter => {\n if (!newAdapter) {\n throw new Error('No adapter provided when calling \"setAdapter\"');\n }\n hasConfiguredAdapter = true;\n adapterStack.push(newAdapter);\n};\nvar removeAdapter = () => {\n adapterStack.pop();\n};\nvar appendCss = function appendCss() {\n return currentAdapter().appendCss(...arguments);\n};\nvar registerClassName = function registerClassName() {\n return currentAdapter().registerClassName(...arguments);\n};\nvar registerComposition = function registerComposition() {\n return currentAdapter().registerComposition(...arguments);\n};\nvar markCompositionUsed = function markCompositionUsed() {\n return currentAdapter().markCompositionUsed(...arguments);\n};\nvar onBeginFileScope = function onBeginFileScope() {\n var _currentAdapter$onBeg, _currentAdapter;\n for (var _len = arguments.length, props = new Array(_len), _key = 0; _key < _len; _key++) {\n props[_key] = arguments[_key];\n }\n return (_currentAdapter$onBeg = (_currentAdapter = currentAdapter()).onBeginFileScope) === null || _currentAdapter$onBeg === void 0 ? void 0 : _currentAdapter$onBeg.call(_currentAdapter, ...props);\n};\nvar onEndFileScope = function onEndFileScope() {\n return currentAdapter().onEndFileScope(...arguments);\n};\nvar getIdentOption = function getIdentOption() {\n var adapter = currentAdapter();\n\n // Backwards compatibility with old versions of the integration package\n if (!('getIdentOption' in adapter)) {\n return process.env.NODE_ENV === 'production' ? 'short' : 'debug';\n }\n return adapter.getIdentOption(...arguments);\n};\n\nexport { appendCss, getIdentOption, markCompositionUsed, mockAdapter, onBeginFileScope, onEndFileScope, registerClassName, registerComposition, removeAdapter, setAdapter, setAdapterIfNotSet };\n","function _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n}\n\nexport { _taggedTemplateLiteral as _ };\n","export var SelectorType;\n(function (SelectorType) {\n SelectorType[\"Attribute\"] = \"attribute\";\n SelectorType[\"Pseudo\"] = \"pseudo\";\n SelectorType[\"PseudoElement\"] = \"pseudo-element\";\n SelectorType[\"Tag\"] = \"tag\";\n SelectorType[\"Universal\"] = \"universal\";\n // Traversals\n SelectorType[\"Adjacent\"] = \"adjacent\";\n SelectorType[\"Child\"] = \"child\";\n SelectorType[\"Descendant\"] = \"descendant\";\n SelectorType[\"Parent\"] = \"parent\";\n SelectorType[\"Sibling\"] = \"sibling\";\n SelectorType[\"ColumnCombinator\"] = \"column-combinator\";\n})(SelectorType || (SelectorType = {}));\n/**\n * Modes for ignore case.\n *\n * This could be updated to an enum, and the object is\n * the current stand-in that will allow code to be updated\n * without big changes.\n */\nexport const IgnoreCaseMode = {\n Unknown: null,\n QuirksMode: \"quirks\",\n IgnoreCase: true,\n CaseSensitive: false,\n};\nexport var AttributeAction;\n(function (AttributeAction) {\n AttributeAction[\"Any\"] = \"any\";\n AttributeAction[\"Element\"] = \"element\";\n AttributeAction[\"End\"] = \"end\";\n AttributeAction[\"Equals\"] = \"equals\";\n AttributeAction[\"Exists\"] = \"exists\";\n AttributeAction[\"Hyphen\"] = \"hyphen\";\n AttributeAction[\"Not\"] = \"not\";\n AttributeAction[\"Start\"] = \"start\";\n})(AttributeAction || (AttributeAction = {}));\n","import { SelectorType, AttributeAction, } from \"./types\";\nconst reName = /^[^\\\\#]?(?:\\\\(?:[\\da-f]{1,6}\\s?|.)|[\\w\\-\\u00b0-\\uFFFF])+/;\nconst reEscape = /\\\\([\\da-f]{1,6}\\s?|(\\s)|.)/gi;\nconst actionTypes = new Map([\n [126 /* Tilde */, AttributeAction.Element],\n [94 /* Circumflex */, AttributeAction.Start],\n [36 /* Dollar */, AttributeAction.End],\n [42 /* Asterisk */, AttributeAction.Any],\n [33 /* ExclamationMark */, AttributeAction.Not],\n [124 /* Pipe */, AttributeAction.Hyphen],\n]);\n// Pseudos, whose data property is parsed as well.\nconst unpackPseudos = new Set([\n \"has\",\n \"not\",\n \"matches\",\n \"is\",\n \"where\",\n \"host\",\n \"host-context\",\n]);\n/**\n * Checks whether a specific selector is a traversal.\n * This is useful eg. in swapping the order of elements that\n * are not traversals.\n *\n * @param selector Selector to check.\n */\nexport function isTraversal(selector) {\n switch (selector.type) {\n case SelectorType.Adjacent:\n case SelectorType.Child:\n case SelectorType.Descendant:\n case SelectorType.Parent:\n case SelectorType.Sibling:\n case SelectorType.ColumnCombinator:\n return true;\n default:\n return false;\n }\n}\nconst stripQuotesFromPseudos = new Set([\"contains\", \"icontains\"]);\n// Unescape function taken from https://github.com/jquery/sizzle/blob/master/src/sizzle.js#L152\nfunction funescape(_, escaped, escapedWhitespace) {\n const high = parseInt(escaped, 16) - 0x10000;\n // NaN means non-codepoint\n return high !== high || escapedWhitespace\n ? escaped\n : high < 0\n ? // BMP codepoint\n String.fromCharCode(high + 0x10000)\n : // Supplemental Plane codepoint (surrogate pair)\n String.fromCharCode((high >> 10) | 0xd800, (high & 0x3ff) | 0xdc00);\n}\nfunction unescapeCSS(str) {\n return str.replace(reEscape, funescape);\n}\nfunction isQuote(c) {\n return c === 39 /* SingleQuote */ || c === 34 /* DoubleQuote */;\n}\nfunction isWhitespace(c) {\n return (c === 32 /* Space */ ||\n c === 9 /* Tab */ ||\n c === 10 /* NewLine */ ||\n c === 12 /* FormFeed */ ||\n c === 13 /* CarriageReturn */);\n}\n/**\n * Parses `selector`, optionally with the passed `options`.\n *\n * @param selector Selector to parse.\n * @param options Options for parsing.\n * @returns Returns a two-dimensional array.\n * The first dimension represents selectors separated by commas (eg. `sub1, sub2`),\n * the second contains the relevant tokens for that selector.\n */\nexport function parse(selector) {\n const subselects = [];\n const endIndex = parseSelector(subselects, `${selector}`, 0);\n if (endIndex < selector.length) {\n throw new Error(`Unmatched selector: ${selector.slice(endIndex)}`);\n }\n return subselects;\n}\nfunction parseSelector(subselects, selector, selectorIndex) {\n let tokens = [];\n function getName(offset) {\n const match = selector.slice(selectorIndex + offset).match(reName);\n if (!match) {\n throw new Error(`Expected name, found ${selector.slice(selectorIndex)}`);\n }\n const [name] = match;\n selectorIndex += offset + name.length;\n return unescapeCSS(name);\n }\n function stripWhitespace(offset) {\n selectorIndex += offset;\n while (selectorIndex < selector.length &&\n isWhitespace(selector.charCodeAt(selectorIndex))) {\n selectorIndex++;\n }\n }\n function readValueWithParenthesis() {\n selectorIndex += 1;\n const start = selectorIndex;\n let counter = 1;\n for (; counter > 0 && selectorIndex < selector.length; selectorIndex++) {\n if (selector.charCodeAt(selectorIndex) ===\n 40 /* LeftParenthesis */ &&\n !isEscaped(selectorIndex)) {\n counter++;\n }\n else if (selector.charCodeAt(selectorIndex) ===\n 41 /* RightParenthesis */ &&\n !isEscaped(selectorIndex)) {\n counter--;\n }\n }\n if (counter) {\n throw new Error(\"Parenthesis not matched\");\n }\n return unescapeCSS(selector.slice(start, selectorIndex - 1));\n }\n function isEscaped(pos) {\n let slashCount = 0;\n while (selector.charCodeAt(--pos) === 92 /* BackSlash */)\n slashCount++;\n return (slashCount & 1) === 1;\n }\n function ensureNotTraversal() {\n if (tokens.length > 0 && isTraversal(tokens[tokens.length - 1])) {\n throw new Error(\"Did not expect successive traversals.\");\n }\n }\n function addTraversal(type) {\n if (tokens.length > 0 &&\n tokens[tokens.length - 1].type === SelectorType.Descendant) {\n tokens[tokens.length - 1].type = type;\n return;\n }\n ensureNotTraversal();\n tokens.push({ type });\n }\n function addSpecialAttribute(name, action) {\n tokens.push({\n type: SelectorType.Attribute,\n name,\n action,\n value: getName(1),\n namespace: null,\n ignoreCase: \"quirks\",\n });\n }\n /**\n * We have finished parsing the current part of the selector.\n *\n * Remove descendant tokens at the end if they exist,\n * and return the last index, so that parsing can be\n * picked up from here.\n */\n function finalizeSubselector() {\n if (tokens.length &&\n tokens[tokens.length - 1].type === SelectorType.Descendant) {\n tokens.pop();\n }\n if (tokens.length === 0) {\n throw new Error(\"Empty sub-selector\");\n }\n subselects.push(tokens);\n }\n stripWhitespace(0);\n if (selector.length === selectorIndex) {\n return selectorIndex;\n }\n loop: while (selectorIndex < selector.length) {\n const firstChar = selector.charCodeAt(selectorIndex);\n switch (firstChar) {\n // Whitespace\n case 32 /* Space */:\n case 9 /* Tab */:\n case 10 /* NewLine */:\n case 12 /* FormFeed */:\n case 13 /* CarriageReturn */: {\n if (tokens.length === 0 ||\n tokens[0].type !== SelectorType.Descendant) {\n ensureNotTraversal();\n tokens.push({ type: SelectorType.Descendant });\n }\n stripWhitespace(1);\n break;\n }\n // Traversals\n case 62 /* GreaterThan */: {\n addTraversal(SelectorType.Child);\n stripWhitespace(1);\n break;\n }\n case 60 /* LessThan */: {\n addTraversal(SelectorType.Parent);\n stripWhitespace(1);\n break;\n }\n case 126 /* Tilde */: {\n addTraversal(SelectorType.Sibling);\n stripWhitespace(1);\n break;\n }\n case 43 /* Plus */: {\n addTraversal(SelectorType.Adjacent);\n stripWhitespace(1);\n break;\n }\n // Special attribute selectors: .class, #id\n case 46 /* Period */: {\n addSpecialAttribute(\"class\", AttributeAction.Element);\n break;\n }\n case 35 /* Hash */: {\n addSpecialAttribute(\"id\", AttributeAction.Equals);\n break;\n }\n case 91 /* LeftSquareBracket */: {\n stripWhitespace(1);\n // Determine attribute name and namespace\n let name;\n let namespace = null;\n if (selector.charCodeAt(selectorIndex) === 124 /* Pipe */) {\n // Equivalent to no namespace\n name = getName(1);\n }\n else if (selector.startsWith(\"*|\", selectorIndex)) {\n namespace = \"*\";\n name = getName(2);\n }\n else {\n name = getName(0);\n if (selector.charCodeAt(selectorIndex) === 124 /* Pipe */ &&\n selector.charCodeAt(selectorIndex + 1) !==\n 61 /* Equal */) {\n namespace = name;\n name = getName(1);\n }\n }\n stripWhitespace(0);\n // Determine comparison operation\n let action = AttributeAction.Exists;\n const possibleAction = actionTypes.get(selector.charCodeAt(selectorIndex));\n if (possibleAction) {\n action = possibleAction;\n if (selector.charCodeAt(selectorIndex + 1) !==\n 61 /* Equal */) {\n throw new Error(\"Expected `=`\");\n }\n stripWhitespace(2);\n }\n else if (selector.charCodeAt(selectorIndex) === 61 /* Equal */) {\n action = AttributeAction.Equals;\n stripWhitespace(1);\n }\n // Determine value\n let value = \"\";\n let ignoreCase = null;\n if (action !== \"exists\") {\n if (isQuote(selector.charCodeAt(selectorIndex))) {\n const quote = selector.charCodeAt(selectorIndex);\n let sectionEnd = selectorIndex + 1;\n while (sectionEnd < selector.length &&\n (selector.charCodeAt(sectionEnd) !== quote ||\n isEscaped(sectionEnd))) {\n sectionEnd += 1;\n }\n if (selector.charCodeAt(sectionEnd) !== quote) {\n throw new Error(\"Attribute value didn't end\");\n }\n value = unescapeCSS(selector.slice(selectorIndex + 1, sectionEnd));\n selectorIndex = sectionEnd + 1;\n }\n else {\n const valueStart = selectorIndex;\n while (selectorIndex < selector.length &&\n ((!isWhitespace(selector.charCodeAt(selectorIndex)) &&\n selector.charCodeAt(selectorIndex) !==\n 93 /* RightSquareBracket */) ||\n isEscaped(selectorIndex))) {\n selectorIndex += 1;\n }\n value = unescapeCSS(selector.slice(valueStart, selectorIndex));\n }\n stripWhitespace(0);\n // See if we have a force ignore flag\n const forceIgnore = selector.charCodeAt(selectorIndex) | 0x20;\n // If the forceIgnore flag is set (either `i` or `s`), use that value\n if (forceIgnore === 115 /* LowerS */) {\n ignoreCase = false;\n stripWhitespace(1);\n }\n else if (forceIgnore === 105 /* LowerI */) {\n ignoreCase = true;\n stripWhitespace(1);\n }\n }\n if (selector.charCodeAt(selectorIndex) !==\n 93 /* RightSquareBracket */) {\n throw new Error(\"Attribute selector didn't terminate\");\n }\n selectorIndex += 1;\n const attributeSelector = {\n type: SelectorType.Attribute,\n name,\n action,\n value,\n namespace,\n ignoreCase,\n };\n tokens.push(attributeSelector);\n break;\n }\n case 58 /* Colon */: {\n if (selector.charCodeAt(selectorIndex + 1) === 58 /* Colon */) {\n tokens.push({\n type: SelectorType.PseudoElement,\n name: getName(2).toLowerCase(),\n data: selector.charCodeAt(selectorIndex) ===\n 40 /* LeftParenthesis */\n ? readValueWithParenthesis()\n : null,\n });\n continue;\n }\n const name = getName(1).toLowerCase();\n let data = null;\n if (selector.charCodeAt(selectorIndex) ===\n 40 /* LeftParenthesis */) {\n if (unpackPseudos.has(name)) {\n if (isQuote(selector.charCodeAt(selectorIndex + 1))) {\n throw new Error(`Pseudo-selector ${name} cannot be quoted`);\n }\n data = [];\n selectorIndex = parseSelector(data, selector, selectorIndex + 1);\n if (selector.charCodeAt(selectorIndex) !==\n 41 /* RightParenthesis */) {\n throw new Error(`Missing closing parenthesis in :${name} (${selector})`);\n }\n selectorIndex += 1;\n }\n else {\n data = readValueWithParenthesis();\n if (stripQuotesFromPseudos.has(name)) {\n const quot = data.charCodeAt(0);\n if (quot === data.charCodeAt(data.length - 1) &&\n isQuote(quot)) {\n data = data.slice(1, -1);\n }\n }\n data = unescapeCSS(data);\n }\n }\n tokens.push({ type: SelectorType.Pseudo, name, data });\n break;\n }\n case 44 /* Comma */: {\n finalizeSubselector();\n tokens = [];\n stripWhitespace(1);\n break;\n }\n default: {\n if (selector.startsWith(\"/*\", selectorIndex)) {\n const endIndex = selector.indexOf(\"*/\", selectorIndex + 2);\n if (endIndex < 0) {\n throw new Error(\"Comment was not terminated\");\n }\n selectorIndex = endIndex + 2;\n // Remove leading whitespace\n if (tokens.length === 0) {\n stripWhitespace(0);\n }\n break;\n }\n let namespace = null;\n let name;\n if (firstChar === 42 /* Asterisk */) {\n selectorIndex += 1;\n name = \"*\";\n }\n else if (firstChar === 124 /* Pipe */) {\n name = \"\";\n if (selector.charCodeAt(selectorIndex + 1) === 124 /* Pipe */) {\n addTraversal(SelectorType.ColumnCombinator);\n stripWhitespace(2);\n break;\n }\n }\n else if (reName.test(selector.slice(selectorIndex))) {\n name = getName(0);\n }\n else {\n break loop;\n }\n if (selector.charCodeAt(selectorIndex) === 124 /* Pipe */ &&\n selector.charCodeAt(selectorIndex + 1) !== 124 /* Pipe */) {\n namespace = name;\n if (selector.charCodeAt(selectorIndex + 1) ===\n 42 /* Asterisk */) {\n name = \"*\";\n selectorIndex += 2;\n }\n else {\n name = getName(1);\n }\n }\n tokens.push(name === \"*\"\n ? { type: SelectorType.Universal, namespace }\n : { type: SelectorType.Tag, name, namespace });\n }\n }\n }\n finalizeSubselector();\n return selectorIndex;\n}\n","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nconst dedent = createDedent({});\nexport default dedent;\nfunction createDedent(options) {\n dedent.withOptions = newOptions => createDedent(_objectSpread(_objectSpread({}, options), newOptions));\n return dedent;\n function dedent(strings, ...values) {\n const raw = typeof strings === \"string\" ? [strings] : strings.raw;\n const {\n escapeSpecialCharacters = Array.isArray(strings)\n } = options;\n\n // first, perform interpolation\n let result = \"\";\n for (let i = 0; i < raw.length; i++) {\n let next = raw[i];\n if (escapeSpecialCharacters) {\n // handle escaped newlines, backticks, and interpolation characters\n next = next.replace(/\\\\\\n[ \\t]*/g, \"\").replace(/\\\\`/g, \"`\").replace(/\\\\\\$/g, \"$\").replace(/\\\\\\{/g, \"{\");\n }\n result += next;\n if (i < values.length) {\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\n result += values[i];\n }\n }\n\n // now strip indentation\n const lines = result.split(\"\\n\");\n let mindent = null;\n for (const l of lines) {\n const m = l.match(/^(\\s+)\\S+/);\n if (m) {\n const indent = m[1].length;\n if (!mindent) {\n // this is the first indented line\n mindent = indent;\n } else {\n mindent = Math.min(mindent, indent);\n }\n }\n }\n if (mindent !== null) {\n const m = mindent; // appease TypeScript\n result = lines\n // https://github.com/typescript-eslint/typescript-eslint/issues/7140\n // eslint-disable-next-line @typescript-eslint/prefer-string-starts-ends-with\n .map(l => l[0] === \" \" || l[0] === \"\\t\" ? l.slice(m) : l).join(\"\\n\");\n }\n\n // dedent eats leading and trailing whitespace too\n result = result.trim();\n if (escapeSpecialCharacters) {\n // handle escaped newlines at the end to ensure they don't get stripped too\n result = result.replace(/\\\\n/g, \"\\n\");\n }\n return result;\n }\n}\n","/*! @license MediaQueryParser - MIT License - Tom Golden (github@tbjgolden.com) */\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nfunction __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nfunction __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\n\nvar weirdNewlines = /(\\u000D|\\u000C|\\u000D\\u000A)/g;\nvar nullOrSurrogates = /[\\u0000\\uD800-\\uDFFF]/g;\nvar commentRegex = /(\\/\\*)[\\s\\S]*?(\\*\\/)/g;\nvar lexicalAnalysis = function lexicalAnalysis(str, index) {\n if (index === void 0) {\n index = 0;\n }\n\n str = str.replace(weirdNewlines, '\\n').replace(nullOrSurrogates, \"\\uFFFD\");\n str = str.replace(commentRegex, '');\n var tokens = [];\n\n for (; index < str.length; index += 1) {\n var code = str.charCodeAt(index);\n\n if (code === 0x0009 || code === 0x0020 || code === 0x000a) {\n var code_1 = str.charCodeAt(++index);\n\n while (code_1 === 0x0009 || code_1 === 0x0020 || code_1 === 0x000a) {\n code_1 = str.charCodeAt(++index);\n }\n\n index -= 1;\n tokens.push({\n type: '<whitespace-token>'\n });\n } else if (code === 0x0022) {\n var result = consumeString(str, index);\n\n if (result === null) {\n return null;\n }\n\n var _a = __read(result, 2),\n lastIndex = _a[0],\n value = _a[1];\n\n tokens.push({\n type: '<string-token>',\n value: value\n });\n index = lastIndex;\n } else if (code === 0x0023) {\n if (index + 1 < str.length) {\n var nextCode = str.charCodeAt(index + 1);\n\n if (nextCode === 0x005f || nextCode >= 0x0041 && nextCode <= 0x005a || nextCode >= 0x0061 && nextCode <= 0x007a || nextCode >= 0x0080 || nextCode >= 0x0030 && nextCode <= 0x0039 || nextCode === 0x005c && index + 2 < str.length && str.charCodeAt(index + 2) !== 0x000a) {\n var flag = wouldStartIdentifier(str, index + 1) ? 'id' : 'unrestricted';\n var result = consumeIdentUnsafe(str, index + 1);\n\n if (result !== null) {\n var _b = __read(result, 2),\n lastIndex = _b[0],\n value = _b[1];\n\n tokens.push({\n type: '<hash-token>',\n value: value.toLowerCase(),\n flag: flag\n });\n index = lastIndex;\n continue;\n }\n }\n }\n\n tokens.push({\n type: '<delim-token>',\n value: code\n });\n } else if (code === 0x0027) {\n var result = consumeString(str, index);\n\n if (result === null) {\n return null;\n }\n\n var _c = __read(result, 2),\n lastIndex = _c[0],\n value = _c[1];\n\n tokens.push({\n type: '<string-token>',\n value: value\n });\n index = lastIndex;\n } else if (code === 0x0028) {\n tokens.push({\n type: '<(-token>'\n });\n } else if (code === 0x0029) {\n tokens.push({\n type: '<)-token>'\n });\n } else if (code === 0x002b) {\n var plusNumeric = consumeNumeric(str, index);\n\n if (plusNumeric === null) {\n tokens.push({\n type: '<delim-token>',\n value: code\n });\n } else {\n var _d = __read(plusNumeric, 2),\n lastIndex = _d[0],\n tokenTuple = _d[1];\n\n if (tokenTuple[0] === '<dimension-token>') {\n tokens.push({\n type: '<dimension-token>',\n value: tokenTuple[1],\n unit: tokenTuple[2].toLowerCase(),\n flag: 'number'\n });\n } else if (tokenTuple[0] === '<number-token>') {\n tokens.push({\n type: tokenTuple[0],\n value: tokenTuple[1],\n flag: tokenTuple[2]\n });\n } else {\n tokens.push({\n type: tokenTuple[0],\n value: tokenTuple[1],\n flag: 'number'\n });\n }\n\n index = lastIndex;\n }\n } else if (code === 0x002c) {\n tokens.push({\n type: '<comma-token>'\n });\n } else if (code === 0x002d) {\n var minusNumeric = consumeNumeric(str, index);\n\n if (minusNumeric !== null) {\n var _e = __read(minusNumeric, 2),\n lastIndex = _e[0],\n tokenTuple = _e[1];\n\n if (tokenTuple[0] === '<dimension-token>') {\n tokens.push({\n type: '<dimension-token>',\n value: tokenTuple[1],\n unit: tokenTuple[2].toLowerCase(),\n flag: 'number'\n });\n } else if (tokenTuple[0] === '<number-token>') {\n tokens.push({\n type: tokenTuple[0],\n value: tokenTuple[1],\n flag: tokenTuple[2]\n });\n } else {\n tokens.push({\n type: tokenTuple[0],\n value: tokenTuple[1],\n flag: 'number'\n });\n }\n\n index = lastIndex;\n continue;\n }\n\n if (index + 2 < str.length) {\n var nextCode = str.charCodeAt(index + 1);\n var nextNextCode = str.charCodeAt(index + 2);\n\n if (nextCode === 0x002d && nextNextCode === 0x003e) {\n tokens.push({\n type: '<CDC-token>'\n });\n index += 2;\n continue;\n }\n }\n\n var result = consumeIdentLike(str, index);\n\n if (result !== null) {\n var _f = __read(result, 3),\n lastIndex = _f[0],\n value = _f[1],\n type = _f[2];\n\n tokens.push({\n type: type,\n value: value\n });\n index = lastIndex;\n continue;\n }\n\n tokens.push({\n type: '<delim-token>',\n value: code\n });\n } else if (code === 0x002e) {\n var minusNumeric = consumeNumeric(str, index);\n\n if (minusNumeric === null) {\n tokens.push({\n type: '<delim-token>',\n value: code\n });\n } else {\n var _g = __read(minusNumeric, 2),\n lastIndex = _g[0],\n tokenTuple = _g[1];\n\n if (tokenTuple[0] === '<dimension-token>') {\n tokens.push({\n type: '<dimension-token>',\n value: tokenTuple[1],\n unit: tokenTuple[2].toLowerCase(),\n flag: 'number'\n });\n } else if (tokenTuple[0] === '<number-token>') {\n tokens.push({\n type: tokenTuple[0],\n value: tokenTuple[1],\n flag: tokenTuple[2]\n });\n } else {\n tokens.push({\n type: tokenTuple[0],\n value: tokenTuple[1],\n flag: 'number'\n });\n }\n\n index = lastIndex;\n continue;\n }\n } else if (code === 0x003a) {\n tokens.push({\n type: '<colon-token>'\n });\n } else if (code === 0x003b) {\n tokens.push({\n type: '<semicolon-token>'\n });\n } else if (code === 0x003c) {\n if (index + 3 < str.length) {\n var nextCode = str.charCodeAt(index + 1);\n var nextNextCode = str.charCodeAt(index + 2);\n var nextNextNextCode = str.charCodeAt(index + 3);\n\n if (nextCode === 0x0021 && nextNextCode === 0x002d && nextNextNextCode === 0x002d) {\n tokens.push({\n type: '<CDO-token>'\n });\n index += 3;\n continue;\n }\n }\n\n tokens.push({\n type: '<delim-token>',\n value: code\n });\n } else if (code === 0x0040) {\n var result = consumeIdent(str, index + 1);\n\n if (result !== null) {\n var _h = __read(result, 2),\n lastIndex = _h[0],\n value = _h[1];\n\n tokens.push({\n type: '<at-keyword-token>',\n value: value.toLowerCase()\n });\n index = lastIndex;\n continue;\n }\n\n tokens.push({\n type: '<delim-token>',\n value: code\n });\n } else if (code === 0x005b) {\n tokens.push({\n type: '<[-token>'\n });\n } else if (code === 0x005c) {\n var result = consumeEscape(str, index);\n\n if (result === null) {\n return null;\n }\n\n var _j = __read(result, 2),\n lastIndex = _j[0],\n value = _j[1];\n\n str = str.slice(0, index) + value + str.slice(lastIndex + 1);\n index -= 1;\n } else if (code === 0x005d) {\n tokens.push({\n type: '<]-token>'\n });\n } else if (code === 0x007b) {\n tokens.push({\n type: '<{-token>'\n });\n } else if (code === 0x007d) {\n tokens.push({\n type: '<}-token>'\n });\n } else if (code >= 0x0030 && code <= 0x0039) {\n var result = consumeNumeric(str, index);\n\n var _k = __read(result, 2),\n lastIndex = _k[0],\n tokenTuple = _k[1];\n\n if (tokenTuple[0] === '<dimension-token>') {\n tokens.push({\n type: '<dimension-token>',\n value: tokenTuple[1],\n unit: tokenTuple[2].toLowerCase(),\n flag: 'number'\n });\n } else if (tokenTuple[0] === '<number-token>') {\n tokens.push({\n type: tokenTuple[0],\n value: tokenTuple[1],\n flag: tokenTuple[2]\n });\n } else {\n tokens.push({\n type: tokenTuple[0],\n value: tokenTuple[1],\n flag: 'number'\n });\n }\n\n index = lastIndex;\n } else if (code === 0x005f || code >= 0x0041 && code <= 0x005a || code >= 0x0061 && code <= 0x007a || code >= 0x0080) {\n var result = consumeIdentLike(str, index);\n\n if (result === null) {\n return null;\n }\n\n var _l = __read(result, 3),\n lastIndex = _l[0],\n value = _l[1],\n type = _l[2];\n\n tokens.push({\n type: type,\n value: value\n });\n index = lastIndex;\n } else {\n tokens.push({\n type: '<delim-token>',\n value: code\n });\n }\n }\n\n tokens.push({\n type: '<EOF-token>'\n });\n return tokens;\n};\nvar consumeString = function consumeString(str, index) {\n if (str.length <= index + 1) return null;\n var firstCode = str.charCodeAt(index);\n var charCodes = [];\n\n for (var i = index + 1; i < str.length; i += 1) {\n var code = str.charCodeAt(i);\n\n if (code === firstCode) {\n return [i, String.fromCharCode.apply(null, charCodes)];\n } else if (code === 0x005c) {\n var result = consumeEscape(str, i);\n if (result === null) return null;\n\n var _a = __read(result, 2),\n lastIndex = _a[0],\n charCode = _a[1];\n\n charCodes.push(charCode);\n i = lastIndex;\n } else if (code === 0x000a) {\n return null;\n } else {\n charCodes.push(code);\n }\n }\n\n return null;\n};\nvar wouldStartIdentifier = function wouldStartIdentifier(str, index) {\n if (str.length <= index) return false;\n var code = str.charCodeAt(index);\n\n if (code === 0x002d) {\n if (str.length <= index + 1) return false;\n var nextCode = str.charCodeAt(index + 1);\n\n if (nextCode === 0x002d || nextCode === 0x005f || nextCode >= 0x0041 && nextCode <= 0x005a || nextCode >= 0x0061 && nextCode <= 0x007a || nextCode >= 0x0080) {\n return true;\n } else if (nextCode === 0x005c) {\n if (str.length <= index + 2) return false;\n var nextNextCode = str.charCodeAt(index + 2);\n return nextNextCode !== 0x000a;\n } else {\n return false;\n }\n } else if (code === 0x005f || code >= 0x0041 && code <= 0x005a || code >= 0x0061 && code <= 0x007a || code >= 0x0080) {\n return true;\n } else if (code === 0x005c) {\n if (str.length <= index + 1) return false;\n var nextCode = str.charCodeAt(index + 1);\n return nextCode !== 0x000a;\n } else {\n return false;\n }\n};\nvar consumeEscape = function consumeEscape(str, index) {\n if (str.length <= index + 1) return null;\n if (str.charCodeAt(index) !== 0x005c) return null;\n var code = str.charCodeAt(index + 1);\n\n if (code === 0x000a) {\n return null;\n } else if (code >= 0x0030 && code <= 0x0039 || code >= 0x0041 && code <= 0x0046 || code >= 0x0061 && code <= 0x0066) {\n var hexCharCodes = [code];\n var min = Math.min(index + 7, str.length);\n var i = index + 2;\n\n for (; i < min; i += 1) {\n var code_2 = str.charCodeAt(i);\n\n if (code_2 >= 0x0030 && code_2 <= 0x0039 || code_2 >= 0x0041 && code_2 <= 0x0046 || code_2 >= 0x0061 && code_2 <= 0x0066) {\n hexCharCodes.push(code_2);\n } else {\n break;\n }\n }\n\n if (i < str.length) {\n var code_3 = str.charCodeAt(i);\n\n if (code_3 === 0x0009 || code_3 === 0x0020 || code_3 === 0x000a) {\n i += 1;\n }\n }\n\n return [i - 1, parseInt(String.fromCharCode.apply(null, hexCharCodes), 16)];\n } else {\n return [index + 1, code];\n }\n};\nvar consumeNumeric = function consumeNumeric(str, index) {\n var numberResult = consumeNumber(str, index);\n if (numberResult === null) return null;\n\n var _a = __read(numberResult, 3),\n numberEndIndex = _a[0],\n numberValue = _a[1],\n numberFlag = _a[2];\n\n var identResult = consumeIdent(str, numberEndIndex + 1);\n\n if (identResult !== null) {\n var _b = __read(identResult, 2),\n identEndIndex = _b[0],\n identValue = _b[1];\n\n return [identEndIndex, ['<dimension-token>', numberValue, identValue]];\n }\n\n if (numberEndIndex + 1 < str.length && str.charCodeAt(numberEndIndex + 1) === 0x0025) {\n return [numberEndIndex + 1, ['<percentage-token>', numberValue]];\n }\n\n return [numberEndIndex, ['<number-token>', numberValue, numberFlag]];\n};\nvar consumeNumber = function consumeNumber(str, index) {\n if (str.length <= index) return null;\n var flag = 'integer';\n var numberChars = [];\n var firstCode = str.charCodeAt(index);\n\n if (firstCode === 0x002b || firstCode === 0x002d) {\n index += 1;\n if (firstCode === 0x002d) numberChars.push(0x002d);\n }\n\n while (index < str.length) {\n var code = str.charCodeAt(index);\n\n if (code >= 0x0030 && code <= 0x0039) {\n numberChars.push(code);\n index += 1;\n } else {\n break;\n }\n }\n\n if (index + 1 < str.length) {\n var nextCode = str.charCodeAt(index);\n var nextNextCode = str.charCodeAt(index + 1);\n\n if (nextCode === 0x002e && nextNextCode >= 0x0030 && nextNextCode <= 0x0039) {\n numberChars.push(nextCode, nextNextCode);\n flag = 'number';\n index += 2;\n\n while (index < str.length) {\n var code = str.charCodeAt(index);\n\n if (code >= 0x0030 && code <= 0x0039) {\n numberChars.push(code);\n index += 1;\n } else {\n break;\n }\n }\n }\n }\n\n if (index + 1 < str.length) {\n var nextCode = str.charCodeAt(index);\n var nextNextCode = str.charCodeAt(index + 1);\n var nextNextNextCode = str.charCodeAt(index + 2);\n\n if (nextCode === 0x0045 || nextCode === 0x0065) {\n var nextNextIsDigit = nextNextCode >= 0x0030 && nextNextCode <= 0x0039;\n\n if (nextNextIsDigit || (nextNextCode === 0x002b || nextNextCode === 0x002d) && nextNextNextCode >= 0x0030 && nextNextNextCode <= 0x0039) {\n flag = 'number';\n\n if (nextNextIsDigit) {\n numberChars.push(0x0045, nextNextCode);\n index += 2;\n } else if (nextNextCode === 0x002d) {\n numberChars.push(0x0045, 0x002d, nextNextNextCode);\n index += 3;\n } else {\n numberChars.push(0x0045, nextNextNextCode);\n index += 3;\n }\n\n while (index < str.length) {\n var code = str.charCodeAt(index);\n\n if (code >= 0x0030 && code <= 0x0039) {\n numberChars.push(code);\n index += 1;\n } else {\n break;\n }\n }\n }\n }\n }\n\n var numberString = String.fromCharCode.apply(null, numberChars);\n var value = flag === 'number' ? parseFloat(numberString) : parseInt(numberString);\n if (value === -0) value = 0;\n return Number.isNaN(value) ? null : [index - 1, value, flag];\n};\nvar consumeIdentUnsafe = function consumeIdentUnsafe(str, index) {\n if (str.length <= index) {\n return null;\n }\n\n var identChars = [];\n\n for (var code = str.charCodeAt(index); index < str.length; code = str.charCodeAt(++index)) {\n if (code === 0x002d || code === 0x005f || code >= 0x0041 && code <= 0x005a || code >= 0x0061 && code <= 0x007a || code >= 0x0080 || code >= 0x0030 && code <= 0x0039) {\n identChars.push(code);\n continue;\n } else {\n var result = consumeEscape(str, index);\n\n if (result !== null) {\n var _a = __read(result, 2),\n lastIndex = _a[0],\n code_4 = _a[1];\n\n identChars.push(code_4);\n index = lastIndex;\n continue;\n }\n }\n\n break;\n }\n\n return index === 0 ? null : [index - 1, String.fromCharCode.apply(null, identChars)];\n};\nvar consumeIdent = function consumeIdent(str, index) {\n if (str.length <= index || !wouldStartIdentifier(str, index)) {\n return null;\n }\n\n var identChars = [];\n\n for (var code = str.charCodeAt(index); index < str.length; code = str.charCodeAt(++index)) {\n if (code === 0x002d || code === 0x005f || code >= 0x0041 && code <= 0x005a || code >= 0x0061 && code <= 0x007a || code >= 0x0080 || code >= 0x0030 && code <= 0x0039) {\n identChars.push(code);\n continue;\n } else {\n var result = consumeEscape(str, index);\n\n if (result !== null) {\n var _a = __read(result, 2),\n lastIndex = _a[0],\n code_5 = _a[1];\n\n identChars.push(code_5);\n index = lastIndex;\n continue;\n }\n }\n\n break;\n }\n\n return [index - 1, String.fromCharCode.apply(null, identChars)];\n};\nvar consumeUrl = function consumeUrl(str, index) {\n var code = str.charCodeAt(index);\n\n while (code === 0x0009 || code === 0x0020 || code === 0x000a) {\n code = str.charCodeAt(++index);\n }\n\n var urlChars = [];\n var hasFinishedWord = false;\n\n while (index < str.length) {\n if (code === 0x0029) {\n return [index, String.fromCharCode.apply(null, urlChars)];\n } else if (code === 0x0022 || code === 0x0027 || code === 0x0028) {\n return null;\n } else if (code === 0x0009 || code === 0x0020 || code === 0x000a) {\n if (!hasFinishedWord && urlChars.length !== 0) hasFinishedWord = true;\n } else if (code === 0x005c) {\n var result = consumeEscape(str, index);\n if (result === null || hasFinishedWord) return null;\n\n var _a = __read(result, 2),\n lastIndex = _a[0],\n value = _a[1];\n\n urlChars.push(value);\n index = lastIndex;\n } else {\n if (hasFinishedWord) return null;\n urlChars.push(code);\n }\n\n code = str.charCodeAt(++index);\n }\n\n return null;\n};\nvar consumeIdentLike = function consumeIdentLike(str, index) {\n var result = consumeIdent(str, index);\n if (result === null) return null;\n\n var _a = __read(result, 2),\n lastIndex = _a[0],\n value = _a[1];\n\n if (value.toLowerCase() === 'url') {\n if (str.length > lastIndex + 1) {\n var nextCode = str.charCodeAt(lastIndex + 1);\n\n if (nextCode === 0x0028) {\n for (var offset = 2; lastIndex + offset < str.length; offset += 1) {\n var nextNextCode = str.charCodeAt(lastIndex + offset);\n\n if (nextNextCode === 0x0022 || nextNextCode === 0x0027) {\n return [lastIndex + 1, value.toLowerCase(), '<function-token>'];\n } else if (nextNextCode !== 0x0009 && nextNextCode !== 0x0020 && nextNextCode !== 0x000a) {\n var result_1 = consumeUrl(str, lastIndex + offset);\n if (result_1 === null) return null;\n\n var _b = __read(result_1, 2),\n lastUrlIndex = _b[0],\n value_1 = _b[1];\n\n return [lastUrlIndex, value_1, '<url-token>'];\n }\n }\n\n return [lastIndex + 1, value.toLowerCase(), '<function-token>'];\n }\n }\n } else if (str.length > lastIndex + 1) {\n var nextCode = str.charCodeAt(lastIndex + 1);\n\n if (nextCode === 0x0028) {\n return [lastIndex + 1, value.toLowerCase(), '<function-token>'];\n }\n }\n\n return [lastIndex, value.toLowerCase(), '<ident-token>'];\n};\n\nvar simplifyAST = function simplifyAST(ast) {\n for (var i = ast.length - 1; i >= 0; i--) {\n ast[i] = simplifyMediaQuery(ast[i]);\n }\n\n return ast;\n};\n\nvar simplifyMediaQuery = function simplifyMediaQuery(mediaQuery) {\n if (mediaQuery.mediaCondition === null) return mediaQuery;\n var mediaCondition = simplifyMediaCondition(mediaQuery.mediaCondition);\n\n if (mediaCondition.operator === null && mediaCondition.children.length === 1 && 'children' in mediaCondition.children[0]) {\n mediaCondition = mediaCondition.children[0];\n }\n\n return {\n mediaPrefix: mediaQuery.mediaPrefix,\n mediaType: mediaQuery.mediaType,\n mediaCondition: mediaCondition\n };\n};\n\nvar simplifyMediaCondition = function simplifyMediaCondition(mediaCondition) {\n for (var i = mediaCondition.children.length - 1; i >= 0; i--) {\n var unsimplifiedChild = mediaCondition.children[i];\n\n if (!('context' in unsimplifiedChild)) {\n var child = simplifyMediaCondition(unsimplifiedChild);\n\n if (child.operator === null && child.children.length === 1) {\n mediaCondition.children[i] = child.children[0];\n } else if (child.operator === mediaCondition.operator && (child.operator === 'and' || child.operator === 'or')) {\n var spliceArgs = [i, 1];\n\n for (var i_1 = 0; i_1 < child.children.length; i_1++) {\n spliceArgs.push(child.children[i_1]);\n }\n\n mediaCondition.children.splice.apply(mediaCondition.children, spliceArgs);\n }\n }\n }\n\n return mediaCondition;\n};\n\nvar createError = function createError(message, err) {\n if (err instanceof Error) {\n return new Error(\"\".concat(err.message.trim(), \"\\n\").concat(message.trim()));\n } else {\n return new Error(message.trim());\n }\n};\n\nvar toAST = function toAST(str) {\n return simplifyAST(toUnflattenedAST(str));\n};\nvar toUnflattenedAST = function toUnflattenedAST(str) {\n var tokenList = lexicalAnalysis(str.trim());\n\n if (tokenList === null) {\n throw createError('Failed tokenizing');\n }\n\n var startIndex = 0;\n var endIndex = tokenList.length - 1;\n\n if (tokenList[0].type === '<at-keyword-token>' && tokenList[0].value === 'media') {\n if (tokenList[1].type !== '<whitespace-token>') {\n throw createError('Expected whitespace after media');\n }\n\n startIndex = 2;\n\n for (var i = 2; i < tokenList.length - 1; i++) {\n var token = tokenList[i];\n\n if (token.type === '<{-token>') {\n endIndex = i;\n break;\n } else if (token.type === '<semicolon-token>') {\n throw createError(\"Expected '{' in media query but found ';'\");\n }\n }\n }\n\n tokenList = tokenList.slice(startIndex, endIndex);\n return syntacticAnalysis(tokenList);\n};\nvar removeWhitespace = function removeWhitespace(tokenList) {\n var newTokenList = [];\n var before = false;\n\n for (var i = 0; i < tokenList.length; i++) {\n if (tokenList[i].type === '<whitespace-token>') {\n before = true;\n\n if (newTokenList.length > 0) {\n newTokenList[newTokenList.length - 1].wsAfter = true;\n }\n } else {\n newTokenList.push(__assign(__assign({}, tokenList[i]), {\n wsBefore: before,\n wsAfter: false\n }));\n before = false;\n }\n }\n\n return newTokenList;\n};\nvar syntacticAnalysis = function syntacticAnalysis(tokenList) {\n var e_1, _a;\n\n var mediaQueryList = [[]];\n\n for (var i = 0; i < tokenList.length; i++) {\n var token = tokenList[i];\n\n if (token.type === '<comma-token>') {\n mediaQueryList.push([]);\n } else {\n mediaQueryList[mediaQueryList.length - 1].push(token);\n }\n }\n\n var mediaQueries = mediaQueryList.map(removeWhitespace);\n\n if (mediaQueries.length === 1 && mediaQueries[0].length === 0) {\n return [{\n mediaCondition: null,\n mediaPrefix: null,\n mediaType: 'all'\n }];\n } else {\n var mediaQueryTokens = mediaQueries.map(function (mediaQueryTokens) {\n if (mediaQueryTokens.length === 0) {\n return null;\n } else {\n return tokenizeMediaQuery(mediaQueryTokens);\n }\n });\n var nonNullMediaQueryTokens = [];\n\n try {\n for (var mediaQueryTokens_1 = __values(mediaQueryTokens), mediaQueryTokens_1_1 = mediaQueryTokens_1.next(); !mediaQueryTokens_1_1.done; mediaQueryTokens_1_1 = mediaQueryTokens_1.next()) {\n var mediaQueryToken = mediaQueryTokens_1_1.value;\n\n if (mediaQueryToken !== null) {\n nonNullMediaQueryTokens.push(mediaQueryToken);\n }\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (mediaQueryTokens_1_1 && !mediaQueryTokens_1_1.done && (_a = mediaQueryTokens_1[\"return\"])) _a.call(mediaQueryTokens_1);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n\n if (nonNullMediaQueryTokens.length === 0) {\n throw createError('No valid media queries');\n }\n\n return nonNullMediaQueryTokens;\n }\n};\nvar tokenizeMediaQuery = function tokenizeMediaQuery(tokens) {\n var firstToken = tokens[0];\n\n if (firstToken.type === '<(-token>') {\n try {\n return {\n mediaPrefix: null,\n mediaType: 'all',\n mediaCondition: tokenizeMediaCondition(tokens, true)\n };\n } catch (err) {\n throw createError(\"Expected media condition after '('\", err);\n }\n } else if (firstToken.type === '<ident-token>') {\n var mediaPrefix = null;\n var mediaType = void 0;\n var value = firstToken.value;\n\n if (value === 'only' || value === 'not') {\n mediaPrefix = value;\n }\n\n var firstIndex = mediaPrefix === null ? 0 : 1;\n\n if (tokens.length <= firstIndex) {\n throw createError(\"Expected extra token in media query\");\n }\n\n var firstNonUnaryToken = tokens[firstIndex];\n\n if (firstNonUnaryToken.type === '<ident-token>') {\n var value_1 = firstNonUnaryToken.value;\n\n if (value_1 === 'all') {\n mediaType = 'all';\n } else if (value_1 === 'print' || value_1 === 'screen') {\n mediaType = value_1;\n } else if (value_1 === 'tty' || value_1 === 'tv' || value_1 === 'projection' || value_1 === 'handheld' || value_1 === 'braille' || value_1 === 'embossed' || value_1 === 'aural' || value_1 === 'speech') {\n mediaPrefix = mediaPrefix === 'not' ? null : 'not';\n mediaType = 'all';\n } else {\n throw createError(\"Unknown ident '\".concat(value_1, \"' in media query\"));\n }\n } else if (mediaPrefix === 'not' && firstNonUnaryToken.type === '<(-token>') {\n var tokensWithParens = [{\n type: '<(-token>',\n wsBefore: false,\n wsAfter: false\n }];\n tokensWithParens.push.apply(tokensWithParens, tokens);\n tokensWithParens.push({\n type: '<)-token>',\n wsBefore: false,\n wsAfter: false\n });\n\n try {\n return {\n mediaPrefix: null,\n mediaType: 'all',\n mediaCondition: tokenizeMediaCondition(tokensWithParens, true)\n };\n } catch (err) {\n throw createError(\"Expected media condition after '('\", err);\n }\n } else {\n throw createError('Invalid media query');\n }\n\n if (firstIndex + 1 === tokens.length) {\n return {\n mediaPrefix: mediaPrefix,\n mediaType: mediaType,\n mediaCondition: null\n };\n } else if (firstIndex + 4 < tokens.length) {\n var secondNonUnaryToken = tokens[firstIndex + 1];\n\n if (secondNonUnaryToken.type === '<ident-token>' && secondNonUnaryToken.value === 'and') {\n try {\n return {\n mediaPrefix: mediaPrefix,\n mediaType: mediaType,\n mediaCondition: tokenizeMediaCondition(tokens.slice(firstIndex + 2), false)\n };\n } catch (err) {\n throw createError(\"Expected media condition after 'and'\", err);\n }\n } else {\n throw createError(\"Expected 'and' after media prefix\");\n }\n } else {\n throw createError('Expected media condition after media prefix');\n }\n } else {\n throw createError('Expected media condition or media prefix');\n }\n};\nvar tokenizeMediaCondition = function tokenizeMediaCondition(tokens, mayContainOr, previousOperator) {\n if (previousOperator === void 0) {\n previousOperator = null;\n }\n\n if (tokens.length < 3 || tokens[0].type !== '<(-token>' || tokens[tokens.length - 1].type !== '<)-token>') {\n throw new Error('Invalid media condition');\n }\n\n var endIndexOfFirstFeature = tokens.length - 1;\n var maxDepth = 0;\n var count = 0;\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (token.type === '<(-token>') {\n count += 1;\n maxDepth = Math.max(maxDepth, count);\n } else if (token.type === '<)-token>') {\n count -= 1;\n }\n\n if (count === 0) {\n endIndexOfFirstFeature = i;\n break;\n }\n }\n\n if (count !== 0) {\n throw new Error('Mismatched parens\\nInvalid media condition');\n }\n\n var child;\n var featureTokens = tokens.slice(0, endIndexOfFirstFeature + 1);\n\n if (maxDepth === 1) {\n child = tokenizeMediaFeature(featureTokens);\n } else {\n if (featureTokens[1].type === '<ident-token>' && featureTokens[1].value === 'not') {\n child = tokenizeMediaCondition(featureTokens.slice(2, -1), true, 'not');\n } else {\n child = tokenizeMediaCondition(featureTokens.slice(1, -1), true);\n }\n }\n\n if (endIndexOfFirstFeature === tokens.length - 1) {\n return {\n operator: previousOperator,\n children: [child]\n };\n } else {\n var nextToken = tokens[endIndexOfFirstFeature + 1];\n\n if (nextToken.type !== '<ident-token>') {\n throw new Error('Invalid operator\\nInvalid media condition');\n } else if (previousOperator !== null && previousOperator !== nextToken.value) {\n throw new Error(\"'\".concat(nextToken.value, \"' and '\").concat(previousOperator, \"' must not be at same level\\nInvalid media condition\"));\n } else if (nextToken.value === 'or' && !mayContainOr) {\n throw new Error(\"Cannot use 'or' at top level of a media query\\nInvalid media condition\");\n } else if (nextToken.value !== 'and' && nextToken.value !== 'or') {\n throw new Error(\"Invalid operator: '\".concat(nextToken.value, \"'\\nInvalid media condition\"));\n }\n\n var siblings = tokenizeMediaCondition(tokens.slice(endIndexOfFirstFeature + 2), mayContainOr, nextToken.value);\n return {\n operator: nextToken.value,\n children: [child].concat(siblings.children)\n };\n }\n};\nvar tokenizeMediaFeature = function tokenizeMediaFeature(rawTokens) {\n if (rawTokens.length < 3 || rawTokens[0].type !== '<(-token>' || rawTokens[rawTokens.length - 1].type !== '<)-token>') {\n throw new Error('Invalid media feature');\n }\n\n var tokens = [rawTokens[0]];\n\n for (var i = 1; i < rawTokens.length; i++) {\n if (i < rawTokens.length - 2) {\n var a = rawTokens[i];\n var b = rawTokens[i + 1];\n var c = rawTokens[i + 2];\n\n if (a.type === '<number-token>' && a.value > 0 && b.type === '<delim-token>' && b.value === 0x002f && c.type === '<number-token>' && c.value > 0) {\n tokens.push({\n type: '<ratio-token>',\n numerator: a.value,\n denominator: c.value,\n wsBefore: a.wsBefore,\n wsAfter: c.wsAfter\n });\n i += 2;\n continue;\n }\n }\n\n tokens.push(rawTokens[i]);\n }\n\n var nextToken = tokens[1];\n\n if (nextToken.type === '<ident-token>' && tokens.length === 3) {\n return {\n context: 'boolean',\n feature: nextToken.value\n };\n } else if (tokens.length === 5 && tokens[1].type === '<ident-token>' && tokens[2].type === '<colon-token>') {\n var valueToken = tokens[3];\n\n if (valueToken.type === '<number-token>' || valueToken.type === '<dimension-token>' || valueToken.type === '<ratio-token>' || valueToken.type === '<ident-token>') {\n var feature = tokens[1].value;\n var prefix = null;\n var slice = feature.slice(0, 4);\n\n if (slice === 'min-') {\n prefix = 'min';\n feature = feature.slice(4);\n } else if (slice === 'max-') {\n prefix = 'max';\n feature = feature.slice(4);\n }\n\n valueToken.wsBefore;\n valueToken.wsAfter;\n var value = __rest(valueToken, [\"wsBefore\", \"wsAfter\"]);\n\n return {\n context: 'value',\n prefix: prefix,\n feature: feature,\n value: value\n };\n }\n } else if (tokens.length >= 5) {\n try {\n var range = tokenizeRange(tokens);\n return {\n context: 'range',\n feature: range.featureName,\n range: range\n };\n } catch (err) {\n throw createError('Invalid media feature', err);\n }\n }\n\n throw new Error('Invalid media feature');\n};\nvar tokenizeRange = function tokenizeRange(tokens) {\n var _a, _b, _c, _d;\n\n if (tokens.length < 5 || tokens[0].type !== '<(-token>' || tokens[tokens.length - 1].type !== '<)-token>') {\n throw new Error('Invalid range');\n }\n\n var range = {\n leftToken: null,\n leftOp: null,\n featureName: '',\n rightOp: null,\n rightToken: null\n };\n var hasLeft = tokens[1].type === '<number-token>' || tokens[1].type === '<dimension-token>' || tokens[1].type === '<ratio-token>' || tokens[1].type === '<ident-token>' && tokens[1].value === 'infinite';\n\n if (tokens[2].type === '<delim-token>') {\n if (tokens[2].value === 0x003c) {\n if (tokens[3].type === '<delim-token>' && tokens[3].value === 0x003d && !tokens[3].wsBefore) {\n range[hasLeft ? 'leftOp' : 'rightOp'] = '<=';\n } else {\n range[hasLeft ? 'leftOp' : 'rightOp'] = '<';\n }\n } else if (tokens[2].value === 0x003e) {\n if (tokens[3].type === '<delim-token>' && tokens[3].value === 0x003d && !tokens[3].wsBefore) {\n range[hasLeft ? 'leftOp' : 'rightOp'] = '>=';\n } else {\n range[hasLeft ? 'leftOp' : 'rightOp'] = '>';\n }\n } else if (tokens[2].value === 0x003d) {\n range[hasLeft ? 'leftOp' : 'rightOp'] = '=';\n } else {\n throw new Error('Invalid range');\n }\n\n if (hasLeft) {\n range.leftToken = tokens[1];\n } else if (tokens[1].type === '<ident-token>') {\n range.featureName = tokens[1].value;\n } else {\n throw new Error('Invalid range');\n }\n\n var tokenIndexAfterFirstOp = 2 + ((_b = (_a = range[hasLeft ? 'leftOp' : 'rightOp']) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0);\n var tokenAfterFirstOp = tokens[tokenIndexAfterFirstOp];\n\n if (hasLeft) {\n if (tokenAfterFirstOp.type === '<ident-token>') {\n range.featureName = tokenAfterFirstOp.value;\n\n if (tokens.length >= 7) {\n var secondOpToken = tokens[tokenIndexAfterFirstOp + 1];\n var followingToken = tokens[tokenIndexAfterFirstOp + 2];\n\n if (secondOpToken.type === '<delim-token>') {\n var charCode = secondOpToken.value;\n\n if (charCode === 0x003c) {\n if (followingToken.type === '<delim-token>' && followingToken.value === 0x003d && !followingToken.wsBefore) {\n range.rightOp = '<=';\n } else {\n range.rightOp = '<';\n }\n } else if (charCode === 0x003e) {\n if (followingToken.type === '<delim-token>' && followingToken.value === 0x003d && !followingToken.wsBefore) {\n range.rightOp = '>=';\n } else {\n range.rightOp = '>';\n }\n } else {\n throw new Error('Invalid range');\n }\n\n var tokenAfterSecondOp = tokens[tokenIndexAfterFirstOp + 1 + ((_d = (_c = range.rightOp) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0)];\n range.rightToken = tokenAfterSecondOp;\n } else {\n throw new Error('Invalid range');\n }\n } else if (tokenIndexAfterFirstOp + 2 !== tokens.length) {\n throw new Error('Invalid range');\n }\n } else {\n throw new Error('Invalid range');\n }\n } else {\n range.rightToken = tokenAfterFirstOp;\n }\n\n var validRange = null;\n var lt = range.leftToken,\n leftOp = range.leftOp,\n featureName = range.featureName,\n rightOp = range.rightOp,\n rt = range.rightToken;\n var leftToken = null;\n\n if (lt !== null) {\n if (lt.type === '<ident-token>') {\n var type = lt.type,\n value = lt.value;\n\n if (value === 'infinite') {\n leftToken = {\n type: type,\n value: value\n };\n }\n } else if (lt.type === '<number-token>' || lt.type === '<dimension-token>' || lt.type === '<ratio-token>') {\n lt.wsBefore;\n lt.wsAfter;\n var ltNoWS = __rest(lt, [\"wsBefore\", \"wsAfter\"]);\n\n leftToken = ltNoWS;\n }\n }\n\n var rightToken = null;\n\n if (rt !== null) {\n if (rt.type === '<ident-token>') {\n var type = rt.type,\n value = rt.value;\n\n if (value === 'infinite') {\n rightToken = {\n type: type,\n value: value\n };\n }\n } else if (rt.type === '<number-token>' || rt.type === '<dimension-token>' || rt.type === '<ratio-token>') {\n rt.wsBefore;\n rt.wsAfter;\n var rtNoWS = __rest(rt, [\"wsBefore\", \"wsAfter\"]);\n\n rightToken = rtNoWS;\n }\n }\n\n if (leftToken !== null && rightToken !== null) {\n if ((leftOp === '<' || leftOp === '<=') && (rightOp === '<' || rightOp === '<=')) {\n validRange = {\n leftToken: leftToken,\n leftOp: leftOp,\n featureName: featureName,\n rightOp: rightOp,\n rightToken: rightToken\n };\n } else if ((leftOp === '>' || leftOp === '>=') && (rightOp === '>' || rightOp === '>=')) {\n validRange = {\n leftToken: leftToken,\n leftOp: leftOp,\n featureName: featureName,\n rightOp: rightOp,\n rightToken: rightToken\n };\n } else {\n throw new Error('Invalid range');\n }\n } else if (leftToken === null && leftOp === null && rightOp !== null && rightToken !== null) {\n validRange = {\n leftToken: leftToken,\n leftOp: leftOp,\n featureName: featureName,\n rightOp: rightOp,\n rightToken: rightToken\n };\n } else if (leftToken !== null && leftOp !== null && rightOp === null && rightToken === null) {\n validRange = {\n leftToken: leftToken,\n leftOp: leftOp,\n featureName: featureName,\n rightOp: rightOp,\n rightToken: rightToken\n };\n }\n\n return validRange;\n } else {\n throw new Error('Invalid range');\n }\n};\n\nexport { consumeEscape, consumeIdent, consumeIdentLike, consumeIdentUnsafe, consumeNumber, consumeNumeric, consumeString, consumeUrl, lexicalAnalysis, removeWhitespace, syntacticAnalysis, toAST, toUnflattenedAST, tokenizeMediaCondition, tokenizeMediaFeature, tokenizeMediaQuery, tokenizeRange, wouldStartIdentifier };\n//# sourceMappingURL=media-query-parser.esm.js.map\n","import { getVarName } from '@vanilla-extract/private';\nimport cssesc from 'cssesc';\nimport AhoCorasick from 'modern-ahocorasick';\nimport { markCompositionUsed } from '../adapter/dist/vanilla-extract-css-adapter.browser.esm.js';\nimport { _ as _taggedTemplateLiteral } from './taggedTemplateLiteral-8e47dbd7.browser.esm.js';\nimport { parse } from 'css-what';\nimport dedent from 'dedent';\nimport { toAST } from 'media-query-parser';\n\nfunction toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\n\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : String(i);\n}\n\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\n\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\n\nfunction forEach(obj, fn) {\n for (var _key in obj) {\n fn(obj[_key], _key);\n }\n}\nfunction omit(obj, omitKeys) {\n var result = {};\n for (var _key2 in obj) {\n if (omitKeys.indexOf(_key2) === -1) {\n result[_key2] = obj[_key2];\n }\n }\n return result;\n}\nfunction mapKeys(obj, fn) {\n var result = {};\n for (var _key3 in obj) {\n result[fn(obj[_key3], _key3)] = obj[_key3];\n }\n return result;\n}\nfunction composeStylesIntoSet(set) {\n for (var _len = arguments.length, classNames = new Array(_len > 1 ? _len - 1 : 0), _key5 = 1; _key5 < _len; _key5++) {\n classNames[_key5 - 1] = arguments[_key5];\n }\n for (var className of classNames) {\n if (className.length === 0) {\n continue;\n }\n if (typeof className === 'string') {\n if (className.includes(' ')) {\n composeStylesIntoSet(set, ...className.trim().split(' '));\n } else {\n set.add(className);\n }\n } else if (Array.isArray(className)) {\n composeStylesIntoSet(set, ...className);\n }\n }\n}\nfunction dudupeAndJoinClassList(classNames) {\n var set = new Set();\n composeStylesIntoSet(set, ...classNames);\n return Array.from(set).join(' ');\n}\n\nvar _templateObject$1;\n\n// https://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\nfunction escapeRegex(string) {\n return string.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n}\nvar validateSelector = (selector, targetClassName) => {\n var replaceTarget = () => {\n var targetRegex = new RegExp(\".\".concat(escapeRegex(cssesc(targetClassName, {\n isIdentifier: true\n }))), 'g');\n return selector.replace(targetRegex, '&');\n };\n var selectorParts;\n try {\n selectorParts = parse(selector);\n } catch (err) {\n throw new Error(\"Invalid selector: \".concat(replaceTarget()));\n }\n selectorParts.forEach(tokens => {\n try {\n for (var i = tokens.length - 1; i >= -1; i--) {\n if (!tokens[i]) {\n throw new Error();\n }\n var token = tokens[i];\n if (token.type === 'child' || token.type === 'parent' || token.type === 'sibling' || token.type === 'adjacent' || token.type === 'descendant') {\n throw new Error();\n }\n if (token.type === 'attribute' && token.name === 'class' && token.value === targetClassName) {\n return; // Found it\n }\n }\n } catch (err) {\n throw new Error(dedent(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral([\"\\n Invalid selector: \", \"\\n \\n Style selectors must target the '&' character (along with any modifiers), e.g. \", \" or \", \".\\n \\n This is to ensure that each style block only affects the styling of a single class.\\n \\n If your selector is targeting another class, you should move it to the style definition for that class, e.g. given we have styles for 'parent' and 'child' elements, instead of adding a selector of \", \") to 'parent', you should add \", \" to 'child').\\n \\n If your selector is targeting something global, use the 'globalStyle' function instead, e.g. if you wanted to write \", \", you should instead write 'globalStyle(\", \", { ... })'\\n \"])), replaceTarget(), '`${parent} &`', '`${parent} &:hover`', '`& ${child}`', '`${parent} &`', '`& h1`', '`${parent} h1`'));\n }\n });\n};\n\n/** e.g. @media screen and (min-width: 500px) */\n\nclass ConditionalRuleset {\n /**\n * Stores information about where conditions must be in relation to other conditions\n *\n * e.g. mobile -> tablet, desktop\n */\n\n constructor() {\n this.ruleset = new Map();\n this.precedenceLookup = new Map();\n }\n findOrCreateCondition(conditionQuery) {\n var targetCondition = this.ruleset.get(conditionQuery);\n if (!targetCondition) {\n // No target condition so create one\n targetCondition = {\n query: conditionQuery,\n rules: [],\n children: new ConditionalRuleset()\n };\n this.ruleset.set(conditionQuery, targetCondition);\n }\n return targetCondition;\n }\n getConditionalRulesetByPath(conditionPath) {\n var currRuleset = this;\n for (var query of conditionPath) {\n var condition = currRuleset.findOrCreateCondition(query);\n currRuleset = condition.children;\n }\n return currRuleset;\n }\n addRule(rule, conditionQuery, conditionPath) {\n var ruleset = this.getConditionalRulesetByPath(conditionPath);\n var targetCondition = ruleset.findOrCreateCondition(conditionQuery);\n if (!targetCondition) {\n throw new Error('Failed to add conditional rule');\n }\n targetCondition.rules.push(rule);\n }\n addConditionPrecedence(conditionPath, conditionOrder) {\n var ruleset = this.getConditionalRulesetByPath(conditionPath);\n for (var i = 0; i < conditionOrder.length; i++) {\n var _ruleset$precedenceLo;\n var query = conditionOrder[i];\n var conditionPrecedence = (_ruleset$precedenceLo = ruleset.precedenceLookup.get(query)) !== null && _ruleset$precedenceLo !== void 0 ? _ruleset$precedenceLo : new Set();\n for (var lowerPrecedenceCondition of conditionOrder.slice(i + 1)) {\n conditionPrecedence.add(lowerPrecedenceCondition);\n }\n ruleset.precedenceLookup.set(query, conditionPrecedence);\n }\n }\n isCompatible(incomingRuleset) {\n for (var [condition, orderPrecedence] of this.precedenceLookup.entries()) {\n for (var lowerPrecedenceCondition of orderPrecedence) {\n var _incomingRuleset$prec;\n if ((_incomingRuleset$prec = incomingRuleset.precedenceLookup.get(lowerPrecedenceCondition)) !== null && _incomingRuleset$prec !== void 0 && _incomingRuleset$prec.has(condition)) {\n return false;\n }\n }\n }\n\n // Check that children are compatible\n for (var {\n query,\n children\n } of incomingRuleset.ruleset.values()) {\n var matchingCondition = this.ruleset.get(query);\n if (matchingCondition && !matchingCondition.children.isCompatible(children)) {\n return false;\n }\n }\n return true;\n }\n merge(incomingRuleset) {\n // Merge rulesets into one array\n for (var {\n query,\n rules,\n children\n } of incomingRuleset.ruleset.values()) {\n var matchingCondition = this.ruleset.get(query);\n if (matchingCondition) {\n matchingCondition.rules.push(...rules);\n matchingCondition.children.merge(children);\n } else {\n this.ruleset.set(query, {\n query,\n rules,\n children\n });\n }\n }\n\n // Merge order precedences\n for (var [condition, incomingOrderPrecedence] of incomingRuleset.precedenceLookup.entries()) {\n var _this$precedenceLooku;\n var orderPrecedence = (_this$precedenceLooku = this.precedenceLookup.get(condition)) !== null && _this$precedenceLooku !== void 0 ? _this$precedenceLooku : new Set();\n this.precedenceLookup.set(condition, new Set([...orderPrecedence, ...incomingOrderPrecedence]));\n }\n }\n\n /**\n * Merge another ConditionalRuleset into this one if they are compatible\n *\n * @returns true if successful, false if the ruleset is incompatible\n */\n mergeIfCompatible(incomingRuleset) {\n if (!this.isCompatible(incomingRuleset)) {\n return false;\n }\n this.merge(incomingRuleset);\n return true;\n }\n getSortedRuleset() {\n var _this = this;\n var sortedRuleset = [];\n\n // Loop through all queries and add them to the sorted ruleset\n var _loop = function _loop(dependents) {\n var conditionForQuery = _this.ruleset.get(query);\n if (!conditionForQuery) {\n throw new Error(\"Can't find condition for \".concat(query));\n }\n\n // Find the location of the first dependent condition in the sortedRuleset\n // A dependent condition is a condition that must be placed *after* the current one\n var firstMatchingDependent = sortedRuleset.findIndex(condition => dependents.has(condition.query));\n if (firstMatchingDependent > -1) {\n // Insert the condition before the dependent one\n sortedRuleset.splice(firstMatchingDependent, 0, conditionForQuery);\n } else {\n // No match, just insert at the end\n sortedRuleset.push(conditionForQuery);\n }\n };\n for (var [query, dependents] of this.precedenceLookup.entries()) {\n _loop(dependents);\n }\n return sortedRuleset;\n }\n renderToArray() {\n var arr = [];\n for (var {\n query,\n rules,\n children\n } of this.getSortedRuleset()) {\n var selectors = {};\n for (var rule of rules) {\n selectors[rule.selector] = _objectSpread2(_objectSpread2({}, selectors[rule.selector]), rule.rule);\n }\n Object.assign(selectors, ...children.renderToArray());\n arr.push({\n [query]: selectors\n });\n }\n return arr;\n }\n}\n\nvar simplePseudoMap = {\n ':-moz-any-link': true,\n ':-moz-full-screen': true,\n ':-moz-placeholder': true,\n ':-moz-read-only': true,\n ':-moz-read-write': true,\n ':-ms-fullscreen': true,\n ':-ms-input-placeholder': true,\n ':-webkit-any-link': true,\n ':-webkit-full-screen': true,\n '::-moz-color-swatch': true,\n '::-moz-list-bullet': true,\n '::-moz-list-number': true,\n '::-moz-page-sequence': true,\n '::-moz-page': true,\n '::-moz-placeholder': true,\n '::-moz-progress-bar': true,\n '::-moz-range-progress': true,\n '::-moz-range-thumb': true,\n '::-moz-range-track': true,\n '::-moz-scrolled-page-sequence': true,\n '::-moz-selection': true,\n '::-ms-backdrop': true,\n '::-ms-browse': true,\n '::-ms-check': true,\n '::-ms-clear': true,\n '::-ms-fill-lower': true,\n '::-ms-fill-upper': true,\n '::-ms-fill': true,\n '::-ms-reveal': true,\n '::-ms-thumb': true,\n '::-ms-ticks-after': true,\n '::-ms-ticks-before': true,\n '::-ms-tooltip': true,\n '::-ms-track': true,\n '::-ms-value': true,\n '::-webkit-backdrop': true,\n '::-webkit-inner-spin-button': true,\n '::-webkit-input-placeholder': true,\n '::-webkit-meter-bar': true,\n '::-webkit-meter-even-less-good-value': true,\n '::-webkit-meter-inner-element': true,\n '::-webkit-meter-optimum-value': true,\n '::-webkit-meter-suboptimum-value': true,\n '::-webkit-outer-spin-button': true,\n '::-webkit-progress-bar': true,\n '::-webkit-progress-inner-element': true,\n '::-webkit-progress-inner-value': true,\n '::-webkit-progress-value': true,\n '::-webkit-resizer': true,\n '::-webkit-scrollbar-button': true,\n '::-webkit-scrollbar-corner': true,\n '::-webkit-scrollbar-thumb': true,\n '::-webkit-scrollbar-track-piece': true,\n '::-webkit-scrollbar-track': true,\n '::-webkit-scrollbar': true,\n '::-webkit-search-cancel-button': true,\n '::-webkit-search-results-button': true,\n '::-webkit-slider-runnable-track': true,\n '::-webkit-slider-thumb': true,\n '::after': true,\n '::backdrop': true,\n '::before': true,\n '::cue': true,\n '::file-selector-button': true,\n '::first-letter': true,\n '::first-line': true,\n '::grammar-error': true,\n '::marker': true,\n '::placeholder': true,\n '::selection': true,\n '::spelling-error': true,\n '::target-text': true,\n '::view-transition-group': true,\n '::view-transition-image-pair': true,\n '::view-transition-new': true,\n '::view-transition-old': true,\n '::view-transition': true,\n ':active': true,\n ':after': true,\n ':any-link': true,\n ':before': true,\n ':blank': true,\n ':checked': true,\n ':default': true,\n ':defined': true,\n ':disabled': true,\n ':empty': true,\n ':enabled': true,\n ':first-child': true,\n ':first-letter': true,\n ':first-line': true,\n ':first-of-type': true,\n ':first': true,\n ':focus-visible': true,\n ':focus-within': true,\n ':focus': true,\n ':fullscreen': true,\n ':hover': true,\n ':in-range': true,\n ':indeterminate': true,\n ':invalid': true,\n ':last-child': true,\n ':last-of-type': true,\n ':left': true,\n ':link': true,\n ':only-child': true,\n ':only-of-type': true,\n ':optional': true,\n ':out-of-range': true,\n ':placeholder-shown': true,\n ':read-only': true,\n ':read-write': true,\n ':required': true,\n ':right': true,\n ':root': true,\n ':scope': true,\n ':target': true,\n ':valid': true,\n ':visited': true\n};\nvar simplePseudos = Object.keys(simplePseudoMap);\nvar simplePseudoLookup = simplePseudoMap;\n\nvar _templateObject;\nvar createMediaQueryError = (mediaQuery, msg) => new Error(dedent(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n Invalid media query: \\\"\", \"\\\"\\n\\n \", \"\\n\\n Read more on MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries\\n \"])), mediaQuery, msg));\nvar validateMediaQuery = mediaQuery => {\n // Empty queries will start with '@media '\n if (mediaQuery === '@media ') {\n throw createMediaQueryError(mediaQuery, 'Query is empty');\n }\n try {\n toAST(mediaQuery);\n } catch (e) {\n throw createMediaQueryError(mediaQuery, e.message);\n }\n};\n\nvar _excluded = [\"vars\"],\n _excluded2 = [\"content\"];\nvar DECLARATION = '__DECLARATION';\nvar UNITLESS = {\n animationIterationCount: true,\n borderImage: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n columnCount: true,\n columns: true,\n flex: true,\n flexGrow: true,\n flexShrink: true,\n fontWeight: true,\n gridArea: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnStart: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowStart: true,\n initialLetter: true,\n lineClamp: true,\n lineHeight: true,\n maxLines: true,\n opacity: true,\n order: true,\n orphans: true,\n scale: true,\n tabSize: true,\n WebkitLineClamp: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // svg properties\n fillOpacity: true,\n floodOpacity: true,\n maskBorder: true,\n maskBorderOutset: true,\n maskBorderSlice: true,\n maskBorderWidth: true,\n shapeImageThreshold: true,\n stopOpacity: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true\n};\nfunction dashify(str) {\n return str.replace(/([A-Z])/g, '-$1').replace(/^ms-/, '-ms-').toLowerCase();\n}\nfunction replaceBetweenIndexes(target, startIndex, endIndex, replacement) {\n var start = target.slice(0, startIndex);\n var end = target.slice(endIndex);\n return \"\".concat(start).concat(replacement).concat(end);\n}\nvar DOUBLE_SPACE = ' ';\nvar specialKeys = [...simplePseudos, '@layer', '@media', '@supports', '@container', 'selectors'];\nclass Stylesheet {\n constructor(localClassNames, composedClassLists) {\n this.rules = [];\n this.conditionalRulesets = [new ConditionalRuleset()];\n this.fontFaceRules = [];\n this.keyframesRules = [];\n this.localClassNamesMap = new Map(localClassNames.map(localClassName => [localClassName, localClassName]));\n this.localClassNamesSearch = new AhoCorasick(localClassNames);\n this.layers = new Map();\n\n // Class list compositions should be priortized by Newer > Older\n // Therefore we reverse the array as they are added in sequence\n this.composedClassLists = composedClassLists.map(_ref => {\n var {\n identifier,\n classList\n } = _ref;\n return {\n identifier,\n regex: RegExp(\"(\".concat(classList, \")\"), 'g')\n };\n }).reverse();\n }\n processCssObj(root) {\n if (root.type === 'fontFace') {\n this.fontFaceRules.push(root.rule);\n return;\n }\n if (root.type === 'keyframes') {\n root.rule = Object.fromEntries(Object.entries(root.rule).map(_ref2 => {\n var [keyframe, rule] = _ref2;\n return [keyframe, this.transformProperties(rule)];\n }));\n this.keyframesRules.push(root);\n return;\n }\n this.currConditionalRuleset = new ConditionalRuleset();\n if (root.type === 'layer') {\n var layerDefinition = \"@layer \".concat(root.name);\n this.addLayer([layerDefinition]);\n } else {\n // Add main styles\n var mainRule = omit(root.rule, specialKeys);\n this.addRule({\n selector: root.selector,\n rule: mainRule\n });\n this.transformLayer(root, root.rule['@layer']);\n this.transformMedia(root, root.rule['@media']);\n this.transformSupports(root, root.rule['@supports']);\n this.transformContainer(root, root.rule['@container']);\n this.transformSimplePseudos(root, root.rule);\n this.transformSelectors(root, root.rule);\n }\n var activeConditionalRuleset = this.conditionalRulesets[this.conditionalRulesets.length - 1];\n if (!activeConditionalRuleset.mergeIfCompatible(this.currConditionalRuleset)) {\n // Ruleset merge failed due to incompatibility. We now deopt by starting a fresh ConditionalRuleset\n this.conditionalRulesets.push(this.currConditionalRuleset);\n }\n }\n addConditionalRule(cssRule, conditions) {\n // Run `transformProperties` before `transformVars` as we don't want to pixelify CSS Vars\n var rule = this.transformVars(this.transformProperties(cssRule.rule));\n var selector = this.transformSelector(cssRule.selector);\n if (!this.currConditionalRuleset) {\n throw new Error(\"Couldn't add conditional rule\");\n }\n var conditionQuery = conditions[conditions.length - 1];\n var parentConditions = conditions.slice(0, conditions.length - 1);\n this.currConditionalRuleset.addRule({\n selector,\n rule\n }, conditionQuery, parentConditions);\n }\n addRule(cssRule) {\n // Run `transformProperties` before `transformVars` as we don't want to pixelify CSS Vars\n var rule = this.transformVars(this.transformProperties(cssRule.rule));\n var selector = this.transformSelector(cssRule.selector);\n this.rules.push({\n selector,\n rule\n });\n }\n addLayer(layer) {\n var uniqueLayerKey = layer.join(' - ');\n this.layers.set(uniqueLayerKey, layer);\n }\n transformProperties(cssRule) {\n return this.transformContent(this.pixelifyProperties(cssRule));\n }\n pixelifyProperties(cssRule) {\n forEach(cssRule, (value, key) => {\n if (typeof value === 'number' && value !== 0 && !UNITLESS[key]) {\n // @ts-expect-error Any ideas?\n cssRule[key] = \"\".concat(value, \"px\");\n }\n });\n return cssRule;\n }\n transformVars(_ref3) {\n var {\n vars\n } = _ref3,\n rest = _objectWithoutProperties(_ref3, _excluded);\n if (!vars) {\n return rest;\n }\n return _objectSpread2(_objectSpread2({}, mapKeys(vars, (_value, key) => getVarName(key))), rest);\n }\n transformContent(_ref4) {\n var {\n content\n } = _ref4,\n rest = _objectWithoutProperties(_ref4, _excluded2);\n if (typeof content === 'undefined') {\n return rest;\n }\n\n // Handle fallback arrays:\n var contentArray = Array.isArray(content) ? content : [content];\n return _objectSpread2({\n content: contentArray.map(value =>\n // This logic was adapted from Stitches :)\n value && (value.includes('\"') || value.includes(\"'\") || /^([A-Za-z\\-]+\\([^]*|[^]*-quote|inherit|initial|none|normal|revert|unset)(\\s|$)/.test(value)) ? value : \"\\\"\".concat(value, \"\\\"\"))\n }, rest);\n }\n transformClassname(identifier) {\n return \".\".concat(cssesc(identifier, {\n isIdentifier: true\n }));\n }\n transformSelector(selector) {\n // Map class list compositions to single identifiers\n var transformedSelector = selector;\n var _loop = function _loop(identifier) {\n transformedSelector = transformedSelector.replace(regex, () => {\n markCompositionUsed(identifier);\n return identifier;\n });\n };\n for (var {\n identifier,\n regex\n } of this.composedClassLists) {\n _loop(identifier);\n }\n if (this.localClassNamesMap.has(transformedSelector)) {\n return this.transformClassname(transformedSelector);\n }\n var results = this.localClassNamesSearch.search(transformedSelector);\n var lastReplaceIndex = transformedSelector.length;\n\n // Perform replacements backwards to simplify index handling\n for (var i = results.length - 1; i >= 0; i--) {\n var [endIndex, [firstMatch]] = results[i];\n var startIndex = endIndex - firstMatch.length + 1;\n if (startIndex >= lastReplaceIndex) {\n // Class names can be substrings of other class names\n // e.g. '_1g1ptzo1' and '_1g1ptzo10'\n // If the startIndex >= lastReplaceIndex, then\n // this is the case and this replace should be skipped\n continue;\n }\n lastReplaceIndex = startIndex;\n\n // If class names already starts with a '.' then skip\n if (transformedSelector[startIndex - 1] !== '.') {\n transformedSelector = replaceBetweenIndexes(transformedSelector, startIndex, endIndex + 1, this.transformClassname(firstMatch));\n }\n }\n return transformedSelector;\n }\n transformSelectors(root, rule, conditions) {\n forEach(rule.selectors, (selectorRule, selector) => {\n if (root.type !== 'local') {\n throw new Error(\"Selectors are not allowed within \".concat(root.type === 'global' ? '\"globalStyle\"' : '\"selectors\"'));\n }\n var transformedSelector = this.transformSelector(selector.replace(RegExp('&', 'g'), root.selector));\n validateSelector(transformedSelector, root.selector);\n var rule = {\n selector: transformedSelector,\n rule: omit(selectorRule, specialKeys)\n };\n if (conditions) {\n this.addConditionalRule(rule, conditions);\n } else {\n this.addRule(rule);\n }\n var selectorRoot = {\n type: 'selector',\n selector: transformedSelector,\n rule: selectorRule\n };\n this.transformLayer(selectorRoot, selectorRule['@layer'], conditions);\n this.transformSupports(selectorRoot, selectorRule['@supports'], conditions);\n this.transformMedia(selectorRoot, selectorRule['@media'], conditions);\n });\n }\n transformMedia(root, rules) {\n var parentConditions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n if (rules) {\n var _this$currConditional;\n (_this$currConditional = this.currConditionalRuleset) === null || _this$currConditional === void 0 || _this$currConditional.addConditionPrecedence(parentConditions, Object.keys(rules).map(query => \"@media \".concat(query)));\n for (var [query, mediaRule] of Object.entries(rules)) {\n var mediaQuery = \"@media \".concat(query);\n validateMediaQuery(mediaQuery);\n var conditions = [...parentConditions, mediaQuery];\n this.addConditionalRule({\n selector: root.selector,\n rule: omit(mediaRule, specialKeys)\n }, conditions);\n if (root.type === 'local') {\n this.transformSimplePseudos(root, mediaRule, conditions);\n this.transformSelectors(root, mediaRule, conditions);\n }\n this.transformLayer(root, mediaRule['@layer'], conditions);\n this.transformSupports(root, mediaRule['@supports'], conditions);\n this.transformContainer(root, mediaRule['@container'], conditions);\n }\n }\n }\n transformContainer(root, rules) {\n var parentConditions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n if (rules) {\n var _this$currConditional2;\n (_this$currConditional2 = this.currConditionalRuleset) === null || _this$currConditional2 === void 0 || _this$currConditional2.addConditionPrecedence(parentConditions, Object.keys(rules).map(query => \"@container \".concat(query)));\n forEach(rules, (containerRule, query) => {\n var containerQuery = \"@container \".concat(query);\n var conditions = [...parentConditions, containerQuery];\n this.addConditionalRule({\n selector: root.selector,\n rule: omit(containerRule, specialKeys)\n }, conditions);\n if (root.type === 'local') {\n this.transformSimplePseudos(root, containerRule, conditions);\n this.transformSelectors(root, containerRule, conditions);\n }\n this.transformLayer(root, containerRule['@layer'], conditions);\n this.transformSupports(root, containerRule['@supports'], conditions);\n this.transformMedia(root, containerRule['@media'], conditions);\n });\n }\n }\n transformLayer(root, rules) {\n var parentConditions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n if (rules) {\n var _this$currConditional3;\n (_this$currConditional3 = this.currConditionalRuleset) === null || _this$currConditional3 === void 0 || _this$currConditional3.addConditionPrecedence(parentConditions, Object.keys(rules).map(name => \"@layer \".concat(name)));\n forEach(rules, (layerRule, name) => {\n var conditions = [...parentConditions, \"@layer \".concat(name)];\n this.addLayer(conditions);\n this.addConditionalRule({\n selector: root.selector,\n rule: omit(layerRule, specialKeys)\n }, conditions);\n if (root.type === 'local') {\n this.transformSimplePseudos(root, layerRule, conditions);\n this.transformSelectors(root, layerRule, conditions);\n }\n this.transformMedia(root, layerRule['@media'], conditions);\n this.transformSupports(root, layerRule['@supports'], conditions);\n this.transformContainer(root, layerRule['@container'], conditions);\n });\n }\n }\n transformSupports(root, rules) {\n var parentConditions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n if (rules) {\n var _this$currConditional4;\n (_this$currConditional4 = this.currConditionalRuleset) === null || _this$currConditional4 === void 0 || _this$currConditional4.addConditionPrecedence(parentConditions, Object.keys(rules).map(query => \"@supports \".concat(query)));\n forEach(rules, (supportsRule, query) => {\n var conditions = [...parentConditions, \"@supports \".concat(query)];\n this.addConditionalRule({\n selector: root.selector,\n rule: omit(supportsRule, specialKeys)\n }, conditions);\n if (root.type === 'local') {\n this.transformSimplePseudos(root, supportsRule, conditions);\n this.transformSelectors(root, supportsRule, conditions);\n }\n this.transformLayer(root, supportsRule['@layer'], conditions);\n this.transformMedia(root, supportsRule['@media'], conditions);\n this.transformContainer(root, supportsRule['@container'], conditions);\n });\n }\n }\n transformSimplePseudos(root, rule, conditions) {\n for (var key of Object.keys(rule)) {\n // Process simple pseudos\n if (simplePseudoLookup[key]) {\n if (root.type !== 'local') {\n throw new Error(\"Simple pseudos are not valid in \".concat(root.type === 'global' ? '\"globalStyle\"' : '\"selectors\"'));\n }\n if (conditions) {\n this.addConditionalRule({\n selector: \"\".concat(root.selector).concat(key),\n rule: rule[key]\n }, conditions);\n } else {\n this.addRule({\n conditions,\n selector: \"\".concat(root.selector).concat(key),\n rule: rule[key]\n });\n }\n }\n }\n }\n toCss() {\n var css = [];\n\n // Render font-face rules\n for (var fontFaceRule of this.fontFaceRules) {\n css.push(renderCss({\n '@font-face': fontFaceRule\n }));\n }\n\n // Render keyframes\n for (var keyframe of this.keyframesRules) {\n css.push(renderCss({\n [\"@keyframes \".concat(keyframe.name)]: keyframe.rule\n }));\n }\n\n // Render layer definitions\n for (var layer of this.layers.values()) {\n var [definition, ...nesting] = layer.reverse();\n var cssObj = {\n [definition]: DECLARATION\n };\n for (var part of nesting) {\n cssObj = {\n [part]: cssObj\n };\n }\n css.push(renderCss(cssObj));\n }\n\n // Render unconditional rules\n for (var rule of this.rules) {\n css.push(renderCss({\n [rule.selector]: rule.rule\n }));\n }\n\n // Render conditional rules\n for (var conditionalRuleset of this.conditionalRulesets) {\n for (var conditionalRule of conditionalRuleset.renderToArray()) {\n css.push(renderCss(conditionalRule));\n }\n }\n return css.filter(Boolean);\n }\n}\nfunction renderCss(v) {\n var indent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var rules = [];\n var _loop2 = function _loop2(key) {\n var value = v[key];\n if (value && Array.isArray(value)) {\n rules.push(...value.map(v => renderCss({\n [key]: v\n }, indent)));\n } else if (value && typeof value === 'object') {\n var isEmpty = Object.keys(value).length === 0;\n if (!isEmpty) {\n rules.push(\"\".concat(indent).concat(key, \" {\\n\").concat(renderCss(value, indent + DOUBLE_SPACE), \"\\n\").concat(indent, \"}\"));\n }\n } else if (value === DECLARATION) {\n rules.push(\"\".concat(indent).concat(key, \";\"));\n } else {\n rules.push(\"\".concat(indent).concat(key.startsWith('--') ? key : dashify(key), \": \").concat(value, \";\"));\n }\n };\n for (var key of Object.keys(v)) {\n _loop2(key);\n }\n return rules.join('\\n');\n}\nfunction transformCss(_ref5) {\n var {\n localClassNames,\n cssObjs,\n composedClassLists\n } = _ref5;\n var stylesheet = new Stylesheet(localClassNames, composedClassLists);\n for (var root of cssObjs) {\n stylesheet.processCssObj(root);\n }\n return stylesheet.toCss();\n}\n\nexport { _objectSpread2 as _, dudupeAndJoinClassList as d, transformCss as t };\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport { murmur2 as default };\n","import { _ as _taggedTemplateLiteral } from '../../dist/taggedTemplateLiteral-8e47dbd7.browser.esm.js';\nimport dedent from 'dedent';\nimport { onBeginFileScope, onEndFileScope } from '../../adapter/dist/vanilla-extract-css-adapter.browser.esm.js';\n\nvar _templateObject;\nvar refCounter = 0;\nvar fileScopes = [];\nfunction setFileScope(filePath, packageName) {\n refCounter = 0;\n var fileScope = {\n filePath,\n packageName\n };\n fileScopes.unshift(fileScope);\n onBeginFileScope(fileScope);\n}\nfunction endFileScope() {\n onEndFileScope(getFileScope());\n refCounter = 0;\n fileScopes.splice(0, 1);\n}\nfunction hasFileScope() {\n return fileScopes.length > 0;\n}\nfunction getFileScope() {\n if (fileScopes.length === 0) {\n throw new Error(dedent(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n Styles were unable to be assigned to a file. This is generally caused by one of the following:\\n\\n - You may have created styles outside of a '.css.ts' context\\n - You may have incorrect configuration. See https://vanilla-extract.style/documentation/getting-started\\n \"]))));\n }\n return fileScopes[0];\n}\nfunction getAndIncrementRefCounter() {\n return refCounter++;\n}\n\nexport { endFileScope, getAndIncrementRefCounter, getFileScope, hasFileScope, setFileScope };\n","'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction getMergeFunction(key, options) {\n\tif (!options.customMerge) {\n\t\treturn deepmerge\n\t}\n\tvar customMerge = options.customMerge(key);\n\treturn typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n\treturn Object.getOwnPropertySymbols\n\t\t? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n\t\t\treturn Object.propertyIsEnumerable.call(target, symbol)\n\t\t})\n\t\t: []\n}\n\nfunction getKeys(target) {\n\treturn Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction propertyIsOnObject(object, property) {\n\ttry {\n\t\treturn property in object\n\t} catch(_) {\n\t\treturn false\n\t}\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target, key) {\n\treturn propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n\t\t&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n\t\t\t&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tgetKeys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tgetKeys(source).forEach(function(key) {\n\t\tif (propertyIsUnsafe(target, key)) {\n\t\t\treturn\n\t\t}\n\n\t\tif (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n\t\t\tdestination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\t// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n\t// implementations can use it. The caller may not replace it.\n\toptions.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n","import { injectStyles } from '../injectStyles/dist/vanilla-extract-css-injectStyles.browser.esm.js';\nimport { t as transformCss, _ as _objectSpread2, d as dudupeAndJoinClassList } from './transformCss-72a2e7e9.browser.esm.js';\nimport { setAdapterIfNotSet, getIdentOption, appendCss, registerClassName, registerComposition, markCompositionUsed } from '../adapter/dist/vanilla-extract-css-adapter.browser.esm.js';\nimport hash from '@emotion/hash';\nimport { getAndIncrementRefCounter, getFileScope, hasFileScope } from '../fileScope/dist/vanilla-extract-css-fileScope.browser.esm.js';\nimport { walkObject, get } from '@vanilla-extract/private';\nimport cssesc from 'cssesc';\nimport { diff } from 'deep-object-diff';\nimport pc from 'picocolors';\nimport { _ as _taggedTemplateLiteral } from './taggedTemplateLiteral-8e47dbd7.browser.esm.js';\nimport dedent from 'dedent';\nimport deepmerge from 'deepmerge';\nimport 'modern-ahocorasick';\nimport 'css-what';\nimport 'media-query-parser';\n\nvar localClassNames = new Set();\nvar composedClassLists = [];\nvar bufferedCSSObjs = [];\nvar browserRuntimeAdapter = {\n appendCss: cssObj => {\n bufferedCSSObjs.push(cssObj);\n },\n registerClassName: className => {\n localClassNames.add(className);\n },\n registerComposition: composition => {\n composedClassLists.push(composition);\n },\n markCompositionUsed: () => {},\n onEndFileScope: fileScope => {\n var css = transformCss({\n localClassNames: Array.from(localClassNames),\n composedClassLists,\n cssObjs: bufferedCSSObjs\n }).join('\\n');\n injectStyles({\n fileScope,\n css\n });\n bufferedCSSObjs = [];\n },\n getIdentOption: () => process.env.NODE_ENV === 'production' ? 'short' : 'debug'\n};\n{\n setAdapterIfNotSet(browserRuntimeAdapter);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _wrapRegExp() {\n _wrapRegExp = function (e, r) {\n return new BabelRegExp(e, void 0, r);\n };\n var e = RegExp.prototype,\n r = new WeakMap();\n function BabelRegExp(e, t, p) {\n var o = new RegExp(e, t);\n return r.set(o, p || r.get(e)), _setPrototypeOf(o, BabelRegExp.prototype);\n }\n function buildGroups(e, t) {\n var p = r.get(t);\n return Object.keys(p).reduce(function (r, t) {\n var o = p[t];\n if (\"number\" == typeof o) r[t] = e[o];else {\n for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++;\n r[t] = e[o[i]];\n }\n return r;\n }, Object.create(null));\n }\n return _inherits(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) {\n var t = e.exec.call(this, r);\n if (t) {\n t.groups = buildGroups(t, this);\n var p = t.indices;\n p && (p.groups = buildGroups(p, this));\n }\n return t;\n }, BabelRegExp.prototype[Symbol.replace] = function (t, p) {\n if (\"string\" == typeof p) {\n var o = r.get(this);\n return e[Symbol.replace].call(this, t, p.replace(/\\$<([^>]+)>/g, function (e, r) {\n var t = o[r];\n return \"$\" + (Array.isArray(t) ? t.join(\"$\") : t);\n }));\n }\n if (\"function\" == typeof p) {\n var i = this;\n return e[Symbol.replace].call(this, t, function () {\n var e = arguments;\n return \"object\" != typeof e[e.length - 1] && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e);\n });\n }\n return e[Symbol.replace].call(this, t, p);\n }, _wrapRegExp.apply(this, arguments);\n}\n\nfunction getDevPrefix(_ref) {\n var {\n debugId,\n debugFileName\n } = _ref;\n var parts = debugId ? [debugId.replace(/\\s/g, '_')] : [];\n if (debugFileName) {\n var {\n filePath\n } = getFileScope();\n var matches = filePath.match( /*#__PURE__*/_wrapRegExp(/([^\\/\\\\]*)?[\\/\\\\]?([^\\/\\\\]*)\\.css\\.(ts|js|tsx|jsx|cjs|mjs)$/, {\n dir: 1,\n file: 2\n }));\n if (matches && matches.groups) {\n var {\n dir,\n file\n } = matches.groups;\n parts.unshift(file && file !== 'index' ? file : dir);\n }\n }\n return parts.join('_');\n}\nfunction normalizeIdentifier(identifier) {\n return identifier.match(/^[0-9]/) ? \"_\".concat(identifier) : identifier;\n}\nfunction generateIdentifier(arg) {\n var identOption = getIdentOption();\n var {\n debugId,\n debugFileName = true\n } = _objectSpread2(_objectSpread2({}, typeof arg === 'string' ? {\n debugId: arg\n } : null), typeof arg === 'object' ? arg : null);\n\n // Convert ref count to base 36 for optimal hash lengths\n var refCount = getAndIncrementRefCounter().toString(36);\n var {\n filePath,\n packageName\n } = getFileScope();\n var fileScopeHash = hash(packageName ? \"\".concat(packageName).concat(filePath) : filePath);\n var identifier = \"\".concat(fileScopeHash).concat(refCount);\n if (identOption === 'debug') {\n var devPrefix = getDevPrefix({\n debugId,\n debugFileName\n });\n if (devPrefix) {\n identifier = \"\".concat(devPrefix, \"__\").concat(identifier);\n }\n return normalizeIdentifier(identifier);\n }\n if (typeof identOption === 'function') {\n identifier = identOption({\n hash: identifier,\n debugId,\n filePath,\n packageName\n });\n if (!identifier.match(/^[A-Z_][0-9A-Z_-]+$/i)) {\n throw new Error(\"Identifier function returned invalid indentifier: \\\"\".concat(identifier, \"\\\"\"));\n }\n return identifier;\n }\n return normalizeIdentifier(identifier);\n}\n\nvar normaliseObject = obj => walkObject(obj, () => '');\nfunction validateContract(contract, tokens) {\n var theDiff = diff(normaliseObject(contract), normaliseObject(tokens));\n var valid = Object.keys(theDiff).length === 0;\n return {\n valid,\n diffString: valid ? '' : renderDiff(contract, theDiff)\n };\n}\nfunction diffLine(value, nesting, type) {\n var whitespace = [...Array(nesting).keys()].map(() => ' ').join('');\n var line = \"\".concat(type ? type : ' ').concat(whitespace).concat(value);\n if (process.env.NODE_ENV !== 'test') {\n if (type === '-') {\n return pc.red(line);\n }\n if (type === '+') {\n return pc.green(line);\n }\n }\n return line;\n}\nfunction renderDiff(orig, diff) {\n var nesting = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var lines = [];\n if (nesting === 0) {\n lines.push(diffLine('{', 0));\n }\n var innerNesting = nesting + 1;\n var keys = Object.keys(diff).sort();\n for (var key of keys) {\n var value = diff[key];\n if (!(key in orig)) {\n lines.push(diffLine(\"\".concat(key, \": ...,\"), innerNesting, '+'));\n } else if (typeof value === 'object') {\n lines.push(diffLine(\"\".concat(key, \": {\"), innerNesting));\n lines.push(renderDiff(orig[key], diff[key], innerNesting));\n lines.push(diffLine('}', innerNesting));\n } else {\n lines.push(diffLine(\"\".concat(key, \": ...,\"), innerNesting, '-'));\n }\n }\n if (nesting === 0) {\n lines.push(diffLine('}', 0));\n }\n return lines.join('\\n');\n}\n\nfunction createVar(debugId) {\n var cssVarName = cssesc(generateIdentifier({\n debugId,\n debugFileName: false\n }), {\n isIdentifier: true\n });\n return \"var(--\".concat(cssVarName, \")\");\n}\nfunction fallbackVar() {\n var finalValue = '';\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n values.reverse().forEach(value => {\n if (finalValue === '') {\n finalValue = String(value);\n } else {\n if (typeof value !== 'string' || !/^var\\(--.*\\)$/.test(value)) {\n throw new Error(\"Invalid variable name: \".concat(value));\n }\n finalValue = value.replace(/\\)$/, \", \".concat(finalValue, \")\"));\n }\n });\n return finalValue;\n}\nfunction assignVars(varContract, tokens) {\n var varSetters = {};\n var {\n valid,\n diffString\n } = validateContract(varContract, tokens);\n if (!valid) {\n throw new Error(\"Tokens don't match contract.\\n\".concat(diffString));\n }\n walkObject(tokens, (value, path) => {\n varSetters[get(varContract, path)] = String(value);\n });\n return varSetters;\n}\nfunction createThemeContract(tokens) {\n return walkObject(tokens, (_value, path) => {\n return createVar(path.join('-'));\n });\n}\nfunction createGlobalThemeContract(tokens, mapFn) {\n return walkObject(tokens, (value, path) => {\n var rawVarName = typeof mapFn === 'function' ? mapFn(value, path) : value;\n var varName = typeof rawVarName === 'string' ? rawVarName.replace(/^\\-\\-/, '') : null;\n if (typeof varName !== 'string' || varName !== cssesc(varName, {\n isIdentifier: true\n })) {\n throw new Error(\"Invalid variable name for \\\"\".concat(path.join('.'), \"\\\": \").concat(varName));\n }\n return \"var(--\".concat(varName, \")\");\n });\n}\n\nfunction createGlobalTheme(selector, arg2, arg3) {\n var shouldCreateVars = Boolean(!arg3);\n var themeVars = shouldCreateVars ? createThemeContract(arg2) : arg2;\n var tokens = shouldCreateVars ? arg2 : arg3;\n appendCss({\n type: 'global',\n selector: selector,\n rule: {\n vars: assignVars(themeVars, tokens)\n }\n }, getFileScope());\n if (shouldCreateVars) {\n return themeVars;\n }\n}\nfunction createTheme(arg1, arg2, arg3) {\n var themeClassName = generateIdentifier(typeof arg2 === 'object' ? arg3 : arg2);\n registerClassName(themeClassName, getFileScope());\n var vars = typeof arg2 === 'object' ? createGlobalTheme(themeClassName, arg1, arg2) : createGlobalTheme(themeClassName, arg1);\n return vars ? [themeClassName, vars] : themeClassName;\n}\n\nvar _templateObject;\nfunction composedStyle(rules, debugId) {\n var className = generateIdentifier(debugId);\n registerClassName(className, getFileScope());\n var classList = [];\n var styleRules = [];\n for (var rule of rules) {\n if (typeof rule === 'string') {\n classList.push(rule);\n } else {\n styleRules.push(rule);\n }\n }\n var result = className;\n if (classList.length > 0) {\n result = \"\".concat(className, \" \").concat(dudupeAndJoinClassList(classList));\n registerComposition({\n identifier: className,\n classList: result\n }, getFileScope());\n if (styleRules.length > 0) {\n // If there are styles attached to this composition then it is\n // always used and should never be removed\n markCompositionUsed(className);\n }\n }\n if (styleRules.length > 0) {\n var _rule = deepmerge.all(styleRules, {\n // Replace arrays rather than merging\n arrayMerge: (_, sourceArray) => sourceArray\n });\n appendCss({\n type: 'local',\n selector: className,\n rule: _rule\n }, getFileScope());\n }\n return result;\n}\nfunction style(rule, debugId) {\n if (Array.isArray(rule)) {\n return composedStyle(rule, debugId);\n }\n var className = generateIdentifier(debugId);\n registerClassName(className, getFileScope());\n appendCss({\n type: 'local',\n selector: className,\n rule\n }, getFileScope());\n return className;\n}\n\n/**\n * @deprecated The same functionality is now provided by the 'style' function when you pass it an array\n */\nfunction composeStyles() {\n var compose = hasFileScope() ? composedStyle : dudupeAndJoinClassList;\n for (var _len = arguments.length, classNames = new Array(_len), _key = 0; _key < _len; _key++) {\n classNames[_key] = arguments[_key];\n }\n return compose(classNames);\n}\nfunction globalStyle(selector, rule) {\n appendCss({\n type: 'global',\n selector,\n rule\n }, getFileScope());\n}\nfunction fontFace(rule, debugId) {\n var fontFamily = \"\\\"\".concat(cssesc(generateIdentifier(debugId), {\n quotes: 'double'\n }), \"\\\"\");\n var rules = Array.isArray(rule) ? rule : [rule];\n for (var singleRule of rules) {\n if ('fontFamily' in singleRule) {\n throw new Error(dedent(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n This function creates and returns a hashed font-family name, so the \\\"fontFamily\\\" property should not be provided.\\n \\n If you'd like to define a globally scoped custom font, you can use the \\\"globalFontFace\\\" function instead.\\n \"]))));\n }\n appendCss({\n type: 'fontFace',\n rule: _objectSpread2(_objectSpread2({}, singleRule), {}, {\n fontFamily\n })\n }, getFileScope());\n }\n return fontFamily;\n}\nfunction globalFontFace(fontFamily, rule) {\n var rules = Array.isArray(rule) ? rule : [rule];\n for (var singleRule of rules) {\n appendCss({\n type: 'fontFace',\n rule: _objectSpread2(_objectSpread2({}, singleRule), {}, {\n fontFamily\n })\n }, getFileScope());\n }\n}\nfunction keyframes(rule, debugId) {\n var name = cssesc(generateIdentifier(debugId), {\n isIdentifier: true\n });\n appendCss({\n type: 'keyframes',\n name,\n rule\n }, getFileScope());\n return name;\n}\nfunction globalKeyframes(name, rule) {\n appendCss({\n type: 'keyframes',\n name,\n rule\n }, getFileScope());\n}\nfunction styleVariants() {\n if (typeof (arguments.length <= 1 ? undefined : arguments[1]) === 'function') {\n var _data = arguments.length <= 0 ? undefined : arguments[0];\n var _mapData = arguments.length <= 1 ? undefined : arguments[1];\n var _debugId = arguments.length <= 2 ? undefined : arguments[2];\n var _classMap = {};\n for (var _key2 in _data) {\n _classMap[_key2] = style(_mapData(_data[_key2], _key2), _debugId ? \"\".concat(_debugId, \"_\").concat(_key2) : _key2);\n }\n return _classMap;\n }\n var styleMap = arguments.length <= 0 ? undefined : arguments[0];\n var debugId = arguments.length <= 1 ? undefined : arguments[1];\n var classMap = {};\n for (var _key3 in styleMap) {\n classMap[_key3] = style(styleMap[_key3], debugId ? \"\".concat(debugId, \"_\").concat(_key3) : _key3);\n }\n return classMap;\n}\n\n// createContainer is used for local scoping of CSS containers\n// For now it is mostly just an alias of generateIdentifier\nvar createContainer = debugId => generateIdentifier(debugId);\n\nvar defaultLayerOptions = {};\nvar merge = (obj1, obj2) => _objectSpread2(_objectSpread2({}, obj1), obj2);\nvar getLayerArgs = function getLayerArgs() {\n var options = defaultLayerOptions;\n var debugId = arguments.length <= 0 ? undefined : arguments[0];\n if (typeof (arguments.length <= 0 ? undefined : arguments[0]) === 'object') {\n options = merge(defaultLayerOptions, arguments.length <= 0 ? undefined : arguments[0]);\n debugId = arguments.length <= 1 ? undefined : arguments[1];\n }\n return [options, debugId];\n};\nfunction layer() {\n var [options, debugId] = getLayerArgs(...arguments);\n var name = generateIdentifier(debugId);\n if (options.parent) {\n name = \"\".concat(options.parent, \".\").concat(name);\n }\n appendCss({\n type: 'layer',\n name\n }, getFileScope());\n return name;\n}\nfunction globalLayer() {\n var [options, name] = getLayerArgs(...arguments);\n if (options.parent) {\n name = \"\".concat(options.parent, \".\").concat(name);\n }\n appendCss({\n type: 'layer',\n name\n }, getFileScope());\n return name;\n}\n\nexport { assignVars, composeStyles, createContainer, createGlobalTheme, createGlobalThemeContract, createTheme, createThemeContract, createVar, fallbackVar, fontFace, generateIdentifier, globalFontFace, globalKeyframes, globalLayer, globalStyle, keyframes, layer, style, styleVariants };\n","import { type SprinklesProperties as StyleProperties } from \"@vanilla-extract/sprinkles\";\nimport React from \"react\";\n\nimport { type createStyleProps } from \"../index\";\n\ntype StylePropFn<StylePropFnProperties extends StyleProperties[]> = ReturnType<\n typeof createStyleProps<StylePropFnProperties>\n>;\n\ntype StyleProps<StylePropFnProperties extends StyleProperties[]> = Parameters<\n StylePropFn<StylePropFnProperties>\n>[0];\n\ntype ComponentProps<\n Props,\n StylePropFnProperties extends StyleProperties[],\n> = Omit<Props, keyof StyleProps<StylePropFnProperties>>;\n\ntype UseStylePropsParams<\n Props,\n StylePropFnProperties extends StyleProperties[],\n> = {\n props: Props;\n stylePropsFn: StylePropFn<StylePropFnProperties>;\n};\n\nexport const useStyleProps = <\n Props,\n StylePropFnProperties extends StyleProperties[],\n>({\n props,\n stylePropsFn,\n}: UseStylePropsParams<Props, StylePropFnProperties>) => {\n // Keep this memoed to prevent unnecessary re-renders\n const memoizedProps = React.useMemo<Props>(() => props, [props]);\n\n // Filter the props into styleProps and componentProps so that we can\n // pass styleProps to the stylePropsFn and componentProps to the component\n const filteredProps = React.useMemo(() => {\n const stylePropFnProperties = stylePropsFn.properties;\n\n const styleProps = {} as StyleProps<StylePropFnProperties>;\n const componentProps = {} as ComponentProps<Props, StylePropFnProperties>;\n\n // If there are no memoized props, return the empty styleProps and componentProps objects\n if (!memoizedProps) return { styleProps, componentProps };\n\n Object.keys(memoizedProps).forEach((_key) => {\n const key = _key as keyof StyleProps<StylePropFnProperties> & keyof Props;\n if (stylePropFnProperties.has(key)) {\n Object.assign(styleProps, {\n [key]: memoizedProps[key],\n });\n }\n if (!stylePropFnProperties.has(key)) {\n Object.assign(componentProps, {\n [key]: memoizedProps[key],\n });\n }\n });\n\n return { styleProps, componentProps };\n }, [memoizedProps, stylePropsFn?.properties]);\n\n // Generate the style class name that we can apply to the component\n const styleClassName = React.useMemo(() => {\n return stylePropsFn(filteredProps.styleProps);\n }, [filteredProps.styleProps, stylePropsFn]);\n\n return {\n styleProps: filteredProps.styleProps,\n componentProps: filteredProps.componentProps,\n styleClassName,\n };\n};\n","import t from \"@telegraph/tokens\";\n\nexport const RESPONSIVE_STYLE_PROPS = {\n conditions: {\n sm: { \"@media\": `screen and (min-width: ${t.tokens.breakpoint.sm})` },\n md: { \"@media\": `screen and (min-width: ${t.tokens.breakpoint.md})` },\n lg: { \"@media\": `screen and (min-width: ${t.tokens.breakpoint.lg})` },\n xl: { \"@media\": `screen and (min-width: ${t.tokens.breakpoint.xl})` },\n \"2xl\": {\n \"@media\": `screen and (min-width: ${t.tokens.breakpoint[\"2xl\"]})`,\n },\n },\n defaultCondition: \"sm\",\n responsiveArray: [\"sm\", \"md\", \"lg\", \"xl\", \"2xl\"],\n};\n"],"names":["stylesheets","injectStyles","_ref","fileScope","css","fileScopeId","stylesheet","styleEl","getVarName","variable","matches","object","hasOwnProperty","merge","options","defaults","result","key","regexAnySingleEscape","regexSingleEscape","regexExcessiveSpaces","cssesc","string","quote","isIdentifier","firstChar","output","counter","length","character","codePoint","value","extra","$0","$1","$2","cssesc_1","AhoCorasick","keywords","failure","gotoFn","state","word","curr","l","xs","r","fs","str","results","i","foundStrs","mockAdapter","adapterStack","currentAdapter","hasConfiguredAdapter","setAdapterIfNotSet","newAdapter","setAdapter","appendCss","registerClassName","registerComposition","markCompositionUsed","getIdentOption","adapter","_taggedTemplateLiteral","strings","raw","SelectorType","AttributeAction","reName","reEscape","actionTypes","unpackPseudos","isTraversal","selector","stripQuotesFromPseudos","funescape","_","escaped","escapedWhitespace","high","unescapeCSS","isQuote","c","isWhitespace","parse","subselects","endIndex","parseSelector","selectorIndex","tokens","getName","offset","match","name","stripWhitespace","readValueWithParenthesis","start","isEscaped","pos","slashCount","ensureNotTraversal","addTraversal","type","addSpecialAttribute","action","finalizeSubselector","loop","namespace","possibleAction","ignoreCase","sectionEnd","valueStart","forceIgnore","attributeSelector","data","quot","ownKeys","enumerableOnly","keys","symbols","sym","_objectSpread","target","source","_defineProperty","obj","_toPropertyKey","arg","_toPrimitive","input","hint","prim","res","dedent","createDedent","newOptions","values","escapeSpecialCharacters","next","lines","mindent","m","indent","__assign","t","s","n","p","__rest","__values","o","__read","ar","e","error","weirdNewlines","nullOrSurrogates","commentRegex","lexicalAnalysis","index","code","code_1","consumeString","_a","lastIndex","nextCode","flag","wouldStartIdentifier","consumeIdentUnsafe","_b","_c","plusNumeric","consumeNumeric","_d","tokenTuple","minusNumeric","_e","nextNextCode","consumeIdentLike","_f","_g","nextNextNextCode","consumeIdent","_h","consumeEscape","_j","_k","_l","firstCode","charCodes","charCode","hexCharCodes","min","code_2","code_3","numberResult","consumeNumber","numberEndIndex","numberValue","numberFlag","identResult","identEndIndex","identValue","numberChars","nextNextIsDigit","numberString","identChars","code_4","code_5","consumeUrl","urlChars","hasFinishedWord","result_1","lastUrlIndex","value_1","simplifyAST","ast","simplifyMediaQuery","mediaQuery","mediaCondition","simplifyMediaCondition","unsimplifiedChild","child","spliceArgs","i_1","createError","message","err","toAST","toUnflattenedAST","tokenList","startIndex","token","syntacticAnalysis","removeWhitespace","newTokenList","before","e_1","mediaQueryList","mediaQueries","mediaQueryTokens","tokenizeMediaQuery","nonNullMediaQueryTokens","mediaQueryTokens_1","mediaQueryTokens_1_1","mediaQueryToken","e_1_1","firstToken","tokenizeMediaCondition","mediaPrefix","mediaType","firstIndex","firstNonUnaryToken","tokensWithParens","secondNonUnaryToken","mayContainOr","previousOperator","endIndexOfFirstFeature","maxDepth","count","featureTokens","tokenizeMediaFeature","nextToken","siblings","rawTokens","b","valueToken","feature","prefix","slice","range","tokenizeRange","hasLeft","tokenIndexAfterFirstOp","tokenAfterFirstOp","secondOpToken","followingToken","tokenAfterSecondOp","validRange","lt","leftOp","featureName","rightOp","rt","leftToken","ltNoWS","rightToken","rtNoWS","toPrimitive","toPropertyKey","_objectSpread2","_objectWithoutPropertiesLoose","excluded","sourceKeys","_objectWithoutProperties","sourceSymbolKeys","forEach","fn","_key","omit","omitKeys","_key2","mapKeys","_key3","composeStylesIntoSet","set","_len","classNames","_key5","className","dudupeAndJoinClassList","_templateObject$1","escapeRegex","validateSelector","targetClassName","replaceTarget","targetRegex","selectorParts","ConditionalRuleset","conditionQuery","targetCondition","conditionPath","currRuleset","query","condition","rule","ruleset","conditionOrder","_ruleset$precedenceLo","conditionPrecedence","lowerPrecedenceCondition","incomingRuleset","orderPrecedence","_incomingRuleset$prec","children","matchingCondition","rules","incomingOrderPrecedence","_this$precedenceLooku","_this","sortedRuleset","_loop","dependents","conditionForQuery","firstMatchingDependent","arr","selectors","simplePseudoMap","simplePseudos","simplePseudoLookup","_templateObject","createMediaQueryError","msg","validateMediaQuery","_excluded","_excluded2","DECLARATION","UNITLESS","dashify","replaceBetweenIndexes","replacement","end","DOUBLE_SPACE","specialKeys","Stylesheet","localClassNames","composedClassLists","localClassName","identifier","classList","root","_ref2","keyframe","layerDefinition","mainRule","activeConditionalRuleset","cssRule","conditions","parentConditions","layer","uniqueLayerKey","_ref3","vars","rest","_value","_ref4","content","contentArray","transformedSelector","regex","lastReplaceIndex","firstMatch","selectorRule","selectorRoot","_this$currConditional","mediaRule","_this$currConditional2","containerRule","containerQuery","_this$currConditional3","layerRule","_this$currConditional4","supportsRule","fontFaceRule","renderCss","definition","nesting","cssObj","part","conditionalRuleset","conditionalRule","v","_loop2","isEmpty","transformCss","_ref5","cssObjs","murmur2","h","k","len","refCounter","fileScopes","getFileScope","getAndIncrementRefCounter","isMergeableObject","isNonNullObject","isSpecial","stringValue","isReactElement","canUseSymbol","REACT_ELEMENT_TYPE","emptyTarget","val","cloneUnlessOtherwiseSpecified","deepmerge","defaultArrayMerge","element","getMergeFunction","customMerge","getEnumerableOwnPropertySymbols","symbol","getKeys","propertyIsOnObject","property","propertyIsUnsafe","mergeObject","destination","sourceIsArray","targetIsArray","sourceAndTargetTypesMatch","array","prev","deepmerge_1","cjs","bufferedCSSObjs","browserRuntimeAdapter","composition","_setPrototypeOf","_inherits","subClass","superClass","_wrapRegExp","BabelRegExp","buildGroups","getDevPrefix","debugId","debugFileName","parts","filePath","dir","file","normalizeIdentifier","generateIdentifier","identOption","refCount","packageName","fileScopeHash","hash","devPrefix","composedStyle","styleRules","_rule","sourceArray","style","useStyleProps","props","stylePropsFn","memoizedProps","React","filteredProps","stylePropFnProperties","styleProps","componentProps","styleClassName","RESPONSIVE_STYLE_PROPS"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export declare const RESPONSIVE_STYLE_PROPS: {
|
|
2
|
+
conditions: {
|
|
3
|
+
sm: {
|
|
4
|
+
"@media": string;
|
|
5
|
+
};
|
|
6
|
+
md: {
|
|
7
|
+
"@media": string;
|
|
8
|
+
};
|
|
9
|
+
lg: {
|
|
10
|
+
"@media": string;
|
|
11
|
+
};
|
|
12
|
+
xl: {
|
|
13
|
+
"@media": string;
|
|
14
|
+
};
|
|
15
|
+
"2xl": {
|
|
16
|
+
"@media": string;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
defaultCondition: string;
|
|
20
|
+
responsiveArray: string[];
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=responsive-style-props.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"responsive-style-props.d.ts","sourceRoot":"","sources":["../../../src/constants/responsive-style-props.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;CAYlC,CAAC"}
|