ultrahtml
Version:
A 1.75kB library for enhancing `html`. `ultrahtml` has zero dependencies and is compatible with any JavaScript runtime.
1,310 lines (1,295 loc) • 73 kB
JavaScript
// src/transformers/inline.ts
import { walkSync, ELEMENT_NODE, TEXT_NODE } from "../index.js";
import { querySelectorAll, specificity } from "../selector.js";
// node_modules/.pnpm/stylis@4.3.4/node_modules/stylis/src/Enum.js
var COMMENT = "comm";
var RULESET = "rule";
var DECLARATION = "decl";
// node_modules/.pnpm/stylis@4.3.4/node_modules/stylis/src/Utility.js
var abs = Math.abs;
var from = String.fromCharCode;
function trim(value) {
return value.trim();
}
function replace(value, pattern, replacement) {
return value.replace(pattern, replacement);
}
function indexof(value, search, position2) {
return value.indexOf(search, position2);
}
function charat(value, index) {
return value.charCodeAt(index) | 0;
}
function substr(value, begin, end) {
return value.slice(begin, end);
}
function strlen(value) {
return value.length;
}
function sizeof(value) {
return value.length;
}
function append(value, array) {
return array.push(value), value;
}
// node_modules/.pnpm/stylis@4.3.4/node_modules/stylis/src/Tokenizer.js
var line = 1;
var column = 1;
var length = 0;
var position = 0;
var character = 0;
var characters = "";
function node(value, root, parent, type, props, children, length2, siblings) {
return { value, root, parent, type, props, children, line, column, length: length2, return: "", siblings };
}
function char() {
return character;
}
function prev() {
character = position > 0 ? charat(characters, --position) : 0;
if (column--, character === 10)
column = 1, line--;
return character;
}
function next() {
character = position < length ? charat(characters, position++) : 0;
if (column++, character === 10)
column = 1, line++;
return character;
}
function peek() {
return charat(characters, position);
}
function caret() {
return position;
}
function slice(begin, end) {
return substr(characters, begin, end);
}
function token(type) {
switch (type) {
// \0 \t \n \r \s whitespace token
case 0:
case 9:
case 10:
case 13:
case 32:
return 5;
// ! + , / > @ ~ isolate token
case 33:
case 43:
case 44:
case 47:
case 62:
case 64:
case 126:
// ; { } breakpoint token
case 59:
case 123:
case 125:
return 4;
// : accompanied token
case 58:
return 3;
// " ' ( [ opening delimit token
case 34:
case 39:
case 40:
case 91:
return 2;
// ) ] closing delimit token
case 41:
case 93:
return 1;
}
return 0;
}
function alloc(value) {
return line = column = 1, length = strlen(characters = value), position = 0, [];
}
function dealloc(value) {
return characters = "", value;
}
function delimit(type) {
return trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)));
}
function whitespace(type) {
while (character = peek())
if (character < 33)
next();
else
break;
return token(type) > 2 || token(character) > 3 ? "" : " ";
}
function escaping(index, count) {
while (--count && next())
if (character < 48 || character > 102 || character > 57 && character < 65 || character > 70 && character < 97)
break;
return slice(index, caret() + (count < 6 && peek() == 32 && next() == 32));
}
function delimiter(type) {
while (next())
switch (character) {
// ] ) " '
case type:
return position;
// " '
case 34:
case 39:
if (type !== 34 && type !== 39)
delimiter(character);
break;
// (
case 40:
if (type === 41)
delimiter(type);
break;
// \
case 92:
next();
break;
}
return position;
}
function commenter(type, index) {
while (next())
if (type + character === 47 + 10)
break;
else if (type + character === 42 + 42 && peek() === 47)
break;
return "/*" + slice(index, position - 1) + "*" + from(type === 47 ? type : next());
}
function identifier(index) {
while (!token(peek()))
next();
return slice(index, position);
}
// node_modules/.pnpm/stylis@4.3.4/node_modules/stylis/src/Parser.js
function compile(value) {
return dealloc(parse("", null, null, null, [""], value = alloc(value), 0, [0], value));
}
function parse(value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {
var index = 0;
var offset = 0;
var length2 = pseudo;
var atrule = 0;
var property = 0;
var previous = 0;
var variable = 1;
var scanning = 1;
var ampersand = 1;
var character2 = 0;
var type = "";
var props = rules;
var children = rulesets;
var reference = rule;
var characters2 = type;
while (scanning)
switch (previous = character2, character2 = next()) {
// (
case 40:
if (previous != 108 && charat(characters2, length2 - 1) == 58) {
if (indexof(characters2 += replace(delimit(character2), "&", "&\f"), "&\f", abs(index ? points[index - 1] : 0)) != -1)
ampersand = -1;
break;
}
// " ' [
case 34:
case 39:
case 91:
characters2 += delimit(character2);
break;
// \t \n \r \s
case 9:
case 10:
case 13:
case 32:
characters2 += whitespace(previous);
break;
// \
case 92:
characters2 += escaping(caret() - 1, 7);
continue;
// /
case 47:
switch (peek()) {
case 42:
case 47:
append(comment(commenter(next(), caret()), root, parent, declarations), declarations);
if ((token(previous || 1) == 5 || token(peek() || 1) == 5) && strlen(characters2) && substr(characters2, -1, void 0) !== " ") characters2 += " ";
break;
default:
characters2 += "/";
}
break;
// {
case 123 * variable:
points[index++] = strlen(characters2) * ampersand;
// } ; \0
case 125 * variable:
case 59:
case 0:
switch (character2) {
// \0 }
case 0:
case 125:
scanning = 0;
// ;
case 59 + offset:
if (ampersand == -1) characters2 = replace(characters2, /\f/g, "");
if (property > 0 && (strlen(characters2) - length2 || variable === 0 && previous === 47))
append(property > 32 ? declaration(characters2 + ";", rule, parent, length2 - 1, declarations) : declaration(replace(characters2, " ", "") + ";", rule, parent, length2 - 2, declarations), declarations);
break;
// @ ;
case 59:
characters2 += ";";
// { rule/at-rule
default:
append(reference = ruleset(characters2, root, parent, index, offset, rules, points, type, props = [], children = [], length2, rulesets), rulesets);
if (character2 === 123)
if (offset === 0)
parse(characters2, root, reference, reference, props, rulesets, length2, points, children);
else
switch (atrule === 99 && charat(characters2, 3) === 110 ? 100 : atrule) {
// d l m s
case 100:
case 108:
case 109:
case 115:
parse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length2, children), children), rules, children, length2, points, rule ? props : children);
break;
default:
parse(characters2, reference, reference, reference, [""], children, 0, points, children);
}
}
index = offset = property = 0, variable = ampersand = 1, type = characters2 = "", length2 = pseudo;
break;
// :
case 58:
length2 = 1 + strlen(characters2), property = previous;
default:
if (variable < 1) {
if (character2 == 123)
--variable;
else if (character2 == 125 && variable++ == 0 && prev() == 125)
continue;
}
switch (characters2 += from(character2), character2 * variable) {
// &
case 38:
ampersand = offset > 0 ? 1 : (characters2 += "\f", -1);
break;
// ,
case 44:
points[index++] = (strlen(characters2) - 1) * ampersand, ampersand = 1;
break;
// @
case 64:
if (peek() === 45)
characters2 += delimit(next());
atrule = peek(), offset = length2 = strlen(type = characters2 += identifier(caret())), character2++;
break;
// -
case 45:
if (previous === 45 && strlen(characters2) == 2)
variable = 0;
}
}
return rulesets;
}
function ruleset(value, root, parent, index, offset, rules, points, type, props, children, length2, siblings) {
var post = offset - 1;
var rule = offset === 0 ? rules : [""];
var size = sizeof(rule);
for (var i3 = 0, j = 0, k = 0; i3 < index; ++i3)
for (var x = 0, y = substr(value, post + 1, post = abs(j = points[i3])), z = value; x < size; ++x)
if (z = trim(j > 0 ? rule[x] + " " + y : replace(y, /&\f/g, rule[x])))
props[k++] = z;
return node(value, root, parent, offset === 0 ? RULESET : type, props, children, length2, siblings);
}
function comment(value, root, parent, siblings) {
return node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0, siblings);
}
function declaration(value, root, parent, length2, siblings) {
return node(value, root, parent, DECLARATION, substr(value, 0, length2), substr(value, length2 + 1, -1), length2, siblings);
}
// node_modules/.pnpm/media-query-parser@3.0.0-beta.1/node_modules/media-query-parser/dist/ast/ast.js
var isParserError = (e5) => "object" == typeof e5 && null !== e5 && "errid" in e5;
var splitMediaQueryList = (e5) => {
const t3 = [[]], r3 = [];
for (const n2 of e5)
if ("comma" === n2.type && 0 === r3.length) t3.push([]);
else {
switch (n2.type) {
case "function":
case "(":
r3.push(")");
break;
case "[":
r3.push("]");
break;
case "{":
r3.push("}");
break;
case ")":
case "]":
case "}":
r3.at(-1) === n2.type && r3.pop();
break;
}
t3[t3.length - 1].push(n2);
}
return t3;
};
var readMediaQueryList = (e5) => {
const t3 = splitMediaQueryList(e5);
if (1 === t3.length && 0 === t3[0].length)
return { type: "query-list", mediaQueries: [{ type: "query" }] };
{
const e6 = [];
for (const r3 of t3) {
const t4 = readMediaQuery(r3);
isParserError(t4) ? e6.push({ type: "query", prefix: "not" }) : e6.push(t4);
}
return { type: "query-list", mediaQueries: e6 };
}
};
var readMediaQuery = (e5) => {
var t3, r3, n2;
const i3 = e5.at(0);
if (i3) {
if ("(" === i3.type) {
const r4 = readMediaCondition(e5, true);
if (isParserError(r4)) {
const { start: n3, end: a2 } = null !== (t3 = e5.at(1)) && void 0 !== t3 ? t3 : i3;
return { errid: "EXPECT_FEATURE_OR_CONDITION", start: n3, end: a2, child: r4 };
}
return { type: "query", mediaCondition: r4 };
}
if ("ident" === i3.type) {
let t4, a2;
const { value: d, end: s2 } = i3;
"only" !== d && "not" !== d || (t4 = d);
const o3 = void 0 === t4 ? 0 : 1, l2 = e5.at(o3);
if (!l2) return { errid: "EXPECT_LPAREN_OR_TYPE", start: s2, end: s2 };
if ("ident" !== l2.type) {
if ("not" === t4 && "(" === l2.type) {
const t5 = readMediaCondition(e5.slice(o3), true);
if (isParserError(t5)) {
const { start: n3, end: i4 } = null !== (r3 = e5.at(o3 + 1)) && void 0 !== r3 ? r3 : l2;
return { errid: "EXPECT_CONDITION", start: n3, end: i4, child: t5 };
}
return {
type: "query",
mediaCondition: { type: "condition", operator: "not", children: [t5] }
};
}
{
const { start: e6, end: t5 } = l2;
return { errid: "EXPECT_TYPE", start: e6, end: t5 };
}
}
{
const { value: e6, start: r4, end: n3 } = l2;
if ("all" === e6) a2 = void 0;
else if ("print" === e6 || "screen" === e6) a2 = e6;
else {
if ("tty" !== e6 && "tv" !== e6 && "projection" !== e6 && "handheld" !== e6 && "braille" !== e6 && "embossed" !== e6 && "aural" !== e6 && "speech" !== e6)
return { errid: "EXPECT_TYPE", start: r4, end: n3 };
t4 = "not" === t4 ? void 0 : "not", a2 = void 0;
}
}
if (o3 + 1 === e5.length) return { type: "query", prefix: t4, mediaType: a2 };
{
const r4 = e5[o3 + 1];
if ("ident" === r4.type && "and" === r4.value) {
const r5 = e5.at(-1), i4 = e5.at(o3 + 2);
let d2, s3 = r5.end + 1;
if ("ident" === (null == i4 ? void 0 : i4.type) && "not" === i4.value) {
s3 += 1;
const t5 = readMediaCondition(e5.slice(o3 + 3), false);
d2 = isParserError(t5) ? t5 : { type: "condition", operator: "not", children: [t5] };
} else d2 = readMediaCondition(e5.slice(o3 + 2), false);
const { start: l3, end: u2 } = null !== (n2 = e5.at(o3 + 2)) && void 0 !== n2 ? n2 : { start: s3, end: s3 };
return isParserError(d2) ? { errid: "EXPECT_CONDITION", start: l3, end: u2, child: d2 } : { type: "query", prefix: t4, mediaType: a2, mediaCondition: d2 };
}
return { errid: "EXPECT_AND", start: r4.start, end: r4.end };
}
}
return { errid: "EXPECT_LPAREN_OR_TYPE_OR_MODIFIER", start: i3.start, end: i3.end };
}
return { errid: "EMPTY_QUERY", start: 0, end: 0 };
};
var readMediaCondition = (e5, t3, r3) => {
const n2 = e5.at(0);
if (n2) {
if ("(" !== n2.type) return { errid: "EXPECT_LPAREN", start: n2.start, end: n2.end };
let i3, a2 = e5.length - 1, d = 0, s2 = 0;
for (const [t4, r4] of e5.entries())
if ("(" === r4.type ? (s2 += 1, d = Math.max(d, s2)) : ")" === r4.type && (s2 -= 1), 0 === s2) {
a2 = t4;
break;
}
if (0 !== s2) return { errid: "MISMATCH_PARENS", start: n2.start, end: e5[e5.length - 1].end };
const o3 = e5.slice(0, a2 + 1);
if (i3 = 1 === d ? readMediaFeature(o3) : "ident" === o3[1].type && "not" === o3[1].value ? readMediaCondition(o3.slice(2, -1), true, "not") : readMediaCondition(o3.slice(1, -1), true), isParserError(i3))
return {
errid: "EXPECT_FEATURE_OR_CONDITION",
start: n2.start,
end: o3[o3.length - 1].end,
child: i3
};
if (a2 === e5.length - 1) return { type: "condition", operator: r3, children: [i3] };
{
const n3 = e5[a2 + 1];
if ("ident" !== n3.type || "and" !== n3.value && "or" !== n3.value)
return { errid: "EXPECT_AND_OR_OR", start: n3.start, end: n3.end };
if (void 0 !== r3 && r3 !== n3.value)
return { errid: "MIX_AND_WITH_OR", start: n3.start, end: n3.end };
if ("or" === n3.value && !t3) return { errid: "MIX_AND_WITH_OR", start: n3.start, end: n3.end };
const d2 = readMediaCondition(e5.slice(a2 + 2), t3, n3.value);
return isParserError(d2) ? d2 : { type: "condition", operator: n3.value, children: [i3, ...d2.children] };
}
}
return { errid: "EMPTY_CONDITION", start: 0, end: 0 };
};
var readMediaFeature = (e5) => {
const t3 = e5.at(0);
if (t3) {
if ("(" !== t3.type) return { errid: "EXPECT_LPAREN", start: t3.start, end: t3.end };
const r3 = e5[e5.length - 1];
if (")" !== r3.type) return { errid: "EXPECT_RPAREN", start: r3.end + 1, end: r3.end + 1 };
const n2 = [e5[0]];
for (let t4 = 1; t4 < e5.length; t4++) {
if (t4 < e5.length - 2) {
const r4 = e5[t4], i4 = e5[t4 + 1], a2 = e5[t4 + 2];
if ("number" === r4.type && r4.value > 0 && "delim" === i4.type && 47 === i4.value && "number" === a2.type && a2.value > 0) {
n2.push({
type: "ratio",
numerator: r4.value,
denominator: a2.value,
hasSpaceBefore: r4.hasSpaceBefore,
hasSpaceAfter: a2.hasSpaceAfter,
start: r4.start,
end: a2.end
}), t4 += 2;
continue;
}
}
n2.push(e5[t4]);
}
const i3 = n2[1];
if ("ident" === i3.type && 3 === n2.length)
return { type: "feature", context: "boolean", feature: i3.value };
if (5 === n2.length && "ident" === n2[1].type && "colon" === n2[2].type) {
const e6 = n2[3];
if ("number" === e6.type || "dimension" === e6.type || "ratio" === e6.type || "ident" === e6.type) {
let t4, r4 = n2[1].value;
const i4 = r4.slice(0, 4);
"min-" === i4 ? (t4 = "min", r4 = r4.slice(4)) : "max-" === i4 && (t4 = "max", r4 = r4.slice(4));
const { hasSpaceBefore: a2, hasSpaceAfter: d, start: s2, end: o3, ...l2 } = e6;
return { type: "feature", context: "value", prefix: t4, feature: r4, value: l2 };
}
return { errid: "EXPECT_VALUE", start: e6.start, end: e6.end };
}
if (n2.length >= 5) {
const e6 = readRange(n2);
if (isParserError(e6))
return { errid: "EXPECT_RANGE", start: t3.start, end: n2[n2.length - 1].end, child: e6 };
{
const { feature: t4, ...r4 } = e6;
return { type: "feature", context: "range", feature: t4, range: r4 };
}
}
return { errid: "INVALID_FEATURE", start: t3.start, end: e5[e5.length - 1].end };
}
return { errid: "EMPTY_FEATURE", start: 0, end: 0 };
};
var readRange = (e5) => {
var t3, r3, n2, i3, a2, d, s2, o3;
if (e5.length < 5)
return {
errid: "INVALID_RANGE",
start: null !== (r3 = null === (t3 = e5.at(0)) || void 0 === t3 ? void 0 : t3.start) && void 0 !== r3 ? r3 : 0,
end: null !== (i3 = null === (n2 = e5.at(-1)) || void 0 === n2 ? void 0 : n2.end) && void 0 !== i3 ? i3 : 0
};
if ("(" !== e5[0].type) return { errid: "EXPECT_LPAREN", start: e5[0].start, end: e5[0].end };
const l2 = e5[e5.length - 1];
if (")" !== l2.type) return { errid: "EXPECT_RPAREN", start: l2.start, end: l2.end };
const u2 = { feature: "" }, p = "number" === e5[1].type || "dimension" === e5[1].type || "ratio" === e5[1].type || "ident" === e5[1].type && "infinite" === e5[1].value;
if ("delim" === e5[2].type) {
if (60 === e5[2].value)
"delim" !== e5[3].type || 61 !== e5[3].value || e5[3].hasSpaceBefore ? u2[p ? "leftOp" : "rightOp"] = "<" : u2[p ? "leftOp" : "rightOp"] = "<=";
else if (62 === e5[2].value)
"delim" !== e5[3].type || 61 !== e5[3].value || e5[3].hasSpaceBefore ? u2[p ? "leftOp" : "rightOp"] = ">" : u2[p ? "leftOp" : "rightOp"] = ">=";
else {
if (61 !== e5[2].value) return { errid: "INVALID_RANGE", start: e5[0].start, end: l2.end };
u2[p ? "leftOp" : "rightOp"] = "=";
}
if (p) u2.leftToken = e5[1];
else {
if ("ident" !== e5[1].type) return { errid: "INVALID_RANGE", start: e5[0].start, end: l2.end };
u2.feature = e5[1].value;
}
const t4 = 2 + (null !== (d = null === (a2 = u2[p ? "leftOp" : "rightOp"]) || void 0 === a2 ? void 0 : a2.length) && void 0 !== d ? d : 0), r4 = e5[t4];
if (p) {
if ("ident" !== r4.type) return { errid: "INVALID_RANGE", start: e5[0].start, end: l2.end };
if (u2.feature = r4.value, e5.length >= 7) {
const r5 = e5[t4 + 1], n4 = e5[t4 + 2];
if ("delim" !== r5.type) return { errid: "INVALID_RANGE", start: e5[0].start, end: l2.end };
{
const i5 = r5.value;
if (60 === i5)
"delim" !== n4.type || 61 !== n4.value || n4.hasSpaceBefore ? u2.rightOp = "<" : u2.rightOp = "<=";
else {
if (62 !== i5) return { errid: "INVALID_RANGE", start: e5[0].start, end: l2.end };
"delim" !== n4.type || 61 !== n4.value || n4.hasSpaceBefore ? u2.rightOp = ">" : u2.rightOp = ">=";
}
const a3 = t4 + 1 + (null !== (o3 = null === (s2 = u2.rightOp) || void 0 === s2 ? void 0 : s2.length) && void 0 !== o3 ? o3 : 0), d2 = e5.at(a3);
if (a3 + 2 !== e5.length) return { errid: "INVALID_RANGE", start: e5[0].start, end: l2.end };
u2.rightToken = d2;
}
} else if (t4 + 2 !== e5.length) return { errid: "INVALID_RANGE", start: e5[0].start, end: l2.end };
} else u2.rightToken = r4;
let n3;
const { leftToken: i4, leftOp: f, feature: c, rightOp: y, rightToken: h } = u2;
let E, v;
if (void 0 !== i4) {
if ("ident" === i4.type) {
const { type: e6, value: t5 } = i4;
"infinite" === t5 && (E = { type: e6, value: t5 });
} else if ("number" === i4.type || "dimension" === i4.type || "ratio" === i4.type) {
const { hasSpaceBefore: e6, hasSpaceAfter: t5, start: r5, end: n4, ...a3 } = i4;
E = a3;
}
}
if (void 0 !== h) {
if ("ident" === h.type) {
const { type: e6, value: t5 } = h;
"infinite" === t5 && (v = { type: e6, value: t5 });
} else if ("number" === h.type || "dimension" === h.type || "ratio" === h.type) {
const { hasSpaceBefore: e6, hasSpaceAfter: t5, start: r5, end: n4, ...i5 } = h;
v = i5;
}
}
if (void 0 !== E && void 0 !== v)
if ("<" !== f && "<=" !== f || "<" !== y && "<=" !== y) {
if (">" !== f && ">=" !== f || ">" !== y && ">=" !== y)
return { errid: "INVALID_RANGE", start: e5[0].start, end: l2.end };
n3 = { leftToken: E, leftOp: f, feature: c, rightOp: y, rightToken: v };
} else n3 = { leftToken: E, leftOp: f, feature: c, rightOp: y, rightToken: v };
else
(void 0 === E && void 0 === f && void 0 !== y && void 0 !== v || void 0 !== E && void 0 !== f && void 0 === y && void 0 === v) && (n3 = { leftToken: E, leftOp: f, feature: c, rightOp: y, rightToken: v });
return null != n3 ? n3 : { errid: "INVALID_RANGE", start: e5[0].start, end: l2.end };
}
return { errid: "INVALID_RANGE", start: e5[0].start, end: l2.end };
};
// node_modules/.pnpm/media-query-parser@3.0.0-beta.1/node_modules/media-query-parser/dist/flatten/flatten.js
var flattenMediaQueryList = (e5) => ({
type: "query-list",
mediaQueries: e5.mediaQueries.map((e6) => flattenMediaQuery(e6))
});
var flattenMediaQuery = (e5) => e5.mediaCondition ? {
type: "query",
prefix: e5.prefix,
mediaType: e5.mediaType,
mediaCondition: flattenMediaCondition(e5.mediaCondition)
} : e5;
var flattenMediaCondition = (e5) => {
const o3 = [];
for (const t3 of e5.children)
if ("condition" === t3.type) {
const i3 = flattenMediaCondition(t3);
void 0 === i3.operator && 1 === i3.children.length ? o3.push(i3.children[0]) : i3.operator !== e5.operator || "and" !== i3.operator && "or" !== i3.operator ? o3.push(i3) : o3.push(...i3.children);
} else o3.push(t3);
if (1 === o3.length) {
const t3 = o3[0];
if ("condition" === t3.type) {
if (void 0 === e5.operator) return t3;
if ("not" === e5.operator && "not" === t3.operator)
return { type: "condition", children: t3.children };
}
}
return { type: "condition", operator: e5.operator, children: o3 };
};
// node_modules/.pnpm/media-query-parser@3.0.0-beta.1/node_modules/media-query-parser/dist/internals.js
var invertParserError = (e5) => {
const t3 = [e5];
for (let d = e5.child; void 0 !== d; d = d.child) t3.push(d);
for (let e6 = t3.length - 2; e6 >= 0; e6--) t3[e6 + 1].child = t3.at(e6);
return delete t3[0].child, t3.at(-1);
};
var deleteUndefinedValues = (e5) => {
switch (e5.type) {
case "query-list":
for (const t3 of e5.mediaQueries) deleteUndefinedValues(t3);
return e5;
case "query":
return void 0 === e5.prefix && delete e5.prefix, void 0 === e5.mediaType && delete e5.mediaType, void 0 === e5.mediaCondition ? delete e5.mediaCondition : deleteUndefinedValues(e5.mediaCondition), e5;
case "condition":
void 0 === e5.operator && delete e5.operator;
for (const t3 of e5.children) deleteUndefinedValues(t3);
return e5;
case "feature":
return "value" === e5.context ? (void 0 === e5.prefix && delete e5.prefix, deleteUndefinedValues(e5.value)) : "range" === e5.context && (void 0 === e5.range.leftOp && delete e5.range.leftOp, void 0 === e5.range.rightOp && delete e5.range.rightOp, void 0 === e5.range.leftToken ? delete e5.range.leftToken : deleteUndefinedValues(e5.range.leftToken), void 0 === e5.range.rightToken ? delete e5.range.rightToken : deleteUndefinedValues(e5.range.rightToken)), e5;
default:
return e5;
}
};
// node_modules/.pnpm/media-query-parser@3.0.0-beta.1/node_modules/media-query-parser/dist/lexer/codepoints.js
var e;
var readCodepoints = (s2) => {
const t3 = (() => {
let s3;
return e ? s3 = e : (s3 = new TextEncoder(), e = s3), s3;
})().encode(s2), r3 = [], a2 = t3.length;
for (let e5 = 0; e5 < a2; e5 += 1) {
const s3 = t3.at(e5);
if (s3 < 128)
switch (s3) {
case 0:
r3.push(65533);
break;
case 12:
r3.push(10);
break;
case 13:
r3.push(10), 10 === t3.at(e5 + 1) && (e5 += 1);
break;
default:
r3.push(s3);
}
else
s3 < 224 ? r3.push(s3 << 59 >>> 53 | t3[++e5] << 58 >>> 58) : s3 < 240 ? r3.push(s3 << 60 >>> 48 | t3[++e5] << 58 >>> 52 | t3[++e5] << 58 >>> 58) : r3.push(
s3 << 61 >>> 43 | t3[++e5] << 58 >>> 46 | t3[++e5] << 58 >>> 52 | t3[++e5] << 58 >>> 58
);
}
return r3;
};
// node_modules/.pnpm/media-query-parser@3.0.0-beta.1/node_modules/media-query-parser/dist/lexer/process.js
var convertToParserTokens = (e5) => {
const t3 = [];
let r3 = false;
for (const s2 of e5)
switch (s2.type) {
case "{":
return { errid: "NO_LCURLY", start: s2.start, end: s2.end };
case "semicolon":
return { errid: "NO_SEMICOLON", start: s2.start, end: s2.end };
case "whitespace":
;
r3 = true, t3.length > 0 && (t3[t3.length - 1].hasSpaceAfter = true);
break;
case "EOF":
break;
default:
t3.push({ ...s2, hasSpaceBefore: r3, hasSpaceAfter: false }), r3 = false;
}
return t3;
};
// node_modules/.pnpm/media-query-parser@3.0.0-beta.1/node_modules/media-query-parser/dist/lexer/tokens.js
var e2 = 10;
var t = 32;
var n = 45;
var s = 48;
var u = 57;
var r = 65;
var o = 92;
var l = 97;
var i = 122;
var a = 128;
var codepointsToTokens = (f, c = 0) => {
const p = [];
for (; c < f.length; c += 1) {
const d = f.at(c), h = c;
if (47 === d && 42 === f.at(c + 1)) {
c += 2;
for (let e5 = f.at(c); void 0 !== e5; e5 = f.at(++c))
if (42 === e5 && 47 === f.at(c + 1)) {
c += 1;
break;
}
} else if (9 === d || d === t || d === e2) {
let n2 = f.at(++c);
for (; 9 === n2 || n2 === t || n2 === e2; ) n2 = f.at(++c);
c -= 1;
const s2 = p.at(-1);
"whitespace" === (null == s2 ? void 0 : s2.type) ? (p.pop(), p.push({ type: "whitespace", start: s2.start, end: c })) : p.push({ type: "whitespace", start: h, end: c });
} else if (34 === d) {
const e5 = consumeString(f, c);
if (null === e5) return { errid: "INVALID_STRING", start: c, end: c };
const [t3, n2] = e5;
c = t3, p.push({ type: "string", value: n2, start: h, end: c });
} else if (35 === d) {
if (c + 1 < f.length) {
const t3 = f.at(c + 1);
if (95 === t3 || t3 >= r && t3 <= 90 || t3 >= l && t3 <= i || t3 >= a || t3 >= s && t3 <= u || t3 === o && c + 2 < f.length && f.at(c + 2) !== e2) {
const e5 = wouldStartIdentifier(f, c + 1) ? "id" : "unrestricted", t4 = consumeIdentUnsafe(f, c + 1);
if (null !== t4) {
const [n2, s2] = t4;
c = n2, p.push({ type: "hash", value: s2.toLowerCase(), flag: e5, start: h, end: c });
continue;
}
}
}
p.push({ type: "delim", value: d, start: h, end: c });
} else if (39 === d) {
const e5 = consumeString(f, c);
if (null === e5) return { errid: "INVALID_STRING", start: c, end: c };
const [t3, n2] = e5;
c = t3, p.push({ type: "string", value: n2, start: h, end: c });
} else if (40 === d) p.push({ type: "(", start: h, end: c });
else if (41 === d) p.push({ type: ")", start: h, end: c });
else if (43 === d) {
const e5 = consumeNumeric(f, c);
if (null === e5) p.push({ type: "delim", value: d, start: h, end: c });
else {
const [t3, n2] = e5;
c = t3, "dimension" === n2[0] ? p.push({
type: "dimension",
value: n2[1],
unit: n2[2].toLowerCase(),
flag: "number",
start: h,
end: c
}) : "number" === n2[0] ? p.push({ type: n2[0], value: n2[1], flag: n2[2], start: h, end: c }) : p.push({ type: n2[0], value: n2[1], flag: "number", start: h, end: c });
}
} else if (44 === d) p.push({ type: "comma", start: h, end: c });
else if (d === n) {
const e5 = consumeNumeric(f, c);
if (null !== e5) {
const [t4, n2] = e5;
c = t4, "dimension" === n2[0] ? p.push({
type: "dimension",
value: n2[1],
unit: n2[2].toLowerCase(),
flag: "number",
start: h,
end: c
}) : "number" === n2[0] ? p.push({ type: n2[0], value: n2[1], flag: n2[2], start: h, end: c }) : p.push({ type: n2[0], value: n2[1], flag: "number", start: h, end: c });
continue;
}
if (c + 2 < f.length) {
const e6 = f.at(c + 1), t4 = f.at(c + 2);
if (e6 === n && 62 === t4) {
;
c += 2, p.push({ type: "CDC", start: h, end: c });
continue;
}
}
const t3 = consumeIdentLike(f, c);
if (null !== t3) {
const [e6, n2, s2] = t3;
c = e6, p.push({ type: s2, value: n2, start: h, end: c });
continue;
}
p.push({ type: "delim", value: d, start: h, end: c });
} else if (46 === d) {
const e5 = consumeNumeric(f, c);
if (null !== e5) {
const [t3, n2] = e5;
c = t3, "dimension" === n2[0] ? p.push({
type: "dimension",
value: n2[1],
unit: n2[2].toLowerCase(),
flag: "number",
start: h,
end: c
}) : "number" === n2[0] ? p.push({ type: n2[0], value: n2[1], flag: n2[2], start: h, end: c }) : p.push({ type: n2[0], value: n2[1], flag: "number", start: h, end: c });
continue;
}
p.push({ type: "delim", value: d, start: h, end: c });
} else if (58 === d) p.push({ type: "colon", start: h, end: c });
else if (59 === d) p.push({ type: "semicolon", start: h, end: c });
else if (60 === d) {
if (c + 3 < f.length) {
const e5 = f.at(c + 1), t3 = f.at(c + 2), s2 = f.at(c + 3);
if (33 === e5 && t3 === n && s2 === n) {
;
c += 3, p.push({ type: "CDO", start: h, end: c });
continue;
}
}
p.push({ type: "delim", value: d, start: h, end: c });
} else if (64 === d) {
const e5 = consumeIdent(f, c + 1);
if (null !== e5) {
const [t3, n2] = e5;
c = t3, p.push({ type: "at-keyword", value: n2.toLowerCase(), start: h, end: c });
continue;
}
p.push({ type: "delim", value: d, start: h, end: c });
} else if (91 === d) p.push({ type: "[", start: h, end: c });
else if (93 === d) p.push({ type: "]", start: h, end: c });
else if (123 === d) p.push({ type: "{", start: h, end: c });
else if (125 === d) p.push({ type: "}", start: h, end: c });
else if (d >= s && d <= u) {
const e5 = consumeNumeric(f, c), [t3, n2] = e5;
c = t3, "dimension" === n2[0] ? p.push({
type: "dimension",
value: n2[1],
unit: n2[2].toLowerCase(),
flag: "number",
start: h,
end: c
}) : "number" === n2[0] ? p.push({ type: n2[0], value: n2[1], flag: n2[2], start: h, end: c }) : p.push({ type: n2[0], value: n2[1], flag: "number", start: h, end: c });
} else if (95 === d || d >= r && d <= 90 || d >= l && d <= i || d >= a || d === o) {
const e5 = consumeIdentLike(f, c);
if (null === e5) p.push({ type: "delim", value: d, start: h, end: c });
else {
const [t3, n2, s2] = e5;
c = t3, p.push({ type: s2, value: n2, start: h, end: c });
}
} else p.push({ type: "delim", value: d, start: h, end: c });
}
return p.push({ type: "EOF", start: c, end: c }), p;
};
var consumeString = (t3, n2) => {
if (t3.length <= n2 + 1) return null;
const s2 = t3.at(n2), u2 = [];
for (let r3 = n2 + 1; r3 < t3.length; r3 += 1) {
const n3 = t3.at(r3);
if (n3 === s2) return [r3, String.fromCodePoint(...u2)];
if (n3 === o) {
const e5 = consumeEscape(t3, r3);
if (null === e5) return null;
const [n4, s3] = e5;
u2.push(s3), r3 = n4;
} else {
if (n3 === e2) return null;
u2.push(n3);
}
}
return null;
};
var wouldStartIdentifier = (t3, s2) => {
const u2 = t3.at(s2);
if (void 0 === u2) return false;
if (u2 === n) {
const u3 = t3.at(s2 + 1);
if (void 0 === u3) return false;
if (u3 === n || 95 === u3 || u3 >= r && u3 <= 90 || u3 >= l && u3 <= i || u3 >= a) return true;
if (u3 === o) {
if (t3.length <= s2 + 2) return false;
return t3.at(s2 + 2) !== e2;
}
return false;
}
if (95 === u2 || u2 >= r && u2 <= 90 || u2 >= l && u2 <= i || u2 >= a) return true;
if (u2 === o) {
if (t3.length <= s2 + 1) return false;
return t3.at(s2 + 1) !== e2;
}
return false;
};
var consumeEscape = (n2, i3) => {
if (n2.length <= i3 + 1) return null;
if (n2.at(i3) !== o) return null;
const a2 = n2.at(i3 + 1);
if (a2 === e2) return null;
if (a2 >= s && a2 <= u || a2 >= r && a2 <= 70 || a2 >= l && a2 <= 102) {
const o3 = [a2], f = Math.min(i3 + 7, n2.length);
let c = i3 + 2;
for (; c < f; c += 1) {
const e5 = n2.at(c);
if (!(e5 >= s && e5 <= u || e5 >= r && e5 <= 70 || e5 >= l && e5 <= 102)) break;
o3.push(e5);
}
if (c < n2.length) {
const s2 = n2.at(c);
9 !== s2 && s2 !== t && s2 !== e2 || (c += 1);
}
return [c - 1, Number.parseInt(String.fromCodePoint(...o3), 16)];
}
return [i3 + 1, a2];
};
var consumeNumeric = (e5, t3) => {
const n2 = consumeNumber(e5, t3);
if (null === n2) return null;
const [s2, u2, r3] = n2, o3 = consumeIdent(e5, s2 + 1);
if (null !== o3) {
const [e6, t4] = o3;
return [e6, ["dimension", u2, t4]];
}
return s2 + 1 < e5.length && 37 === e5.at(s2 + 1) ? [s2 + 1, ["percentage", u2]] : [s2, ["number", u2, r3]];
};
var consumeNumber = (e5, t3) => {
const r3 = e5.at(t3);
if (void 0 === r3) return null;
let o3 = "integer";
const l2 = [];
for (43 !== r3 && r3 !== n || (t3 += 1, r3 === n && l2.push(n)); t3 < e5.length; ) {
const n2 = e5.at(t3);
if (!(n2 >= s && n2 <= u)) break;
l2.push(n2), t3 += 1;
}
if (t3 + 1 < e5.length) {
const n2 = e5.at(t3), r4 = e5.at(t3 + 1);
if (46 === n2 && r4 >= s && r4 <= u)
for (l2.push(n2, r4), o3 = "number", t3 += 2; t3 < e5.length; ) {
const n3 = e5.at(t3);
if (!(n3 >= s && n3 <= u)) break;
l2.push(n3), t3 += 1;
}
}
if (t3 + 1 < e5.length) {
const r4 = e5.at(t3), i4 = e5.at(t3 + 1), a3 = e5.at(t3 + 2);
if (69 === r4 || 101 === r4) {
let r5 = false;
if (i4 >= s && i4 <= u ? (l2.push(69, i4), t3 += 2, r5 = true) : (i4 === n || 43 === i4) && void 0 !== a3 && a3 >= s && a3 <= u && (l2.push(69), i4 === n && l2.push(n), l2.push(a3), t3 += 3, r5 = true), r5)
for (o3 = "number"; t3 < e5.length; ) {
const n2 = e5.at(t3);
if (!(n2 >= s && n2 <= u)) break;
l2.push(n2), t3 += 1;
}
}
}
const i3 = String.fromCodePoint(...l2);
let a2 = "number" === o3 ? Number.parseFloat(i3) : Number.parseInt(i3);
return 0 === a2 && (a2 = 0), Number.isNaN(a2) ? null : [t3 - 1, a2, o3];
};
var consumeIdentUnsafe = (e5, t3) => {
if (e5.length <= t3) return null;
const o3 = [];
for (let f = e5.at(t3); t3 < e5.length; f = e5.at(++t3)) {
if (!(f === n || 95 === f || f >= r && f <= 90 || f >= l && f <= i || f >= a || f >= s && f <= u)) {
{
const n2 = consumeEscape(e5, t3);
if (null !== n2) {
const [e6, s2] = n2;
o3.push(s2), t3 = e6;
continue;
}
}
break;
}
o3.push(f);
}
return 0 === t3 ? null : [t3 - 1, String.fromCodePoint(...o3)];
};
var consumeIdent = (e5, t3) => wouldStartIdentifier(e5, t3) ? consumeIdentUnsafe(e5, t3) : null;
var consumeUrl = (n2, s2) => {
let u2 = n2.at(s2);
for (; 9 === u2 || u2 === t || u2 === e2; ) u2 = n2.at(++s2);
const r3 = [];
let l2 = false;
for (; s2 < n2.length; ) {
if (41 === u2) return [s2, String.fromCodePoint(...r3)];
if (34 === u2 || 39 === u2 || 40 === u2) return null;
if (9 === u2 || u2 === t || u2 === e2) !l2 && r3.length > 0 && (l2 = true);
else if (u2 === o) {
const e5 = consumeEscape(n2, s2);
if (null === e5 || l2) return null;
const [t3, u3] = e5;
r3.push(u3), s2 = t3;
} else {
if (l2) return null;
r3.push(u2);
}
u2 = n2.at(++s2);
}
return null;
};
var consumeIdentLike = (n2, s2) => {
const u2 = consumeIdent(n2, s2);
if (null === u2) return null;
const [r3, o3] = u2;
if ("url" === o3.toLowerCase()) {
if (n2.length > r3 + 1) {
if (40 === n2.at(r3 + 1)) {
for (let s3 = 2; r3 + s3 < n2.length; s3 += 1) {
const u3 = n2.at(r3 + s3);
if (34 === u3 || 39 === u3) return [r3 + 1, o3.toLowerCase(), "function"];
if (9 !== u3 && u3 !== t && u3 !== e2) {
const e5 = consumeUrl(n2, r3 + s3);
if (null === e5) return null;
const [t3, u4] = e5;
return [t3, u4, "url"];
}
}
return [r3 + 1, o3.toLowerCase(), "function"];
}
}
} else if (n2.length > r3 + 1) {
if (40 === n2.at(r3 + 1)) return [r3 + 1, o3.toLowerCase(), "function"];
}
return [r3, o3.toLowerCase(), "ident"];
};
// node_modules/.pnpm/media-query-parser@3.0.0-beta.1/node_modules/media-query-parser/dist/lexer/lexer.js
var lexer = (m) => {
const e5 = codepointsToTokens(readCodepoints(m));
return isParserError(e5) ? e5 : convertToParserTokens(e5);
};
// node_modules/.pnpm/media-query-parser@3.0.0-beta.1/node_modules/media-query-parser/dist/utils.js
var isParserError2 = (r3) => "object" == typeof r3 && null !== r3 && "errid" in r3;
// node_modules/.pnpm/media-query-parser@3.0.0-beta.1/node_modules/media-query-parser/dist/index.js
var parseMediaQueryList = (t3) => {
const e5 = lexer(t3);
return isParserError2(e5) ? invertParserError(e5) : deleteUndefinedValues(flattenMediaQueryList(readMediaQueryList(e5)));
};
// node_modules/.pnpm/media-query-fns@2.0.0/node_modules/media-query-fns/dist/helpers.js
var DISCRETE_FEATURES = {
"any-hover": { none: 1, hover: 1 },
"any-pointer": { none: 1, coarse: 1, fine: 1 },
"color-gamut": { srgb: 1, p3: 1, rec2020: 1 },
grid: { 0: 1, 1: 1 },
hover: { none: 1, hover: 1 },
"overflow-block": { none: 1, scroll: 1, paged: 1 },
"overflow-inline": { none: 1, scroll: 1 },
pointer: { none: 1, coarse: 1, fine: 1 },
scan: { interlace: 1, progressive: 1 },
update: { none: 1, slow: 1, fast: 1 },
"display-mode": { fullscreen: 1, standalone: 1, "minimal-ui": 1, browser: 1 },
"dynamic-range": { standard: 1, high: 1 },
"environment-blending": { opaque: 1, additive: 1, subtractive: 1 },
"forced-colors": { none: 1, active: 1 },
"inverted-colors": { none: 1, inverted: 1 },
"nav-controls": { none: 1, back: 1 },
"prefers-color-scheme": { light: 1, dark: 1 },
"prefers-contrast": { "no-preference": 1, less: 1, more: 1, custom: 1 },
"prefers-reduced-data": { "no-preference": 1, reduce: 1 },
"prefers-reduced-motion": { "no-preference": 1, reduce: 1 },
"prefers-reduced-transparency": { "no-preference": 1, reduce: 1 },
scripting: { none: 1, "initial-only": 1, enabled: 1 },
"video-color-gamut": { srgb: 1, p3: 1, rec2020: 1 },
"video-dynamic-range": { standard: 1, high: 1 }
};
var RANGE_NUMBER_FEATURES = {
color: { feature: "color", type: "integer", bounds: [true, 0, 1 / 0, false] },
"color-index": { feature: "color-index", type: "integer", bounds: [true, 0, 1 / 0, false] },
monochrome: { feature: "monochrome", type: "integer", bounds: [true, 0, 1 / 0, false] },
"device-height": { feature: "device-height", type: "length", bounds: [true, 0, 1 / 0, false] },
"device-width": { feature: "device-width", type: "length", bounds: [true, 0, 1 / 0, false] },
height: { feature: "height", type: "length", bounds: [true, 0, 1 / 0, false] },
width: { feature: "width", type: "length", bounds: [true, 0, 1 / 0, false] },
resolution: { feature: "resolution", type: "resolution", bounds: [true, 0, 1 / 0, false] },
"horizontal-viewport-segments": {
feature: "horizontal-viewport-segments",
type: "integer",
bounds: [true, 0, 1 / 0, false]
},
"vertical-viewport-segments": {
feature: "vertical-viewport-segments",
type: "integer",
bounds: [true, 0, 1 / 0, false]
}
};
var RANGE_RATIO_FEATURES = {
"aspect-ratio": { feature: "aspect-ratio", type: "ratio", bounds: [false, [0, 1], [1 / 0, 1], false] },
"device-aspect-ratio": {
feature: "device-aspect-ratio",
type: "ratio",
bounds: [false, [0, 1], [1 / 0, 1], false]
}
};
var permToConditionPairs = (e5) => Object.entries(e5).filter((e6) => void 0 !== e6[1]);
var e3 = new Set(Object.keys(DISCRETE_FEATURES));
var hasDiscreteKey = (t3) => e3.has(t3[0]);
var isDiscreteKey = (t3) => e3.has(t3);
var t2 = new Set(Object.keys(RANGE_RATIO_FEATURES));
var hasRangeRatioKey = (e5) => t2.has(e5[0]);
var isRangeRatioKey = (e5) => t2.has(e5);
var o2 = new Set(Object.keys(RANGE_NUMBER_FEATURES));
var hasRangeNumberKey = (e5) => o2.has(e5[0]);
var isRangeNumberKey = (e5) => o2.has(e5);
var hasRangeKey = (e5) => hasRangeNumberKey(e5) || hasRangeRatioKey(e5);
var isRangeKey = (e5) => isRangeNumberKey(e5) || isRangeRatioKey(e5);
var isFeatureKey = (e5) => isRangeNumberKey(e5) || isRangeRatioKey(e5) || isDiscreteKey(e5);
var attachPair = (e5, t3) => {
e5[t3[0]] = t3[1];
};
var andRanges = (...e5) => e5.reduce(
(e6, t3) => "{true}" === e6 ? t3 : "{true}" === t3 ? e6 : "{false}" === e6 || "{false}" === t3 ? "{false}" : ((e7, t4) => {
const [o3, n2, r3, s2] = e7, a2 = "number" == typeof n2 ? n2 : n2[0] / n2[1], i3 = "number" == typeof r3 ? r3 : r3[0] / r3[1], [c, p, u2, d] = t4, l2 = "number" == typeof p ? p : p[0] / p[1], g = "number" == typeof u2 ? u2 : u2[0] / u2[1];
let f = o3 !== c && !o3;
a2 !== l2 && (f = a2 > l2);
let h = s2 !== d && !s2;
i3 !== g && (h = i3 < g);
const y = f ? o3 : c, R = f ? n2 : p, b = h ? r3 : u2, m = h ? s2 : d;
return R > b || R === b && (!y || !m) ? "{false}" : [y, R, b, m];
})(e6, t3),
"{true}"
);
var boundRange = (e5) => {
if (hasRangeRatioKey(e5)) {
const { bounds: t3 } = RANGE_RATIO_FEATURES[e5[0]], o3 = andRanges(e5[1], t3);
if ("string" == typeof o3) return o3;
if (o3[0] === t3[0] && o3[1][0] === t3[1][0] && o3[1][1] === t3[1][1] && o3[2][0] === t3[2][0] && o3[2][1] === t3[2][1] && o3[3] === t3[3])
return "{true}";
{
const e6 = o3[1][0] / o3[1][1], t4 = o3[2][0] / o3[2][1];
return e6 > t4 || e6 === t4 && (!o3[0] || !o3[3]) ? "{false}" : o3;
}
}
{
const { bounds: t3 } = RANGE_NUMBER_FEATURES[e5[0]], o3 = andRanges(e5[1], t3);
return "string" == typeof o3 ? o3 : o3[0] === t3[0] && o3[1] === t3[1] && o3[2] === t3[2] && o3[3] === t3[3] ? "{true}" : o3[1] > o3[2] || o3[1] === o3[2] && (!o3[0] || !o3[3]) ? "{false}" : o3;
}
};
var notRatioRange = (e5) => {
if ("string" == typeof e5[1]) throw new Error("expected range");
const { bounds: t3 } = RANGE_RATIO_FEATURES[e5[0]], [o3, n2, r3, s2] = e5[1], a2 = n2[0] / n2[1], i3 = r3[0] / r3[1], c = t3[1][0] / t3[1][1], p = t3[0], u2 = t3[2][0] / t3[2][1], d = t3[3], l2 = i3 > u2 || i3 === u2 && !(d && !s2);
return a2 < c || a2 === c && !(p && !o3) ? l2 ? "{false}" : [[!s2, r3, t3[2], t3[3]]] : l2 ? [[t3[0], t3[1], n2, !o3]] : [
[t3[0], t3[1], n2, !o3],
[!s2, r3, t3[2], t3[3]]
];
};
function notNumberRange(e5) {
if ("string" == typeof e5[1]) throw new Error("expected range");
const { bounds: t3 } = RANGE_NUMBER_FEATURES[e5[0]], [o3, n2, r3, s2] = e5[1], a2 = t3[1], i3 = t3[0], c = t3[2], p = t3[3], u2 = r3 > c || r3 === c && !(p && !s2);
return n2 < a2 || n2 === a2 && !(i3 && !o3) ? u2 ? "{false}" : [[!s2, r3, t3[2], t3[3]]] : u2 ? [[t3[0], t3[1], n2, !o3]] : [
[t3[0], t3[1], n2, !o3],
[!s2, r3, t3[2], t3[3]]
];
}
// node_modules/.pnpm/media-query-fns@2.0.0/node_modules/media-query-fns/dist/units.js
var i2 = {
widthPx: 1920,
heightPx: 1080,
writingMode: "horizontal-tb",
emPx: 16,
lhPx: 16,
exPx: 8,
chPx: 8,
capPx: 11,
icPx: 16
};
var convertToUnit = (e5, t3) => {
if ("number" === e5.type) return { type: "number", value: e5.value };
if ("dimension" === e5.type) {
let n2;
switch (e5.unit) {
case "s":
case "ms":
n2 = "time";
break;
case "hz":
case "khz":
n2 = "frequency";
break;
case "dpi":
case "dpcm":
case "dppx":
case "x":
n2 = "resolution";
break;
default:
n2 = "length";
}
if ("px" === e5.unit) return { type: "dimension", subtype: "length", px: e5.value };
if ("time" === n2)
return {
type: "dimension",
subtype: "time",
ms: "s" === e5.unit ? Math.round(1e3 * e5.value) : e5.value
};
if ("frequency" === n2)
return {
type: "dimension",
subtype: "frequency",
hz: "khz" === e5.unit ? Math.round(1e3 * e5.value) : e5.value
};
if ("resolution" === n2) {
let t4 = e5.value;
return "dpi" === e5.unit ? t4 = Number.parseFloat((0.0104166667 * e5.value).toFixed(3)) : "dpcm" === e5.unit && (t4 = Number.parseFloat((0.0264583333 * e5.value).toFixed(3))), { type: "dimension", subtype: "resolution", dppx: t4 };
}
if (e5.unit in t3) {
const n3 = t3[e5.unit];
return { type: "dimension", subtype: "length", px: Number.parseFloat((e5.value * n3).toFixed(3)) };
}
return { type: "ident", value: "{never}" };
}
return "ident" === e5.type ? "infinite" === e5.value ? { type: "infinite" } : { type: "ident", value: e5.value } : { type: "ratio", numerator: e5.numerator, denominator: e5.denominator };
};
var compileStaticUnitConversions = (e5) => {
let t3 = {};
"number" == typeof e5.emPx && (t3 = {
exPx: Math.round(0.5 * e5.emPx),
chPx: Math.round(0.5 * e5.emPx),
capPx: Math.round(0.7 * e5.emPx),
icPx: Math.round(e5.emPx)
});
const n2 = { ...i2, ...t3, ...e5 }, {
widthPx: r3,
heightPx: o3,
writingMode: a2,
emPx: u2,
lhPx: p,
exPx: l2,
chPx: m,
capPx: s2,
icPx: f
} = n2, v = r3 / 100, c = o3 / 100;
return {
em: u2,
rem: u2,
lh: p,
rlh: p,
ex: l2,
ch: m,
cap: s2,
ic: f,
vw: v,
vh: c,
vmin: Math.min(c, v),
vmax: Math.max(c, v),
vi: "horizontal-tb" === a2 ? v : c,
vb: "horizontal-tb" === a2 ? c : v,
cm: 37.79527559,
mm: 0.03779527559,
in: 96,
q: 0.009448818898,
pc: 16,
pt: 16
};
};
var r2 = { "<": ">", "<=": ">=", ">": "<", ">=": "<=" };
var simplifyMediaFeature = (n2, i3) => {
if ("range" === n2.context) {
if (isRangeKey(n2.feature)) {
const { range: e5, feature: t3 } = n2;
return void 0 !== e5.leftToken && void 0 !== e5.rightToken ? "<" === e5.leftOp || "<=" === e5.leftOp ? {
type: "double",
name: t3,
minOp: e5.leftOp,
min: convertToUnit(e5.leftToken, i3),
maxOp: e5.rightOp,
max: convertToUnit(e5.rightToken, i3)
} : {
type: "double",
name: t3,
minOp: ">" === e5.rightOp ? "<" : "<=",
min: convertToUnit(e5.rightToken, i3),
maxOp: e5.leftOp ? "<" : "<=",
max: convertToUnit(e5.leftToken, i3)
} : void 0 === e5.rightToken ? "=" === e5.leftOp ? { type: "equals", name: t3, value: convertToUnit(e5.leftToken, i3) } : { type: "single", name: t3, op: r2[e5.leftOp], value: convertToUnit(e5.leftToken, i3) } : "=" === e5.rightOp ? { type: "equals", name: t3, value: convertToUnit(e5.rightToken, i3) } : { type: "single", name: t3, op: e5.rightOp, value: convertToUnit(e5.rightToken, i3) };
}
} else if ("value" === n2.context) {
if ("orientation" === n2.feature) {
if (void 0 === n2.prefix && "ident" === n2.value.type) {
if ("portrait" === n2.value.value)
return {
type: "single",
name: "aspect-ratio",
op: "<=",
value: { type: "ratio", numerator: 1, denominator: 1 }
};
if ("landscape" === n2.value.value)
return {
type: "single",
name: "aspect-ratio",
op: ">=",
value: { type: "ratio", numerator: 1, denominator: 1 }
};
}
} else if (isFeatureKey(n2.feature)) {
if (void 0 === n2.prefix)
return { type: "equals", name: n2.feature, value: convertToUnit(n2.value, i3) };
if (isRangeKey(n2.feature))
return "min" === n2.prefix ? { type: "single", name: n2.feature, op: ">=", value: convertToUnit(n2.value, i3) } : { type: "single", name: n2.feature, op: "<=", value: convertToUnit(n2.value, i3) };
}
} else {
if ("orientation" === n2.feature)
return {
type: "double",
name: "a