@weapp-tailwindcss/postcss 3.1.10 → 3.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -10646,6 +10646,161 @@ function protectDynamicColorMixAlpha(css, options = {}) {
10646
10646
  };
10647
10647
  }
10648
10648
  //#endregion
10649
+ //#region src/compat/mini-program-css/cascade-layers.ts
10650
+ const LAYER_PATH_SEPARATOR = "";
10651
+ const LAYER_INSERTION_ANCHOR = "__weapp_tailwindcss_layer_anchor__";
10652
+ function splitLayerNames(params) {
10653
+ return params.split(",").map((name) => name.trim()).filter(Boolean);
10654
+ }
10655
+ function splitLayerPath(name) {
10656
+ return name.split(".").map((segment) => segment.trim()).filter(Boolean);
10657
+ }
10658
+ function createLayerPath(segments) {
10659
+ return {
10660
+ key: segments.join(LAYER_PATH_SEPARATOR),
10661
+ segments
10662
+ };
10663
+ }
10664
+ function isContainer(node) {
10665
+ return "nodes" in node && Array.isArray(node.nodes);
10666
+ }
10667
+ function cloneWrapper(node, children) {
10668
+ const wrapper = node.clone({ nodes: [] });
10669
+ wrapper.append(...children);
10670
+ return wrapper;
10671
+ }
10672
+ function wrapLayerNodes(atRule, nodes, root) {
10673
+ let wrapped = nodes;
10674
+ let parent = atRule.parent;
10675
+ while (parent && parent !== root) {
10676
+ if (parent.type !== "atrule" || parent.name !== "layer") {
10677
+ if (isContainer(parent)) wrapped = [cloneWrapper(parent, wrapped)];
10678
+ }
10679
+ parent = parent.parent;
10680
+ }
10681
+ return wrapped;
10682
+ }
10683
+ function removeEmptyLayerAncestors(node, root) {
10684
+ let parent = node.parent;
10685
+ node.remove();
10686
+ while (parent && parent !== root && parent.type === "atrule" && parent.nodes?.length === 0) {
10687
+ const nextParent = parent.parent;
10688
+ parent.remove();
10689
+ parent = nextParent;
10690
+ }
10691
+ }
10692
+ function isLayerDescendant(candidate, parent) {
10693
+ return candidate.length > parent.length && parent.every((segment, index) => candidate[index] === segment);
10694
+ }
10695
+ function findParentLayerPath(atRule, paths) {
10696
+ let parent = atRule.parent;
10697
+ while (parent) {
10698
+ if (parent.type === "atrule" && parent.name === "layer") return paths.get(parent)?.segments ?? [];
10699
+ parent = parent.parent;
10700
+ }
10701
+ return [];
10702
+ }
10703
+ function createLayerInsertionAnchor(root, atRule) {
10704
+ let topLevelNode = atRule;
10705
+ while (topLevelNode.parent && topLevelNode.parent !== root) topLevelNode = topLevelNode.parent;
10706
+ const anchor = postcss$1.comment({ text: LAYER_INSERTION_ANCHOR });
10707
+ topLevelNode.before(anchor);
10708
+ return anchor;
10709
+ }
10710
+ function insertLayeredNodes(root, anchor, nodes) {
10711
+ if (!anchor.parent) {
10712
+ root.append(nodes);
10713
+ return;
10714
+ }
10715
+ if (nodes.length === 0) {
10716
+ anchor.remove();
10717
+ return;
10718
+ }
10719
+ anchor.replaceWith(nodes);
10720
+ }
10721
+ /**
10722
+ * 按 cascade layer 声明顺序重排规则并移除 `@layer` 语法。
10723
+ *
10724
+ * 该转换只模拟 layer 的顺序语义,不通过提高选择器权重模拟完整 specificity 规则。
10725
+ */
10726
+ function consumeCascadeLayers(root) {
10727
+ const layerAtRules = [];
10728
+ const paths = /* @__PURE__ */ new WeakMap();
10729
+ const siblingOrders = /* @__PURE__ */ new Map();
10730
+ const buckets = /* @__PURE__ */ new Map();
10731
+ const topLayerOccurrences = /* @__PURE__ */ new Map();
10732
+ let anonymousLayerIndex = 0;
10733
+ const registerPath = (segments, occurrence) => {
10734
+ let parentKey = "";
10735
+ for (const [index, segment] of segments.entries()) {
10736
+ let siblings = siblingOrders.get(parentKey);
10737
+ if (!siblings) {
10738
+ siblings = /* @__PURE__ */ new Map();
10739
+ siblingOrders.set(parentKey, siblings);
10740
+ }
10741
+ if (!siblings.has(segment)) siblings.set(segment, siblings.size);
10742
+ if (index === 0 && !topLayerOccurrences.has(segment)) topLayerOccurrences.set(segment, occurrence);
10743
+ parentKey = parentKey ? `${parentKey}${LAYER_PATH_SEPARATOR}${segment}` : segment;
10744
+ }
10745
+ const path = createLayerPath(segments);
10746
+ if (!buckets.has(path.key)) buckets.set(path.key, {
10747
+ ...path,
10748
+ nodes: []
10749
+ });
10750
+ return path;
10751
+ };
10752
+ root.walkAtRules("layer", (atRule) => {
10753
+ layerAtRules.push(atRule);
10754
+ const parentLayer = findParentLayerPath(atRule, paths);
10755
+ const names = splitLayerNames(atRule.params);
10756
+ if (!atRule.nodes) {
10757
+ for (const name of names) registerPath([...parentLayer, ...splitLayerPath(name)], atRule);
10758
+ return;
10759
+ }
10760
+ const ownSegments = names[0] ? splitLayerPath(names[0]) : [`\u0000anonymous-${anonymousLayerIndex++}`];
10761
+ paths.set(atRule, registerPath([...parentLayer, ...ownSegments], atRule));
10762
+ });
10763
+ if (layerAtRules.length === 0) return;
10764
+ const insertionAnchors = /* @__PURE__ */ new Map();
10765
+ for (const [segment, occurrence] of topLayerOccurrences) insertionAnchors.set(segment, createLayerInsertionAnchor(root, occurrence));
10766
+ for (const atRule of [...layerAtRules].reverse()) {
10767
+ if (!atRule.parent) continue;
10768
+ const path = paths.get(atRule);
10769
+ if (!path || !atRule.nodes) {
10770
+ removeEmptyLayerAncestors(atRule, root);
10771
+ continue;
10772
+ }
10773
+ const nodes = atRule.nodes.map((node) => node.clone());
10774
+ if (nodes.length > 0) buckets.get(path.key)?.nodes.unshift(...wrapLayerNodes(atRule, nodes, root));
10775
+ removeEmptyLayerAncestors(atRule, root);
10776
+ }
10777
+ const compareBuckets = (left, right) => {
10778
+ if (isLayerDescendant(left.segments, right.segments)) return -1;
10779
+ if (isLayerDescendant(right.segments, left.segments)) return 1;
10780
+ const size = Math.min(left.segments.length, right.segments.length);
10781
+ let parentKey = "";
10782
+ for (let index = 0; index < size; index++) {
10783
+ const leftSegment = left.segments[index];
10784
+ const rightSegment = right.segments[index];
10785
+ if (leftSegment !== rightSegment) {
10786
+ const siblings = siblingOrders.get(parentKey);
10787
+ return (siblings?.get(leftSegment) ?? 0) - (siblings?.get(rightSegment) ?? 0);
10788
+ }
10789
+ parentKey = parentKey ? `${parentKey}${LAYER_PATH_SEPARATOR}${leftSegment}` : leftSegment;
10790
+ }
10791
+ return left.segments.length - right.segments.length;
10792
+ };
10793
+ const bucketsByTopLayer = /* @__PURE__ */ new Map();
10794
+ for (const bucket of buckets.values()) {
10795
+ const topLayer = bucket.segments[0];
10796
+ if (!topLayer || bucket.nodes.length === 0) continue;
10797
+ const group = bucketsByTopLayer.get(topLayer) ?? [];
10798
+ group.push(bucket);
10799
+ bucketsByTopLayer.set(topLayer, group);
10800
+ }
10801
+ for (const [segment, anchor] of insertionAnchors) insertLayeredNodes(root, anchor, (bucketsByTopLayer.get(segment) ?? []).sort(compareBuckets).flatMap((bucket) => bucket.nodes));
10802
+ }
10803
+ //#endregion
10649
10804
  //#region src/compat/mini-program-css/at-rules.ts
10650
10805
  const MINI_PROGRAM_UNSUPPORTED_AT_RULES = /* @__PURE__ */ new Set(["property", "supports"]);
10651
10806
  function removeAtRulesByScan(css, names) {
@@ -10703,13 +10858,7 @@ function removeUnsupportedAtSupports(css) {
10703
10858
  * 移除小程序不支持的 cascade layer 语法,同时保留 layer 内的实际规则。
10704
10859
  */
10705
10860
  function removeUnsupportedCascadeLayers(root) {
10706
- root.walkAtRules("layer", (atRule) => {
10707
- if (!atRule.nodes || atRule.nodes.length === 0) {
10708
- atRule.remove();
10709
- return;
10710
- }
10711
- atRule.replaceWith(...atRule.nodes);
10712
- });
10861
+ consumeCascadeLayers(root);
10713
10862
  }
10714
10863
  function unwrapUnsupportedCascadeLayers(css) {
10715
10864
  if (!css.includes("@layer")) return css;
@@ -10950,9 +11099,6 @@ function createCssVarNodes(definitions) {
10950
11099
  value: def.value
10951
11100
  }));
10952
11101
  }
10953
- //#endregion
10954
- //#region src/compat/tailwindcss-v4.ts
10955
- const RADIUS_THRESHOLD = 1e5;
10956
11102
  const CLAMP_PX = 9999;
10957
11103
  const INFINITY_CALC_VALUE_REGEXP = /^calc\(\s*infinity\s*\*\s*(?:\d+(?:\.\d*)?|\.\d+)r?px\s*\)$/i;
10958
11104
  const MODERN_CHECK_WEBKIT_HYPHENS_RE = /-webkit-hyphens\s*:\s*none/;
@@ -11063,6 +11209,8 @@ function createMissingCssVarsV4Nodes(root, usedProps) {
11063
11209
  value: def.value
11064
11210
  }));
11065
11211
  }
11212
+ //#endregion
11213
+ //#region src/compat/tailwindcss-v4/gradients.ts
11066
11214
  function collectTailwindcssV4ThemeVariables(root) {
11067
11215
  const variables = /* @__PURE__ */ new Map();
11068
11216
  root.walkRules((rule) => {
@@ -11309,26 +11457,8 @@ function appendTailwindcssV4MiniProgramGradientRules(root) {
11309
11457
  appendGradientCombinations(gradient, positionedFromVariants, positionedViaVariants, positionedToVariants);
11310
11458
  }
11311
11459
  }
11312
- function isTailwindcssV4ModernCheck(atRule) {
11313
- return atRule.name === "supports" && [
11314
- MODERN_CHECK_WEBKIT_HYPHENS_RE,
11315
- MODERN_CHECK_MARGIN_TRIM_RE,
11316
- MODERN_CHECK_MOZ_ORIENT_RE,
11317
- MODERN_CHECK_COLOR_RGB_RE
11318
- ].every((regex) => regex.test(atRule.params));
11319
- }
11320
- function isTailwindcssV4LinearGradientSupports(atRule) {
11321
- return atRule.name === "supports" && LINEAR_GRADIENT_LAB_RE.test(atRule.params);
11322
- }
11323
- function isTailwindcssV4DisplayP3Supports(atRule) {
11324
- return atRule.name === "supports" && DISPLAY_P3_COLOR_RE.test(atRule.params);
11325
- }
11326
- function isTailwindcssV4DisplayP3Media(atRule) {
11327
- return atRule.name === "media" && COLOR_GAMUT_P3_RE$1.test(atRule.params);
11328
- }
11329
- function isTailwindcssV4DisplayP3Declaration(decl) {
11330
- return DISPLAY_P3_VALUE_RE$1.test(decl.value);
11331
- }
11460
+ //#endregion
11461
+ //#region src/compat/tailwindcss-v4/declarations.ts
11332
11462
  function normalizeTailwindcssV4EmptyVarFallback(value) {
11333
11463
  if (!value.includes("var(") || !value.includes("--tw-")) return value;
11334
11464
  const parsed = valueParser(value);
@@ -11460,7 +11590,7 @@ function normalizeTailwindcssV4Declaration(decl) {
11460
11590
  const next = decl.value.replace(RADIUS_VALUE_RE, (m, num) => {
11461
11591
  const n = Number(num);
11462
11592
  if (!Number.isFinite(n)) return `${CLAMP_PX}px`;
11463
- if (SCIENTIFIC_NOTATION_RE.test(String(num)) || n > RADIUS_THRESHOLD) return `${CLAMP_PX}px`;
11593
+ if (SCIENTIFIC_NOTATION_RE.test(String(num)) || n > 1e5) return `${CLAMP_PX}px`;
11464
11594
  return m;
11465
11595
  });
11466
11596
  if (next !== decl.value) {
@@ -11471,6 +11601,28 @@ function normalizeTailwindcssV4Declaration(decl) {
11471
11601
  return changed;
11472
11602
  }
11473
11603
  //#endregion
11604
+ //#region src/compat/tailwindcss-v4/modern-syntax.ts
11605
+ function isTailwindcssV4ModernCheck(atRule) {
11606
+ return atRule.name === "supports" && [
11607
+ MODERN_CHECK_WEBKIT_HYPHENS_RE,
11608
+ MODERN_CHECK_MARGIN_TRIM_RE,
11609
+ MODERN_CHECK_MOZ_ORIENT_RE,
11610
+ MODERN_CHECK_COLOR_RGB_RE
11611
+ ].every((regex) => regex.test(atRule.params));
11612
+ }
11613
+ function isTailwindcssV4LinearGradientSupports(atRule) {
11614
+ return atRule.name === "supports" && LINEAR_GRADIENT_LAB_RE.test(atRule.params);
11615
+ }
11616
+ function isTailwindcssV4DisplayP3Supports(atRule) {
11617
+ return atRule.name === "supports" && DISPLAY_P3_COLOR_RE.test(atRule.params);
11618
+ }
11619
+ function isTailwindcssV4DisplayP3Media(atRule) {
11620
+ return atRule.name === "media" && COLOR_GAMUT_P3_RE$1.test(atRule.params);
11621
+ }
11622
+ function isTailwindcssV4DisplayP3Declaration(decl) {
11623
+ return DISPLAY_P3_VALUE_RE$1.test(decl.value);
11624
+ }
11625
+ //#endregion
11474
11626
  //#region src/compat/mini-program-css/directives.ts
11475
11627
  const TAILWIND_V4_BANNER_RE = /\/\*!\s*tailwindcss v4\./;
11476
11628
  const GENERATOR_PLACEHOLDER_COMMENT_RE = /^\s*(?:!\s*)?weapp-tailwindcss generator-placeholder\s*$/i;
@@ -11929,7 +12081,7 @@ function removeRootSpecificityPlaceholders(root) {
11929
12081
  });
11930
12082
  }
11931
12083
  function isEffectivelyEmptyContainer(container) {
11932
- return !container.nodes || container.nodes.every((node) => node.type === "comment");
12084
+ return container.nodes !== void 0 && container.nodes.every((node) => node.type === "comment");
11933
12085
  }
11934
12086
  function removeEmptyAtRules$2(root) {
11935
12087
  root.walkAtRules((atRule) => {
@@ -12132,260 +12284,6 @@ function finalizeMiniProgramCss(css, options = {}) {
12132
12284
  }
12133
12285
  }
12134
12286
  //#endregion
12135
- //#region src/compat/mini-program-css/prune-generated.ts
12136
- const DEFAULT_WEAPP_VARIABLE_SCOPE = "page,.tw-root,wx-root-portal-content,:host";
12137
- const MINI_PROGRAM_PSEUDO_CONTENT_SCOPE_SELECTOR = "::before,\n::after";
12138
- const CLASS_SELECTOR_RE = /(?:^|[^\w-])\.[_a-z\u00A0-\uFFFF\\-]/i;
12139
- function isConditionalCompilationComment(text) {
12140
- return /#(?:ifn?def|endif)\b/.test(text);
12141
- }
12142
- function hasClassSelector$1(selector) {
12143
- return CLASS_SELECTOR_RE.test(selector);
12144
- }
12145
- function removeEmptyContentInitDeclarations(rule) {
12146
- rule.walkDecls((decl) => {
12147
- if (isEmptyTwContentDeclaration(decl)) decl.remove();
12148
- });
12149
- }
12150
- function isMiniProgramElementVariableScopeRule(rule) {
12151
- const selectors = getRuleSelectors(rule);
12152
- return selectors.length > 0 && selectors.every((selector) => MINI_PROGRAM_ELEMENT_SCOPE_SELECTORS.has(selector));
12153
- }
12154
- function isMiniProgramNativeElementRule(rule) {
12155
- const selectors = getRuleSelectors(rule);
12156
- return selectors.length > 0 && selectors.every((selector) => isMiniProgramNativeElementSelector(selector)) && !isMiniProgramPreflightRule(rule);
12157
- }
12158
- function isOnlyTwContentDeclarations(rule) {
12159
- let hasDeclaration = false;
12160
- let onlyContentVariable = true;
12161
- rule.walkDecls((decl) => {
12162
- hasDeclaration = true;
12163
- if (decl.prop !== "--tw-content") onlyContentVariable = false;
12164
- });
12165
- return hasDeclaration && onlyContentVariable;
12166
- }
12167
- function isMiniProgramElementContentInitRule(rule) {
12168
- if (!isMiniProgramElementVariableScopeRule(rule)) return false;
12169
- let hasElementSelector = false;
12170
- let hasPseudoSelector = false;
12171
- for (const selector of getRuleSelectors(rule)) if (selector === "view" || selector === "text") hasElementSelector = true;
12172
- else if (selector === "::before" || selector === "::after") hasPseudoSelector = true;
12173
- return hasElementSelector && hasPseudoSelector && isOnlyTwContentDeclarations(rule);
12174
- }
12175
- function hasMiniProgramElementContentInit(root) {
12176
- let found = false;
12177
- root.walkRules((rule) => {
12178
- if (!isMiniProgramElementVariableScopeRule(rule)) return;
12179
- rule.walkDecls("--tw-content", (decl) => {
12180
- if (isEmptyTwContentDeclaration(decl)) found = true;
12181
- });
12182
- });
12183
- return found;
12184
- }
12185
- function ensureMiniProgramElementContentInit(root) {
12186
- if (hasMiniProgramElementContentInit(root)) return;
12187
- let defaultScopeRule;
12188
- root.walkRules((rule) => {
12189
- if (rule.selector === "view,text,::after,::before") {
12190
- defaultScopeRule = rule;
12191
- return false;
12192
- }
12193
- });
12194
- const declaration = postcss$1.decl({
12195
- prop: "--tw-content",
12196
- value: "\"\""
12197
- });
12198
- if (defaultScopeRule) {
12199
- defaultScopeRule.append(declaration);
12200
- return;
12201
- }
12202
- root.prepend(postcss$1.rule({
12203
- selector: MINI_PROGRAM_ELEMENT_SCOPE_SELECTOR,
12204
- nodes: [declaration]
12205
- }));
12206
- }
12207
- function isTailwindV4GradientRuntimeDeclaration(decl) {
12208
- return decl.prop.startsWith("--tw-gradient-");
12209
- }
12210
- function moveTailwindV4GradientRuntimeDeclarations(rule) {
12211
- const gradientDeclarations = [];
12212
- rule.walkDecls((decl) => {
12213
- if (isTailwindV4GradientRuntimeDeclaration(decl)) {
12214
- gradientDeclarations.push(decl.clone());
12215
- decl.remove();
12216
- }
12217
- });
12218
- if (gradientDeclarations.length > 0) rule.before(new postcss$1.Rule({
12219
- selector: MINI_PROGRAM_ELEMENT_SCOPE_SELECTOR,
12220
- nodes: gradientDeclarations
12221
- }));
12222
- if (rule.nodes.length === 0) rule.remove();
12223
- }
12224
- function isKeyframesRule(rule) {
12225
- let parent = rule.parent;
12226
- while (parent) {
12227
- if (parent.type === "atrule" && parent.name.endsWith("keyframes")) return true;
12228
- parent = parent.parent;
12229
- }
12230
- return false;
12231
- }
12232
- /**
12233
- * 裁剪 Tailwind 生成 CSS 中面向浏览器的 classless 规则。
12234
- */
12235
- function pruneMiniProgramGeneratedCss(css, options = {}) {
12236
- const root = postcss$1.parse(css);
12237
- const shouldPreserveContentInit = options.preservePreflight || usesTwContentVariable(root);
12238
- root.walkComments((comment) => {
12239
- if (options.preserveConditionalComments && isConditionalCompilationComment(comment.text)) return;
12240
- comment.remove();
12241
- });
12242
- removeUnsupportedCascadeLayers(root);
12243
- removeSpecificityPlaceholders(root);
12244
- removeUnsupportedModernColorDeclarations(root);
12245
- removeTailwindContainerMaxWidthMediaRules(root);
12246
- removeTailwindContainerWidthRules(root);
12247
- root.walkAtRules("supports", (atRule) => {
12248
- atRule.remove();
12249
- });
12250
- root.walkAtRules((atRule) => {
12251
- removeUnsupportedMiniProgramPrefixedAtRule(atRule);
12252
- });
12253
- root.walkDecls((decl) => {
12254
- normalizeMiniProgramPrefixedDeclaration(decl);
12255
- });
12256
- root.walkRules((rule) => {
12257
- if (isKeyframesRule(rule)) return;
12258
- if (isPseudoContentInitRule(rule)) {
12259
- if (!shouldPreserveContentInit) rule.remove();
12260
- return;
12261
- }
12262
- if (isMiniProgramElementContentInitRule(rule)) {
12263
- if (!shouldPreserveContentInit) {
12264
- rule.remove();
12265
- return;
12266
- }
12267
- rule.selector = MINI_PROGRAM_PSEUDO_CONTENT_SCOPE_SELECTOR;
12268
- return;
12269
- }
12270
- if (isCustomPropertyRule(rule) && isMiniProgramElementVariableScopeRule(rule)) {
12271
- rule.selector = MINI_PROGRAM_ELEMENT_SCOPE_SELECTOR;
12272
- return;
12273
- }
12274
- if (isUnsupportedBrowserPreflightSelector(rule.selector)) {
12275
- rule.remove();
12276
- return;
12277
- }
12278
- if (isBrowserElementPreflightRule(rule)) {
12279
- rule.remove();
12280
- return;
12281
- }
12282
- if (isMiniProgramNativeElementRule(rule)) return;
12283
- if (isMiniProgramThemeVariableRule(rule)) {
12284
- moveTailwindV4GradientRuntimeDeclarations(rule);
12285
- if (!rule.parent) return;
12286
- rule.selector = DEFAULT_WEAPP_VARIABLE_SCOPE;
12287
- return;
12288
- }
12289
- if (hasClassSelector$1(rule.selector)) return;
12290
- if (!shouldPreserveContentInit) removeEmptyContentInitDeclarations(rule);
12291
- if (isMiniProgramPreflightRule(rule)) {
12292
- if (options.preservePreflight) return;
12293
- rule.remove();
12294
- return;
12295
- }
12296
- if (isCustomPropertyRule(rule)) {
12297
- moveTailwindV4GradientRuntimeDeclarations(rule);
12298
- if (!rule.parent) return;
12299
- rule.selector = DEFAULT_WEAPP_VARIABLE_SCOPE;
12300
- return;
12301
- }
12302
- rule.remove();
12303
- });
12304
- if (shouldPreserveContentInit) ensureMiniProgramElementContentInit(root);
12305
- root.walkAtRules((atRule) => {
12306
- if (!atRule.nodes || atRule.nodes.length === 0) atRule.remove();
12307
- });
12308
- return root.toString();
12309
- }
12310
- //#endregion
12311
- //#region src/compat/tailwindcss-rpx.ts
12312
- const LENGTH_VALUE_REGEXP = /^[+-]?(?:\d+(?:\.\d+)?|\.\d+)(?:e[+-]?\d+)?rpx$/i;
12313
- const RPX_DIMENSION_REGEXP = /^([+-]?(?:\d+(?:\.\d+)?|\.\d+)(?:e[+-]?\d+)?)rpx$/i;
12314
- const DEFAULT_RPX_TO_REM_ROOT_VALUE = 32;
12315
- const DEFAULT_RPX_TO_REM_UNIT_PRECISION = 5;
12316
- function formatRpxToRemValue(value, precision) {
12317
- const fixed = Number(value.toFixed(precision));
12318
- return Object.is(fixed, -0) ? 0 : fixed;
12319
- }
12320
- function convertTailwindcssRpxValueToRem(value, options) {
12321
- if (!value.includes("rpx") && !value.includes("RPX")) return value;
12322
- let changed = false;
12323
- const rootValue = options?.rootValue ?? DEFAULT_RPX_TO_REM_ROOT_VALUE;
12324
- const unitPrecision = options?.unitPrecision ?? DEFAULT_RPX_TO_REM_UNIT_PRECISION;
12325
- const parsed = valueParser(value);
12326
- parsed.walk((node) => {
12327
- if (node.type !== "word") return;
12328
- const match = RPX_DIMENSION_REGEXP.exec(node.value);
12329
- if (!match) return;
12330
- node.value = `${formatRpxToRemValue(Number(match[1]) / rootValue, unitPrecision)}rem`;
12331
- changed = true;
12332
- });
12333
- return changed ? parsed.toString() : value;
12334
- }
12335
- function normalizeTailwindcssRpxDeclaration(decl, options) {
12336
- const majorVersion = options?.majorVersion;
12337
- const normalizedValue = decl.value.trim();
12338
- if (LENGTH_VALUE_REGEXP.test(normalizedValue) && (majorVersion === void 0 || majorVersion === 4)) {
12339
- const lowerProp = decl.prop.toLowerCase();
12340
- if (lowerProp === "color") {
12341
- decl.prop = "font-size";
12342
- return true;
12343
- }
12344
- if (lowerProp === "background-color") {
12345
- decl.prop = "background-size";
12346
- return true;
12347
- }
12348
- if (lowerProp === "outline-color") {
12349
- decl.prop = "outline-width";
12350
- return true;
12351
- }
12352
- if (lowerProp.startsWith("border") && lowerProp.endsWith("color")) {
12353
- decl.prop = `${decl.prop.slice(0, -5)}width`;
12354
- return true;
12355
- }
12356
- if (lowerProp === "--tw-ring-color") {
12357
- decl.prop = "--tw-ring-offset-width";
12358
- return true;
12359
- }
12360
- }
12361
- return false;
12362
- }
12363
- function normalizeTailwindcssRpxDeclarations(root, options) {
12364
- let changed = false;
12365
- root.walkDecls((decl) => {
12366
- changed = normalizeTailwindcssRpxDeclaration(decl, options) || changed;
12367
- });
12368
- return changed;
12369
- }
12370
- function convertTailwindcssRpxDeclarationToRem(decl, options) {
12371
- const value = convertTailwindcssRpxValueToRem(decl.value, options);
12372
- if (value === decl.value) return false;
12373
- decl.value = value;
12374
- return true;
12375
- }
12376
- function convertTailwindcssRpxDeclarationsToRem(root, options) {
12377
- let changed = false;
12378
- root.walkDecls((decl) => {
12379
- changed = convertTailwindcssRpxDeclarationToRem(decl, options) || changed;
12380
- });
12381
- return changed;
12382
- }
12383
- function normalizeTailwindcssWebRpxDeclarations(root, options) {
12384
- const normalized = normalizeTailwindcssRpxDeclarations(root, options);
12385
- const converted = convertTailwindcssRpxDeclarationsToRem(root, options);
12386
- return normalized || converted;
12387
- }
12388
- //#endregion
12389
12287
  //#region ../../node_modules/.pnpm/cssdb@8.9.0/node_modules/cssdb/cssdb.mjs
12390
12288
  var cssdb_default = [
12391
12289
  {
@@ -14654,7 +14552,7 @@ var cssdb_default = [
14654
14552
  }
14655
14553
  ];
14656
14554
  //#endregion
14657
- //#region ../../node_modules/.pnpm/baseline-browser-mapping@2.10.42/node_modules/baseline-browser-mapping/dist/index.cjs
14555
+ //#region ../../node_modules/.pnpm/baseline-browser-mapping@2.10.43/node_modules/baseline-browser-mapping/dist/index.cjs
14658
14556
  var require_dist$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
14659
14557
  const s = {
14660
14558
  chrome: { releases: [
@@ -18278,7 +18176,7 @@ var require_dist$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
18278
18176
  ],
18279
18177
  [
18280
18178
  "155",
18281
- "2026-09-15",
18179
+ "2026-09-01",
18282
18180
  "p",
18283
18181
  "g",
18284
18182
  "155"
@@ -19274,7 +19172,7 @@ var require_dist$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
19274
19172
  ],
19275
19173
  [
19276
19174
  "155",
19277
- "2026-09-15",
19175
+ "2026-09-01",
19278
19176
  "p",
19279
19177
  "g",
19280
19178
  "155"
@@ -34541,7 +34439,7 @@ var require_dist$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
34541
34439
  return g.suppressWarnings || ((s, a) => {
34542
34440
  if (n || "undefined" != typeof process && process.env && (process.env.BROWSERSLIST_IGNORE_OLD_DATA || process.env.BASELINE_BROWSER_MAPPING_IGNORE_OLD_DATA)) return;
34543
34441
  const r = /* @__PURE__ */ new Date();
34544
- r.setMonth(r.getMonth() - 2), s > r && (null != a ? a : 1783176985831) < r.getTime() && (console.warn("[baseline-browser-mapping] The data in this module is over two months old and you are targetting a recent feature cut off date of " + s.toISOString().slice(0, 10) + ". To ensure accurate Baseline data, please update to the latest version of this module using the package manager of your choice.You can suppress these warnings using the environment variables `BROWSERSLIST_IGNORE_OLD_DATA=true` or `BASELINE_BROWSER_MAPPING_IGNORE_OLD_DATA=true` or by passing `suppressWarnings: true` when you call `getCompatibleVersions()` or `getAllVersions()`."), n = !0);
34442
+ r.setMonth(r.getMonth() - 2), s > r && (null != a ? a : 1783780964428) < r.getTime() && (console.warn("[baseline-browser-mapping] The data in this module is over two months old and you are targetting a recent feature cut off date of " + s.toISOString().slice(0, 10) + ". To ensure accurate Baseline data, please update to the latest version of this module using the package manager of your choice.You can suppress these warnings using the environment variables `BROWSERSLIST_IGNORE_OLD_DATA=true` or `BASELINE_BROWSER_MAPPING_IGNORE_OLD_DATA=true` or by passing `suppressWarnings: true` when you call `getCompatibleVersions()` or `getAllVersions()`."), n = !0);
34545
34443
  })(o, g.overrideLastUpdated), !1 === g.includeDownstreamBrowsers ? t : [...t, ...y(t, g.listAllCompatibleVersions, g.includeKaiOS)];
34546
34444
  }
34547
34445
  exports._resetHasWarned = function() {
@@ -34648,7 +34546,7 @@ var require_dist$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
34648
34546
  }, exports.getCompatibleVersions = O;
34649
34547
  }));
34650
34548
  //#endregion
34651
- //#region ../../node_modules/.pnpm/node-releases@2.0.50/node_modules/node-releases/data/processed/envs.json
34549
+ //#region ../../node_modules/.pnpm/node-releases@2.0.51/node_modules/node-releases/data/processed/envs.json
34652
34550
  var require_envs = /* @__PURE__ */ __commonJSMin(((exports, module) => {
34653
34551
  module.exports = [
34654
34552
  {
@@ -37610,6 +37508,14 @@ var require_envs = /* @__PURE__ */ __commonJSMin(((exports, module) => {
37610
37508
  "lts": false,
37611
37509
  "security": false,
37612
37510
  "v8": "14.6.202.34"
37511
+ },
37512
+ {
37513
+ "name": "nodejs",
37514
+ "version": "26.5.0",
37515
+ "date": "2026-07-08",
37516
+ "lts": false,
37517
+ "security": false,
37518
+ "v8": "14.6.202.34"
37613
37519
  }
37614
37520
  ];
37615
37521
  }));
@@ -42722,7 +42628,7 @@ var require_versions = /* @__PURE__ */ __commonJSMin(((exports, module) => {
42722
42628
  };
42723
42629
  }));
42724
42630
  //#endregion
42725
- //#region ../../node_modules/.pnpm/node-releases@2.0.50/node_modules/node-releases/data/release-schedule/release-schedule.json
42631
+ //#region ../../node_modules/.pnpm/node-releases@2.0.51/node_modules/node-releases/data/release-schedule/release-schedule.json
42726
42632
  var require_release_schedule = /* @__PURE__ */ __commonJSMin(((exports, module) => {
42727
42633
  module.exports = {
42728
42634
  "v0.8": {
@@ -42886,7 +42792,7 @@ var require_release_schedule = /* @__PURE__ */ __commonJSMin(((exports, module)
42886
42792
  };
42887
42793
  }));
42888
42794
  //#endregion
42889
- //#region ../../node_modules/.pnpm/browserslist@4.28.5/node_modules/browserslist/error.js
42795
+ //#region ../../node_modules/.pnpm/browserslist@4.28.6/node_modules/browserslist/error.js
42890
42796
  var require_error = /* @__PURE__ */ __commonJSMin(((exports, module) => {
42891
42797
  function BrowserslistError(message) {
42892
42798
  this.name = "BrowserslistError";
@@ -44354,7 +44260,7 @@ var require_region = /* @__PURE__ */ __commonJSMin(((exports, module) => {
44354
44260
  module.exports.default = unpackRegion;
44355
44261
  }));
44356
44262
  //#endregion
44357
- //#region ../../node_modules/.pnpm/browserslist@4.28.5/node_modules/browserslist/node.js
44263
+ //#region ../../node_modules/.pnpm/browserslist@4.28.6/node_modules/browserslist/node.js
44358
44264
  var require_node$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
44359
44265
  var feature = require_feature().default;
44360
44266
  var region = require_region().default;
@@ -44647,7 +44553,7 @@ var require_node$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
44647
44553
  };
44648
44554
  }));
44649
44555
  //#endregion
44650
- //#region ../../node_modules/.pnpm/browserslist@4.28.5/node_modules/browserslist/parse.js
44556
+ //#region ../../node_modules/.pnpm/browserslist@4.28.6/node_modules/browserslist/parse.js
44651
44557
  var require_parse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
44652
44558
  var AND_REGEXP = /^\s+and\s+(.*)/i;
44653
44559
  var OR_REGEXP = /^(?:,\s*|\s+or\s+)(.*)/i;
@@ -44713,7 +44619,7 @@ var require_parse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
44713
44619
  };
44714
44620
  }));
44715
44621
  //#endregion
44716
- //#region ../../node_modules/.pnpm/@csstools+postcss-initial@3.0.0_postcss@8.5.16/node_modules/@csstools/postcss-initial/dist/index.mjs
44622
+ //#region ../../node_modules/.pnpm/@csstools+postcss-initial@3.0.0_postcss@8.5.19/node_modules/@csstools/postcss-initial/dist/index.mjs
44717
44623
  var import_browserslist = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
44718
44624
  var bbm = require_dist$1();
44719
44625
  var jsReleases = require_envs();
@@ -45503,10 +45409,7 @@ var import_browserslist = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin
45503
45409
  var to = parseFloat(node.to);
45504
45410
  if (!e2c[fromToUse]) throw new BrowserslistError("Unknown version " + from + " of electron");
45505
45411
  if (!e2c[toToUse]) throw new BrowserslistError("Unknown version " + to + " of electron");
45506
- return Object.keys(e2c).filter(function(i) {
45507
- var parsed = parseFloat(i);
45508
- return parsed >= from && parsed <= to;
45509
- }).map(function(i) {
45412
+ return Object.keys(e2c).filter(semverFilterLoose(">=", node.from)).filter(semverFilterLoose("<=", node.to)).map(function(i) {
45510
45413
  return "chrome " + e2c[i];
45511
45414
  });
45512
45415
  }
@@ -46016,7 +45919,7 @@ const creator$52 = (a) => {
46016
45919
  };
46017
45920
  creator$52.postcss = !0;
46018
45921
  //#endregion
46019
- //#region ../../node_modules/.pnpm/@csstools+postcss-progressive-custom-properties@5.1.1_postcss@8.5.16/node_modules/@csstools/postcss-progressive-custom-properties/dist/index.mjs
45922
+ //#region ../../node_modules/.pnpm/@csstools+postcss-progressive-custom-properties@5.1.1_postcss@8.5.19/node_modules/@csstools/postcss-progressive-custom-properties/dist/index.mjs
46020
45923
  const r$7 = [
46021
45924
  "at",
46022
45925
  "bottom",
@@ -49773,7 +49676,7 @@ const creator$51 = () => ({
49773
49676
  });
49774
49677
  creator$51.postcss = !0;
49775
49678
  //#endregion
49776
- //#region ../../node_modules/.pnpm/@csstools+utilities@3.0.0_postcss@8.5.16/node_modules/@csstools/utilities/dist/index.mjs
49679
+ //#region ../../node_modules/.pnpm/@csstools+utilities@3.0.0_postcss@8.5.19/node_modules/@csstools/utilities/dist/index.mjs
49777
49680
  function hasFallback$1(e) {
49778
49681
  const t = e.parent;
49779
49682
  if (!t) return !1;
@@ -49793,7 +49696,7 @@ function hasSupportsAtRuleAncestor(e, t) {
49793
49696
  return !1;
49794
49697
  }
49795
49698
  //#endregion
49796
- //#region ../../node_modules/.pnpm/@csstools+postcss-alpha-function@2.0.7_postcss@8.5.16/node_modules/@csstools/postcss-alpha-function/dist/index.mjs
49699
+ //#region ../../node_modules/.pnpm/@csstools+postcss-alpha-function@2.0.7_postcss@8.5.19/node_modules/@csstools/postcss-alpha-function/dist/index.mjs
49797
49700
  const b$1 = /\balpha\(/i;
49798
49701
  const m$9 = /^alpha$/i;
49799
49702
  const w$3 = /* @__PURE__ */ new Set([
@@ -50020,7 +49923,7 @@ const postcssPlugin$16 = (o) => {
50020
49923
  };
50021
49924
  postcssPlugin$16.postcss = !0;
50022
49925
  //#endregion
50023
- //#region ../../node_modules/.pnpm/postcss-pseudo-class-any-link@11.0.0_postcss@8.5.16/node_modules/postcss-pseudo-class-any-link/dist/index.mjs
49926
+ //#region ../../node_modules/.pnpm/postcss-pseudo-class-any-link@11.0.0_postcss@8.5.19/node_modules/postcss-pseudo-class-any-link/dist/index.mjs
50024
49927
  const t$13 = (0, import_dist$1.default)().astSync(":link").nodes[0];
50025
49928
  const s$15 = (0, import_dist$1.default)().astSync(":visited").nodes[0];
50026
49929
  const n$10 = (0, import_dist$1.default)().astSync("area[href]").nodes[0];
@@ -50117,7 +50020,7 @@ const creator$50 = (e) => {
50117
50020
  };
50118
50021
  creator$50.postcss = !0;
50119
50022
  //#endregion
50120
- //#region ../../node_modules/.pnpm/css-blank-pseudo@8.0.1_postcss@8.5.16/node_modules/css-blank-pseudo/dist/index.mjs
50023
+ //#region ../../node_modules/.pnpm/css-blank-pseudo@8.0.1_postcss@8.5.19/node_modules/css-blank-pseudo/dist/index.mjs
50121
50024
  const s$14 = [
50122
50025
  " ",
50123
50026
  ">",
@@ -50353,7 +50256,7 @@ function selectorNodeContainsNothingOrOnlyUniversal$1(e) {
50353
50256
  return 0 === t.length || 1 === t.length && "universal" === t[0].type;
50354
50257
  }
50355
50258
  //#endregion
50356
- //#region ../../node_modules/.pnpm/@csstools+postcss-cascade-layers@6.0.0_postcss@8.5.16/node_modules/@csstools/postcss-cascade-layers/dist/index.mjs
50259
+ //#region ../../node_modules/.pnpm/@csstools+postcss-cascade-layers@6.0.0_postcss@8.5.19/node_modules/@csstools/postcss-cascade-layers/dist/index.mjs
50357
50260
  const t$11 = "csstools-invalid-layer";
50358
50261
  const a$5 = "csstools-layer-with-selector-rules";
50359
50262
  const s$13 = "6efdb677-bb05-44e5-840f-29d2175862fd";
@@ -50675,7 +50578,7 @@ const creator$48 = (a) => {
50675
50578
  };
50676
50579
  creator$48.postcss = !0;
50677
50580
  //#endregion
50678
- //#region ../../node_modules/.pnpm/postcss-attribute-case-insensitive@8.0.0_postcss@8.5.16/node_modules/postcss-attribute-case-insensitive/dist/index.mjs
50581
+ //#region ../../node_modules/.pnpm/postcss-attribute-case-insensitive@8.0.0_postcss@8.5.19/node_modules/postcss-attribute-case-insensitive/dist/index.mjs
50679
50582
  function nodeIsInsensitiveAttribute(e) {
50680
50583
  return "attribute" === e.type && (e.insensitive ?? !1);
50681
50584
  }
@@ -50749,7 +50652,7 @@ const creator$47 = (t) => {
50749
50652
  };
50750
50653
  creator$47.postcss = !0;
50751
50654
  //#endregion
50752
- //#region ../../node_modules/.pnpm/@csstools+postcss-color-function@5.0.6_postcss@8.5.16/node_modules/@csstools/postcss-color-function/dist/index.mjs
50655
+ //#region ../../node_modules/.pnpm/@csstools+postcss-color-function@5.0.6_postcss@8.5.19/node_modules/@csstools/postcss-color-function/dist/index.mjs
50753
50656
  var import_postcss_clamp = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
50754
50657
  let valueParser$1 = __require("postcss-value-parser");
50755
50658
  function parseValue(value) {
@@ -50856,7 +50759,7 @@ const postcssPlugin$15 = (o) => {
50856
50759
  };
50857
50760
  postcssPlugin$15.postcss = !0;
50858
50761
  //#endregion
50859
- //#region ../../node_modules/.pnpm/@csstools+postcss-color-function-display-p3-linear@2.0.6_postcss@8.5.16/node_modules/@csstools/postcss-color-function-display-p3-linear/dist/index.mjs
50762
+ //#region ../../node_modules/.pnpm/@csstools+postcss-color-function-display-p3-linear@2.0.6_postcss@8.5.19/node_modules/@csstools/postcss-color-function-display-p3-linear/dist/index.mjs
50860
50763
  const m$6 = /\bdisplay-p3-linear\b/i;
50861
50764
  const f$7 = /^color$/i;
50862
50765
  const basePlugin$14 = (s) => ({
@@ -50887,7 +50790,7 @@ const postcssPlugin$14 = (o) => {
50887
50790
  };
50888
50791
  postcssPlugin$14.postcss = !0;
50889
50792
  //#endregion
50890
- //#region ../../node_modules/.pnpm/postcss-color-functional-notation@8.0.6_postcss@8.5.16/node_modules/postcss-color-functional-notation/dist/index.mjs
50793
+ //#region ../../node_modules/.pnpm/postcss-color-functional-notation@8.0.6_postcss@8.5.19/node_modules/postcss-color-functional-notation/dist/index.mjs
50891
50794
  const m$5 = /^(?:rgb|hsl)a?$/i;
50892
50795
  const f$6 = /\b(?:rgb|hsl)a?\(/i;
50893
50796
  const basePlugin$13 = (s) => ({
@@ -50918,7 +50821,7 @@ const postcssPlugin$13 = (o) => {
50918
50821
  };
50919
50822
  postcssPlugin$13.postcss = !0;
50920
50823
  //#endregion
50921
- //#region ../../node_modules/.pnpm/@csstools+postcss-color-mix-function@4.0.6_postcss@8.5.16/node_modules/@csstools/postcss-color-mix-function/dist/index.mjs
50824
+ //#region ../../node_modules/.pnpm/@csstools+postcss-color-mix-function@4.0.6_postcss@8.5.19/node_modules/@csstools/postcss-color-mix-function/dist/index.mjs
50922
50825
  const f$5 = /\bcolor-mix\(/i;
50923
50826
  const g$6 = /^color-mix$/i;
50924
50827
  const basePlugin$12 = (s) => ({
@@ -50956,7 +50859,7 @@ const postcssPlugin$12 = (e) => {
50956
50859
  };
50957
50860
  postcssPlugin$12.postcss = !0;
50958
50861
  //#endregion
50959
- //#region ../../node_modules/.pnpm/@csstools+postcss-color-mix-variadic-function-arguments@2.0.6_postcss@8.5.16/node_modules/@csstools/postcss-color-mix-variadic-function-arguments/dist/index.mjs
50862
+ //#region ../../node_modules/.pnpm/@csstools+postcss-color-mix-variadic-function-arguments@2.0.6_postcss@8.5.19/node_modules/@csstools/postcss-color-mix-variadic-function-arguments/dist/index.mjs
50960
50863
  const f$4 = /\bcolor-mix\(/i;
50961
50864
  const g$5 = /^color-mix$/i;
50962
50865
  const basePlugin$11 = (s) => ({
@@ -50994,7 +50897,7 @@ const postcssPlugin$11 = (e) => {
50994
50897
  };
50995
50898
  postcssPlugin$11.postcss = !0;
50996
50899
  //#endregion
50997
- //#region ../../node_modules/.pnpm/@csstools+postcss-container-rule-prelude-list@1.0.1_postcss@8.5.16/node_modules/@csstools/postcss-container-rule-prelude-list/dist/index.mjs
50900
+ //#region ../../node_modules/.pnpm/@csstools+postcss-container-rule-prelude-list@1.0.1_postcss@8.5.19/node_modules/@csstools/postcss-container-rule-prelude-list/dist/index.mjs
50998
50901
  const t$10 = /^container$/i;
50999
50902
  const creator$46 = (o) => {
51000
50903
  const a = Object.assign({ preserve: !1 }, o);
@@ -51012,7 +50915,7 @@ const creator$46 = (o) => {
51012
50915
  };
51013
50916
  creator$46.postcss = !0;
51014
50917
  //#endregion
51015
- //#region ../../node_modules/.pnpm/@csstools+postcss-content-alt-text@3.0.2_postcss@8.5.16/node_modules/@csstools/postcss-content-alt-text/dist/index.mjs
50918
+ //#region ../../node_modules/.pnpm/@csstools+postcss-content-alt-text@3.0.2_postcss@8.5.19/node_modules/@csstools/postcss-content-alt-text/dist/index.mjs
51016
50919
  function transform$3(s, t) {
51017
50920
  const e = s[0];
51018
50921
  if (!e.length) return "";
@@ -51058,7 +50961,7 @@ const creator$45 = (t) => {
51058
50961
  };
51059
50962
  creator$45.postcss = !0;
51060
50963
  //#endregion
51061
- //#region ../../node_modules/.pnpm/@csstools+postcss-contrast-color-function@3.0.6_postcss@8.5.16/node_modules/@csstools/postcss-contrast-color-function/dist/index.mjs
50964
+ //#region ../../node_modules/.pnpm/@csstools+postcss-contrast-color-function@3.0.6_postcss@8.5.19/node_modules/@csstools/postcss-contrast-color-function/dist/index.mjs
51062
50965
  const u$6 = /\bcontrast-color\(/i;
51063
50966
  const m$4 = /^contrast-color$/i;
51064
50967
  const basePlugin$9 = (s) => ({
@@ -52994,7 +52897,7 @@ var b;
52994
52897
  e.All = "all", e.Print = "print", e.Screen = "screen", e.Tty = "tty", e.Tv = "tv", e.Projection = "projection", e.Handheld = "handheld", e.Braille = "braille", e.Embossed = "embossed", e.Aural = "aural", e.Speech = "speech";
52995
52898
  })(b || (b = {}));
52996
52899
  //#endregion
52997
- //#region ../../node_modules/.pnpm/postcss-custom-media@12.0.1_postcss@8.5.16/node_modules/postcss-custom-media/dist/index.mjs
52900
+ //#region ../../node_modules/.pnpm/postcss-custom-media@12.0.1_postcss@8.5.19/node_modules/postcss-custom-media/dist/index.mjs
52998
52901
  const C$2 = parse$1("csstools-implicit-layer")[0];
52999
52902
  function collectCascadeLayerOrder$2(t) {
53000
52903
  const n = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Map(), o = [];
@@ -53422,7 +53325,7 @@ const creator$44 = (e) => {
53422
53325
  };
53423
53326
  creator$44.postcss = !0;
53424
53327
  //#endregion
53425
- //#region ../../node_modules/.pnpm/postcss-custom-properties@15.0.1_postcss@8.5.16/node_modules/postcss-custom-properties/dist/index.mjs
53328
+ //#region ../../node_modules/.pnpm/postcss-custom-properties@15.0.1_postcss@8.5.19/node_modules/postcss-custom-properties/dist/index.mjs
53426
53329
  const o$20 = parse$1("csstools-implicit-layer")[0];
53427
53330
  function collectCascadeLayerOrder$1(r) {
53428
53331
  const n = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), a = [];
@@ -53741,7 +53644,7 @@ const creator$43 = (e) => {
53741
53644
  };
53742
53645
  creator$43.postcss = !0;
53743
53646
  //#endregion
53744
- //#region ../../node_modules/.pnpm/postcss-custom-selectors@9.0.1_postcss@8.5.16/node_modules/postcss-custom-selectors/dist/index.mjs
53647
+ //#region ../../node_modules/.pnpm/postcss-custom-selectors@9.0.1_postcss@8.5.19/node_modules/postcss-custom-selectors/dist/index.mjs
53745
53648
  const s$11 = parse$1("csstools-implicit-layer")[0];
53746
53649
  function collectCascadeLayerOrder(e) {
53747
53650
  const o = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(), a = [];
@@ -53877,7 +53780,7 @@ const creator$42 = (e) => {
53877
53780
  };
53878
53781
  creator$42.postcss = !0;
53879
53782
  //#endregion
53880
- //#region ../../node_modules/.pnpm/postcss-dir-pseudo-class@10.0.0_postcss@8.5.16/node_modules/postcss-dir-pseudo-class/dist/index.mjs
53783
+ //#region ../../node_modules/.pnpm/postcss-dir-pseudo-class@10.0.0_postcss@8.5.19/node_modules/postcss-dir-pseudo-class/dist/index.mjs
53881
53784
  const creator$41 = (t) => {
53882
53785
  const r = Object.assign({
53883
53786
  dir: null,
@@ -53948,7 +53851,7 @@ const creator$41 = (t) => {
53948
53851
  };
53949
53852
  creator$41.postcss = !0;
53950
53853
  //#endregion
53951
- //#region ../../node_modules/.pnpm/@csstools+postcss-normalize-display-values@5.0.1_postcss@8.5.16/node_modules/@csstools/postcss-normalize-display-values/dist/index.mjs
53854
+ //#region ../../node_modules/.pnpm/@csstools+postcss-normalize-display-values@5.0.1_postcss@8.5.19/node_modules/@csstools/postcss-normalize-display-values/dist/index.mjs
53952
53855
  var l$5 = /* @__PURE__ */ new Map([
53953
53856
  ["flow", "block"],
53954
53857
  ["block,flow", "block"],
@@ -54018,7 +53921,7 @@ const creator$40 = (i) => {
54018
53921
  };
54019
53922
  creator$40.postcss = !0;
54020
53923
  //#endregion
54021
- //#region ../../node_modules/.pnpm/postcss-double-position-gradients@7.0.2_postcss@8.5.16/node_modules/postcss-double-position-gradients/dist/index.mjs
53924
+ //#region ../../node_modules/.pnpm/postcss-double-position-gradients@7.0.2_postcss@8.5.19/node_modules/postcss-double-position-gradients/dist/index.mjs
54022
53925
  const o$18 = /(?:repeating-)?(?:conic|linear|radial)-gradient\(/i;
54023
53926
  const i$5 = /^(?:repeating-)?(?:conic|linear|radial)-gradient$/i;
54024
53927
  const n$7 = [
@@ -54099,7 +54002,7 @@ const postcssPlugin$9 = (t) => {
54099
54002
  };
54100
54003
  postcssPlugin$9.postcss = !0;
54101
54004
  //#endregion
54102
- //#region ../../node_modules/.pnpm/@csstools+postcss-exponential-functions@3.0.3_postcss@8.5.16/node_modules/@csstools/postcss-exponential-functions/dist/index.mjs
54005
+ //#region ../../node_modules/.pnpm/@csstools+postcss-exponential-functions@3.0.3_postcss@8.5.19/node_modules/@csstools/postcss-exponential-functions/dist/index.mjs
54103
54006
  const s$10 = /(?<![-\w])(?:exp|hypot|log|pow|sqrt)\(/i;
54104
54007
  const creator$39 = (o) => {
54105
54008
  const t = Object.assign({ preserve: !1 }, o);
@@ -54114,7 +54017,7 @@ const creator$39 = (o) => {
54114
54017
  };
54115
54018
  creator$39.postcss = !0;
54116
54019
  //#endregion
54117
- //#region ../../node_modules/.pnpm/@csstools+postcss-logical-float-and-clear@4.0.0_postcss@8.5.16/node_modules/@csstools/postcss-logical-float-and-clear/dist/index.mjs
54020
+ //#region ../../node_modules/.pnpm/@csstools+postcss-logical-float-and-clear@4.0.0_postcss@8.5.19/node_modules/@csstools/postcss-logical-float-and-clear/dist/index.mjs
54118
54021
  const t$8 = "inline-start";
54119
54022
  const o$17 = "inline-end";
54120
54023
  var e$17;
@@ -54160,7 +54063,7 @@ const creator$38 = (n) => {
54160
54063
  };
54161
54064
  creator$38.postcss = !0;
54162
54065
  //#endregion
54163
- //#region ../../node_modules/.pnpm/postcss-focus-visible@11.0.0_postcss@8.5.16/node_modules/postcss-focus-visible/dist/index.mjs
54066
+ //#region ../../node_modules/.pnpm/postcss-focus-visible@11.0.0_postcss@8.5.19/node_modules/postcss-focus-visible/dist/index.mjs
54164
54067
  const s$9 = "js-focus-visible";
54165
54068
  const o$16 = ":focus-visible";
54166
54069
  const creator$37 = (t) => {
@@ -54216,7 +54119,7 @@ const creator$37 = (t) => {
54216
54119
  };
54217
54120
  creator$37.postcss = !0;
54218
54121
  //#endregion
54219
- //#region ../../node_modules/.pnpm/postcss-focus-within@10.0.0_postcss@8.5.16/node_modules/postcss-focus-within/dist/index.mjs
54122
+ //#region ../../node_modules/.pnpm/postcss-focus-within@10.0.0_postcss@8.5.19/node_modules/postcss-focus-within/dist/index.mjs
54220
54123
  const s$8 = [
54221
54124
  " ",
54222
54125
  ">",
@@ -54293,7 +54196,7 @@ const creator$36 = (s) => {
54293
54196
  };
54294
54197
  creator$36.postcss = !0;
54295
54198
  //#endregion
54296
- //#region ../../node_modules/.pnpm/@csstools+postcss-font-format-keywords@5.0.0_postcss@8.5.16/node_modules/@csstools/postcss-font-format-keywords/dist/index.mjs
54199
+ //#region ../../node_modules/.pnpm/@csstools+postcss-font-format-keywords@5.0.0_postcss@8.5.19/node_modules/@csstools/postcss-font-format-keywords/dist/index.mjs
54297
54200
  const t$6 = [
54298
54201
  "woff",
54299
54202
  "truetype",
@@ -54329,7 +54232,7 @@ const creator$35 = (r) => {
54329
54232
  };
54330
54233
  creator$35.postcss = !0;
54331
54234
  //#endregion
54332
- //#region ../../node_modules/.pnpm/@csstools+postcss-font-width-property@1.0.0_postcss@8.5.16/node_modules/@csstools/postcss-font-width-property/dist/index.mjs
54235
+ //#region ../../node_modules/.pnpm/@csstools+postcss-font-width-property@1.0.0_postcss@8.5.19/node_modules/@csstools/postcss-font-width-property/dist/index.mjs
54333
54236
  var import_postcss_font_variant = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
54334
54237
  /**
54335
54238
  * font variant convertion map
@@ -54443,7 +54346,7 @@ function hasFallback(t) {
54443
54346
  }
54444
54347
  creator$34.postcss = !0;
54445
54348
  //#endregion
54446
- //#region ../../node_modules/.pnpm/@csstools+postcss-gamut-mapping@3.0.6_postcss@8.5.16/node_modules/@csstools/postcss-gamut-mapping/dist/index.mjs
54349
+ //#region ../../node_modules/.pnpm/@csstools+postcss-gamut-mapping@3.0.6_postcss@8.5.19/node_modules/@csstools/postcss-gamut-mapping/dist/index.mjs
54447
54350
  const p = /\bcolor-gamut\b/i;
54448
54351
  function hasConditionalAncestor(e) {
54449
54352
  let o = e.parent;
@@ -54540,7 +54443,7 @@ const creator$33 = () => ({
54540
54443
  });
54541
54444
  creator$33.postcss = !0;
54542
54445
  //#endregion
54543
- //#region ../../node_modules/.pnpm/postcss-gap-properties@7.0.0_postcss@8.5.16/node_modules/postcss-gap-properties/dist/index.mjs
54446
+ //#region ../../node_modules/.pnpm/postcss-gap-properties@7.0.0_postcss@8.5.19/node_modules/postcss-gap-properties/dist/index.mjs
54544
54447
  const e$13 = [
54545
54448
  "column-gap",
54546
54449
  "gap",
@@ -54560,7 +54463,7 @@ const creator$32 = (o) => {
54560
54463
  };
54561
54464
  creator$32.postcss = !0;
54562
54465
  //#endregion
54563
- //#region ../../node_modules/.pnpm/@csstools+postcss-gradients-interpolation-method@6.0.6_postcss@8.5.16/node_modules/@csstools/postcss-gradients-interpolation-method/dist/index.mjs
54466
+ //#region ../../node_modules/.pnpm/@csstools+postcss-gradients-interpolation-method@6.0.6_postcss@8.5.19/node_modules/@csstools/postcss-gradients-interpolation-method/dist/index.mjs
54564
54467
  const x = /(?:repeating-)?(?:linear|radial|conic)-gradient\(/i;
54565
54468
  const W = /\bin\b/i;
54566
54469
  const P$1 = { test: (o) => x.test(o) && W.test(o) };
@@ -54855,7 +54758,7 @@ const postcssPlugin$8 = (e) => {
54855
54758
  };
54856
54759
  postcssPlugin$8.postcss = !0;
54857
54760
  //#endregion
54858
- //#region ../../node_modules/.pnpm/css-has-pseudo@8.0.0_postcss@8.5.16/node_modules/css-has-pseudo/dist/index.mjs
54761
+ //#region ../../node_modules/.pnpm/css-has-pseudo@8.0.0_postcss@8.5.19/node_modules/css-has-pseudo/dist/index.mjs
54859
54762
  function encodeCSS(e) {
54860
54763
  if ("" === e) return "";
54861
54764
  let t, s = "";
@@ -54966,7 +54869,7 @@ function isWithinSupportCheck(e) {
54966
54869
  }
54967
54870
  creator$31.postcss = !0;
54968
54871
  //#endregion
54969
- //#region ../../node_modules/.pnpm/postcss-color-hex-alpha@11.0.0_postcss@8.5.16/node_modules/postcss-color-hex-alpha/dist/index.mjs
54872
+ //#region ../../node_modules/.pnpm/postcss-color-hex-alpha@11.0.0_postcss@8.5.19/node_modules/postcss-color-hex-alpha/dist/index.mjs
54970
54873
  const creator$30 = (a) => {
54971
54874
  const o = Object.assign({ preserve: !1 }, a);
54972
54875
  return {
@@ -54999,7 +54902,7 @@ function hexa2rgba(e) {
54999
54902
  e.value = `rgba(${r},${l},${n},${c})`;
55000
54903
  }
55001
54904
  //#endregion
55002
- //#region ../../node_modules/.pnpm/@csstools+postcss-hwb-function@5.0.6_postcss@8.5.16/node_modules/@csstools/postcss-hwb-function/dist/index.mjs
54905
+ //#region ../../node_modules/.pnpm/@csstools+postcss-hwb-function@5.0.6_postcss@8.5.19/node_modules/@csstools/postcss-hwb-function/dist/index.mjs
55003
54906
  const u$3 = /\bhwb\(/i;
55004
54907
  const m$2 = /^hwb$/i;
55005
54908
  const basePlugin$6 = (s) => ({
@@ -55030,7 +54933,7 @@ const postcssPlugin$7 = (o) => {
55030
54933
  };
55031
54934
  postcssPlugin$7.postcss = !0;
55032
54935
  //#endregion
55033
- //#region ../../node_modules/.pnpm/@csstools+postcss-ic-unit@5.0.2_postcss@8.5.16/node_modules/@csstools/postcss-ic-unit/dist/index.mjs
54936
+ //#region ../../node_modules/.pnpm/@csstools+postcss-ic-unit@5.0.2_postcss@8.5.19/node_modules/@csstools/postcss-ic-unit/dist/index.mjs
55034
54937
  const o$13 = /ic\b/i;
55035
54938
  const i$4 = /\(font-size: \d+ic\)/i;
55036
54939
  const basePlugin$5 = (s) => ({
@@ -55062,7 +54965,7 @@ const postcssPlugin$6 = (e) => {
55062
54965
  };
55063
54966
  postcssPlugin$6.postcss = !0;
55064
54967
  //#endregion
55065
- //#region ../../node_modules/.pnpm/@csstools+postcss-image-function@1.0.1_postcss@8.5.16/node_modules/@csstools/postcss-image-function/dist/index.mjs
54968
+ //#region ../../node_modules/.pnpm/@csstools+postcss-image-function@1.0.1_postcss@8.5.19/node_modules/@csstools/postcss-image-function/dist/index.mjs
55066
54969
  const u$2 = /\bimage\(/i;
55067
54970
  const g$3 = /^image$/i;
55068
54971
  const basePlugin$4 = (e) => ({
@@ -55107,7 +55010,7 @@ const postcssPlugin$5 = (s) => {
55107
55010
  };
55108
55011
  postcssPlugin$5.postcss = !0;
55109
55012
  //#endregion
55110
- //#region ../../node_modules/.pnpm/postcss-image-set-function@8.0.0_postcss@8.5.16/node_modules/postcss-image-set-function/dist/index.mjs
55013
+ //#region ../../node_modules/.pnpm/postcss-image-set-function@8.0.0_postcss@8.5.19/node_modules/postcss-image-set-function/dist/index.mjs
55111
55014
  function isComma$1(e) {
55112
55015
  return !!e && "div" === e.type && "," === e.value;
55113
55016
  }
@@ -58293,7 +58196,7 @@ function selectorNodeContainsNothingOrOnlyUniversal(e) {
58293
58196
  return 0 === t.length || 1 === t.length && "universal" === t[0].type;
58294
58197
  }
58295
58198
  //#endregion
58296
- //#region ../../node_modules/.pnpm/@csstools+postcss-is-pseudo-class@6.0.0_postcss@8.5.16/node_modules/@csstools/postcss-is-pseudo-class/dist/index.mjs
58199
+ //#region ../../node_modules/.pnpm/@csstools+postcss-is-pseudo-class@6.0.0_postcss@8.5.19/node_modules/@csstools/postcss-is-pseudo-class/dist/index.mjs
58297
58200
  function alwaysValidSelector(s) {
58298
58201
  const o = (0, import_dist.default)().astSync(s);
58299
58202
  let n = !0;
@@ -58563,7 +58466,7 @@ const creator$28 = (e) => {
58563
58466
  };
58564
58467
  creator$28.postcss = !0;
58565
58468
  //#endregion
58566
- //#region ../../node_modules/.pnpm/postcss-lab-function@8.0.6_postcss@8.5.16/node_modules/postcss-lab-function/dist/index.mjs
58469
+ //#region ../../node_modules/.pnpm/postcss-lab-function@8.0.6_postcss@8.5.19/node_modules/postcss-lab-function/dist/index.mjs
58567
58470
  const g$2 = /\b(?:lab|lch)\(/i;
58568
58471
  const f$2 = /^(?:lab|lch)$/i;
58569
58472
  const basePlugin$3 = (s) => ({
@@ -58601,7 +58504,7 @@ const postcssPlugin$4 = (e) => {
58601
58504
  };
58602
58505
  postcssPlugin$4.postcss = !0;
58603
58506
  //#endregion
58604
- //#region ../../node_modules/.pnpm/@csstools+postcss-light-dark-function@3.0.2_postcss@8.5.16/node_modules/@csstools/postcss-light-dark-function/dist/index.mjs
58507
+ //#region ../../node_modules/.pnpm/@csstools+postcss-light-dark-function@3.0.2_postcss@8.5.19/node_modules/@csstools/postcss-light-dark-function/dist/index.mjs
58605
58508
  const k$1 = "--csstools-color-scheme--light";
58606
58509
  const D = "initial";
58607
58510
  function toggleNameGenerator(e) {
@@ -58802,7 +58705,7 @@ const postcssPlugin$3 = (r) => {
58802
58705
  };
58803
58706
  postcssPlugin$3.postcss = !0;
58804
58707
  //#endregion
58805
- //#region ../../node_modules/.pnpm/@csstools+postcss-logical-overflow@3.0.0_postcss@8.5.16/node_modules/@csstools/postcss-logical-overflow/dist/index.mjs
58708
+ //#region ../../node_modules/.pnpm/@csstools+postcss-logical-overflow@3.0.0_postcss@8.5.19/node_modules/@csstools/postcss-logical-overflow/dist/index.mjs
58806
58709
  var o$10;
58807
58710
  function transformAxes$1(o, t) {
58808
58711
  const e = t ? "-x" : "-y", i = t ? "-y" : "-x", n = o.prop.toLowerCase().replace("-inline", e).replace("-block", i), s = o.value;
@@ -58834,7 +58737,7 @@ const creator$27 = (t) => {
58834
58737
  };
58835
58738
  creator$27.postcss = !0;
58836
58739
  //#endregion
58837
- //#region ../../node_modules/.pnpm/@csstools+postcss-logical-overscroll-behavior@3.0.0_postcss@8.5.16/node_modules/@csstools/postcss-logical-overscroll-behavior/dist/index.mjs
58740
+ //#region ../../node_modules/.pnpm/@csstools+postcss-logical-overscroll-behavior@3.0.0_postcss@8.5.19/node_modules/@csstools/postcss-logical-overscroll-behavior/dist/index.mjs
58838
58741
  var o$9;
58839
58742
  function transformAxes(o, t) {
58840
58743
  const e = t ? "-x" : "-y", i = t ? "-y" : "-x", r = o.prop.toLowerCase().replace("-inline", e).replace("-block", i), s = o.value;
@@ -58866,7 +58769,7 @@ const creator$26 = (t) => {
58866
58769
  };
58867
58770
  creator$26.postcss = !0;
58868
58771
  //#endregion
58869
- //#region ../../node_modules/.pnpm/postcss-logical@9.0.0_postcss@8.5.16/node_modules/postcss-logical/dist/index.mjs
58772
+ //#region ../../node_modules/.pnpm/postcss-logical@9.0.0_postcss@8.5.19/node_modules/postcss-logical/dist/index.mjs
58870
58773
  var e$9;
58871
58774
  var n$2;
58872
58775
  (function(r) {
@@ -59229,7 +59132,7 @@ const creator$25 = (r) => {
59229
59132
  };
59230
59133
  creator$25.postcss = !0;
59231
59134
  //#endregion
59232
- //#region ../../node_modules/.pnpm/@csstools+postcss-logical-resize@4.0.0_postcss@8.5.16/node_modules/@csstools/postcss-logical-resize/dist/index.mjs
59135
+ //#region ../../node_modules/.pnpm/@csstools+postcss-logical-resize@4.0.0_postcss@8.5.19/node_modules/@csstools/postcss-logical-resize/dist/index.mjs
59233
59136
  var t$3;
59234
59137
  var e$8;
59235
59138
  var i$1;
@@ -59304,7 +59207,7 @@ const creator$24 = (o) => {
59304
59207
  };
59305
59208
  creator$24.postcss = !0;
59306
59209
  //#endregion
59307
- //#region ../../node_modules/.pnpm/@csstools+postcss-logical-viewport-units@4.0.0_postcss@8.5.16/node_modules/@csstools/postcss-logical-viewport-units/dist/index.mjs
59210
+ //#region ../../node_modules/.pnpm/@csstools+postcss-logical-viewport-units@4.0.0_postcss@8.5.19/node_modules/@csstools/postcss-logical-viewport-units/dist/index.mjs
59308
59211
  var s$6;
59309
59212
  function transform$1(t, o) {
59310
59213
  const s = tokenizer({ css: t }), c = [];
@@ -59376,7 +59279,7 @@ const creator$23 = (e) => {
59376
59279
  };
59377
59280
  creator$23.postcss = !0;
59378
59281
  //#endregion
59379
- //#region ../../node_modules/.pnpm/@csstools+postcss-media-queries-aspect-ratio-number-values@4.0.0_postcss@8.5.16/node_modules/@csstools/postcss-media-queries-aspect-ratio-number-values/dist/index.mjs
59282
+ //#region ../../node_modules/.pnpm/@csstools+postcss-media-queries-aspect-ratio-number-values@4.0.0_postcss@8.5.19/node_modules/@csstools/postcss-media-queries-aspect-ratio-number-values/dist/index.mjs
59380
59283
  const w = 1e5;
59381
59284
  const h$1 = 2147483647;
59382
59285
  function transformMediaFeatureValue(t) {
@@ -59668,7 +59571,7 @@ const creator$22 = (e) => {
59668
59571
  };
59669
59572
  creator$22.postcss = !0;
59670
59573
  //#endregion
59671
- //#region ../../node_modules/.pnpm/@csstools+postcss-media-minmax@3.0.3_postcss@8.5.16/node_modules/@csstools/postcss-media-minmax/dist/index.mjs
59574
+ //#region ../../node_modules/.pnpm/@csstools+postcss-media-minmax@3.0.3_postcss@8.5.19/node_modules/@csstools/postcss-media-minmax/dist/index.mjs
59672
59575
  const C = {
59673
59576
  width: "px",
59674
59577
  height: "px",
@@ -60054,7 +59957,7 @@ const creator$21 = () => ({
60054
59957
  });
60055
59958
  creator$21.postcss = !0;
60056
59959
  //#endregion
60057
- //#region ../../node_modules/.pnpm/@csstools+postcss-mixins@1.0.0_postcss@8.5.16/node_modules/@csstools/postcss-mixins/dist/index.mjs
59960
+ //#region ../../node_modules/.pnpm/@csstools+postcss-mixins@1.0.0_postcss@8.5.19/node_modules/@csstools/postcss-mixins/dist/index.mjs
60058
59961
  const o$7 = /^apply$/i;
60059
59962
  function processableApplyRule(o) {
60060
59963
  if (!o.params || !o.params.includes("--")) return !1;
@@ -60112,7 +60015,7 @@ const creator$20 = (e) => {
60112
60015
  };
60113
60016
  creator$20.postcss = !0;
60114
60017
  //#endregion
60115
- //#region ../../node_modules/.pnpm/@csstools+postcss-nested-calc@5.0.0_postcss@8.5.16/node_modules/@csstools/postcss-nested-calc/dist/index.mjs
60018
+ //#region ../../node_modules/.pnpm/@csstools+postcss-nested-calc@5.0.0_postcss@8.5.19/node_modules/@csstools/postcss-nested-calc/dist/index.mjs
60116
60019
  const r$4 = /calc\(/gi;
60117
60020
  const creator$19 = (s) => {
60118
60021
  const o = Object.assign({ preserve: !0 }, s);
@@ -60244,7 +60147,7 @@ function isCompoundSelector$1(o) {
60244
60147
  return 1 === o.length && !o[0].nodes.some((o) => "combinator" === o.type || import_dist$1.default.isPseudoElement(o));
60245
60148
  }
60246
60149
  //#endregion
60247
- //#region ../../node_modules/.pnpm/postcss-nesting@14.0.0_postcss@8.5.16/node_modules/postcss-nesting/dist/index.mjs
60150
+ //#region ../../node_modules/.pnpm/postcss-nesting@14.0.0_postcss@8.5.19/node_modules/postcss-nesting/dist/index.mjs
60248
60151
  const r$3 = import_dist$1.default.pseudo({ value: ":is" });
60249
60152
  function sortCompoundSelectorsInsideComplexSelector(t) {
60250
60153
  if (!t || !t.nodes) return;
@@ -60619,7 +60522,7 @@ const creator$18 = (e) => {
60619
60522
  };
60620
60523
  creator$18.postcss = !0;
60621
60524
  //#endregion
60622
- //#region ../../node_modules/.pnpm/postcss-selector-not@9.0.0_postcss@8.5.16/node_modules/postcss-selector-not/dist/index.mjs
60525
+ //#region ../../node_modules/.pnpm/postcss-selector-not@9.0.0_postcss@8.5.19/node_modules/postcss-selector-not/dist/index.mjs
60623
60526
  function cleanupWhitespace(e) {
60624
60527
  e.spaces && (e.spaces.after = "", e.spaces.before = ""), e.nodes && e.nodes.length > 0 && (e.nodes[0] && e.nodes[0].spaces && (e.nodes[0].spaces.before = ""), e.nodes[e.nodes.length - 1] && e.nodes[e.nodes.length - 1].spaces && (e.nodes[e.nodes.length - 1].spaces.after = ""));
60625
60528
  }
@@ -60650,7 +60553,7 @@ const creator$17 = () => ({
60650
60553
  });
60651
60554
  creator$17.postcss = !0;
60652
60555
  //#endregion
60653
- //#region ../../node_modules/.pnpm/@csstools+postcss-oklab-function@5.0.6_postcss@8.5.16/node_modules/@csstools/postcss-oklab-function/dist/index.mjs
60556
+ //#region ../../node_modules/.pnpm/@csstools+postcss-oklab-function@5.0.6_postcss@8.5.19/node_modules/@csstools/postcss-oklab-function/dist/index.mjs
60654
60557
  const g$1 = /\b(?:oklab|oklch)\(/i;
60655
60558
  const f$1 = /^(?:oklab|oklch)$/i;
60656
60559
  const basePlugin$1 = (s) => ({
@@ -60688,7 +60591,7 @@ const postcssPlugin$2 = (e) => {
60688
60591
  };
60689
60592
  postcssPlugin$2.postcss = !0;
60690
60593
  //#endregion
60691
- //#region ../../node_modules/.pnpm/postcss-overflow-shorthand@7.0.0_postcss@8.5.16/node_modules/postcss-overflow-shorthand/dist/index.mjs
60594
+ //#region ../../node_modules/.pnpm/postcss-overflow-shorthand@7.0.0_postcss@8.5.19/node_modules/postcss-overflow-shorthand/dist/index.mjs
60692
60595
  var import_postcss_opacity_percentage = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
60693
60596
  const doNothingValues = /* @__PURE__ */ new Set([
60694
60597
  "inherit",
@@ -60737,7 +60640,7 @@ const creator$16 = (o) => {
60737
60640
  };
60738
60641
  creator$16.postcss = !0;
60739
60642
  //#endregion
60740
- //#region ../../node_modules/.pnpm/postcss-place@11.0.0_postcss@8.5.16/node_modules/postcss-place/dist/index.mjs
60643
+ //#region ../../node_modules/.pnpm/postcss-place@11.0.0_postcss@8.5.19/node_modules/postcss-place/dist/index.mjs
60741
60644
  var import_postcss_replace_overflow_wrap = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
60742
60645
  module.exports = function(opts) {
60743
60646
  opts = opts || {};
@@ -60783,7 +60686,7 @@ const creator$15 = (e) => {
60783
60686
  };
60784
60687
  creator$15.postcss = !0;
60785
60688
  //#endregion
60786
- //#region ../../node_modules/.pnpm/@csstools+postcss-position-area-property@2.0.0_postcss@8.5.16/node_modules/@csstools/postcss-position-area-property/dist/index.mjs
60689
+ //#region ../../node_modules/.pnpm/@csstools+postcss-position-area-property@2.0.0_postcss@8.5.19/node_modules/@csstools/postcss-position-area-property/dist/index.mjs
60787
60690
  const o$4 = /^position-area$/i;
60788
60691
  const creator$14 = () => ({
60789
60692
  postcssPlugin: "postcss-position-area-property",
@@ -60796,7 +60699,7 @@ const creator$14 = () => ({
60796
60699
  });
60797
60700
  creator$14.postcss = !0;
60798
60701
  //#endregion
60799
- //#region ../../node_modules/.pnpm/css-prefers-color-scheme@11.0.0_postcss@8.5.16/node_modules/css-prefers-color-scheme/dist/index.mjs
60702
+ //#region ../../node_modules/.pnpm/css-prefers-color-scheme@11.0.0_postcss@8.5.19/node_modules/css-prefers-color-scheme/dist/index.mjs
60800
60703
  const e$4 = /\(\s*prefers-color-scheme\s*:\s*(dark|light)\s*\)/gi;
60801
60704
  const s$4 = "(color: 48842621)";
60802
60705
  const r$2 = "(color: 70318723)";
@@ -60820,7 +60723,7 @@ const creator$13 = (o) => {
60820
60723
  };
60821
60724
  creator$13.postcss = !0;
60822
60725
  //#endregion
60823
- //#region ../../node_modules/.pnpm/@csstools+postcss-property-rule-prelude-list@2.0.0_postcss@8.5.16/node_modules/@csstools/postcss-property-rule-prelude-list/dist/index.mjs
60726
+ //#region ../../node_modules/.pnpm/@csstools+postcss-property-rule-prelude-list@2.0.0_postcss@8.5.19/node_modules/@csstools/postcss-property-rule-prelude-list/dist/index.mjs
60824
60727
  const o$3 = /^property$/i;
60825
60728
  const creator$12 = () => ({
60826
60729
  postcssPlugin: "postcss-property-rule-prelude-list",
@@ -60835,7 +60738,7 @@ const creator$12 = () => ({
60835
60738
  });
60836
60739
  creator$12.postcss = !0;
60837
60740
  //#endregion
60838
- //#region ../../node_modules/.pnpm/@csstools+postcss-random-function@3.0.3_postcss@8.5.16/node_modules/@csstools/postcss-random-function/dist/index.mjs
60741
+ //#region ../../node_modules/.pnpm/@csstools+postcss-random-function@3.0.3_postcss@8.5.19/node_modules/@csstools/postcss-random-function/dist/index.mjs
60839
60742
  const o$2 = String.fromCodePoint(0);
60840
60743
  function randomCacheKeyFromPostcssDeclaration(e) {
60841
60744
  let r = "", t = e.parent;
@@ -60873,7 +60776,7 @@ const creator$11 = (o) => {
60873
60776
  };
60874
60777
  creator$11.postcss = !0;
60875
60778
  //#endregion
60876
- //#region ../../node_modules/.pnpm/postcss-color-rebeccapurple@11.0.0_postcss@8.5.16/node_modules/postcss-color-rebeccapurple/dist/index.mjs
60779
+ //#region ../../node_modules/.pnpm/postcss-color-rebeccapurple@11.0.0_postcss@8.5.19/node_modules/postcss-color-rebeccapurple/dist/index.mjs
60877
60780
  const s$3 = /rebeccapurple/i;
60878
60781
  const t$1 = /^rebeccapurple$/i;
60879
60782
  const creator$10 = (o) => {
@@ -60894,7 +60797,7 @@ const creator$10 = (o) => {
60894
60797
  };
60895
60798
  creator$10.postcss = !0;
60896
60799
  //#endregion
60897
- //#region ../../node_modules/.pnpm/@csstools+postcss-relative-color-syntax@4.0.6_postcss@8.5.16/node_modules/@csstools/postcss-relative-color-syntax/dist/index.mjs
60800
+ //#region ../../node_modules/.pnpm/@csstools+postcss-relative-color-syntax@4.0.6_postcss@8.5.19/node_modules/@csstools/postcss-relative-color-syntax/dist/index.mjs
60898
60801
  const g = /\b(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklch|oklab|color)\(/i;
60899
60802
  const h = /\b(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklch|oklab|color)\(\s*from/i;
60900
60803
  const m$1 = /^(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklch|oklab|color)$/i;
@@ -60934,7 +60837,7 @@ const postcssPlugin$1 = (e) => {
60934
60837
  };
60935
60838
  postcssPlugin$1.postcss = !0;
60936
60839
  //#endregion
60937
- //#region ../../node_modules/.pnpm/@csstools+postcss-scope-pseudo-class@5.0.0_postcss@8.5.16/node_modules/@csstools/postcss-scope-pseudo-class/dist/index.mjs
60840
+ //#region ../../node_modules/.pnpm/@csstools+postcss-scope-pseudo-class@5.0.0_postcss@8.5.19/node_modules/@csstools/postcss-scope-pseudo-class/dist/index.mjs
60938
60841
  const creator$9 = (s) => {
60939
60842
  const r = Object.assign({ preserve: !1 }, s);
60940
60843
  return {
@@ -60972,7 +60875,7 @@ const creator$9 = (s) => {
60972
60875
  };
60973
60876
  creator$9.postcss = !0;
60974
60877
  //#endregion
60975
- //#region ../../node_modules/.pnpm/@csstools+postcss-sign-functions@2.0.3_postcss@8.5.16/node_modules/@csstools/postcss-sign-functions/dist/index.mjs
60878
+ //#region ../../node_modules/.pnpm/@csstools+postcss-sign-functions@2.0.3_postcss@8.5.19/node_modules/@csstools/postcss-sign-functions/dist/index.mjs
60976
60879
  const m = /(?<![-\w])(?:sign|abs)\(/i;
60977
60880
  const f = /(?<![-\w])(?:sign|abs)\(/i;
60978
60881
  const creator$8 = (o) => {
@@ -61084,7 +60987,7 @@ function replacer(e) {
61084
60987
  }
61085
60988
  creator$8.postcss = !0;
61086
60989
  //#endregion
61087
- //#region ../../node_modules/.pnpm/@csstools+postcss-stepped-value-functions@5.0.3_postcss@8.5.16/node_modules/@csstools/postcss-stepped-value-functions/dist/index.mjs
60990
+ //#region ../../node_modules/.pnpm/@csstools+postcss-stepped-value-functions@5.0.3_postcss@8.5.19/node_modules/@csstools/postcss-stepped-value-functions/dist/index.mjs
61088
60991
  const s$2 = /(?<![-\w])(?:mod|rem|round)\(/i;
61089
60992
  const creator$7 = (o) => {
61090
60993
  const t = Object.assign({ preserve: !1 }, o);
@@ -61102,7 +61005,7 @@ const creator$7 = (o) => {
61102
61005
  };
61103
61006
  creator$7.postcss = !0;
61104
61007
  //#endregion
61105
- //#region ../../node_modules/.pnpm/@csstools+postcss-syntax-descriptor-syntax-production@2.0.0_postcss@8.5.16/node_modules/@csstools/postcss-syntax-descriptor-syntax-production/dist/index.mjs
61008
+ //#region ../../node_modules/.pnpm/@csstools+postcss-syntax-descriptor-syntax-production@2.0.0_postcss@8.5.19/node_modules/@csstools/postcss-syntax-descriptor-syntax-production/dist/index.mjs
61106
61009
  const o$1 = /^property$/i;
61107
61010
  const n$1 = /^syntax$/i;
61108
61011
  const creator$6 = (i) => {
@@ -61175,7 +61078,7 @@ const creator$6 = (i) => {
61175
61078
  };
61176
61079
  creator$6.postcss = !0;
61177
61080
  //#endregion
61178
- //#region ../../node_modules/.pnpm/@csstools+postcss-system-ui-font-family@2.0.0_postcss@8.5.16/node_modules/@csstools/postcss-system-ui-font-family/dist/index.mjs
61081
+ //#region ../../node_modules/.pnpm/@csstools+postcss-system-ui-font-family@2.0.0_postcss@8.5.19/node_modules/@csstools/postcss-system-ui-font-family/dist/index.mjs
61179
61082
  const a = /^font(?:-family)?$/i;
61180
61083
  const c$2 = [
61181
61084
  "system-ui",
@@ -61231,7 +61134,7 @@ const creator$5 = (p) => {
61231
61134
  };
61232
61135
  creator$5.postcss = !0;
61233
61136
  //#endregion
61234
- //#region ../../node_modules/.pnpm/@csstools+postcss-text-decoration-shorthand@5.0.4_postcss@8.5.16/node_modules/@csstools/postcss-text-decoration-shorthand/dist/index.mjs
61137
+ //#region ../../node_modules/.pnpm/@csstools+postcss-text-decoration-shorthand@5.0.4_postcss@8.5.19/node_modules/@csstools/postcss-text-decoration-shorthand/dist/index.mjs
61235
61138
  const o = /^text-decoration$/i;
61236
61139
  const creator$4 = (t) => {
61237
61140
  const c = Object.assign({ preserve: !0 }, t);
@@ -61448,7 +61351,7 @@ function genericNodeParts() {
61448
61351
  };
61449
61352
  }
61450
61353
  //#endregion
61451
- //#region ../../node_modules/.pnpm/@csstools+postcss-trigonometric-functions@5.0.3_postcss@8.5.16/node_modules/@csstools/postcss-trigonometric-functions/dist/index.mjs
61354
+ //#region ../../node_modules/.pnpm/@csstools+postcss-trigonometric-functions@5.0.3_postcss@8.5.19/node_modules/@csstools/postcss-trigonometric-functions/dist/index.mjs
61452
61355
  const e$2 = /(?<![-\w])(?:asin|acos|atan|atan2|sin|cos|tan)\(/i;
61453
61356
  const creator$3 = (o) => {
61454
61357
  const t = Object.assign({ preserve: !1 }, o);
@@ -61466,7 +61369,7 @@ const creator$3 = (o) => {
61466
61369
  };
61467
61370
  creator$3.postcss = !0;
61468
61371
  //#endregion
61469
- //#region ../../node_modules/.pnpm/@csstools+postcss-unset-value@5.0.0_postcss@8.5.16/node_modules/@csstools/postcss-unset-value/dist/index.mjs
61372
+ //#region ../../node_modules/.pnpm/@csstools+postcss-unset-value@5.0.0_postcss@8.5.19/node_modules/@csstools/postcss-unset-value/dist/index.mjs
61470
61373
  const e$1 = /* @__PURE__ */ new Set([
61471
61374
  "block-ellipsis",
61472
61375
  "border-boundary",
@@ -61906,7 +61809,7 @@ const creator$2 = (o) => {
61906
61809
  };
61907
61810
  creator$2.postcss = !0;
61908
61811
  //#endregion
61909
- //#region ../../node_modules/.pnpm/postcss-preset-env@11.3.2_postcss@8.5.16/node_modules/postcss-preset-env/dist/index.mjs
61812
+ //#region ../../node_modules/.pnpm/postcss-preset-env@11.3.2_postcss@8.5.19/node_modules/postcss-preset-env/dist/index.mjs
61910
61813
  const ks = {
61911
61814
  "blank-pseudo-class": "https://github.com/csstools/postcss-plugins/blob/main/plugins/css-blank-pseudo/README.md#browser",
61912
61815
  "focus-visible-pseudo-class": "https://github.com/WICG/focus-visible",
@@ -62684,6 +62587,279 @@ const creator$1 = (e) => {
62684
62587
  };
62685
62588
  creator$1.postcss = !0;
62686
62589
  //#endregion
62590
+ //#region src/compat/mini-program-css/prune-generated.ts
62591
+ const DEFAULT_WEAPP_VARIABLE_SCOPE = "page,.tw-root,wx-root-portal-content,:host";
62592
+ const MINI_PROGRAM_PSEUDO_CONTENT_SCOPE_SELECTOR = "::before,\n::after";
62593
+ const CLASS_SELECTOR_RE = /(?:^|[^\w-])\.[_a-z\u00A0-\uFFFF\\-]/i;
62594
+ /**
62595
+ * 在交给框架 PostCSS 前展开 Tailwind 生成的嵌套规则,并裁剪 Web-only 结构。
62596
+ */
62597
+ async function normalizeMiniProgramGeneratedCssForPostcss(css, options = {}) {
62598
+ return pruneMiniProgramGeneratedCss((await postcss$1([creator$1({
62599
+ stage: false,
62600
+ features: { "nesting-rules": true },
62601
+ autoprefixer: false
62602
+ })]).process(css, { from: void 0 })).css, options);
62603
+ }
62604
+ function isConditionalCompilationComment(text) {
62605
+ return /#(?:ifn?def|endif)\b/.test(text);
62606
+ }
62607
+ function hasClassSelector$1(selector) {
62608
+ return CLASS_SELECTOR_RE.test(selector);
62609
+ }
62610
+ function hasClassRuleAncestor(rule) {
62611
+ let parent = rule.parent;
62612
+ while (parent) {
62613
+ if (parent.type === "rule" && hasClassSelector$1(parent.selector)) return true;
62614
+ parent = parent.parent;
62615
+ }
62616
+ return false;
62617
+ }
62618
+ function removeEmptyContentInitDeclarations(rule) {
62619
+ rule.walkDecls((decl) => {
62620
+ if (isEmptyTwContentDeclaration(decl)) decl.remove();
62621
+ });
62622
+ }
62623
+ function isMiniProgramElementVariableScopeRule(rule) {
62624
+ const selectors = getRuleSelectors(rule);
62625
+ return selectors.length > 0 && selectors.every((selector) => MINI_PROGRAM_ELEMENT_SCOPE_SELECTORS.has(selector));
62626
+ }
62627
+ function isMiniProgramNativeElementRule(rule) {
62628
+ const selectors = getRuleSelectors(rule);
62629
+ return selectors.length > 0 && selectors.every((selector) => isMiniProgramNativeElementSelector(selector)) && !isMiniProgramPreflightRule(rule);
62630
+ }
62631
+ function isOnlyTwContentDeclarations(rule) {
62632
+ let hasDeclaration = false;
62633
+ let onlyContentVariable = true;
62634
+ rule.walkDecls((decl) => {
62635
+ hasDeclaration = true;
62636
+ if (decl.prop !== "--tw-content") onlyContentVariable = false;
62637
+ });
62638
+ return hasDeclaration && onlyContentVariable;
62639
+ }
62640
+ function isMiniProgramElementContentInitRule(rule) {
62641
+ if (!isMiniProgramElementVariableScopeRule(rule)) return false;
62642
+ let hasElementSelector = false;
62643
+ let hasPseudoSelector = false;
62644
+ for (const selector of getRuleSelectors(rule)) if (selector === "view" || selector === "text") hasElementSelector = true;
62645
+ else if (selector === "::before" || selector === "::after") hasPseudoSelector = true;
62646
+ return hasElementSelector && hasPseudoSelector && isOnlyTwContentDeclarations(rule);
62647
+ }
62648
+ function hasMiniProgramElementContentInit(root) {
62649
+ let found = false;
62650
+ root.walkRules((rule) => {
62651
+ if (!isMiniProgramElementVariableScopeRule(rule)) return;
62652
+ rule.walkDecls("--tw-content", (decl) => {
62653
+ if (isEmptyTwContentDeclaration(decl)) found = true;
62654
+ });
62655
+ });
62656
+ return found;
62657
+ }
62658
+ function ensureMiniProgramElementContentInit(root) {
62659
+ if (hasMiniProgramElementContentInit(root)) return;
62660
+ let defaultScopeRule;
62661
+ root.walkRules((rule) => {
62662
+ if (rule.selector === "view,text,::after,::before") {
62663
+ defaultScopeRule = rule;
62664
+ return false;
62665
+ }
62666
+ });
62667
+ const declaration = postcss$1.decl({
62668
+ prop: "--tw-content",
62669
+ value: "\"\""
62670
+ });
62671
+ if (defaultScopeRule) {
62672
+ defaultScopeRule.append(declaration);
62673
+ return;
62674
+ }
62675
+ root.prepend(postcss$1.rule({
62676
+ selector: MINI_PROGRAM_ELEMENT_SCOPE_SELECTOR,
62677
+ nodes: [declaration]
62678
+ }));
62679
+ }
62680
+ function isTailwindV4GradientRuntimeDeclaration(decl) {
62681
+ return decl.prop.startsWith("--tw-gradient-");
62682
+ }
62683
+ function moveTailwindV4GradientRuntimeDeclarations(rule) {
62684
+ const gradientDeclarations = [];
62685
+ rule.walkDecls((decl) => {
62686
+ if (isTailwindV4GradientRuntimeDeclaration(decl)) {
62687
+ gradientDeclarations.push(decl.clone());
62688
+ decl.remove();
62689
+ }
62690
+ });
62691
+ if (gradientDeclarations.length > 0) rule.before(new postcss$1.Rule({
62692
+ selector: MINI_PROGRAM_ELEMENT_SCOPE_SELECTOR,
62693
+ nodes: gradientDeclarations
62694
+ }));
62695
+ if (rule.nodes.length === 0) rule.remove();
62696
+ }
62697
+ function isKeyframesRule(rule) {
62698
+ let parent = rule.parent;
62699
+ while (parent) {
62700
+ if (parent.type === "atrule" && parent.name.endsWith("keyframes")) return true;
62701
+ parent = parent.parent;
62702
+ }
62703
+ return false;
62704
+ }
62705
+ /**
62706
+ * 裁剪 Tailwind 生成 CSS 中面向浏览器的 classless 规则。
62707
+ */
62708
+ function pruneMiniProgramGeneratedCss(css, options = {}) {
62709
+ const root = postcss$1.parse(css);
62710
+ const shouldPreserveContentInit = options.preservePreflight || usesTwContentVariable(root);
62711
+ root.walkComments((comment) => {
62712
+ if (options.preserveConditionalComments && isConditionalCompilationComment(comment.text)) return;
62713
+ comment.remove();
62714
+ });
62715
+ removeUnsupportedCascadeLayers(root);
62716
+ removeSpecificityPlaceholders(root);
62717
+ removeUnsupportedModernColorDeclarations(root);
62718
+ removeTailwindContainerMaxWidthMediaRules(root);
62719
+ removeTailwindContainerWidthRules(root);
62720
+ root.walkAtRules("supports", (atRule) => {
62721
+ atRule.remove();
62722
+ });
62723
+ root.walkAtRules((atRule) => {
62724
+ removeUnsupportedMiniProgramPrefixedAtRule(atRule);
62725
+ });
62726
+ root.walkDecls((decl) => {
62727
+ normalizeMiniProgramPrefixedDeclaration(decl);
62728
+ });
62729
+ root.walkRules((rule) => {
62730
+ if (isKeyframesRule(rule)) return;
62731
+ if (isPseudoContentInitRule(rule)) {
62732
+ if (!shouldPreserveContentInit) rule.remove();
62733
+ return;
62734
+ }
62735
+ if (isMiniProgramElementContentInitRule(rule)) {
62736
+ if (!shouldPreserveContentInit) {
62737
+ rule.remove();
62738
+ return;
62739
+ }
62740
+ rule.selector = MINI_PROGRAM_PSEUDO_CONTENT_SCOPE_SELECTOR;
62741
+ return;
62742
+ }
62743
+ if (isCustomPropertyRule(rule) && isMiniProgramElementVariableScopeRule(rule)) {
62744
+ rule.selector = MINI_PROGRAM_ELEMENT_SCOPE_SELECTOR;
62745
+ return;
62746
+ }
62747
+ if (options.preserveRawClassRules && (hasClassSelector$1(rule.selector) || hasClassRuleAncestor(rule))) return;
62748
+ if (isUnsupportedBrowserPreflightSelector(rule.selector)) {
62749
+ rule.remove();
62750
+ return;
62751
+ }
62752
+ if (isBrowserElementPreflightRule(rule)) {
62753
+ rule.remove();
62754
+ return;
62755
+ }
62756
+ if (isMiniProgramNativeElementRule(rule)) return;
62757
+ if (isMiniProgramThemeVariableRule(rule)) {
62758
+ moveTailwindV4GradientRuntimeDeclarations(rule);
62759
+ if (!rule.parent) return;
62760
+ rule.selector = DEFAULT_WEAPP_VARIABLE_SCOPE;
62761
+ return;
62762
+ }
62763
+ if (hasClassSelector$1(rule.selector)) return;
62764
+ if (!shouldPreserveContentInit) removeEmptyContentInitDeclarations(rule);
62765
+ if (isMiniProgramPreflightRule(rule)) {
62766
+ if (options.preservePreflight) return;
62767
+ rule.remove();
62768
+ return;
62769
+ }
62770
+ if (isCustomPropertyRule(rule)) {
62771
+ moveTailwindV4GradientRuntimeDeclarations(rule);
62772
+ if (!rule.parent) return;
62773
+ rule.selector = DEFAULT_WEAPP_VARIABLE_SCOPE;
62774
+ return;
62775
+ }
62776
+ rule.remove();
62777
+ });
62778
+ if (shouldPreserveContentInit) ensureMiniProgramElementContentInit(root);
62779
+ root.walkAtRules((atRule) => {
62780
+ if (!atRule.nodes || atRule.nodes.length === 0) atRule.remove();
62781
+ });
62782
+ return root.toString();
62783
+ }
62784
+ //#endregion
62785
+ //#region src/compat/tailwindcss-rpx.ts
62786
+ const LENGTH_VALUE_REGEXP = /^[+-]?(?:\d+(?:\.\d+)?|\.\d+)(?:e[+-]?\d+)?rpx$/i;
62787
+ const RPX_DIMENSION_REGEXP = /^([+-]?(?:\d+(?:\.\d+)?|\.\d+)(?:e[+-]?\d+)?)rpx$/i;
62788
+ const DEFAULT_RPX_TO_REM_ROOT_VALUE = 32;
62789
+ const DEFAULT_RPX_TO_REM_UNIT_PRECISION = 5;
62790
+ function formatRpxToRemValue(value, precision) {
62791
+ const fixed = Number(value.toFixed(precision));
62792
+ return Object.is(fixed, -0) ? 0 : fixed;
62793
+ }
62794
+ function convertTailwindcssRpxValueToRem(value, options) {
62795
+ if (!value.includes("rpx") && !value.includes("RPX")) return value;
62796
+ let changed = false;
62797
+ const rootValue = options?.rootValue ?? DEFAULT_RPX_TO_REM_ROOT_VALUE;
62798
+ const unitPrecision = options?.unitPrecision ?? DEFAULT_RPX_TO_REM_UNIT_PRECISION;
62799
+ const parsed = valueParser(value);
62800
+ parsed.walk((node) => {
62801
+ if (node.type !== "word") return;
62802
+ const match = RPX_DIMENSION_REGEXP.exec(node.value);
62803
+ if (!match) return;
62804
+ node.value = `${formatRpxToRemValue(Number(match[1]) / rootValue, unitPrecision)}rem`;
62805
+ changed = true;
62806
+ });
62807
+ return changed ? parsed.toString() : value;
62808
+ }
62809
+ function normalizeTailwindcssRpxDeclaration(decl, options) {
62810
+ const majorVersion = options?.majorVersion;
62811
+ const normalizedValue = decl.value.trim();
62812
+ if (LENGTH_VALUE_REGEXP.test(normalizedValue) && (majorVersion === void 0 || majorVersion === 4)) {
62813
+ const lowerProp = decl.prop.toLowerCase();
62814
+ if (lowerProp === "color") {
62815
+ decl.prop = "font-size";
62816
+ return true;
62817
+ }
62818
+ if (lowerProp === "background-color") {
62819
+ decl.prop = "background-size";
62820
+ return true;
62821
+ }
62822
+ if (lowerProp === "outline-color") {
62823
+ decl.prop = "outline-width";
62824
+ return true;
62825
+ }
62826
+ if (lowerProp.startsWith("border") && lowerProp.endsWith("color")) {
62827
+ decl.prop = `${decl.prop.slice(0, -5)}width`;
62828
+ return true;
62829
+ }
62830
+ if (lowerProp === "--tw-ring-color") {
62831
+ decl.prop = "--tw-ring-offset-width";
62832
+ return true;
62833
+ }
62834
+ }
62835
+ return false;
62836
+ }
62837
+ function normalizeTailwindcssRpxDeclarations(root, options) {
62838
+ let changed = false;
62839
+ root.walkDecls((decl) => {
62840
+ changed = normalizeTailwindcssRpxDeclaration(decl, options) || changed;
62841
+ });
62842
+ return changed;
62843
+ }
62844
+ function convertTailwindcssRpxDeclarationToRem(decl, options) {
62845
+ const value = convertTailwindcssRpxValueToRem(decl.value, options);
62846
+ if (value === decl.value) return false;
62847
+ decl.value = value;
62848
+ return true;
62849
+ }
62850
+ function convertTailwindcssRpxDeclarationsToRem(root, options) {
62851
+ let changed = false;
62852
+ root.walkDecls((decl) => {
62853
+ changed = convertTailwindcssRpxDeclarationToRem(decl, options) || changed;
62854
+ });
62855
+ return changed;
62856
+ }
62857
+ function normalizeTailwindcssWebRpxDeclarations(root, options) {
62858
+ const normalized = normalizeTailwindcssRpxDeclarations(root, options);
62859
+ const converted = convertTailwindcssRpxDeclarationsToRem(root, options);
62860
+ return normalized || converted;
62861
+ }
62862
+ //#endregion
62687
62863
  //#region src/shared.ts
62688
62864
  const escapeOptionsCache = /* @__PURE__ */ new WeakMap();
62689
62865
  function getEscapeOptions(escapeMap) {
@@ -62911,7 +63087,6 @@ function transformWebCssCompat(css, options) {
62911
63087
  try {
62912
63088
  const root = postcss$1.parse(css);
62913
63089
  if (normalized.features.theme) unwrapThemeAtRules(root);
62914
- if (normalized.features.layer) removeUnsupportedCascadeLayers(root);
62915
63090
  if (normalized.features.property) {
62916
63091
  const registeredProperties = collectRegisteredCustomPropertyFallbacks(root);
62917
63092
  insertRegisteredCustomPropertyFallbackRule(root, registeredProperties);
@@ -62922,6 +63097,7 @@ function transformWebCssCompat(css, options) {
62922
63097
  normalizeTailwindcssV4GradientPositionDeclarations(root);
62923
63098
  normalizeTailwindcssV4InfinityCalcDeclarations(root);
62924
63099
  normalizeModernColorDeclarations(root, normalized.features);
63100
+ if (normalized.features.layer) removeUnsupportedCascadeLayers(root);
62925
63101
  removeEmptyAtRules$1(root);
62926
63102
  return root.toString();
62927
63103
  } catch {
@@ -63424,7 +63600,7 @@ function resolveSourceScanPath(value) {
63424
63600
  }
63425
63601
  }
63426
63602
  function normalizeEntryPattern(entry) {
63427
- return path.isAbsolute(entry.pattern) ? toPosixPath(path.relative(resolveSourceScanPath(entry.base), entry.pattern)) : entry.pattern;
63603
+ return path.isAbsolute(entry.pattern) ? toPosixPath(path.relative(resolveSourceScanPath(entry.base), resolveSourceScanPath(entry.pattern))) : entry.pattern;
63428
63604
  }
63429
63605
  function isFileMatchedByTailwindSourceEntry(file, entry) {
63430
63606
  const relative = toPosixPath(path.relative(resolveSourceScanPath(entry.base), file));
@@ -64076,6 +64252,27 @@ function splitLocalCssImports(source) {
64076
64252
  return;
64077
64253
  }
64078
64254
  }
64255
+ function removeMatchingLocalCssImportsRoot(root, importsRoot) {
64256
+ const requests = collectCssImportRequestsRoot(importsRoot, { isSupportedImportRequest: isLocalCssImportRequest });
64257
+ if (requests.size === 0) return false;
64258
+ let changed = false;
64259
+ root.walkAtRules("import", (atRule) => {
64260
+ const request = parseImportRequest(atRule.params);
64261
+ if (!request || !requests.has(request)) return;
64262
+ atRule.remove();
64263
+ changed = true;
64264
+ });
64265
+ return changed;
64266
+ }
64267
+ function removeMatchingLocalCssImports(source, imports) {
64268
+ if (!imports?.includes("@import") || !source.includes("@import")) return source;
64269
+ try {
64270
+ const root = postcss.parse(source);
64271
+ return removeMatchingLocalCssImportsRoot(root, postcss.parse(imports)) ? root.toString() : source;
64272
+ } catch {
64273
+ return source;
64274
+ }
64275
+ }
64079
64276
  function normalizeOutputPath(file) {
64080
64277
  const segments = [];
64081
64278
  for (const segment of file.replace(/\\/g, "/").replace(/^\/+/, "").split("/")) {
@@ -64203,7 +64400,6 @@ function getDefaultOptions(options) {
64203
64400
  return {
64204
64401
  cssPresetEnv: {
64205
64402
  features: {
64206
- "cascade-layers": true,
64207
64403
  "is-pseudo-class": { specificityMatchingName: "weapp-tw-ig" },
64208
64404
  "oklab-function": true,
64209
64405
  "color-mix": true,
@@ -64565,16 +64761,29 @@ function createContext() {
64565
64761
  }
64566
64762
  //#endregion
64567
64763
  //#region src/plugins/getCalcDuplicateCleaner.ts
64764
+ const MULTIPLICATION_GROUP_RE = /\((var\([^()]+\)(?:\s*\*\s*-?(?:\d+(?:\.\d+)?|\.\d+|[a-z_][\w-]*))+)\)/gi;
64765
+ function normalizeCalcValue$1(value) {
64766
+ if (!value.includes("calc(")) return value;
64767
+ let normalized = value.replace(/\s+/g, "");
64768
+ let previous;
64769
+ do {
64770
+ previous = normalized;
64771
+ normalized = normalized.replace(MULTIPLICATION_GROUP_RE, "$1");
64772
+ } while (normalized !== previous);
64773
+ return normalized;
64774
+ }
64568
64775
  const calcDuplicateCleanerPlugin = {
64569
64776
  postcssPlugin: "postcss-calc-duplicate-cleaner",
64570
- Rule(rule) {
64571
- rule.walkDecls((decl) => {
64572
- const prev = decl.prev();
64573
- if (!prev || prev.type !== "decl") return;
64574
- if (prev.prop !== decl.prop) return;
64575
- if (prev.important !== decl.important) return;
64576
- if (prev.value !== decl.value) return;
64577
- decl.remove();
64777
+ OnceExit(root) {
64778
+ root.walkRules((rule) => {
64779
+ const declarations = /* @__PURE__ */ new Set();
64780
+ for (const node of [...rule.nodes]) {
64781
+ if (node.type !== "decl") continue;
64782
+ const decl = node;
64783
+ const key = `${decl.prop}\0${decl.important ? "1" : "0"}\0${normalizeCalcValue$1(decl.value)}`;
64784
+ if (declarations.has(key)) decl.remove();
64785
+ else declarations.add(key);
64786
+ }
64578
64787
  });
64579
64788
  }
64580
64789
  };
@@ -66062,34 +66271,26 @@ const postcssWeappTailwindcssPrePlugin = (options) => {
66062
66271
  else if (isTailwindcssV4LinearGradientSupports(atRule)) removeAtRuleAndEmptyAncestors(atRule);
66063
66272
  else if (isTailwindcssV4DisplayP3Supports(atRule)) removeAtRuleAndEmptyAncestors(atRule);
66064
66273
  } else if (isTailwindcssV4DisplayP3Media(atRule)) removeAtRuleAndEmptyAncestors(atRule);
66065
- else if (atRule.name === "layer") {
66066
- if (atRule.nodes === void 0 || Array.isArray(atRule.nodes) && atRule.nodes.length === 0) atRule.remove();
66067
- }
66068
66274
  },
66069
66275
  Declaration(decl) {
66070
66276
  if (isTailwindcssV4DisplayP3Declaration(decl)) removeDeclarationAndEmptyRule(decl);
66071
66277
  }
66072
66278
  };
66073
- if (opts.isMainChunk) {
66074
- let layerProperties;
66075
- p.Once = (root) => {
66076
- root.walkAtRules((atRule) => {
66077
- if (atRule.name === "layer") if (atRule.params === "properties") {
66078
- if (atRule.nodes === void 0 || atRule.nodes?.length === 0) layerProperties = atRule;
66079
- else if (atRule.first?.type === "atrule" && isTailwindcssV4ModernCheck(atRule.first)) if (layerProperties) {
66080
- layerProperties.replaceWith(atRule.first.nodes);
66081
- atRule.remove();
66082
- } else atRule.replaceWith(atRule.first.nodes);
66083
- } else atRule.replaceWith(atRule.nodes);
66084
- else if (isTailwindcssV4ModernCheck(atRule)) {
66085
- if (atRule.first?.type === "atrule" && atRule.first.name === "layer") atRule.replaceWith(atRule.first.nodes);
66279
+ if (opts.isMainChunk) p.Once = (root) => {
66280
+ root.walkAtRules((atRule) => {
66281
+ if (atRule.name === "layer") {
66282
+ if (atRule.params === "properties") {
66283
+ if (atRule.first?.type === "atrule" && isTailwindcssV4ModernCheck(atRule.first)) atRule.first.replaceWith(atRule.first.nodes ?? []);
66086
66284
  }
66087
- });
66088
- root.walkRules((rule) => {
66089
- commonChunkPreflight(rule, opts);
66090
- });
66091
- };
66092
- }
66285
+ } else if (isTailwindcssV4ModernCheck(atRule)) {
66286
+ if (atRule.first?.type === "atrule" && atRule.first.name === "layer") atRule.replaceWith(atRule.first);
66287
+ }
66288
+ });
66289
+ consumeCascadeLayers(root);
66290
+ root.walkRules((rule) => {
66291
+ commonChunkPreflight(rule, opts);
66292
+ });
66293
+ };
66093
66294
  return p;
66094
66295
  };
66095
66296
  postcssWeappTailwindcssPrePlugin.postcss = true;
@@ -66125,7 +66326,13 @@ function shouldUseDefaultAutoprefixer(options, userPlugins) {
66125
66326
  function createPreparedNodes(options, signal) {
66126
66327
  const preparedNodes = [];
66127
66328
  const userPlugins = normalizeUserPlugins(options.postcssOptions?.plugins);
66128
- const presetEnvOptions = options.cssPresetEnv;
66329
+ const presetEnvOptions = {
66330
+ ...options.cssPresetEnv,
66331
+ features: {
66332
+ ...options.cssPresetEnv?.features,
66333
+ "cascade-layers": false
66334
+ }
66335
+ };
66129
66336
  userPlugins.forEach((plugin, index) => {
66130
66337
  preparedNodes.push(createPreparedNode(`pre:user-${index}`, "pre", () => plugin));
66131
66338
  });
@@ -66417,24 +66624,32 @@ function removeTailwindPostcssPlugins(plugins) {
66417
66624
  }
66418
66625
  return removed;
66419
66626
  }
66420
- async function resolveFilteredPostcssConfig(root) {
66627
+ async function resolvePostcssConfig(root, ctx = {}) {
66421
66628
  try {
66422
- const loaded = await postcssrc({}, root);
66423
- const plugins = Array.isArray(loaded.plugins) ? [...loaded.plugins] : [];
66424
- const removed = removeTailwindPostcssPlugins(plugins);
66425
- if (removed === 0) return;
66629
+ const loaded = await postcssrc(ctx, root);
66426
66630
  return {
66427
66631
  options: loaded.options,
66428
- plugins,
66429
- removed
66632
+ plugins: Array.isArray(loaded.plugins) ? [...loaded.plugins] : []
66430
66633
  };
66431
66634
  } catch (error) {
66432
66635
  if ((error instanceof Error ? error.message : String(error)).includes("No PostCSS Config found")) return;
66433
66636
  throw error;
66434
66637
  }
66435
66638
  }
66639
+ async function resolveFilteredPostcssConfig(root) {
66640
+ const loaded = await resolvePostcssConfig(root);
66641
+ if (!loaded) return;
66642
+ const plugins = [...loaded.plugins];
66643
+ const removed = removeTailwindPostcssPlugins(plugins);
66644
+ if (removed === 0) return;
66645
+ return {
66646
+ options: loaded.options,
66647
+ plugins,
66648
+ removed
66649
+ };
66650
+ }
66436
66651
  //#endregion
66437
- //#region src/vite-css-rules.ts
66652
+ //#region src/vite-css-rules/structure.ts
66438
66653
  const MINI_PROGRAM_PREFLIGHT_SELECTOR_KEY = "view,text,::after,::before";
66439
66654
  const MINI_PROGRAM_PREFLIGHT_SELECTOR_KEYS = /* @__PURE__ */ new Set([
66440
66655
  "view",
@@ -66513,6 +66728,12 @@ function parseVarFallbackValue(value) {
66513
66728
  const fallback = body.slice(commaIndex + 1).trim();
66514
66729
  return fallback.length > 0 ? fallback : void 0;
66515
66730
  }
66731
+ function parseVarReferenceValue(value) {
66732
+ const trimmed = value.trim();
66733
+ if (!trimmed.startsWith("var(") || !trimmed.endsWith(")")) return;
66734
+ const body = trimmed.slice(4, -1).trim();
66735
+ return body.startsWith("--") && !body.includes(",") && !/\s/.test(body) ? body : void 0;
66736
+ }
66516
66737
  function isEquivalentVarFallbackDeclaration(incoming, baseDeclarations) {
66517
66738
  const fallback = parseVarFallbackValue(incoming.value);
66518
66739
  if (!fallback) return false;
@@ -66581,6 +66802,155 @@ function collectCssRuleDeclarationRecords(root, resolveRuleKey = getCssRuleStruc
66581
66802
  });
66582
66803
  return map;
66583
66804
  }
66805
+ //#endregion
66806
+ //#region src/vite-css-rules/coverage.ts
66807
+ function isCssRuleCoveredByDeclarations(rule, baseRuleDeclarationKeys) {
66808
+ const key = getCssRuleStructuralKey(rule);
66809
+ if (!key) return false;
66810
+ const baseDeclarations = baseRuleDeclarationKeys.get(key);
66811
+ if (!baseDeclarations) return false;
66812
+ return collectCssRuleDeclarationKeys(rule).size > 0 && collectCssRuleDeclarations(rule).every((decl) => baseDeclarations.has(normalizeCssDeclarationKey(decl)) || isEquivalentVarFallbackDeclaration(decl, baseDeclarations) || isCoveredByBaseVarFallbackDeclaration(decl, baseDeclarations));
66813
+ }
66814
+ function removeDuplicateLeadingComment(rule, targetRule) {
66815
+ const comment = rule.prev();
66816
+ const targetComment = targetRule.prev();
66817
+ if (comment?.type === "comment" && targetComment?.type === "comment" && normalizeCssForContainment(comment.text) === normalizeCssForContainment(targetComment.text)) comment.remove();
66818
+ }
66819
+ function dedupeCoveredCssRules(css) {
66820
+ try {
66821
+ const root = postcss.parse(css);
66822
+ const recordsByParent = /* @__PURE__ */ new WeakMap();
66823
+ let changed = false;
66824
+ root.walkRules((rule) => {
66825
+ const key = getCssRuleStructuralKey(rule);
66826
+ const incomingDeclarations = collectCssRuleDeclarations(rule);
66827
+ if (!key || incomingDeclarations.length === 0 || !rule.parent) return;
66828
+ let records = recordsByParent.get(rule.parent);
66829
+ if (!records) {
66830
+ records = /* @__PURE__ */ new Map();
66831
+ recordsByParent.set(rule.parent, records);
66832
+ }
66833
+ const targetRule = records.get(key);
66834
+ if (targetRule) {
66835
+ const incomingKeys = collectCssRuleDeclarationKeys(rule);
66836
+ if (collectCssRuleDeclarations(targetRule).every((decl) => incomingKeys.has(normalizeCssDeclarationKey(decl)) || isEquivalentVarFallbackDeclaration(decl, incomingKeys) || isCoveredByBaseVarFallbackDeclaration(decl, incomingKeys))) {
66837
+ removeDuplicateLeadingComment(targetRule, rule);
66838
+ targetRule.remove();
66839
+ changed = true;
66840
+ }
66841
+ }
66842
+ records.set(key, rule);
66843
+ });
66844
+ return changed ? root.toString() : css;
66845
+ } catch {
66846
+ return css;
66847
+ }
66848
+ }
66849
+ function mergeCoveredCssRuleDeclarations(baseCss, css) {
66850
+ try {
66851
+ const baseRoot = postcss.parse(baseCss);
66852
+ const root = postcss.parse(css);
66853
+ const baseRuleRecords = collectCssRuleDeclarationRecords(baseRoot);
66854
+ let changedBase = false;
66855
+ let changedCss = false;
66856
+ root.walkRules((rule) => {
66857
+ const key = getCssRuleStructuralKey(rule);
66858
+ const records = key ? baseRuleRecords.get(key) : void 0;
66859
+ if (!records || records.length === 0) return;
66860
+ const incomingDeclarations = collectCssRuleDeclarations(rule);
66861
+ if (incomingDeclarations.length === 0) return;
66862
+ const baseKeys = new Set(records.flatMap((record) => [...record.keys]));
66863
+ if (incomingDeclarations.filter((decl) => baseKeys.has(normalizeCssDeclarationKey(decl))).length === 0) return;
66864
+ const missingDeclarations = incomingDeclarations.filter((decl) => !baseKeys.has(normalizeCssDeclarationKey(decl)));
66865
+ if (missingDeclarations.length === 0) {
66866
+ rule.remove();
66867
+ changedCss = true;
66868
+ return;
66869
+ }
66870
+ const baseProps = new Set(records.flatMap((record) => [...record.props]));
66871
+ const mergeableFallbacks = /* @__PURE__ */ new Map();
66872
+ if (missingDeclarations.filter((decl) => {
66873
+ if (!baseProps.has(decl.prop.trim())) return false;
66874
+ const matchingVariable = incomingDeclarations.find((candidate) => candidate.prop.startsWith("--") && candidate.important === decl.important && normalizeCssForContainment(candidate.value) === normalizeCssForContainment(decl.value));
66875
+ if (!matchingVariable) return true;
66876
+ const targetDeclaration = records.flatMap((record) => collectCssRuleDeclarations(record.rule)).find((candidate) => candidate.prop.trim() === decl.prop.trim() && candidate.important === decl.important && parseVarReferenceValue(candidate.value) === matchingVariable.prop.trim());
66877
+ if (!targetDeclaration) return true;
66878
+ mergeableFallbacks.set(decl, targetDeclaration);
66879
+ return false;
66880
+ }).length > 0) return;
66881
+ const targetRecord = records[0];
66882
+ if (!targetRecord) return;
66883
+ for (const decl of missingDeclarations) {
66884
+ const fallbackTarget = mergeableFallbacks.get(decl);
66885
+ if (fallbackTarget) fallbackTarget.before(decl.clone());
66886
+ else targetRecord.rule.append(decl.clone());
66887
+ targetRecord.keys.add(normalizeCssDeclarationKey(decl));
66888
+ targetRecord.props.add(decl.prop.trim());
66889
+ }
66890
+ rule.remove();
66891
+ changedBase = true;
66892
+ changedCss = true;
66893
+ });
66894
+ if (!changedBase && !changedCss) return {
66895
+ baseCss,
66896
+ css,
66897
+ changed: false
66898
+ };
66899
+ removeEmptyAtRules(root);
66900
+ return {
66901
+ baseCss: changedBase ? baseRoot.toString() : baseCss,
66902
+ css: changedCss ? root.toString().trim() : css,
66903
+ changed: true
66904
+ };
66905
+ } catch {
66906
+ return {
66907
+ baseCss,
66908
+ css,
66909
+ changed: false
66910
+ };
66911
+ }
66912
+ }
66913
+ function removeEmptyAtRules(root) {
66914
+ root.walkAtRules((atRule) => {
66915
+ if (atRule.nodes && atRule.nodes.every((node) => node.type === "comment")) atRule.remove();
66916
+ });
66917
+ }
66918
+ //#endregion
66919
+ //#region src/vite-css-rules/containment.ts
66920
+ function filterExistingCssRules(baseCss, css) {
66921
+ const baseRuleKeys = collectCssRuleContentKeys(baseCss);
66922
+ if (baseRuleKeys.size === 0) return css;
66923
+ try {
66924
+ const root = postcss.parse(css);
66925
+ const baseRuleDeclarationKeys = collectCssRuleDeclarationKeyMap(baseCss);
66926
+ let changed = false;
66927
+ root.walkRules((rule) => {
66928
+ const key = getCssRuleContentKey(rule);
66929
+ if (key && baseRuleKeys.has(key) || isCssRuleCoveredByDeclarations(rule, baseRuleDeclarationKeys)) {
66930
+ rule.remove();
66931
+ changed = true;
66932
+ }
66933
+ });
66934
+ if (!changed) return css;
66935
+ removeEmptyAtRules(root);
66936
+ return root.toString().trim();
66937
+ } catch {
66938
+ return css;
66939
+ }
66940
+ }
66941
+ function containsCssAfterMinify(baseCss, css) {
66942
+ if (baseCss.includes(css)) return true;
66943
+ const normalizedBaseCss = normalizeCssForContainment(baseCss);
66944
+ const normalizedCss = normalizeCssForContainment(css);
66945
+ if (normalizedCss.length > 0 && normalizedBaseCss.includes(normalizedCss)) return true;
66946
+ const normalizedNodes = collectNormalizedCssNodes(css);
66947
+ if (normalizedNodes.length > 0 && normalizedNodes.every((node) => normalizedBaseCss.includes(node))) return true;
66948
+ const baseRuleKeys = collectCssRuleContentKeys(baseCss);
66949
+ const ruleKeys = collectCssRuleContentKeys(css);
66950
+ return ruleKeys.size > 0 && [...ruleKeys].every((key) => baseRuleKeys.has(key));
66951
+ }
66952
+ //#endregion
66953
+ //#region src/vite-css-rules/mini-program.ts
66584
66954
  function normalizeSimpleMiniProgramSelectorNode(node) {
66585
66955
  if (node.type === "tag") {
66586
66956
  const value = node.value.toLowerCase();
@@ -66723,102 +67093,5 @@ function mergeMiniProgramThemeScopeRuleDeclarations(baseCss, css) {
66723
67093
  };
66724
67094
  }
66725
67095
  }
66726
- function isCssRuleCoveredByDeclarations(rule, baseRuleDeclarationKeys) {
66727
- const key = getCssRuleStructuralKey(rule);
66728
- if (!key) return false;
66729
- const baseDeclarations = baseRuleDeclarationKeys.get(key);
66730
- if (!baseDeclarations) return false;
66731
- return collectCssRuleDeclarationKeys(rule).size > 0 && collectCssRuleDeclarations(rule).every((decl) => baseDeclarations.has(normalizeCssDeclarationKey(decl)) || isEquivalentVarFallbackDeclaration(decl, baseDeclarations) || isCoveredByBaseVarFallbackDeclaration(decl, baseDeclarations));
66732
- }
66733
- function mergeCoveredCssRuleDeclarations(baseCss, css) {
66734
- try {
66735
- const baseRoot = postcss.parse(baseCss);
66736
- const root = postcss.parse(css);
66737
- const baseRuleRecords = collectCssRuleDeclarationRecords(baseRoot);
66738
- let changedBase = false;
66739
- let changedCss = false;
66740
- root.walkRules((rule) => {
66741
- const key = getCssRuleStructuralKey(rule);
66742
- const records = key ? baseRuleRecords.get(key) : void 0;
66743
- if (!records || records.length === 0) return;
66744
- const incomingDeclarations = collectCssRuleDeclarations(rule);
66745
- if (incomingDeclarations.length === 0) return;
66746
- const baseKeys = new Set(records.flatMap((record) => [...record.keys]));
66747
- if (incomingDeclarations.filter((decl) => baseKeys.has(normalizeCssDeclarationKey(decl))).length === 0) return;
66748
- const missingDeclarations = incomingDeclarations.filter((decl) => !baseKeys.has(normalizeCssDeclarationKey(decl)));
66749
- if (missingDeclarations.length === 0) {
66750
- rule.remove();
66751
- changedCss = true;
66752
- return;
66753
- }
66754
- const baseProps = new Set(records.flatMap((record) => [...record.props]));
66755
- if (missingDeclarations.filter((decl) => baseProps.has(decl.prop.trim())).length > 0) return;
66756
- const targetRecord = records[0];
66757
- if (!targetRecord) return;
66758
- for (const decl of missingDeclarations) {
66759
- targetRecord.rule.append(decl.clone());
66760
- targetRecord.keys.add(normalizeCssDeclarationKey(decl));
66761
- targetRecord.props.add(decl.prop.trim());
66762
- }
66763
- rule.remove();
66764
- changedBase = true;
66765
- changedCss = true;
66766
- });
66767
- if (!changedBase && !changedCss) return {
66768
- baseCss,
66769
- css,
66770
- changed: false
66771
- };
66772
- removeEmptyAtRules(root);
66773
- return {
66774
- baseCss: changedBase ? baseRoot.toString() : baseCss,
66775
- css: changedCss ? root.toString().trim() : css,
66776
- changed: true
66777
- };
66778
- } catch {
66779
- return {
66780
- baseCss,
66781
- css,
66782
- changed: false
66783
- };
66784
- }
66785
- }
66786
- function removeEmptyAtRules(root) {
66787
- root.walkAtRules((atRule) => {
66788
- if (atRule.nodes && atRule.nodes.every((node) => node.type === "comment")) atRule.remove();
66789
- });
66790
- }
66791
- function filterExistingCssRules(baseCss, css) {
66792
- const baseRuleKeys = collectCssRuleContentKeys(baseCss);
66793
- if (baseRuleKeys.size === 0) return css;
66794
- try {
66795
- const root = postcss.parse(css);
66796
- const baseRuleDeclarationKeys = collectCssRuleDeclarationKeyMap(baseCss);
66797
- let changed = false;
66798
- root.walkRules((rule) => {
66799
- const key = getCssRuleContentKey(rule);
66800
- if (key && baseRuleKeys.has(key) || isCssRuleCoveredByDeclarations(rule, baseRuleDeclarationKeys)) {
66801
- rule.remove();
66802
- changed = true;
66803
- }
66804
- });
66805
- if (!changed) return css;
66806
- removeEmptyAtRules(root);
66807
- return root.toString().trim();
66808
- } catch {
66809
- return css;
66810
- }
66811
- }
66812
- function containsCssAfterMinify(baseCss, css) {
66813
- if (baseCss.includes(css)) return true;
66814
- const normalizedBaseCss = normalizeCssForContainment(baseCss);
66815
- const normalizedCss = normalizeCssForContainment(css);
66816
- if (normalizedCss.length > 0 && normalizedBaseCss.includes(normalizedCss)) return true;
66817
- const normalizedNodes = collectNormalizedCssNodes(css);
66818
- if (normalizedNodes.length > 0 && normalizedNodes.every((node) => normalizedBaseCss.includes(node))) return true;
66819
- const baseRuleKeys = collectCssRuleContentKeys(baseCss);
66820
- const ruleKeys = collectCssRuleContentKeys(css);
66821
- return ruleKeys.size > 0 && [...ruleKeys].every((key) => baseRuleKeys.has(key));
66822
- }
66823
67096
  //#endregion
66824
- export { CSS_MACRO_POSTCSS_PLUGIN_NAME, CSS_MACRO_STYLE_OPTIONS_MARKER, FULL_SOURCE_SCAN_EXTENSIONS, FULL_SOURCE_SCAN_EXTENSION_RE, FULL_SOURCE_SCAN_PATTERN, analyzeTailwindCssDirectives, cleanLocalCssImportWrapperTailwindDirectives, cleanLocalCssImportWrapperTailwindDirectivesRoot, collectApplyOnlyCssSelectors, collectApplyOnlyCssSelectorsRoot, collectCssImportRequestsRoot, collectCssInlineSourceCandidates, compileCssMacroConditionalComments, containsCssAfterMinify, convertTailwindcssRpxDeclarationToRem, convertTailwindcssRpxDeclarationsToRem, convertTailwindcssRpxValueToRem, createCssSourceOrderAppend, createFallbackPlaceholderReplacer, createInjectPreflight, createPostcssStyleTargetProfile, createSourceScanPattern, createStyleHandler, createStylePipeline, createTailwindSourceEntryMatcher, createWeappTailwindcssPostcssPlugin, creator as cssMacroPostcssPlugin, expandInlineSourceCandidatePattern, expandTailwindSourceEntries, filterApplyOnlyGeneratedCss, filterApplyOnlyGeneratedCssRoot, filterExistingCssRules, finalizeMiniProgramCss, getPostcssPluginName, hasCssMacroStyleOptions, hasCssMacroTailwindV4CustomVariantConditionalComments, hasCssMacroTailwindV4Directive, hasCssMacroTailwindV4InternalAtRules, hasCssMacroTailwindV4Source, hasMiniProgramCssSpecificityPlaceholders, hoistTailwindPreflightBase, internalCssSelectorReplacer, isFileExcludedByTailwindSourceEntries, isFileMatchedByTailwindSourceEntries, isLocalCssImportRequest, isMiniProgramLocalCssImportRequest, isPureLocalCssImportWrapper, isPureLocalCssImportWrapperRoot, isTailwindCssGenerationDirective, isTailwindCssImportAtRule, isTailwindCssImportRequest, isTailwindCssPackageJsonImportRequest, isWeappTailwindcssImportRequest, mergeCoveredCssRuleDeclarations, mergeMiniProgramPreflightRuleDeclarations, mergeMiniProgramThemeScopeRuleDeclarations, normalizeLegacyContentEntries, normalizeMiniProgramPrefixedDeclaration, normalizeModernColorValue, normalizeOutputImportRequest, normalizeTailwindCssImportRequest, normalizeTailwindcssRpxDeclaration, normalizeTailwindcssRpxDeclarations, normalizeTailwindcssWebRpxDeclarations, normalizeWebCssCompatOptions, parseConfigParam, parseSourceFileParam, parseTailwindCssConfigRequest, parseTailwindCssDirectiveRequest, postcss, postcssHtmlTransform, prefixLocalCssImportsWithWebpackIgnoreRoot, protectDynamicColorMixAlpha, pruneMiniProgramGeneratedCss, removeTailwindPostcssPlugins, removeTailwindSourceDirectivesRoot, removeUnsupportedAtSupports, removeUnsupportedCascadeLayers, removeUnsupportedMiniProgramAtRules, removeUnsupportedMiniProgramCssImportsRoot, removeUnsupportedMiniProgramPrefixedAtRule, resolveCssSourceEntries, resolveFilteredPostcssConfig, resolvePostcssFrameworkProfile, resolvePostcssFrameworkStrategy, resolvePostcssStyleBranch, resolvePostcssStyleBranchProfile, resolvePostcssStyleTarget, resolveSourceScanPath, resolveTailwindSourceEntry, restoreLocalCssImports, rewriteLocalCssImportRequestsForOutput, rewriteLocalCssImportRequestsForOutputRoot, splitLocalCssImports, splitLocalCssImportsRoot, stripMiniProgramCssSpecificityPlaceholders, toPosixPath, transformCssMacroCss, transformCssMacroTailwindV4Source, transformWebCssCompat, transformWebCssSafeSelectors, unitConversionComposeRules, unitConversionPresets, unwrapUnsupportedCascadeLayers, withCssMacroStyleOptions };
67097
+ export { CSS_MACRO_POSTCSS_PLUGIN_NAME, CSS_MACRO_STYLE_OPTIONS_MARKER, FULL_SOURCE_SCAN_EXTENSIONS, FULL_SOURCE_SCAN_EXTENSION_RE, FULL_SOURCE_SCAN_PATTERN, analyzeTailwindCssDirectives, cleanLocalCssImportWrapperTailwindDirectives, cleanLocalCssImportWrapperTailwindDirectivesRoot, collectApplyOnlyCssSelectors, collectApplyOnlyCssSelectorsRoot, collectCssImportRequestsRoot, collectCssInlineSourceCandidates, compileCssMacroConditionalComments, consumeCascadeLayers, containsCssAfterMinify, convertTailwindcssRpxDeclarationToRem, convertTailwindcssRpxDeclarationsToRem, convertTailwindcssRpxValueToRem, createCssSourceOrderAppend, createFallbackPlaceholderReplacer, createInjectPreflight, createPostcssStyleTargetProfile, createSourceScanPattern, createStyleHandler, createStylePipeline, createTailwindSourceEntryMatcher, createWeappTailwindcssPostcssPlugin, creator as cssMacroPostcssPlugin, dedupeCoveredCssRules, expandInlineSourceCandidatePattern, expandTailwindSourceEntries, filterApplyOnlyGeneratedCss, filterApplyOnlyGeneratedCssRoot, filterExistingCssRules, finalizeMiniProgramCss, getPostcssPluginName, hasCssMacroStyleOptions, hasCssMacroTailwindV4CustomVariantConditionalComments, hasCssMacroTailwindV4Directive, hasCssMacroTailwindV4InternalAtRules, hasCssMacroTailwindV4Source, hasMiniProgramCssSpecificityPlaceholders, hoistTailwindPreflightBase, internalCssSelectorReplacer, isFileExcludedByTailwindSourceEntries, isFileMatchedByTailwindSourceEntries, isLocalCssImportRequest, isMiniProgramLocalCssImportRequest, isPureLocalCssImportWrapper, isPureLocalCssImportWrapperRoot, isTailwindCssGenerationDirective, isTailwindCssImportAtRule, isTailwindCssImportRequest, isTailwindCssPackageJsonImportRequest, isWeappTailwindcssImportRequest, mergeCoveredCssRuleDeclarations, mergeMiniProgramPreflightRuleDeclarations, mergeMiniProgramThemeScopeRuleDeclarations, normalizeLegacyContentEntries, normalizeMiniProgramGeneratedCssForPostcss, normalizeMiniProgramPrefixedDeclaration, normalizeModernColorValue, normalizeOutputImportRequest, normalizeTailwindCssImportRequest, normalizeTailwindcssRpxDeclaration, normalizeTailwindcssRpxDeclarations, normalizeTailwindcssWebRpxDeclarations, normalizeWebCssCompatOptions, parseConfigParam, parseSourceFileParam, parseTailwindCssConfigRequest, parseTailwindCssDirectiveRequest, postcss, postcssHtmlTransform, prefixLocalCssImportsWithWebpackIgnoreRoot, protectDynamicColorMixAlpha, pruneMiniProgramGeneratedCss, removeMatchingLocalCssImports, removeMatchingLocalCssImportsRoot, removeTailwindPostcssPlugins, removeTailwindSourceDirectivesRoot, removeUnsupportedAtSupports, removeUnsupportedCascadeLayers, removeUnsupportedMiniProgramAtRules, removeUnsupportedMiniProgramCssImportsRoot, removeUnsupportedMiniProgramPrefixedAtRule, resolveCssSourceEntries, resolveFilteredPostcssConfig, resolvePostcssConfig, resolvePostcssFrameworkProfile, resolvePostcssFrameworkStrategy, resolvePostcssStyleBranch, resolvePostcssStyleBranchProfile, resolvePostcssStyleTarget, resolveSourceScanPath, resolveTailwindSourceEntry, restoreLocalCssImports, rewriteLocalCssImportRequestsForOutput, rewriteLocalCssImportRequestsForOutputRoot, splitLocalCssImports, splitLocalCssImportsRoot, stripMiniProgramCssSpecificityPlaceholders, toPosixPath, transformCssMacroCss, transformCssMacroTailwindV4Source, transformWebCssCompat, transformWebCssSafeSelectors, unitConversionComposeRules, unitConversionPresets, unwrapUnsupportedCascadeLayers, withCssMacroStyleOptions };