tailwind-clamp 4.0.6 → 4.0.7

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/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../node_modules/.pnpm/tailwindcss@4.0.15/node_modules/tailwindcss/dist/plugin.mjs","../lib/resolve-property.js","../lib/log.js","../node_modules/.pnpm/@csstools+css-tokenizer@3.0.3/node_modules/@csstools/css-tokenizer/dist/index.mjs","../node_modules/.pnpm/@csstools+css-parser-algorithms@3.0.4_@csstools+css-tokenizer@3.0.3/node_modules/@csstools/css-parser-algorithms/dist/index.mjs","../node_modules/.pnpm/@csstools+css-calc@2.1.2_@csstools+css-parser-algorithms@3.0.4_@csstools+css-tokenizer@_e215e7170ae5baf6e43e5fdddbc624e5/node_modules/@csstools/css-calc/dist/index.mjs","../lib/parse-value.js","../lib/clamp.js","../lib/index.js"],"sourcesContent":["function g(i,n){return{handler:i,config:n}}g.withOptions=function(i,n=()=>({})){function t(o){return{handler:i(o),config:n(o)}}return t.__isOptionsFunction=!0,t};var u=g;export{u as default};\n","const cssTransformValue = [\n 'translate(var(--tw-translate-x), var(--tw-translate-y))',\n 'rotate(var(--tw-rotate))',\n 'skewX(var(--tw-skew-x))',\n 'skewY(var(--tw-skew-y))',\n 'scaleX(var(--tw-scale-x))',\n 'scaleY(var(--tw-scale-y))',\n].join(' ');\n\nexport const resolveProperty = (name) => {\n switch (name) {\n // Sizing & Spacing\n case 'p':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['padding'],\n };\n\n case 'pt':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['paddingTop'],\n };\n\n case 'pb':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['paddingBottom'],\n };\n\n case 'pl':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['paddingLeft'],\n };\n\n case 'ps':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['paddingInlineStart'],\n };\n\n case 'pr':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['paddingRight'],\n };\n\n case 'pe':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['paddingInlineEnd'],\n };\n\n case 'px':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['paddingInline'],\n };\n\n case 'py':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['paddingBlock'],\n };\n\n case 'm':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['margin'],\n };\n\n case 'mt':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['marginTop'],\n };\n\n case 'mb':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['marginBottom'],\n };\n\n case 'ml':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['marginLeft'],\n };\n\n case 'ms':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['marginInlineStart'],\n };\n\n case 'mr':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['marginRight'],\n };\n\n case 'me':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['marginInlineEnd'],\n };\n\n case 'mx':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['marginInline'],\n };\n\n case 'my':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['marginBlock'],\n };\n\n case 'inset':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['inset'],\n };\n\n case 'inset-x':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['insetInline'],\n };\n\n case 'inset-y':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['insetBlock'],\n };\n\n case 'start':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['insetInlineStart'],\n };\n\n case 'end':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['insetInlineEnd'],\n };\n\n case 'top':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['top'],\n };\n\n case 'left':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['left'],\n };\n\n case 'right':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['right'],\n };\n\n case 'bottom':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['bottom'],\n };\n\n case 'gap':\n return {\n type: 'spacing',\n key: 'gap',\n props: ['gap'],\n };\n\n case 'gap-x':\n return {\n type: 'spacing',\n key: 'gap',\n props: ['columnGap'],\n };\n\n case 'gap-y':\n return {\n type: 'spacing',\n key: 'gap',\n props: ['rowGap'],\n };\n\n case 'w':\n return {\n type: 'spacing',\n key: 'width',\n props: ['width'],\n };\n\n case 'h':\n return {\n type: 'spacing',\n key: 'height',\n props: ['height'],\n };\n\n case 'size':\n return {\n type: 'spacing',\n key: 'size',\n props: ['width', 'height'],\n };\n\n case 'min-w':\n return {\n type: 'spacing',\n key: 'minWidth',\n props: ['minWidth'],\n };\n\n case 'min-h':\n return {\n type: 'spacing',\n key: 'minHeight',\n props: ['minHeight'],\n };\n\n case 'max-w':\n return {\n type: 'spacing',\n key: 'maxWidth',\n props: ['maxWidth'],\n };\n\n case 'max-h':\n return {\n type: 'spacing',\n key: 'maxHeight',\n props: ['maxHeight'],\n };\n\n case 'scroll-m':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMargin'],\n };\n\n case 'scroll-mx':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMarginInline'],\n };\n\n case 'scroll-my':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMarginBlock'],\n };\n case 'scroll-ms':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMarginInlineStart'],\n };\n\n case 'scroll-me':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMarginInlineEnd'],\n };\n\n case 'scroll-mt':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMarginTop'],\n };\n\n case 'scroll-mb':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMarginBottom'],\n };\n\n case 'scroll-ml':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMarginLeft'],\n };\n\n case 'scroll-mr':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMarginRight'],\n };\n\n case 'scroll-p':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPadding'],\n };\n\n case 'scroll-px':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPaddingInline'],\n };\n\n case 'scroll-py':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPaddingBlock'],\n };\n\n case 'scroll-ps':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPaddingInlineStart'],\n };\n\n case 'scroll-pe':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPaddingInlineEnd'],\n };\n\n case 'scroll-pt':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPaddingTop'],\n };\n\n case 'scroll-pb':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPaddingBottom'],\n };\n\n case 'scroll-pl':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPaddingLeft'],\n };\n\n case 'scroll-pr':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPaddingRight'],\n };\n\n case 'translate':\n return {\n type: 'spacing',\n key: 'translate',\n props: [\n '--tw-translate-x',\n '--tw-translate-y',\n { translate: 'var(--tw-translate-x) var(--tw-translate-y)' },\n ],\n };\n\n case 'translate-x':\n return {\n type: 'spacing',\n key: 'translate',\n props: [\n '--tw-translate-x',\n { translate: 'var(--tw-translate-x) var(--tw-translate-y)' },\n ],\n };\n\n case 'translate-y':\n return {\n type: 'spacing',\n key: 'translate',\n props: [\n '--tw-translate-y',\n { translate: 'var(--tw-translate-x) var(--tw-translate-y)' },\n ],\n };\n\n // Border & Stroke\n case 'stroke':\n return {\n type: 'regular',\n key: 'strokeWidth',\n props: ['strokeWidth'],\n };\n\n case 'border':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderWidth'],\n };\n\n case 'border-t':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderTopWidth'],\n };\n\n case 'border-b':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderBottomWidth'],\n };\n\n case 'border-l':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderLeftWidth'],\n };\n\n case 'border-s':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderInlineStartWidth'],\n };\n\n case 'border-r':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderRightWidth'],\n };\n\n case 'border-e':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderInlineEndWidth'],\n };\n\n case 'border-x':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderInlineWidth'],\n };\n\n case 'border-y':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderBlockWidth'],\n };\n\n // Border Radius\n case 'rounded':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderRadius'],\n };\n\n case 'rounded-s':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderStartStartRadius', 'borderEndStartRadius'],\n };\n\n case 'rounded-ss':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderStartStartRadius'],\n };\n\n case 'rounded-se':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderStartEndRadius'],\n };\n\n case 'rounded-e':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderStartEndRadius', 'borderEndEndRadius'],\n };\n\n case 'rounded-ee':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderEndEndRadius'],\n };\n\n case 'rounded-es':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderEndStartRadius'],\n };\n\n case 'rounded-t':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderTopLeftRadius', 'borderTopRightRadius'],\n };\n\n case 'rounded-r':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderTopRightRadius', 'borderBottomRightRadius'],\n };\n\n case 'rounded-b':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderBottomLeftRadius', 'borderBottomRightRadius'],\n };\n\n case 'rounded-l':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderTopLeftRadius', 'borderBottomLeftRadius'],\n };\n\n case 'rounded-tl':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderTopLeftRadius'],\n };\n\n case 'rounded-tr':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderTopRightRadius'],\n };\n\n case 'rounded-bl':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderBottomLeftRadius'],\n };\n\n case 'rounded-br':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderBottomRightRadius'],\n };\n\n case 'leading':\n return {\n type: 'regular',\n key: 'lineHeight',\n props: ['lineHeight'],\n };\n\n case 'tracking':\n return {\n type: 'regular',\n key: 'letterSpacing',\n props: ['letterSpacing'],\n };\n\n // Type\n case 'text':\n return {\n type: 'fontSize',\n key: 'fontSize',\n props: ['fontSize'],\n };\n\n default:\n return null;\n }\n};\n","export const log = {\n error() {\n console.log('\\x1b[31m', ...arguments, '\\x1b[0m');\n },\n warn() {\n console.log('\\x1b[33m', ...arguments, '\\x1b[0m');\n },\n info() {\n console.log('\\x1b[34m', ...arguments, '\\x1b[0m');\n },\n log() {\n console.log('\\x1b[90m', ...arguments, '\\x1b[0m');\n },\n};\n","class ParseError extends Error{sourceStart;sourceEnd;parserState;constructor(e,n,t,o){super(e),this.name=\"ParseError\",this.sourceStart=n,this.sourceEnd=t,this.parserState=o}}class ParseErrorWithToken extends ParseError{token;constructor(e,n,t,o,r){super(e,n,t,o),this.token=r}}const e={UnexpectedNewLineInString:\"Unexpected newline while consuming a string token.\",UnexpectedEOFInString:\"Unexpected EOF while consuming a string token.\",UnexpectedEOFInComment:\"Unexpected EOF while consuming a comment.\",UnexpectedEOFInURL:\"Unexpected EOF while consuming a url token.\",UnexpectedEOFInEscapedCodePoint:\"Unexpected EOF while consuming an escaped code point.\",UnexpectedCharacterInURL:\"Unexpected character while consuming a url token.\",InvalidEscapeSequenceInURL:\"Invalid escape sequence while consuming a url token.\",InvalidEscapeSequenceAfterBackslash:'Invalid escape sequence after \"\\\\\"'},n=\"undefined\"!=typeof globalThis&&\"structuredClone\"in globalThis;function cloneTokens(e){return n?structuredClone(e):JSON.parse(JSON.stringify(e))}function stringify(...e){let n=\"\";for(let t=0;t<e.length;t++)n+=e[t][1];return n}const t=13,o=45,r=10,i=43,s=65533;function checkIfFourCodePointsWouldStartCDO(e){return 60===e.source.codePointAt(e.cursor)&&33===e.source.codePointAt(e.cursor+1)&&e.source.codePointAt(e.cursor+2)===o&&e.source.codePointAt(e.cursor+3)===o}function isDigitCodePoint(e){return e>=48&&e<=57}function isUppercaseLetterCodePoint(e){return e>=65&&e<=90}function isLowercaseLetterCodePoint(e){return e>=97&&e<=122}function isHexDigitCodePoint(e){return e>=48&&e<=57||e>=97&&e<=102||e>=65&&e<=70}function isLetterCodePoint(e){return isLowercaseLetterCodePoint(e)||isUppercaseLetterCodePoint(e)}function isIdentStartCodePoint(e){return isLetterCodePoint(e)||isNonASCII_IdentCodePoint(e)||95===e}function isIdentCodePoint(e){return isIdentStartCodePoint(e)||isDigitCodePoint(e)||e===o}function isNonASCII_IdentCodePoint(e){return 183===e||8204===e||8205===e||8255===e||8256===e||8204===e||(192<=e&&e<=214||216<=e&&e<=246||248<=e&&e<=893||895<=e&&e<=8191||8304<=e&&e<=8591||11264<=e&&e<=12271||12289<=e&&e<=55295||63744<=e&&e<=64975||65008<=e&&e<=65533||(0===e||(!!isSurrogate(e)||e>=65536)))}function isNewLine(e){return e===r||e===t||12===e}function isWhitespace(e){return 32===e||e===r||9===e||e===t||12===e}function isSurrogate(e){return e>=55296&&e<=57343}function checkIfTwoCodePointsAreAValidEscape(e){return 92===e.source.codePointAt(e.cursor)&&!isNewLine(e.source.codePointAt(e.cursor+1)??-1)}function checkIfThreeCodePointsWouldStartAnIdentSequence(e,n){return n.source.codePointAt(n.cursor)===o?n.source.codePointAt(n.cursor+1)===o||(!!isIdentStartCodePoint(n.source.codePointAt(n.cursor+1)??-1)||92===n.source.codePointAt(n.cursor+1)&&!isNewLine(n.source.codePointAt(n.cursor+2)??-1)):!!isIdentStartCodePoint(n.source.codePointAt(n.cursor)??-1)||checkIfTwoCodePointsAreAValidEscape(n)}function checkIfThreeCodePointsWouldStartANumber(e){return e.source.codePointAt(e.cursor)===i||e.source.codePointAt(e.cursor)===o?!!isDigitCodePoint(e.source.codePointAt(e.cursor+1)??-1)||46===e.source.codePointAt(e.cursor+1)&&isDigitCodePoint(e.source.codePointAt(e.cursor+2)??-1):46===e.source.codePointAt(e.cursor)?isDigitCodePoint(e.source.codePointAt(e.cursor+1)??-1):isDigitCodePoint(e.source.codePointAt(e.cursor)??-1)}function checkIfTwoCodePointsStartAComment(e){return 47===e.source.codePointAt(e.cursor)&&42===e.source.codePointAt(e.cursor+1)}function checkIfThreeCodePointsWouldStartCDC(e){return e.source.codePointAt(e.cursor)===o&&e.source.codePointAt(e.cursor+1)===o&&62===e.source.codePointAt(e.cursor+2)}var c,a,u;function mirrorVariantType(e){switch(e){case c.OpenParen:return c.CloseParen;case c.CloseParen:return c.OpenParen;case c.OpenCurly:return c.CloseCurly;case c.CloseCurly:return c.OpenCurly;case c.OpenSquare:return c.CloseSquare;case c.CloseSquare:return c.OpenSquare;default:return null}}function mirrorVariant(e){switch(e[0]){case c.OpenParen:return[c.CloseParen,\")\",-1,-1,void 0];case c.CloseParen:return[c.OpenParen,\"(\",-1,-1,void 0];case c.OpenCurly:return[c.CloseCurly,\"}\",-1,-1,void 0];case c.CloseCurly:return[c.OpenCurly,\"{\",-1,-1,void 0];case c.OpenSquare:return[c.CloseSquare,\"]\",-1,-1,void 0];case c.CloseSquare:return[c.OpenSquare,\"[\",-1,-1,void 0];default:return null}}function consumeComment(n,t){for(t.advanceCodePoint(2);;){const o=t.readCodePoint();if(void 0===o){const o=[c.Comment,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,void 0];return n.onParseError(new ParseErrorWithToken(e.UnexpectedEOFInComment,t.representationStart,t.representationEnd,[\"4.3.2. Consume comments\",\"Unexpected EOF\"],o)),o}if(42===o&&(void 0!==t.source.codePointAt(t.cursor)&&47===t.source.codePointAt(t.cursor))){t.advanceCodePoint();break}}return[c.Comment,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,void 0]}function consumeEscapedCodePoint(n,o){const i=o.readCodePoint();if(void 0===i)return n.onParseError(new ParseError(e.UnexpectedEOFInEscapedCodePoint,o.representationStart,o.representationEnd,[\"4.3.7. Consume an escaped code point\",\"Unexpected EOF\"])),s;if(isHexDigitCodePoint(i)){const e=[i];let n;for(;void 0!==(n=o.source.codePointAt(o.cursor))&&isHexDigitCodePoint(n)&&e.length<6;)e.push(n),o.advanceCodePoint();isWhitespace(o.source.codePointAt(o.cursor)??-1)&&(o.source.codePointAt(o.cursor)===t&&o.source.codePointAt(o.cursor+1)===r&&o.advanceCodePoint(),o.advanceCodePoint());const c=parseInt(String.fromCodePoint(...e),16);return 0===c||isSurrogate(c)||c>1114111?s:c}return 0===i||isSurrogate(i)?s:i}function consumeIdentSequence(e,n){const t=[];for(;;){const o=n.source.codePointAt(n.cursor)??-1;if(0===o||isSurrogate(o))t.push(s),n.advanceCodePoint(+(o>65535)+1);else if(isIdentCodePoint(o))t.push(o),n.advanceCodePoint(+(o>65535)+1);else{if(!checkIfTwoCodePointsAreAValidEscape(n))return t;n.advanceCodePoint(),t.push(consumeEscapedCodePoint(e,n))}}}function consumeHashToken(e,n){n.advanceCodePoint();const t=n.source.codePointAt(n.cursor);if(void 0!==t&&(isIdentCodePoint(t)||checkIfTwoCodePointsAreAValidEscape(n))){let t=u.Unrestricted;checkIfThreeCodePointsWouldStartAnIdentSequence(0,n)&&(t=u.ID);const o=consumeIdentSequence(e,n);return[c.Hash,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{value:String.fromCodePoint(...o),type:t}]}return[c.Delim,\"#\",n.representationStart,n.representationEnd,{value:\"#\"}]}function consumeNumber(e,n){let t=a.Integer;for(n.source.codePointAt(n.cursor)!==i&&n.source.codePointAt(n.cursor)!==o||n.advanceCodePoint();isDigitCodePoint(n.source.codePointAt(n.cursor)??-1);)n.advanceCodePoint();if(46===n.source.codePointAt(n.cursor)&&isDigitCodePoint(n.source.codePointAt(n.cursor+1)??-1))for(n.advanceCodePoint(2),t=a.Number;isDigitCodePoint(n.source.codePointAt(n.cursor)??-1);)n.advanceCodePoint();if(101===n.source.codePointAt(n.cursor)||69===n.source.codePointAt(n.cursor)){if(isDigitCodePoint(n.source.codePointAt(n.cursor+1)??-1))n.advanceCodePoint(2);else{if(n.source.codePointAt(n.cursor+1)!==o&&n.source.codePointAt(n.cursor+1)!==i||!isDigitCodePoint(n.source.codePointAt(n.cursor+2)??-1))return t;n.advanceCodePoint(3)}for(t=a.Number;isDigitCodePoint(n.source.codePointAt(n.cursor)??-1);)n.advanceCodePoint()}return t}function consumeNumericToken(e,n){let t;{const e=n.source.codePointAt(n.cursor);e===o?t=\"-\":e===i&&(t=\"+\")}const r=consumeNumber(0,n),s=parseFloat(n.source.slice(n.representationStart,n.representationEnd+1));if(checkIfThreeCodePointsWouldStartAnIdentSequence(0,n)){const o=consumeIdentSequence(e,n);return[c.Dimension,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{value:s,signCharacter:t,type:r,unit:String.fromCodePoint(...o)}]}return 37===n.source.codePointAt(n.cursor)?(n.advanceCodePoint(),[c.Percentage,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{value:s,signCharacter:t}]):[c.Number,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{value:s,signCharacter:t,type:r}]}function consumeWhiteSpace(e){for(;isWhitespace(e.source.codePointAt(e.cursor)??-1);)e.advanceCodePoint();return[c.Whitespace,e.source.slice(e.representationStart,e.representationEnd+1),e.representationStart,e.representationEnd,void 0]}!function(e){e.Comment=\"comment\",e.AtKeyword=\"at-keyword-token\",e.BadString=\"bad-string-token\",e.BadURL=\"bad-url-token\",e.CDC=\"CDC-token\",e.CDO=\"CDO-token\",e.Colon=\"colon-token\",e.Comma=\"comma-token\",e.Delim=\"delim-token\",e.Dimension=\"dimension-token\",e.EOF=\"EOF-token\",e.Function=\"function-token\",e.Hash=\"hash-token\",e.Ident=\"ident-token\",e.Number=\"number-token\",e.Percentage=\"percentage-token\",e.Semicolon=\"semicolon-token\",e.String=\"string-token\",e.URL=\"url-token\",e.Whitespace=\"whitespace-token\",e.OpenParen=\"(-token\",e.CloseParen=\")-token\",e.OpenSquare=\"[-token\",e.CloseSquare=\"]-token\",e.OpenCurly=\"{-token\",e.CloseCurly=\"}-token\",e.UnicodeRange=\"unicode-range-token\"}(c||(c={})),function(e){e.Integer=\"integer\",e.Number=\"number\"}(a||(a={})),function(e){e.Unrestricted=\"unrestricted\",e.ID=\"id\"}(u||(u={}));class Reader{cursor=0;source=\"\";representationStart=0;representationEnd=-1;constructor(e){this.source=e}advanceCodePoint(e=1){this.cursor=this.cursor+e,this.representationEnd=this.cursor-1}readCodePoint(){const e=this.source.codePointAt(this.cursor);if(void 0!==e)return this.cursor=this.cursor+1,this.representationEnd=this.cursor-1,e}unreadCodePoint(e=1){this.cursor=this.cursor-e,this.representationEnd=this.cursor-1}resetRepresentation(){this.representationStart=this.cursor,this.representationEnd=-1}}function consumeStringToken(n,o){let i=\"\";const a=o.readCodePoint();for(;;){const u=o.readCodePoint();if(void 0===u){const t=[c.String,o.source.slice(o.representationStart,o.representationEnd+1),o.representationStart,o.representationEnd,{value:i}];return n.onParseError(new ParseErrorWithToken(e.UnexpectedEOFInString,o.representationStart,o.representationEnd,[\"4.3.5. Consume a string token\",\"Unexpected EOF\"],t)),t}if(isNewLine(u)){o.unreadCodePoint();const i=[c.BadString,o.source.slice(o.representationStart,o.representationEnd+1),o.representationStart,o.representationEnd,void 0];return n.onParseError(new ParseErrorWithToken(e.UnexpectedNewLineInString,o.representationStart,o.source.codePointAt(o.cursor)===t&&o.source.codePointAt(o.cursor+1)===r?o.representationEnd+2:o.representationEnd+1,[\"4.3.5. Consume a string token\",\"Unexpected newline\"],i)),i}if(u===a)return[c.String,o.source.slice(o.representationStart,o.representationEnd+1),o.representationStart,o.representationEnd,{value:i}];if(92!==u)0===u||isSurrogate(u)?i+=String.fromCodePoint(s):i+=String.fromCodePoint(u);else{if(void 0===o.source.codePointAt(o.cursor))continue;if(isNewLine(o.source.codePointAt(o.cursor)??-1)){o.source.codePointAt(o.cursor)===t&&o.source.codePointAt(o.cursor+1)===r&&o.advanceCodePoint(),o.advanceCodePoint();continue}i+=String.fromCodePoint(consumeEscapedCodePoint(n,o))}}}function checkIfCodePointsMatchURLIdent(e){return!(3!==e.length||117!==e[0]&&85!==e[0]||114!==e[1]&&82!==e[1]||108!==e[2]&&76!==e[2])}function consumeBadURL(e,n){for(;;){const t=n.source.codePointAt(n.cursor);if(void 0===t)return;if(41===t)return void n.advanceCodePoint();checkIfTwoCodePointsAreAValidEscape(n)?(n.advanceCodePoint(),consumeEscapedCodePoint(e,n)):n.advanceCodePoint()}}function consumeUrlToken(n,t){for(;isWhitespace(t.source.codePointAt(t.cursor)??-1);)t.advanceCodePoint();let o=\"\";for(;;){if(void 0===t.source.codePointAt(t.cursor)){const r=[c.URL,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,{value:o}];return n.onParseError(new ParseErrorWithToken(e.UnexpectedEOFInURL,t.representationStart,t.representationEnd,[\"4.3.6. Consume a url token\",\"Unexpected EOF\"],r)),r}if(41===t.source.codePointAt(t.cursor))return t.advanceCodePoint(),[c.URL,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,{value:o}];if(isWhitespace(t.source.codePointAt(t.cursor)??-1)){for(t.advanceCodePoint();isWhitespace(t.source.codePointAt(t.cursor)??-1);)t.advanceCodePoint();if(void 0===t.source.codePointAt(t.cursor)){const r=[c.URL,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,{value:o}];return n.onParseError(new ParseErrorWithToken(e.UnexpectedEOFInURL,t.representationStart,t.representationEnd,[\"4.3.6. Consume a url token\",\"Consume as much whitespace as possible\",\"Unexpected EOF\"],r)),r}return 41===t.source.codePointAt(t.cursor)?(t.advanceCodePoint(),[c.URL,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,{value:o}]):(consumeBadURL(n,t),[c.BadURL,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,void 0])}const i=t.source.codePointAt(t.cursor);if(34===i||39===i||40===i||(11===(r=i??-1)||127===r||0<=r&&r<=8||14<=r&&r<=31)){consumeBadURL(n,t);const o=[c.BadURL,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,void 0];return n.onParseError(new ParseErrorWithToken(e.UnexpectedCharacterInURL,t.representationStart,t.representationEnd,[\"4.3.6. Consume a url token\",\"Unexpected U+0022 QUOTATION MARK (\\\"), U+0027 APOSTROPHE ('), U+0028 LEFT PARENTHESIS (() or non-printable code point\"],o)),o}if(92===i){if(checkIfTwoCodePointsAreAValidEscape(t)){t.advanceCodePoint(),o+=String.fromCodePoint(consumeEscapedCodePoint(n,t));continue}consumeBadURL(n,t);const r=[c.BadURL,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,void 0];return n.onParseError(new ParseErrorWithToken(e.InvalidEscapeSequenceInURL,t.representationStart,t.representationEnd,[\"4.3.6. Consume a url token\",\"U+005C REVERSE SOLIDUS (\\\\)\",\"The input stream does not start with a valid escape sequence\"],r)),r}0===t.source.codePointAt(t.cursor)||isSurrogate(t.source.codePointAt(t.cursor)??-1)?(o+=String.fromCodePoint(s),t.advanceCodePoint()):(o+=t.source[t.cursor],t.advanceCodePoint())}var r}function consumeIdentLikeToken(e,n){const t=consumeIdentSequence(e,n);if(40!==n.source.codePointAt(n.cursor))return[c.Ident,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{value:String.fromCodePoint(...t)}];if(checkIfCodePointsMatchURLIdent(t)){n.advanceCodePoint();let o=0;for(;;){const e=isWhitespace(n.source.codePointAt(n.cursor)??-1),r=isWhitespace(n.source.codePointAt(n.cursor+1)??-1);if(e&&r){o+=1,n.advanceCodePoint(1);continue}const i=e?n.source.codePointAt(n.cursor+1):n.source.codePointAt(n.cursor);if(34===i||39===i)return o>0&&n.unreadCodePoint(o),[c.Function,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{value:String.fromCodePoint(...t)}];break}return consumeUrlToken(e,n)}return n.advanceCodePoint(),[c.Function,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{value:String.fromCodePoint(...t)}]}function checkIfThreeCodePointsWouldStartAUnicodeRange(e){return!(117!==e.source.codePointAt(e.cursor)&&85!==e.source.codePointAt(e.cursor)||e.source.codePointAt(e.cursor+1)!==i||63!==e.source.codePointAt(e.cursor+2)&&!isHexDigitCodePoint(e.source.codePointAt(e.cursor+2)??-1))}function consumeUnicodeRangeToken(e,n){n.advanceCodePoint(2);const t=[],r=[];let i;for(;void 0!==(i=n.source.codePointAt(n.cursor))&&t.length<6&&isHexDigitCodePoint(i);)t.push(i),n.advanceCodePoint();for(;void 0!==(i=n.source.codePointAt(n.cursor))&&t.length<6&&63===i;)0===r.length&&r.push(...t),t.push(48),r.push(70),n.advanceCodePoint();if(!r.length&&n.source.codePointAt(n.cursor)===o&&isHexDigitCodePoint(n.source.codePointAt(n.cursor+1)??-1))for(n.advanceCodePoint();void 0!==(i=n.source.codePointAt(n.cursor))&&r.length<6&&isHexDigitCodePoint(i);)r.push(i),n.advanceCodePoint();if(!r.length){const e=parseInt(String.fromCodePoint(...t),16);return[c.UnicodeRange,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{startOfRange:e,endOfRange:e}]}const s=parseInt(String.fromCodePoint(...t),16),a=parseInt(String.fromCodePoint(...r),16);return[c.UnicodeRange,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{startOfRange:s,endOfRange:a}]}function tokenize(e,n){const t=tokenizer(e,n),o=[];for(;!t.endOfFile();)o.push(t.nextToken());return o.push(t.nextToken()),o}function tokenizer(n,s){const a=n.css.valueOf(),u=n.unicodeRangesAllowed??!1,d=new Reader(a),p={onParseError:s?.onParseError??noop};return{nextToken:function nextToken(){d.resetRepresentation();const n=d.source.codePointAt(d.cursor);if(void 0===n)return[c.EOF,\"\",-1,-1,void 0];if(47===n&&checkIfTwoCodePointsStartAComment(d))return consumeComment(p,d);if(u&&(117===n||85===n)&&checkIfThreeCodePointsWouldStartAUnicodeRange(d))return consumeUnicodeRangeToken(0,d);if(isIdentStartCodePoint(n))return consumeIdentLikeToken(p,d);if(isDigitCodePoint(n))return consumeNumericToken(p,d);switch(n){case 44:return d.advanceCodePoint(),[c.Comma,\",\",d.representationStart,d.representationEnd,void 0];case 58:return d.advanceCodePoint(),[c.Colon,\":\",d.representationStart,d.representationEnd,void 0];case 59:return d.advanceCodePoint(),[c.Semicolon,\";\",d.representationStart,d.representationEnd,void 0];case 40:return d.advanceCodePoint(),[c.OpenParen,\"(\",d.representationStart,d.representationEnd,void 0];case 41:return d.advanceCodePoint(),[c.CloseParen,\")\",d.representationStart,d.representationEnd,void 0];case 91:return d.advanceCodePoint(),[c.OpenSquare,\"[\",d.representationStart,d.representationEnd,void 0];case 93:return d.advanceCodePoint(),[c.CloseSquare,\"]\",d.representationStart,d.representationEnd,void 0];case 123:return d.advanceCodePoint(),[c.OpenCurly,\"{\",d.representationStart,d.representationEnd,void 0];case 125:return d.advanceCodePoint(),[c.CloseCurly,\"}\",d.representationStart,d.representationEnd,void 0];case 39:case 34:return consumeStringToken(p,d);case 35:return consumeHashToken(p,d);case i:case 46:return checkIfThreeCodePointsWouldStartANumber(d)?consumeNumericToken(p,d):(d.advanceCodePoint(),[c.Delim,d.source[d.representationStart],d.representationStart,d.representationEnd,{value:d.source[d.representationStart]}]);case r:case t:case 12:case 9:case 32:return consumeWhiteSpace(d);case o:return checkIfThreeCodePointsWouldStartANumber(d)?consumeNumericToken(p,d):checkIfThreeCodePointsWouldStartCDC(d)?(d.advanceCodePoint(3),[c.CDC,\"--\\x3e\",d.representationStart,d.representationEnd,void 0]):checkIfThreeCodePointsWouldStartAnIdentSequence(0,d)?consumeIdentLikeToken(p,d):(d.advanceCodePoint(),[c.Delim,\"-\",d.representationStart,d.representationEnd,{value:\"-\"}]);case 60:return checkIfFourCodePointsWouldStartCDO(d)?(d.advanceCodePoint(4),[c.CDO,\"\\x3c!--\",d.representationStart,d.representationEnd,void 0]):(d.advanceCodePoint(),[c.Delim,\"<\",d.representationStart,d.representationEnd,{value:\"<\"}]);case 64:if(d.advanceCodePoint(),checkIfThreeCodePointsWouldStartAnIdentSequence(0,d)){const e=consumeIdentSequence(p,d);return[c.AtKeyword,d.source.slice(d.representationStart,d.representationEnd+1),d.representationStart,d.representationEnd,{value:String.fromCodePoint(...e)}]}return[c.Delim,\"@\",d.representationStart,d.representationEnd,{value:\"@\"}];case 92:{if(checkIfTwoCodePointsAreAValidEscape(d))return consumeIdentLikeToken(p,d);d.advanceCodePoint();const n=[c.Delim,\"\\\\\",d.representationStart,d.representationEnd,{value:\"\\\\\"}];return p.onParseError(new ParseErrorWithToken(e.InvalidEscapeSequenceAfterBackslash,d.representationStart,d.representationEnd,[\"4.3.1. Consume a token\",\"U+005C REVERSE SOLIDUS (\\\\)\",\"The input stream does not start with a valid escape sequence\"],n)),n}}return d.advanceCodePoint(),[c.Delim,d.source[d.representationStart],d.representationStart,d.representationEnd,{value:d.source[d.representationStart]}]},endOfFile:function endOfFile(){return void 0===d.source.codePointAt(d.cursor)}}}function noop(){}function mutateIdent(e,n){const t=[];for(const e of n)t.push(e.codePointAt(0));const o=String.fromCodePoint(...ensureThatValueRoundTripsAsIdent(t));e[1]=o,e[4].value=n}function mutateUnit(e,n){const t=[];for(const e of n)t.push(e.codePointAt(0));const o=ensureThatValueRoundTripsAsIdent(t);101===o[0]&&insertEscapedCodePoint(o,0,o[0]);const r=String.fromCodePoint(...o),i=\"+\"===e[4].signCharacter?e[4].signCharacter:\"\",s=e[4].value.toString();e[1]=`${i}${s}${r}`,e[4].unit=n}function ensureThatValueRoundTripsAsIdent(e){let n=0;e[0]===o&&e[1]===o?n=2:e[0]===o&&e[1]?(n=2,isIdentStartCodePoint(e[1])||(n+=insertEscapedCodePoint(e,1,e[1]))):isIdentStartCodePoint(e[0])?n=1:(n=1,n+=insertEscapedCodePoint(e,0,e[0]));for(let t=n;t<e.length;t++)isIdentCodePoint(e[t])||(t+=insertEscapedCodePoint(e,t,e[t]));return e}function insertEscapedCodePoint(e,n,t){const o=t.toString(16),r=[];for(const e of o)r.push(e.codePointAt(0));const i=e[n+1];return n===e.length-1||i&&isHexDigitCodePoint(i)?(e.splice(n,1,92,...r,32),1+r.length):(e.splice(n,1,92,...r),r.length)}const d=Object.values(c);function isToken(e){return!!Array.isArray(e)&&(!(e.length<4)&&(!!d.includes(e[0])&&(\"string\"==typeof e[1]&&(\"number\"==typeof e[2]&&\"number\"==typeof e[3]))))}function isTokenNumeric(e){if(!e)return!1;switch(e[0]){case c.Dimension:case c.Number:case c.Percentage:return!0;default:return!1}}function isTokenWhiteSpaceOrComment(e){if(!e)return!1;switch(e[0]){case c.Whitespace:case c.Comment:return!0;default:return!1}}function isTokenAtKeyword(e){return!!e&&e[0]===c.AtKeyword}function isTokenBadString(e){return!!e&&e[0]===c.BadString}function isTokenBadURL(e){return!!e&&e[0]===c.BadURL}function isTokenCDC(e){return!!e&&e[0]===c.CDC}function isTokenCDO(e){return!!e&&e[0]===c.CDO}function isTokenColon(e){return!!e&&e[0]===c.Colon}function isTokenComma(e){return!!e&&e[0]===c.Comma}function isTokenComment(e){return!!e&&e[0]===c.Comment}function isTokenDelim(e){return!!e&&e[0]===c.Delim}function isTokenDimension(e){return!!e&&e[0]===c.Dimension}function isTokenEOF(e){return!!e&&e[0]===c.EOF}function isTokenFunction(e){return!!e&&e[0]===c.Function}function isTokenHash(e){return!!e&&e[0]===c.Hash}function isTokenIdent(e){return!!e&&e[0]===c.Ident}function isTokenNumber(e){return!!e&&e[0]===c.Number}function isTokenPercentage(e){return!!e&&e[0]===c.Percentage}function isTokenSemicolon(e){return!!e&&e[0]===c.Semicolon}function isTokenString(e){return!!e&&e[0]===c.String}function isTokenURL(e){return!!e&&e[0]===c.URL}function isTokenWhitespace(e){return!!e&&e[0]===c.Whitespace}function isTokenOpenParen(e){return!!e&&e[0]===c.OpenParen}function isTokenCloseParen(e){return!!e&&e[0]===c.CloseParen}function isTokenOpenSquare(e){return!!e&&e[0]===c.OpenSquare}function isTokenCloseSquare(e){return!!e&&e[0]===c.CloseSquare}function isTokenOpenCurly(e){return!!e&&e[0]===c.OpenCurly}function isTokenCloseCurly(e){return!!e&&e[0]===c.CloseCurly}function isTokenUnicodeRange(e){return!!e&&e[0]===c.UnicodeRange}export{u as HashType,a as NumberType,ParseError,e as ParseErrorMessage,ParseErrorWithToken,c as TokenType,cloneTokens,isToken,isTokenAtKeyword,isTokenBadString,isTokenBadURL,isTokenCDC,isTokenCDO,isTokenCloseCurly,isTokenCloseParen,isTokenCloseSquare,isTokenColon,isTokenComma,isTokenComment,isTokenDelim,isTokenDimension,isTokenEOF,isTokenFunction,isTokenHash,isTokenIdent,isTokenNumber,isTokenNumeric,isTokenOpenCurly,isTokenOpenParen,isTokenOpenSquare,isTokenPercentage,isTokenSemicolon,isTokenString,isTokenURL,isTokenUnicodeRange,isTokenWhiteSpaceOrComment,isTokenWhitespace,mirrorVariant,mirrorVariantType,mutateIdent,mutateUnit,stringify,tokenize,tokenizer};\n","import{isTokenEOF as e,TokenType as n,isToken as t,stringify as o,mirrorVariant as s,isTokenOpenParen as i,isTokenOpenCurly as r,isTokenOpenSquare as a,isTokenFunction as c,isTokenWhitespace as u,isTokenComment as l,ParseError as d,isTokenCloseParen as h,isTokenWhiteSpaceOrComment as p,mirrorVariantType as m,isTokenComma as k}from\"@csstools/css-tokenizer\";var f;function walkerIndexGenerator(e){let n=e.slice();return(e,t,o)=>{let s=-1;for(let i=n.indexOf(t);i<n.length&&(s=e.indexOf(n[i]),-1===s||s<o);i++);return-1===s||s===o&&t===e[o]&&(s++,s>=e.length)?-1:(n=e.slice(),s)}}function consumeComponentValue(e,n){const t=n[0];if(i(t)||r(t)||a(t)){const t=consumeSimpleBlock(e,n);return{advance:t.advance,node:t.node}}if(c(t)){const t=consumeFunction(e,n);return{advance:t.advance,node:t.node}}if(u(t)){const t=consumeWhitespace(e,n);return{advance:t.advance,node:t.node}}if(l(t)){const t=consumeComment(e,n);return{advance:t.advance,node:t.node}}return{advance:1,node:new TokenNode(t)}}!function(e){e.Function=\"function\",e.SimpleBlock=\"simple-block\",e.Whitespace=\"whitespace\",e.Comment=\"comment\",e.Token=\"token\"}(f||(f={}));class ContainerNodeBaseClass{value=[];indexOf(e){return this.value.indexOf(e)}at(e){if(\"number\"==typeof e)return e<0&&(e=this.value.length+e),this.value[e]}forEach(e,n){if(0===this.value.length)return;const t=walkerIndexGenerator(this.value);let o=0;for(;o<this.value.length;){const s=this.value[o];let i;if(n&&(i={...n}),!1===e({node:s,parent:this,state:i},o))return!1;if(o=t(this.value,s,o),-1===o)break}}walk(e,n){0!==this.value.length&&this.forEach(((n,t)=>!1!==e(n,t)&&((!(\"walk\"in n.node)||!this.value.includes(n.node)||!1!==n.node.walk(e,n.state))&&void 0)),n)}}class FunctionNode extends ContainerNodeBaseClass{type=f.Function;name;endToken;constructor(e,n,t){super(),this.name=e,this.endToken=n,this.value=t}getName(){return this.name[4].value}normalize(){e(this.endToken)&&(this.endToken=[n.CloseParen,\")\",-1,-1,void 0])}tokens(){return e(this.endToken)?[this.name,...this.value.flatMap((e=>e.tokens()))]:[this.name,...this.value.flatMap((e=>e.tokens())),this.endToken]}toString(){const e=this.value.map((e=>t(e)?o(e):e.toString())).join(\"\");return o(this.name)+e+o(this.endToken)}toJSON(){return{type:this.type,name:this.getName(),tokens:this.tokens(),value:this.value.map((e=>e.toJSON()))}}isFunctionNode(){return FunctionNode.isFunctionNode(this)}static isFunctionNode(e){return!!e&&(e instanceof FunctionNode&&e.type===f.Function)}}function consumeFunction(n,t){const o=[];let s=1;for(;;){const i=t[s];if(!i||e(i))return n.onParseError(new d(\"Unexpected EOF while consuming a function.\",t[0][2],t[t.length-1][3],[\"5.4.9. Consume a function\",\"Unexpected EOF\"])),{advance:t.length,node:new FunctionNode(t[0],i,o)};if(h(i))return{advance:s+1,node:new FunctionNode(t[0],i,o)};if(p(i)){const e=consumeAllCommentsAndWhitespace(n,t.slice(s));s+=e.advance,o.push(...e.nodes);continue}const r=consumeComponentValue(n,t.slice(s));s+=r.advance,o.push(r.node)}}class SimpleBlockNode extends ContainerNodeBaseClass{type=f.SimpleBlock;startToken;endToken;constructor(e,n,t){super(),this.startToken=e,this.endToken=n,this.value=t}normalize(){if(e(this.endToken)){const e=s(this.startToken);e&&(this.endToken=e)}}tokens(){return e(this.endToken)?[this.startToken,...this.value.flatMap((e=>e.tokens()))]:[this.startToken,...this.value.flatMap((e=>e.tokens())),this.endToken]}toString(){const e=this.value.map((e=>t(e)?o(e):e.toString())).join(\"\");return o(this.startToken)+e+o(this.endToken)}toJSON(){return{type:this.type,startToken:this.startToken,tokens:this.tokens(),value:this.value.map((e=>e.toJSON()))}}isSimpleBlockNode(){return SimpleBlockNode.isSimpleBlockNode(this)}static isSimpleBlockNode(e){return!!e&&(e instanceof SimpleBlockNode&&e.type===f.SimpleBlock)}}function consumeSimpleBlock(n,t){const o=m(t[0][0]);if(!o)throw new Error(\"Failed to parse, a mirror variant must exist for all block open tokens.\");const s=[];let i=1;for(;;){const r=t[i];if(!r||e(r))return n.onParseError(new d(\"Unexpected EOF while consuming a simple block.\",t[0][2],t[t.length-1][3],[\"5.4.8. Consume a simple block\",\"Unexpected EOF\"])),{advance:t.length,node:new SimpleBlockNode(t[0],r,s)};if(r[0]===o)return{advance:i+1,node:new SimpleBlockNode(t[0],r,s)};if(p(r)){const e=consumeAllCommentsAndWhitespace(n,t.slice(i));i+=e.advance,s.push(...e.nodes);continue}const a=consumeComponentValue(n,t.slice(i));i+=a.advance,s.push(a.node)}}class WhitespaceNode{type=f.Whitespace;value;constructor(e){this.value=e}tokens(){return this.value}toString(){return o(...this.value)}toJSON(){return{type:this.type,tokens:this.tokens()}}isWhitespaceNode(){return WhitespaceNode.isWhitespaceNode(this)}static isWhitespaceNode(e){return!!e&&(e instanceof WhitespaceNode&&e.type===f.Whitespace)}}function consumeWhitespace(e,n){let t=0;for(;;){const e=n[t];if(!u(e))return{advance:t,node:new WhitespaceNode(n.slice(0,t))};t++}}class CommentNode{type=f.Comment;value;constructor(e){this.value=e}tokens(){return[this.value]}toString(){return o(this.value)}toJSON(){return{type:this.type,tokens:this.tokens()}}isCommentNode(){return CommentNode.isCommentNode(this)}static isCommentNode(e){return!!e&&(e instanceof CommentNode&&e.type===f.Comment)}}function consumeComment(e,n){return{advance:1,node:new CommentNode(n[0])}}function consumeAllCommentsAndWhitespace(e,n){const t=[];let o=0;for(;;)if(u(n[o])){const e=consumeWhitespace(0,n.slice(o));o+=e.advance,t.push(e.node)}else{if(!l(n[o]))return{advance:o,nodes:t};t.push(new CommentNode(n[o])),o++}}class TokenNode{type=f.Token;value;constructor(e){this.value=e}tokens(){return[this.value]}toString(){return this.value[1]}toJSON(){return{type:this.type,tokens:this.tokens()}}isTokenNode(){return TokenNode.isTokenNode(this)}static isTokenNode(e){return!!e&&(e instanceof TokenNode&&e.type===f.Token)}}function parseComponentValue(t,o){const s={onParseError:o?.onParseError??(()=>{})},i=[...t];e(i[i.length-1])&&i.push([n.EOF,\"\",i[i.length-1][2],i[i.length-1][3],void 0]);const r=consumeComponentValue(s,i);if(e(i[Math.min(r.advance,i.length-1)]))return r.node;s.onParseError(new d(\"Expected EOF after parsing a component value.\",t[0][2],t[t.length-1][3],[\"5.3.9. Parse a component value\",\"Expected EOF\"]))}function parseListOfComponentValues(t,o){const s={onParseError:o?.onParseError??(()=>{})},i=[...t];e(i[i.length-1])&&i.push([n.EOF,\"\",i[i.length-1][2],i[i.length-1][3],void 0]);const r=[];let a=0;for(;;){if(!i[a]||e(i[a]))return r;const n=consumeComponentValue(s,i.slice(a));r.push(n.node),a+=n.advance}}function parseCommaSeparatedListOfComponentValues(t,o){const s={onParseError:o?.onParseError??(()=>{})},i=[...t];if(0===t.length)return[];e(i[i.length-1])&&i.push([n.EOF,\"\",i[i.length-1][2],i[i.length-1][3],void 0]);const r=[];let a=[],c=0;for(;;){if(!i[c]||e(i[c]))return a.length&&r.push(a),r;if(k(i[c])){r.push(a),a=[],c++;continue}const n=consumeComponentValue(s,t.slice(c));a.push(n.node),c+=n.advance}}function gatherNodeAncestry(e){const n=new Map;return e.walk((e=>{Array.isArray(e.node)?e.node.forEach((t=>{n.set(t,e.parent)})):n.set(e.node,e.parent)})),n}function forEach(e,n,t){if(0===e.length)return;const o=walkerIndexGenerator(e);let s=0;for(;s<e.length;){const i=e[s];let r;if(t&&(r={...t}),!1===n({node:i,parent:{value:e},state:r},s))return!1;if(s=o(e,i,s),-1===s)break}}function walk(e,n,t){0!==e.length&&forEach(e,((t,o)=>!1!==n(t,o)&&((!(\"walk\"in t.node)||!e.includes(t.node)||!1!==t.node.walk(n,t.state))&&void 0)),t)}function replaceComponentValues(e,n){for(let t=0;t<e.length;t++){walk(e[t],((e,t)=>{if(\"number\"!=typeof t)return;const o=n(e.node);o&&(Array.isArray(o)?e.parent.value.splice(t,1,...o):e.parent.value.splice(t,1,o))}))}return e}function stringify(e){return e.map((e=>e.map((e=>o(...e.tokens()))).join(\"\"))).join(\",\")}function isSimpleBlockNode(e){return SimpleBlockNode.isSimpleBlockNode(e)}function isFunctionNode(e){return FunctionNode.isFunctionNode(e)}function isWhitespaceNode(e){return WhitespaceNode.isWhitespaceNode(e)}function isCommentNode(e){return CommentNode.isCommentNode(e)}function isWhiteSpaceOrCommentNode(e){return isWhitespaceNode(e)||isCommentNode(e)}function isTokenNode(e){return TokenNode.isTokenNode(e)}function sourceIndices(e){if(Array.isArray(e)){const n=e[0];if(!n)return[0,0];const t=e[e.length-1]||n;return[sourceIndices(n)[0],sourceIndices(t)[1]]}const n=e.tokens(),t=n[0],o=n[n.length-1];return t&&o?[t[2],o[3]]:[0,0]}export{CommentNode,f as ComponentValueType,ContainerNodeBaseClass,FunctionNode,SimpleBlockNode,TokenNode,WhitespaceNode,forEach,gatherNodeAncestry,isCommentNode,isFunctionNode,isSimpleBlockNode,isTokenNode,isWhiteSpaceOrCommentNode,isWhitespaceNode,parseCommaSeparatedListOfComponentValues,parseComponentValue,parseListOfComponentValues,replaceComponentValues,sourceIndices,stringify,walk,walkerIndexGenerator};\n","import{TokenNode as e,isTokenNode as n,isWhitespaceNode as t,isCommentNode as r,isWhiteSpaceOrCommentNode as u,isSimpleBlockNode as a,isFunctionNode as i,FunctionNode as o,WhitespaceNode as l,parseCommaSeparatedListOfComponentValues as s,replaceComponentValues as c}from\"@csstools/css-parser-algorithms\";import{isTokenDimension as v,TokenType as f,NumberType as m,mutateUnit as p,isTokenNumber as C,isTokenPercentage as g,isTokenIdent as D,isTokenNumeric as B,stringify as N,isTokenOpenParen as A,isTokenDelim as d,isTokenComma as F,isToken as b,tokenizer as h,tokenize as w}from\"@csstools/css-tokenizer\";const E=/[A-Z]/g;function toLowerCaseAZ(e){return e.replace(E,(e=>String.fromCharCode(e.charCodeAt(0)+32)))}const S={cm:\"px\",in:\"px\",mm:\"px\",pc:\"px\",pt:\"px\",px:\"px\",q:\"px\",deg:\"deg\",grad:\"deg\",rad:\"deg\",turn:\"deg\",ms:\"s\",s:\"s\",hz:\"hz\",khz:\"hz\"},I=new Map([[\"cm\",e=>e],[\"mm\",e=>10*e],[\"q\",e=>40*e],[\"in\",e=>e/2.54],[\"pc\",e=>e/2.54*6],[\"pt\",e=>e/2.54*72],[\"px\",e=>e/2.54*96]]),y=new Map([[\"deg\",e=>e],[\"grad\",e=>e/.9],[\"rad\",e=>e/180*Math.PI],[\"turn\",e=>e/360]]),M=new Map([[\"deg\",e=>.9*e],[\"grad\",e=>e],[\"rad\",e=>.9*e/180*Math.PI],[\"turn\",e=>.9*e/360]]),T=new Map([[\"hz\",e=>e],[\"khz\",e=>e/1e3]]),k=new Map([[\"cm\",e=>2.54*e],[\"mm\",e=>25.4*e],[\"q\",e=>25.4*e*4],[\"in\",e=>e],[\"pc\",e=>6*e],[\"pt\",e=>72*e],[\"px\",e=>96*e]]),x=new Map([[\"hz\",e=>1e3*e],[\"khz\",e=>e]]),P=new Map([[\"cm\",e=>e/10],[\"mm\",e=>e],[\"q\",e=>4*e],[\"in\",e=>e/25.4],[\"pc\",e=>e/25.4*6],[\"pt\",e=>e/25.4*72],[\"px\",e=>e/25.4*96]]),O=new Map([[\"ms\",e=>e],[\"s\",e=>e/1e3]]),W=new Map([[\"cm\",e=>e/6*2.54],[\"mm\",e=>e/6*25.4],[\"q\",e=>e/6*25.4*4],[\"in\",e=>e/6],[\"pc\",e=>e],[\"pt\",e=>e/6*72],[\"px\",e=>e/6*96]]),L=new Map([[\"cm\",e=>e/72*2.54],[\"mm\",e=>e/72*25.4],[\"q\",e=>e/72*25.4*4],[\"in\",e=>e/72],[\"pc\",e=>e/72*6],[\"pt\",e=>e],[\"px\",e=>e/72*96]]),U=new Map([[\"cm\",e=>e/96*2.54],[\"mm\",e=>e/96*25.4],[\"q\",e=>e/96*25.4*4],[\"in\",e=>e/96],[\"pc\",e=>e/96*6],[\"pt\",e=>e/96*72],[\"px\",e=>e]]),Z=new Map([[\"cm\",e=>e/4/10],[\"mm\",e=>e/4],[\"q\",e=>e],[\"in\",e=>e/4/25.4],[\"pc\",e=>e/4/25.4*6],[\"pt\",e=>e/4/25.4*72],[\"px\",e=>e/4/25.4*96]]),$=new Map([[\"deg\",e=>180*e/Math.PI],[\"grad\",e=>180*e/Math.PI/.9],[\"rad\",e=>e],[\"turn\",e=>180*e/Math.PI/360]]),z=new Map([[\"ms\",e=>1e3*e],[\"s\",e=>e]]),q=new Map([[\"deg\",e=>360*e],[\"grad\",e=>360*e/.9],[\"rad\",e=>360*e/180*Math.PI],[\"turn\",e=>e]]),G=new Map([[\"cm\",I],[\"mm\",P],[\"q\",Z],[\"in\",k],[\"pc\",W],[\"pt\",L],[\"px\",U],[\"ms\",O],[\"s\",z],[\"deg\",y],[\"grad\",M],[\"rad\",$],[\"turn\",q],[\"hz\",T],[\"khz\",x]]);function convertUnit(e,n){if(!v(e))return n;if(!v(n))return n;const t=toLowerCaseAZ(e[4].unit),r=toLowerCaseAZ(n[4].unit);if(t===r)return n;const u=G.get(r);if(!u)return n;const a=u.get(t);if(!a)return n;const i=a(n[4].value),o=[f.Dimension,\"\",n[2],n[3],{...n[4],signCharacter:i<0?\"-\":void 0,type:Number.isInteger(i)?m.Integer:m.Number,value:i}];return p(o,e[4].unit),o}function toCanonicalUnit(e){if(!v(e))return e;const n=toLowerCaseAZ(e[4].unit),t=S[n];if(n===t)return e;const r=G.get(n);if(!r)return e;const u=r.get(t);if(!u)return e;const a=u(e[4].value),i=[f.Dimension,\"\",e[2],e[3],{...e[4],signCharacter:a<0?\"-\":void 0,type:Number.isInteger(a)?m.Integer:m.Number,value:a}];return p(i,t),i}function addition(n){if(2!==n.length)return-1;const t=n[0].value;let r=n[1].value;if(C(t)&&C(r)){const n=t[4].value+r[4].value;return new e([f.Number,n.toString(),t[2],r[3],{value:n,type:t[4].type===m.Integer&&r[4].type===m.Integer?m.Integer:m.Number}])}if(g(t)&&g(r)){const n=t[4].value+r[4].value;return new e([f.Percentage,n.toString()+\"%\",t[2],r[3],{value:n}])}if(v(t)&&v(r)&&(r=convertUnit(t,r),toLowerCaseAZ(t[4].unit)===toLowerCaseAZ(r[4].unit))){const n=t[4].value+r[4].value;return new e([f.Dimension,n.toString()+t[4].unit,t[2],r[3],{value:n,type:t[4].type===m.Integer&&r[4].type===m.Integer?m.Integer:m.Number,unit:t[4].unit}])}return-1}function division(n){if(2!==n.length)return-1;const t=n[0].value,r=n[1].value;if(C(t)&&C(r)){const n=t[4].value/r[4].value;return new e([f.Number,n.toString(),t[2],r[3],{value:n,type:Number.isInteger(n)?m.Integer:m.Number}])}if(g(t)&&C(r)){const n=t[4].value/r[4].value;return new e([f.Percentage,n.toString()+\"%\",t[2],r[3],{value:n}])}if(v(t)&&C(r)){const n=t[4].value/r[4].value;return new e([f.Dimension,n.toString()+t[4].unit,t[2],r[3],{value:n,type:Number.isInteger(n)?m.Integer:m.Number,unit:t[4].unit}])}return-1}function isCalculation(e){return!!e&&\"object\"==typeof e&&\"inputs\"in e&&Array.isArray(e.inputs)&&\"operation\"in e}function solve(e){if(-1===e)return-1;const t=[];for(let r=0;r<e.inputs.length;r++){const u=e.inputs[r];if(n(u)){t.push(u);continue}const a=solve(u);if(-1===a)return-1;t.push(a)}return e.operation(t)}function multiplication(n){if(2!==n.length)return-1;const t=n[0].value,r=n[1].value;if(C(t)&&C(r)){const n=t[4].value*r[4].value;return new e([f.Number,n.toString(),t[2],r[3],{value:n,type:t[4].type===m.Integer&&r[4].type===m.Integer?m.Integer:m.Number}])}if(g(t)&&C(r)){const n=t[4].value*r[4].value;return new e([f.Percentage,n.toString()+\"%\",t[2],r[3],{value:n}])}if(C(t)&&g(r)){const n=t[4].value*r[4].value;return new e([f.Percentage,n.toString()+\"%\",t[2],r[3],{value:n}])}if(v(t)&&C(r)){const n=t[4].value*r[4].value;return new e([f.Dimension,n.toString()+t[4].unit,t[2],r[3],{value:n,type:t[4].type===m.Integer&&r[4].type===m.Integer?m.Integer:m.Number,unit:t[4].unit}])}if(C(t)&&v(r)){const n=t[4].value*r[4].value;return new e([f.Dimension,n.toString()+r[4].unit,t[2],r[3],{value:n,type:t[4].type===m.Integer&&r[4].type===m.Integer?m.Integer:m.Number,unit:r[4].unit}])}return-1}function resolveGlobalsAndConstants(t,r){for(let u=0;u<t.length;u++){const a=t[u];if(!n(a))continue;const i=a.value;if(!D(i))continue;const o=toLowerCaseAZ(i[4].value);switch(o){case\"e\":t.splice(u,1,new e([f.Number,Math.E.toString(),i[2],i[3],{value:Math.E,type:m.Number}]));break;case\"pi\":t.splice(u,1,new e([f.Number,Math.PI.toString(),i[2],i[3],{value:Math.PI,type:m.Number}]));break;case\"infinity\":t.splice(u,1,new e([f.Number,\"infinity\",i[2],i[3],{value:1/0,type:m.Number}]));break;case\"-infinity\":t.splice(u,1,new e([f.Number,\"-infinity\",i[2],i[3],{value:-1/0,type:m.Number}]));break;case\"nan\":t.splice(u,1,new e([f.Number,\"NaN\",i[2],i[3],{value:Number.NaN,type:m.Number}]));break;default:if(r.has(o)){const n=r.get(o);t.splice(u,1,new e(n))}}}return t}function unary(e){if(1!==e.length)return-1;const n=e[0].value;return B(n)?e[0]:-1}function resultToCalculation(e,n,t){return v(n)?dimensionToCalculation(e,n[4].unit,t):g(n)?percentageToCalculation(e,t):C(n)?numberToCalculation(e,t):-1}function dimensionToCalculation(n,t,r){const u=n.tokens();return{inputs:[new e([f.Dimension,r.toString()+t,u[0][2],u[u.length-1][3],{value:r,type:Number.isInteger(r)?m.Integer:m.Number,unit:t}])],operation:unary}}function percentageToCalculation(n,t){const r=n.tokens();return{inputs:[new e([f.Percentage,t.toString()+\"%\",r[0][2],r[r.length-1][3],{value:t}])],operation:unary}}function numberToCalculation(n,t){const r=n.tokens();return{inputs:[new e([f.Number,t.toString(),r[0][2],r[r.length-1][3],{value:t,type:Number.isInteger(t)?m.Integer:m.Number}])],operation:unary}}function solveACos(e,n){const t=n.value;if(!C(t))return-1;return dimensionToCalculation(e,\"rad\",Math.acos(t[4].value))}function solveASin(e,n){const t=n.value;if(!C(t))return-1;return dimensionToCalculation(e,\"rad\",Math.asin(t[4].value))}function solveATan(e,n){const t=n.value;if(!C(t))return-1;return dimensionToCalculation(e,\"rad\",Math.atan(t[4].value))}function isDimensionOrNumber(e){return v(e)||C(e)}function arrayOfSameNumeric(e){if(0===e.length)return!0;const n=e[0];if(!B(n))return!1;if(1===e.length)return!0;if(v(n)){const t=toLowerCaseAZ(n[4].unit);for(let r=1;r<e.length;r++){const u=e[r];if(n[0]!==u[0])return!1;if(t!==toLowerCaseAZ(u[4].unit))return!1}return!0}for(let t=1;t<e.length;t++){const r=e[t];if(n[0]!==r[0])return!1}return!0}function twoOfSameNumeric(e,n){return!!B(e)&&(v(e)?e[0]===n[0]&&toLowerCaseAZ(e[4].unit)===toLowerCaseAZ(n[4].unit):e[0]===n[0])}function solveATan2(e,n,t){const r=n.value;if(!isDimensionOrNumber(r))return-1;const u=convertUnit(r,t.value);if(!twoOfSameNumeric(r,u))return-1;return dimensionToCalculation(e,\"rad\",Math.atan2(r[4].value,u[4].value))}function solveAbs(e,n,t){const r=n.value;if(!B(r))return-1;if(!t.rawPercentages&&g(r))return-1;return resultToCalculation(e,r,Math.abs(r[4].value))}function solveClamp(e,t,r,u,a){if(!n(t)||!n(r)||!n(u))return-1;const i=t.value;if(!B(i))return-1;if(!a.rawPercentages&&g(i))return-1;const o=convertUnit(i,r.value);if(!twoOfSameNumeric(i,o))return-1;const l=convertUnit(i,u.value);if(!twoOfSameNumeric(i,l))return-1;return resultToCalculation(e,i,Math.max(i[4].value,Math.min(o[4].value,l[4].value)))}function solveCos(e,n){const t=n.value;if(!isDimensionOrNumber(t))return-1;let r=t[4].value;if(v(t))switch(t[4].unit.toLowerCase()){case\"rad\":break;case\"deg\":r=y.get(\"rad\")(t[4].value);break;case\"grad\":r=M.get(\"rad\")(t[4].value);break;case\"turn\":r=q.get(\"rad\")(t[4].value);break;default:return-1}return r=Math.cos(r),numberToCalculation(e,r)}function solveExp(e,n){const t=n.value;if(!C(t))return-1;return numberToCalculation(e,Math.exp(t[4].value))}function solveHypot(e,t,r){if(!t.every(n))return-1;const u=t[0].value;if(!B(u))return-1;if(!r.rawPercentages&&g(u))return-1;const a=t.map((e=>convertUnit(u,e.value)));if(!arrayOfSameNumeric(a))return-1;const i=a.map((e=>e[4].value)),o=Math.hypot(...i);return resultToCalculation(e,u,o)}function solveMax(e,t,r){if(!t.every(n))return-1;const u=t[0].value;if(!B(u))return-1;if(!r.rawPercentages&&g(u))return-1;const a=t.map((e=>convertUnit(u,e.value)));if(!arrayOfSameNumeric(a))return-1;const i=a.map((e=>e[4].value)),o=Math.max(...i);return resultToCalculation(e,u,o)}function solveMin(e,t,r){if(!t.every(n))return-1;const u=t[0].value;if(!B(u))return-1;if(!r.rawPercentages&&g(u))return-1;const a=t.map((e=>convertUnit(u,e.value)));if(!arrayOfSameNumeric(a))return-1;const i=a.map((e=>e[4].value)),o=Math.min(...i);return resultToCalculation(e,u,o)}function solveMod(e,n,t){const r=n.value;if(!B(r))return-1;const u=convertUnit(r,t.value);if(!twoOfSameNumeric(r,u))return-1;let a;return a=0===u[4].value?Number.NaN:Number.isFinite(r[4].value)&&(Number.isFinite(u[4].value)||(u[4].value!==Number.POSITIVE_INFINITY||r[4].value!==Number.NEGATIVE_INFINITY&&!Object.is(0*r[4].value,-0))&&(u[4].value!==Number.NEGATIVE_INFINITY||r[4].value!==Number.POSITIVE_INFINITY&&!Object.is(0*r[4].value,0)))?Number.isFinite(u[4].value)?(r[4].value%u[4].value+u[4].value)%u[4].value:r[4].value:Number.NaN,resultToCalculation(e,r,a)}function solvePow(e,n,t){const r=n.value,u=t.value;if(!C(r))return-1;if(!twoOfSameNumeric(r,u))return-1;return numberToCalculation(e,Math.pow(r[4].value,u[4].value))}function solveRem(e,n,t){const r=n.value;if(!B(r))return-1;const u=convertUnit(r,t.value);if(!twoOfSameNumeric(r,u))return-1;let a;return a=0===u[4].value?Number.NaN:Number.isFinite(r[4].value)?Number.isFinite(u[4].value)?r[4].value%u[4].value:r[4].value:Number.NaN,resultToCalculation(e,r,a)}function solveRound(e,n,t,r,u){const a=t.value;if(!B(a))return-1;if(!u.rawPercentages&&g(a))return-1;const i=convertUnit(a,r.value);if(!twoOfSameNumeric(a,i))return-1;let o;if(0===i[4].value)o=Number.NaN;else if(Number.isFinite(a[4].value)||Number.isFinite(i[4].value))if(!Number.isFinite(a[4].value)&&Number.isFinite(i[4].value))o=a[4].value;else if(Number.isFinite(a[4].value)&&!Number.isFinite(i[4].value))switch(n){case\"down\":o=a[4].value<0?-1/0:Object.is(-0,0*a[4].value)?-0:0;break;case\"up\":o=a[4].value>0?1/0:Object.is(0,0*a[4].value)?0:-0;break;default:o=Object.is(0,0*a[4].value)?0:-0}else if(Number.isFinite(i[4].value))switch(n){case\"down\":o=Math.floor(a[4].value/i[4].value)*i[4].value;break;case\"up\":o=Math.ceil(a[4].value/i[4].value)*i[4].value;break;case\"to-zero\":o=Math.trunc(a[4].value/i[4].value)*i[4].value;break;default:{let e=Math.floor(a[4].value/i[4].value)*i[4].value,n=Math.ceil(a[4].value/i[4].value)*i[4].value;if(e>n){const t=e;e=n,n=t}const t=Math.abs(a[4].value-e),r=Math.abs(a[4].value-n);o=t===r?n:t<r?e:n;break}}else o=a[4].value;else o=Number.NaN;return resultToCalculation(e,a,o)}function solveSign(e,n,t){const r=n.value;if(!B(r))return-1;if(!t.rawPercentages&&g(r))return-1;return numberToCalculation(e,Math.sign(r[4].value))}function solveSin(e,n){const t=n.value;if(!isDimensionOrNumber(t))return-1;let r=t[4].value;if(v(t))switch(toLowerCaseAZ(t[4].unit)){case\"rad\":break;case\"deg\":r=y.get(\"rad\")(t[4].value);break;case\"grad\":r=M.get(\"rad\")(t[4].value);break;case\"turn\":r=q.get(\"rad\")(t[4].value);break;default:return-1}return r=Math.sin(r),numberToCalculation(e,r)}function solveSqrt(e,n){const t=n.value;if(!C(t))return-1;return numberToCalculation(e,Math.sqrt(t[4].value))}function solveTan(e,n){const t=n.value;if(!isDimensionOrNumber(t))return-1;const r=t[4].value;let u=0,a=t[4].value;if(v(t))switch(toLowerCaseAZ(t[4].unit)){case\"rad\":u=$.get(\"deg\")(r);break;case\"deg\":u=r,a=y.get(\"rad\")(r);break;case\"grad\":u=M.get(\"deg\")(r),a=M.get(\"rad\")(r);break;case\"turn\":u=q.get(\"deg\")(r),a=q.get(\"rad\")(r);break;default:return-1}const i=u/90;return a=u%90==0&&i%2!=0?i>0?1/0:-1/0:Math.tan(a),numberToCalculation(e,a)}function subtraction(n){if(2!==n.length)return-1;const t=n[0].value;let r=n[1].value;if(C(t)&&C(r)){const n=t[4].value-r[4].value;return new e([f.Number,n.toString(),t[2],r[3],{value:n,type:t[4].type===m.Integer&&r[4].type===m.Integer?m.Integer:m.Number}])}if(g(t)&&g(r)){const n=t[4].value-r[4].value;return new e([f.Percentage,n.toString()+\"%\",t[2],r[3],{value:n}])}if(v(t)&&v(r)&&(r=convertUnit(t,r),toLowerCaseAZ(t[4].unit)===toLowerCaseAZ(r[4].unit))){const n=t[4].value-r[4].value;return new e([f.Dimension,n.toString()+t[4].unit,t[2],r[3],{value:n,type:t[4].type===m.Integer&&r[4].type===m.Integer?m.Integer:m.Number,unit:t[4].unit}])}return-1}function solveLog(e,t){if(1===t.length){const r=t[0];if(!r||!n(r))return-1;const u=r.value;if(!C(u))return-1;return numberToCalculation(e,Math.log(u[4].value))}if(2===t.length){const r=t[0];if(!r||!n(r))return-1;const u=r.value;if(!C(u))return-1;const a=t[1];if(!a||!n(a))return-1;const i=a.value;if(!C(i))return-1;return numberToCalculation(e,Math.log(u[4].value)/Math.log(i[4].value))}return-1}const j=/^none$/i;function isNone(e){if(Array.isArray(e)){const n=e.filter((e=>!(t(e)&&r(e))));return 1===n.length&&isNone(n[0])}if(!n(e))return!1;const u=e.value;return!!D(u)&&j.test(u[4].value)}function solveRandom(e,n,t,r,u,a){const i=t.value;if(!B(i))return-1;const o=convertUnit(i,r.value);if(!twoOfSameNumeric(i,o))return-1;let l,s=null;if(u&&(s=convertUnit(i,u.value),!twoOfSameNumeric(i,s)))return-1;if(Number.isFinite(i[4].value))if(Number.isFinite(o[4].value))if(Number.isFinite(o[4].value-i[4].value))if(s&&!Number.isFinite(s[4].value))l=i[4].value;else{const e=sfc32(crc32([n,N(i),N(o),u?`by ${u.toString()}`:\"\"].join(\",\")),a.randomSeed);let t=i[4].value,r=o[4].value;if(t>r&&([t,r]=[r,t]),s&&(s[4].value<=0||Math.abs(t-r)/s[4].value>1e10)&&(s=null),s){const n=Math.abs(t-r),u=e();l=t+Math.floor(n/s[4].value*u)*s[4].value}else{const n=e();l=Number((n*(r-t)+t).toFixed(5))}}else l=Number.NaN;else l=Number.NaN;else l=Number.NaN;return resultToCalculation(e,i,l)}function sfc32(e=.34944106645296036,n=.19228640875738723,t=.8784393832007205,r=.04850964319275053){return()=>{const u=((e|=0)+(n|=0)|0)+(r|=0)|0;return r=r+1|0,e=n^n>>>9,n=(t|=0)+(t<<3)|0,t=(t=t<<21|t>>>11)+u|0,(u>>>0)/4294967296}}function crc32(e){let n=0,t=0,r=0;n=~n;for(let u=0,a=e.length;u<a;u++)r=255&(n^e.charCodeAt(u)),t=Number(\"0x\"+\"00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 9E6495A3 0EDB8832 79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 90BF1D91 1DB71064 6AB020F2 F3B97148 84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 83D385C7 136C9856 646BA8C0 FD62F97A 8A65C9EC 14015C4F 63066CD9 FA0F3D63 8D080DF5 3B6E20C8 4C69105E D56041E4 A2677172 3C03E4D1 4B04D447 D20D85FD A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 32D86CE3 45DF5C75 DCD60DCF ABD13D59 26D930AC 51DE003A C8D75180 BFD06116 21B4F4B5 56B3C423 CFBA9599 B8BDA50F 2802B89E 5F058808 C60CD9B2 B10BE924 2F6F7C87 58684C11 C1611DAB B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 06B6B51F 9FBFE4A5 E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 E6635C01 6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 F50FC457 65B0D9C6 12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 FBD44C65 4DB26158 3AB551CE A3BC0074 D4BB30E2 4ADFA541 3DD895D7 A4D1C46D D3D6F4FB 4369E96A 346ED9FC AD678846 DA60B8D0 44042D73 33031DE5 AA0A4C5F DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 5768B525 206F85B3 B966D409 CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 2EB40D81 B7BD5C3B C0BA6CAD EDB88320 9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF 04DB2615 73DC1683 E3630B12 94643B84 0D6D6A3E 7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D 806567CB 196C3671 6E6B06E7 FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 60B08ED5 D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD 48B2364B D80D2BDA AF0A1B4C 36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF 4669BE79 CB61B38C BC66831A 256FD2A0 5268E236 CC0C7795 BB0B4703 220216B9 5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 C2D7FFA7 B5D0CF31 2CD99E8B 5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 EB0E363F 72076785 05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D 7CDCEFB7 0BDBDF21 86D3D2D4 F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 18B74777 88085AE6 FF0F6A70 66063BCA 11010B5C 8F659EFF F862AE69 616BFFD3 166CCF45 A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 D06016F7 4969474D 3E6E77DB AED16A4A D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F 30B5FFE9 BDBDF21C CABAC28A 53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 23D967BF B3667A2E C4614AB8 5D681B02 2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D\".substring(9*r,9*r+8)),n=n>>>8^t;return~n>>>0}const R=new Map([[\"abs\",function abs(e,n,t){return singleNodeSolver(e,n,t,solveAbs)}],[\"acos\",function acos(e,n,t){return singleNodeSolver(e,n,t,solveACos)}],[\"asin\",function asin(e,n,t){return singleNodeSolver(e,n,t,solveASin)}],[\"atan\",function atan(e,n,t){return singleNodeSolver(e,n,t,solveATan)}],[\"atan2\",function atan2(e,n,t){return twoCommaSeparatedNodesSolver(e,n,t,solveATan2)}],[\"calc\",calc$1],[\"clamp\",function clamp(t,r,a){const i=resolveGlobalsAndConstants([...t.value.filter((e=>!u(e)))],r),l=[],s=[],c=[];{let e=l;for(let t=0;t<i.length;t++){const r=i[t];if(n(r)&&F(r.value)){if(e===c)return-1;if(e===s){e=c;continue}if(e===l){e=s;continue}return-1}e.push(r)}}const v=isNone(l),m=isNone(c);if(v&&m)return calc$1(calcWrapper(s),r,a);const p=solve(calc$1(calcWrapper(s),r,a));if(-1===p)return-1;if(v){const n=solve(calc$1(calcWrapper(c),r,a));return-1===n?-1:solveMin((C=p,g=n,new o([f.Function,\"min(\",-1,-1,{value:\"min\"}],[f.CloseParen,\")\",-1,-1,void 0],[C,new e([f.Comma,\",\",-1,-1,void 0]),g])),[p,n],a)}if(m){const e=solve(calc$1(calcWrapper(l),r,a));return-1===e?-1:solveMax(maxWrapper(e,p),[e,p],a)}var C,g;const D=solve(calc$1(calcWrapper(l),r,a));if(-1===D)return-1;const B=solve(calc$1(calcWrapper(c),r,a));if(-1===B)return-1;return solveClamp(t,D,p,B,a)}],[\"cos\",function cos(e,n,t){return singleNodeSolver(e,n,t,solveCos)}],[\"exp\",function exp(e,n,t){return singleNodeSolver(e,n,t,solveExp)}],[\"hypot\",function hypot(e,n,t){return variadicNodesSolver(e,e.value,n,t,solveHypot)}],[\"log\",function log(e,n,t){return variadicNodesSolver(e,e.value,n,t,solveLog)}],[\"max\",function max(e,n,t){return variadicNodesSolver(e,e.value,n,t,solveMax)}],[\"min\",function min(e,n,t){return variadicNodesSolver(e,e.value,n,t,solveMin)}],[\"mod\",function mod(e,n,t){return twoCommaSeparatedNodesSolver(e,n,t,solveMod)}],[\"pow\",function pow(e,n,t){return twoCommaSeparatedNodesSolver(e,n,t,solvePow)}],[\"random\",function random(e,t,r){const a=e.value.filter((e=>!u(e)));let i=\"\";const o=[],l=[];for(let e=0;e<a.length;e++){const t=a[e];if(!i&&0===l.length&&n(t)&&D(t.value)){const r=t.value[4].value.toLowerCase();if(\"per-element\"===r||r.startsWith(\"--\")){i=r;const t=a[e+1];if(!n(t)||!F(t.value))return-1;e++;continue}}if(n(t)&&F(t.value)){const t=a[e+1];if(l.length>0&&n(t)&&D(t.value)){const n=t.value[4].value.toLowerCase();if(\"by\"===n||n.startsWith(\"--\")){o.push(...a.slice(e+2));break}}}l.push(t)}const s=twoCommaSeparatedArguments(l,t,r);if(-1===s)return-1;const[c,v]=s;let f=null;if(o.length&&(f=singleArgument(o,t,r),-1===f))return-1;return solveRandom(e,i,c,v,f,r)}],[\"rem\",function rem(e,n,t){return twoCommaSeparatedNodesSolver(e,n,t,solveRem)}],[\"round\",function round(t,r,a){const i=resolveGlobalsAndConstants([...t.value.filter((e=>!u(e)))],r);let o=\"\",l=!1;const s=[],c=[];{let e=s;for(let t=0;t<i.length;t++){const r=i[t];if(!o&&0===s.length&&0===c.length&&n(r)&&D(r.value)){const e=r.value[4].value.toLowerCase();if(V.has(e)){o=e;continue}}if(n(r)&&F(r.value)){if(e===c)return-1;if(e===s&&o&&0===s.length)continue;if(e===s){l=!0,e=c;continue}return-1}e.push(r)}}const v=solve(calc$1(calcWrapper(s),r,a));if(-1===v)return-1;l||0!==c.length||c.push(new e([f.Number,\"1\",-1,-1,{value:1,type:m.Integer}]));const p=solve(calc$1(calcWrapper(c),r,a));if(-1===p)return-1;o||(o=\"nearest\");return solveRound(t,o,v,p,a)}],[\"sign\",function sign(e,n,t){return singleNodeSolver(e,n,t,solveSign)}],[\"sin\",function sin(e,n,t){return singleNodeSolver(e,n,t,solveSin)}],[\"sqrt\",function sqrt(e,n,t){return singleNodeSolver(e,n,t,solveSqrt)}],[\"tan\",function tan(e,n,t){return singleNodeSolver(e,n,t,solveTan)}]]);function calc$1(e,t,r){const o=resolveGlobalsAndConstants([...e.value.filter((e=>!u(e)))],t);if(1===o.length&&n(o[0]))return{inputs:[o[0]],operation:unary};let l=0;for(;l<o.length;){const e=o[l];if(a(e)&&A(e.startToken)){const n=calc$1(e,t,r);if(-1===n)return-1;o.splice(l,1,n)}else if(i(e)){const n=R.get(e.getName().toLowerCase());if(!n)return-1;const u=n(e,t,r);if(-1===u)return-1;o.splice(l,1,u)}else l++}if(l=0,1===o.length&&isCalculation(o[0]))return o[0];for(;l<o.length;){const e=o[l];if(!e||!n(e)&&!isCalculation(e)){l++;continue}const t=o[l+1];if(!t||!n(t)){l++;continue}const r=t.value;if(!d(r)||\"*\"!==r[4].value&&\"/\"!==r[4].value){l++;continue}const u=o[l+2];if(!u||!n(u)&&!isCalculation(u))return-1;\"*\"!==r[4].value?\"/\"!==r[4].value?l++:o.splice(l,3,{inputs:[e,u],operation:division}):o.splice(l,3,{inputs:[e,u],operation:multiplication})}if(l=0,1===o.length&&isCalculation(o[0]))return o[0];for(;l<o.length;){const e=o[l];if(!e||!n(e)&&!isCalculation(e)){l++;continue}const t=o[l+1];if(!t||!n(t)){l++;continue}const r=t.value;if(!d(r)||\"+\"!==r[4].value&&\"-\"!==r[4].value){l++;continue}const u=o[l+2];if(!u||!n(u)&&!isCalculation(u))return-1;\"+\"!==r[4].value?\"-\"!==r[4].value?l++:o.splice(l,3,{inputs:[e,u],operation:subtraction}):o.splice(l,3,{inputs:[e,u],operation:addition})}return 1===o.length&&isCalculation(o[0])?o[0]:-1}function singleNodeSolver(e,n,t,r){const u=singleArgument(e.value,n,t);return-1===u?-1:r(e,u,t)}function singleArgument(e,n,t){const r=solve(calc$1(calcWrapper(resolveGlobalsAndConstants([...e.filter((e=>!u(e)))],n)),n,t));return-1===r?-1:r}function twoCommaSeparatedNodesSolver(e,n,t,r){const u=twoCommaSeparatedArguments(e.value,n,t);if(-1===u)return-1;const[a,i]=u;return r(e,a,i,t)}function twoCommaSeparatedArguments(e,t,r){const a=resolveGlobalsAndConstants([...e.filter((e=>!u(e)))],t),i=[],o=[];{let e=i;for(let t=0;t<a.length;t++){const r=a[t];if(n(r)&&F(r.value)){if(e===o)return-1;if(e===i){e=o;continue}return-1}e.push(r)}}const l=solve(calc$1(calcWrapper(i),t,r));if(-1===l)return-1;const s=solve(calc$1(calcWrapper(o),t,r));return-1===s?-1:[l,s]}function variadicNodesSolver(e,n,t,r,u){const a=variadicArguments(e.value,t,r);return-1===a?-1:u(e,a,r)}function variadicArguments(e,t,r){const a=resolveGlobalsAndConstants([...e.filter((e=>!u(e)))],t),i=[];{const e=[];let u=[];for(let t=0;t<a.length;t++){const r=a[t];n(r)&&F(r.value)?(e.push(u),u=[]):u.push(r)}e.push(u);for(let n=0;n<e.length;n++){if(0===e[n].length)return-1;const u=solve(calc$1(calcWrapper(e[n]),t,r));if(-1===u)return-1;i.push(u)}}return i}const V=new Set([\"nearest\",\"up\",\"down\",\"to-zero\"]);function calcWrapper(e){return new o([f.Function,\"calc(\",-1,-1,{value:\"calc\"}],[f.CloseParen,\")\",-1,-1,void 0],e)}function maxWrapper(n,t){return new o([f.Function,\"max(\",-1,-1,{value:\"max\"}],[f.CloseParen,\")\",-1,-1,void 0],[n,new e([f.Comma,\",\",-1,-1,void 0]),t])}function patchNaN(n){if(-1===n)return-1;if(i(n))return n;const t=n.value;return B(t)&&Number.isNaN(t[4].value)?C(t)?new o([f.Function,\"calc(\",t[2],t[3],{value:\"calc\"}],[f.CloseParen,\")\",t[2],t[3],void 0],[new e([f.Ident,\"NaN\",t[2],t[3],{value:\"NaN\"}])]):v(t)?new o([f.Function,\"calc(\",t[2],t[3],{value:\"calc\"}],[f.CloseParen,\")\",t[2],t[3],void 0],[new e([f.Ident,\"NaN\",t[2],t[3],{value:\"NaN\"}]),new l([[f.Whitespace,\" \",t[2],t[3],void 0]]),new e([f.Delim,\"*\",t[2],t[3],{value:\"*\"}]),new l([[f.Whitespace,\" \",t[2],t[3],void 0]]),new e([f.Dimension,\"1\"+t[4].unit,t[2],t[3],{value:1,type:m.Integer,unit:t[4].unit}])]):g(t)?new o([f.Function,\"calc(\",t[2],t[3],{value:\"calc\"}],[f.CloseParen,\")\",t[2],t[3],void 0],[new e([f.Ident,\"NaN\",t[2],t[3],{value:\"NaN\"}]),new l([[f.Whitespace,\" \",t[2],t[3],void 0]]),new e([f.Delim,\"*\",t[2],t[3],{value:\"*\"}]),new l([[f.Whitespace,\" \",t[2],t[3],void 0]]),new e([f.Percentage,\"1%\",t[2],t[3],{value:1}])]):-1:n}function patchInfinity(n){if(-1===n)return-1;if(i(n))return n;const t=n.value;if(!B(t))return n;if(Number.isFinite(t[4].value)||Number.isNaN(t[4].value))return n;let r=\"\";return Number.NEGATIVE_INFINITY===t[4].value&&(r=\"-\"),C(t)?new o([f.Function,\"calc(\",t[2],t[3],{value:\"calc\"}],[f.CloseParen,\")\",t[2],t[3],void 0],[new e([f.Ident,r+\"infinity\",t[2],t[3],{value:r+\"infinity\"}])]):v(t)?new o([f.Function,\"calc(\",t[2],t[3],{value:\"calc\"}],[f.CloseParen,\")\",t[2],t[3],void 0],[new e([f.Ident,r+\"infinity\",t[2],t[3],{value:r+\"infinity\"}]),new l([[f.Whitespace,\" \",t[2],t[3],void 0]]),new e([f.Delim,\"*\",t[2],t[3],{value:\"*\"}]),new l([[f.Whitespace,\" \",t[2],t[3],void 0]]),new e([f.Dimension,\"1\"+t[4].unit,t[2],t[3],{value:1,type:m.Integer,unit:t[4].unit}])]):new o([f.Function,\"calc(\",t[2],t[3],{value:\"calc\"}],[f.CloseParen,\")\",t[2],t[3],void 0],[new e([f.Ident,r+\"infinity\",t[2],t[3],{value:r+\"infinity\"}]),new l([[f.Whitespace,\" \",t[2],t[3],void 0]]),new e([f.Delim,\"*\",t[2],t[3],{value:\"*\"}]),new l([[f.Whitespace,\" \",t[2],t[3],void 0]]),new e([f.Percentage,\"1%\",t[2],t[3],{value:1}])])}function patchMinusZero(e){if(-1===e)return-1;if(i(e))return e;const n=e.value;return B(n)&&Object.is(-0,n[4].value)?(\"-0\"===n[1]||(g(n)?n[1]=\"-0%\":v(n)?n[1]=\"-0\"+n[4].unit:n[1]=\"-0\"),e):e}function patchPrecision(e,n=13){if(-1===e)return-1;if(n<=0)return e;if(i(e))return e;const t=e.value;if(!B(t))return e;if(Number.isInteger(t[4].value))return e;const r=Number(t[4].value.toFixed(n)).toString();return C(t)?t[1]=r:g(t)?t[1]=r+\"%\":v(t)&&(t[1]=r+t[4].unit),e}function patchCanonicalUnit(e){return-1===e?-1:i(e)?e:v(e.value)?(e.value=toCanonicalUnit(e.value),e):e}function patchCalcResult(e,n){let t=e;return n?.toCanonicalUnits&&(t=patchCanonicalUnit(t)),t=patchPrecision(t,n?.precision),t=patchMinusZero(t),n?.censorIntoStandardRepresentableValues||(t=patchNaN(t),t=patchInfinity(t)),t}function tokenizeGlobals(e){const n=new Map;if(!e)return n;for(const[t,r]of e)if(b(r))n.set(t,r);else if(\"string\"!=typeof r);else{const e=h({css:r}),u=e.nextToken();if(e.nextToken(),!e.endOfFile())continue;if(!B(u))continue;n.set(t,u)}return n}function calc(e,n){return calcFromComponentValues(s(w({css:e}),{}),n).map((e=>e.map((e=>N(...e.tokens()))).join(\"\"))).join(\",\")}function calcFromComponentValues(e,n){const t=tokenizeGlobals(n?.globals);return c(e,(e=>{if(!i(e))return;const r=R.get(e.getName().toLowerCase());if(!r)return;const u=patchCalcResult(solve(r(e,t,n??{})),n);return-1!==u?u:void 0}))}const Y=new Set(R.keys());export{calc,calcFromComponentValues,Y as mathFunctionNames};\n","import { log } from './log.js';\nimport { calc } from '@csstools/css-calc';\n\nexport const parseValue = (v) => {\n const value = `${v}`;\n const number = parseFloat(value);\n let unit = 'unsupported';\n\n const match = value.match(/px|rem|em/);\n if (match) {\n unit = match[0];\n }\n\n if (number === 0 && unit === 'unsupported') {\n unit = 'zero';\n }\n\n return { number, unit };\n};\n\nexport const parseFontSizeValue = (value) => {\n const values = {};\n if (typeof value === 'string') {\n values.fontSize = parseValue(value);\n } else if (Array.isArray(value)) {\n values.fontSize = parseValue(value[0]);\n\n if (typeof value[1] === 'string') {\n values.lineHeight = parseValue(value[1]);\n } else if (typeof value[1] === 'object') {\n if ('lineHeight' in value[1]) {\n let lh = value[1].lineHeight;\n if (typeof lh === 'string' && lh.includes('calc')) {\n lh = calc(lh);\n }\n const parsed = parseValue(lh);\n if (parsed.unit === 'unsupported') {\n values.lineHeight = {\n number: lh * values.fontSize.number,\n unit: values.fontSize.unit,\n };\n } else {\n values.lineHeight = parsed;\n }\n }\n if ('letterSpacing' in value[1]) {\n values.letterSpacing = parseValue(value[1].letterSpacing);\n }\n }\n }\n return values;\n};\n\nexport const validateValues = (start, end, value, prop = null) => {\n // console.log(start.number === end.number);\n if (start.number === end.number) {\n log.error(\n `Same value for start an end${\n prop ? ` (${prop})` : ''\n }: \"clamp-[${value}]\".`\n );\n return null;\n }\n\n // console.log(start, end);\n\n if (start.unit !== end.unit && start.unit !== 'zero' && end.unit !== 'zero') {\n log.error(\n `Units need to match${prop ? ` (${prop})` : ''}: \"clamp-[${value}]\" ${\n start.unit\n } !== ${end.unit}.`\n );\n return null;\n }\n\n if (start.unit === 'unsupported' || end.unit === 'unsupported') {\n log.error(\n `Only px, rem and em units are supported${\n prop ? ` (${prop})` : ''\n }: \"clamp-[${value}]\".`\n );\n return null;\n }\n\n return true;\n};\n","// https://chriskirknielsen.com/blog/modern-fluid-typography-with-clamp/\n\nexport const clamp = (\n _start,\n _end,\n _minvw = { number: 23.4375, unit: 'rem' },\n _maxvw = { number: 90, unit: 'rem' },\n useContainer = false\n) => {\n const unit = _start.unit === 'zero' ? _end.unit : _start.unit;\n const isPx = unit === 'px';\n\n let start = _start.number;\n let end = _end.number;\n let negative = false;\n\n let minvw = _minvw.number;\n let maxvw = _maxvw.number;\n\n if (_minvw.unit !== 'px' && isPx) {\n minvw = _minvw.number * 16;\n }\n\n if (_minvw.unit === 'px' && !isPx) {\n minvw = _minvw.number / 16;\n }\n\n if (_maxvw.unit !== 'px' && isPx) {\n maxvw = _maxvw.number * 16;\n }\n\n if (_maxvw.unit === 'px' && !isPx) {\n maxvw = _maxvw.number / 16;\n }\n\n if (end < start && start < 0 && end < 0) {\n start = Math.abs(start);\n end = Math.abs(end);\n negative = true;\n } else if (end < start && start > 0 && end > 0) {\n start = start * -1;\n end = end * -1;\n negative = true;\n } else if (end < start) {\n start = Math.abs(start) * -1;\n end = Math.abs(end);\n negative = true;\n }\n\n const slope = (end - start) / (maxvw - minvw);\n const calc = `${(start - minvw * slope).toFixed(6)}${unit} + ${(\n 100 * slope\n ).toFixed(6)}${useContainer ? 'cqw' : 'vw'}`;\n\n const value = `clamp(${start}${unit}, ${calc}, ${end}${unit})`;\n\n return negative ? `calc(${value} * -1)` : value;\n};\n\n// const defaultOptions = {\n// unit: 'rem',\n// minViewportWidth: '23.4375rem',\n// maxViewportWidth: '90rem',\n// };\n\n// export const clampValue = (\n// start,\n// end,\n// options = {\n// unit: 'rem',\n// minViewportWidth: '23.4375rem',\n// maxViewportWidth: '90rem',\n// }\n// ) => {\n// const o = { ...defaultOptions, ...options };\n\n// const convert = (val) => (o.unit === 'rem' ? val / 16 : val);\n\n// return clamp(\n// { number: convert(start), unit: o.unit },\n// { number: convert(end), unit: o.unit },\n// { number: convert(o.minViewportWidth), unit: o.unit },\n// { number: convert(o.maxViewportWidth), unit: o.unit }\n// );\n// };\n","import plugin from 'tailwindcss/plugin';\nimport { resolveProperty } from './resolve-property.js';\nimport { log } from './log.js';\nimport {\n parseValue,\n parseFontSizeValue,\n validateValues,\n} from './parse-value.js';\nimport { clamp } from './clamp.js';\n\nconst defaultOptions = {\n minSize: '23.4375rem',\n maxSize: '90rem',\n};\n\nfunction getBreakpointValue(customValue, fallback, screens, containers) {\n if (!customValue) {\n return {\n ...parseValue(fallback),\n isContainer: false,\n };\n }\n\n const isContainer = customValue.startsWith('@');\n\n const cleanValue = isContainer ? customValue.slice(1) : customValue;\n const value = isContainer\n ? containers[cleanValue] || cleanValue\n : screens[cleanValue] || cleanValue;\n\n return {\n ...parseValue(value),\n isContainer,\n };\n}\n\nexport default plugin.withOptions(function (options = {}) {\n const o = { ...defaultOptions, ...options };\n return function ({ matchUtilities, theme, config }) {\n matchUtilities(\n {\n clamp: (value) => {\n const args = value.split(',');\n\n if (args.length < 3) {\n log.error(\n `The clamp utility requires at least 3 arguments: \"clamp-[${value}]\".`\n );\n return {};\n }\n\n const screens = theme('screens');\n const containers = theme('containers');\n\n const minvw = getBreakpointValue(\n args[3],\n o.minSize,\n screens,\n containers\n );\n\n const maxvw = getBreakpointValue(\n args[4],\n o.maxSize,\n screens,\n containers\n );\n\n if (!validateValues(minvw, maxvw, value)) {\n return {};\n }\n\n const useContainer = minvw.isContainer;\n const resolvedProp = resolveProperty(args[0]);\n\n if (!resolvedProp) {\n log.error(\n `Property \"${args[0]}\" is not supported: \"clamp-[${value}]\".`\n );\n return {};\n }\n\n const { key, props, type } = resolvedProp;\n\n // handle fontSize separately\n if (type === 'fontSize') {\n const start = parseFontSizeValue(\n config().theme[key][args[1]] || args[1]\n );\n const end = parseFontSizeValue(\n config().theme[key][args[2]] || args[2]\n );\n\n const css = {};\n\n Object.keys(start).forEach((k) => {\n if (k in end) {\n if (\n (k === 'letterSpacing' || k === 'lineHeight') &&\n start[k].number === end[k].number &&\n start[k].unit === end[k].unit\n ) {\n css[k] = `${start[k].number}${start[k].unit}`;\n } else if (validateValues(start[k], end[k], value, k)) {\n const val = clamp(\n start[k],\n end[k],\n minvw,\n maxvw,\n useContainer\n );\n css[k] = val;\n }\n }\n });\n\n return css;\n }\n\n // Other values\n let start = parseValue(config().theme[key][args[1]] || args[1]);\n let end = parseValue(config().theme[key][args[2]] || args[2]);\n\n // Handle spacing values\n if (type === 'spacing') {\n const spacing = parseValue(theme('spacing.1'));\n\n const startNegative = args[1].startsWith('-');\n const endNegative = args[2].startsWith('-');\n\n const startVal = startNegative ? args[1].slice(1) : args[1];\n const endVal = endNegative ? args[2].slice(1) : args[2];\n\n start = {\n number: spacing.number * startVal,\n unit: spacing.unit,\n };\n end = {\n number: spacing.number * endVal,\n unit: spacing.unit,\n };\n\n if (startNegative) start.number = start.number * -1;\n if (endNegative) end.number = end.number * -1;\n }\n\n if (!validateValues(start, end, value)) {\n return {};\n }\n\n const val = clamp(start, end, minvw, maxvw, useContainer);\n\n const css = props.reduce((acc, prop) => {\n if (typeof prop === 'string') {\n acc[prop] = val;\n } else {\n acc = { ...acc, ...prop };\n }\n return acc;\n }, {});\n\n return css;\n },\n },\n { values: theme('clamp') },\n {\n supportsNegativeValues: false,\n modifiers: {\n pattern: /[\\w-]+(?:,[\\w-]+){2}/, // Matches \"text,lg,3xl\" format\n },\n }\n );\n };\n});\n"],"names":["g","i","n","t","o","u","resolveProperty","name","log","ParseError","e","__publicField","ParseErrorWithToken","r","stringify","s","checkIfFourCodePointsWouldStartCDO","isDigitCodePoint","isUppercaseLetterCodePoint","isLowercaseLetterCodePoint","isHexDigitCodePoint","isLetterCodePoint","isIdentStartCodePoint","isNonASCII_IdentCodePoint","isIdentCodePoint","isSurrogate","isNewLine","isWhitespace","checkIfTwoCodePointsAreAValidEscape","checkIfThreeCodePointsWouldStartAnIdentSequence","checkIfThreeCodePointsWouldStartANumber","checkIfTwoCodePointsStartAComment","checkIfThreeCodePointsWouldStartCDC","c","a","mirrorVariantType","mirrorVariant","consumeComment","consumeEscapedCodePoint","consumeIdentSequence","consumeHashToken","consumeNumber","consumeNumericToken","consumeWhiteSpace","Reader","consumeStringToken","checkIfCodePointsMatchURLIdent","consumeBadURL","consumeUrlToken","consumeIdentLikeToken","checkIfThreeCodePointsWouldStartAUnicodeRange","consumeUnicodeRangeToken","tokenize","tokenizer","d","p","noop","mutateUnit","ensureThatValueRoundTripsAsIdent","insertEscapedCodePoint","isToken","isTokenNumeric","isTokenWhiteSpaceOrComment","isTokenComma","isTokenComment","isTokenDelim","isTokenDimension","isTokenEOF","isTokenFunction","isTokenIdent","isTokenNumber","isTokenPercentage","isTokenWhitespace","isTokenOpenParen","isTokenCloseParen","isTokenOpenSquare","isTokenOpenCurly","f","walkerIndexGenerator","consumeComponentValue","consumeSimpleBlock","consumeFunction","consumeWhitespace","l","TokenNode","ContainerNodeBaseClass","FunctionNode","h","consumeAllCommentsAndWhitespace","SimpleBlockNode","m","WhitespaceNode","CommentNode","parseCommaSeparatedListOfComponentValues","k","forEach","walk","replaceComponentValues","isSimpleBlockNode","isFunctionNode","isWhitespaceNode","isCommentNode","isWhiteSpaceOrCommentNode","isTokenNode","E","toLowerCaseAZ","I","y","M","T","x","P","O","W","L","U","Z","$","z","q","G","convertUnit","v","addition","C","division","isCalculation","solve","multiplication","resolveGlobalsAndConstants","D","unary","B","resultToCalculation","dimensionToCalculation","percentageToCalculation","numberToCalculation","solveACos","solveASin","solveATan","isDimensionOrNumber","arrayOfSameNumeric","twoOfSameNumeric","solveATan2","solveAbs","solveClamp","solveCos","solveExp","solveHypot","solveMax","solveMin","solveMod","solvePow","solveRem","solveRound","solveSign","solveSin","solveSqrt","solveTan","subtraction","solveLog","j","isNone","solveRandom","sfc32","crc32","N","R","singleNodeSolver","twoCommaSeparatedNodesSolver","calc$1","F","calcWrapper","maxWrapper","variadicNodesSolver","twoCommaSeparatedArguments","singleArgument","V","A","variadicArguments","patchNaN","patchInfinity","patchMinusZero","patchPrecision","patchCalcResult","tokenizeGlobals","calc","calcFromComponentValues","w","parseValue","value","number","unit","match","parseFontSizeValue","values","lh","parsed","validateValues","start","end","prop","clamp","_start","_end","_minvw","_maxvw","useContainer","isPx","negative","minvw","maxvw","slope","defaultOptions","getBreakpointValue","customValue","fallback","screens","containers","isContainer","cleanValue","plugin","options","matchUtilities","theme","config","args","resolvedProp","key","props","type","css","val","spacing","startNegative","endNegative","startVal","endVal","acc"],"mappings":"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","x_google_ignoreList":[0,3,4,5]}
1
+ {"version":3,"file":"index.js","sources":["../../../node_modules/.pnpm/tailwindcss@4.0.15/node_modules/tailwindcss/dist/plugin.mjs","../lib/resolve-property.js","../lib/log.js","../../../node_modules/.pnpm/@csstools+css-tokenizer@3.0.3/node_modules/@csstools/css-tokenizer/dist/index.mjs","../../../node_modules/.pnpm/@csstools+css-parser-algorithms@3.0.4_@csstools+css-tokenizer@3.0.3/node_modules/@csstools/css-parser-algorithms/dist/index.mjs","../../../node_modules/.pnpm/@csstools+css-calc@2.1.2_@csstools+css-parser-algorithms@3.0.4_@csstools+css-tokenizer@_e215e7170ae5baf6e43e5fdddbc624e5/node_modules/@csstools/css-calc/dist/index.mjs","../lib/parse-value.js","../lib/clamp.js","../lib/index.js"],"sourcesContent":["function g(i,n){return{handler:i,config:n}}g.withOptions=function(i,n=()=>({})){function t(o){return{handler:i(o),config:n(o)}}return t.__isOptionsFunction=!0,t};var u=g;export{u as default};\n","const cssTransformValue = [\n 'translate(var(--tw-translate-x), var(--tw-translate-y))',\n 'rotate(var(--tw-rotate))',\n 'skewX(var(--tw-skew-x))',\n 'skewY(var(--tw-skew-y))',\n 'scaleX(var(--tw-scale-x))',\n 'scaleY(var(--tw-scale-y))',\n].join(' ');\n\nexport const resolveProperty = (name) => {\n switch (name) {\n // Sizing & Spacing\n case 'p':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['padding'],\n };\n\n case 'pt':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['paddingTop'],\n };\n\n case 'pb':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['paddingBottom'],\n };\n\n case 'pl':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['paddingLeft'],\n };\n\n case 'ps':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['paddingInlineStart'],\n };\n\n case 'pr':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['paddingRight'],\n };\n\n case 'pe':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['paddingInlineEnd'],\n };\n\n case 'px':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['paddingInline'],\n };\n\n case 'py':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['paddingBlock'],\n };\n\n case 'm':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['margin'],\n };\n\n case 'mt':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['marginTop'],\n };\n\n case 'mb':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['marginBottom'],\n };\n\n case 'ml':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['marginLeft'],\n };\n\n case 'ms':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['marginInlineStart'],\n };\n\n case 'mr':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['marginRight'],\n };\n\n case 'me':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['marginInlineEnd'],\n };\n\n case 'mx':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['marginInline'],\n };\n\n case 'my':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['marginBlock'],\n };\n\n case 'inset':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['inset'],\n };\n\n case 'inset-x':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['insetInline'],\n };\n\n case 'inset-y':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['insetBlock'],\n };\n\n case 'start':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['insetInlineStart'],\n };\n\n case 'end':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['insetInlineEnd'],\n };\n\n case 'top':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['top'],\n };\n\n case 'left':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['left'],\n };\n\n case 'right':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['right'],\n };\n\n case 'bottom':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['bottom'],\n };\n\n case 'gap':\n return {\n type: 'spacing',\n key: 'gap',\n props: ['gap'],\n };\n\n case 'gap-x':\n return {\n type: 'spacing',\n key: 'gap',\n props: ['columnGap'],\n };\n\n case 'gap-y':\n return {\n type: 'spacing',\n key: 'gap',\n props: ['rowGap'],\n };\n\n case 'w':\n return {\n type: 'spacing',\n key: 'width',\n props: ['width'],\n };\n\n case 'h':\n return {\n type: 'spacing',\n key: 'height',\n props: ['height'],\n };\n\n case 'size':\n return {\n type: 'spacing',\n key: 'size',\n props: ['width', 'height'],\n };\n\n case 'min-w':\n return {\n type: 'spacing',\n key: 'minWidth',\n props: ['minWidth'],\n };\n\n case 'min-h':\n return {\n type: 'spacing',\n key: 'minHeight',\n props: ['minHeight'],\n };\n\n case 'max-w':\n return {\n type: 'spacing',\n key: 'maxWidth',\n props: ['maxWidth'],\n };\n\n case 'max-h':\n return {\n type: 'spacing',\n key: 'maxHeight',\n props: ['maxHeight'],\n };\n\n case 'scroll-m':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMargin'],\n };\n\n case 'scroll-mx':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMarginInline'],\n };\n\n case 'scroll-my':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMarginBlock'],\n };\n case 'scroll-ms':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMarginInlineStart'],\n };\n\n case 'scroll-me':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMarginInlineEnd'],\n };\n\n case 'scroll-mt':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMarginTop'],\n };\n\n case 'scroll-mb':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMarginBottom'],\n };\n\n case 'scroll-ml':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMarginLeft'],\n };\n\n case 'scroll-mr':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMarginRight'],\n };\n\n case 'scroll-p':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPadding'],\n };\n\n case 'scroll-px':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPaddingInline'],\n };\n\n case 'scroll-py':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPaddingBlock'],\n };\n\n case 'scroll-ps':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPaddingInlineStart'],\n };\n\n case 'scroll-pe':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPaddingInlineEnd'],\n };\n\n case 'scroll-pt':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPaddingTop'],\n };\n\n case 'scroll-pb':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPaddingBottom'],\n };\n\n case 'scroll-pl':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPaddingLeft'],\n };\n\n case 'scroll-pr':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPaddingRight'],\n };\n\n case 'translate':\n return {\n type: 'spacing',\n key: 'translate',\n props: [\n '--tw-translate-x',\n '--tw-translate-y',\n { translate: 'var(--tw-translate-x) var(--tw-translate-y)' },\n ],\n };\n\n case 'translate-x':\n return {\n type: 'spacing',\n key: 'translate',\n props: [\n '--tw-translate-x',\n { translate: 'var(--tw-translate-x) var(--tw-translate-y)' },\n ],\n };\n\n case 'translate-y':\n return {\n type: 'spacing',\n key: 'translate',\n props: [\n '--tw-translate-y',\n { translate: 'var(--tw-translate-x) var(--tw-translate-y)' },\n ],\n };\n\n // Border & Stroke\n case 'stroke':\n return {\n type: 'regular',\n key: 'strokeWidth',\n props: ['strokeWidth'],\n };\n\n case 'border':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderWidth'],\n };\n\n case 'border-t':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderTopWidth'],\n };\n\n case 'border-b':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderBottomWidth'],\n };\n\n case 'border-l':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderLeftWidth'],\n };\n\n case 'border-s':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderInlineStartWidth'],\n };\n\n case 'border-r':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderRightWidth'],\n };\n\n case 'border-e':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderInlineEndWidth'],\n };\n\n case 'border-x':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderInlineWidth'],\n };\n\n case 'border-y':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderBlockWidth'],\n };\n\n // Border Radius\n case 'rounded':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderRadius'],\n };\n\n case 'rounded-s':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderStartStartRadius', 'borderEndStartRadius'],\n };\n\n case 'rounded-ss':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderStartStartRadius'],\n };\n\n case 'rounded-se':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderStartEndRadius'],\n };\n\n case 'rounded-e':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderStartEndRadius', 'borderEndEndRadius'],\n };\n\n case 'rounded-ee':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderEndEndRadius'],\n };\n\n case 'rounded-es':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderEndStartRadius'],\n };\n\n case 'rounded-t':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderTopLeftRadius', 'borderTopRightRadius'],\n };\n\n case 'rounded-r':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderTopRightRadius', 'borderBottomRightRadius'],\n };\n\n case 'rounded-b':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderBottomLeftRadius', 'borderBottomRightRadius'],\n };\n\n case 'rounded-l':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderTopLeftRadius', 'borderBottomLeftRadius'],\n };\n\n case 'rounded-tl':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderTopLeftRadius'],\n };\n\n case 'rounded-tr':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderTopRightRadius'],\n };\n\n case 'rounded-bl':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderBottomLeftRadius'],\n };\n\n case 'rounded-br':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderBottomRightRadius'],\n };\n\n case 'leading':\n return {\n type: 'regular',\n key: 'lineHeight',\n props: ['lineHeight'],\n };\n\n case 'tracking':\n return {\n type: 'regular',\n key: 'letterSpacing',\n props: ['letterSpacing'],\n };\n\n // Type\n case 'text':\n return {\n type: 'fontSize',\n key: 'fontSize',\n props: ['fontSize'],\n };\n\n default:\n return null;\n }\n};\n","export const log = {\n error() {\n console.log('\\x1b[31m', ...arguments, '\\x1b[0m');\n },\n warn() {\n console.log('\\x1b[33m', ...arguments, '\\x1b[0m');\n },\n info() {\n console.log('\\x1b[34m', ...arguments, '\\x1b[0m');\n },\n log() {\n console.log('\\x1b[90m', ...arguments, '\\x1b[0m');\n },\n};\n","class ParseError extends Error{sourceStart;sourceEnd;parserState;constructor(e,n,t,o){super(e),this.name=\"ParseError\",this.sourceStart=n,this.sourceEnd=t,this.parserState=o}}class ParseErrorWithToken extends ParseError{token;constructor(e,n,t,o,r){super(e,n,t,o),this.token=r}}const e={UnexpectedNewLineInString:\"Unexpected newline while consuming a string token.\",UnexpectedEOFInString:\"Unexpected EOF while consuming a string token.\",UnexpectedEOFInComment:\"Unexpected EOF while consuming a comment.\",UnexpectedEOFInURL:\"Unexpected EOF while consuming a url token.\",UnexpectedEOFInEscapedCodePoint:\"Unexpected EOF while consuming an escaped code point.\",UnexpectedCharacterInURL:\"Unexpected character while consuming a url token.\",InvalidEscapeSequenceInURL:\"Invalid escape sequence while consuming a url token.\",InvalidEscapeSequenceAfterBackslash:'Invalid escape sequence after \"\\\\\"'},n=\"undefined\"!=typeof globalThis&&\"structuredClone\"in globalThis;function cloneTokens(e){return n?structuredClone(e):JSON.parse(JSON.stringify(e))}function stringify(...e){let n=\"\";for(let t=0;t<e.length;t++)n+=e[t][1];return n}const t=13,o=45,r=10,i=43,s=65533;function checkIfFourCodePointsWouldStartCDO(e){return 60===e.source.codePointAt(e.cursor)&&33===e.source.codePointAt(e.cursor+1)&&e.source.codePointAt(e.cursor+2)===o&&e.source.codePointAt(e.cursor+3)===o}function isDigitCodePoint(e){return e>=48&&e<=57}function isUppercaseLetterCodePoint(e){return e>=65&&e<=90}function isLowercaseLetterCodePoint(e){return e>=97&&e<=122}function isHexDigitCodePoint(e){return e>=48&&e<=57||e>=97&&e<=102||e>=65&&e<=70}function isLetterCodePoint(e){return isLowercaseLetterCodePoint(e)||isUppercaseLetterCodePoint(e)}function isIdentStartCodePoint(e){return isLetterCodePoint(e)||isNonASCII_IdentCodePoint(e)||95===e}function isIdentCodePoint(e){return isIdentStartCodePoint(e)||isDigitCodePoint(e)||e===o}function isNonASCII_IdentCodePoint(e){return 183===e||8204===e||8205===e||8255===e||8256===e||8204===e||(192<=e&&e<=214||216<=e&&e<=246||248<=e&&e<=893||895<=e&&e<=8191||8304<=e&&e<=8591||11264<=e&&e<=12271||12289<=e&&e<=55295||63744<=e&&e<=64975||65008<=e&&e<=65533||(0===e||(!!isSurrogate(e)||e>=65536)))}function isNewLine(e){return e===r||e===t||12===e}function isWhitespace(e){return 32===e||e===r||9===e||e===t||12===e}function isSurrogate(e){return e>=55296&&e<=57343}function checkIfTwoCodePointsAreAValidEscape(e){return 92===e.source.codePointAt(e.cursor)&&!isNewLine(e.source.codePointAt(e.cursor+1)??-1)}function checkIfThreeCodePointsWouldStartAnIdentSequence(e,n){return n.source.codePointAt(n.cursor)===o?n.source.codePointAt(n.cursor+1)===o||(!!isIdentStartCodePoint(n.source.codePointAt(n.cursor+1)??-1)||92===n.source.codePointAt(n.cursor+1)&&!isNewLine(n.source.codePointAt(n.cursor+2)??-1)):!!isIdentStartCodePoint(n.source.codePointAt(n.cursor)??-1)||checkIfTwoCodePointsAreAValidEscape(n)}function checkIfThreeCodePointsWouldStartANumber(e){return e.source.codePointAt(e.cursor)===i||e.source.codePointAt(e.cursor)===o?!!isDigitCodePoint(e.source.codePointAt(e.cursor+1)??-1)||46===e.source.codePointAt(e.cursor+1)&&isDigitCodePoint(e.source.codePointAt(e.cursor+2)??-1):46===e.source.codePointAt(e.cursor)?isDigitCodePoint(e.source.codePointAt(e.cursor+1)??-1):isDigitCodePoint(e.source.codePointAt(e.cursor)??-1)}function checkIfTwoCodePointsStartAComment(e){return 47===e.source.codePointAt(e.cursor)&&42===e.source.codePointAt(e.cursor+1)}function checkIfThreeCodePointsWouldStartCDC(e){return e.source.codePointAt(e.cursor)===o&&e.source.codePointAt(e.cursor+1)===o&&62===e.source.codePointAt(e.cursor+2)}var c,a,u;function mirrorVariantType(e){switch(e){case c.OpenParen:return c.CloseParen;case c.CloseParen:return c.OpenParen;case c.OpenCurly:return c.CloseCurly;case c.CloseCurly:return c.OpenCurly;case c.OpenSquare:return c.CloseSquare;case c.CloseSquare:return c.OpenSquare;default:return null}}function mirrorVariant(e){switch(e[0]){case c.OpenParen:return[c.CloseParen,\")\",-1,-1,void 0];case c.CloseParen:return[c.OpenParen,\"(\",-1,-1,void 0];case c.OpenCurly:return[c.CloseCurly,\"}\",-1,-1,void 0];case c.CloseCurly:return[c.OpenCurly,\"{\",-1,-1,void 0];case c.OpenSquare:return[c.CloseSquare,\"]\",-1,-1,void 0];case c.CloseSquare:return[c.OpenSquare,\"[\",-1,-1,void 0];default:return null}}function consumeComment(n,t){for(t.advanceCodePoint(2);;){const o=t.readCodePoint();if(void 0===o){const o=[c.Comment,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,void 0];return n.onParseError(new ParseErrorWithToken(e.UnexpectedEOFInComment,t.representationStart,t.representationEnd,[\"4.3.2. Consume comments\",\"Unexpected EOF\"],o)),o}if(42===o&&(void 0!==t.source.codePointAt(t.cursor)&&47===t.source.codePointAt(t.cursor))){t.advanceCodePoint();break}}return[c.Comment,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,void 0]}function consumeEscapedCodePoint(n,o){const i=o.readCodePoint();if(void 0===i)return n.onParseError(new ParseError(e.UnexpectedEOFInEscapedCodePoint,o.representationStart,o.representationEnd,[\"4.3.7. Consume an escaped code point\",\"Unexpected EOF\"])),s;if(isHexDigitCodePoint(i)){const e=[i];let n;for(;void 0!==(n=o.source.codePointAt(o.cursor))&&isHexDigitCodePoint(n)&&e.length<6;)e.push(n),o.advanceCodePoint();isWhitespace(o.source.codePointAt(o.cursor)??-1)&&(o.source.codePointAt(o.cursor)===t&&o.source.codePointAt(o.cursor+1)===r&&o.advanceCodePoint(),o.advanceCodePoint());const c=parseInt(String.fromCodePoint(...e),16);return 0===c||isSurrogate(c)||c>1114111?s:c}return 0===i||isSurrogate(i)?s:i}function consumeIdentSequence(e,n){const t=[];for(;;){const o=n.source.codePointAt(n.cursor)??-1;if(0===o||isSurrogate(o))t.push(s),n.advanceCodePoint(+(o>65535)+1);else if(isIdentCodePoint(o))t.push(o),n.advanceCodePoint(+(o>65535)+1);else{if(!checkIfTwoCodePointsAreAValidEscape(n))return t;n.advanceCodePoint(),t.push(consumeEscapedCodePoint(e,n))}}}function consumeHashToken(e,n){n.advanceCodePoint();const t=n.source.codePointAt(n.cursor);if(void 0!==t&&(isIdentCodePoint(t)||checkIfTwoCodePointsAreAValidEscape(n))){let t=u.Unrestricted;checkIfThreeCodePointsWouldStartAnIdentSequence(0,n)&&(t=u.ID);const o=consumeIdentSequence(e,n);return[c.Hash,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{value:String.fromCodePoint(...o),type:t}]}return[c.Delim,\"#\",n.representationStart,n.representationEnd,{value:\"#\"}]}function consumeNumber(e,n){let t=a.Integer;for(n.source.codePointAt(n.cursor)!==i&&n.source.codePointAt(n.cursor)!==o||n.advanceCodePoint();isDigitCodePoint(n.source.codePointAt(n.cursor)??-1);)n.advanceCodePoint();if(46===n.source.codePointAt(n.cursor)&&isDigitCodePoint(n.source.codePointAt(n.cursor+1)??-1))for(n.advanceCodePoint(2),t=a.Number;isDigitCodePoint(n.source.codePointAt(n.cursor)??-1);)n.advanceCodePoint();if(101===n.source.codePointAt(n.cursor)||69===n.source.codePointAt(n.cursor)){if(isDigitCodePoint(n.source.codePointAt(n.cursor+1)??-1))n.advanceCodePoint(2);else{if(n.source.codePointAt(n.cursor+1)!==o&&n.source.codePointAt(n.cursor+1)!==i||!isDigitCodePoint(n.source.codePointAt(n.cursor+2)??-1))return t;n.advanceCodePoint(3)}for(t=a.Number;isDigitCodePoint(n.source.codePointAt(n.cursor)??-1);)n.advanceCodePoint()}return t}function consumeNumericToken(e,n){let t;{const e=n.source.codePointAt(n.cursor);e===o?t=\"-\":e===i&&(t=\"+\")}const r=consumeNumber(0,n),s=parseFloat(n.source.slice(n.representationStart,n.representationEnd+1));if(checkIfThreeCodePointsWouldStartAnIdentSequence(0,n)){const o=consumeIdentSequence(e,n);return[c.Dimension,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{value:s,signCharacter:t,type:r,unit:String.fromCodePoint(...o)}]}return 37===n.source.codePointAt(n.cursor)?(n.advanceCodePoint(),[c.Percentage,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{value:s,signCharacter:t}]):[c.Number,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{value:s,signCharacter:t,type:r}]}function consumeWhiteSpace(e){for(;isWhitespace(e.source.codePointAt(e.cursor)??-1);)e.advanceCodePoint();return[c.Whitespace,e.source.slice(e.representationStart,e.representationEnd+1),e.representationStart,e.representationEnd,void 0]}!function(e){e.Comment=\"comment\",e.AtKeyword=\"at-keyword-token\",e.BadString=\"bad-string-token\",e.BadURL=\"bad-url-token\",e.CDC=\"CDC-token\",e.CDO=\"CDO-token\",e.Colon=\"colon-token\",e.Comma=\"comma-token\",e.Delim=\"delim-token\",e.Dimension=\"dimension-token\",e.EOF=\"EOF-token\",e.Function=\"function-token\",e.Hash=\"hash-token\",e.Ident=\"ident-token\",e.Number=\"number-token\",e.Percentage=\"percentage-token\",e.Semicolon=\"semicolon-token\",e.String=\"string-token\",e.URL=\"url-token\",e.Whitespace=\"whitespace-token\",e.OpenParen=\"(-token\",e.CloseParen=\")-token\",e.OpenSquare=\"[-token\",e.CloseSquare=\"]-token\",e.OpenCurly=\"{-token\",e.CloseCurly=\"}-token\",e.UnicodeRange=\"unicode-range-token\"}(c||(c={})),function(e){e.Integer=\"integer\",e.Number=\"number\"}(a||(a={})),function(e){e.Unrestricted=\"unrestricted\",e.ID=\"id\"}(u||(u={}));class Reader{cursor=0;source=\"\";representationStart=0;representationEnd=-1;constructor(e){this.source=e}advanceCodePoint(e=1){this.cursor=this.cursor+e,this.representationEnd=this.cursor-1}readCodePoint(){const e=this.source.codePointAt(this.cursor);if(void 0!==e)return this.cursor=this.cursor+1,this.representationEnd=this.cursor-1,e}unreadCodePoint(e=1){this.cursor=this.cursor-e,this.representationEnd=this.cursor-1}resetRepresentation(){this.representationStart=this.cursor,this.representationEnd=-1}}function consumeStringToken(n,o){let i=\"\";const a=o.readCodePoint();for(;;){const u=o.readCodePoint();if(void 0===u){const t=[c.String,o.source.slice(o.representationStart,o.representationEnd+1),o.representationStart,o.representationEnd,{value:i}];return n.onParseError(new ParseErrorWithToken(e.UnexpectedEOFInString,o.representationStart,o.representationEnd,[\"4.3.5. Consume a string token\",\"Unexpected EOF\"],t)),t}if(isNewLine(u)){o.unreadCodePoint();const i=[c.BadString,o.source.slice(o.representationStart,o.representationEnd+1),o.representationStart,o.representationEnd,void 0];return n.onParseError(new ParseErrorWithToken(e.UnexpectedNewLineInString,o.representationStart,o.source.codePointAt(o.cursor)===t&&o.source.codePointAt(o.cursor+1)===r?o.representationEnd+2:o.representationEnd+1,[\"4.3.5. Consume a string token\",\"Unexpected newline\"],i)),i}if(u===a)return[c.String,o.source.slice(o.representationStart,o.representationEnd+1),o.representationStart,o.representationEnd,{value:i}];if(92!==u)0===u||isSurrogate(u)?i+=String.fromCodePoint(s):i+=String.fromCodePoint(u);else{if(void 0===o.source.codePointAt(o.cursor))continue;if(isNewLine(o.source.codePointAt(o.cursor)??-1)){o.source.codePointAt(o.cursor)===t&&o.source.codePointAt(o.cursor+1)===r&&o.advanceCodePoint(),o.advanceCodePoint();continue}i+=String.fromCodePoint(consumeEscapedCodePoint(n,o))}}}function checkIfCodePointsMatchURLIdent(e){return!(3!==e.length||117!==e[0]&&85!==e[0]||114!==e[1]&&82!==e[1]||108!==e[2]&&76!==e[2])}function consumeBadURL(e,n){for(;;){const t=n.source.codePointAt(n.cursor);if(void 0===t)return;if(41===t)return void n.advanceCodePoint();checkIfTwoCodePointsAreAValidEscape(n)?(n.advanceCodePoint(),consumeEscapedCodePoint(e,n)):n.advanceCodePoint()}}function consumeUrlToken(n,t){for(;isWhitespace(t.source.codePointAt(t.cursor)??-1);)t.advanceCodePoint();let o=\"\";for(;;){if(void 0===t.source.codePointAt(t.cursor)){const r=[c.URL,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,{value:o}];return n.onParseError(new ParseErrorWithToken(e.UnexpectedEOFInURL,t.representationStart,t.representationEnd,[\"4.3.6. Consume a url token\",\"Unexpected EOF\"],r)),r}if(41===t.source.codePointAt(t.cursor))return t.advanceCodePoint(),[c.URL,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,{value:o}];if(isWhitespace(t.source.codePointAt(t.cursor)??-1)){for(t.advanceCodePoint();isWhitespace(t.source.codePointAt(t.cursor)??-1);)t.advanceCodePoint();if(void 0===t.source.codePointAt(t.cursor)){const r=[c.URL,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,{value:o}];return n.onParseError(new ParseErrorWithToken(e.UnexpectedEOFInURL,t.representationStart,t.representationEnd,[\"4.3.6. Consume a url token\",\"Consume as much whitespace as possible\",\"Unexpected EOF\"],r)),r}return 41===t.source.codePointAt(t.cursor)?(t.advanceCodePoint(),[c.URL,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,{value:o}]):(consumeBadURL(n,t),[c.BadURL,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,void 0])}const i=t.source.codePointAt(t.cursor);if(34===i||39===i||40===i||(11===(r=i??-1)||127===r||0<=r&&r<=8||14<=r&&r<=31)){consumeBadURL(n,t);const o=[c.BadURL,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,void 0];return n.onParseError(new ParseErrorWithToken(e.UnexpectedCharacterInURL,t.representationStart,t.representationEnd,[\"4.3.6. Consume a url token\",\"Unexpected U+0022 QUOTATION MARK (\\\"), U+0027 APOSTROPHE ('), U+0028 LEFT PARENTHESIS (() or non-printable code point\"],o)),o}if(92===i){if(checkIfTwoCodePointsAreAValidEscape(t)){t.advanceCodePoint(),o+=String.fromCodePoint(consumeEscapedCodePoint(n,t));continue}consumeBadURL(n,t);const r=[c.BadURL,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,void 0];return n.onParseError(new ParseErrorWithToken(e.InvalidEscapeSequenceInURL,t.representationStart,t.representationEnd,[\"4.3.6. Consume a url token\",\"U+005C REVERSE SOLIDUS (\\\\)\",\"The input stream does not start with a valid escape sequence\"],r)),r}0===t.source.codePointAt(t.cursor)||isSurrogate(t.source.codePointAt(t.cursor)??-1)?(o+=String.fromCodePoint(s),t.advanceCodePoint()):(o+=t.source[t.cursor],t.advanceCodePoint())}var r}function consumeIdentLikeToken(e,n){const t=consumeIdentSequence(e,n);if(40!==n.source.codePointAt(n.cursor))return[c.Ident,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{value:String.fromCodePoint(...t)}];if(checkIfCodePointsMatchURLIdent(t)){n.advanceCodePoint();let o=0;for(;;){const e=isWhitespace(n.source.codePointAt(n.cursor)??-1),r=isWhitespace(n.source.codePointAt(n.cursor+1)??-1);if(e&&r){o+=1,n.advanceCodePoint(1);continue}const i=e?n.source.codePointAt(n.cursor+1):n.source.codePointAt(n.cursor);if(34===i||39===i)return o>0&&n.unreadCodePoint(o),[c.Function,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{value:String.fromCodePoint(...t)}];break}return consumeUrlToken(e,n)}return n.advanceCodePoint(),[c.Function,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{value:String.fromCodePoint(...t)}]}function checkIfThreeCodePointsWouldStartAUnicodeRange(e){return!(117!==e.source.codePointAt(e.cursor)&&85!==e.source.codePointAt(e.cursor)||e.source.codePointAt(e.cursor+1)!==i||63!==e.source.codePointAt(e.cursor+2)&&!isHexDigitCodePoint(e.source.codePointAt(e.cursor+2)??-1))}function consumeUnicodeRangeToken(e,n){n.advanceCodePoint(2);const t=[],r=[];let i;for(;void 0!==(i=n.source.codePointAt(n.cursor))&&t.length<6&&isHexDigitCodePoint(i);)t.push(i),n.advanceCodePoint();for(;void 0!==(i=n.source.codePointAt(n.cursor))&&t.length<6&&63===i;)0===r.length&&r.push(...t),t.push(48),r.push(70),n.advanceCodePoint();if(!r.length&&n.source.codePointAt(n.cursor)===o&&isHexDigitCodePoint(n.source.codePointAt(n.cursor+1)??-1))for(n.advanceCodePoint();void 0!==(i=n.source.codePointAt(n.cursor))&&r.length<6&&isHexDigitCodePoint(i);)r.push(i),n.advanceCodePoint();if(!r.length){const e=parseInt(String.fromCodePoint(...t),16);return[c.UnicodeRange,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{startOfRange:e,endOfRange:e}]}const s=parseInt(String.fromCodePoint(...t),16),a=parseInt(String.fromCodePoint(...r),16);return[c.UnicodeRange,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{startOfRange:s,endOfRange:a}]}function tokenize(e,n){const t=tokenizer(e,n),o=[];for(;!t.endOfFile();)o.push(t.nextToken());return o.push(t.nextToken()),o}function tokenizer(n,s){const a=n.css.valueOf(),u=n.unicodeRangesAllowed??!1,d=new Reader(a),p={onParseError:s?.onParseError??noop};return{nextToken:function nextToken(){d.resetRepresentation();const n=d.source.codePointAt(d.cursor);if(void 0===n)return[c.EOF,\"\",-1,-1,void 0];if(47===n&&checkIfTwoCodePointsStartAComment(d))return consumeComment(p,d);if(u&&(117===n||85===n)&&checkIfThreeCodePointsWouldStartAUnicodeRange(d))return consumeUnicodeRangeToken(0,d);if(isIdentStartCodePoint(n))return consumeIdentLikeToken(p,d);if(isDigitCodePoint(n))return consumeNumericToken(p,d);switch(n){case 44:return d.advanceCodePoint(),[c.Comma,\",\",d.representationStart,d.representationEnd,void 0];case 58:return d.advanceCodePoint(),[c.Colon,\":\",d.representationStart,d.representationEnd,void 0];case 59:return d.advanceCodePoint(),[c.Semicolon,\";\",d.representationStart,d.representationEnd,void 0];case 40:return d.advanceCodePoint(),[c.OpenParen,\"(\",d.representationStart,d.representationEnd,void 0];case 41:return d.advanceCodePoint(),[c.CloseParen,\")\",d.representationStart,d.representationEnd,void 0];case 91:return d.advanceCodePoint(),[c.OpenSquare,\"[\",d.representationStart,d.representationEnd,void 0];case 93:return d.advanceCodePoint(),[c.CloseSquare,\"]\",d.representationStart,d.representationEnd,void 0];case 123:return d.advanceCodePoint(),[c.OpenCurly,\"{\",d.representationStart,d.representationEnd,void 0];case 125:return d.advanceCodePoint(),[c.CloseCurly,\"}\",d.representationStart,d.representationEnd,void 0];case 39:case 34:return consumeStringToken(p,d);case 35:return consumeHashToken(p,d);case i:case 46:return checkIfThreeCodePointsWouldStartANumber(d)?consumeNumericToken(p,d):(d.advanceCodePoint(),[c.Delim,d.source[d.representationStart],d.representationStart,d.representationEnd,{value:d.source[d.representationStart]}]);case r:case t:case 12:case 9:case 32:return consumeWhiteSpace(d);case o:return checkIfThreeCodePointsWouldStartANumber(d)?consumeNumericToken(p,d):checkIfThreeCodePointsWouldStartCDC(d)?(d.advanceCodePoint(3),[c.CDC,\"--\\x3e\",d.representationStart,d.representationEnd,void 0]):checkIfThreeCodePointsWouldStartAnIdentSequence(0,d)?consumeIdentLikeToken(p,d):(d.advanceCodePoint(),[c.Delim,\"-\",d.representationStart,d.representationEnd,{value:\"-\"}]);case 60:return checkIfFourCodePointsWouldStartCDO(d)?(d.advanceCodePoint(4),[c.CDO,\"\\x3c!--\",d.representationStart,d.representationEnd,void 0]):(d.advanceCodePoint(),[c.Delim,\"<\",d.representationStart,d.representationEnd,{value:\"<\"}]);case 64:if(d.advanceCodePoint(),checkIfThreeCodePointsWouldStartAnIdentSequence(0,d)){const e=consumeIdentSequence(p,d);return[c.AtKeyword,d.source.slice(d.representationStart,d.representationEnd+1),d.representationStart,d.representationEnd,{value:String.fromCodePoint(...e)}]}return[c.Delim,\"@\",d.representationStart,d.representationEnd,{value:\"@\"}];case 92:{if(checkIfTwoCodePointsAreAValidEscape(d))return consumeIdentLikeToken(p,d);d.advanceCodePoint();const n=[c.Delim,\"\\\\\",d.representationStart,d.representationEnd,{value:\"\\\\\"}];return p.onParseError(new ParseErrorWithToken(e.InvalidEscapeSequenceAfterBackslash,d.representationStart,d.representationEnd,[\"4.3.1. Consume a token\",\"U+005C REVERSE SOLIDUS (\\\\)\",\"The input stream does not start with a valid escape sequence\"],n)),n}}return d.advanceCodePoint(),[c.Delim,d.source[d.representationStart],d.representationStart,d.representationEnd,{value:d.source[d.representationStart]}]},endOfFile:function endOfFile(){return void 0===d.source.codePointAt(d.cursor)}}}function noop(){}function mutateIdent(e,n){const t=[];for(const e of n)t.push(e.codePointAt(0));const o=String.fromCodePoint(...ensureThatValueRoundTripsAsIdent(t));e[1]=o,e[4].value=n}function mutateUnit(e,n){const t=[];for(const e of n)t.push(e.codePointAt(0));const o=ensureThatValueRoundTripsAsIdent(t);101===o[0]&&insertEscapedCodePoint(o,0,o[0]);const r=String.fromCodePoint(...o),i=\"+\"===e[4].signCharacter?e[4].signCharacter:\"\",s=e[4].value.toString();e[1]=`${i}${s}${r}`,e[4].unit=n}function ensureThatValueRoundTripsAsIdent(e){let n=0;e[0]===o&&e[1]===o?n=2:e[0]===o&&e[1]?(n=2,isIdentStartCodePoint(e[1])||(n+=insertEscapedCodePoint(e,1,e[1]))):isIdentStartCodePoint(e[0])?n=1:(n=1,n+=insertEscapedCodePoint(e,0,e[0]));for(let t=n;t<e.length;t++)isIdentCodePoint(e[t])||(t+=insertEscapedCodePoint(e,t,e[t]));return e}function insertEscapedCodePoint(e,n,t){const o=t.toString(16),r=[];for(const e of o)r.push(e.codePointAt(0));const i=e[n+1];return n===e.length-1||i&&isHexDigitCodePoint(i)?(e.splice(n,1,92,...r,32),1+r.length):(e.splice(n,1,92,...r),r.length)}const d=Object.values(c);function isToken(e){return!!Array.isArray(e)&&(!(e.length<4)&&(!!d.includes(e[0])&&(\"string\"==typeof e[1]&&(\"number\"==typeof e[2]&&\"number\"==typeof e[3]))))}function isTokenNumeric(e){if(!e)return!1;switch(e[0]){case c.Dimension:case c.Number:case c.Percentage:return!0;default:return!1}}function isTokenWhiteSpaceOrComment(e){if(!e)return!1;switch(e[0]){case c.Whitespace:case c.Comment:return!0;default:return!1}}function isTokenAtKeyword(e){return!!e&&e[0]===c.AtKeyword}function isTokenBadString(e){return!!e&&e[0]===c.BadString}function isTokenBadURL(e){return!!e&&e[0]===c.BadURL}function isTokenCDC(e){return!!e&&e[0]===c.CDC}function isTokenCDO(e){return!!e&&e[0]===c.CDO}function isTokenColon(e){return!!e&&e[0]===c.Colon}function isTokenComma(e){return!!e&&e[0]===c.Comma}function isTokenComment(e){return!!e&&e[0]===c.Comment}function isTokenDelim(e){return!!e&&e[0]===c.Delim}function isTokenDimension(e){return!!e&&e[0]===c.Dimension}function isTokenEOF(e){return!!e&&e[0]===c.EOF}function isTokenFunction(e){return!!e&&e[0]===c.Function}function isTokenHash(e){return!!e&&e[0]===c.Hash}function isTokenIdent(e){return!!e&&e[0]===c.Ident}function isTokenNumber(e){return!!e&&e[0]===c.Number}function isTokenPercentage(e){return!!e&&e[0]===c.Percentage}function isTokenSemicolon(e){return!!e&&e[0]===c.Semicolon}function isTokenString(e){return!!e&&e[0]===c.String}function isTokenURL(e){return!!e&&e[0]===c.URL}function isTokenWhitespace(e){return!!e&&e[0]===c.Whitespace}function isTokenOpenParen(e){return!!e&&e[0]===c.OpenParen}function isTokenCloseParen(e){return!!e&&e[0]===c.CloseParen}function isTokenOpenSquare(e){return!!e&&e[0]===c.OpenSquare}function isTokenCloseSquare(e){return!!e&&e[0]===c.CloseSquare}function isTokenOpenCurly(e){return!!e&&e[0]===c.OpenCurly}function isTokenCloseCurly(e){return!!e&&e[0]===c.CloseCurly}function isTokenUnicodeRange(e){return!!e&&e[0]===c.UnicodeRange}export{u as HashType,a as NumberType,ParseError,e as ParseErrorMessage,ParseErrorWithToken,c as TokenType,cloneTokens,isToken,isTokenAtKeyword,isTokenBadString,isTokenBadURL,isTokenCDC,isTokenCDO,isTokenCloseCurly,isTokenCloseParen,isTokenCloseSquare,isTokenColon,isTokenComma,isTokenComment,isTokenDelim,isTokenDimension,isTokenEOF,isTokenFunction,isTokenHash,isTokenIdent,isTokenNumber,isTokenNumeric,isTokenOpenCurly,isTokenOpenParen,isTokenOpenSquare,isTokenPercentage,isTokenSemicolon,isTokenString,isTokenURL,isTokenUnicodeRange,isTokenWhiteSpaceOrComment,isTokenWhitespace,mirrorVariant,mirrorVariantType,mutateIdent,mutateUnit,stringify,tokenize,tokenizer};\n","import{isTokenEOF as e,TokenType as n,isToken as t,stringify as o,mirrorVariant as s,isTokenOpenParen as i,isTokenOpenCurly as r,isTokenOpenSquare as a,isTokenFunction as c,isTokenWhitespace as u,isTokenComment as l,ParseError as d,isTokenCloseParen as h,isTokenWhiteSpaceOrComment as p,mirrorVariantType as m,isTokenComma as k}from\"@csstools/css-tokenizer\";var f;function walkerIndexGenerator(e){let n=e.slice();return(e,t,o)=>{let s=-1;for(let i=n.indexOf(t);i<n.length&&(s=e.indexOf(n[i]),-1===s||s<o);i++);return-1===s||s===o&&t===e[o]&&(s++,s>=e.length)?-1:(n=e.slice(),s)}}function consumeComponentValue(e,n){const t=n[0];if(i(t)||r(t)||a(t)){const t=consumeSimpleBlock(e,n);return{advance:t.advance,node:t.node}}if(c(t)){const t=consumeFunction(e,n);return{advance:t.advance,node:t.node}}if(u(t)){const t=consumeWhitespace(e,n);return{advance:t.advance,node:t.node}}if(l(t)){const t=consumeComment(e,n);return{advance:t.advance,node:t.node}}return{advance:1,node:new TokenNode(t)}}!function(e){e.Function=\"function\",e.SimpleBlock=\"simple-block\",e.Whitespace=\"whitespace\",e.Comment=\"comment\",e.Token=\"token\"}(f||(f={}));class ContainerNodeBaseClass{value=[];indexOf(e){return this.value.indexOf(e)}at(e){if(\"number\"==typeof e)return e<0&&(e=this.value.length+e),this.value[e]}forEach(e,n){if(0===this.value.length)return;const t=walkerIndexGenerator(this.value);let o=0;for(;o<this.value.length;){const s=this.value[o];let i;if(n&&(i={...n}),!1===e({node:s,parent:this,state:i},o))return!1;if(o=t(this.value,s,o),-1===o)break}}walk(e,n){0!==this.value.length&&this.forEach(((n,t)=>!1!==e(n,t)&&((!(\"walk\"in n.node)||!this.value.includes(n.node)||!1!==n.node.walk(e,n.state))&&void 0)),n)}}class FunctionNode extends ContainerNodeBaseClass{type=f.Function;name;endToken;constructor(e,n,t){super(),this.name=e,this.endToken=n,this.value=t}getName(){return this.name[4].value}normalize(){e(this.endToken)&&(this.endToken=[n.CloseParen,\")\",-1,-1,void 0])}tokens(){return e(this.endToken)?[this.name,...this.value.flatMap((e=>e.tokens()))]:[this.name,...this.value.flatMap((e=>e.tokens())),this.endToken]}toString(){const e=this.value.map((e=>t(e)?o(e):e.toString())).join(\"\");return o(this.name)+e+o(this.endToken)}toJSON(){return{type:this.type,name:this.getName(),tokens:this.tokens(),value:this.value.map((e=>e.toJSON()))}}isFunctionNode(){return FunctionNode.isFunctionNode(this)}static isFunctionNode(e){return!!e&&(e instanceof FunctionNode&&e.type===f.Function)}}function consumeFunction(n,t){const o=[];let s=1;for(;;){const i=t[s];if(!i||e(i))return n.onParseError(new d(\"Unexpected EOF while consuming a function.\",t[0][2],t[t.length-1][3],[\"5.4.9. Consume a function\",\"Unexpected EOF\"])),{advance:t.length,node:new FunctionNode(t[0],i,o)};if(h(i))return{advance:s+1,node:new FunctionNode(t[0],i,o)};if(p(i)){const e=consumeAllCommentsAndWhitespace(n,t.slice(s));s+=e.advance,o.push(...e.nodes);continue}const r=consumeComponentValue(n,t.slice(s));s+=r.advance,o.push(r.node)}}class SimpleBlockNode extends ContainerNodeBaseClass{type=f.SimpleBlock;startToken;endToken;constructor(e,n,t){super(),this.startToken=e,this.endToken=n,this.value=t}normalize(){if(e(this.endToken)){const e=s(this.startToken);e&&(this.endToken=e)}}tokens(){return e(this.endToken)?[this.startToken,...this.value.flatMap((e=>e.tokens()))]:[this.startToken,...this.value.flatMap((e=>e.tokens())),this.endToken]}toString(){const e=this.value.map((e=>t(e)?o(e):e.toString())).join(\"\");return o(this.startToken)+e+o(this.endToken)}toJSON(){return{type:this.type,startToken:this.startToken,tokens:this.tokens(),value:this.value.map((e=>e.toJSON()))}}isSimpleBlockNode(){return SimpleBlockNode.isSimpleBlockNode(this)}static isSimpleBlockNode(e){return!!e&&(e instanceof SimpleBlockNode&&e.type===f.SimpleBlock)}}function consumeSimpleBlock(n,t){const o=m(t[0][0]);if(!o)throw new Error(\"Failed to parse, a mirror variant must exist for all block open tokens.\");const s=[];let i=1;for(;;){const r=t[i];if(!r||e(r))return n.onParseError(new d(\"Unexpected EOF while consuming a simple block.\",t[0][2],t[t.length-1][3],[\"5.4.8. Consume a simple block\",\"Unexpected EOF\"])),{advance:t.length,node:new SimpleBlockNode(t[0],r,s)};if(r[0]===o)return{advance:i+1,node:new SimpleBlockNode(t[0],r,s)};if(p(r)){const e=consumeAllCommentsAndWhitespace(n,t.slice(i));i+=e.advance,s.push(...e.nodes);continue}const a=consumeComponentValue(n,t.slice(i));i+=a.advance,s.push(a.node)}}class WhitespaceNode{type=f.Whitespace;value;constructor(e){this.value=e}tokens(){return this.value}toString(){return o(...this.value)}toJSON(){return{type:this.type,tokens:this.tokens()}}isWhitespaceNode(){return WhitespaceNode.isWhitespaceNode(this)}static isWhitespaceNode(e){return!!e&&(e instanceof WhitespaceNode&&e.type===f.Whitespace)}}function consumeWhitespace(e,n){let t=0;for(;;){const e=n[t];if(!u(e))return{advance:t,node:new WhitespaceNode(n.slice(0,t))};t++}}class CommentNode{type=f.Comment;value;constructor(e){this.value=e}tokens(){return[this.value]}toString(){return o(this.value)}toJSON(){return{type:this.type,tokens:this.tokens()}}isCommentNode(){return CommentNode.isCommentNode(this)}static isCommentNode(e){return!!e&&(e instanceof CommentNode&&e.type===f.Comment)}}function consumeComment(e,n){return{advance:1,node:new CommentNode(n[0])}}function consumeAllCommentsAndWhitespace(e,n){const t=[];let o=0;for(;;)if(u(n[o])){const e=consumeWhitespace(0,n.slice(o));o+=e.advance,t.push(e.node)}else{if(!l(n[o]))return{advance:o,nodes:t};t.push(new CommentNode(n[o])),o++}}class TokenNode{type=f.Token;value;constructor(e){this.value=e}tokens(){return[this.value]}toString(){return this.value[1]}toJSON(){return{type:this.type,tokens:this.tokens()}}isTokenNode(){return TokenNode.isTokenNode(this)}static isTokenNode(e){return!!e&&(e instanceof TokenNode&&e.type===f.Token)}}function parseComponentValue(t,o){const s={onParseError:o?.onParseError??(()=>{})},i=[...t];e(i[i.length-1])&&i.push([n.EOF,\"\",i[i.length-1][2],i[i.length-1][3],void 0]);const r=consumeComponentValue(s,i);if(e(i[Math.min(r.advance,i.length-1)]))return r.node;s.onParseError(new d(\"Expected EOF after parsing a component value.\",t[0][2],t[t.length-1][3],[\"5.3.9. Parse a component value\",\"Expected EOF\"]))}function parseListOfComponentValues(t,o){const s={onParseError:o?.onParseError??(()=>{})},i=[...t];e(i[i.length-1])&&i.push([n.EOF,\"\",i[i.length-1][2],i[i.length-1][3],void 0]);const r=[];let a=0;for(;;){if(!i[a]||e(i[a]))return r;const n=consumeComponentValue(s,i.slice(a));r.push(n.node),a+=n.advance}}function parseCommaSeparatedListOfComponentValues(t,o){const s={onParseError:o?.onParseError??(()=>{})},i=[...t];if(0===t.length)return[];e(i[i.length-1])&&i.push([n.EOF,\"\",i[i.length-1][2],i[i.length-1][3],void 0]);const r=[];let a=[],c=0;for(;;){if(!i[c]||e(i[c]))return a.length&&r.push(a),r;if(k(i[c])){r.push(a),a=[],c++;continue}const n=consumeComponentValue(s,t.slice(c));a.push(n.node),c+=n.advance}}function gatherNodeAncestry(e){const n=new Map;return e.walk((e=>{Array.isArray(e.node)?e.node.forEach((t=>{n.set(t,e.parent)})):n.set(e.node,e.parent)})),n}function forEach(e,n,t){if(0===e.length)return;const o=walkerIndexGenerator(e);let s=0;for(;s<e.length;){const i=e[s];let r;if(t&&(r={...t}),!1===n({node:i,parent:{value:e},state:r},s))return!1;if(s=o(e,i,s),-1===s)break}}function walk(e,n,t){0!==e.length&&forEach(e,((t,o)=>!1!==n(t,o)&&((!(\"walk\"in t.node)||!e.includes(t.node)||!1!==t.node.walk(n,t.state))&&void 0)),t)}function replaceComponentValues(e,n){for(let t=0;t<e.length;t++){walk(e[t],((e,t)=>{if(\"number\"!=typeof t)return;const o=n(e.node);o&&(Array.isArray(o)?e.parent.value.splice(t,1,...o):e.parent.value.splice(t,1,o))}))}return e}function stringify(e){return e.map((e=>e.map((e=>o(...e.tokens()))).join(\"\"))).join(\",\")}function isSimpleBlockNode(e){return SimpleBlockNode.isSimpleBlockNode(e)}function isFunctionNode(e){return FunctionNode.isFunctionNode(e)}function isWhitespaceNode(e){return WhitespaceNode.isWhitespaceNode(e)}function isCommentNode(e){return CommentNode.isCommentNode(e)}function isWhiteSpaceOrCommentNode(e){return isWhitespaceNode(e)||isCommentNode(e)}function isTokenNode(e){return TokenNode.isTokenNode(e)}function sourceIndices(e){if(Array.isArray(e)){const n=e[0];if(!n)return[0,0];const t=e[e.length-1]||n;return[sourceIndices(n)[0],sourceIndices(t)[1]]}const n=e.tokens(),t=n[0],o=n[n.length-1];return t&&o?[t[2],o[3]]:[0,0]}export{CommentNode,f as ComponentValueType,ContainerNodeBaseClass,FunctionNode,SimpleBlockNode,TokenNode,WhitespaceNode,forEach,gatherNodeAncestry,isCommentNode,isFunctionNode,isSimpleBlockNode,isTokenNode,isWhiteSpaceOrCommentNode,isWhitespaceNode,parseCommaSeparatedListOfComponentValues,parseComponentValue,parseListOfComponentValues,replaceComponentValues,sourceIndices,stringify,walk,walkerIndexGenerator};\n","import{TokenNode as e,isTokenNode as n,isWhitespaceNode as t,isCommentNode as r,isWhiteSpaceOrCommentNode as u,isSimpleBlockNode as a,isFunctionNode as i,FunctionNode as o,WhitespaceNode as l,parseCommaSeparatedListOfComponentValues as s,replaceComponentValues as c}from\"@csstools/css-parser-algorithms\";import{isTokenDimension as v,TokenType as f,NumberType as m,mutateUnit as p,isTokenNumber as C,isTokenPercentage as g,isTokenIdent as D,isTokenNumeric as B,stringify as N,isTokenOpenParen as A,isTokenDelim as d,isTokenComma as F,isToken as b,tokenizer as h,tokenize as w}from\"@csstools/css-tokenizer\";const E=/[A-Z]/g;function toLowerCaseAZ(e){return e.replace(E,(e=>String.fromCharCode(e.charCodeAt(0)+32)))}const S={cm:\"px\",in:\"px\",mm:\"px\",pc:\"px\",pt:\"px\",px:\"px\",q:\"px\",deg:\"deg\",grad:\"deg\",rad:\"deg\",turn:\"deg\",ms:\"s\",s:\"s\",hz:\"hz\",khz:\"hz\"},I=new Map([[\"cm\",e=>e],[\"mm\",e=>10*e],[\"q\",e=>40*e],[\"in\",e=>e/2.54],[\"pc\",e=>e/2.54*6],[\"pt\",e=>e/2.54*72],[\"px\",e=>e/2.54*96]]),y=new Map([[\"deg\",e=>e],[\"grad\",e=>e/.9],[\"rad\",e=>e/180*Math.PI],[\"turn\",e=>e/360]]),M=new Map([[\"deg\",e=>.9*e],[\"grad\",e=>e],[\"rad\",e=>.9*e/180*Math.PI],[\"turn\",e=>.9*e/360]]),T=new Map([[\"hz\",e=>e],[\"khz\",e=>e/1e3]]),k=new Map([[\"cm\",e=>2.54*e],[\"mm\",e=>25.4*e],[\"q\",e=>25.4*e*4],[\"in\",e=>e],[\"pc\",e=>6*e],[\"pt\",e=>72*e],[\"px\",e=>96*e]]),x=new Map([[\"hz\",e=>1e3*e],[\"khz\",e=>e]]),P=new Map([[\"cm\",e=>e/10],[\"mm\",e=>e],[\"q\",e=>4*e],[\"in\",e=>e/25.4],[\"pc\",e=>e/25.4*6],[\"pt\",e=>e/25.4*72],[\"px\",e=>e/25.4*96]]),O=new Map([[\"ms\",e=>e],[\"s\",e=>e/1e3]]),W=new Map([[\"cm\",e=>e/6*2.54],[\"mm\",e=>e/6*25.4],[\"q\",e=>e/6*25.4*4],[\"in\",e=>e/6],[\"pc\",e=>e],[\"pt\",e=>e/6*72],[\"px\",e=>e/6*96]]),L=new Map([[\"cm\",e=>e/72*2.54],[\"mm\",e=>e/72*25.4],[\"q\",e=>e/72*25.4*4],[\"in\",e=>e/72],[\"pc\",e=>e/72*6],[\"pt\",e=>e],[\"px\",e=>e/72*96]]),U=new Map([[\"cm\",e=>e/96*2.54],[\"mm\",e=>e/96*25.4],[\"q\",e=>e/96*25.4*4],[\"in\",e=>e/96],[\"pc\",e=>e/96*6],[\"pt\",e=>e/96*72],[\"px\",e=>e]]),Z=new Map([[\"cm\",e=>e/4/10],[\"mm\",e=>e/4],[\"q\",e=>e],[\"in\",e=>e/4/25.4],[\"pc\",e=>e/4/25.4*6],[\"pt\",e=>e/4/25.4*72],[\"px\",e=>e/4/25.4*96]]),$=new Map([[\"deg\",e=>180*e/Math.PI],[\"grad\",e=>180*e/Math.PI/.9],[\"rad\",e=>e],[\"turn\",e=>180*e/Math.PI/360]]),z=new Map([[\"ms\",e=>1e3*e],[\"s\",e=>e]]),q=new Map([[\"deg\",e=>360*e],[\"grad\",e=>360*e/.9],[\"rad\",e=>360*e/180*Math.PI],[\"turn\",e=>e]]),G=new Map([[\"cm\",I],[\"mm\",P],[\"q\",Z],[\"in\",k],[\"pc\",W],[\"pt\",L],[\"px\",U],[\"ms\",O],[\"s\",z],[\"deg\",y],[\"grad\",M],[\"rad\",$],[\"turn\",q],[\"hz\",T],[\"khz\",x]]);function convertUnit(e,n){if(!v(e))return n;if(!v(n))return n;const t=toLowerCaseAZ(e[4].unit),r=toLowerCaseAZ(n[4].unit);if(t===r)return n;const u=G.get(r);if(!u)return n;const a=u.get(t);if(!a)return n;const i=a(n[4].value),o=[f.Dimension,\"\",n[2],n[3],{...n[4],signCharacter:i<0?\"-\":void 0,type:Number.isInteger(i)?m.Integer:m.Number,value:i}];return p(o,e[4].unit),o}function toCanonicalUnit(e){if(!v(e))return e;const n=toLowerCaseAZ(e[4].unit),t=S[n];if(n===t)return e;const r=G.get(n);if(!r)return e;const u=r.get(t);if(!u)return e;const a=u(e[4].value),i=[f.Dimension,\"\",e[2],e[3],{...e[4],signCharacter:a<0?\"-\":void 0,type:Number.isInteger(a)?m.Integer:m.Number,value:a}];return p(i,t),i}function addition(n){if(2!==n.length)return-1;const t=n[0].value;let r=n[1].value;if(C(t)&&C(r)){const n=t[4].value+r[4].value;return new e([f.Number,n.toString(),t[2],r[3],{value:n,type:t[4].type===m.Integer&&r[4].type===m.Integer?m.Integer:m.Number}])}if(g(t)&&g(r)){const n=t[4].value+r[4].value;return new e([f.Percentage,n.toString()+\"%\",t[2],r[3],{value:n}])}if(v(t)&&v(r)&&(r=convertUnit(t,r),toLowerCaseAZ(t[4].unit)===toLowerCaseAZ(r[4].unit))){const n=t[4].value+r[4].value;return new e([f.Dimension,n.toString()+t[4].unit,t[2],r[3],{value:n,type:t[4].type===m.Integer&&r[4].type===m.Integer?m.Integer:m.Number,unit:t[4].unit}])}return-1}function division(n){if(2!==n.length)return-1;const t=n[0].value,r=n[1].value;if(C(t)&&C(r)){const n=t[4].value/r[4].value;return new e([f.Number,n.toString(),t[2],r[3],{value:n,type:Number.isInteger(n)?m.Integer:m.Number}])}if(g(t)&&C(r)){const n=t[4].value/r[4].value;return new e([f.Percentage,n.toString()+\"%\",t[2],r[3],{value:n}])}if(v(t)&&C(r)){const n=t[4].value/r[4].value;return new e([f.Dimension,n.toString()+t[4].unit,t[2],r[3],{value:n,type:Number.isInteger(n)?m.Integer:m.Number,unit:t[4].unit}])}return-1}function isCalculation(e){return!!e&&\"object\"==typeof e&&\"inputs\"in e&&Array.isArray(e.inputs)&&\"operation\"in e}function solve(e){if(-1===e)return-1;const t=[];for(let r=0;r<e.inputs.length;r++){const u=e.inputs[r];if(n(u)){t.push(u);continue}const a=solve(u);if(-1===a)return-1;t.push(a)}return e.operation(t)}function multiplication(n){if(2!==n.length)return-1;const t=n[0].value,r=n[1].value;if(C(t)&&C(r)){const n=t[4].value*r[4].value;return new e([f.Number,n.toString(),t[2],r[3],{value:n,type:t[4].type===m.Integer&&r[4].type===m.Integer?m.Integer:m.Number}])}if(g(t)&&C(r)){const n=t[4].value*r[4].value;return new e([f.Percentage,n.toString()+\"%\",t[2],r[3],{value:n}])}if(C(t)&&g(r)){const n=t[4].value*r[4].value;return new e([f.Percentage,n.toString()+\"%\",t[2],r[3],{value:n}])}if(v(t)&&C(r)){const n=t[4].value*r[4].value;return new e([f.Dimension,n.toString()+t[4].unit,t[2],r[3],{value:n,type:t[4].type===m.Integer&&r[4].type===m.Integer?m.Integer:m.Number,unit:t[4].unit}])}if(C(t)&&v(r)){const n=t[4].value*r[4].value;return new e([f.Dimension,n.toString()+r[4].unit,t[2],r[3],{value:n,type:t[4].type===m.Integer&&r[4].type===m.Integer?m.Integer:m.Number,unit:r[4].unit}])}return-1}function resolveGlobalsAndConstants(t,r){for(let u=0;u<t.length;u++){const a=t[u];if(!n(a))continue;const i=a.value;if(!D(i))continue;const o=toLowerCaseAZ(i[4].value);switch(o){case\"e\":t.splice(u,1,new e([f.Number,Math.E.toString(),i[2],i[3],{value:Math.E,type:m.Number}]));break;case\"pi\":t.splice(u,1,new e([f.Number,Math.PI.toString(),i[2],i[3],{value:Math.PI,type:m.Number}]));break;case\"infinity\":t.splice(u,1,new e([f.Number,\"infinity\",i[2],i[3],{value:1/0,type:m.Number}]));break;case\"-infinity\":t.splice(u,1,new e([f.Number,\"-infinity\",i[2],i[3],{value:-1/0,type:m.Number}]));break;case\"nan\":t.splice(u,1,new e([f.Number,\"NaN\",i[2],i[3],{value:Number.NaN,type:m.Number}]));break;default:if(r.has(o)){const n=r.get(o);t.splice(u,1,new e(n))}}}return t}function unary(e){if(1!==e.length)return-1;const n=e[0].value;return B(n)?e[0]:-1}function resultToCalculation(e,n,t){return v(n)?dimensionToCalculation(e,n[4].unit,t):g(n)?percentageToCalculation(e,t):C(n)?numberToCalculation(e,t):-1}function dimensionToCalculation(n,t,r){const u=n.tokens();return{inputs:[new e([f.Dimension,r.toString()+t,u[0][2],u[u.length-1][3],{value:r,type:Number.isInteger(r)?m.Integer:m.Number,unit:t}])],operation:unary}}function percentageToCalculation(n,t){const r=n.tokens();return{inputs:[new e([f.Percentage,t.toString()+\"%\",r[0][2],r[r.length-1][3],{value:t}])],operation:unary}}function numberToCalculation(n,t){const r=n.tokens();return{inputs:[new e([f.Number,t.toString(),r[0][2],r[r.length-1][3],{value:t,type:Number.isInteger(t)?m.Integer:m.Number}])],operation:unary}}function solveACos(e,n){const t=n.value;if(!C(t))return-1;return dimensionToCalculation(e,\"rad\",Math.acos(t[4].value))}function solveASin(e,n){const t=n.value;if(!C(t))return-1;return dimensionToCalculation(e,\"rad\",Math.asin(t[4].value))}function solveATan(e,n){const t=n.value;if(!C(t))return-1;return dimensionToCalculation(e,\"rad\",Math.atan(t[4].value))}function isDimensionOrNumber(e){return v(e)||C(e)}function arrayOfSameNumeric(e){if(0===e.length)return!0;const n=e[0];if(!B(n))return!1;if(1===e.length)return!0;if(v(n)){const t=toLowerCaseAZ(n[4].unit);for(let r=1;r<e.length;r++){const u=e[r];if(n[0]!==u[0])return!1;if(t!==toLowerCaseAZ(u[4].unit))return!1}return!0}for(let t=1;t<e.length;t++){const r=e[t];if(n[0]!==r[0])return!1}return!0}function twoOfSameNumeric(e,n){return!!B(e)&&(v(e)?e[0]===n[0]&&toLowerCaseAZ(e[4].unit)===toLowerCaseAZ(n[4].unit):e[0]===n[0])}function solveATan2(e,n,t){const r=n.value;if(!isDimensionOrNumber(r))return-1;const u=convertUnit(r,t.value);if(!twoOfSameNumeric(r,u))return-1;return dimensionToCalculation(e,\"rad\",Math.atan2(r[4].value,u[4].value))}function solveAbs(e,n,t){const r=n.value;if(!B(r))return-1;if(!t.rawPercentages&&g(r))return-1;return resultToCalculation(e,r,Math.abs(r[4].value))}function solveClamp(e,t,r,u,a){if(!n(t)||!n(r)||!n(u))return-1;const i=t.value;if(!B(i))return-1;if(!a.rawPercentages&&g(i))return-1;const o=convertUnit(i,r.value);if(!twoOfSameNumeric(i,o))return-1;const l=convertUnit(i,u.value);if(!twoOfSameNumeric(i,l))return-1;return resultToCalculation(e,i,Math.max(i[4].value,Math.min(o[4].value,l[4].value)))}function solveCos(e,n){const t=n.value;if(!isDimensionOrNumber(t))return-1;let r=t[4].value;if(v(t))switch(t[4].unit.toLowerCase()){case\"rad\":break;case\"deg\":r=y.get(\"rad\")(t[4].value);break;case\"grad\":r=M.get(\"rad\")(t[4].value);break;case\"turn\":r=q.get(\"rad\")(t[4].value);break;default:return-1}return r=Math.cos(r),numberToCalculation(e,r)}function solveExp(e,n){const t=n.value;if(!C(t))return-1;return numberToCalculation(e,Math.exp(t[4].value))}function solveHypot(e,t,r){if(!t.every(n))return-1;const u=t[0].value;if(!B(u))return-1;if(!r.rawPercentages&&g(u))return-1;const a=t.map((e=>convertUnit(u,e.value)));if(!arrayOfSameNumeric(a))return-1;const i=a.map((e=>e[4].value)),o=Math.hypot(...i);return resultToCalculation(e,u,o)}function solveMax(e,t,r){if(!t.every(n))return-1;const u=t[0].value;if(!B(u))return-1;if(!r.rawPercentages&&g(u))return-1;const a=t.map((e=>convertUnit(u,e.value)));if(!arrayOfSameNumeric(a))return-1;const i=a.map((e=>e[4].value)),o=Math.max(...i);return resultToCalculation(e,u,o)}function solveMin(e,t,r){if(!t.every(n))return-1;const u=t[0].value;if(!B(u))return-1;if(!r.rawPercentages&&g(u))return-1;const a=t.map((e=>convertUnit(u,e.value)));if(!arrayOfSameNumeric(a))return-1;const i=a.map((e=>e[4].value)),o=Math.min(...i);return resultToCalculation(e,u,o)}function solveMod(e,n,t){const r=n.value;if(!B(r))return-1;const u=convertUnit(r,t.value);if(!twoOfSameNumeric(r,u))return-1;let a;return a=0===u[4].value?Number.NaN:Number.isFinite(r[4].value)&&(Number.isFinite(u[4].value)||(u[4].value!==Number.POSITIVE_INFINITY||r[4].value!==Number.NEGATIVE_INFINITY&&!Object.is(0*r[4].value,-0))&&(u[4].value!==Number.NEGATIVE_INFINITY||r[4].value!==Number.POSITIVE_INFINITY&&!Object.is(0*r[4].value,0)))?Number.isFinite(u[4].value)?(r[4].value%u[4].value+u[4].value)%u[4].value:r[4].value:Number.NaN,resultToCalculation(e,r,a)}function solvePow(e,n,t){const r=n.value,u=t.value;if(!C(r))return-1;if(!twoOfSameNumeric(r,u))return-1;return numberToCalculation(e,Math.pow(r[4].value,u[4].value))}function solveRem(e,n,t){const r=n.value;if(!B(r))return-1;const u=convertUnit(r,t.value);if(!twoOfSameNumeric(r,u))return-1;let a;return a=0===u[4].value?Number.NaN:Number.isFinite(r[4].value)?Number.isFinite(u[4].value)?r[4].value%u[4].value:r[4].value:Number.NaN,resultToCalculation(e,r,a)}function solveRound(e,n,t,r,u){const a=t.value;if(!B(a))return-1;if(!u.rawPercentages&&g(a))return-1;const i=convertUnit(a,r.value);if(!twoOfSameNumeric(a,i))return-1;let o;if(0===i[4].value)o=Number.NaN;else if(Number.isFinite(a[4].value)||Number.isFinite(i[4].value))if(!Number.isFinite(a[4].value)&&Number.isFinite(i[4].value))o=a[4].value;else if(Number.isFinite(a[4].value)&&!Number.isFinite(i[4].value))switch(n){case\"down\":o=a[4].value<0?-1/0:Object.is(-0,0*a[4].value)?-0:0;break;case\"up\":o=a[4].value>0?1/0:Object.is(0,0*a[4].value)?0:-0;break;default:o=Object.is(0,0*a[4].value)?0:-0}else if(Number.isFinite(i[4].value))switch(n){case\"down\":o=Math.floor(a[4].value/i[4].value)*i[4].value;break;case\"up\":o=Math.ceil(a[4].value/i[4].value)*i[4].value;break;case\"to-zero\":o=Math.trunc(a[4].value/i[4].value)*i[4].value;break;default:{let e=Math.floor(a[4].value/i[4].value)*i[4].value,n=Math.ceil(a[4].value/i[4].value)*i[4].value;if(e>n){const t=e;e=n,n=t}const t=Math.abs(a[4].value-e),r=Math.abs(a[4].value-n);o=t===r?n:t<r?e:n;break}}else o=a[4].value;else o=Number.NaN;return resultToCalculation(e,a,o)}function solveSign(e,n,t){const r=n.value;if(!B(r))return-1;if(!t.rawPercentages&&g(r))return-1;return numberToCalculation(e,Math.sign(r[4].value))}function solveSin(e,n){const t=n.value;if(!isDimensionOrNumber(t))return-1;let r=t[4].value;if(v(t))switch(toLowerCaseAZ(t[4].unit)){case\"rad\":break;case\"deg\":r=y.get(\"rad\")(t[4].value);break;case\"grad\":r=M.get(\"rad\")(t[4].value);break;case\"turn\":r=q.get(\"rad\")(t[4].value);break;default:return-1}return r=Math.sin(r),numberToCalculation(e,r)}function solveSqrt(e,n){const t=n.value;if(!C(t))return-1;return numberToCalculation(e,Math.sqrt(t[4].value))}function solveTan(e,n){const t=n.value;if(!isDimensionOrNumber(t))return-1;const r=t[4].value;let u=0,a=t[4].value;if(v(t))switch(toLowerCaseAZ(t[4].unit)){case\"rad\":u=$.get(\"deg\")(r);break;case\"deg\":u=r,a=y.get(\"rad\")(r);break;case\"grad\":u=M.get(\"deg\")(r),a=M.get(\"rad\")(r);break;case\"turn\":u=q.get(\"deg\")(r),a=q.get(\"rad\")(r);break;default:return-1}const i=u/90;return a=u%90==0&&i%2!=0?i>0?1/0:-1/0:Math.tan(a),numberToCalculation(e,a)}function subtraction(n){if(2!==n.length)return-1;const t=n[0].value;let r=n[1].value;if(C(t)&&C(r)){const n=t[4].value-r[4].value;return new e([f.Number,n.toString(),t[2],r[3],{value:n,type:t[4].type===m.Integer&&r[4].type===m.Integer?m.Integer:m.Number}])}if(g(t)&&g(r)){const n=t[4].value-r[4].value;return new e([f.Percentage,n.toString()+\"%\",t[2],r[3],{value:n}])}if(v(t)&&v(r)&&(r=convertUnit(t,r),toLowerCaseAZ(t[4].unit)===toLowerCaseAZ(r[4].unit))){const n=t[4].value-r[4].value;return new e([f.Dimension,n.toString()+t[4].unit,t[2],r[3],{value:n,type:t[4].type===m.Integer&&r[4].type===m.Integer?m.Integer:m.Number,unit:t[4].unit}])}return-1}function solveLog(e,t){if(1===t.length){const r=t[0];if(!r||!n(r))return-1;const u=r.value;if(!C(u))return-1;return numberToCalculation(e,Math.log(u[4].value))}if(2===t.length){const r=t[0];if(!r||!n(r))return-1;const u=r.value;if(!C(u))return-1;const a=t[1];if(!a||!n(a))return-1;const i=a.value;if(!C(i))return-1;return numberToCalculation(e,Math.log(u[4].value)/Math.log(i[4].value))}return-1}const j=/^none$/i;function isNone(e){if(Array.isArray(e)){const n=e.filter((e=>!(t(e)&&r(e))));return 1===n.length&&isNone(n[0])}if(!n(e))return!1;const u=e.value;return!!D(u)&&j.test(u[4].value)}function solveRandom(e,n,t,r,u,a){const i=t.value;if(!B(i))return-1;const o=convertUnit(i,r.value);if(!twoOfSameNumeric(i,o))return-1;let l,s=null;if(u&&(s=convertUnit(i,u.value),!twoOfSameNumeric(i,s)))return-1;if(Number.isFinite(i[4].value))if(Number.isFinite(o[4].value))if(Number.isFinite(o[4].value-i[4].value))if(s&&!Number.isFinite(s[4].value))l=i[4].value;else{const e=sfc32(crc32([n,N(i),N(o),u?`by ${u.toString()}`:\"\"].join(\",\")),a.randomSeed);let t=i[4].value,r=o[4].value;if(t>r&&([t,r]=[r,t]),s&&(s[4].value<=0||Math.abs(t-r)/s[4].value>1e10)&&(s=null),s){const n=Math.abs(t-r),u=e();l=t+Math.floor(n/s[4].value*u)*s[4].value}else{const n=e();l=Number((n*(r-t)+t).toFixed(5))}}else l=Number.NaN;else l=Number.NaN;else l=Number.NaN;return resultToCalculation(e,i,l)}function sfc32(e=.34944106645296036,n=.19228640875738723,t=.8784393832007205,r=.04850964319275053){return()=>{const u=((e|=0)+(n|=0)|0)+(r|=0)|0;return r=r+1|0,e=n^n>>>9,n=(t|=0)+(t<<3)|0,t=(t=t<<21|t>>>11)+u|0,(u>>>0)/4294967296}}function crc32(e){let n=0,t=0,r=0;n=~n;for(let u=0,a=e.length;u<a;u++)r=255&(n^e.charCodeAt(u)),t=Number(\"0x\"+\"00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 9E6495A3 0EDB8832 79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 90BF1D91 1DB71064 6AB020F2 F3B97148 84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 83D385C7 136C9856 646BA8C0 FD62F97A 8A65C9EC 14015C4F 63066CD9 FA0F3D63 8D080DF5 3B6E20C8 4C69105E D56041E4 A2677172 3C03E4D1 4B04D447 D20D85FD A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 32D86CE3 45DF5C75 DCD60DCF ABD13D59 26D930AC 51DE003A C8D75180 BFD06116 21B4F4B5 56B3C423 CFBA9599 B8BDA50F 2802B89E 5F058808 C60CD9B2 B10BE924 2F6F7C87 58684C11 C1611DAB B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 06B6B51F 9FBFE4A5 E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 E6635C01 6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 F50FC457 65B0D9C6 12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 FBD44C65 4DB26158 3AB551CE A3BC0074 D4BB30E2 4ADFA541 3DD895D7 A4D1C46D D3D6F4FB 4369E96A 346ED9FC AD678846 DA60B8D0 44042D73 33031DE5 AA0A4C5F DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 5768B525 206F85B3 B966D409 CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 2EB40D81 B7BD5C3B C0BA6CAD EDB88320 9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF 04DB2615 73DC1683 E3630B12 94643B84 0D6D6A3E 7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D 806567CB 196C3671 6E6B06E7 FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 60B08ED5 D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD 48B2364B D80D2BDA AF0A1B4C 36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF 4669BE79 CB61B38C BC66831A 256FD2A0 5268E236 CC0C7795 BB0B4703 220216B9 5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 C2D7FFA7 B5D0CF31 2CD99E8B 5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 EB0E363F 72076785 05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D 7CDCEFB7 0BDBDF21 86D3D2D4 F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 18B74777 88085AE6 FF0F6A70 66063BCA 11010B5C 8F659EFF F862AE69 616BFFD3 166CCF45 A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 D06016F7 4969474D 3E6E77DB AED16A4A D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F 30B5FFE9 BDBDF21C CABAC28A 53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 23D967BF B3667A2E C4614AB8 5D681B02 2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D\".substring(9*r,9*r+8)),n=n>>>8^t;return~n>>>0}const R=new Map([[\"abs\",function abs(e,n,t){return singleNodeSolver(e,n,t,solveAbs)}],[\"acos\",function acos(e,n,t){return singleNodeSolver(e,n,t,solveACos)}],[\"asin\",function asin(e,n,t){return singleNodeSolver(e,n,t,solveASin)}],[\"atan\",function atan(e,n,t){return singleNodeSolver(e,n,t,solveATan)}],[\"atan2\",function atan2(e,n,t){return twoCommaSeparatedNodesSolver(e,n,t,solveATan2)}],[\"calc\",calc$1],[\"clamp\",function clamp(t,r,a){const i=resolveGlobalsAndConstants([...t.value.filter((e=>!u(e)))],r),l=[],s=[],c=[];{let e=l;for(let t=0;t<i.length;t++){const r=i[t];if(n(r)&&F(r.value)){if(e===c)return-1;if(e===s){e=c;continue}if(e===l){e=s;continue}return-1}e.push(r)}}const v=isNone(l),m=isNone(c);if(v&&m)return calc$1(calcWrapper(s),r,a);const p=solve(calc$1(calcWrapper(s),r,a));if(-1===p)return-1;if(v){const n=solve(calc$1(calcWrapper(c),r,a));return-1===n?-1:solveMin((C=p,g=n,new o([f.Function,\"min(\",-1,-1,{value:\"min\"}],[f.CloseParen,\")\",-1,-1,void 0],[C,new e([f.Comma,\",\",-1,-1,void 0]),g])),[p,n],a)}if(m){const e=solve(calc$1(calcWrapper(l),r,a));return-1===e?-1:solveMax(maxWrapper(e,p),[e,p],a)}var C,g;const D=solve(calc$1(calcWrapper(l),r,a));if(-1===D)return-1;const B=solve(calc$1(calcWrapper(c),r,a));if(-1===B)return-1;return solveClamp(t,D,p,B,a)}],[\"cos\",function cos(e,n,t){return singleNodeSolver(e,n,t,solveCos)}],[\"exp\",function exp(e,n,t){return singleNodeSolver(e,n,t,solveExp)}],[\"hypot\",function hypot(e,n,t){return variadicNodesSolver(e,e.value,n,t,solveHypot)}],[\"log\",function log(e,n,t){return variadicNodesSolver(e,e.value,n,t,solveLog)}],[\"max\",function max(e,n,t){return variadicNodesSolver(e,e.value,n,t,solveMax)}],[\"min\",function min(e,n,t){return variadicNodesSolver(e,e.value,n,t,solveMin)}],[\"mod\",function mod(e,n,t){return twoCommaSeparatedNodesSolver(e,n,t,solveMod)}],[\"pow\",function pow(e,n,t){return twoCommaSeparatedNodesSolver(e,n,t,solvePow)}],[\"random\",function random(e,t,r){const a=e.value.filter((e=>!u(e)));let i=\"\";const o=[],l=[];for(let e=0;e<a.length;e++){const t=a[e];if(!i&&0===l.length&&n(t)&&D(t.value)){const r=t.value[4].value.toLowerCase();if(\"per-element\"===r||r.startsWith(\"--\")){i=r;const t=a[e+1];if(!n(t)||!F(t.value))return-1;e++;continue}}if(n(t)&&F(t.value)){const t=a[e+1];if(l.length>0&&n(t)&&D(t.value)){const n=t.value[4].value.toLowerCase();if(\"by\"===n||n.startsWith(\"--\")){o.push(...a.slice(e+2));break}}}l.push(t)}const s=twoCommaSeparatedArguments(l,t,r);if(-1===s)return-1;const[c,v]=s;let f=null;if(o.length&&(f=singleArgument(o,t,r),-1===f))return-1;return solveRandom(e,i,c,v,f,r)}],[\"rem\",function rem(e,n,t){return twoCommaSeparatedNodesSolver(e,n,t,solveRem)}],[\"round\",function round(t,r,a){const i=resolveGlobalsAndConstants([...t.value.filter((e=>!u(e)))],r);let o=\"\",l=!1;const s=[],c=[];{let e=s;for(let t=0;t<i.length;t++){const r=i[t];if(!o&&0===s.length&&0===c.length&&n(r)&&D(r.value)){const e=r.value[4].value.toLowerCase();if(V.has(e)){o=e;continue}}if(n(r)&&F(r.value)){if(e===c)return-1;if(e===s&&o&&0===s.length)continue;if(e===s){l=!0,e=c;continue}return-1}e.push(r)}}const v=solve(calc$1(calcWrapper(s),r,a));if(-1===v)return-1;l||0!==c.length||c.push(new e([f.Number,\"1\",-1,-1,{value:1,type:m.Integer}]));const p=solve(calc$1(calcWrapper(c),r,a));if(-1===p)return-1;o||(o=\"nearest\");return solveRound(t,o,v,p,a)}],[\"sign\",function sign(e,n,t){return singleNodeSolver(e,n,t,solveSign)}],[\"sin\",function sin(e,n,t){return singleNodeSolver(e,n,t,solveSin)}],[\"sqrt\",function sqrt(e,n,t){return singleNodeSolver(e,n,t,solveSqrt)}],[\"tan\",function tan(e,n,t){return singleNodeSolver(e,n,t,solveTan)}]]);function calc$1(e,t,r){const o=resolveGlobalsAndConstants([...e.value.filter((e=>!u(e)))],t);if(1===o.length&&n(o[0]))return{inputs:[o[0]],operation:unary};let l=0;for(;l<o.length;){const e=o[l];if(a(e)&&A(e.startToken)){const n=calc$1(e,t,r);if(-1===n)return-1;o.splice(l,1,n)}else if(i(e)){const n=R.get(e.getName().toLowerCase());if(!n)return-1;const u=n(e,t,r);if(-1===u)return-1;o.splice(l,1,u)}else l++}if(l=0,1===o.length&&isCalculation(o[0]))return o[0];for(;l<o.length;){const e=o[l];if(!e||!n(e)&&!isCalculation(e)){l++;continue}const t=o[l+1];if(!t||!n(t)){l++;continue}const r=t.value;if(!d(r)||\"*\"!==r[4].value&&\"/\"!==r[4].value){l++;continue}const u=o[l+2];if(!u||!n(u)&&!isCalculation(u))return-1;\"*\"!==r[4].value?\"/\"!==r[4].value?l++:o.splice(l,3,{inputs:[e,u],operation:division}):o.splice(l,3,{inputs:[e,u],operation:multiplication})}if(l=0,1===o.length&&isCalculation(o[0]))return o[0];for(;l<o.length;){const e=o[l];if(!e||!n(e)&&!isCalculation(e)){l++;continue}const t=o[l+1];if(!t||!n(t)){l++;continue}const r=t.value;if(!d(r)||\"+\"!==r[4].value&&\"-\"!==r[4].value){l++;continue}const u=o[l+2];if(!u||!n(u)&&!isCalculation(u))return-1;\"+\"!==r[4].value?\"-\"!==r[4].value?l++:o.splice(l,3,{inputs:[e,u],operation:subtraction}):o.splice(l,3,{inputs:[e,u],operation:addition})}return 1===o.length&&isCalculation(o[0])?o[0]:-1}function singleNodeSolver(e,n,t,r){const u=singleArgument(e.value,n,t);return-1===u?-1:r(e,u,t)}function singleArgument(e,n,t){const r=solve(calc$1(calcWrapper(resolveGlobalsAndConstants([...e.filter((e=>!u(e)))],n)),n,t));return-1===r?-1:r}function twoCommaSeparatedNodesSolver(e,n,t,r){const u=twoCommaSeparatedArguments(e.value,n,t);if(-1===u)return-1;const[a,i]=u;return r(e,a,i,t)}function twoCommaSeparatedArguments(e,t,r){const a=resolveGlobalsAndConstants([...e.filter((e=>!u(e)))],t),i=[],o=[];{let e=i;for(let t=0;t<a.length;t++){const r=a[t];if(n(r)&&F(r.value)){if(e===o)return-1;if(e===i){e=o;continue}return-1}e.push(r)}}const l=solve(calc$1(calcWrapper(i),t,r));if(-1===l)return-1;const s=solve(calc$1(calcWrapper(o),t,r));return-1===s?-1:[l,s]}function variadicNodesSolver(e,n,t,r,u){const a=variadicArguments(e.value,t,r);return-1===a?-1:u(e,a,r)}function variadicArguments(e,t,r){const a=resolveGlobalsAndConstants([...e.filter((e=>!u(e)))],t),i=[];{const e=[];let u=[];for(let t=0;t<a.length;t++){const r=a[t];n(r)&&F(r.value)?(e.push(u),u=[]):u.push(r)}e.push(u);for(let n=0;n<e.length;n++){if(0===e[n].length)return-1;const u=solve(calc$1(calcWrapper(e[n]),t,r));if(-1===u)return-1;i.push(u)}}return i}const V=new Set([\"nearest\",\"up\",\"down\",\"to-zero\"]);function calcWrapper(e){return new o([f.Function,\"calc(\",-1,-1,{value:\"calc\"}],[f.CloseParen,\")\",-1,-1,void 0],e)}function maxWrapper(n,t){return new o([f.Function,\"max(\",-1,-1,{value:\"max\"}],[f.CloseParen,\")\",-1,-1,void 0],[n,new e([f.Comma,\",\",-1,-1,void 0]),t])}function patchNaN(n){if(-1===n)return-1;if(i(n))return n;const t=n.value;return B(t)&&Number.isNaN(t[4].value)?C(t)?new o([f.Function,\"calc(\",t[2],t[3],{value:\"calc\"}],[f.CloseParen,\")\",t[2],t[3],void 0],[new e([f.Ident,\"NaN\",t[2],t[3],{value:\"NaN\"}])]):v(t)?new o([f.Function,\"calc(\",t[2],t[3],{value:\"calc\"}],[f.CloseParen,\")\",t[2],t[3],void 0],[new e([f.Ident,\"NaN\",t[2],t[3],{value:\"NaN\"}]),new l([[f.Whitespace,\" \",t[2],t[3],void 0]]),new e([f.Delim,\"*\",t[2],t[3],{value:\"*\"}]),new l([[f.Whitespace,\" \",t[2],t[3],void 0]]),new e([f.Dimension,\"1\"+t[4].unit,t[2],t[3],{value:1,type:m.Integer,unit:t[4].unit}])]):g(t)?new o([f.Function,\"calc(\",t[2],t[3],{value:\"calc\"}],[f.CloseParen,\")\",t[2],t[3],void 0],[new e([f.Ident,\"NaN\",t[2],t[3],{value:\"NaN\"}]),new l([[f.Whitespace,\" \",t[2],t[3],void 0]]),new e([f.Delim,\"*\",t[2],t[3],{value:\"*\"}]),new l([[f.Whitespace,\" \",t[2],t[3],void 0]]),new e([f.Percentage,\"1%\",t[2],t[3],{value:1}])]):-1:n}function patchInfinity(n){if(-1===n)return-1;if(i(n))return n;const t=n.value;if(!B(t))return n;if(Number.isFinite(t[4].value)||Number.isNaN(t[4].value))return n;let r=\"\";return Number.NEGATIVE_INFINITY===t[4].value&&(r=\"-\"),C(t)?new o([f.Function,\"calc(\",t[2],t[3],{value:\"calc\"}],[f.CloseParen,\")\",t[2],t[3],void 0],[new e([f.Ident,r+\"infinity\",t[2],t[3],{value:r+\"infinity\"}])]):v(t)?new o([f.Function,\"calc(\",t[2],t[3],{value:\"calc\"}],[f.CloseParen,\")\",t[2],t[3],void 0],[new e([f.Ident,r+\"infinity\",t[2],t[3],{value:r+\"infinity\"}]),new l([[f.Whitespace,\" \",t[2],t[3],void 0]]),new e([f.Delim,\"*\",t[2],t[3],{value:\"*\"}]),new l([[f.Whitespace,\" \",t[2],t[3],void 0]]),new e([f.Dimension,\"1\"+t[4].unit,t[2],t[3],{value:1,type:m.Integer,unit:t[4].unit}])]):new o([f.Function,\"calc(\",t[2],t[3],{value:\"calc\"}],[f.CloseParen,\")\",t[2],t[3],void 0],[new e([f.Ident,r+\"infinity\",t[2],t[3],{value:r+\"infinity\"}]),new l([[f.Whitespace,\" \",t[2],t[3],void 0]]),new e([f.Delim,\"*\",t[2],t[3],{value:\"*\"}]),new l([[f.Whitespace,\" \",t[2],t[3],void 0]]),new e([f.Percentage,\"1%\",t[2],t[3],{value:1}])])}function patchMinusZero(e){if(-1===e)return-1;if(i(e))return e;const n=e.value;return B(n)&&Object.is(-0,n[4].value)?(\"-0\"===n[1]||(g(n)?n[1]=\"-0%\":v(n)?n[1]=\"-0\"+n[4].unit:n[1]=\"-0\"),e):e}function patchPrecision(e,n=13){if(-1===e)return-1;if(n<=0)return e;if(i(e))return e;const t=e.value;if(!B(t))return e;if(Number.isInteger(t[4].value))return e;const r=Number(t[4].value.toFixed(n)).toString();return C(t)?t[1]=r:g(t)?t[1]=r+\"%\":v(t)&&(t[1]=r+t[4].unit),e}function patchCanonicalUnit(e){return-1===e?-1:i(e)?e:v(e.value)?(e.value=toCanonicalUnit(e.value),e):e}function patchCalcResult(e,n){let t=e;return n?.toCanonicalUnits&&(t=patchCanonicalUnit(t)),t=patchPrecision(t,n?.precision),t=patchMinusZero(t),n?.censorIntoStandardRepresentableValues||(t=patchNaN(t),t=patchInfinity(t)),t}function tokenizeGlobals(e){const n=new Map;if(!e)return n;for(const[t,r]of e)if(b(r))n.set(t,r);else if(\"string\"!=typeof r);else{const e=h({css:r}),u=e.nextToken();if(e.nextToken(),!e.endOfFile())continue;if(!B(u))continue;n.set(t,u)}return n}function calc(e,n){return calcFromComponentValues(s(w({css:e}),{}),n).map((e=>e.map((e=>N(...e.tokens()))).join(\"\"))).join(\",\")}function calcFromComponentValues(e,n){const t=tokenizeGlobals(n?.globals);return c(e,(e=>{if(!i(e))return;const r=R.get(e.getName().toLowerCase());if(!r)return;const u=patchCalcResult(solve(r(e,t,n??{})),n);return-1!==u?u:void 0}))}const Y=new Set(R.keys());export{calc,calcFromComponentValues,Y as mathFunctionNames};\n","import { log } from './log.js';\nimport { calc } from '@csstools/css-calc';\n\nexport const parseValue = (v) => {\n const value = `${v}`;\n const number = parseFloat(value);\n let unit = 'unsupported';\n\n const match = value.match(/px|rem|em/);\n if (match) {\n unit = match[0];\n }\n\n if (number === 0 && unit === 'unsupported') {\n unit = 'zero';\n }\n\n return { number, unit };\n};\n\nexport const parseFontSizeValue = (value) => {\n const values = {};\n if (typeof value === 'string') {\n values.fontSize = parseValue(value);\n } else if (Array.isArray(value)) {\n values.fontSize = parseValue(value[0]);\n\n if (typeof value[1] === 'string') {\n values.lineHeight = parseValue(value[1]);\n } else if (typeof value[1] === 'object') {\n if ('lineHeight' in value[1]) {\n let lh = value[1].lineHeight;\n if (typeof lh === 'string' && lh.includes('calc')) {\n lh = calc(lh);\n }\n const parsed = parseValue(lh);\n if (parsed.unit === 'unsupported') {\n values.lineHeight = {\n number: lh * values.fontSize.number,\n unit: values.fontSize.unit,\n };\n } else {\n values.lineHeight = parsed;\n }\n }\n if ('letterSpacing' in value[1]) {\n values.letterSpacing = parseValue(value[1].letterSpacing);\n }\n }\n }\n return values;\n};\n\nexport const validateValues = (start, end, value, prop = null) => {\n // console.log(start.number === end.number);\n if (start.number === end.number) {\n log.error(\n `Same value for start an end${\n prop ? ` (${prop})` : ''\n }: \"clamp-[${value}]\".`\n );\n return null;\n }\n\n // console.log(start, end);\n\n if (start.unit !== end.unit && start.unit !== 'zero' && end.unit !== 'zero') {\n log.error(\n `Units need to match${prop ? ` (${prop})` : ''}: \"clamp-[${value}]\" ${\n start.unit\n } !== ${end.unit}.`\n );\n return null;\n }\n\n if (start.unit === 'unsupported' || end.unit === 'unsupported') {\n log.error(\n `Only px, rem and em units are supported${\n prop ? ` (${prop})` : ''\n }: \"clamp-[${value}]\".`\n );\n return null;\n }\n\n return true;\n};\n","// https://chriskirknielsen.com/blog/modern-fluid-typography-with-clamp/\n\nexport const clamp = (\n _start,\n _end,\n _minvw = { number: 23.4375, unit: 'rem' },\n _maxvw = { number: 90, unit: 'rem' },\n useContainer = false\n) => {\n const unit = _start.unit === 'zero' ? _end.unit : _start.unit;\n const isPx = unit === 'px';\n\n let start = _start.number;\n let end = _end.number;\n let negative = false;\n\n let minvw = _minvw.number;\n let maxvw = _maxvw.number;\n\n if (_minvw.unit !== 'px' && isPx) {\n minvw = _minvw.number * 16;\n }\n\n if (_minvw.unit === 'px' && !isPx) {\n minvw = _minvw.number / 16;\n }\n\n if (_maxvw.unit !== 'px' && isPx) {\n maxvw = _maxvw.number * 16;\n }\n\n if (_maxvw.unit === 'px' && !isPx) {\n maxvw = _maxvw.number / 16;\n }\n\n if (end < start && start < 0 && end < 0) {\n start = Math.abs(start);\n end = Math.abs(end);\n negative = true;\n } else if (end < start && start > 0 && end > 0) {\n start = start * -1;\n end = end * -1;\n negative = true;\n } else if (end < start) {\n start = Math.abs(start) * -1;\n end = Math.abs(end);\n negative = true;\n }\n\n const slope = (end - start) / (maxvw - minvw);\n const calc = `${(start - minvw * slope).toFixed(6)}${unit} + ${(\n 100 * slope\n ).toFixed(6)}${useContainer ? 'cqw' : 'vw'}`;\n\n const value = `clamp(${start}${unit}, ${calc}, ${end}${unit})`;\n\n return negative ? `calc(${value} * -1)` : value;\n};\n\n// const defaultOptions = {\n// unit: 'rem',\n// minViewportWidth: '23.4375rem',\n// maxViewportWidth: '90rem',\n// };\n\n// export const clampValue = (\n// start,\n// end,\n// options = {\n// unit: 'rem',\n// minViewportWidth: '23.4375rem',\n// maxViewportWidth: '90rem',\n// }\n// ) => {\n// const o = { ...defaultOptions, ...options };\n\n// const convert = (val) => (o.unit === 'rem' ? val / 16 : val);\n\n// return clamp(\n// { number: convert(start), unit: o.unit },\n// { number: convert(end), unit: o.unit },\n// { number: convert(o.minViewportWidth), unit: o.unit },\n// { number: convert(o.maxViewportWidth), unit: o.unit }\n// );\n// };\n","import plugin from 'tailwindcss/plugin';\nimport { resolveProperty } from './resolve-property.js';\nimport { log } from './log.js';\nimport {\n parseValue,\n parseFontSizeValue,\n validateValues,\n} from './parse-value.js';\nimport { clamp } from './clamp.js';\n\nconst defaultOptions = {\n minSize: '23.4375rem',\n maxSize: '90rem',\n};\n\nfunction getBreakpointValue(customValue, fallback, screens, containers) {\n if (!customValue) {\n return {\n ...parseValue(fallback),\n isContainer: false,\n };\n }\n\n const isContainer = customValue.startsWith('@');\n\n const cleanValue = isContainer ? customValue.slice(1) : customValue;\n const value = isContainer\n ? containers[cleanValue] || cleanValue\n : screens[cleanValue] || cleanValue;\n\n return {\n ...parseValue(value),\n isContainer,\n };\n}\n\nexport default plugin.withOptions(function (options = {}) {\n const o = { ...defaultOptions, ...options };\n return function ({ matchUtilities, theme, config }) {\n matchUtilities(\n {\n clamp: (value) => {\n const args = value.split(',');\n\n if (args.length < 3) {\n log.error(\n `The clamp utility requires at least 3 arguments: \"clamp-[${value}]\".`\n );\n return {};\n }\n\n const screens = theme('screens');\n const containers = theme('containers');\n\n const minvw = getBreakpointValue(\n args[3],\n o.minSize,\n screens,\n containers\n );\n\n const maxvw = getBreakpointValue(\n args[4],\n o.maxSize,\n screens,\n containers\n );\n\n if (!validateValues(minvw, maxvw, value)) {\n return {};\n }\n\n const useContainer = minvw.isContainer;\n const resolvedProp = resolveProperty(args[0]);\n\n if (!resolvedProp) {\n log.error(\n `Property \"${args[0]}\" is not supported: \"clamp-[${value}]\".`\n );\n return {};\n }\n\n const { key, props, type } = resolvedProp;\n\n // handle fontSize separately\n if (type === 'fontSize') {\n const start = parseFontSizeValue(\n config().theme[key][args[1]] || args[1]\n );\n const end = parseFontSizeValue(\n config().theme[key][args[2]] || args[2]\n );\n\n const css = {};\n\n Object.keys(start).forEach((k) => {\n if (k in end) {\n if (\n (k === 'letterSpacing' || k === 'lineHeight') &&\n start[k].number === end[k].number &&\n start[k].unit === end[k].unit\n ) {\n css[k] = `${start[k].number}${start[k].unit}`;\n } else if (validateValues(start[k], end[k], value, k)) {\n const val = clamp(\n start[k],\n end[k],\n minvw,\n maxvw,\n useContainer\n );\n css[k] = val;\n }\n }\n });\n\n return css;\n }\n\n // Other values\n let start = parseValue(config().theme[key][args[1]] || args[1]);\n let end = parseValue(config().theme[key][args[2]] || args[2]);\n\n // Handle spacing values\n if (type === 'spacing') {\n const spacing = parseValue(theme('spacing.1'));\n\n const startNegative = args[1].startsWith('-');\n const endNegative = args[2].startsWith('-');\n\n const startVal = startNegative ? args[1].slice(1) : args[1];\n const endVal = endNegative ? args[2].slice(1) : args[2];\n\n start = {\n number: spacing.number * startVal,\n unit: spacing.unit,\n };\n end = {\n number: spacing.number * endVal,\n unit: spacing.unit,\n };\n\n if (startNegative) start.number = start.number * -1;\n if (endNegative) end.number = end.number * -1;\n }\n\n if (!validateValues(start, end, value)) {\n return {};\n }\n\n const val = clamp(start, end, minvw, maxvw, useContainer);\n\n const css = props.reduce((acc, prop) => {\n if (typeof prop === 'string') {\n acc[prop] = val;\n } else {\n acc = { ...acc, ...prop };\n }\n return acc;\n }, {});\n\n return css;\n },\n },\n { values: theme('clamp') },\n {\n supportsNegativeValues: false,\n modifiers: {\n pattern: /[\\w-]+(?:,[\\w-]+){2}/, // Matches \"text,lg,3xl\" format\n },\n }\n );\n };\n});\n"],"names":["g","i","n","t","o","u","resolveProperty","name","log","ParseError","e","__publicField","ParseErrorWithToken","r","stringify","s","checkIfFourCodePointsWouldStartCDO","isDigitCodePoint","isUppercaseLetterCodePoint","isLowercaseLetterCodePoint","isHexDigitCodePoint","isLetterCodePoint","isIdentStartCodePoint","isNonASCII_IdentCodePoint","isIdentCodePoint","isSurrogate","isNewLine","isWhitespace","checkIfTwoCodePointsAreAValidEscape","checkIfThreeCodePointsWouldStartAnIdentSequence","checkIfThreeCodePointsWouldStartANumber","checkIfTwoCodePointsStartAComment","checkIfThreeCodePointsWouldStartCDC","c","a","mirrorVariantType","mirrorVariant","consumeComment","consumeEscapedCodePoint","consumeIdentSequence","consumeHashToken","consumeNumber","consumeNumericToken","consumeWhiteSpace","Reader","consumeStringToken","checkIfCodePointsMatchURLIdent","consumeBadURL","consumeUrlToken","consumeIdentLikeToken","checkIfThreeCodePointsWouldStartAUnicodeRange","consumeUnicodeRangeToken","tokenize","tokenizer","d","p","noop","mutateUnit","ensureThatValueRoundTripsAsIdent","insertEscapedCodePoint","isToken","isTokenNumeric","isTokenWhiteSpaceOrComment","isTokenComma","isTokenComment","isTokenDelim","isTokenDimension","isTokenEOF","isTokenFunction","isTokenIdent","isTokenNumber","isTokenPercentage","isTokenWhitespace","isTokenOpenParen","isTokenCloseParen","isTokenOpenSquare","isTokenOpenCurly","f","walkerIndexGenerator","consumeComponentValue","consumeSimpleBlock","consumeFunction","consumeWhitespace","l","TokenNode","ContainerNodeBaseClass","FunctionNode","h","consumeAllCommentsAndWhitespace","SimpleBlockNode","m","WhitespaceNode","CommentNode","parseCommaSeparatedListOfComponentValues","k","forEach","walk","replaceComponentValues","isSimpleBlockNode","isFunctionNode","isWhitespaceNode","isCommentNode","isWhiteSpaceOrCommentNode","isTokenNode","E","toLowerCaseAZ","I","y","M","T","x","P","O","W","L","U","Z","$","z","q","G","convertUnit","v","addition","C","division","isCalculation","solve","multiplication","resolveGlobalsAndConstants","D","unary","B","resultToCalculation","dimensionToCalculation","percentageToCalculation","numberToCalculation","solveACos","solveASin","solveATan","isDimensionOrNumber","arrayOfSameNumeric","twoOfSameNumeric","solveATan2","solveAbs","solveClamp","solveCos","solveExp","solveHypot","solveMax","solveMin","solveMod","solvePow","solveRem","solveRound","solveSign","solveSin","solveSqrt","solveTan","subtraction","solveLog","j","isNone","solveRandom","sfc32","crc32","N","R","singleNodeSolver","twoCommaSeparatedNodesSolver","calc$1","F","calcWrapper","maxWrapper","variadicNodesSolver","twoCommaSeparatedArguments","singleArgument","V","A","variadicArguments","patchNaN","patchInfinity","patchMinusZero","patchPrecision","patchCalcResult","tokenizeGlobals","calc","calcFromComponentValues","w","parseValue","value","number","unit","match","parseFontSizeValue","values","lh","parsed","validateValues","start","end","prop","clamp","_start","_end","_minvw","_maxvw","useContainer","isPx","negative","minvw","maxvw","slope","defaultOptions","getBreakpointValue","customValue","fallback","screens","containers","isContainer","cleanValue","plugin","options","matchUtilities","theme","config","args","resolvedProp","key","props","type","css","val","spacing","startNegative","endNegative","startVal","endVal","acc"],"mappings":"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","x_google_ignoreList":[0,3,4,5]}