UNPKG

mock-match-media

Version:

mock window.matchMedia for tests or node

1,934 lines (1,922 loc) 68.4 kB
//#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