mock-match-media
Version:
mock window.matchMedia for tests or node
1,934 lines (1,922 loc) • 68.4 kB
JavaScript
//#region node_modules/.pnpm/media-query-parser@3.0.0-beta.1/node_modules/media-query-parser/dist/ast/ast.js
const isParserError$1 = (e$4) => "object" == typeof e$4 && null !== e$4 && "errid" in e$4;
const splitMediaQueryList = (e$4) => {
const t$2 = [[]], r$2 = [];
for (const n$1 of e$4) if ("comma" === n$1.type && 0 === r$2.length) t$2.push([]);
else {
switch (n$1.type) {
case "function":
case "(":
r$2.push(")");
break;
case "[":
r$2.push("]");
break;
case "{":
r$2.push("}");
break;
case ")":
case "]":
case "}":
r$2.at(-1) === n$1.type && r$2.pop();
break;
}
t$2[t$2.length - 1].push(n$1);
}
return t$2;
};
const readMediaQueryList = (e$4) => {
const t$2 = splitMediaQueryList(e$4);
if (1 === t$2.length && 0 === t$2[0].length) return {
type: "query-list",
mediaQueries: [{ type: "query" }]
};
{
const e$5 = [];
for (const r$2 of t$2) {
const t$3 = readMediaQuery(r$2);
isParserError$1(t$3) ? e$5.push({
type: "query",
prefix: "not"
}) : e$5.push(t$3);
}
return {
type: "query-list",
mediaQueries: e$5
};
}
};
const readMediaQuery = (e$4) => {
var t$2, r$2, n$1;
const i$2 = e$4.at(0);
if (i$2) {
if ("(" === i$2.type) {
const r$3 = readMediaCondition(e$4, !0);
if (isParserError$1(r$3)) {
const { start: n$2, end: a$1 } = null !== (t$2 = e$4.at(1)) && void 0 !== t$2 ? t$2 : i$2;
return {
errid: "EXPECT_FEATURE_OR_CONDITION",
start: n$2,
end: a$1,
child: r$3
};
}
return {
type: "query",
mediaCondition: r$3
};
}
if ("ident" === i$2.type) {
let t$3, a$1;
const { value: d, end: s$1 } = i$2;
"only" !== d && "not" !== d || (t$3 = d);
const o$2 = void 0 === t$3 ? 0 : 1, l$1 = e$4.at(o$2);
if (!l$1) return {
errid: "EXPECT_LPAREN_OR_TYPE",
start: s$1,
end: s$1
};
if ("ident" !== l$1.type) {
if ("not" === t$3 && "(" === l$1.type) {
const t$4 = readMediaCondition(e$4.slice(o$2), !0);
if (isParserError$1(t$4)) {
const { start: n$2, end: i$3 } = null !== (r$2 = e$4.at(o$2 + 1)) && void 0 !== r$2 ? r$2 : l$1;
return {
errid: "EXPECT_CONDITION",
start: n$2,
end: i$3,
child: t$4
};
}
return {
type: "query",
mediaCondition: {
type: "condition",
operator: "not",
children: [t$4]
}
};
}
{
const { start: e$5, end: t$4 } = l$1;
return {
errid: "EXPECT_TYPE",
start: e$5,
end: t$4
};
}
}
{
const { value: e$5, start: r$3, end: n$2 } = l$1;
if ("all" === e$5) a$1 = void 0;
else if ("print" === e$5 || "screen" === e$5) a$1 = e$5;
else {
if ("tty" !== e$5 && "tv" !== e$5 && "projection" !== e$5 && "handheld" !== e$5 && "braille" !== e$5 && "embossed" !== e$5 && "aural" !== e$5 && "speech" !== e$5) return {
errid: "EXPECT_TYPE",
start: r$3,
end: n$2
};
t$3 = "not" === t$3 ? void 0 : "not", a$1 = void 0;
}
}
if (o$2 + 1 === e$4.length) return {
type: "query",
prefix: t$3,
mediaType: a$1
};
{
const r$3 = e$4[o$2 + 1];
if ("ident" === r$3.type && "and" === r$3.value) {
const r$4 = e$4.at(-1), i$3 = e$4.at(o$2 + 2);
let d$1, s$2 = r$4.end + 1;
if ("ident" === (null == i$3 ? void 0 : i$3.type) && "not" === i$3.value) {
s$2 += 1;
const t$4 = readMediaCondition(e$4.slice(o$2 + 3), !1);
d$1 = isParserError$1(t$4) ? t$4 : {
type: "condition",
operator: "not",
children: [t$4]
};
} else d$1 = readMediaCondition(e$4.slice(o$2 + 2), !1);
const { start: l$2, end: u$1 } = null !== (n$1 = e$4.at(o$2 + 2)) && void 0 !== n$1 ? n$1 : {
start: s$2,
end: s$2
};
return isParserError$1(d$1) ? {
errid: "EXPECT_CONDITION",
start: l$2,
end: u$1,
child: d$1
} : {
type: "query",
prefix: t$3,
mediaType: a$1,
mediaCondition: d$1
};
}
return {
errid: "EXPECT_AND",
start: r$3.start,
end: r$3.end
};
}
}
return {
errid: "EXPECT_LPAREN_OR_TYPE_OR_MODIFIER",
start: i$2.start,
end: i$2.end
};
}
return {
errid: "EMPTY_QUERY",
start: 0,
end: 0
};
};
const readMediaCondition = (e$4, t$2, r$2) => {
const n$1 = e$4.at(0);
if (n$1) {
if ("(" !== n$1.type) return {
errid: "EXPECT_LPAREN",
start: n$1.start,
end: n$1.end
};
let i$2, a$1 = e$4.length - 1, d = 0, s$1 = 0;
for (const [t$3, r$3] of e$4.entries()) if ("(" === r$3.type ? (s$1 += 1, d = Math.max(d, s$1)) : ")" === r$3.type && (s$1 -= 1), 0 === s$1) {
a$1 = t$3;
break;
}
if (0 !== s$1) return {
errid: "MISMATCH_PARENS",
start: n$1.start,
end: e$4[e$4.length - 1].end
};
const o$2 = e$4.slice(0, a$1 + 1);
if (i$2 = 1 === d ? readMediaFeature(o$2) : "ident" === o$2[1].type && "not" === o$2[1].value ? readMediaCondition(o$2.slice(2, -1), !0, "not") : readMediaCondition(o$2.slice(1, -1), !0), isParserError$1(i$2)) return {
errid: "EXPECT_FEATURE_OR_CONDITION",
start: n$1.start,
end: o$2[o$2.length - 1].end,
child: i$2
};
if (a$1 === e$4.length - 1) return {
type: "condition",
operator: r$2,
children: [i$2]
};
{
const n$2 = e$4[a$1 + 1];
if ("ident" !== n$2.type || "and" !== n$2.value && "or" !== n$2.value) return {
errid: "EXPECT_AND_OR_OR",
start: n$2.start,
end: n$2.end
};
if (void 0 !== r$2 && r$2 !== n$2.value) return {
errid: "MIX_AND_WITH_OR",
start: n$2.start,
end: n$2.end
};
if ("or" === n$2.value && !t$2) return {
errid: "MIX_AND_WITH_OR",
start: n$2.start,
end: n$2.end
};
const d$1 = readMediaCondition(e$4.slice(a$1 + 2), t$2, n$2.value);
return isParserError$1(d$1) ? d$1 : {
type: "condition",
operator: n$2.value,
children: [i$2, ...d$1.children]
};
}
}
return {
errid: "EMPTY_CONDITION",
start: 0,
end: 0
};
};
const readMediaFeature = (e$4) => {
const t$2 = e$4.at(0);
if (t$2) {
if ("(" !== t$2.type) return {
errid: "EXPECT_LPAREN",
start: t$2.start,
end: t$2.end
};
const r$2 = e$4[e$4.length - 1];
if (")" !== r$2.type) return {
errid: "EXPECT_RPAREN",
start: r$2.end + 1,
end: r$2.end + 1
};
const n$1 = [e$4[0]];
for (let t$3 = 1; t$3 < e$4.length; t$3++) {
if (t$3 < e$4.length - 2) {
const r$3 = e$4[t$3], i$3 = e$4[t$3 + 1], a$1 = e$4[t$3 + 2];
if ("number" === r$3.type && r$3.value > 0 && "delim" === i$3.type && 47 === i$3.value && "number" === a$1.type && a$1.value > 0) {
n$1.push({
type: "ratio",
numerator: r$3.value,
denominator: a$1.value,
hasSpaceBefore: r$3.hasSpaceBefore,
hasSpaceAfter: a$1.hasSpaceAfter,
start: r$3.start,
end: a$1.end
}), t$3 += 2;
continue;
}
}
n$1.push(e$4[t$3]);
}
const i$2 = n$1[1];
if ("ident" === i$2.type && 3 === n$1.length) return {
type: "feature",
context: "boolean",
feature: i$2.value
};
if (5 === n$1.length && "ident" === n$1[1].type && "colon" === n$1[2].type) {
const e$5 = n$1[3];
if ("number" === e$5.type || "dimension" === e$5.type || "ratio" === e$5.type || "ident" === e$5.type) {
let t$3, r$3 = n$1[1].value;
const i$3 = r$3.slice(0, 4);
"min-" === i$3 ? (t$3 = "min", r$3 = r$3.slice(4)) : "max-" === i$3 && (t$3 = "max", r$3 = r$3.slice(4));
const { hasSpaceBefore: a$1, hasSpaceAfter: d, start: s$1, end: o$2,...l$1 } = e$5;
return {
type: "feature",
context: "value",
prefix: t$3,
feature: r$3,
value: l$1
};
}
return {
errid: "EXPECT_VALUE",
start: e$5.start,
end: e$5.end
};
}
if (n$1.length >= 5) {
const e$5 = readRange(n$1);
if (isParserError$1(e$5)) return {
errid: "EXPECT_RANGE",
start: t$2.start,
end: n$1[n$1.length - 1].end,
child: e$5
};
{
const { feature: t$3,...r$3 } = e$5;
return {
type: "feature",
context: "range",
feature: t$3,
range: r$3
};
}
}
return {
errid: "INVALID_FEATURE",
start: t$2.start,
end: e$4[e$4.length - 1].end
};
}
return {
errid: "EMPTY_FEATURE",
start: 0,
end: 0
};
};
const readRange = (e$4) => {
var t$2, r$2, n$1, i$2, a$1, d, s$1, o$2;
if (e$4.length < 5) return {
errid: "INVALID_RANGE",
start: null !== (r$2 = null === (t$2 = e$4.at(0)) || void 0 === t$2 ? void 0 : t$2.start) && void 0 !== r$2 ? r$2 : 0,
end: null !== (i$2 = null === (n$1 = e$4.at(-1)) || void 0 === n$1 ? void 0 : n$1.end) && void 0 !== i$2 ? i$2 : 0
};
if ("(" !== e$4[0].type) return {
errid: "EXPECT_LPAREN",
start: e$4[0].start,
end: e$4[0].end
};
const l$1 = e$4[e$4.length - 1];
if (")" !== l$1.type) return {
errid: "EXPECT_RPAREN",
start: l$1.start,
end: l$1.end
};
const u$1 = { feature: "" }, p = "number" === e$4[1].type || "dimension" === e$4[1].type || "ratio" === e$4[1].type || "ident" === e$4[1].type && "infinite" === e$4[1].value;
if ("delim" === e$4[2].type) {
if (60 === e$4[2].value) "delim" !== e$4[3].type || 61 !== e$4[3].value || e$4[3].hasSpaceBefore ? u$1[p ? "leftOp" : "rightOp"] = "<" : u$1[p ? "leftOp" : "rightOp"] = "<=";
else if (62 === e$4[2].value) "delim" !== e$4[3].type || 61 !== e$4[3].value || e$4[3].hasSpaceBefore ? u$1[p ? "leftOp" : "rightOp"] = ">" : u$1[p ? "leftOp" : "rightOp"] = ">=";
else {
if (61 !== e$4[2].value) return {
errid: "INVALID_RANGE",
start: e$4[0].start,
end: l$1.end
};
u$1[p ? "leftOp" : "rightOp"] = "=";
}
if (p) u$1.leftToken = e$4[1];
else {
if ("ident" !== e$4[1].type) return {
errid: "INVALID_RANGE",
start: e$4[0].start,
end: l$1.end
};
u$1.feature = e$4[1].value;
}
const t$3 = 2 + (null !== (d = null === (a$1 = u$1[p ? "leftOp" : "rightOp"]) || void 0 === a$1 ? void 0 : a$1.length) && void 0 !== d ? d : 0), r$3 = e$4[t$3];
if (p) {
if ("ident" !== r$3.type) return {
errid: "INVALID_RANGE",
start: e$4[0].start,
end: l$1.end
};
if (u$1.feature = r$3.value, e$4.length >= 7) {
const r$4 = e$4[t$3 + 1], n$3 = e$4[t$3 + 2];
if ("delim" !== r$4.type) return {
errid: "INVALID_RANGE",
start: e$4[0].start,
end: l$1.end
};
{
const i$4 = r$4.value;
if (60 === i$4) "delim" !== n$3.type || 61 !== n$3.value || n$3.hasSpaceBefore ? u$1.rightOp = "<" : u$1.rightOp = "<=";
else {
if (62 !== i$4) return {
errid: "INVALID_RANGE",
start: e$4[0].start,
end: l$1.end
};
"delim" !== n$3.type || 61 !== n$3.value || n$3.hasSpaceBefore ? u$1.rightOp = ">" : u$1.rightOp = ">=";
}
const a$2 = t$3 + 1 + (null !== (o$2 = null === (s$1 = u$1.rightOp) || void 0 === s$1 ? void 0 : s$1.length) && void 0 !== o$2 ? o$2 : 0), d$1 = e$4.at(a$2);
if (a$2 + 2 !== e$4.length) return {
errid: "INVALID_RANGE",
start: e$4[0].start,
end: l$1.end
};
u$1.rightToken = d$1;
}
} else if (t$3 + 2 !== e$4.length) return {
errid: "INVALID_RANGE",
start: e$4[0].start,
end: l$1.end
};
} else u$1.rightToken = r$3;
let n$2;
const { leftToken: i$3, leftOp: f, feature: c, rightOp: y, rightToken: h } = u$1;
let E, v$1;
if (void 0 !== i$3) {
if ("ident" === i$3.type) {
const { type: e$5, value: t$4 } = i$3;
"infinite" === t$4 && (E = {
type: e$5,
value: t$4
});
} else if ("number" === i$3.type || "dimension" === i$3.type || "ratio" === i$3.type) {
const { hasSpaceBefore: e$5, hasSpaceAfter: t$4, start: r$4, end: n$3,...a$2 } = i$3;
E = a$2;
}
}
if (void 0 !== h) {
if ("ident" === h.type) {
const { type: e$5, value: t$4 } = h;
"infinite" === t$4 && (v$1 = {
type: e$5,
value: t$4
});
} else if ("number" === h.type || "dimension" === h.type || "ratio" === h.type) {
const { hasSpaceBefore: e$5, hasSpaceAfter: t$4, start: r$4, end: n$3,...i$4 } = h;
v$1 = i$4;
}
}
if (void 0 !== E && void 0 !== v$1) if ("<" !== f && "<=" !== f || "<" !== y && "<=" !== y) {
if (">" !== f && ">=" !== f || ">" !== y && ">=" !== y) return {
errid: "INVALID_RANGE",
start: e$4[0].start,
end: l$1.end
};
n$2 = {
leftToken: E,
leftOp: f,
feature: c,
rightOp: y,
rightToken: v$1
};
} else n$2 = {
leftToken: E,
leftOp: f,
feature: c,
rightOp: y,
rightToken: v$1
};
else (void 0 === E && void 0 === f && void 0 !== y && void 0 !== v$1 || void 0 !== E && void 0 !== f && void 0 === y && void 0 === v$1) && (n$2 = {
leftToken: E,
leftOp: f,
feature: c,
rightOp: y,
rightToken: v$1
});
return null != n$2 ? n$2 : {
errid: "INVALID_RANGE",
start: e$4[0].start,
end: l$1.end
};
}
return {
errid: "INVALID_RANGE",
start: e$4[0].start,
end: l$1.end
};
};
//#endregion
//#region node_modules/.pnpm/media-query-parser@3.0.0-beta.1/node_modules/media-query-parser/dist/flatten/flatten.js
const flattenMediaQueryList = (e$4) => ({
type: "query-list",
mediaQueries: e$4.mediaQueries.map((e$5) => flattenMediaQuery(e$5))
});
const flattenMediaQuery = (e$4) => e$4.mediaCondition ? {
type: "query",
prefix: e$4.prefix,
mediaType: e$4.mediaType,
mediaCondition: flattenMediaCondition(e$4.mediaCondition)
} : e$4;
const flattenMediaCondition = (e$4) => {
const o$2 = [];
for (const t$2 of e$4.children) if ("condition" === t$2.type) {
const i$2 = flattenMediaCondition(t$2);
void 0 === i$2.operator && 1 === i$2.children.length ? o$2.push(i$2.children[0]) : i$2.operator !== e$4.operator || "and" !== i$2.operator && "or" !== i$2.operator ? o$2.push(i$2) : o$2.push(...i$2.children);
} else o$2.push(t$2);
if (1 === o$2.length) {
const t$2 = o$2[0];
if ("condition" === t$2.type) {
if (void 0 === e$4.operator) return t$2;
if ("not" === e$4.operator && "not" === t$2.operator) return {
type: "condition",
children: t$2.children
};
}
}
return {
type: "condition",
operator: e$4.operator,
children: o$2
};
};
//#endregion
//#region node_modules/.pnpm/media-query-parser@3.0.0-beta.1/node_modules/media-query-parser/dist/internals.js
const invertParserError = (e$4) => {
const t$2 = [e$4];
for (let d = e$4.child; void 0 !== d; d = d.child) t$2.push(d);
for (let e$5 = t$2.length - 2; e$5 >= 0; e$5--) t$2[e$5 + 1].child = t$2.at(e$5);
return delete t$2[0].child, t$2.at(-1);
};
const deleteUndefinedValues = (e$4) => {
switch (e$4.type) {
case "query-list":
for (const t$2 of e$4.mediaQueries) deleteUndefinedValues(t$2);
return e$4;
case "query": return void 0 === e$4.prefix && delete e$4.prefix, void 0 === e$4.mediaType && delete e$4.mediaType, void 0 === e$4.mediaCondition ? delete e$4.mediaCondition : deleteUndefinedValues(e$4.mediaCondition), e$4;
case "condition":
void 0 === e$4.operator && delete e$4.operator;
for (const t$2 of e$4.children) deleteUndefinedValues(t$2);
return e$4;
case "feature": return "value" === e$4.context ? (void 0 === e$4.prefix && delete e$4.prefix, deleteUndefinedValues(e$4.value)) : "range" === e$4.context && (void 0 === e$4.range.leftOp && delete e$4.range.leftOp, void 0 === e$4.range.rightOp && delete e$4.range.rightOp, void 0 === e$4.range.leftToken ? delete e$4.range.leftToken : deleteUndefinedValues(e$4.range.leftToken), void 0 === e$4.range.rightToken ? delete e$4.range.rightToken : deleteUndefinedValues(e$4.range.rightToken)), e$4;
default: return e$4;
}
};
//#endregion
//#region node_modules/.pnpm/media-query-parser@3.0.0-beta.1/node_modules/media-query-parser/dist/lexer/codepoints.js
let e$3;
const readCodepoints = (s$1) => {
const t$2 = (() => {
let s$2;
return e$3 ? s$2 = e$3 : (s$2 = new TextEncoder(), e$3 = s$2), s$2;
})().encode(s$1), r$2 = [], a$1 = t$2.length;
for (let e$4 = 0; e$4 < a$1; e$4 += 1) {
const s$2 = t$2.at(e$4);
if (s$2 < 128) switch (s$2) {
case 0:
r$2.push(65533);
break;
case 12:
r$2.push(10);
break;
case 13:
r$2.push(10), 10 === t$2.at(e$4 + 1) && (e$4 += 1);
break;
default: r$2.push(s$2);
}
else s$2 < 224 ? r$2.push(s$2 << 59 >>> 53 | t$2[++e$4] << 58 >>> 58) : s$2 < 240 ? r$2.push(s$2 << 60 >>> 48 | t$2[++e$4] << 58 >>> 52 | t$2[++e$4] << 58 >>> 58) : r$2.push(s$2 << 61 >>> 43 | t$2[++e$4] << 58 >>> 46 | t$2[++e$4] << 58 >>> 52 | t$2[++e$4] << 58 >>> 58);
}
return r$2;
};
//#endregion
//#region node_modules/.pnpm/media-query-parser@3.0.0-beta.1/node_modules/media-query-parser/dist/lexer/process.js
const convertToParserTokens = (e$4) => {
const t$2 = [];
let r$2 = !1;
for (const s$1 of e$4) switch (s$1.type) {
case "{": return {
errid: "NO_LCURLY",
start: s$1.start,
end: s$1.end
};
case "semicolon": return {
errid: "NO_SEMICOLON",
start: s$1.start,
end: s$1.end
};
case "whitespace":
r$2 = !0, t$2.length > 0 && (t$2[t$2.length - 1].hasSpaceAfter = !0);
break;
case "EOF": break;
default: t$2.push({
...s$1,
hasSpaceBefore: r$2,
hasSpaceAfter: !1
}), r$2 = !1;
}
return t$2;
};
//#endregion
//#region node_modules/.pnpm/media-query-parser@3.0.0-beta.1/node_modules/media-query-parser/dist/lexer/tokens.js
const e$2 = 10, t$1 = 32, n = 45, s = 48, u = 57, r$1 = 65, o$1 = 92, l = 97, i$1 = 122, a = 128;
const 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 e$4 = f.at(c); void 0 !== e$4; e$4 = f.at(++c)) if (42 === e$4 && 47 === f.at(c + 1)) {
c += 1;
break;
}
} else if (9 === d || d === t$1 || d === e$2) {
let n$1 = f.at(++c);
for (; 9 === n$1 || n$1 === t$1 || n$1 === e$2;) n$1 = f.at(++c);
c -= 1;
const s$1 = p.at(-1);
"whitespace" === (null == s$1 ? void 0 : s$1.type) ? (p.pop(), p.push({
type: "whitespace",
start: s$1.start,
end: c
})) : p.push({
type: "whitespace",
start: h,
end: c
});
} else if (34 === d) {
const e$4 = consumeString(f, c);
if (null === e$4) return {
errid: "INVALID_STRING",
start: c,
end: c
};
const [t$2, n$1] = e$4;
c = t$2, p.push({
type: "string",
value: n$1,
start: h,
end: c
});
} else if (35 === d) {
if (c + 1 < f.length) {
const t$2 = f.at(c + 1);
if (95 === t$2 || t$2 >= r$1 && t$2 <= 90 || t$2 >= l && t$2 <= i$1 || t$2 >= a || t$2 >= s && t$2 <= u || t$2 === o$1 && c + 2 < f.length && f.at(c + 2) !== e$2) {
const e$4 = wouldStartIdentifier(f, c + 1) ? "id" : "unrestricted", t$3 = consumeIdentUnsafe(f, c + 1);
if (null !== t$3) {
const [n$1, s$1] = t$3;
c = n$1, p.push({
type: "hash",
value: s$1.toLowerCase(),
flag: e$4,
start: h,
end: c
});
continue;
}
}
}
p.push({
type: "delim",
value: d,
start: h,
end: c
});
} else if (39 === d) {
const e$4 = consumeString(f, c);
if (null === e$4) return {
errid: "INVALID_STRING",
start: c,
end: c
};
const [t$2, n$1] = e$4;
c = t$2, p.push({
type: "string",
value: n$1,
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 e$4 = consumeNumeric(f, c);
if (null === e$4) p.push({
type: "delim",
value: d,
start: h,
end: c
});
else {
const [t$2, n$1] = e$4;
c = t$2, "dimension" === n$1[0] ? p.push({
type: "dimension",
value: n$1[1],
unit: n$1[2].toLowerCase(),
flag: "number",
start: h,
end: c
}) : "number" === n$1[0] ? p.push({
type: n$1[0],
value: n$1[1],
flag: n$1[2],
start: h,
end: c
}) : p.push({
type: n$1[0],
value: n$1[1],
flag: "number",
start: h,
end: c
});
}
} else if (44 === d) p.push({
type: "comma",
start: h,
end: c
});
else if (d === n) {
const e$4 = consumeNumeric(f, c);
if (null !== e$4) {
const [t$3, n$1] = e$4;
c = t$3, "dimension" === n$1[0] ? p.push({
type: "dimension",
value: n$1[1],
unit: n$1[2].toLowerCase(),
flag: "number",
start: h,
end: c
}) : "number" === n$1[0] ? p.push({
type: n$1[0],
value: n$1[1],
flag: n$1[2],
start: h,
end: c
}) : p.push({
type: n$1[0],
value: n$1[1],
flag: "number",
start: h,
end: c
});
continue;
}
if (c + 2 < f.length) {
const e$5 = f.at(c + 1), t$3 = f.at(c + 2);
if (e$5 === n && 62 === t$3) {
c += 2, p.push({
type: "CDC",
start: h,
end: c
});
continue;
}
}
const t$2 = consumeIdentLike(f, c);
if (null !== t$2) {
const [e$5, n$1, s$1] = t$2;
c = e$5, p.push({
type: s$1,
value: n$1,
start: h,
end: c
});
continue;
}
p.push({
type: "delim",
value: d,
start: h,
end: c
});
} else if (46 === d) {
const e$4 = consumeNumeric(f, c);
if (null !== e$4) {
const [t$2, n$1] = e$4;
c = t$2, "dimension" === n$1[0] ? p.push({
type: "dimension",
value: n$1[1],
unit: n$1[2].toLowerCase(),
flag: "number",
start: h,
end: c
}) : "number" === n$1[0] ? p.push({
type: n$1[0],
value: n$1[1],
flag: n$1[2],
start: h,
end: c
}) : p.push({
type: n$1[0],
value: n$1[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 e$4 = f.at(c + 1), t$2 = f.at(c + 2), s$1 = f.at(c + 3);
if (33 === e$4 && t$2 === n && s$1 === 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 e$4 = consumeIdent(f, c + 1);
if (null !== e$4) {
const [t$2, n$1] = e$4;
c = t$2, p.push({
type: "at-keyword",
value: n$1.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 e$4 = consumeNumeric(f, c), [t$2, n$1] = e$4;
c = t$2, "dimension" === n$1[0] ? p.push({
type: "dimension",
value: n$1[1],
unit: n$1[2].toLowerCase(),
flag: "number",
start: h,
end: c
}) : "number" === n$1[0] ? p.push({
type: n$1[0],
value: n$1[1],
flag: n$1[2],
start: h,
end: c
}) : p.push({
type: n$1[0],
value: n$1[1],
flag: "number",
start: h,
end: c
});
} else if (95 === d || d >= r$1 && d <= 90 || d >= l && d <= i$1 || d >= a || d === o$1) {
const e$4 = consumeIdentLike(f, c);
if (null === e$4) p.push({
type: "delim",
value: d,
start: h,
end: c
});
else {
const [t$2, n$1, s$1] = e$4;
c = t$2, p.push({
type: s$1,
value: n$1,
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;
};
const consumeString = (t$2, n$1) => {
if (t$2.length <= n$1 + 1) return null;
const s$1 = t$2.at(n$1), u$1 = [];
for (let r$2 = n$1 + 1; r$2 < t$2.length; r$2 += 1) {
const n$2 = t$2.at(r$2);
if (n$2 === s$1) return [r$2, String.fromCodePoint(...u$1)];
if (n$2 === o$1) {
const e$4 = consumeEscape(t$2, r$2);
if (null === e$4) return null;
const [n$3, s$2] = e$4;
u$1.push(s$2), r$2 = n$3;
} else {
if (n$2 === e$2) return null;
u$1.push(n$2);
}
}
return null;
};
const wouldStartIdentifier = (t$2, s$1) => {
const u$1 = t$2.at(s$1);
if (void 0 === u$1) return !1;
if (u$1 === n) {
const u$2 = t$2.at(s$1 + 1);
if (void 0 === u$2) return !1;
if (u$2 === n || 95 === u$2 || u$2 >= r$1 && u$2 <= 90 || u$2 >= l && u$2 <= i$1 || u$2 >= a) return !0;
if (u$2 === o$1) {
if (t$2.length <= s$1 + 2) return !1;
return t$2.at(s$1 + 2) !== e$2;
}
return !1;
}
if (95 === u$1 || u$1 >= r$1 && u$1 <= 90 || u$1 >= l && u$1 <= i$1 || u$1 >= a) return !0;
if (u$1 === o$1) {
if (t$2.length <= s$1 + 1) return !1;
return t$2.at(s$1 + 1) !== e$2;
}
return !1;
};
const consumeEscape = (n$1, i$2) => {
if (n$1.length <= i$2 + 1) return null;
if (n$1.at(i$2) !== o$1) return null;
const a$1 = n$1.at(i$2 + 1);
if (a$1 === e$2) return null;
if (a$1 >= s && a$1 <= u || a$1 >= r$1 && a$1 <= 70 || a$1 >= l && a$1 <= 102) {
const o$2 = [a$1], f = Math.min(i$2 + 7, n$1.length);
let c = i$2 + 2;
for (; c < f; c += 1) {
const e$4 = n$1.at(c);
if (!(e$4 >= s && e$4 <= u || e$4 >= r$1 && e$4 <= 70 || e$4 >= l && e$4 <= 102)) break;
o$2.push(e$4);
}
if (c < n$1.length) {
const s$1 = n$1.at(c);
9 !== s$1 && s$1 !== t$1 && s$1 !== e$2 || (c += 1);
}
return [c - 1, Number.parseInt(String.fromCodePoint(...o$2), 16)];
}
return [i$2 + 1, a$1];
};
const consumeNumeric = (e$4, t$2) => {
const n$1 = consumeNumber(e$4, t$2);
if (null === n$1) return null;
const [s$1, u$1, r$2] = n$1, o$2 = consumeIdent(e$4, s$1 + 1);
if (null !== o$2) {
const [e$5, t$3] = o$2;
return [e$5, [
"dimension",
u$1,
t$3
]];
}
return s$1 + 1 < e$4.length && 37 === e$4.at(s$1 + 1) ? [s$1 + 1, ["percentage", u$1]] : [s$1, [
"number",
u$1,
r$2
]];
};
const consumeNumber = (e$4, t$2) => {
const r$2 = e$4.at(t$2);
if (void 0 === r$2) return null;
let o$2 = "integer";
const l$1 = [];
for (43 !== r$2 && r$2 !== n || (t$2 += 1, r$2 === n && l$1.push(n)); t$2 < e$4.length;) {
const n$1 = e$4.at(t$2);
if (!(n$1 >= s && n$1 <= u)) break;
l$1.push(n$1), t$2 += 1;
}
if (t$2 + 1 < e$4.length) {
const n$1 = e$4.at(t$2), r$3 = e$4.at(t$2 + 1);
if (46 === n$1 && r$3 >= s && r$3 <= u) for (l$1.push(n$1, r$3), o$2 = "number", t$2 += 2; t$2 < e$4.length;) {
const n$2 = e$4.at(t$2);
if (!(n$2 >= s && n$2 <= u)) break;
l$1.push(n$2), t$2 += 1;
}
}
if (t$2 + 1 < e$4.length) {
const r$3 = e$4.at(t$2), i$3 = e$4.at(t$2 + 1), a$2 = e$4.at(t$2 + 2);
if (69 === r$3 || 101 === r$3) {
let r$4 = !1;
if (i$3 >= s && i$3 <= u ? (l$1.push(69, i$3), t$2 += 2, r$4 = !0) : (i$3 === n || 43 === i$3) && void 0 !== a$2 && a$2 >= s && a$2 <= u && (l$1.push(69), i$3 === n && l$1.push(n), l$1.push(a$2), t$2 += 3, r$4 = !0), r$4) for (o$2 = "number"; t$2 < e$4.length;) {
const n$1 = e$4.at(t$2);
if (!(n$1 >= s && n$1 <= u)) break;
l$1.push(n$1), t$2 += 1;
}
}
}
const i$2 = String.fromCodePoint(...l$1);
let a$1 = "number" === o$2 ? Number.parseFloat(i$2) : Number.parseInt(i$2);
return 0 === a$1 && (a$1 = 0), Number.isNaN(a$1) ? null : [
t$2 - 1,
a$1,
o$2
];
};
const consumeIdentUnsafe = (e$4, t$2) => {
if (e$4.length <= t$2) return null;
const o$2 = [];
for (let f = e$4.at(t$2); t$2 < e$4.length; f = e$4.at(++t$2)) {
if (!(f === n || 95 === f || f >= r$1 && f <= 90 || f >= l && f <= i$1 || f >= a || f >= s && f <= u)) {
{
const n$1 = consumeEscape(e$4, t$2);
if (null !== n$1) {
const [e$5, s$1] = n$1;
o$2.push(s$1), t$2 = e$5;
continue;
}
}
break;
}
o$2.push(f);
}
return 0 === t$2 ? null : [t$2 - 1, String.fromCodePoint(...o$2)];
};
const consumeIdent = (e$4, t$2) => wouldStartIdentifier(e$4, t$2) ? consumeIdentUnsafe(e$4, t$2) : null;
const consumeUrl = (n$1, s$1) => {
let u$1 = n$1.at(s$1);
for (; 9 === u$1 || u$1 === t$1 || u$1 === e$2;) u$1 = n$1.at(++s$1);
const r$2 = [];
let l$1 = !1;
for (; s$1 < n$1.length;) {
if (41 === u$1) return [s$1, String.fromCodePoint(...r$2)];
if (34 === u$1 || 39 === u$1 || 40 === u$1) return null;
if (9 === u$1 || u$1 === t$1 || u$1 === e$2) !l$1 && r$2.length > 0 && (l$1 = !0);
else if (u$1 === o$1) {
const e$4 = consumeEscape(n$1, s$1);
if (null === e$4 || l$1) return null;
const [t$2, u$2] = e$4;
r$2.push(u$2), s$1 = t$2;
} else {
if (l$1) return null;
r$2.push(u$1);
}
u$1 = n$1.at(++s$1);
}
return null;
};
const consumeIdentLike = (n$1, s$1) => {
const u$1 = consumeIdent(n$1, s$1);
if (null === u$1) return null;
const [r$2, o$2] = u$1;
if ("url" === o$2.toLowerCase()) {
if (n$1.length > r$2 + 1) {
if (40 === n$1.at(r$2 + 1)) {
for (let s$2 = 2; r$2 + s$2 < n$1.length; s$2 += 1) {
const u$2 = n$1.at(r$2 + s$2);
if (34 === u$2 || 39 === u$2) return [
r$2 + 1,
o$2.toLowerCase(),
"function"
];
if (9 !== u$2 && u$2 !== t$1 && u$2 !== e$2) {
const e$4 = consumeUrl(n$1, r$2 + s$2);
if (null === e$4) return null;
const [t$2, u$3] = e$4;
return [
t$2,
u$3,
"url"
];
}
}
return [
r$2 + 1,
o$2.toLowerCase(),
"function"
];
}
}
} else if (n$1.length > r$2 + 1) {
if (40 === n$1.at(r$2 + 1)) return [
r$2 + 1,
o$2.toLowerCase(),
"function"
];
}
return [
r$2,
o$2.toLowerCase(),
"ident"
];
};
//#endregion
//#region node_modules/.pnpm/media-query-parser@3.0.0-beta.1/node_modules/media-query-parser/dist/lexer/lexer.js
const lexer = (m) => {
const e$4 = codepointsToTokens(readCodepoints(m));
return isParserError$1(e$4) ? e$4 : convertToParserTokens(e$4);
};
//#endregion
//#region node_modules/.pnpm/media-query-parser@3.0.0-beta.1/node_modules/media-query-parser/dist/utils.js
const isParserError = (r$2) => "object" == typeof r$2 && null !== r$2 && "errid" in r$2;
//#endregion
//#region node_modules/.pnpm/media-query-parser@3.0.0-beta.1/node_modules/media-query-parser/dist/index.js
const parseMediaQueryList = (t$2) => {
const e$4 = lexer(t$2);
return isParserError(e$4) ? invertParserError(e$4) : deleteUndefinedValues(flattenMediaQueryList(readMediaQueryList(e$4)));
};
//#endregion
//#region node_modules/.pnpm/media-query-fns@2.1.2/node_modules/media-query-fns/dist/helpers.js
const 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
}
};
const RANGE_NUMBER_FEATURES = {
color: {
feature: "color",
type: "integer",
bounds: [
!0,
0,
Infinity,
!1
]
},
"color-index": {
feature: "color-index",
type: "integer",
bounds: [
!0,
0,
Infinity,
!1
]
},
monochrome: {
feature: "monochrome",
type: "integer",
bounds: [
!0,
0,
Infinity,
!1
]
},
"device-height": {
feature: "device-height",
type: "length",
bounds: [
!0,
0,
Infinity,
!1
]
},
"device-width": {
feature: "device-width",
type: "length",
bounds: [
!0,
0,
Infinity,
!1
]
},
height: {
feature: "height",
type: "length",
bounds: [
!0,
0,
Infinity,
!1
]
},
width: {
feature: "width",
type: "length",
bounds: [
!0,
0,
Infinity,
!1
]
},
resolution: {
feature: "resolution",
type: "resolution",
bounds: [
!0,
0,
Infinity,
!1
]
},
"horizontal-viewport-segments": {
feature: "horizontal-viewport-segments",
type: "integer",
bounds: [
!0,
0,
Infinity,
!1
]
},
"vertical-viewport-segments": {
feature: "vertical-viewport-segments",
type: "integer",
bounds: [
!0,
0,
Infinity,
!1
]
}
};
const RANGE_RATIO_FEATURES = {
"aspect-ratio": {
feature: "aspect-ratio",
type: "ratio",
bounds: [
!1,
[0, 1],
[Infinity, 1],
!1
]
},
"device-aspect-ratio": {
feature: "device-aspect-ratio",
type: "ratio",
bounds: [
!1,
[0, 1],
[Infinity, 1],
!1
]
}
};
const permToConditionPairs = (e$4) => Object.entries(e$4).filter((e$5) => void 0 !== e$5[1]);
const e$1 = new Set(Object.keys(DISCRETE_FEATURES));
const hasDiscreteKey = (t$2) => e$1.has(t$2[0]);
const isDiscreteKey = (t$2) => e$1.has(t$2);
const t = new Set(Object.keys(RANGE_RATIO_FEATURES));
const hasRangeRatioKey = (e$4) => t.has(e$4[0]);
const isRangeRatioKey = (e$4) => t.has(e$4);
const o = new Set(Object.keys(RANGE_NUMBER_FEATURES));
const hasRangeNumberKey = (e$4) => o.has(e$4[0]);
const isRangeNumberKey = (e$4) => o.has(e$4);
const hasRangeKey = (e$4) => hasRangeNumberKey(e$4) || hasRangeRatioKey(e$4);
const isRangeKey = (e$4) => isRangeNumberKey(e$4) || isRangeRatioKey(e$4);
const isFeatureKey = (e$4) => isRangeNumberKey(e$4) || isRangeRatioKey(e$4) || isDiscreteKey(e$4);
const attachPair = (e$4, t$2) => {
e$4[t$2[0]] = t$2[1];
};
const andRanges = (...e$4) => e$4.reduce((e$5, t$2) => "{true}" === e$5 ? t$2 : "{true}" === t$2 ? e$5 : "{false}" === e$5 || "{false}" === t$2 ? "{false}" : ((e$6, t$3) => {
const [o$2, n$1, r$2, s$1] = e$6, a$1 = "number" == typeof n$1 ? n$1 : n$1[0] / n$1[1], i$2 = "number" == typeof r$2 ? r$2 : r$2[0] / r$2[1], [c, p, u$1, d] = t$3, l$1 = "number" == typeof p ? p : p[0] / p[1], g = "number" == typeof u$1 ? u$1 : u$1[0] / u$1[1];
let f = o$2 !== c && !o$2;
a$1 !== l$1 && (f = a$1 > l$1);
let h = s$1 !== d && !s$1;
i$2 !== g && (h = i$2 < g);
const y = f ? o$2 : c, R = f ? n$1 : p, b = h ? r$2 : u$1, m = h ? s$1 : d;
return R > b || R === b && (!y || !m) ? "{false}" : [
y,
R,
b,
m
];
})(e$5, t$2), "{true}");
const boundRange = (e$4) => {
if (hasRangeRatioKey(e$4)) {
const { bounds: t$2 } = RANGE_RATIO_FEATURES[e$4[0]], o$2 = andRanges(e$4[1], t$2);
if ("string" == typeof o$2) return o$2;
if (o$2[0] === t$2[0] && o$2[1][0] === t$2[1][0] && o$2[1][1] === t$2[1][1] && o$2[2][0] === t$2[2][0] && o$2[2][1] === t$2[2][1] && o$2[3] === t$2[3]) return "{true}";
{
const e$5 = o$2[1][0] / o$2[1][1], t$3 = o$2[2][0] / o$2[2][1];
return e$5 > t$3 || e$5 === t$3 && (!o$2[0] || !o$2[3]) ? "{false}" : o$2;
}
}
{
const { bounds: t$2 } = RANGE_NUMBER_FEATURES[e$4[0]], o$2 = andRanges(e$4[1], t$2);
return "string" == typeof o$2 ? o$2 : o$2[0] === t$2[0] && o$2[1] === t$2[1] && o$2[2] === t$2[2] && o$2[3] === t$2[3] ? "{true}" : o$2[1] > o$2[2] || o$2[1] === o$2[2] && (!o$2[0] || !o$2[3]) ? "{false}" : o$2;
}
};
const notRatioRange = (e$4) => {
if ("string" == typeof e$4[1]) throw new Error("expected range");
const { bounds: t$2 } = RANGE_RATIO_FEATURES[e$4[0]], [o$2, n$1, r$2, s$1] = e$4[1], a$1 = n$1[0] / n$1[1], i$2 = r$2[0] / r$2[1], c = t$2[1][0] / t$2[1][1], p = t$2[0], u$1 = t$2[2][0] / t$2[2][1], d = t$2[3], l$1 = i$2 > u$1 || i$2 === u$1 && !(d && !s$1);
return a$1 < c || a$1 === c && !(p && !o$2) ? l$1 ? "{false}" : [[
!s$1,
r$2,
t$2[2],
t$2[3]
]] : l$1 ? [[
t$2[0],
t$2[1],
n$1,
!o$2
]] : [[
t$2[0],
t$2[1],
n$1,
!o$2
], [
!s$1,
r$2,
t$2[2],
t$2[3]
]];
};
function notNumberRange(e$4) {
if ("string" == typeof e$4[1]) throw new Error("expected range");
const { bounds: t$2 } = RANGE_NUMBER_FEATURES[e$4[0]], [o$2, n$1, r$2, s$1] = e$4[1], a$1 = t$2[1], i$2 = t$2[0], c = t$2[2], p = t$2[3], u$1 = r$2 > c || r$2 === c && !(p && !s$1);
return n$1 < a$1 || n$1 === a$1 && !(i$2 && !o$2) ? u$1 ? "{false}" : [[
!s$1,
r$2,
t$2[2],
t$2[3]
]] : u$1 ? [[
t$2[0],
t$2[1],
n$1,
!o$2
]] : [[
t$2[0],
t$2[1],
n$1,
!o$2
], [
!s$1,
r$2,
t$2[2],
t$2[3]
]];
}
//#endregion
//#region node_modules/.pnpm/media-query-fns@2.1.2/node_modules/media-query-fns/dist/units.js
const i = {
widthPx: 1920,
heightPx: 1080,
writingMode: "horizontal-tb",
emPx: 16,
lhPx: 16,
exPx: 8,
chPx: 8,
capPx: 11,
icPx: 16
};
const convertToUnit = (e$4, t$2) => {
if ("number" === e$4.type) return {
type: "number",
value: e$4.value
};
if ("dimension" === e$4.type) {
let n$1;
switch (e$4.unit) {
case "s":
case "ms":
n$1 = "time";
break;
case "hz":
case "khz":
n$1 = "frequency";
break;
case "dpi":
case "dpcm":
case "dppx":
case "x":
n$1 = "resolution";
break;
default: n$1 = "length";
}
if ("px" === e$4.unit) return {
type: "dimension",
subtype: "length",
px: e$4.value
};
if ("time" === n$1) return {
type: "dimension",
subtype: "time",
ms: "s" === e$4.unit ? Math.round(1e3 * e$4.value) : e$4.value
};
if ("frequency" === n$1) return {
type: "dimension",
subtype: "frequency",
hz: "khz" === e$4.unit ? Math.round(1e3 * e$4.value) : e$4.value
};
if ("resolution" === n$1) {
let t$3 = e$4.value;
return "dpi" === e$4.unit ? t$3 = Number.parseFloat((.0104166667 * e$4.value).toFixed(3)) : "dpcm" === e$4.unit && (t$3 = Number.parseFloat((.0264583333 * e$4.value).toFixed(3))), {
type: "dimension",
subtype: "resolution",
dppx: t$3
};
}
if (e$4.unit in t$2) {
const n$2 = t$2[e$4.unit];
return {
type: "dimension",
subtype: "length",
px: Number.parseFloat((e$4.value * n$2).toFixed(3))
};
}
return {
type: "ident",
value: "{never}"
};
}
return "ident" === e$4.type ? "infinite" === e$4.value ? { type: "infinite" } : {
type: "ident",
value: e$4.value
} : {
type: "ratio",
numerator: e$4.numerator,
denominator: e$4.denominator
};
};
const compileStaticUnitConversions = (e$4) => {
let t$2 = {};
"number" == typeof e$4.emPx && (t$2 = {
exPx: Math.round(.5 * e$4.emPx),
chPx: Math.round(.5 * e$4.emPx),
capPx: Math.round(.7 * e$4.emPx),
icPx: Math.round(e$4.emPx)
});
const n$1 = {
...i,
...t$2,
...e$4
}, { widthPx: r$2, heightPx: o$2, writingMode: a$1, emPx: u$1, lhPx: p, exPx: l$1, chPx: m, capPx: s$1, icPx: v$1 } = n$1, f = r$2 / 100, c = o$2 / 100;
return {
em: u$1,
rem: u$1,
lh: p,
rlh: p,
ex: l$1,
ch: m,
cap: s$1,
ic: v$1,
vw: f,
vh: c,
vmin: Math.min(c, f),
vmax: Math.max(c, f),
vi: "horizontal-tb" === a$1 ? f : c,
vb: "horizontal-tb" === a$1 ? c : f,
cm: 37.79527559,
mm: .03779527559,
in: 96,
q: .009448818898,
pc: 16,
pt: 16
};
};
const r = {
"<": ">",
"<=": ">=",
">": "<",
">=": "<="
};
const simplifyMediaFeature = (n$1, i$2) => {
if ("range" === n$1.context) {
if (isRangeKey(n$1.feature)) {
const { range: e$4, feature: t$2 } = n$1;
return void 0 !== e$4.leftToken && void 0 !== e$4.rightToken ? "<" === e$4.leftOp || "<=" === e$4.leftOp ? {
type: "double",
name: t$2,
minOp: e$4.leftOp,
min: convertToUnit(e$4.leftToken, i$2),
maxOp: e$4.rightOp,
max: convertToUnit(e$4.rightToken, i$2)
} : {
type: "double",
name: t$2,
minOp: ">" === e$4.rightOp ? "<" : "<=",
min: convertToUnit(e$4.rightToken, i$2),
maxOp: ">" === e$4.leftOp ? "<" : "<=",
max: convertToUnit(e$4.leftToken, i$2)
} : void 0 === e$4.rightToken ? "=" === e$4.leftOp ? {
type: "equals",
name: t$2,
value: convertToUnit(e$4.leftToken, i$2)
} : {
type: "single",
name: t$2,
op: r[e$4.leftOp],
value: convertToUnit(e$4.leftToken, i$2)
} : "=" === e$4.rightOp ? {
type: "equals",
name: t$2,
value: convertToUnit(e$4.rightToken, i$2)
} : {
type: "single",
name: t$2,
op: e$4.rightOp,
value: convertToUnit(e$4.rightToken, i$2)
};
}
} else if ("value" === n$1.context) {
if ("orientation" === n$1.feature) {
if (void 0 === n$1.prefix && "ident" === n$1.value.type) {
if ("portrait" === n$1.value.value) return {
type: "single",
name: "aspect-ratio",
op: "<=",
value: {
type: "ratio",
numerator: 1,
denominator: 1
}
};
if ("landscape" === n$1.value.value) return {
type: "single",
name: "aspect-ratio",
op: ">=",
value: {
type: "ratio",
numerator: 1,
denominator: 1
}
};
}
} else if (isFeatureKey(n$1.feature)) {
if (void 0 === n$1.prefix) return {
type: "equals",
name: n$1.feature,
value: convertToUnit(n$1.value, i$2)
};
if (isRangeKey(n$1.feature)) return "min" === n$1.prefix ? {
type: "single",
name: n$1.feature,
op: ">=",
value: convertToUnit(n$1.value, i$2)
} : {
type: "single",
name: n$1.feature,
op: "<=",
value: convertToUnit(n$1.value, i$2)
};
}
} else {
if ("orientation" === n$1.feature) return {
type: "double",
name: "aspect-ratio",
min: {
type: "ratio",
numerator: 0,
denominator: 1
},
minOp: "<",
maxOp: "<",
max: {
type: "ratio",
numerator: Number.POSITIVE_INFINITY,
denominator: 1
}
};
if (isFeatureKey(n$1.feature)) return {
type: "boolean",
name: n$1.feature
};
}
return {
type: "invalid",
name: n$1.feature
};
};
const getRatio = (e$4) => "number" === e$4.type && e$4.value > 0 ? [e$4.value, 1] : "ratio" === e$4.type ? [e$4.numerator, e$4.denominator] : null;
const getValue = (e$4, t$2, i$2) => {
const r$2 = RANGE_NUMBER_FEATURES[t$2];
if ("infinite" === e$4.type) {
if ("resolution" === t$2) return Number.POSITIVE_INFINITY;
} else if ("integer" === r$2.type) {
if ("number" === e$4.type && Number.isInteger(e$4.value)) return e$4.value;
} else if ("resolution" === r$2.type) {
if ("dimension" === e$4.type && "resolution" === e$4.subtype) return e$4.dppx;
} else if ("length" === r$2.type) {
if ("dimension" === e$4.type && "length" === e$4.subtype) return e$4.px;
if ("number" === e$4.type && (0 === e$4.value || i$2.shouldAllowNonZeroUnitlessPxLengths)) return e$4.value;
}
return null;
};
//#endregion
//#region node_modules/.pnpm/media-query-fns@2.1.2/node_modules/media-query-fns/dist/compile.js
const v = { shouldAllowNonZeroUnitlessPxLengths: !1 };
const andPerms = (e$4, r$2) => {
const t$2 = [];
for (const o$2 of e$4) for (const e$5 of r$2) {
const r$3 = mergePerms(o$2, e$5);
Object.keys(r$3).length > 0 && t$2.push(r$3);
}
return t$2;
};
const mergePerms = (e$4, r$2) => {
const a$1 = {};
for (const r$3 of permToConditionPairs(e$4)) void 0 !== r$3[1] && attachPair(a$1, r$3);
for (const e$5 of permToConditionPairs(r$2)) if (e$5[0] in a$1) {
if (void 0 !== a$1[e$5[0]]) {
const r$3 = a$1;
if ("media-type" === e$5[0]);
else if ("invalid-features" === e$5[0]) r$3[e$5[0]].push(...e$5[1]);
else if ("{false}" === r$3[e$5[0]] || "{false}" === e$5[1]) r$3[e$5[0]] = "{false}";
else if ("{true}" === r$3[e$5[0]]) attachPair(r$3, e$5);
else if ("{true}" === e$5[1]);
else {
const r$4 = a$1;
hasRangeNumberKey(e$5) || hasRangeRatioKey(e$5) ? attachPair(r$4, [e$5[0], andRanges(r$4[e$5[0]], e$5[1])]) : "color-gamut" === e$5[0] || "video-color-gamut" === e$5[0] ? r$4[e$5[0]] = [
r$4[e$5[0]][0] && e$5[1][0],
r$4[e$5[0]][1] && e$5[1][1],
r$4[e$5[0]][2] && e$5[1][2],
r$4[e$5[0]][3] && e$5[1][3]
] : attachPair(r$4, [e$5[0], r$4[e$5[0]] === e$5[1] ? r$4[e$5[0]] : "{false}"]);
}
}
} else attachPair(a$1, e$5);
return a$1;
};
const notPerms = (e$4) => e$4.map((e$5) => invertPerm(e$5)).reduce((e$5, r$2) => andPerms(e$5, r$2));
const invertPerm = (e$4) => {
const r$2 = permToConditionPairs(e$4), o$2 = [];
for (const e$5 of r$2) if (void 0 !== e$5[1]) {
let r$3, t$2;
if ("invalid-features" === e$5[0]) return [{ [e$5[0]]: e$5[1] }];
if ("media-type" === e$5[0]) continue;
if (r$3 = e$5, "{false}" === e$5[1]) t$2 = [[e$5[0], "{true}"]];
else if ("{true}" === e$5[1]) t$2 = [[e$5[0], "{false}"]];
else if (hasDiscreteKey(e$5)) if ("color-gamut" === e$5[0]) {
const r$4 = e$5[1];
t$2 = [["color-gamut", [
!r$4[0],
!r$4[1],
!r$4[2],
!r$4[3]
]]];
} else t$2 = "grid" === e$5[0] ? [["grid", 0 === e$5[1] ? 1 : 0]] : Object.keys(DISCRETE_FEATURES[e$5[0]]).filter((r$4) => r$4 !== e$5[1]).map((r$4) => [e$5[0], r$4]);
else if (hasRangeRatioKey(e$5)) {
const r$4 = notRatioRange(e$5);
t$2 = ("{false}" === r$4 ? ["{false}"] : r$4).map((r$5) => [e$5[0], r$5]);
} else {
const r$4 = notNumberRange(e$5);
t$2 = ("{false}" === r$4 ? ["{false}"] : r$4).map((r$5) => [e$5[0], r$5]);
}
o$2.push([r$3, t$2]);
}
const s$1 = [];
for (const [, e$5] of o$2) for (const r$3 of e$5) s$1.push({ [r$3[0]]: r$3[1] });
return s$1;
};
const mediaFeatureToPerms = (e$4, r$2, t$2 = v) => {
const o$2 = simplifyMediaFeature(e$4, r$2), n$1 = [{ "invalid-features": [e$4.feature] }];
if ("invalid" === o$2.type) return n$1;
if ("boolean" === o$2.type) return "color-gamut" === o$2.name ? [{ "color-gamut": [
!1,
!0,
!0,
!0
] }] : "grid" === o$2.name ? [{ grid: 1 }] : isDiscreteKey(o$2.name) ? invertPerm({ [o$2.name]: "none" }) : isRangeRatioKey(o$2.name) ? [{ [o$2.name]: [
!1,
[0, 1],
[Number.POSITIVE_INFINITY, 1],
!0
] }] : [{ [o$2.name]: [
!1,
0,
Number.POSITIVE_INFINITY,
!0
] }];
if (isDiscreteKey(o$2.name)) {
if ("equals" === o$2.type) {
const e$5 = o$2.value;
if ("grid" === o$2.name) {
if ("number" === e$5.type && (0 === e$5.value || 1 === e$5.value)) return [{ grid: e$5.value }];
} else if ("ident" === e$5.type && e$5.value in DISCRETE_FEATURES[o$2.name]) {
if ("color-gamut" !== o$2.name) return [{ [o$2.name]: e$5.value }];
{
const r$3 = [
"srgb",
"p3",
"rec2020"
].indexOf(e$5.value);
if (-1 !== r$3) return [{ "color-gamut": [
!1,
r$3 <= 0,
r$3 <= 1,
r$3 <= 2
] }];
}
}
}
return n$1;
}
if (isRangeRatioKey(o$2.name)) {
let e$5 = null;
if ("equals" === o$2.type) {
const r$3 = getRatio(o$2.value);
null !== r$3 && (e$5 = [
!0,
r$3,
r$3,
!0
]);
} else if ("single" === o$2.type) {
const r$3 = getRatio(o$2.value);
null !== r$3 && (e$5 = "<" === o$2.op ? [
!0,
[Number.NEGATIVE_INFINITY, 1],
r$3,
!1
] : "<=" === o$2.op ? [
!0,
[Number.NEGATIVE_INFINITY, 1],
r$3,
!0
] : ">" === o$2.op ? [
!1,
r$3,
[Number.POSITIVE_INFINITY, 1],
!0
] : (o$2.op, [
!0,
r$3,
[Number.POSITIVE_INFINITY, 1],
!0
]));
} else if ("double" === o$2.type) {
const r$3 = getRatio(o$2.min), t$3 = getRatio(o$2.max);
null !== r$3 && null !== t$3 && (e$5 = [
"<=" === o$2.minOp || ">=" === o$2.minOp,
r$3,
t$3,
"<=" === o$2.maxOp || ">=" === o$2.maxOp
]);
}
return null === e$5 ? n$1 : [{ [o$2.name]: boundRange([o$2.name, e$5]) }];
}
{
let e$5 = null;
if ("equals" === o$2.type) {
const r$3 = getValue(o$2.value, o$2.name, t$2);
null !== r$3 && (e$5 = [
!0,
r$3,
r$3,
!0
]);
} else if ("single" === o$2.type) {
const r$3 = getValue(o$2.value, o$2.name, t$2);
null !== r$3 && (e$5 = "<" === o$2.op ? [
!0,
Number.NEGATIVE_INFINITY,
r$3,
!1
] : "<=" === o$2.op ? [
!0,
Number.NEGATIVE_INFINITY,
r$3,
!0
] : ">" === o$2.op ? [
!1,
r$3,
Number.POSITIVE_INFINITY,
!0
] : [
!0,
r$3,
Number.POSITIVE_INFINITY,
!0
]);
} else if ("double" === o$2.type) {
const r$3 = getValue(o$2.min, o$2.name, t$2), n$2 = getValue(o$2.max, o$2.name, t$2);
null !== r$3 && null !== n$2 && (e$5 = [
"<=" === o$2.minOp,
r$3,
n$2,
"<=" === o$2.maxOp
]);
}
return null === e$5 ? n$1 : [{ [o$2.name]: boundRange([o$2.name, e$5]) }];
}
};
const mediaConditionToPerms = (e$4, r$2, t$2 = v) => {
const o$2 = [];
for (const n$1 of e$4.children) "context" in n$1 ? o$2.push(mediaFeatureToPerms(n$1, r$2, t$2)) : o$2.push(mediaConditionToPerms(n$1, r$2, t$2));
return "or" === e$4.operator || void 0 === e$4.operator ? o$2.flat() : "and" === e$4.operator ? o$2.reduce((e$5, r$3) => andPerms(e$5, r$3)) : notPerms(o$2[0]);
};
const simplifyPerms = (e$4) => {
const r$2 = [], o$2 = /* @__PURE__ */ new Set(), n$1 = /* @__PURE__ */ new Set();
for (const i$2 of e$4) {
let e$5 = !1;
if (Array.isArray(i$2["invalid-features"]) && i$2["invalid-features"].length > 0) {
for (const e$6 of i$2["invalid-features"]) o$2.add(e$6);
e$5 = !0;
}
const a$1 = {};
for (const r$3 of permToConditionPairs(i$2)) if ("invalid-features" !== r$3[0]) {
if ("color-gamut" === r$3[0]) {
const e$6 = r$3[1].toString();
"false,false,false,false" === e$6 ? r$3[1] = "{false}" : "true,true,true,true" === e$6 && (r$3[1] = "{true}");
} else hasRangeKey(r$3) && (r$3[1] = boundRange(r$3));
"{false}" === r$3[1] ? (n$1.add(r$3[0]), e$5 = !0) : "{true}" === r$3[1] || "media-type" === r$3[0] && "all" === r$3[1] || attachPair(a$1, r$3);
}
e$5 || r$2.pu