@weapp-tailwindcss/postcss 3.0.4 → 3.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,8 +1,16 @@
1
+ import { n as creator, t as CSS_MACRO_POSTCSS_PLUGIN_NAME } from "./postcss-BebUgs5n.mjs";
1
2
  import postcssHtmlTransform from "./html-transform.mjs";
2
3
  import "./types.mjs";
3
4
  import { createRequire } from "node:module";
4
- import postcss, { Declaration, Rule } from "postcss";
5
+ import postcss, { Declaration, Rule, default as postcss$1 } from "postcss";
5
6
  import valueParser from "postcss-value-parser";
7
+ import path from "node:path";
8
+ import process$1 from "node:process";
9
+ import { readFile, stat } from "node:fs/promises";
10
+ import { loadConfig } from "tailwindcss-config";
11
+ import { extractRawCandidatesWithPositions, extractValidCandidates, resolveProjectSourceFiles } from "tailwindcss-patch";
12
+ import { existsSync, readFileSync, realpathSync } from "node:fs";
13
+ import micromatch from "micromatch";
6
14
  import { defu, defuOverrideArray, regExpTest } from "@weapp-tailwindcss/shared";
7
15
  import { LRUCache } from "lru-cache";
8
16
  import selectorParser from "postcss-selector-parser";
@@ -10,9 +18,9 @@ import s from "autoprefixer";
10
18
  import postcssCalc from "@weapp-tailwindcss/postcss-calc";
11
19
  import postcssPxtrans from "postcss-pxtrans";
12
20
  import postcssRem2rpx from "postcss-rem-to-responsive-pixel";
13
- import process$1 from "node:process";
14
21
  import postcssUnitConverter, { composeRules as unitConversionComposeRules, presets, presets as unitConversionPresets } from "postcss-rule-unit-converter";
15
22
  import { MappingChars2String, escape } from "@weapp-core/escape";
23
+ import postcssrc from "postcss-load-config";
16
24
  //#region \0rolldown/runtime.js
17
25
  var __create = Object.create;
18
26
  var __defProp = Object.defineProperty;
@@ -6743,7 +6751,7 @@ function protectDynamicColorMixAlpha(css, options = {}) {
6743
6751
  restore: (value) => value
6744
6752
  };
6745
6753
  const replacements = /* @__PURE__ */ new Map();
6746
- const root = postcss.parse(css);
6754
+ const root = postcss$1.parse(css);
6747
6755
  const customPropertyValues = new Map(options.customPropertyValues);
6748
6756
  let changed = false;
6749
6757
  root.walkDecls((decl) => {
@@ -6828,7 +6836,7 @@ function removeAtRulesByScan(css, names) {
6828
6836
  }
6829
6837
  function removeUnsupportedMiniProgramAtRules(css) {
6830
6838
  try {
6831
- const root = postcss.parse(css);
6839
+ const root = postcss$1.parse(css);
6832
6840
  root.walkAtRules((atRule) => {
6833
6841
  if (MINI_PROGRAM_UNSUPPORTED_AT_RULES.has(atRule.name)) atRule.remove();
6834
6842
  });
@@ -7260,7 +7268,7 @@ const TAILWIND_V4_BANNER_RE = /\/\*!\s*tailwindcss v4\./;
7260
7268
  const GENERATOR_PLACEHOLDER_COMMENT_RE = /^\s*(?:!\s*)?weapp-tailwindcss generator-placeholder\s*$/i;
7261
7269
  function hasTailwindcssV4Signal(css) {
7262
7270
  if (TAILWIND_V4_BANNER_RE.test(css)) return true;
7263
- const root = postcss.parse(css);
7271
+ const root = postcss$1.parse(css);
7264
7272
  let hasProperty = false;
7265
7273
  root.walkAtRules("property", (atRule) => {
7266
7274
  if (atRule.params.trim().startsWith("--tw-")) {
@@ -7297,6 +7305,15 @@ const MINI_PROGRAM_ELEMENT_SCOPE_SELECTORS = new Set([
7297
7305
  "::before",
7298
7306
  "::after"
7299
7307
  ]);
7308
+ const MINI_PROGRAM_NATIVE_ELEMENT_SELECTORS = new Set([
7309
+ ...MINI_PROGRAM_ELEMENT_SCOPE_SELECTORS,
7310
+ "button",
7311
+ "input",
7312
+ "textarea",
7313
+ "canvas",
7314
+ "video",
7315
+ "audio"
7316
+ ]);
7300
7317
  const MINI_PROGRAM_PREFLIGHT_SELECTORS = new Set(["*", ...MINI_PROGRAM_ELEMENT_SCOPE_SELECTORS]);
7301
7318
  const MINI_PROGRAM_THEME_SCOPE_SELECTORS = new Set([
7302
7319
  ":host",
@@ -7373,11 +7390,12 @@ const MINI_PROGRAM_UNSUPPORTED_BROWSER_TAG_SELECTORS = new Set([
7373
7390
  "ul",
7374
7391
  "video"
7375
7392
  ]);
7376
- function normalizeSelector$1(selector) {
7393
+ const MINI_PROGRAM_UNSUPPORTED_BROWSER_PREFLIGHT_SELECTOR_PARTS = new Set([...MINI_PROGRAM_UNSUPPORTED_BROWSER_TAG_SELECTORS, "::file-selector-button"]);
7394
+ function normalizeSelector$2(selector) {
7377
7395
  return selector.trim().replace(/\s+/g, "");
7378
7396
  }
7379
7397
  function normalizePseudoElementSelector(selector) {
7380
- return normalizeSelector$1(selector).replace(/^:(before|after)$/, "::$1");
7398
+ return normalizeSelector$2(selector).replace(/^:(before|after)$/, "::$1");
7381
7399
  }
7382
7400
  function getRuleSelectors(rule) {
7383
7401
  return rule.selector.split(",").map(normalizePseudoElementSelector).filter(Boolean);
@@ -7386,8 +7404,15 @@ function getSortedRuleSelectorKey(rule) {
7386
7404
  return getRuleSelectors(rule).sort().join(",");
7387
7405
  }
7388
7406
  function isUnsupportedBrowserSelector(selector) {
7389
- const normalized = normalizeSelector$1(selector);
7390
- return MINI_PROGRAM_UNSUPPORTED_BROWSER_SELECTORS.has(normalized) || MINI_PROGRAM_UNSUPPORTED_BROWSER_TAG_SELECTORS.has(normalized);
7407
+ const normalized = normalizeSelector$2(selector);
7408
+ return MINI_PROGRAM_UNSUPPORTED_BROWSER_SELECTORS.has(normalized) || MINI_PROGRAM_UNSUPPORTED_BROWSER_TAG_SELECTORS.has(normalized) && !MINI_PROGRAM_NATIVE_ELEMENT_SELECTORS.has(normalized);
7409
+ }
7410
+ function isUnsupportedBrowserPreflightSelector(selector) {
7411
+ const normalizedParts = selector.split(",").map(normalizeSelector$2).filter(Boolean);
7412
+ return normalizedParts.length > 1 && normalizedParts.every((part) => MINI_PROGRAM_UNSUPPORTED_BROWSER_PREFLIGHT_SELECTOR_PARTS.has(part));
7413
+ }
7414
+ function isMiniProgramNativeElementSelector(selector) {
7415
+ return MINI_PROGRAM_NATIVE_ELEMENT_SELECTORS.has(normalizePseudoElementSelector(selector));
7391
7416
  }
7392
7417
  function isMiniProgramPreflightSelector(selectors) {
7393
7418
  return selectors.length > 0 && selectors.every((selector) => MINI_PROGRAM_PREFLIGHT_SELECTORS.has(selector)) && selectors.some((selector) => selector === "*" || selector === ":before" || selector === ":after" || selector === "::before" || selector === "::after");
@@ -7408,6 +7433,7 @@ const PREFLIGHT_RESET_PROPS = new Set([
7408
7433
  ]);
7409
7434
  const PSEUDO_CONTENT_SELECTOR_RE = /^(?:::before|::after|:before|:after)(?:,(?:::before|::after|:before|:after))*$/;
7410
7435
  const TW_CONTENT_VAR_RE = /var\(\s*--tw-content\b/;
7436
+ const BROWSER_PREFLIGHT_SINGLE_ELEMENT_DECLARATIONS = new Map([["button", new Set(["appearance:button", "-moz-appearance:button"])], ["textarea", new Set(["resize:vertical"])]]);
7411
7437
  function hasTailwindPreflightDeclaration(rule) {
7412
7438
  let hasTailwindVar = false;
7413
7439
  let hasResetProp = false;
@@ -7417,6 +7443,13 @@ function hasTailwindPreflightDeclaration(rule) {
7417
7443
  });
7418
7444
  return hasTailwindVar || hasResetProp;
7419
7445
  }
7446
+ function hasTailwindVariableDeclaration(rule) {
7447
+ let hasTailwindVar = false;
7448
+ rule.walkDecls((decl) => {
7449
+ if (decl.prop.startsWith("--tw-")) hasTailwindVar = true;
7450
+ });
7451
+ return hasTailwindVar;
7452
+ }
7420
7453
  function isCustomPropertyRule(rule) {
7421
7454
  let hasDeclaration = false;
7422
7455
  let allCustomProperties = true;
@@ -7452,7 +7485,27 @@ function usesTwContentVariable(root) {
7452
7485
  }
7453
7486
  function isMiniProgramPreflightRule(node) {
7454
7487
  if (node.type !== "rule") return false;
7455
- return isMiniProgramPreflightSelector(getRuleSelectors(node)) && hasTailwindPreflightDeclaration(node);
7488
+ const selectors = getRuleSelectors(node);
7489
+ if (!isMiniProgramPreflightSelector(selectors)) return false;
7490
+ if (selectors.includes("*")) return hasTailwindPreflightDeclaration(node);
7491
+ if (hasTailwindVariableDeclaration(node)) return true;
7492
+ return selectors.some((selector) => selector === ":before" || selector === ":after" || selector === "::before" || selector === "::after") && selectors.some((selector) => selector === "view" || selector === "text") && hasTailwindPreflightDeclaration(node);
7493
+ }
7494
+ function isBrowserElementPreflightRule(node) {
7495
+ if (node.type !== "rule") return false;
7496
+ const selectors = getRuleSelectors(node);
7497
+ if (selectors.length !== 1) return false;
7498
+ const declarations = BROWSER_PREFLIGHT_SINGLE_ELEMENT_DECLARATIONS.get(selectors[0]);
7499
+ if (!declarations) return false;
7500
+ let hasDeclaration = false;
7501
+ let allBrowserPreflightDeclarations = true;
7502
+ node.each((child) => {
7503
+ if (child.type !== "decl") return;
7504
+ hasDeclaration = true;
7505
+ const key = `${child.prop.toLowerCase()}:${child.value.trim().toLowerCase()}`;
7506
+ if (!declarations.has(key)) allBrowserPreflightDeclarations = false;
7507
+ });
7508
+ return hasDeclaration && allBrowserPreflightDeclarations;
7456
7509
  }
7457
7510
  function isMiniProgramThemeVariableRule(node) {
7458
7511
  if (node.type !== "rule") return false;
@@ -7488,7 +7541,7 @@ function reorderPreflightResetDeclarations(rule) {
7488
7541
  }
7489
7542
  function createHoistInsertionAnchor(root) {
7490
7543
  for (const node of root.nodes ?? []) if (isMiniProgramPreflightRule(node) || isMiniProgramThemeVariableRule(node)) {
7491
- const anchor = postcss.comment({ text: HOIST_ANCHOR_COMMENT });
7544
+ const anchor = postcss$1.comment({ text: HOIST_ANCHOR_COMMENT });
7492
7545
  node.before(anchor);
7493
7546
  return anchor;
7494
7547
  }
@@ -7544,7 +7597,7 @@ function mergeEquivalentHoistedRules(rules) {
7544
7597
  const MINI_PROGRAM_PSEUDO_CONTENT_SCOPE_SELECTOR$1 = "::before,\n::after";
7545
7598
  const MINI_PROGRAM_PSEUDO_CONTENT_SELECTORS = new Set(["::before", "::after"]);
7546
7599
  function createPseudoContentInitRule() {
7547
- const rule = postcss.rule({ selector: MINI_PROGRAM_PSEUDO_CONTENT_SCOPE_SELECTOR$1 });
7600
+ const rule = postcss$1.rule({ selector: MINI_PROGRAM_PSEUDO_CONTENT_SCOPE_SELECTOR$1 });
7548
7601
  rule.append({
7549
7602
  prop: "--tw-content",
7550
7603
  value: "''"
@@ -7598,7 +7651,7 @@ function collectPreflightRules(root, options = {}) {
7598
7651
  }
7599
7652
  function createPreflightResetRule(cssPreflight) {
7600
7653
  if (!cssPreflight || typeof cssPreflight !== "object") return;
7601
- const rule = postcss.rule({ selector: MINI_PROGRAM_ELEMENT_SCOPE_SELECTOR });
7654
+ const rule = postcss$1.rule({ selector: MINI_PROGRAM_ELEMENT_SCOPE_SELECTOR });
7602
7655
  for (const [prop, value] of Object.entries(cssPreflight)) {
7603
7656
  if (value === false) continue;
7604
7657
  rule.append({
@@ -7636,6 +7689,11 @@ function removeSpecificityPlaceholders(root) {
7636
7689
  function isEffectivelyEmptyContainer(container) {
7637
7690
  return !container.nodes || container.nodes.every((node) => node.type === "comment");
7638
7691
  }
7692
+ function removeEmptyAtRules$1(root) {
7693
+ root.walkAtRules((atRule) => {
7694
+ if (isEffectivelyEmptyContainer(atRule)) atRule.remove();
7695
+ });
7696
+ }
7639
7697
  function removeEmptyAtRuleAncestors(parent) {
7640
7698
  while (parent?.type === "atrule" && isEffectivelyEmptyContainer(parent)) {
7641
7699
  const nextParent = parent.parent;
@@ -7646,6 +7704,18 @@ function removeEmptyAtRuleAncestors(parent) {
7646
7704
  function removeUnsupportedBrowserSelectors(root) {
7647
7705
  root.walkRules((rule) => {
7648
7706
  if (!rule.selectors || rule.selectors.length === 0) return;
7707
+ if (isUnsupportedBrowserPreflightSelector(rule.selector)) {
7708
+ const parent = rule.parent;
7709
+ rule.remove();
7710
+ removeEmptyAtRuleAncestors(parent);
7711
+ return;
7712
+ }
7713
+ if (isBrowserElementPreflightRule(rule)) {
7714
+ const parent = rule.parent;
7715
+ rule.remove();
7716
+ removeEmptyAtRuleAncestors(parent);
7717
+ return;
7718
+ }
7649
7719
  const selectors = rule.selectors.filter((selector) => !isUnsupportedBrowserSelector(selector));
7650
7720
  if (selectors.length === rule.selectors.length) return;
7651
7721
  if (selectors.length === 0) {
@@ -7743,7 +7813,7 @@ function collectThemeVariableRule(root, options = {}) {
7743
7813
  }
7744
7814
  for (const rule of themeRules) rule.remove();
7745
7815
  if (declarations.size === 0) return;
7746
- const rule = postcss.rule({ selector: MINI_PROGRAM_THEME_SCOPE_SELECTOR });
7816
+ const rule = postcss$1.rule({ selector: MINI_PROGRAM_THEME_SCOPE_SELECTOR });
7747
7817
  for (const decl of declarations.values()) rule.append(decl);
7748
7818
  return rule;
7749
7819
  }
@@ -7777,16 +7847,17 @@ function finalizeMiniProgramCssRoot(root, options = {}) {
7777
7847
  const resetRule = createPreflightResetRule(options.cssPreflight);
7778
7848
  if (resetRule) preflightRules.push(resetRule);
7779
7849
  }
7780
- if (tailwindcssV4DefaultNodes.length > 0) preflightRules.push(postcss.rule({
7850
+ if (tailwindcssV4DefaultNodes.length > 0) preflightRules.push(postcss$1.rule({
7781
7851
  selector: MINI_PROGRAM_ELEMENT_SCOPE_SELECTOR,
7782
7852
  nodes: tailwindcssV4DefaultNodes
7783
7853
  }));
7784
7854
  const themeRule = collectThemeVariableRule(root, options);
7785
7855
  insertHoistedRules(root, mergeEquivalentHoistedRules(themeRule ? [...preflightRules, themeRule] : preflightRules), hoistAnchor);
7856
+ removeEmptyAtRules$1(root);
7786
7857
  }
7787
7858
  function hoistTailwindPreflightBase(css) {
7788
7859
  try {
7789
- const root = postcss.parse(css);
7860
+ const root = postcss$1.parse(css);
7790
7861
  insertHoistedRules(root, collectPreflightRules(root, { preservePseudoContentInit: true }));
7791
7862
  return root.toString();
7792
7863
  } catch {
@@ -7802,7 +7873,7 @@ function finalizeMiniProgramCss(css, options = {}) {
7802
7873
  }
7803
7874
  const cleanedCss = removeUnsupportedMiniProgramAtRules(css);
7804
7875
  try {
7805
- const root = postcss.parse(cleanedCss);
7876
+ const root = postcss$1.parse(cleanedCss);
7806
7877
  finalizeMiniProgramCssRoot(root, {
7807
7878
  ...options,
7808
7879
  isTailwindcssV4
@@ -7832,6 +7903,10 @@ function isMiniProgramElementVariableScopeRule(rule) {
7832
7903
  const selectors = getRuleSelectors(rule);
7833
7904
  return selectors.length > 0 && selectors.every((selector) => MINI_PROGRAM_ELEMENT_SCOPE_SELECTORS.has(selector));
7834
7905
  }
7906
+ function isMiniProgramNativeElementRule(rule) {
7907
+ const selectors = getRuleSelectors(rule);
7908
+ return selectors.length > 0 && selectors.every((selector) => isMiniProgramNativeElementSelector(selector)) && !isMiniProgramPreflightRule(rule);
7909
+ }
7835
7910
  function isOnlyTwContentDeclarations(rule) {
7836
7911
  let hasDeclaration = false;
7837
7912
  let onlyContentVariable = true;
@@ -7860,7 +7935,7 @@ function moveTailwindV4GradientRuntimeDeclarations(rule) {
7860
7935
  decl.remove();
7861
7936
  }
7862
7937
  });
7863
- if (gradientDeclarations.length > 0) rule.before(new postcss.Rule({
7938
+ if (gradientDeclarations.length > 0) rule.before(new postcss$1.Rule({
7864
7939
  selector: MINI_PROGRAM_ELEMENT_SCOPE_SELECTOR,
7865
7940
  nodes: gradientDeclarations
7866
7941
  }));
@@ -7878,7 +7953,7 @@ function isKeyframesRule(rule) {
7878
7953
  * 裁剪 Tailwind 生成 CSS 中面向浏览器的 classless 规则。
7879
7954
  */
7880
7955
  function pruneMiniProgramGeneratedCss(css, options = {}) {
7881
- const root = postcss.parse(css);
7956
+ const root = postcss$1.parse(css);
7882
7957
  const shouldPreserveContentInit = options.preservePreflight || usesTwContentVariable(root);
7883
7958
  root.walkComments((comment) => {
7884
7959
  if (options.preserveConditionalComments && isConditionalCompilationComment(comment.text)) return;
@@ -7915,6 +7990,15 @@ function pruneMiniProgramGeneratedCss(css, options = {}) {
7915
7990
  rule.selector = MINI_PROGRAM_ELEMENT_SCOPE_SELECTOR;
7916
7991
  return;
7917
7992
  }
7993
+ if (isUnsupportedBrowserPreflightSelector(rule.selector)) {
7994
+ rule.remove();
7995
+ return;
7996
+ }
7997
+ if (isBrowserElementPreflightRule(rule)) {
7998
+ rule.remove();
7999
+ return;
8000
+ }
8001
+ if (isMiniProgramNativeElementRule(rule)) return;
7918
8002
  if (isMiniProgramThemeVariableRule(rule)) {
7919
8003
  moveTailwindV4GradientRuntimeDeclarations(rule);
7920
8004
  if (!rule.parent) return;
@@ -7923,7 +8007,11 @@ function pruneMiniProgramGeneratedCss(css, options = {}) {
7923
8007
  }
7924
8008
  if (hasClassSelector$2(rule.selector)) return;
7925
8009
  if (!shouldPreserveContentInit) removeEmptyContentInitDeclarations(rule);
7926
- if (options.preservePreflight && isMiniProgramPreflightRule(rule)) return;
8010
+ if (isMiniProgramPreflightRule(rule)) {
8011
+ if (options.preservePreflight) return;
8012
+ rule.remove();
8013
+ return;
8014
+ }
7927
8015
  if (isCustomPropertyRule(rule)) {
7928
8016
  moveTailwindV4GradientRuntimeDeclarations(rule);
7929
8017
  if (!rule.parent) return;
@@ -7938,6 +8026,875 @@ function pruneMiniProgramGeneratedCss(css, options = {}) {
7938
8026
  return root.toString();
7939
8027
  }
7940
8028
  //#endregion
8029
+ //#region src/css-macro/auto.ts
8030
+ const CSS_MACRO_STYLE_OPTIONS_MARKER = "__weappTailwindcssCssMacroEnabled";
8031
+ const PLATFORM_ENV_KEYS$1 = [
8032
+ "WEAPP_TW_TARGET",
8033
+ "WEAPP_TAILWINDCSS_TARGET",
8034
+ "UNI_PLATFORM",
8035
+ "UNI_UTS_PLATFORM",
8036
+ "TARO_ENV",
8037
+ "MPX_CLI_MODE",
8038
+ "MPX_CURRENT_TARGET_MODE"
8039
+ ];
8040
+ const CONDITIONAL_END_RE = /^\s*#endif\s*$/;
8041
+ function readEnvValue$1(key) {
8042
+ return typeof process$1 === "undefined" ? void 0 : process$1.env[key];
8043
+ }
8044
+ function normalizePlatformToken(value) {
8045
+ return value?.trim().replaceAll("_", "-").toUpperCase() || void 0;
8046
+ }
8047
+ function resolveCssMacroPlatform(options) {
8048
+ const explicit = normalizePlatformToken(options?.platform);
8049
+ if (explicit) return explicit;
8050
+ for (const key of PLATFORM_ENV_KEYS$1) {
8051
+ const value = normalizePlatformToken(readEnvValue$1(key));
8052
+ if (value) return value;
8053
+ }
8054
+ }
8055
+ function createPlatformTokenSet(platform) {
8056
+ const normalized = normalizePlatformToken(platform);
8057
+ const tokens = /* @__PURE__ */ new Set();
8058
+ if (!normalized) return tokens;
8059
+ tokens.add(normalized);
8060
+ if (normalized.startsWith("MP-")) tokens.add("MP");
8061
+ if (normalized === "WEAPP" || normalized === "WEIXIN" || normalized === "WX") {
8062
+ tokens.add("MP");
8063
+ tokens.add("MP-WEIXIN");
8064
+ }
8065
+ if (normalized === "MP-WEIXIN") {
8066
+ tokens.add("WEAPP");
8067
+ tokens.add("WEIXIN");
8068
+ tokens.add("WX");
8069
+ }
8070
+ if (normalized === "H5") tokens.add("WEB");
8071
+ if (normalized === "WEB") tokens.add("H5");
8072
+ if (normalized === "APP") tokens.add("APP-PLUS");
8073
+ if (normalized.startsWith("APP-")) tokens.add("APP");
8074
+ if (normalized.startsWith("QUICKAPP-WEBVIEW")) tokens.add("QUICKAPP-WEBVIEW");
8075
+ return tokens;
8076
+ }
8077
+ function combineAnd(values) {
8078
+ if (values.includes(false)) return false;
8079
+ return values.every((value) => value === true) ? true : void 0;
8080
+ }
8081
+ function combineOr(values) {
8082
+ if (values.includes(true)) return true;
8083
+ return values.every((value) => value === false) ? false : void 0;
8084
+ }
8085
+ function evaluatePlatformExpression(expression, platformTokens) {
8086
+ return combineOr(expression.split(/\s*\|\|\s*/).map((orPart) => {
8087
+ return combineAnd(orPart.split(/\s*&&\s*/).map((part) => {
8088
+ const token = normalizePlatformToken(part);
8089
+ if (!token || /[<>=!()]/.test(token)) return;
8090
+ return platformTokens.has(token);
8091
+ }));
8092
+ }));
8093
+ }
8094
+ function negateConditionalValue(value) {
8095
+ return value === void 0 ? void 0 : !value;
8096
+ }
8097
+ function getActiveConditionalValue(stack) {
8098
+ if (stack.includes(false)) return false;
8099
+ return stack.includes(void 0) ? void 0 : true;
8100
+ }
8101
+ function parseConditionalStart(text) {
8102
+ const normalized = text.trim();
8103
+ if (!normalized.startsWith("#")) return;
8104
+ const body = normalized.slice(1).trimStart();
8105
+ for (const directive of ["ifndef", "ifdef"]) {
8106
+ if (!body.startsWith(directive)) continue;
8107
+ const expression = body.slice(directive.length).trim();
8108
+ if (expression.length === 0) return;
8109
+ return {
8110
+ directive,
8111
+ expression
8112
+ };
8113
+ }
8114
+ }
8115
+ function compileCssMacroConditionalComments(css, options) {
8116
+ const platformTokens = createPlatformTokenSet(resolveCssMacroPlatform(options));
8117
+ if (platformTokens.size === 0 || !css.includes("#if")) return css;
8118
+ try {
8119
+ const root = postcss$1.parse(css);
8120
+ const transformContainer = (container) => {
8121
+ const stack = [];
8122
+ for (const node of [...container.nodes ?? []]) {
8123
+ if (node.type === "comment") {
8124
+ const start = parseConditionalStart(node.text);
8125
+ if (start) {
8126
+ const value = start.directive === "ifndef" ? negateConditionalValue(evaluatePlatformExpression(start.expression, platformTokens)) : evaluatePlatformExpression(start.expression, platformTokens);
8127
+ const parentActive = getActiveConditionalValue(stack);
8128
+ stack.push(value);
8129
+ if (parentActive !== void 0 && value !== void 0) node.remove();
8130
+ continue;
8131
+ }
8132
+ if (CONDITIONAL_END_RE.test(node.text)) {
8133
+ const value = stack.pop();
8134
+ if (getActiveConditionalValue(stack) !== void 0 && value !== void 0) node.remove();
8135
+ continue;
8136
+ }
8137
+ }
8138
+ if (getActiveConditionalValue(stack) === false) {
8139
+ node.remove();
8140
+ continue;
8141
+ }
8142
+ if ("nodes" in node && node.nodes) transformContainer(node);
8143
+ }
8144
+ };
8145
+ transformContainer(root);
8146
+ return root.toString();
8147
+ } catch {
8148
+ return css;
8149
+ }
8150
+ }
8151
+ function parseCssPluginRequest(params) {
8152
+ const value = params.trim();
8153
+ const quoted = /^(['"])(.*?)\1/.exec(value);
8154
+ if (quoted) return quoted[2];
8155
+ const url = /^url\(\s*(?:(['"])(.*?)\1|([^'")\s]+))\s*\)/.exec(value);
8156
+ return url?.[2] ?? url?.[3];
8157
+ }
8158
+ function isCssMacroPluginRequest(request) {
8159
+ if (request === "weapp-tailwindcss/css-macro") return true;
8160
+ if (!request?.includes("css-macro")) return false;
8161
+ return path.basename(request).startsWith("css-macro");
8162
+ }
8163
+ function hasCssMacroTailwindV4Directive(css) {
8164
+ if (!css?.includes("css-macro")) return false;
8165
+ try {
8166
+ let found = false;
8167
+ postcss$1.parse(css).walkAtRules("plugin", (rule) => {
8168
+ if (isCssMacroPluginRequest(parseCssPluginRequest(rule.params))) found = true;
8169
+ });
8170
+ return found;
8171
+ } catch {
8172
+ return /@plugin\s+(?:url\(\s*)?["']weapp-tailwindcss\/css-macro["']/.test(css);
8173
+ }
8174
+ }
8175
+ function isCssMacroPostcssPlugin(plugin) {
8176
+ if (plugin === creator) return true;
8177
+ return Boolean(plugin && (typeof plugin === "function" || typeof plugin === "object") && plugin.postcssPlugin === "postcss-weapp-tw-css-macro-plugin");
8178
+ }
8179
+ function withCssMacroPostcssPlugins(plugins) {
8180
+ const macroPlugin = creator();
8181
+ if (!plugins) return [macroPlugin];
8182
+ if (Array.isArray(plugins)) return plugins.some(isCssMacroPostcssPlugin) ? plugins : [...plugins, macroPlugin];
8183
+ if (typeof plugins === "object") {
8184
+ const values = Object.values(plugins).filter(Boolean);
8185
+ if (values.some(isCssMacroPostcssPlugin)) return values;
8186
+ return [...values, macroPlugin];
8187
+ }
8188
+ return [macroPlugin];
8189
+ }
8190
+ function withCssMacroStyleOptions(options) {
8191
+ const postcssOptions = options?.postcssOptions;
8192
+ return {
8193
+ ...options,
8194
+ [CSS_MACRO_STYLE_OPTIONS_MARKER]: true,
8195
+ postcssOptions: {
8196
+ ...postcssOptions,
8197
+ plugins: withCssMacroPostcssPlugins(postcssOptions?.plugins)
8198
+ }
8199
+ };
8200
+ }
8201
+ function hasCssMacroStyleOptions(options) {
8202
+ return Boolean(options?.[CSS_MACRO_STYLE_OPTIONS_MARKER]);
8203
+ }
8204
+ async function transformCssMacroCss(css, options) {
8205
+ const result = (await postcss$1([creator()]).process(css, { from: void 0 })).css;
8206
+ return compileCssMacroConditionalComments(result, options);
8207
+ }
8208
+ //#endregion
8209
+ //#region src/generator-plugin/config-directive.ts
8210
+ function quoteCssString(value) {
8211
+ return value.replaceAll("\\", "\\\\").replaceAll("\"", "\\\"");
8212
+ }
8213
+ function toCssPath(value) {
8214
+ return value.replaceAll("\\", "/");
8215
+ }
8216
+ function prependConfigDirective(css, config) {
8217
+ if (!config || /@config\s+/.test(css)) return css;
8218
+ return `@config "${quoteCssString(toCssPath(config))}";\n${css}`;
8219
+ }
8220
+ //#endregion
8221
+ //#region src/generator-plugin/context.ts
8222
+ const PLUGIN_NAME$1 = "weapp-tailwindcss";
8223
+ function resolveInputFile(result) {
8224
+ const from = result.opts.from;
8225
+ if (typeof from !== "string" || from.length === 0) return;
8226
+ return path.isAbsolute(from) ? from : path.resolve(process$1.cwd(), from);
8227
+ }
8228
+ function resolvePostcssBase(result, options) {
8229
+ if (options.base) return options.base;
8230
+ const inputFile = resolveInputFile(result);
8231
+ return inputFile ? path.dirname(inputFile) : process$1.cwd();
8232
+ }
8233
+ function resolvePostcssProjectRoot(result, options) {
8234
+ if (options.projectRoot) return options.projectRoot;
8235
+ const inputFile = resolveInputFile(result);
8236
+ return inputFile ? path.dirname(inputFile) : process$1.cwd();
8237
+ }
8238
+ function replaceRootCss(root, css, result) {
8239
+ root.removeAll();
8240
+ try {
8241
+ const nextRoot = postcss$1.parse(css, { from: resolveInputFile(result) });
8242
+ root.append(nextRoot.nodes);
8243
+ } catch {
8244
+ root.raws = { after: css };
8245
+ }
8246
+ }
8247
+ function addDependencyMessages(result, generated) {
8248
+ for (const file of generated.dependencies) result.messages.push({
8249
+ type: "dependency",
8250
+ plugin: PLUGIN_NAME$1,
8251
+ file
8252
+ });
8253
+ }
8254
+ function addSourceDependencyMessages(result, files) {
8255
+ for (const file of files) result.messages.push({
8256
+ type: "dependency",
8257
+ plugin: PLUGIN_NAME$1,
8258
+ file
8259
+ });
8260
+ }
8261
+ //#endregion
8262
+ //#region src/generator-plugin/directives.ts
8263
+ const TAILWIND_ROOT_DIRECTIVE_NAMES = new Set([
8264
+ "config",
8265
+ "custom-variant",
8266
+ "plugin",
8267
+ "source",
8268
+ "tailwind",
8269
+ "theme",
8270
+ "utility",
8271
+ "variant"
8272
+ ]);
8273
+ function parseImportRequest(params) {
8274
+ return /^(?:url\(\s*)?(["']?)([^"')\s]+)\1\s*\)?/.exec(params.trim())?.[2];
8275
+ }
8276
+ function isTailwindImportRequest(request, options = {}) {
8277
+ const normalized = options.importFallback && (request === "weapp-tailwindcss" || request?.startsWith("weapp-tailwindcss/")) ? request.replace(/^weapp-tailwindcss/, "tailwindcss") : request;
8278
+ return normalized === "tailwindcss" || normalized === "tailwindcss4" || normalized?.startsWith("tailwindcss/") === true || normalized?.startsWith("tailwindcss4/") === true;
8279
+ }
8280
+ function hasTailwindApplyDirective(css) {
8281
+ return /@apply\b/.test(css);
8282
+ }
8283
+ function hasTailwindRootDirectives(root, options = {}) {
8284
+ let found = false;
8285
+ root.walkAtRules((rule) => {
8286
+ if (rule.name === "import" && isTailwindImportRequest(parseImportRequest(rule.params), options)) {
8287
+ found = true;
8288
+ return false;
8289
+ }
8290
+ if (TAILWIND_ROOT_DIRECTIVE_NAMES.has(rule.name)) {
8291
+ found = true;
8292
+ return false;
8293
+ }
8294
+ });
8295
+ return found;
8296
+ }
8297
+ //#endregion
8298
+ //#region src/source-scan/inline-source.ts
8299
+ const NUMERICAL_RANGE_RE = /^(-?\d+)\.\.(-?\d+)(?:\.\.(-?\d+))?$/;
8300
+ function segmentTopLevel(input, separator, options = {}) {
8301
+ const parts = [];
8302
+ const stack = [];
8303
+ let lastPos = 0;
8304
+ let quote;
8305
+ for (let index = 0; index < input.length; index++) {
8306
+ const char = input[index];
8307
+ if (char === "\\") {
8308
+ index += 1;
8309
+ continue;
8310
+ }
8311
+ if (quote) {
8312
+ if (char === quote) quote = void 0;
8313
+ continue;
8314
+ }
8315
+ if (char === "\"" || char === "'") {
8316
+ quote = char;
8317
+ continue;
8318
+ }
8319
+ if (char === "(") {
8320
+ stack.push(")");
8321
+ continue;
8322
+ }
8323
+ if (char === "[") {
8324
+ stack.push("]");
8325
+ continue;
8326
+ }
8327
+ if (char === "{") {
8328
+ stack.push("}");
8329
+ continue;
8330
+ }
8331
+ if (stack.length > 0 && char === stack[stack.length - 1]) {
8332
+ stack.pop();
8333
+ continue;
8334
+ }
8335
+ if (stack.length === 0 && char === separator) {
8336
+ const part = input.slice(lastPos, index);
8337
+ if (part || options.keepEmpty) parts.push(part);
8338
+ lastPos = index + 1;
8339
+ }
8340
+ }
8341
+ const part = input.slice(lastPos);
8342
+ if (part || options.keepEmpty) parts.push(part);
8343
+ return parts;
8344
+ }
8345
+ function isSequence(value) {
8346
+ return NUMERICAL_RANGE_RE.test(value);
8347
+ }
8348
+ function expandSequence(value) {
8349
+ const match = value.match(NUMERICAL_RANGE_RE);
8350
+ if (!match) return [value];
8351
+ const [, start, end, stepValue] = match;
8352
+ if (start === void 0 || end === void 0) return [value];
8353
+ let step = stepValue ? Number.parseInt(stepValue, 10) : void 0;
8354
+ const startNumber = Number.parseInt(start, 10);
8355
+ const endNumber = Number.parseInt(end, 10);
8356
+ const increasing = startNumber < endNumber;
8357
+ if (step === void 0) step = increasing ? 1 : -1;
8358
+ if (step === 0) return [];
8359
+ if (increasing && step < 0) step = -step;
8360
+ if (!increasing && step > 0) step = -step;
8361
+ const result = [];
8362
+ for (let value = startNumber; increasing ? value <= endNumber : value >= endNumber; value += step) result.push(String(value));
8363
+ return result;
8364
+ }
8365
+ function expandInlineSourceCandidatePattern(pattern) {
8366
+ const index = pattern.indexOf("{");
8367
+ if (index === -1) return [pattern];
8368
+ const prefix = pattern.slice(0, index);
8369
+ const rest = pattern.slice(index);
8370
+ let depth = 0;
8371
+ let endIndex = -1;
8372
+ for (let index = 0; index < rest.length; index++) {
8373
+ const char = rest[index];
8374
+ if (char === "{") depth += 1;
8375
+ else if (char === "}") {
8376
+ depth -= 1;
8377
+ if (depth === 0) {
8378
+ endIndex = index;
8379
+ break;
8380
+ }
8381
+ }
8382
+ }
8383
+ if (endIndex === -1) return [pattern];
8384
+ const inner = rest.slice(1, endIndex);
8385
+ const suffix = rest.slice(endIndex + 1);
8386
+ const parts = (isSequence(inner) ? expandSequence(inner) : segmentTopLevel(inner, ",", { keepEmpty: true })).flatMap((part) => expandInlineSourceCandidatePattern(part));
8387
+ return expandInlineSourceCandidatePattern(suffix).flatMap((suffix) => parts.map((part) => `${prefix}${part}${suffix}`));
8388
+ }
8389
+ function parseSourceInlineParam(params) {
8390
+ let value = params.trim();
8391
+ const negated = value.startsWith("not ");
8392
+ if (negated) value = value.slice(4).trim();
8393
+ if (!value.startsWith("inline(") || !value.endsWith(")")) return;
8394
+ const inlineValue = value.slice(7, -1).trim();
8395
+ const match = /^(['"])([\s\S]*)\1$/.exec(inlineValue);
8396
+ if (!match) return;
8397
+ const source = match[2];
8398
+ if (source === void 0) return;
8399
+ return {
8400
+ negated,
8401
+ source
8402
+ };
8403
+ }
8404
+ function collectCssInlineSourceCandidates(root) {
8405
+ const included = /* @__PURE__ */ new Set();
8406
+ const excluded = /* @__PURE__ */ new Set();
8407
+ root.walkAtRules("source", (rule) => {
8408
+ const parsed = parseSourceInlineParam(rule.params);
8409
+ if (!parsed) return;
8410
+ const target = parsed.negated ? excluded : included;
8411
+ for (const source of segmentTopLevel(parsed.source, " ")) {
8412
+ const trimmed = source.trim();
8413
+ if (!trimmed) continue;
8414
+ for (const candidate of expandInlineSourceCandidatePattern(trimmed)) {
8415
+ const normalized = candidate.trim();
8416
+ if (normalized) target.add(normalized);
8417
+ }
8418
+ }
8419
+ });
8420
+ for (const candidate of excluded) included.delete(candidate);
8421
+ return {
8422
+ included,
8423
+ excluded
8424
+ };
8425
+ }
8426
+ //#endregion
8427
+ //#region src/source-scan.ts
8428
+ const DEFAULT_SOURCE_SCAN_EXTENSIONS = [
8429
+ "html",
8430
+ "wxml",
8431
+ "axml",
8432
+ "jxml",
8433
+ "ksml",
8434
+ "ttml",
8435
+ "qml",
8436
+ "tyml",
8437
+ "xhsml",
8438
+ "swan",
8439
+ "vue",
8440
+ "mpx",
8441
+ "js",
8442
+ "jsx",
8443
+ "ts",
8444
+ "tsx"
8445
+ ];
8446
+ const FULL_SOURCE_SCAN_EXTENSIONS = [
8447
+ "js",
8448
+ "jsx",
8449
+ "mjs",
8450
+ "cjs",
8451
+ "ts",
8452
+ "tsx",
8453
+ "mts",
8454
+ "cts",
8455
+ "vue",
8456
+ "uvue",
8457
+ "nvue",
8458
+ "svelte",
8459
+ "mpx",
8460
+ "html",
8461
+ "wxml",
8462
+ "axml",
8463
+ "jxml",
8464
+ "ksml",
8465
+ "ttml",
8466
+ "qml",
8467
+ "tyml",
8468
+ "xhsml",
8469
+ "swan",
8470
+ "css",
8471
+ "wxss",
8472
+ "acss",
8473
+ "jxss",
8474
+ "ttss",
8475
+ "qss",
8476
+ "tyss",
8477
+ "scss",
8478
+ "sass",
8479
+ "less",
8480
+ "styl",
8481
+ "stylus"
8482
+ ];
8483
+ function createSourceScanPattern(extensions = DEFAULT_SOURCE_SCAN_EXTENSIONS) {
8484
+ return `**/*.{${extensions.join(",")}}`;
8485
+ }
8486
+ createSourceScanPattern(FULL_SOURCE_SCAN_EXTENSIONS);
8487
+ new RegExp(`\\.(?:${FULL_SOURCE_SCAN_EXTENSIONS.map((extension) => extension.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")).join("|")})$`);
8488
+ function toPosixPath(value) {
8489
+ return value.split(path.sep).join("/");
8490
+ }
8491
+ function resolveSourceScanPath(value) {
8492
+ const resolved = path.resolve(value);
8493
+ try {
8494
+ return realpathSync.native(resolved);
8495
+ } catch {
8496
+ return resolved;
8497
+ }
8498
+ }
8499
+ function normalizeEntryPattern(entry) {
8500
+ return path.isAbsolute(entry.pattern) ? toPosixPath(path.relative(resolveSourceScanPath(entry.base), entry.pattern)) : entry.pattern;
8501
+ }
8502
+ function isFileMatchedByTailwindSourceEntry(file, entry) {
8503
+ const relative = toPosixPath(path.relative(resolveSourceScanPath(entry.base), file));
8504
+ return relative && !relative.startsWith("../") && !path.isAbsolute(relative) && micromatch.isMatch(relative, normalizeEntryPattern(entry));
8505
+ }
8506
+ function isFileExcludedByTailwindSourceEntries(file, entries) {
8507
+ if (!entries?.length) return false;
8508
+ const resolvedFile = resolveSourceScanPath(file);
8509
+ return entries.some((entry) => entry.negated && isFileMatchedByTailwindSourceEntry(resolvedFile, entry));
8510
+ }
8511
+ function parseConfigParam(params) {
8512
+ const value = params.trim();
8513
+ return /^(['"])(.+)\1$/.exec(value)?.[2];
8514
+ }
8515
+ function isLegacyContentObject(value) {
8516
+ return typeof value === "object" && value !== null && "files" in value;
8517
+ }
8518
+ function normalizeGlobPattern(pattern) {
8519
+ return pattern.startsWith("./") ? pattern.slice(2) : pattern;
8520
+ }
8521
+ function hasGlobMagic(value) {
8522
+ return /[*?[\]{}()!+@]/.test(value);
8523
+ }
8524
+ function splitStaticGlobPrefix(pattern) {
8525
+ const segments = normalizeGlobPattern(pattern).split(/[\\/]+/);
8526
+ const prefix = [];
8527
+ const rest = [];
8528
+ let reachedGlob = false;
8529
+ for (const segment of segments) {
8530
+ if (!reachedGlob && segment && !hasGlobMagic(segment)) {
8531
+ prefix.push(segment);
8532
+ continue;
8533
+ }
8534
+ reachedGlob = true;
8535
+ rest.push(segment);
8536
+ }
8537
+ return {
8538
+ prefix,
8539
+ rest
8540
+ };
8541
+ }
8542
+ function normalizeLegacyContentEntries(content, base, options = {}) {
8543
+ if (typeof content === "string") {
8544
+ const negated = content.startsWith("!");
8545
+ return [{
8546
+ base,
8547
+ negated,
8548
+ pattern: normalizeGlobPattern(negated ? content.slice(1) : content)
8549
+ }];
8550
+ }
8551
+ if (Array.isArray(content)) return content.flatMap((item) => normalizeLegacyContentEntries(item, base, options));
8552
+ if (isLegacyContentObject(content)) return normalizeLegacyContentEntries(content.files, content.relative && options.relativeBase ? options.relativeBase : base, options);
8553
+ return [];
8554
+ }
8555
+ async function pathExistsAsDirectory(file) {
8556
+ try {
8557
+ return (await stat(file)).isDirectory();
8558
+ } catch {
8559
+ return false;
8560
+ }
8561
+ }
8562
+ async function resolveTailwindSourceEntry(sourcePath, base, negated, defaultPattern = createSourceScanPattern()) {
8563
+ const absoluteSource = path.isAbsolute(sourcePath) ? path.resolve(sourcePath) : path.resolve(base, sourcePath);
8564
+ if (await pathExistsAsDirectory(absoluteSource)) return {
8565
+ base: absoluteSource,
8566
+ negated,
8567
+ pattern: normalizeGlobPattern(defaultPattern)
8568
+ };
8569
+ if (path.isAbsolute(sourcePath)) return {
8570
+ base: path.dirname(absoluteSource),
8571
+ negated,
8572
+ pattern: normalizeGlobPattern(path.basename(absoluteSource))
8573
+ };
8574
+ const { prefix, rest } = splitStaticGlobPrefix(sourcePath);
8575
+ if (prefix.length > 0 && rest.length > 0) return {
8576
+ base: path.resolve(base, ...prefix),
8577
+ negated,
8578
+ pattern: normalizeGlobPattern(rest.join("/"))
8579
+ };
8580
+ return {
8581
+ base,
8582
+ negated,
8583
+ pattern: normalizeGlobPattern(sourcePath)
8584
+ };
8585
+ }
8586
+ function parseSourceFileParam(params) {
8587
+ const value = params.trim();
8588
+ if (!value || value === "none" || value.startsWith("inline(")) return;
8589
+ const negated = value.startsWith("not ");
8590
+ const sourceValue = negated ? value.slice(4).trim() : value;
8591
+ if (sourceValue.startsWith("inline(")) return;
8592
+ const match = /^(['"])(.+)\1$/.exec(sourceValue);
8593
+ return match?.[2] ? {
8594
+ negated,
8595
+ sourcePath: match[2]
8596
+ } : void 0;
8597
+ }
8598
+ async function resolveCssSourceEntries(root, base, defaultPattern = createSourceScanPattern()) {
8599
+ const entries = [];
8600
+ const tasks = [];
8601
+ root.walkAtRules("source", (rule) => {
8602
+ const parsed = parseSourceFileParam(rule.params);
8603
+ if (!parsed) return;
8604
+ tasks.push(resolveTailwindSourceEntry(parsed.sourcePath, base, parsed.negated, defaultPattern));
8605
+ });
8606
+ entries.push(...await Promise.all(tasks));
8607
+ return entries;
8608
+ }
8609
+ async function expandTailwindSourceEntries(entries, options = {}) {
8610
+ if (entries.length === 0) return [];
8611
+ const files = /* @__PURE__ */ new Set();
8612
+ const entriesByBase = /* @__PURE__ */ new Map();
8613
+ for (const entry of entries) {
8614
+ const base = path.resolve(entry.base);
8615
+ const group = entriesByBase.get(base) ?? [];
8616
+ group.push({
8617
+ ...entry,
8618
+ base
8619
+ });
8620
+ entriesByBase.set(base, group);
8621
+ }
8622
+ await Promise.all([...entriesByBase.entries()].map(async ([base, group]) => {
8623
+ const ignoredSources = options.ignore?.map((pattern) => ({
8624
+ base,
8625
+ pattern: normalizeGlobPattern(pattern),
8626
+ negated: true
8627
+ }));
8628
+ const matched = await resolveProjectSourceFiles({
8629
+ cwd: base,
8630
+ sources: group,
8631
+ ...ignoredSources === void 0 ? {} : { ignoredSources }
8632
+ });
8633
+ for (const file of matched) files.add(path.resolve(file));
8634
+ }));
8635
+ return [...files].filter((file) => !isFileExcludedByTailwindSourceEntries(file, entries));
8636
+ }
8637
+ //#endregion
8638
+ //#region src/generator-plugin/source-files.ts
8639
+ const POSTCSS_SOURCE_PATTERN = createSourceScanPattern(DEFAULT_SOURCE_SCAN_EXTENSIONS);
8640
+ function isTailwindV4ApplyOnlyCss$1(root, options) {
8641
+ return options.version === 4 && hasTailwindApplyDirective(root.toString()) && !hasTailwindRootDirectives(root, { importFallback: true });
8642
+ }
8643
+ function getSourceExtension(file) {
8644
+ return path.extname(file).slice(1) || void 0;
8645
+ }
8646
+ function collectConfigPaths(root, base) {
8647
+ const configPaths = [];
8648
+ root.walkAtRules("config", (rule) => {
8649
+ const configPath = parseConfigParam(rule.params);
8650
+ if (configPath) configPaths.push(path.isAbsolute(configPath) ? configPath : path.resolve(base, configPath));
8651
+ });
8652
+ return [...new Set(configPaths)];
8653
+ }
8654
+ function resolveOptionConfigPath(config, base) {
8655
+ if (!config) return;
8656
+ return path.isAbsolute(config) ? config : path.resolve(base, config);
8657
+ }
8658
+ async function collectConfigContentFiles(root, base, options) {
8659
+ const configPaths = [...new Set([...resolveOptionConfigPath(options.config, base) ? [resolveOptionConfigPath(options.config, base)] : [], ...collectConfigPaths(root, base)])];
8660
+ const files = [];
8661
+ for (const configPath of configPaths) {
8662
+ const contentEntries = normalizeLegacyContentEntries((await loadConfig({
8663
+ config: configPath,
8664
+ cwd: path.dirname(configPath)
8665
+ }))?.config.content, options.version === 3 ? options.projectRoot ?? base : path.dirname(configPath), { relativeBase: path.dirname(configPath) });
8666
+ files.push(...await expandTailwindSourceEntries(contentEntries));
8667
+ }
8668
+ return {
8669
+ configPaths,
8670
+ files: [...new Set(files)]
8671
+ };
8672
+ }
8673
+ async function collectConfiguredContentEntries(root, base, options) {
8674
+ const configPath = resolveOptionConfigPath(options.generator?.config ?? options.config, base) ?? collectConfigPaths(root, base)[0];
8675
+ if (!configPath) return [];
8676
+ const resolvedConfigPath = path.isAbsolute(configPath) ? configPath : path.resolve(base, configPath);
8677
+ return normalizeLegacyContentEntries((await loadConfig({
8678
+ config: resolvedConfigPath,
8679
+ cwd: path.dirname(resolvedConfigPath)
8680
+ }))?.config.content, options.version === 3 ? options.projectRoot ?? base : path.dirname(resolvedConfigPath), { relativeBase: path.dirname(resolvedConfigPath) });
8681
+ }
8682
+ async function collectRawCandidatesFromSourceEntries(sourceEntries) {
8683
+ const candidates = /* @__PURE__ */ new Set();
8684
+ const files = await expandTailwindSourceEntries(sourceEntries);
8685
+ await Promise.all(files.map(async (file) => {
8686
+ const matches = await extractRawCandidatesWithPositions(await readFile(file, "utf8"), getSourceExtension(file));
8687
+ for (const match of matches) {
8688
+ const candidate = match?.rawCandidate;
8689
+ if (typeof candidate === "string" && candidate.length > 0) candidates.add(candidate);
8690
+ }
8691
+ }));
8692
+ return candidates;
8693
+ }
8694
+ async function collectAutoTailwindCandidates(root, result, options) {
8695
+ if (options.scanSources === false) return /* @__PURE__ */ new Set();
8696
+ const base = resolvePostcssBase(result, options);
8697
+ const projectRoot = resolvePostcssProjectRoot(result, options);
8698
+ const sourceEntries = [];
8699
+ const hasSourceNone = root.toString().includes("source(none)");
8700
+ const shouldSkipAutoScan = isTailwindV4ApplyOnlyCss$1(root, options);
8701
+ const inlineCandidates = collectCssInlineSourceCandidates(root);
8702
+ const configuredContentEntries = options.version === 3 ? await collectConfiguredContentEntries(root, base, options) : [];
8703
+ if (configuredContentEntries.length > 0) sourceEntries.push(...configuredContentEntries);
8704
+ else if (!hasSourceNone && !shouldSkipAutoScan) sourceEntries.push({
8705
+ base,
8706
+ negated: false,
8707
+ pattern: POSTCSS_SOURCE_PATTERN
8708
+ });
8709
+ sourceEntries.push(...await resolveCssSourceEntries(root, base, POSTCSS_SOURCE_PATTERN));
8710
+ const candidates = sourceEntries.length === 0 ? [] : options.version === 3 ? await collectRawCandidatesFromSourceEntries(sourceEntries) : await extractValidCandidates({
8711
+ base,
8712
+ css: root.toString(),
8713
+ cwd: projectRoot,
8714
+ sources: sourceEntries
8715
+ });
8716
+ return new Set([...[...candidates].filter((candidate) => !inlineCandidates.excluded.has(candidate)), ...inlineCandidates.included]);
8717
+ }
8718
+ async function collectPostcssLocalSources(root, result, options) {
8719
+ const base = resolvePostcssBase(result, options);
8720
+ const sourceEntries = await resolveCssSourceEntries(root, base, POSTCSS_SOURCE_PATTERN);
8721
+ const configContentFiles = await collectConfigContentFiles(root, base, options);
8722
+ const files = [...new Set([...await expandTailwindSourceEntries(sourceEntries), ...configContentFiles.files])];
8723
+ const sources = await Promise.all(files.map(async (file) => {
8724
+ const extension = getSourceExtension(file);
8725
+ return {
8726
+ content: await readFile(file, "utf8"),
8727
+ ...extension === void 0 ? {} : { extension }
8728
+ };
8729
+ }));
8730
+ return {
8731
+ files: [...files, ...configContentFiles.configPaths],
8732
+ sources
8733
+ };
8734
+ }
8735
+ //#endregion
8736
+ //#region src/generator-plugin/package-version.ts
8737
+ function normalizeSupportedTailwindcssMajorVersion(version) {
8738
+ return version === 3 || version === 4 ? version : void 0;
8739
+ }
8740
+ function readPackageJson(packageJsonPath) {
8741
+ try {
8742
+ return JSON.parse(readFileSync(packageJsonPath, "utf8"));
8743
+ } catch {
8744
+ return;
8745
+ }
8746
+ }
8747
+ function readDeclaredPackageVersion(packageName, pkg) {
8748
+ return pkg?.dependencies?.[packageName] ?? pkg?.devDependencies?.[packageName] ?? pkg?.peerDependencies?.[packageName] ?? pkg?.optionalDependencies?.[packageName];
8749
+ }
8750
+ function findPackageJsonDeclaringPackage(packageName, base) {
8751
+ let current = path.resolve(base);
8752
+ while (true) {
8753
+ const pkgPath = path.join(current, "package.json");
8754
+ if (existsSync(pkgPath)) {
8755
+ const pkg = readPackageJson(pkgPath);
8756
+ if (readDeclaredPackageVersion(packageName, pkg)) return pkgPath;
8757
+ if (pkg?.name !== "weapp-tailwindcss") return;
8758
+ }
8759
+ const parent = path.dirname(current);
8760
+ if (parent === current) return;
8761
+ current = parent;
8762
+ }
8763
+ }
8764
+ function readDeclaredPackageMajorVersion(version) {
8765
+ const match = version?.match(/(?:^|\D)([34])(?:\.|\b)/);
8766
+ return normalizeSupportedTailwindcssMajorVersion(match ? Number(match[1]) : void 0);
8767
+ }
8768
+ function readInstalledPackageMajorVersion(packageName, base) {
8769
+ const packageJsonPath = findPackageJsonDeclaringPackage(packageName, base);
8770
+ if (!packageJsonPath) return;
8771
+ const declaredVersion = readDeclaredPackageVersion(packageName, readPackageJson(packageJsonPath));
8772
+ if (!declaredVersion) return;
8773
+ try {
8774
+ const pkg = createRequire(packageJsonPath)(`${packageName}/package.json`);
8775
+ return normalizeSupportedTailwindcssMajorVersion(Number(pkg.version?.split(".")[0]));
8776
+ } catch {
8777
+ return readDeclaredPackageMajorVersion(declaredVersion);
8778
+ }
8779
+ }
8780
+ //#endregion
8781
+ //#region src/generator-plugin/tailwind-version.ts
8782
+ function hasTailwindV4CssSyntax(root) {
8783
+ let hasV4Syntax = false;
8784
+ root.walkAtRules((rule) => {
8785
+ if (rule.name === "theme" || rule.name === "source" || rule.name === "custom-variant") hasV4Syntax = true;
8786
+ if (rule.name === "import" && /(['"])tailwindcss\1/.test(rule.params)) hasV4Syntax = true;
8787
+ });
8788
+ return hasV4Syntax;
8789
+ }
8790
+ function resolvePostcssTailwindVersion(root, result, options) {
8791
+ if (options.version) return options.version;
8792
+ const packageName = options.packageName ?? "tailwindcss";
8793
+ const installedVersion = readInstalledPackageMajorVersion(packageName, resolvePostcssProjectRoot(result, options));
8794
+ if (installedVersion) return installedVersion;
8795
+ if (packageName === "@tailwindcss/postcss" || packageName.includes("tailwindcss4")) return 4;
8796
+ if (packageName.includes("tailwindcss3")) return 3;
8797
+ if (hasTailwindV4CssSyntax(root)) return 4;
8798
+ return 4;
8799
+ }
8800
+ //#endregion
8801
+ //#region src/generator-plugin/index.ts
8802
+ const PLUGIN_NAME = "weapp-tailwindcss";
8803
+ function isTailwindV4ApplyOnlyCss(css, root) {
8804
+ return hasTailwindApplyDirective(css) && !hasTailwindRootDirectives(root, { importFallback: true });
8805
+ }
8806
+ function resolveTailwindV4PostcssSourceCss(css, sourceOptions, root) {
8807
+ return isTailwindV4ApplyOnlyCss(css, root) ? `@import "${sourceOptions.packageName ?? "tailwindcss"}" source(none);\n${css}` : css;
8808
+ }
8809
+ function normalizeSelector$1(selector) {
8810
+ return selector.replace(/:not\(#\\#\)/g, "").trim();
8811
+ }
8812
+ function collectApplyOnlyCssSelectors(css) {
8813
+ const selectors = /* @__PURE__ */ new Set();
8814
+ try {
8815
+ postcss$1.parse(css).walkRules((rule) => {
8816
+ if (!rule.nodes?.some((node) => node.type === "atrule" && node.name === "apply")) return;
8817
+ for (const selector of rule.selectors ?? [rule.selector]) {
8818
+ const normalized = normalizeSelector$1(selector);
8819
+ if (normalized) selectors.add(normalized);
8820
+ }
8821
+ });
8822
+ } catch {}
8823
+ return selectors;
8824
+ }
8825
+ function ruleMatchesApplyOnlySelector(rule, selectors) {
8826
+ return (rule.selectors ?? [rule.selector]).some((selector) => selectors.has(normalizeSelector$1(selector)));
8827
+ }
8828
+ function filterApplyOnlyGeneratedCss(css, rawCss) {
8829
+ const selectors = collectApplyOnlyCssSelectors(rawCss);
8830
+ if (selectors.size === 0) return css;
8831
+ try {
8832
+ const root = postcss$1.parse(css);
8833
+ root.walkRules((rule) => {
8834
+ if (!ruleMatchesApplyOnlySelector(rule, selectors) && !rule.nodes?.some((node) => node.type === "decl" && node.prop.startsWith("--"))) rule.remove();
8835
+ });
8836
+ root.walkAtRules((rule) => {
8837
+ if (rule.nodes !== void 0 && rule.nodes.length === 0) rule.remove();
8838
+ });
8839
+ return root.toString();
8840
+ } catch {
8841
+ return css;
8842
+ }
8843
+ }
8844
+ function createWeappTailwindcssPostcssPlugin(adapters) {
8845
+ const plugin = (options = {}) => {
8846
+ return {
8847
+ postcssPlugin: PLUGIN_NAME,
8848
+ async Once(root, { result }) {
8849
+ const { candidates, generator: userGeneratorOptions, scanSources, sources, styleOptions, ...sourceOptions } = options;
8850
+ const generatorOptions = adapters.normalizeGeneratorOptions(userGeneratorOptions);
8851
+ const tailwindVersion = resolvePostcssTailwindVersion(root, result, options);
8852
+ const [collectedSources, autoCandidates] = await Promise.all([collectPostcssLocalSources(root, result, options), collectAutoTailwindCandidates(root, result, options)]);
8853
+ const generatorConfig = generatorOptions.config ?? options.config;
8854
+ const rawCss = sourceOptions.css ?? root.toString();
8855
+ const isApplyOnlyTailwindV4Css = tailwindVersion === 4 && isTailwindV4ApplyOnlyCss(rawCss, root);
8856
+ const source = tailwindVersion === 3 ? await adapters.resolveTailwindV3Source({
8857
+ config: generatorConfig,
8858
+ css: rawCss,
8859
+ base: resolvePostcssBase(result, options),
8860
+ cwd: resolvePostcssProjectRoot(result, options),
8861
+ projectRoot: resolvePostcssProjectRoot(result, options),
8862
+ packageName: options.packageName,
8863
+ postcssPlugin: options.postcssPlugin
8864
+ }) : await adapters.resolveTailwindV4Source({
8865
+ ...sourceOptions,
8866
+ css: prependConfigDirective(resolveTailwindV4PostcssSourceCss(rawCss, sourceOptions, root), generatorConfig),
8867
+ base: resolvePostcssBase(result, options),
8868
+ projectRoot: resolvePostcssProjectRoot(result, options)
8869
+ });
8870
+ const generated = await adapters.createGenerator(source).generate({
8871
+ candidates: new Set([...autoCandidates, ...candidates ?? []]),
8872
+ scanSources: scanSources ?? false,
8873
+ sources: [...collectedSources.sources, ...sources ?? []],
8874
+ styleOptions: {
8875
+ ...generatorOptions.styleOptions,
8876
+ ...styleOptions
8877
+ },
8878
+ tailwindcssV3Compatibility: generatorOptions.tailwindcssV3Compatibility,
8879
+ target: generatorOptions.target
8880
+ });
8881
+ replaceRootCss(root, isApplyOnlyTailwindV4Css ? filterApplyOnlyGeneratedCss(generated.css, rawCss) : generated.css, result);
8882
+ addDependencyMessages(result, generated);
8883
+ addSourceDependencyMessages(result, collectedSources.files);
8884
+ result.messages.push({
8885
+ type: "weapp-tailwindcss:generated",
8886
+ plugin: PLUGIN_NAME,
8887
+ target: generated.target,
8888
+ classSet: generated.classSet,
8889
+ rawCss: generated.rawCss
8890
+ });
8891
+ }
8892
+ };
8893
+ };
8894
+ plugin.postcss = true;
8895
+ return plugin;
8896
+ }
8897
+ //#endregion
7941
8898
  //#region src/compat/uni-app-x.ts
7942
8899
  const UNI_APP_X_BASE_CARRIER_SELECTORS = new Set([
7943
8900
  "*",
@@ -8007,7 +8964,7 @@ function injectUniAppXBaseDefaults(result, defaults) {
8007
8964
  const declaration = defaults.get(variableName);
8008
8965
  if (declaration) prependDecls.push(declaration);
8009
8966
  }
8010
- for (const declaration of prependDecls.reverse()) rule.prepend(postcss.decl({
8967
+ for (const declaration of prependDecls.reverse()) rule.prepend(postcss$1.decl({
8011
8968
  prop: declaration.prop,
8012
8969
  value: declaration.value,
8013
8970
  important: declaration.important
@@ -38180,7 +39137,7 @@ var require_node = /* @__PURE__ */ __commonJSMin(((exports, module) => {
38180
39137
  var feature = require_feature().default;
38181
39138
  var region = require_region().default;
38182
39139
  var fs = __require("fs");
38183
- var path$1 = __require("path");
39140
+ var path$2 = __require("path");
38184
39141
  var BrowserslistError = require_error();
38185
39142
  var IS_SECTION = /^\s*\[(.+)]\s*$/;
38186
39143
  var CONFIG_PATTERN = /^browserslist-config-/;
@@ -38218,7 +39175,7 @@ var require_node = /* @__PURE__ */ __commonJSMin(((exports, module) => {
38218
39175
  return getPathType(dir) === PATHTYPE_DIR;
38219
39176
  }
38220
39177
  function eachParent(file, callback, cache) {
38221
- var loc = path$1.resolve(file);
39178
+ var loc = path$2.resolve(file);
38222
39179
  var pathsForCacheResult = [];
38223
39180
  var result;
38224
39181
  do {
@@ -38234,7 +39191,7 @@ var require_node = /* @__PURE__ */ __commonJSMin(((exports, module) => {
38234
39191
  result = locResult;
38235
39192
  break;
38236
39193
  }
38237
- } while (loc !== (loc = path$1.dirname(loc)));
39194
+ } while (loc !== (loc = path$2.dirname(loc)));
38238
39195
  if (cache && !process.env.BROWSERSLIST_DISABLE_CACHE) pathsForCacheResult.forEach(function(cachePath) {
38239
39196
  cache[cachePath] = result;
38240
39197
  });
@@ -38242,8 +39199,8 @@ var require_node = /* @__PURE__ */ __commonJSMin(((exports, module) => {
38242
39199
  }
38243
39200
  function pathInRoot(p) {
38244
39201
  if (!process.env.BROWSERSLIST_ROOT_PATH) return true;
38245
- var rootPath = path$1.resolve(process.env.BROWSERSLIST_ROOT_PATH);
38246
- if (path$1.relative(rootPath, p).substring(0, 2) === "..") return false;
39202
+ var rootPath = path$2.resolve(process.env.BROWSERSLIST_ROOT_PATH);
39203
+ if (path$2.relative(rootPath, p).substring(0, 2) === "..") return false;
38247
39204
  return true;
38248
39205
  }
38249
39206
  function check(section) {
@@ -38277,7 +39234,7 @@ var require_node = /* @__PURE__ */ __commonJSMin(((exports, module) => {
38277
39234
  }
38278
39235
  function parsePackageOrReadConfig(file) {
38279
39236
  if (file in parseConfigCache) return parseConfigCache[file];
38280
- var result = path$1.basename(file) === "package.json" ? parsePackage(file) : module.exports.readConfig(file);
39237
+ var result = path$2.basename(file) === "package.json" ? parsePackage(file) : module.exports.readConfig(file);
38281
39238
  if (!process.env.BROWSERSLIST_DISABLE_CACHE) parseConfigCache[file] = result;
38282
39239
  return result;
38283
39240
  }
@@ -38337,14 +39294,14 @@ var require_node = /* @__PURE__ */ __commonJSMin(((exports, module) => {
38337
39294
  },
38338
39295
  loadStat: function loadStat(ctx, name, data) {
38339
39296
  if (!ctx.dangerousExtend && !process.env.BROWSERSLIST_DANGEROUS_EXTEND) checkExtend(name);
38340
- return normalizeStats(data, __require(__require.resolve(path$1.posix.join(name, "browserslist-stats.json"), { paths: ["."] })));
39297
+ return normalizeStats(data, __require(__require.resolve(path$2.posix.join(name, "browserslist-stats.json"), { paths: ["."] })));
38341
39298
  },
38342
39299
  getStat: function getStat(opts, data) {
38343
39300
  var stats;
38344
39301
  if (opts.stats) stats = opts.stats;
38345
39302
  else if (process.env.BROWSERSLIST_STATS) stats = process.env.BROWSERSLIST_STATS;
38346
- else if (opts.path && path$1.resolve && fs.existsSync) stats = eachParent(opts.path, function(dir) {
38347
- var file = path$1.join(dir, "browserslist-stats.json");
39303
+ else if (opts.path && path$2.resolve && fs.existsSync) stats = eachParent(opts.path, function(dir) {
39304
+ var file = path$2.join(dir, "browserslist-stats.json");
38348
39305
  return isFile(file) ? file : void 0;
38349
39306
  }, statCache);
38350
39307
  if (typeof stats === "string") try {
@@ -38417,9 +39374,9 @@ var require_node = /* @__PURE__ */ __commonJSMin(((exports, module) => {
38417
39374
  },
38418
39375
  findConfigFile: function findConfigFile(from) {
38419
39376
  return eachParent(from, function(dir) {
38420
- var config = path$1.join(dir, "browserslist");
38421
- var pkg = path$1.join(dir, "package.json");
38422
- var rc = path$1.join(dir, ".browserslistrc");
39377
+ var config = path$2.join(dir, "browserslist");
39378
+ var pkg = path$2.join(dir, "package.json");
39379
+ var rc = path$2.join(dir, ".browserslistrc");
38423
39380
  var pkgBrowserslist;
38424
39381
  if (isFile(pkg)) try {
38425
39382
  pkgBrowserslist = parsePackage(pkg);
@@ -38541,7 +39498,7 @@ var import_browserslist = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin
38541
39498
  var agents = require_agents().agents;
38542
39499
  var e2c = require_versions();
38543
39500
  var jsEOL = require_release_schedule();
38544
- var path = __require("path");
39501
+ var path$1 = __require("path");
38545
39502
  var BrowserslistError = require_error();
38546
39503
  var env = require_node();
38547
39504
  var parseWithoutCache = require_parse();
@@ -38794,7 +39751,7 @@ var import_browserslist = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin
38794
39751
  }
38795
39752
  function prepareOpts(opts) {
38796
39753
  if (typeof opts === "undefined") opts = {};
38797
- if (typeof opts.path === "undefined") opts.path = path.resolve ? path.resolve(".") : ".";
39754
+ if (typeof opts.path === "undefined") opts.path = path$1.resolve ? path$1.resolve(".") : ".";
38798
39755
  return opts;
38799
39756
  }
38800
39757
  function prepareQueries(queries, opts) {
@@ -38911,7 +39868,7 @@ var import_browserslist = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin
38911
39868
  if (typeof stats === "undefined") data = browserslist.usage.global;
38912
39869
  else if (stats === "my stats") {
38913
39870
  var opts = {};
38914
- opts.path = path.resolve ? path.resolve(".") : ".";
39871
+ opts.path = path$1.resolve ? path$1.resolve(".") : ".";
38915
39872
  var customStats = env.getStat(opts);
38916
39873
  if (!customStats) throw new BrowserslistError("Custom usage statistics was not provided");
38917
39874
  data = {};
@@ -39810,7 +40767,7 @@ const e$10 = /^\s?initial\s?$/i, n$11 = /^font$/i, r$8 = /^all$/i, i$9 = [
39810
40767
  "font-weight",
39811
40768
  "font-stretch",
39812
40769
  "line-height"
39813
- ], creator$51 = (a) => {
40770
+ ], creator$52 = (a) => {
39814
40771
  const l = Object.assign({ preserve: !0 }, a);
39815
40772
  return {
39816
40773
  postcssPlugin: "postcss-initial",
@@ -39830,7 +40787,7 @@ const e$10 = /^\s?initial\s?$/i, n$11 = /^font$/i, r$8 = /^all$/i, i$9 = [
39830
40787
  }
39831
40788
  };
39832
40789
  };
39833
- creator$51.postcss = !0;
40790
+ creator$52.postcss = !0;
39834
40791
  //#endregion
39835
40792
  //#region ../../node_modules/.pnpm/@csstools+postcss-progressive-custom-properties@5.1.0_postcss@8.5.15/node_modules/@csstools/postcss-progressive-custom-properties/dist/index.mjs
39836
40793
  const a$6 = [
@@ -42809,7 +43766,7 @@ function conditionsFromValue(a, t = !1) {
42809
43766
  } catch {}
42810
43767
  return t && !y ? { support: [] } : { support: Array.from(new Set(o)).sort() };
42811
43768
  }
42812
- const t$14 = /var\(/i, i$8 = /^initial$/i, o$23 = /^\s*$/, creator$50 = () => ({
43769
+ const t$14 = /var\(/i, i$8 = /^initial$/i, o$23 = /^\s*$/, creator$51 = () => ({
42813
43770
  postcssPlugin: "postcss-progressive-custom-properties",
42814
43771
  prepare() {
42815
43772
  const e = /* @__PURE__ */ new WeakMap();
@@ -42862,7 +43819,7 @@ const t$14 = /var\(/i, i$8 = /^initial$/i, o$23 = /^\s*$/, creator$50 = () => ({
42862
43819
  };
42863
43820
  }
42864
43821
  });
42865
- creator$50.postcss = !0;
43822
+ creator$51.postcss = !0;
42866
43823
  //#endregion
42867
43824
  //#region ../../node_modules/.pnpm/@csstools+utilities@3.0.0_postcss@8.5.15/node_modules/@csstools/utilities/dist/index.mjs
42868
43825
  function hasFallback$1(e) {
@@ -43103,7 +44060,7 @@ const postcssPlugin$16 = (o) => {
43103
44060
  }, o);
43104
44061
  return r.enableProgressiveCustomProperties && r.preserve ? {
43105
44062
  postcssPlugin: "postcss-color-function",
43106
- plugins: [creator$50(), basePlugin$16(r)]
44063
+ plugins: [creator$51(), basePlugin$16(r)]
43107
44064
  } : basePlugin$16(r);
43108
44065
  };
43109
44066
  postcssPlugin$16.postcss = !0;
@@ -43179,7 +44136,7 @@ function insertNode(t, s, n) {
43179
44136
  t.insertAfter(t.at(r), n);
43180
44137
  } else t.insertBefore(t.at(r), n);
43181
44138
  }
43182
- const creator$49 = (e) => {
44139
+ const creator$50 = (e) => {
43183
44140
  const t = {
43184
44141
  preserve: e?.preserve ?? !0,
43185
44142
  subFeatures: { areaHrefNeedsFixing: e?.subFeatures?.areaHrefNeedsFixing ?? !1 }
@@ -43200,7 +44157,7 @@ const creator$49 = (e) => {
43200
44157
  }
43201
44158
  };
43202
44159
  };
43203
- creator$49.postcss = !0;
44160
+ creator$50.postcss = !0;
43204
44161
  //#endregion
43205
44162
  //#region ../../node_modules/.pnpm/css-blank-pseudo@8.0.1_postcss@8.5.15/node_modules/css-blank-pseudo/dist/index.mjs
43206
44163
  const s$14 = [
@@ -43219,7 +44176,7 @@ function isValidReplacement$1(e) {
43219
44176
  for (let t = 0, o = s$14.length; t < o && n; t++) e.indexOf(s$14[t]) > -1 && (n = !1);
43220
44177
  return n;
43221
44178
  }
43222
- const n$9 = "js-blank-pseudo", t$12 = ":blank", creator$48 = (s) => {
44179
+ const n$9 = "js-blank-pseudo", t$12 = ":blank", creator$49 = (s) => {
43223
44180
  const o = Object.assign({
43224
44181
  preserve: !0,
43225
44182
  replaceWith: "[blank]",
@@ -43275,7 +44232,7 @@ const n$9 = "js-blank-pseudo", t$12 = ":blank", creator$48 = (s) => {
43275
44232
  }
43276
44233
  };
43277
44234
  };
43278
- creator$48.postcss = !0;
44235
+ creator$49.postcss = !0;
43279
44236
  //#endregion
43280
44237
  //#region ../../node_modules/.pnpm/@csstools+selector-specificity@6.0.0_postcss-selector-parser@7.1.2/node_modules/@csstools/selector-specificity/dist/index.mjs
43281
44238
  var import_postcss_page_break = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
@@ -43692,7 +44649,7 @@ function splitImportantStyles(e) {
43692
44649
  }), r.before(t), removeEmptyDescendantBlocks(r);
43693
44650
  });
43694
44651
  }
43695
- const creator$47 = (a) => {
44652
+ const creator$48 = (a) => {
43696
44653
  const s = Object.assign({
43697
44654
  onRevertLayerKeyword: "warn",
43698
44655
  onConditionalRulesChangingLayerOrder: "warn",
@@ -43746,7 +44703,7 @@ const creator$47 = (a) => {
43746
44703
  }
43747
44704
  };
43748
44705
  };
43749
- creator$47.postcss = !0;
44706
+ creator$48.postcss = !0;
43750
44707
  //#endregion
43751
44708
  //#region ../../node_modules/.pnpm/postcss-attribute-case-insensitive@8.0.0_postcss@8.5.15/node_modules/postcss-attribute-case-insensitive/dist/index.mjs
43752
44709
  function nodeIsInsensitiveAttribute(e) {
@@ -43791,7 +44748,7 @@ function createNewSelectors(t) {
43791
44748
  }), s = n;
43792
44749
  }), s;
43793
44750
  }
43794
- const creator$46 = (t) => {
44751
+ const creator$47 = (t) => {
43795
44752
  const s = Object.assign({ preserve: !1 }, t);
43796
44753
  return {
43797
44754
  postcssPlugin: "postcss-attribute-case-insensitive",
@@ -43820,7 +44777,7 @@ const creator$46 = (t) => {
43820
44777
  }
43821
44778
  };
43822
44779
  };
43823
- creator$46.postcss = !0;
44780
+ creator$47.postcss = !0;
43824
44781
  //#endregion
43825
44782
  //#region ../../node_modules/.pnpm/@csstools+postcss-color-function@5.0.4_postcss@8.5.15/node_modules/@csstools/postcss-color-function/dist/index.mjs
43826
44783
  var import_postcss_clamp = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
@@ -43922,7 +44879,7 @@ const postcssPlugin$15 = (o) => {
43922
44879
  }, o);
43923
44880
  return e.enableProgressiveCustomProperties && e.preserve ? {
43924
44881
  postcssPlugin: "postcss-color-function",
43925
- plugins: [creator$50(), basePlugin$15(e)]
44882
+ plugins: [creator$51(), basePlugin$15(e)]
43926
44883
  } : basePlugin$15(e);
43927
44884
  };
43928
44885
  postcssPlugin$15.postcss = !0;
@@ -43951,7 +44908,7 @@ const postcssPlugin$14 = (o) => {
43951
44908
  }, o);
43952
44909
  return r.enableProgressiveCustomProperties && r.preserve ? {
43953
44910
  postcssPlugin: "postcss-color-function-display-p3-linear",
43954
- plugins: [creator$50(), basePlugin$14(r)]
44911
+ plugins: [creator$51(), basePlugin$14(r)]
43955
44912
  } : basePlugin$14(r);
43956
44913
  };
43957
44914
  postcssPlugin$14.postcss = !0;
@@ -43980,7 +44937,7 @@ const postcssPlugin$13 = (o) => {
43980
44937
  }, o);
43981
44938
  return t.enableProgressiveCustomProperties && t.preserve ? {
43982
44939
  postcssPlugin: "postcss-color-functional-notation",
43983
- plugins: [creator$50(), basePlugin$13(t)]
44940
+ plugins: [creator$51(), basePlugin$13(t)]
43984
44941
  } : basePlugin$13(t);
43985
44942
  };
43986
44943
  postcssPlugin$13.postcss = !0;
@@ -44016,7 +44973,7 @@ const postcssPlugin$12 = (e) => {
44016
44973
  }, e);
44017
44974
  return r.subFeatures = Object.assign({ displayP3: !0 }, r.subFeatures), r.enableProgressiveCustomProperties && (r.preserve || r.subFeatures.displayP3) ? {
44018
44975
  postcssPlugin: "postcss-color-mix-function",
44019
- plugins: [creator$50(), basePlugin$12(r)]
44976
+ plugins: [creator$51(), basePlugin$12(r)]
44020
44977
  } : basePlugin$12(r);
44021
44978
  };
44022
44979
  postcssPlugin$12.postcss = !0;
@@ -44052,13 +45009,13 @@ const postcssPlugin$11 = (e) => {
44052
45009
  }, e);
44053
45010
  return r.subFeatures = Object.assign({ displayP3: !0 }, r.subFeatures), r.enableProgressiveCustomProperties && (r.preserve || r.subFeatures.displayP3) ? {
44054
45011
  postcssPlugin: "color-mix-variadic-function-arguments",
44055
- plugins: [creator$50(), basePlugin$11(r)]
45012
+ plugins: [creator$51(), basePlugin$11(r)]
44056
45013
  } : basePlugin$11(r);
44057
45014
  };
44058
45015
  postcssPlugin$11.postcss = !0;
44059
45016
  //#endregion
44060
45017
  //#region ../../node_modules/.pnpm/@csstools+postcss-container-rule-prelude-list@1.0.1_postcss@8.5.15/node_modules/@csstools/postcss-container-rule-prelude-list/dist/index.mjs
44061
- const t$10 = /^container$/i, creator$45 = (o) => {
45018
+ const t$10 = /^container$/i, creator$46 = (o) => {
44062
45019
  const a = Object.assign({ preserve: !1 }, o);
44063
45020
  return {
44064
45021
  postcssPlugin: "postcss-container-rule-prelude-list",
@@ -44072,7 +45029,7 @@ const t$10 = /^container$/i, creator$45 = (o) => {
44072
45029
  }
44073
45030
  };
44074
45031
  };
44075
- creator$45.postcss = !0;
45032
+ creator$46.postcss = !0;
44076
45033
  //#endregion
44077
45034
  //#region ../../node_modules/.pnpm/@csstools+postcss-content-alt-text@3.0.1_postcss@8.5.15/node_modules/@csstools/postcss-content-alt-text/dist/index.mjs
44078
45035
  function transform$3(s, t) {
@@ -44106,7 +45063,7 @@ const p$2 = { test: (s) => s.includes("content:") && s.includes("/") }, basePlug
44106
45063
  }
44107
45064
  });
44108
45065
  basePlugin$10.postcss = !0;
44109
- const creator$44 = (t) => {
45066
+ const creator$45 = (t) => {
44110
45067
  const e = Object.assign({
44111
45068
  enableProgressiveCustomProperties: !0,
44112
45069
  preserve: !0,
@@ -44114,10 +45071,10 @@ const creator$44 = (t) => {
44114
45071
  }, t);
44115
45072
  return e.enableProgressiveCustomProperties && e.preserve ? {
44116
45073
  postcssPlugin: "postcss-content-alt-text",
44117
- plugins: [creator$50(), basePlugin$10(e)]
45074
+ plugins: [creator$51(), basePlugin$10(e)]
44118
45075
  } : basePlugin$10(e);
44119
45076
  };
44120
- creator$44.postcss = !0;
45077
+ creator$45.postcss = !0;
44121
45078
  //#endregion
44122
45079
  //#region ../../node_modules/.pnpm/@csstools+postcss-contrast-color-function@3.0.4_postcss@8.5.15/node_modules/@csstools/postcss-contrast-color-function/dist/index.mjs
44123
45080
  const u$6 = /\bcontrast-color\(/i, m$4 = /^contrast-color$/i, basePlugin$9 = (s) => ({
@@ -44146,7 +45103,7 @@ const postcssPlugin$10 = (o) => {
44146
45103
  }, o);
44147
45104
  return r.enableProgressiveCustomProperties && r.preserve ? {
44148
45105
  postcssPlugin: "postcss-contrast-color-function",
44149
- plugins: [creator$50(), basePlugin$9(r)]
45106
+ plugins: [creator$51(), basePlugin$9(r)]
44150
45107
  } : basePlugin$9(r);
44151
45108
  };
44152
45109
  postcssPlugin$10.postcss = !0;
@@ -46421,7 +47378,7 @@ function mediaQueryIsSimple(e) {
46421
47378
  if (isMediaAnd(e.node) || isMediaOr(e.node) || isMediaNot(e.node) || isMediaConditionList(e.node) || isGeneralEnclosed(e.node)) return r = !1, !1;
46422
47379
  }), r;
46423
47380
  }
46424
- const creator$43 = (e) => {
47381
+ const creator$44 = (e) => {
46425
47382
  const r = e?.preserve ?? !1;
46426
47383
  if ("importFrom" in Object(e)) throw new Error("[postcss-custom-media] \"importFrom\" is no longer supported");
46427
47384
  if ("exportTo" in Object(e)) throw new Error("[postcss-custom-media] \"exportTo\" is no longer supported");
@@ -46475,7 +47432,7 @@ const creator$43 = (e) => {
46475
47432
  }
46476
47433
  };
46477
47434
  };
46478
- creator$43.postcss = !0;
47435
+ creator$44.postcss = !0;
46479
47436
  //#endregion
46480
47437
  //#region ../../node_modules/.pnpm/postcss-custom-properties@15.0.1_postcss@8.5.15/node_modules/postcss-custom-properties/dist/index.mjs
46481
47438
  const o$20 = parse$1("csstools-implicit-layer")[0];
@@ -46762,7 +47719,7 @@ function parentHasExactFallback(e, t) {
46762
47719
  const n = e.parent.index(e);
46763
47720
  return e.parent.each((o, s) => o !== e && !(s >= n) && void ("decl" === o.type && o.prop.toLowerCase() === e.prop.toLowerCase() && o.value === t && (r = !0))), r;
46764
47721
  }
46765
- const g$4 = /\bvar\(|\(top: var\(--f\)/i, creator$42 = (e) => {
47722
+ const g$4 = /\bvar\(|\(top: var\(--f\)/i, creator$43 = (e) => {
46766
47723
  const t = !("preserve" in Object(e)) || Boolean(e?.preserve);
46767
47724
  if ("importFrom" in Object(e)) throw new Error("[postcss-custom-properties] \"importFrom\" is no longer supported");
46768
47725
  if ("exportTo" in Object(e)) throw new Error("[postcss-custom-properties] \"exportTo\" is no longer supported");
@@ -46786,7 +47743,7 @@ const g$4 = /\bvar\(|\(top: var\(--f\)/i, creator$42 = (e) => {
46786
47743
  }
46787
47744
  };
46788
47745
  };
46789
- creator$42.postcss = !0;
47746
+ creator$43.postcss = !0;
46790
47747
  //#endregion
46791
47748
  //#region ../../node_modules/.pnpm/postcss-custom-selectors@9.0.1_postcss@8.5.15/node_modules/postcss-custom-selectors/dist/index.mjs
46792
47749
  const s$11 = parse$1("csstools-implicit-layer")[0];
@@ -46898,7 +47855,7 @@ function transformRule(r, t, s) {
46898
47855
  }
46899
47856
  return o;
46900
47857
  }
46901
- const creator$41 = (e) => {
47858
+ const creator$42 = (e) => {
46902
47859
  const r = e?.preserve ?? !1;
46903
47860
  if ("importFrom" in Object(e)) throw new Error("[postcss-custom-selectors] \"importFrom\" is no longer supported");
46904
47861
  if ("exportTo" in Object(e)) throw new Error("[postcss-custom-selectors] \"exportTo\" is no longer supported");
@@ -46922,10 +47879,10 @@ const creator$41 = (e) => {
46922
47879
  }
46923
47880
  };
46924
47881
  };
46925
- creator$41.postcss = !0;
47882
+ creator$42.postcss = !0;
46926
47883
  //#endregion
46927
47884
  //#region ../../node_modules/.pnpm/postcss-dir-pseudo-class@10.0.0_postcss@8.5.15/node_modules/postcss-dir-pseudo-class/dist/index.mjs
46928
- const creator$40 = (t) => {
47885
+ const creator$41 = (t) => {
46929
47886
  const r = Object.assign({
46930
47887
  dir: null,
46931
47888
  preserve: !1,
@@ -46993,7 +47950,7 @@ const creator$40 = (t) => {
46993
47950
  }
46994
47951
  };
46995
47952
  };
46996
- creator$40.postcss = !0;
47953
+ creator$41.postcss = !0;
46997
47954
  //#endregion
46998
47955
  //#region ../../node_modules/.pnpm/@csstools+postcss-normalize-display-values@5.0.1_postcss@8.5.15/node_modules/@csstools/postcss-normalize-display-values/dist/index.mjs
46999
47956
  var l$5 = new Map([
@@ -47047,7 +48004,7 @@ function transform$2(e) {
47047
48004
  if (n.length <= 1) return e;
47048
48005
  return l$5.get(n.join(",")) || e;
47049
48006
  }
47050
- const e$9 = /^display$/i, t$9 = /\b\s\b/, creator$39 = (i) => {
48007
+ const e$9 = /^display$/i, t$9 = /\b\s\b/, creator$40 = (i) => {
47051
48008
  const l = !("preserve" in Object(i)) || Boolean(i?.preserve);
47052
48009
  return {
47053
48010
  postcssPlugin: "postcss-normalize-display-values",
@@ -47061,7 +48018,7 @@ const e$9 = /^display$/i, t$9 = /\b\s\b/, creator$39 = (i) => {
47061
48018
  }
47062
48019
  };
47063
48020
  };
47064
- creator$39.postcss = !0;
48021
+ creator$40.postcss = !0;
47065
48022
  //#endregion
47066
48023
  //#region ../../node_modules/.pnpm/postcss-double-position-gradients@7.0.1_postcss@8.5.15/node_modules/postcss-double-position-gradients/dist/index.mjs
47067
48024
  const o$18 = /(?:repeating-)?(?:conic|linear|radial)-gradient\(/i, i$5 = /^(?:repeating-)?(?:conic|linear|radial)-gradient$/i, n$7 = [
@@ -47137,13 +48094,13 @@ const postcssPlugin$9 = (t) => {
47137
48094
  }, t);
47138
48095
  return s.enableProgressiveCustomProperties && s.preserve ? {
47139
48096
  postcssPlugin: "postcss-double-position-gradients",
47140
- plugins: [creator$50(), basePlugin$8(s)]
48097
+ plugins: [creator$51(), basePlugin$8(s)]
47141
48098
  } : basePlugin$8(s);
47142
48099
  };
47143
48100
  postcssPlugin$9.postcss = !0;
47144
48101
  //#endregion
47145
48102
  //#region ../../node_modules/.pnpm/@csstools+postcss-exponential-functions@3.0.3_postcss@8.5.15/node_modules/@csstools/postcss-exponential-functions/dist/index.mjs
47146
- const s$10 = /(?<![-\w])(?:exp|hypot|log|pow|sqrt)\(/i, creator$38 = (o) => {
48103
+ const s$10 = /(?<![-\w])(?:exp|hypot|log|pow|sqrt)\(/i, creator$39 = (o) => {
47147
48104
  const t = Object.assign({ preserve: !1 }, o);
47148
48105
  return {
47149
48106
  postcssPlugin: "postcss-exponential-functions",
@@ -47154,7 +48111,7 @@ const s$10 = /(?<![-\w])(?:exp|hypot|log|pow|sqrt)\(/i, creator$38 = (o) => {
47154
48111
  }
47155
48112
  };
47156
48113
  };
47157
- creator$38.postcss = !0;
48114
+ creator$39.postcss = !0;
47158
48115
  //#endregion
47159
48116
  //#region ../../node_modules/.pnpm/@csstools+postcss-logical-float-and-clear@4.0.0_postcss@8.5.15/node_modules/@csstools/postcss-logical-float-and-clear/dist/index.mjs
47160
48117
  const t$8 = "inline-start", o$17 = "inline-end";
@@ -47178,7 +48135,7 @@ function cloneDeclaration$2(t, o, e) {
47178
48135
  })(e$8 || (e$8 = {})), function(t) {
47179
48136
  t.Top = "top", t.Right = "right", t.Bottom = "bottom", t.Left = "left";
47180
48137
  }(n$6 || (n$6 = {}));
47181
- const creator$37 = (n) => {
48138
+ const creator$38 = (n) => {
47182
48139
  const i = Object.assign({ inlineDirection: e$8.LeftToRight }, n), c = Object.values(e$8);
47183
48140
  if (!c.includes(i.inlineDirection)) throw new Error(`[postcss-logical-float-and-clear] "inlineDirection" must be one of ${c.join(", ")}`);
47184
48141
  if (![e$8.LeftToRight, e$8.RightToLeft].includes(i.inlineDirection)) return {
@@ -47198,10 +48155,10 @@ const creator$37 = (n) => {
47198
48155
  }
47199
48156
  };
47200
48157
  };
47201
- creator$37.postcss = !0;
48158
+ creator$38.postcss = !0;
47202
48159
  //#endregion
47203
48160
  //#region ../../node_modules/.pnpm/postcss-focus-visible@11.0.0_postcss@8.5.15/node_modules/postcss-focus-visible/dist/index.mjs
47204
- const s$9 = "js-focus-visible", o$16 = ":focus-visible", creator$36 = (t) => {
48161
+ const s$9 = "js-focus-visible", o$16 = ":focus-visible", creator$37 = (t) => {
47205
48162
  const r = Object.assign({
47206
48163
  preserve: !0,
47207
48164
  replaceWith: ".focus-visible",
@@ -47252,7 +48209,7 @@ const s$9 = "js-focus-visible", o$16 = ":focus-visible", creator$36 = (t) => {
47252
48209
  }
47253
48210
  };
47254
48211
  };
47255
- creator$36.postcss = !0;
48212
+ creator$37.postcss = !0;
47256
48213
  //#endregion
47257
48214
  //#region ../../node_modules/.pnpm/postcss-focus-within@10.0.0_postcss@8.5.15/node_modules/postcss-focus-within/dist/index.mjs
47258
48215
  const s$8 = [
@@ -47271,7 +48228,7 @@ function isValidReplacement(e) {
47271
48228
  for (let n = 0, o = s$8.length; n < o && t; n++) e.indexOf(s$8[n]) > -1 && (t = !1);
47272
48229
  return t;
47273
48230
  }
47274
- const t$7 = "js-focus-within", n$5 = ":focus-within", creator$35 = (s) => {
48231
+ const t$7 = "js-focus-within", n$5 = ":focus-within", creator$36 = (s) => {
47275
48232
  const o = Object.assign({
47276
48233
  preserve: !0,
47277
48234
  replaceWith: "[focus-within]",
@@ -47327,7 +48284,7 @@ const t$7 = "js-focus-within", n$5 = ":focus-within", creator$35 = (s) => {
47327
48284
  }
47328
48285
  };
47329
48286
  };
47330
- creator$35.postcss = !0;
48287
+ creator$36.postcss = !0;
47331
48288
  //#endregion
47332
48289
  //#region ../../node_modules/.pnpm/@csstools+postcss-font-format-keywords@5.0.0_postcss@8.5.15/node_modules/@csstools/postcss-font-format-keywords/dist/index.mjs
47333
48290
  const t$6 = [
@@ -47338,7 +48295,7 @@ const t$6 = [
47338
48295
  "embedded-opentype",
47339
48296
  "collection",
47340
48297
  "svg"
47341
- ], creator$34 = (r) => {
48298
+ ], creator$35 = (r) => {
47342
48299
  const s = "preserve" in Object(r) && Boolean(r?.preserve);
47343
48300
  return {
47344
48301
  postcssPlugin: "postcss-font-format-keywords",
@@ -47362,7 +48319,7 @@ const t$6 = [
47362
48319
  }
47363
48320
  };
47364
48321
  };
47365
- creator$34.postcss = !0;
48322
+ creator$35.postcss = !0;
47366
48323
  //#endregion
47367
48324
  //#region ../../node_modules/.pnpm/@csstools+postcss-font-width-property@1.0.0_postcss@8.5.15/node_modules/@csstools/postcss-font-width-property/dist/index.mjs
47368
48325
  var import_postcss_font_variant = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
@@ -47458,7 +48415,7 @@ var import_postcss_font_variant = /* @__PURE__ */ __toESM((/* @__PURE__ */ __com
47458
48415
  };
47459
48416
  module.exports.postcss = true;
47460
48417
  })))(), 1);
47461
- const e$7 = /^font-width$/i, o$15 = /\bfont-width\b/i, s$7 = /^font-stretch$/i, creator$33 = (s) => {
48418
+ const e$7 = /^font-width$/i, o$15 = /\bfont-width\b/i, s$7 = /^font-stretch$/i, creator$34 = (s) => {
47462
48419
  const r = Object.assign({ preserve: !1 }, s);
47463
48420
  return {
47464
48421
  postcssPlugin: "postcss-font-width-property",
@@ -47473,7 +48430,7 @@ function hasFallback(t) {
47473
48430
  for (const o of e.nodes) if (o !== t && "decl" === o.type && s$7.test(o.prop)) return !0;
47474
48431
  return !1;
47475
48432
  }
47476
- creator$33.postcss = !0;
48433
+ creator$34.postcss = !0;
47477
48434
  //#endregion
47478
48435
  //#region ../../node_modules/.pnpm/@csstools+postcss-gamut-mapping@3.0.4_postcss@8.5.15/node_modules/@csstools/postcss-gamut-mapping/dist/index.mjs
47479
48436
  const p = /\bcolor-gamut\b/i;
@@ -47493,7 +48450,7 @@ function sameProperty(e) {
47493
48450
  }
47494
48451
  return t;
47495
48452
  }
47496
- const d = /\b(?:color|lab|lch|oklab|oklch)\(/i, u$4 = /^(?:color|lab|lch|oklab|oklch)$/i, creator$32 = () => ({
48453
+ const d = /\b(?:color|lab|lch|oklab|oklch)\(/i, u$4 = /^(?:color|lab|lch|oklab|oklch)$/i, creator$33 = () => ({
47497
48454
  postcssPlugin: "postcss-gamut-mapping",
47498
48455
  prepare() {
47499
48456
  const p = /* @__PURE__ */ new WeakMap(), m = /* @__PURE__ */ new WeakSet();
@@ -47568,14 +48525,14 @@ const d = /\b(?:color|lab|lch|oklab|oklch)\(/i, u$4 = /^(?:color|lab|lch|oklab|o
47568
48525
  };
47569
48526
  }
47570
48527
  });
47571
- creator$32.postcss = !0;
48528
+ creator$33.postcss = !0;
47572
48529
  //#endregion
47573
48530
  //#region ../../node_modules/.pnpm/postcss-gap-properties@7.0.0_postcss@8.5.15/node_modules/postcss-gap-properties/dist/index.mjs
47574
48531
  const e$6 = [
47575
48532
  "column-gap",
47576
48533
  "gap",
47577
48534
  "row-gap"
47578
- ], creator$31 = (o) => {
48535
+ ], creator$32 = (o) => {
47579
48536
  const r = Object.assign({ preserve: !0 }, o);
47580
48537
  return {
47581
48538
  postcssPlugin: "postcss-gap-properties",
@@ -47587,7 +48544,7 @@ const e$6 = [
47587
48544
  }
47588
48545
  };
47589
48546
  };
47590
- creator$31.postcss = !0;
48547
+ creator$32.postcss = !0;
47591
48548
  //#endregion
47592
48549
  //#region ../../node_modules/.pnpm/@csstools+postcss-gradients-interpolation-method@6.0.4_postcss@8.5.15/node_modules/@csstools/postcss-gradients-interpolation-method/dist/index.mjs
47593
48550
  const x = /(?:repeating-)?(?:linear|radial|conic)-gradient\(/i, W = /\bin\b/i, P$1 = { test: (o) => x.test(o) && W.test(o) }, A$1 = /^(repeating-)?(linear|radial|conic)-gradient$/i;
@@ -47872,7 +48829,7 @@ const postcssPlugin$8 = (e) => {
47872
48829
  }, e);
47873
48830
  return t.enableProgressiveCustomProperties ? {
47874
48831
  postcssPlugin: "postcss-gradients-interpolation-method",
47875
- plugins: [creator$50(), basePlugin$7(t)]
48832
+ plugins: [creator$51(), basePlugin$7(t)]
47876
48833
  } : basePlugin$7(t);
47877
48834
  };
47878
48835
  postcssPlugin$8.postcss = !0;
@@ -47907,7 +48864,7 @@ function selectorContainsHasPseudo(t) {
47907
48864
  } catch {}
47908
48865
  return s;
47909
48866
  }
47910
- const creator$30 = (t) => {
48867
+ const creator$31 = (t) => {
47911
48868
  const o = {
47912
48869
  preserve: !0,
47913
48870
  specificityMatchingName: "does-not-exist",
@@ -47986,10 +48943,10 @@ function isWithinSupportCheck(e) {
47986
48943
  }
47987
48944
  return !1;
47988
48945
  }
47989
- creator$30.postcss = !0;
48946
+ creator$31.postcss = !0;
47990
48947
  //#endregion
47991
48948
  //#region ../../node_modules/.pnpm/postcss-color-hex-alpha@11.0.0_postcss@8.5.15/node_modules/postcss-color-hex-alpha/dist/index.mjs
47992
- const creator$29 = (a) => {
48949
+ const creator$30 = (a) => {
47993
48950
  const o = Object.assign({ preserve: !1 }, a);
47994
48951
  return {
47995
48952
  postcssPlugin: "postcss-color-hex-alpha",
@@ -48006,7 +48963,7 @@ const creator$29 = (a) => {
48006
48963
  }
48007
48964
  };
48008
48965
  };
48009
- creator$29.postcss = !0;
48966
+ creator$30.postcss = !0;
48010
48967
  const t$5 = /#[0-9a-f]{4}(?:[0-9a-f]{4})?\b/i, r$6 = /^#[0-9a-f]{4}(?:[0-9a-f]{4})?$/i, a$3 = 1e5, o$14 = /[0-9a-f]/gi;
48011
48968
  function hexa2rgba(e) {
48012
48969
  const s = e.value, t = `0x${5 === s.length ? s.slice(1).replace(o$14, "$&$&") : s.slice(1)}`, [r, l, n, c] = [
@@ -48042,7 +48999,7 @@ const postcssPlugin$7 = (o) => {
48042
48999
  }, o);
48043
49000
  return e.enableProgressiveCustomProperties && e.preserve ? {
48044
49001
  postcssPlugin: "postcss-hwb-function",
48045
- plugins: [creator$50(), basePlugin$6(e)]
49002
+ plugins: [creator$51(), basePlugin$6(e)]
48046
49003
  } : basePlugin$6(e);
48047
49004
  };
48048
49005
  postcssPlugin$7.postcss = !0;
@@ -48072,7 +49029,7 @@ const postcssPlugin$6 = (e) => {
48072
49029
  }, e);
48073
49030
  return t.enableProgressiveCustomProperties && t.preserve ? {
48074
49031
  postcssPlugin: "postcss-ic-unit",
48075
- plugins: [creator$50(), basePlugin$5(t)]
49032
+ plugins: [creator$51(), basePlugin$5(t)]
48076
49033
  } : basePlugin$5(t);
48077
49034
  };
48078
49035
  postcssPlugin$6.postcss = !0;
@@ -48115,7 +49072,7 @@ const postcssPlugin$5 = (s) => {
48115
49072
  }, s);
48116
49073
  return o.enableProgressiveCustomProperties && o.preserve ? {
48117
49074
  postcssPlugin: "postcss-image-function",
48118
- plugins: [creator$50(), basePlugin$4(o)]
49075
+ plugins: [creator$51(), basePlugin$4(o)]
48119
49076
  } : basePlugin$4(o);
48120
49077
  };
48121
49078
  postcssPlugin$5.postcss = !0;
@@ -48195,7 +49152,7 @@ const handleInvalidation = (e, t, n) => {
48195
49152
  if (!l) return;
48196
49153
  const c = u.slice(1);
48197
49154
  c.length && r.after(c), n.cloneBefore({ value: l.trim() }), i.preserve || (n.remove(), r.nodes?.length || r.remove());
48198
- }, r$5 = /(?:^|[^\w-])(?:-webkit-)?image-set\(/i, o$12 = /^(?:-webkit-)?image-set$/i, creator$28 = (n) => {
49155
+ }, r$5 = /(?:^|[^\w-])(?:-webkit-)?image-set\(/i, o$12 = /^(?:-webkit-)?image-set$/i, creator$29 = (n) => {
48199
49156
  const i = !("preserve" in Object(n)) || Boolean(n?.preserve), s = "onInvalid" in Object(n) ? n?.onInvalid : "ignore";
48200
49157
  if ("oninvalid" in Object(n)) throw new Error("\"oninvalid\" was changed to \"onInvalid\" to match other plugins with similar options");
48201
49158
  return {
@@ -48238,7 +49195,7 @@ const handleInvalidation = (e, t, n) => {
48238
49195
  }
48239
49196
  };
48240
49197
  };
48241
- creator$28.postcss = !0;
49198
+ creator$29.postcss = !0;
48242
49199
  //#endregion
48243
49200
  //#region ../../node_modules/.pnpm/@csstools+postcss-is-pseudo-class@6.0.0_postcss@8.5.15/node_modules/@csstools/postcss-is-pseudo-class/dist/index.mjs
48244
49201
  function alwaysValidSelector(s) {
@@ -48461,7 +49418,7 @@ function cartesianProduct(...e) {
48461
49418
  }
48462
49419
  }([], 0), s;
48463
49420
  }
48464
- const n$3 = /:is\(/i, creator$27 = (e) => {
49421
+ const n$3 = /:is\(/i, creator$28 = (e) => {
48465
49422
  const s = {
48466
49423
  specificityMatchingName: "does-not-exist",
48467
49424
  ...e || {}
@@ -48507,7 +49464,7 @@ const n$3 = /:is\(/i, creator$27 = (e) => {
48507
49464
  }
48508
49465
  };
48509
49466
  };
48510
- creator$27.postcss = !0;
49467
+ creator$28.postcss = !0;
48511
49468
  //#endregion
48512
49469
  //#region ../../node_modules/.pnpm/postcss-lab-function@8.0.4_postcss@8.5.15/node_modules/postcss-lab-function/dist/index.mjs
48513
49470
  const g$2 = /\b(?:lab|lch)\(/i, f$2 = /^(?:lab|lch)$/i, basePlugin$3 = (s) => ({
@@ -48540,7 +49497,7 @@ const postcssPlugin$4 = (e) => {
48540
49497
  }, e);
48541
49498
  return t.subFeatures = Object.assign({ displayP3: !0 }, t.subFeatures), t.enableProgressiveCustomProperties && (t.preserve || t.subFeatures.displayP3) ? {
48542
49499
  postcssPlugin: "postcss-lab-function",
48543
- plugins: [creator$50(), basePlugin$3(t)]
49500
+ plugins: [creator$51(), basePlugin$3(t)]
48544
49501
  } : basePlugin$3(t);
48545
49502
  };
48546
49503
  postcssPlugin$4.postcss = !0;
@@ -48737,7 +49694,7 @@ const postcssPlugin$3 = (r) => {
48737
49694
  }, r);
48738
49695
  return t.enableProgressiveCustomProperties && t.preserve ? {
48739
49696
  postcssPlugin: "postcss-light-dark-function",
48740
- plugins: [creator$50(), basePlugin$2(t)]
49697
+ plugins: [creator$51(), basePlugin$2(t)]
48741
49698
  } : basePlugin$2(t);
48742
49699
  };
48743
49700
  postcssPlugin$3.postcss = !0;
@@ -48754,7 +49711,7 @@ function transformAxes$1(o, t) {
48754
49711
  (function(o) {
48755
49712
  o.TopToBottom = "top-to-bottom", o.BottomToTop = "bottom-to-top", o.RightToLeft = "right-to-left", o.LeftToRight = "left-to-right";
48756
49713
  })(o$10 || (o$10 = {}));
48757
- const creator$26 = (t) => {
49714
+ const creator$27 = (t) => {
48758
49715
  const e = Object.assign({ inlineDirection: o$10.LeftToRight }, t);
48759
49716
  switch (e.inlineDirection) {
48760
49717
  case o$10.LeftToRight:
@@ -48772,7 +49729,7 @@ const creator$26 = (t) => {
48772
49729
  }
48773
49730
  };
48774
49731
  };
48775
- creator$26.postcss = !0;
49732
+ creator$27.postcss = !0;
48776
49733
  //#endregion
48777
49734
  //#region ../../node_modules/.pnpm/@csstools+postcss-logical-overscroll-behavior@3.0.0_postcss@8.5.15/node_modules/@csstools/postcss-logical-overscroll-behavior/dist/index.mjs
48778
49735
  var o$9;
@@ -48786,7 +49743,7 @@ function transformAxes(o, t) {
48786
49743
  (function(o) {
48787
49744
  o.TopToBottom = "top-to-bottom", o.BottomToTop = "bottom-to-top", o.RightToLeft = "right-to-left", o.LeftToRight = "left-to-right";
48788
49745
  })(o$9 || (o$9 = {}));
48789
- const creator$25 = (t) => {
49746
+ const creator$26 = (t) => {
48790
49747
  const e = Object.assign({ inlineDirection: o$9.LeftToRight }, t);
48791
49748
  switch (e.inlineDirection) {
48792
49749
  case o$9.LeftToRight:
@@ -48804,7 +49761,7 @@ const creator$25 = (t) => {
48804
49761
  }
48805
49762
  };
48806
49763
  };
48807
- creator$25.postcss = !0;
49764
+ creator$26.postcss = !0;
48808
49765
  //#endregion
48809
49766
  //#region ../../node_modules/.pnpm/postcss-logical@9.0.0_postcss@8.5.15/node_modules/postcss-logical/dist/index.mjs
48810
49767
  var e$5, n$2;
@@ -49058,7 +50015,7 @@ function prepareTransforms(e, t, i, l, a) {
49058
50015
  })(t$4 || (t$4 = {})), function(r) {
49059
50016
  r.Top = "top", r.Right = "right", r.Bottom = "bottom", r.Left = "left";
49060
50017
  }(i$2 || (i$2 = {}));
49061
- const l$4 = /var\(/i, creator$24 = (r) => {
50018
+ const l$4 = /var\(/i, creator$25 = (r) => {
49062
50019
  const e = Object.assign({
49063
50020
  blockDirection: t$4.TopToBottom,
49064
50021
  inlineDirection: t$4.LeftToRight
@@ -49164,7 +50121,7 @@ const l$4 = /var\(/i, creator$24 = (r) => {
49164
50121
  }
49165
50122
  };
49166
50123
  };
49167
- creator$24.postcss = !0;
50124
+ creator$25.postcss = !0;
49168
50125
  //#endregion
49169
50126
  //#region ../../node_modules/.pnpm/@csstools+postcss-logical-resize@4.0.0_postcss@8.5.15/node_modules/@csstools/postcss-logical-resize/dist/index.mjs
49170
50127
  var t$3, e$4, i$1;
@@ -49203,7 +50160,7 @@ function directionFlowToAxes(o) {
49203
50160
  }(e$4 || (e$4 = {})), function(o) {
49204
50161
  o.Top = "top", o.Right = "right", o.Bottom = "bottom", o.Left = "left";
49205
50162
  }(i$1 || (i$1 = {}));
49206
- const creator$23 = (o) => {
50163
+ const creator$24 = (o) => {
49207
50164
  const t = Object.assign({
49208
50165
  blockDirection: e$4.TopToBottom,
49209
50166
  inlineDirection: e$4.LeftToRight
@@ -49237,7 +50194,7 @@ const creator$23 = (o) => {
49237
50194
  };
49238
50195
  var u;
49239
50196
  };
49240
- creator$23.postcss = !0;
50197
+ creator$24.postcss = !0;
49241
50198
  //#endregion
49242
50199
  //#region ../../node_modules/.pnpm/@csstools+postcss-logical-viewport-units@4.0.0_postcss@8.5.15/node_modules/@csstools/postcss-logical-viewport-units/dist/index.mjs
49243
50200
  var s$6;
@@ -49269,7 +50226,7 @@ const c$3 = /vb|vi/i, u$1 = { test(t) {
49269
50226
  if ("vb" === e || "vi" === e) return !0;
49270
50227
  }
49271
50228
  return !1;
49272
- } }, a$2 = /(?:vi|vb)\b/i, creator$22 = (e) => {
50229
+ } }, a$2 = /(?:vi|vb)\b/i, creator$23 = (e) => {
49273
50230
  const i = Object.assign({
49274
50231
  inlineDirection: s$6.LeftToRight,
49275
50232
  preserve: !0
@@ -49306,7 +50263,7 @@ const c$3 = /vb|vi/i, u$1 = { test(t) {
49306
50263
  }
49307
50264
  };
49308
50265
  };
49309
- creator$22.postcss = !0;
50266
+ creator$23.postcss = !0;
49310
50267
  //#endregion
49311
50268
  //#region ../../node_modules/.pnpm/@csstools+postcss-media-queries-aspect-ratio-number-values@4.0.0_postcss@8.5.15/node_modules/@csstools/postcss-media-queries-aspect-ratio-number-values/dist/index.mjs
49312
50269
  const w = 1e5, h$1 = 2147483647;
@@ -49578,7 +50535,7 @@ function transformMediaQueryList(e, s) {
49578
50535
  return v === l || c.has(v) ? [l] : s ? [l, v] : [v];
49579
50536
  }).join(",");
49580
50537
  }
49581
- const creator$21 = (e) => {
50538
+ const creator$22 = (e) => {
49582
50539
  const t = Object.assign({ preserve: !1 }, e);
49583
50540
  return {
49584
50541
  postcssPlugin: "postcss-media-queries-aspect-ratio-number-values",
@@ -49597,7 +50554,7 @@ const creator$21 = (e) => {
49597
50554
  }
49598
50555
  };
49599
50556
  };
49600
- creator$21.postcss = !0;
50557
+ creator$22.postcss = !0;
49601
50558
  //#endregion
49602
50559
  //#region ../../node_modules/.pnpm/@csstools+postcss-media-minmax@3.0.3_postcss@8.5.15/node_modules/@csstools/postcss-media-minmax/dist/index.mjs
49603
50560
  const C = {
@@ -49954,7 +50911,7 @@ function getMediaConditionInShallowMediaQueryFromAncestry(e, t, r) {
49954
50911
  const a = i;
49955
50912
  return i = r.get(i), isMediaQuery(i) && i === t ? a : void 0;
49956
50913
  }
49957
- const creator$20 = () => ({
50914
+ const creator$21 = () => ({
49958
50915
  postcssPlugin: "postcss-media-minmax",
49959
50916
  AtRule: {
49960
50917
  media(e) {
@@ -49981,7 +50938,7 @@ const creator$20 = () => ({
49981
50938
  }
49982
50939
  }
49983
50940
  });
49984
- creator$20.postcss = !0;
50941
+ creator$21.postcss = !0;
49985
50942
  //#endregion
49986
50943
  //#region ../../node_modules/.pnpm/@csstools+postcss-mixins@1.0.0_postcss@8.5.15/node_modules/@csstools/postcss-mixins/dist/index.mjs
49987
50944
  const o$7 = /^apply$/i;
@@ -50011,7 +50968,7 @@ function processableMixinRule(s) {
50011
50968
  "atrule" === e.type && l$3.test(e.name) && (o = !0);
50012
50969
  }), !o && n.getName();
50013
50970
  }
50014
- const creator$19 = (e) => {
50971
+ const creator$20 = (e) => {
50015
50972
  const s = Object.assign({ preserve: !1 }, e);
50016
50973
  return {
50017
50974
  postcssPlugin: "postcss-mixins",
@@ -50039,11 +50996,11 @@ const creator$19 = (e) => {
50039
50996
  }
50040
50997
  };
50041
50998
  };
50042
- creator$19.postcss = !0;
50999
+ creator$20.postcss = !0;
50043
51000
  //#endregion
50044
51001
  //#region ../../node_modules/.pnpm/@csstools+postcss-nested-calc@5.0.0_postcss@8.5.15/node_modules/@csstools/postcss-nested-calc/dist/index.mjs
50045
51002
  const r$4 = /calc\(/gi;
50046
- const creator$18 = (s) => {
51003
+ const creator$19 = (s) => {
50047
51004
  const o = Object.assign({ preserve: !0 }, s);
50048
51005
  return {
50049
51006
  postcssPlugin: "postcss-nested-calc",
@@ -50070,7 +51027,7 @@ const creator$18 = (s) => {
50070
51027
  }
50071
51028
  };
50072
51029
  };
50073
- creator$18.postcss = !0;
51030
+ creator$19.postcss = !0;
50074
51031
  //#endregion
50075
51032
  //#region ../../node_modules/.pnpm/@csstools+selector-resolve-nested@4.0.0_postcss-selector-parser@7.1.2/node_modules/@csstools/selector-resolve-nested/dist/index.mjs
50076
51033
  function sourceFrom(e) {
@@ -50538,7 +51495,7 @@ const creator$1$1 = () => ({
50538
51495
  } }
50539
51496
  });
50540
51497
  creator$1$1.postcss = !0;
50541
- const creator$17 = (e) => {
51498
+ const creator$18 = (e) => {
50542
51499
  const t = Object.assign({ edition: "2024-02" }, e);
50543
51500
  switch (t.edition) {
50544
51501
  case "2021": return creator$2$1(e);
@@ -50546,13 +51503,13 @@ const creator$17 = (e) => {
50546
51503
  default: throw new Error(`Invalid edition: ${t.edition}`);
50547
51504
  }
50548
51505
  };
50549
- creator$17.postcss = !0;
51506
+ creator$18.postcss = !0;
50550
51507
  //#endregion
50551
51508
  //#region ../../node_modules/.pnpm/postcss-selector-not@9.0.0_postcss@8.5.15/node_modules/postcss-selector-not/dist/index.mjs
50552
51509
  function cleanupWhitespace(e) {
50553
51510
  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 = ""));
50554
51511
  }
50555
- const creator$16 = () => ({
51512
+ const creator$17 = () => ({
50556
51513
  postcssPlugin: "postcss-selector-not",
50557
51514
  Rule(s, { result: o }) {
50558
51515
  if (s.selector && s.selector.toLowerCase().includes(":not(")) try {
@@ -50577,7 +51534,7 @@ const creator$16 = () => ({
50577
51534
  }
50578
51535
  }
50579
51536
  });
50580
- creator$16.postcss = !0;
51537
+ creator$17.postcss = !0;
50581
51538
  //#endregion
50582
51539
  //#region ../../node_modules/.pnpm/@csstools+postcss-oklab-function@5.0.4_postcss@8.5.15/node_modules/@csstools/postcss-oklab-function/dist/index.mjs
50583
51540
  const g$1 = /\b(?:oklab|oklch)\(/i, f$1 = /^(?:oklab|oklch)$/i, basePlugin$1 = (s) => ({
@@ -50610,7 +51567,7 @@ const postcssPlugin$2 = (e) => {
50610
51567
  }, e);
50611
51568
  return t.subFeatures = Object.assign({ displayP3: !0 }, t.subFeatures), t.enableProgressiveCustomProperties && (t.preserve || t.subFeatures.displayP3) ? {
50612
51569
  postcssPlugin: "postcss-oklab-function",
50613
- plugins: [creator$50(), basePlugin$1(t)]
51570
+ plugins: [creator$51(), basePlugin$1(t)]
50614
51571
  } : basePlugin$1(t);
50615
51572
  };
50616
51573
  postcssPlugin$2.postcss = !0;
@@ -50636,7 +51593,7 @@ var import_postcss_opacity_percentage = /* @__PURE__ */ __toESM((/* @__PURE__ */
50636
51593
  });
50637
51594
  module.exports.postcss = true;
50638
51595
  })))(), 1);
50639
- const creator$15 = (o) => {
51596
+ const creator$16 = (o) => {
50640
51597
  const r = Object.assign({ preserve: !0 }, o);
50641
51598
  return {
50642
51599
  postcssPlugin: "postcss-overflow-shorthand",
@@ -50662,7 +51619,7 @@ const creator$15 = (o) => {
50662
51619
  }
50663
51620
  };
50664
51621
  };
50665
- creator$15.postcss = !0;
51622
+ creator$16.postcss = !0;
50666
51623
  //#endregion
50667
51624
  //#region ../../node_modules/.pnpm/postcss-place@11.0.0_postcss@8.5.15/node_modules/postcss-place/dist/index.mjs
50668
51625
  var import_postcss_replace_overflow_wrap = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
@@ -50698,7 +51655,7 @@ function onCSSDeclaration(o, r, s) {
50698
51655
  value: l[1] || l[0]
50699
51656
  }), s.preserve || o.remove();
50700
51657
  }
50701
- const t$2 = /^place-(content|items|self)/i, creator$14 = (e) => {
51658
+ const t$2 = /^place-(content|items|self)/i, creator$15 = (e) => {
50702
51659
  const o = Object.assign({ preserve: !0 }, e);
50703
51660
  return {
50704
51661
  postcssPlugin: "postcss-place",
@@ -50707,10 +51664,10 @@ const t$2 = /^place-(content|items|self)/i, creator$14 = (e) => {
50707
51664
  }
50708
51665
  };
50709
51666
  };
50710
- creator$14.postcss = !0;
51667
+ creator$15.postcss = !0;
50711
51668
  //#endregion
50712
51669
  //#region ../../node_modules/.pnpm/@csstools+postcss-position-area-property@2.0.0_postcss@8.5.15/node_modules/@csstools/postcss-position-area-property/dist/index.mjs
50713
- const o$4 = /^position-area$/i, creator$13 = () => ({
51670
+ const o$4 = /^position-area$/i, creator$14 = () => ({
50714
51671
  postcssPlugin: "postcss-position-area-property",
50715
51672
  Declaration(s) {
50716
51673
  o$4.test(s.prop) && s.cloneBefore({
@@ -50719,10 +51676,10 @@ const o$4 = /^position-area$/i, creator$13 = () => ({
50719
51676
  });
50720
51677
  }
50721
51678
  });
50722
- creator$13.postcss = !0;
51679
+ creator$14.postcss = !0;
50723
51680
  //#endregion
50724
51681
  //#region ../../node_modules/.pnpm/css-prefers-color-scheme@11.0.0_postcss@8.5.15/node_modules/css-prefers-color-scheme/dist/index.mjs
50725
- const e$3 = /\(\s*prefers-color-scheme\s*:\s*(dark|light)\s*\)/gi, s$4 = "(color: 48842621)", r$2 = "(color: 70318723)", creator$12 = (o) => {
51682
+ const e$3 = /\(\s*prefers-color-scheme\s*:\s*(dark|light)\s*\)/gi, s$4 = "(color: 48842621)", r$2 = "(color: 70318723)", creator$13 = (o) => {
50726
51683
  const t = Object.assign({ preserve: !0 }, o);
50727
51684
  return {
50728
51685
  postcssPlugin: "postcss-prefers-color-scheme",
@@ -50740,10 +51697,10 @@ const e$3 = /\(\s*prefers-color-scheme\s*:\s*(dark|light)\s*\)/gi, s$4 = "(color
50740
51697
  }
50741
51698
  };
50742
51699
  };
50743
- creator$12.postcss = !0;
51700
+ creator$13.postcss = !0;
50744
51701
  //#endregion
50745
51702
  //#region ../../node_modules/.pnpm/@csstools+postcss-property-rule-prelude-list@2.0.0_postcss@8.5.15/node_modules/@csstools/postcss-property-rule-prelude-list/dist/index.mjs
50746
- const o$3 = /^property$/i, creator$11 = () => ({
51703
+ const o$3 = /^property$/i, creator$12 = () => ({
50747
51704
  postcssPlugin: "postcss-property-rule-prelude-list",
50748
51705
  AtRule(t) {
50749
51706
  if (!o$3.test(t.name)) return;
@@ -50754,7 +51711,7 @@ const o$3 = /^property$/i, creator$11 = () => ({
50754
51711
  }), t.remove());
50755
51712
  }
50756
51713
  });
50757
- creator$11.postcss = !0;
51714
+ creator$12.postcss = !0;
50758
51715
  //#endregion
50759
51716
  //#region ../../node_modules/.pnpm/@csstools+postcss-random-function@3.0.3_postcss@8.5.15/node_modules/@csstools/postcss-random-function/dist/index.mjs
50760
51717
  const o$2 = String.fromCodePoint(0);
@@ -50776,7 +51733,7 @@ function randomCacheKeyFromPostcssDeclaration(e) {
50776
51733
  documentID: e.source?.input.css ?? e.root().toString()
50777
51734
  };
50778
51735
  }
50779
- const r$1 = /(?<![-\w])(?:random)\(/i, creator$10 = (o) => {
51736
+ const r$1 = /(?<![-\w])(?:random)\(/i, creator$11 = (o) => {
50780
51737
  const t = Object.assign({ preserve: !1 }, o);
50781
51738
  return {
50782
51739
  postcssPlugin: "postcss-random-function",
@@ -50791,10 +51748,10 @@ const r$1 = /(?<![-\w])(?:random)\(/i, creator$10 = (o) => {
50791
51748
  }
50792
51749
  };
50793
51750
  };
50794
- creator$10.postcss = !0;
51751
+ creator$11.postcss = !0;
50795
51752
  //#endregion
50796
51753
  //#region ../../node_modules/.pnpm/postcss-color-rebeccapurple@11.0.0_postcss@8.5.15/node_modules/postcss-color-rebeccapurple/dist/index.mjs
50797
- const s$3 = /rebeccapurple/i, t$1 = /^rebeccapurple$/i, creator$9 = (o) => {
51754
+ const s$3 = /rebeccapurple/i, t$1 = /^rebeccapurple$/i, creator$10 = (o) => {
50798
51755
  const c = Object.assign({ preserve: !1 }, o);
50799
51756
  return {
50800
51757
  postcssPlugin: "postcss-color-rebeccapurple",
@@ -50810,7 +51767,7 @@ const s$3 = /rebeccapurple/i, t$1 = /^rebeccapurple$/i, creator$9 = (o) => {
50810
51767
  }
50811
51768
  };
50812
51769
  };
50813
- creator$9.postcss = !0;
51770
+ creator$10.postcss = !0;
50814
51771
  //#endregion
50815
51772
  //#region ../../node_modules/.pnpm/@csstools+postcss-relative-color-syntax@4.0.4_postcss@8.5.15/node_modules/@csstools/postcss-relative-color-syntax/dist/index.mjs
50816
51773
  const g = /\b(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklch|oklab|color)\(/i, h = /\b(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklch|oklab|color)\(\s*from/i, m$1 = /^(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklch|oklab|color)$/i, y = /from/i, basePlugin = (s) => ({
@@ -50843,13 +51800,13 @@ const postcssPlugin$1 = (e) => {
50843
51800
  }, e);
50844
51801
  return r.subFeatures = Object.assign({ displayP3: !0 }, r.subFeatures), r.enableProgressiveCustomProperties && (r.preserve || r.subFeatures.displayP3) ? {
50845
51802
  postcssPlugin: "postcss-relative-color-syntax",
50846
- plugins: [creator$50(), basePlugin(r)]
51803
+ plugins: [creator$51(), basePlugin(r)]
50847
51804
  } : basePlugin(r);
50848
51805
  };
50849
51806
  postcssPlugin$1.postcss = !0;
50850
51807
  //#endregion
50851
51808
  //#region ../../node_modules/.pnpm/@csstools+postcss-scope-pseudo-class@5.0.0_postcss@8.5.15/node_modules/@csstools/postcss-scope-pseudo-class/dist/index.mjs
50852
- const creator$8 = (s) => {
51809
+ const creator$9 = (s) => {
50853
51810
  const r = Object.assign({ preserve: !1 }, s);
50854
51811
  return {
50855
51812
  postcssPlugin: "postcss-scope-pseudo-class",
@@ -50884,10 +51841,10 @@ const creator$8 = (s) => {
50884
51841
  }
50885
51842
  };
50886
51843
  };
50887
- creator$8.postcss = !0;
51844
+ creator$9.postcss = !0;
50888
51845
  //#endregion
50889
51846
  //#region ../../node_modules/.pnpm/@csstools+postcss-sign-functions@2.0.3_postcss@8.5.15/node_modules/@csstools/postcss-sign-functions/dist/index.mjs
50890
- const m = /(?<![-\w])(?:sign|abs)\(/i, f = /(?<![-\w])(?:sign|abs)\(/i, creator$7 = (o) => {
51847
+ const m = /(?<![-\w])(?:sign|abs)\(/i, f = /(?<![-\w])(?:sign|abs)\(/i, creator$8 = (o) => {
50891
51848
  const n = Object.assign({ preserve: !1 }, o);
50892
51849
  return {
50893
51850
  postcssPlugin: "postcss-sign-functions",
@@ -50994,10 +51951,10 @@ function replacer(e) {
50994
51951
  ], parseListOfComponentValues(s.flatMap((e) => e.tokens())))
50995
51952
  ])];
50996
51953
  }
50997
- creator$7.postcss = !0;
51954
+ creator$8.postcss = !0;
50998
51955
  //#endregion
50999
51956
  //#region ../../node_modules/.pnpm/@csstools+postcss-stepped-value-functions@5.0.3_postcss@8.5.15/node_modules/@csstools/postcss-stepped-value-functions/dist/index.mjs
51000
- const s$2 = /(?<![-\w])(?:mod|rem|round)\(/i, creator$6 = (o) => {
51957
+ const s$2 = /(?<![-\w])(?:mod|rem|round)\(/i, creator$7 = (o) => {
51001
51958
  const t = Object.assign({ preserve: !1 }, o);
51002
51959
  return {
51003
51960
  postcssPlugin: "postcss-stepped-value-functions",
@@ -51011,10 +51968,10 @@ const s$2 = /(?<![-\w])(?:mod|rem|round)\(/i, creator$6 = (o) => {
51011
51968
  }
51012
51969
  };
51013
51970
  };
51014
- creator$6.postcss = !0;
51971
+ creator$7.postcss = !0;
51015
51972
  //#endregion
51016
51973
  //#region ../../node_modules/.pnpm/@csstools+postcss-syntax-descriptor-syntax-production@2.0.0_postcss@8.5.15/node_modules/@csstools/postcss-syntax-descriptor-syntax-production/dist/index.mjs
51017
- const o$1 = /^property$/i, n$1 = /^syntax$/i, creator$5 = (i) => {
51974
+ const o$1 = /^property$/i, n$1 = /^syntax$/i, creator$6 = (i) => {
51018
51975
  const p = Object.assign({ preserve: !1 }, i);
51019
51976
  return {
51020
51977
  postcssPlugin: "postcss-syntax-descriptor-syntax-production",
@@ -51082,7 +52039,7 @@ const o$1 = /^property$/i, n$1 = /^syntax$/i, creator$5 = (i) => {
51082
52039
  }
51083
52040
  };
51084
52041
  };
51085
- creator$5.postcss = !0;
52042
+ creator$6.postcss = !0;
51086
52043
  //#endregion
51087
52044
  //#region ../../node_modules/.pnpm/@csstools+postcss-system-ui-font-family@2.0.0_postcss@8.5.15/node_modules/@csstools/postcss-system-ui-font-family/dist/index.mjs
51088
52045
  const a = /^font(?:-family)?$/i, c$2 = [
@@ -51095,7 +52052,7 @@ const a = /^font(?:-family)?$/i, c$2 = [
51095
52052
  "Noto Sans",
51096
52053
  "sans-serif"
51097
52054
  ];
51098
- const u = c$2.join(","), creator$4 = (p) => {
52055
+ const u = c$2.join(","), creator$5 = (p) => {
51099
52056
  const f = Object.assign({ preserve: !0 }, p);
51100
52057
  return {
51101
52058
  postcssPlugin: "postcss-system-ui-font-family",
@@ -51136,10 +52093,10 @@ const u = c$2.join(","), creator$4 = (p) => {
51136
52093
  }
51137
52094
  };
51138
52095
  };
51139
- creator$4.postcss = !0;
52096
+ creator$5.postcss = !0;
51140
52097
  //#endregion
51141
52098
  //#region ../../node_modules/.pnpm/@csstools+postcss-text-decoration-shorthand@5.0.3_postcss@8.5.15/node_modules/@csstools/postcss-text-decoration-shorthand/dist/index.mjs
51142
- const o = /^text-decoration$/i, creator$3 = (t) => {
52099
+ const o = /^text-decoration$/i, creator$4 = (t) => {
51143
52100
  const c = Object.assign({ preserve: !0 }, t);
51144
52101
  return {
51145
52102
  postcssPlugin: "postcss-text-decoration-shorthand",
@@ -51303,7 +52260,7 @@ const o = /^text-decoration$/i, creator$3 = (t) => {
51303
52260
  function nodeIsAColor(e) {
51304
52261
  return !("word" !== e.type || !e.value.startsWith("#")) || !("word" !== e.type || !i.includes(e.value.toLowerCase())) || !("function" !== e.type || !c$1.includes(e.value.toLowerCase()));
51305
52262
  }
51306
- creator$3.postcss = !0;
52263
+ creator$4.postcss = !0;
51307
52264
  const r = [
51308
52265
  "unset",
51309
52266
  "inherit",
@@ -51350,7 +52307,7 @@ function genericNodeParts() {
51350
52307
  }
51351
52308
  //#endregion
51352
52309
  //#region ../../node_modules/.pnpm/@csstools+postcss-trigonometric-functions@5.0.3_postcss@8.5.15/node_modules/@csstools/postcss-trigonometric-functions/dist/index.mjs
51353
- const e$2 = /(?<![-\w])(?:asin|acos|atan|atan2|sin|cos|tan)\(/i, creator$2 = (o) => {
52310
+ const e$2 = /(?<![-\w])(?:asin|acos|atan|atan2|sin|cos|tan)\(/i, creator$3 = (o) => {
51354
52311
  const t = Object.assign({ preserve: !1 }, o);
51355
52312
  return {
51356
52313
  postcssPlugin: "postcss-trigonometric-functions",
@@ -51364,7 +52321,7 @@ const e$2 = /(?<![-\w])(?:asin|acos|atan|atan2|sin|cos|tan)\(/i, creator$2 = (o)
51364
52321
  }
51365
52322
  };
51366
52323
  };
51367
- creator$2.postcss = !0;
52324
+ creator$3.postcss = !0;
51368
52325
  //#endregion
51369
52326
  //#region ../../node_modules/.pnpm/@csstools+postcss-unset-value@5.0.0_postcss@8.5.15/node_modules/@csstools/postcss-unset-value/dist/index.mjs
51370
52327
  const e$1 = new Set([
@@ -51788,7 +52745,7 @@ const e$1 = new Set([
51788
52745
  "x",
51789
52746
  "y",
51790
52747
  "z-index"
51791
- ]), creator$1 = (o) => {
52748
+ ]), creator$2 = (o) => {
51792
52749
  const i = Object.assign({ preserve: !1 }, o);
51793
52750
  return {
51794
52751
  postcssPlugin: "postcss-unset-value",
@@ -51802,7 +52759,7 @@ const e$1 = new Set([
51802
52759
  }
51803
52760
  };
51804
52761
  };
51805
- creator$1.postcss = !0;
52762
+ creator$2.postcss = !0;
51806
52763
  //#endregion
51807
52764
  //#region ../../node_modules/.pnpm/postcss-preset-env@11.3.0_postcss@8.5.15/node_modules/postcss-preset-env/dist/index.mjs
51808
52765
  const ks = {
@@ -51944,78 +52901,78 @@ function featureIsLess(s, o) {
51944
52901
  return s.id === o.id ? s[xs] && o[xs] || s[Fs] && o[Fs] ? clamp(-1, s[Os] - o[Os], 1) : s[xs] || o[Fs] ? -1 : s[Fs] || o[xs] ? 1 : 0 : clamp(-1, Cs.indexOf(s.id) - Cs.indexOf(o.id), 1);
51945
52902
  }
51946
52903
  const $s = new Map([
51947
- ["all-property", creator$51],
52904
+ ["all-property", creator$52],
51948
52905
  ["alpha-function", postcssPlugin$16],
51949
- ["any-link-pseudo-class", creator$49],
51950
- ["blank-pseudo-class", creator$48],
52906
+ ["any-link-pseudo-class", creator$50],
52907
+ ["blank-pseudo-class", creator$49],
51951
52908
  ["break-properties", import_postcss_page_break.default],
51952
- ["cascade-layers", creator$47],
51953
- ["case-insensitive-attributes", creator$46],
52909
+ ["cascade-layers", creator$48],
52910
+ ["case-insensitive-attributes", creator$47],
51954
52911
  ["clamp", import_postcss_clamp.default],
51955
52912
  ["color-function", postcssPlugin$15],
51956
52913
  ["color-function-display-p3-linear", postcssPlugin$14],
51957
52914
  ["color-functional-notation", postcssPlugin$13],
51958
52915
  ["color-mix", postcssPlugin$12],
51959
52916
  ["color-mix-variadic-function-arguments", postcssPlugin$11],
51960
- ["container-rule-prelude-list", creator$45],
51961
- ["content-alt-text", creator$44],
52917
+ ["container-rule-prelude-list", creator$46],
52918
+ ["content-alt-text", creator$45],
51962
52919
  ["contrast-color-function", postcssPlugin$10],
51963
- ["custom-media-queries", creator$43],
51964
- ["custom-properties", creator$42],
51965
- ["custom-selectors", creator$41],
51966
- ["dir-pseudo-class", creator$40],
51967
- ["display-two-values", creator$39],
52920
+ ["custom-media-queries", creator$44],
52921
+ ["custom-properties", creator$43],
52922
+ ["custom-selectors", creator$42],
52923
+ ["dir-pseudo-class", creator$41],
52924
+ ["display-two-values", creator$40],
51968
52925
  ["double-position-gradients", postcssPlugin$9],
51969
- ["exponential-functions", creator$38],
51970
- ["float-clear-logical-values", creator$37],
51971
- ["focus-visible-pseudo-class", creator$36],
51972
- ["focus-within-pseudo-class", creator$35],
51973
- ["font-format-keywords", creator$34],
52926
+ ["exponential-functions", creator$39],
52927
+ ["float-clear-logical-values", creator$38],
52928
+ ["focus-visible-pseudo-class", creator$37],
52929
+ ["focus-within-pseudo-class", creator$36],
52930
+ ["font-format-keywords", creator$35],
51974
52931
  ["font-variant-property", import_postcss_font_variant.default],
51975
- ["font-width-property", creator$33],
51976
- ["gamut-mapping", creator$32],
51977
- ["gap-properties", creator$31],
52932
+ ["font-width-property", creator$34],
52933
+ ["gamut-mapping", creator$33],
52934
+ ["gap-properties", creator$32],
51978
52935
  ["gradients-interpolation-method", postcssPlugin$8],
51979
- ["has-pseudo-class", creator$30],
51980
- ["hexadecimal-alpha-notation", creator$29],
52936
+ ["has-pseudo-class", creator$31],
52937
+ ["hexadecimal-alpha-notation", creator$30],
51981
52938
  ["hwb-function", postcssPlugin$7],
51982
52939
  ["ic-unit", postcssPlugin$6],
51983
52940
  ["image-function", postcssPlugin$5],
51984
- ["image-set-function", creator$28],
51985
- ["is-pseudo-class", creator$27],
52941
+ ["image-set-function", creator$29],
52942
+ ["is-pseudo-class", creator$28],
51986
52943
  ["lab-function", postcssPlugin$4],
51987
52944
  ["light-dark-function", postcssPlugin$3],
51988
- ["logical-overflow", creator$26],
51989
- ["logical-overscroll-behavior", creator$25],
51990
- ["logical-properties-and-values", creator$24],
51991
- ["logical-resize", creator$23],
51992
- ["logical-viewport-units", creator$22],
51993
- ["media-queries-aspect-ratio-number-values", creator$21],
51994
- ["media-query-ranges", creator$20],
51995
- ["mixins", creator$19],
51996
- ["nested-calc", creator$18],
51997
- ["nesting-rules", creator$17],
51998
- ["not-pseudo-class", creator$16],
52945
+ ["logical-overflow", creator$27],
52946
+ ["logical-overscroll-behavior", creator$26],
52947
+ ["logical-properties-and-values", creator$25],
52948
+ ["logical-resize", creator$24],
52949
+ ["logical-viewport-units", creator$23],
52950
+ ["media-queries-aspect-ratio-number-values", creator$22],
52951
+ ["media-query-ranges", creator$21],
52952
+ ["mixins", creator$20],
52953
+ ["nested-calc", creator$19],
52954
+ ["nesting-rules", creator$18],
52955
+ ["not-pseudo-class", creator$17],
51999
52956
  ["oklab-function", postcssPlugin$2],
52000
52957
  ["opacity-percentage", import_postcss_opacity_percentage.default],
52001
- ["overflow-property", creator$15],
52958
+ ["overflow-property", creator$16],
52002
52959
  ["overflow-wrap-property", import_postcss_replace_overflow_wrap.default],
52003
- ["place-properties", creator$14],
52004
- ["position-area-property", creator$13],
52005
- ["prefers-color-scheme-query", creator$12],
52006
- ["progressive-custom-properties", creator$50],
52007
- ["property-rule-prelude-list", creator$11],
52008
- ["random-function", creator$10],
52009
- ["rebeccapurple-color", creator$9],
52960
+ ["place-properties", creator$15],
52961
+ ["position-area-property", creator$14],
52962
+ ["prefers-color-scheme-query", creator$13],
52963
+ ["progressive-custom-properties", creator$51],
52964
+ ["property-rule-prelude-list", creator$12],
52965
+ ["random-function", creator$11],
52966
+ ["rebeccapurple-color", creator$10],
52010
52967
  ["relative-color-syntax", postcssPlugin$1],
52011
- ["scope-pseudo-class", creator$8],
52012
- ["sign-functions", creator$7],
52013
- ["stepped-value-functions", creator$6],
52014
- ["syntax-descriptor-syntax-production", creator$5],
52015
- ["system-ui-font-family", creator$4],
52016
- ["text-decoration-shorthand", creator$3],
52017
- ["trigonometric-functions", creator$2],
52018
- ["unset-value", creator$1]
52968
+ ["scope-pseudo-class", creator$9],
52969
+ ["sign-functions", creator$8],
52970
+ ["stepped-value-functions", creator$7],
52971
+ ["syntax-descriptor-syntax-production", creator$6],
52972
+ ["system-ui-font-family", creator$5],
52973
+ ["text-decoration-shorthand", creator$4],
52974
+ ["trigonometric-functions", creator$3],
52975
+ ["unset-value", creator$2]
52019
52976
  ]);
52020
52977
  function featureIsInsertedOrHasAPlugin(s) {
52021
52978
  return !!s[xs] || !!s[Fs] || !!$s.has(s.id);
@@ -52559,7 +53516,7 @@ function levenshteinDistance(s, o) {
52559
53516
  }
52560
53517
  return e[o.length][s.length];
52561
53518
  }
52562
- const creator = (e) => {
53519
+ const creator$1 = (e) => {
52563
53520
  const t = new Logger(), r = Object(e), i = Object.keys(Object(r.features)), a = r.browsers ? void 0 : r.env, c = r.browsers, n = listFeatures(cssdb_default, r, initializeSharedOptions(r), t), l = n.map((s) => s.plugin);
52564
53521
  !1 !== r.autoprefixer && l.push(s(Object.assign({
52565
53522
  env: a,
@@ -52576,7 +53533,7 @@ const creator = (e) => {
52576
53533
  plugins: [...l, internalPlugin()]
52577
53534
  };
52578
53535
  };
52579
- creator.postcss = !0;
53536
+ creator$1.postcss = !0;
52580
53537
  //#endregion
52581
53538
  //#region src/autoprefixer.ts
52582
53539
  const WEAPP_AUTOPREFIXER_BROWSERS = [
@@ -53296,6 +54253,7 @@ const EMPTY_FUNCTIONAL_PSEUDO_CLEANUP_SET = new Set([
53296
54253
  ":-moz-any",
53297
54254
  ":lang"
53298
54255
  ]);
54256
+ const EXPANDABLE_FUNCTIONAL_PSEUDO_SET = new Set([":is", ":where"]);
53299
54257
  const UNSUPPORTED_PSEUDO_ELEMENT_SELECTOR_SET = new Set([
53300
54258
  ":after",
53301
54259
  ":before",
@@ -53340,14 +54298,100 @@ function stripUnsupportedRtlLanguagePseudo(node) {
53340
54298
  function shouldRemoveEmptyFunctionalPseudo(node) {
53341
54299
  return node.type === "pseudo" && EMPTY_FUNCTIONAL_PSEUDO_CLEANUP_SET.has(node.value) && Array.isArray(node.nodes) && node.nodes.length === 0;
53342
54300
  }
54301
+ function replaceSelectorNode(target, index, replacement) {
54302
+ const cloned = target.clone();
54303
+ const targetNode = cloned.nodes[index];
54304
+ if (!targetNode || targetNode.type !== "pseudo" || targetNode.value !== ":where") return;
54305
+ targetNode.replaceWith(...replacement.nodes.map((item) => item.clone()));
54306
+ return cloned;
54307
+ }
54308
+ function getNodePath(root, target) {
54309
+ const path = [];
54310
+ let current = target;
54311
+ while (current && current !== root) {
54312
+ const parent = current.parent;
54313
+ if (!parent || !("nodes" in parent) || !Array.isArray(parent.nodes)) return;
54314
+ const index = parent.nodes.indexOf(current);
54315
+ if (index < 0) return;
54316
+ path.unshift(index);
54317
+ current = parent;
54318
+ }
54319
+ return current === root ? path : void 0;
54320
+ }
54321
+ function getNodeByPath(root, path) {
54322
+ let current = root;
54323
+ for (const index of path) {
54324
+ if (!("nodes" in current) || !Array.isArray(current.nodes)) return;
54325
+ const next = current.nodes[index];
54326
+ if (!next) return;
54327
+ current = next;
54328
+ }
54329
+ return current;
54330
+ }
54331
+ function findExpandableFunctionalPseudo(selector) {
54332
+ let target;
54333
+ selector.walkPseudos((pseudo) => {
54334
+ if (!target && EXPANDABLE_FUNCTIONAL_PSEUDO_SET.has(pseudo.value) && Array.isArray(pseudo.nodes) && pseudo.nodes.some((item) => item.type === "selector")) target = pseudo;
54335
+ });
54336
+ return target;
54337
+ }
54338
+ function expandNestedFunctionalPseudoBranches(selector) {
54339
+ const pending = [selector.clone()];
54340
+ const expanded = [];
54341
+ while (pending.length > 0) {
54342
+ const current = pending.shift();
54343
+ if (!current) continue;
54344
+ const target = findExpandableFunctionalPseudo(current);
54345
+ if (!target) {
54346
+ expanded.push(current);
54347
+ continue;
54348
+ }
54349
+ const path = getNodePath(current, target);
54350
+ const branches = target.nodes.filter((item) => item.type === "selector");
54351
+ if (!path || branches.length === 0) {
54352
+ target.remove();
54353
+ pending.push(current);
54354
+ continue;
54355
+ }
54356
+ for (const branch of branches) {
54357
+ const next = current.clone();
54358
+ const nextTarget = getNodeByPath(next, path);
54359
+ if (nextTarget?.type === "pseudo") {
54360
+ nextTarget.replaceWith(...branch.nodes.map((item) => item.clone()));
54361
+ pending.push(next);
54362
+ }
54363
+ }
54364
+ }
54365
+ return expanded;
54366
+ }
54367
+ function transformExpandedSelectorNodes(selector, context) {
54368
+ selector.walk((node) => {
54369
+ if (node.type === "class") node.value = context.selectorReplacerOptions === void 0 ? internalCssSelectorReplacer(node.value) : internalCssSelectorReplacer(node.value, context.selectorReplacerOptions);
54370
+ else if (node.type === "universal" && context.universalReplacement) node.value = context.universalReplacement;
54371
+ });
54372
+ }
54373
+ function appendExpandedWhereSelectors(parent, index, branches, context) {
54374
+ const root = parent.parent;
54375
+ if (!root) return false;
54376
+ for (const branch of branches) {
54377
+ const expanded = replaceSelectorNode(parent, index, branch);
54378
+ if (expanded) {
54379
+ transformExpandedSelectorNodes(expanded, context);
54380
+ root.insertBefore(parent, expanded);
54381
+ }
54382
+ }
54383
+ parent.remove();
54384
+ return true;
54385
+ }
53343
54386
  function flattenWherePseudo(node, context, index, parent) {
53344
54387
  if (isUniAppXEnabled(context.options)) node.value = ":is";
53345
- if (index === 0 && node.length === 1) {
53346
- const targetSelector = node.nodes?.[0];
53347
- if (targetSelector && targetSelector.type === "selector" && transformSpacingSelector(targetSelector.nodes, context.options)) context.requiresSpacingNormalization = true;
53348
- node.replaceWith(...node.nodes);
53349
- if (parent && parent.type === "selector" && parent.length === 0) parent.remove();
53350
- }
54388
+ if (!parent || node.length === 0) return;
54389
+ const branches = node.nodes.filter((item) => item.type === "selector").flatMap(expandNestedFunctionalPseudoBranches);
54390
+ for (const branch of branches) if (transformSpacingSelector(branch.nodes, context.options)) context.requiresSpacingNormalization = true;
54391
+ if (branches.length > 1 && appendExpandedWhereSelectors(parent, index, branches, context)) return;
54392
+ const targetSelector = branches[0];
54393
+ if (targetSelector) node.replaceWith(...targetSelector.nodes.map((item) => item.clone()));
54394
+ if (parent.type === "selector" && parent.length === 0) parent.remove();
53351
54395
  }
53352
54396
  function shouldRemoveUnsupportedPseudoElementSelector(selector, options) {
53353
54397
  if (!isUniAppXEnabled(options)) return selector.nodes.some((node) => node.type === "pseudo" && MINI_PROGRAM_UNSUPPORTED_PSEUDO_ELEMENT_SELECTOR_SET.has(node.value));
@@ -54427,7 +55471,7 @@ function createPreparedNodes(options, signal) {
54427
55471
  preparedNodes.push(createPreparedNode(`pre:user-${index}`, "pre", () => plugin));
54428
55472
  });
54429
55473
  preparedNodes.push(createPreparedNode("pre:core", "pre", () => postcssWeappTailwindcssPrePlugin(options)));
54430
- if (!signal || signal.hasPresetEnvFeatures) preparedNodes.push(createPreparedNode("normal:preset-env", "normal", () => creator(presetEnvOptions)));
55474
+ if (!signal || signal.hasPresetEnvFeatures) preparedNodes.push(createPreparedNode("normal:preset-env", "normal", () => creator$1(presetEnvOptions)));
54431
55475
  if (!signal || signal.hasModernColorFunction) preparedNodes.push(createPreparedNode("normal:color-functional-fallback", "normal", () => createColorFunctionalFallback()));
54432
55476
  const unitsToPxPlugin = getUnitsToPxPlugin(options);
54433
55477
  if (unitsToPxPlugin) preparedNodes.push(createPreparedNode("normal:units-to-px", "normal", () => unitsToPxPlugin));
@@ -54598,7 +55642,7 @@ var StyleProcessorCache = class {
54598
55642
  const compositeKey = this.createCompositeCacheKey(optionsKey, signal);
54599
55643
  let processor = this.processorCacheByKey.get(compositeKey);
54600
55644
  if (!processor) {
54601
- processor = postcss(this.getPipeline(options, signal).plugins);
55645
+ processor = postcss$1(this.getPipeline(options, signal).plugins);
54602
55646
  this.processorCacheByKey.set(compositeKey, processor);
54603
55647
  }
54604
55648
  return processor;
@@ -54666,7 +55710,7 @@ function createStyleHandler(options) {
54666
55710
  if (restoredCss !== finalResult.css) {
54667
55711
  const nextResult = finalResult.root.clone().toResult(finalResult.opts);
54668
55712
  nextResult.css = restoredCss;
54669
- nextResult.root = postcss.parse(restoredCss, finalResult.opts);
55713
+ nextResult.root = postcss$1.parse(restoredCss, finalResult.opts);
54670
55714
  nextResult.messages.push(...finalResult.messages);
54671
55715
  finalResult = nextResult;
54672
55716
  }
@@ -54682,4 +55726,403 @@ function createStyleHandler(options) {
54682
55726
  return handler;
54683
55727
  }
54684
55728
  //#endregion
54685
- export { createFallbackPlaceholderReplacer, createInjectPreflight, createStyleHandler, createStylePipeline, finalizeMiniProgramCss, hoistTailwindPreflightBase, internalCssSelectorReplacer, normalizeMiniProgramPrefixedDeclaration, normalizeModernColorValue, postcssHtmlTransform, protectDynamicColorMixAlpha, pruneMiniProgramGeneratedCss, removeUnsupportedAtSupports, removeUnsupportedCascadeLayers, removeUnsupportedMiniProgramAtRules, removeUnsupportedMiniProgramPrefixedAtRule, unitConversionComposeRules, unitConversionPresets };
55729
+ //#region src/postcss-config.ts
55730
+ const tailwindPostcssPluginNames = new Set(["tailwindcss", "@tailwindcss/postcss"]);
55731
+ function getPostcssPluginName(plugin) {
55732
+ if (!plugin) return;
55733
+ if (typeof plugin === "function" && "postcss" in plugin) try {
55734
+ return getPostcssPluginName(plugin());
55735
+ } catch {
55736
+ return;
55737
+ }
55738
+ if (typeof plugin !== "object" || !("postcssPlugin" in plugin)) return;
55739
+ const { postcssPlugin } = plugin;
55740
+ return typeof postcssPlugin === "string" ? postcssPlugin : void 0;
55741
+ }
55742
+ function isTailwindPostcssPlugin(plugin) {
55743
+ const name = getPostcssPluginName(plugin);
55744
+ return typeof name === "string" && tailwindPostcssPluginNames.has(name);
55745
+ }
55746
+ function removeTailwindPostcssPlugins(plugins) {
55747
+ let removed = 0;
55748
+ for (let i = plugins.length - 1; i >= 0; i--) if (isTailwindPostcssPlugin(plugins[i])) {
55749
+ plugins.splice(i, 1);
55750
+ removed++;
55751
+ }
55752
+ return removed;
55753
+ }
55754
+ async function resolveFilteredPostcssConfig(root) {
55755
+ try {
55756
+ const loaded = await postcssrc({}, root);
55757
+ const plugins = Array.isArray(loaded.plugins) ? [...loaded.plugins] : [];
55758
+ const removed = removeTailwindPostcssPlugins(plugins);
55759
+ if (removed === 0) return;
55760
+ return {
55761
+ options: loaded.options,
55762
+ plugins,
55763
+ removed
55764
+ };
55765
+ } catch (error) {
55766
+ if ((error instanceof Error ? error.message : String(error)).includes("No PostCSS Config found")) return;
55767
+ throw error;
55768
+ }
55769
+ }
55770
+ //#endregion
55771
+ //#region src/vite-css-rules.ts
55772
+ const MINI_PROGRAM_PREFLIGHT_SELECTOR_KEY = "view,text,::after,::before";
55773
+ const MINI_PROGRAM_PREFLIGHT_SELECTOR_KEYS = new Set([
55774
+ "view",
55775
+ "text",
55776
+ "::after",
55777
+ "::before"
55778
+ ]);
55779
+ const MINI_PROGRAM_THEME_SCOPE_SELECTOR_KEY = ":host,page,.tw-root,wx-root-portal-content";
55780
+ const MINI_PROGRAM_THEME_SCOPE_SELECTOR_KEYS = new Set([
55781
+ ":host",
55782
+ "page",
55783
+ ".tw-root",
55784
+ "wx-root-portal-content"
55785
+ ]);
55786
+ function normalizeCssForContainment(css) {
55787
+ return css.replace(/\/\*[\s\S]*?\*\//g, "").replace(/::(before|after)\b/g, ":$1").replace(/\s+/g, " ").replace(/\s*([{}:;,>+~()])\s*/g, "$1").replace(/;\}/g, "}").trim();
55788
+ }
55789
+ function collectNormalizedCssNodes(css) {
55790
+ try {
55791
+ return (postcss.parse(css).nodes ?? []).filter((node) => node.type !== "comment").map((node) => normalizeCssForContainment(node.toString())).filter(Boolean);
55792
+ } catch {
55793
+ const normalizedCss = normalizeCssForContainment(css);
55794
+ return normalizedCss ? [normalizedCss] : [];
55795
+ }
55796
+ }
55797
+ function normalizeCssRuleKeyPart(value) {
55798
+ return value.replace(/::(before|after)\b/g, ":$1").replace(/\s+/g, " ").replace(/\s*([>+~(),])\s*/g, "$1").trim();
55799
+ }
55800
+ function getRuleAtRuleChain(rule) {
55801
+ const chain = [];
55802
+ let parent = rule.parent;
55803
+ while (parent && parent.type !== "root") {
55804
+ if (parent.type === "atrule") chain.unshift(`@${parent.name} ${normalizeCssRuleKeyPart(parent.params)}`);
55805
+ parent = parent.parent;
55806
+ }
55807
+ return chain;
55808
+ }
55809
+ function getCssRuleStructuralKey(rule) {
55810
+ const selector = normalizeCssRuleKeyPart(rule.selector);
55811
+ if (selector.length === 0) return;
55812
+ return [...getRuleAtRuleChain(rule), selector].join("|");
55813
+ }
55814
+ function getCssRuleStructuralKeyWithSelectorKey(rule, selectorKey) {
55815
+ return [...getRuleAtRuleChain(rule), selectorKey].join("|");
55816
+ }
55817
+ function getCssRuleContentKey(rule) {
55818
+ const structuralKey = getCssRuleStructuralKey(rule);
55819
+ if (!structuralKey) return;
55820
+ return [structuralKey, normalizeCssForContainment(rule.toString())].join("|");
55821
+ }
55822
+ function collectCssRuleContentKeys(css) {
55823
+ const keys = /* @__PURE__ */ new Set();
55824
+ try {
55825
+ postcss.parse(css).walkRules((rule) => {
55826
+ const key = getCssRuleContentKey(rule);
55827
+ if (key) keys.add(key);
55828
+ });
55829
+ } catch {}
55830
+ return keys;
55831
+ }
55832
+ function normalizeCssDeclarationKey(decl) {
55833
+ return [
55834
+ decl.prop.trim(),
55835
+ normalizeCssForContainment(decl.value),
55836
+ decl.important ? "!important" : ""
55837
+ ].join(":");
55838
+ }
55839
+ function collectCssRuleDeclarationKeys(rule) {
55840
+ const keys = /* @__PURE__ */ new Set();
55841
+ for (const node of rule.nodes ?? []) if (node.type === "decl") keys.add(normalizeCssDeclarationKey(node));
55842
+ return keys;
55843
+ }
55844
+ function collectCssRuleDeclarationProps(rule) {
55845
+ const props = /* @__PURE__ */ new Set();
55846
+ for (const node of rule.nodes ?? []) if (node.type === "decl") props.add(node.prop.trim());
55847
+ return props;
55848
+ }
55849
+ function collectCssRuleDeclarations(rule) {
55850
+ return (rule.nodes ?? []).filter((node) => node.type === "decl");
55851
+ }
55852
+ function collectCssRuleDeclarationKeyMap(css) {
55853
+ const map = /* @__PURE__ */ new Map();
55854
+ try {
55855
+ postcss.parse(css).walkRules((rule) => {
55856
+ const key = getCssRuleStructuralKey(rule);
55857
+ if (!key) return;
55858
+ const declarations = collectCssRuleDeclarationKeys(rule);
55859
+ if (declarations.size === 0) return;
55860
+ let existing = map.get(key);
55861
+ if (!existing) {
55862
+ existing = /* @__PURE__ */ new Set();
55863
+ map.set(key, existing);
55864
+ }
55865
+ for (const declaration of declarations) existing.add(declaration);
55866
+ });
55867
+ } catch {}
55868
+ return map;
55869
+ }
55870
+ function collectCssRuleDeclarationRecords(root, resolveRuleKey = getCssRuleStructuralKey) {
55871
+ const map = /* @__PURE__ */ new Map();
55872
+ root.walkRules((rule) => {
55873
+ const key = resolveRuleKey(rule);
55874
+ if (!key) return;
55875
+ const keys = collectCssRuleDeclarationKeys(rule);
55876
+ if (keys.size === 0) return;
55877
+ const records = map.get(key) ?? [];
55878
+ records.push({
55879
+ rule,
55880
+ keys,
55881
+ props: collectCssRuleDeclarationProps(rule)
55882
+ });
55883
+ map.set(key, records);
55884
+ });
55885
+ return map;
55886
+ }
55887
+ function normalizeSimpleMiniProgramSelectorNode(node) {
55888
+ if (node.type === "tag") {
55889
+ const value = node.value.toLowerCase();
55890
+ if (value === "view" || value === "text" || value === "page" || value === "wx-root-portal-content") return value;
55891
+ return;
55892
+ }
55893
+ if (node.type === "class") return node.value.toLowerCase() === "tw-root" ? ".tw-root" : void 0;
55894
+ if (node.type === "pseudo") {
55895
+ if (node.nodes && node.nodes.length > 0) return;
55896
+ const value = node.value.toLowerCase();
55897
+ if (value === ":before" || value === "::before") return "::before";
55898
+ if (value === ":after" || value === "::after") return "::after";
55899
+ if (value === ":host") return ":host";
55900
+ }
55901
+ }
55902
+ function normalizeSimpleMiniProgramSelector(selector) {
55903
+ if (selector.nodes.length !== 1) return;
55904
+ return normalizeSimpleMiniProgramSelectorNode(selector.nodes[0]);
55905
+ }
55906
+ function collectMiniProgramSelectorSet(selector) {
55907
+ try {
55908
+ const selectorSet = /* @__PURE__ */ new Set();
55909
+ const ast = selectorParser().astSync(selector);
55910
+ for (const child of ast.nodes) {
55911
+ const key = normalizeSimpleMiniProgramSelector(child);
55912
+ if (!key || selectorSet.has(key)) return;
55913
+ selectorSet.add(key);
55914
+ }
55915
+ return selectorSet;
55916
+ } catch {
55917
+ return;
55918
+ }
55919
+ }
55920
+ function isSameSelectorSet(actual, expected) {
55921
+ return actual?.size === expected.size && [...expected].every((key) => actual.has(key));
55922
+ }
55923
+ function getMiniProgramPreflightRuleStructuralKey(rule) {
55924
+ if (!isSameSelectorSet(collectMiniProgramSelectorSet(rule.selector), MINI_PROGRAM_PREFLIGHT_SELECTOR_KEYS)) return;
55925
+ return getCssRuleStructuralKeyWithSelectorKey(rule, MINI_PROGRAM_PREFLIGHT_SELECTOR_KEY);
55926
+ }
55927
+ function getMiniProgramThemeScopeRuleStructuralKey(rule) {
55928
+ if (!isSameSelectorSet(collectMiniProgramSelectorSet(rule.selector), MINI_PROGRAM_THEME_SCOPE_SELECTOR_KEYS)) return;
55929
+ return getCssRuleStructuralKeyWithSelectorKey(rule, MINI_PROGRAM_THEME_SCOPE_SELECTOR_KEY);
55930
+ }
55931
+ function mergeMiniProgramPreflightRuleDeclarations(baseCss, css) {
55932
+ try {
55933
+ const baseRoot = postcss.parse(baseCss);
55934
+ const root = postcss.parse(css);
55935
+ const baseRuleRecords = collectCssRuleDeclarationRecords(baseRoot, getMiniProgramPreflightRuleStructuralKey);
55936
+ let changedBase = false;
55937
+ let changedCss = false;
55938
+ root.walkRules((rule) => {
55939
+ const key = getMiniProgramPreflightRuleStructuralKey(rule);
55940
+ if (!key) return;
55941
+ const records = baseRuleRecords.get(key);
55942
+ const targetRecord = records?.[0];
55943
+ if (!targetRecord) return;
55944
+ const existingProps = new Set(records.flatMap((record) => [...record.props]));
55945
+ for (const decl of collectCssRuleDeclarations(rule)) {
55946
+ const prop = decl.prop.trim();
55947
+ if (existingProps.has(prop)) continue;
55948
+ targetRecord.rule.append(decl.clone());
55949
+ targetRecord.keys.add(normalizeCssDeclarationKey(decl));
55950
+ targetRecord.props.add(prop);
55951
+ existingProps.add(prop);
55952
+ changedBase = true;
55953
+ }
55954
+ rule.remove();
55955
+ changedCss = true;
55956
+ });
55957
+ if (!changedBase && !changedCss) return {
55958
+ baseCss,
55959
+ css,
55960
+ changed: false
55961
+ };
55962
+ removeEmptyAtRules(root);
55963
+ return {
55964
+ baseCss: changedBase ? baseRoot.toString() : baseCss,
55965
+ css: changedCss ? root.toString().trim() : css,
55966
+ changed: true
55967
+ };
55968
+ } catch {
55969
+ return {
55970
+ baseCss,
55971
+ css,
55972
+ changed: false
55973
+ };
55974
+ }
55975
+ }
55976
+ function mergeMiniProgramThemeScopeRuleDeclarations(baseCss, css) {
55977
+ try {
55978
+ const baseRoot = postcss.parse(baseCss);
55979
+ const root = postcss.parse(css);
55980
+ const baseRuleRecords = collectCssRuleDeclarationRecords(baseRoot, getMiniProgramThemeScopeRuleStructuralKey);
55981
+ let changedBase = false;
55982
+ let changedCss = false;
55983
+ root.walkRules((rule) => {
55984
+ const key = getMiniProgramThemeScopeRuleStructuralKey(rule);
55985
+ if (!key) return;
55986
+ const records = baseRuleRecords.get(key);
55987
+ const targetRecord = records?.[0];
55988
+ if (!targetRecord) return;
55989
+ const incomingDeclarations = collectCssRuleDeclarations(rule);
55990
+ if (incomingDeclarations.length === 0) return;
55991
+ const existingKeys = new Set(records.flatMap((record) => [...record.keys]));
55992
+ const existingProps = new Set(records.flatMap((record) => [...record.props]));
55993
+ if (incomingDeclarations.some((decl) => {
55994
+ const prop = decl.prop.trim();
55995
+ return existingProps.has(prop) && !existingKeys.has(normalizeCssDeclarationKey(decl));
55996
+ })) return;
55997
+ for (const decl of incomingDeclarations) {
55998
+ const declarationKey = normalizeCssDeclarationKey(decl);
55999
+ if (existingKeys.has(declarationKey)) continue;
56000
+ targetRecord.rule.append(decl.clone());
56001
+ targetRecord.keys.add(declarationKey);
56002
+ targetRecord.props.add(decl.prop.trim());
56003
+ existingKeys.add(declarationKey);
56004
+ existingProps.add(decl.prop.trim());
56005
+ changedBase = true;
56006
+ }
56007
+ rule.remove();
56008
+ changedCss = true;
56009
+ });
56010
+ if (!changedBase && !changedCss) return {
56011
+ baseCss,
56012
+ css,
56013
+ changed: false
56014
+ };
56015
+ removeEmptyAtRules(root);
56016
+ return {
56017
+ baseCss: changedBase ? baseRoot.toString() : baseCss,
56018
+ css: changedCss ? root.toString().trim() : css,
56019
+ changed: true
56020
+ };
56021
+ } catch {
56022
+ return {
56023
+ baseCss,
56024
+ css,
56025
+ changed: false
56026
+ };
56027
+ }
56028
+ }
56029
+ function isCssRuleCoveredByDeclarations(rule, baseRuleDeclarationKeys) {
56030
+ const key = getCssRuleStructuralKey(rule);
56031
+ if (!key) return false;
56032
+ const baseDeclarations = baseRuleDeclarationKeys.get(key);
56033
+ if (!baseDeclarations) return false;
56034
+ const declarations = collectCssRuleDeclarationKeys(rule);
56035
+ return declarations.size > 0 && [...declarations].every((declaration) => baseDeclarations.has(declaration));
56036
+ }
56037
+ function mergeCoveredCssRuleDeclarations(baseCss, css) {
56038
+ try {
56039
+ const baseRoot = postcss.parse(baseCss);
56040
+ const root = postcss.parse(css);
56041
+ const baseRuleRecords = collectCssRuleDeclarationRecords(baseRoot);
56042
+ let changedBase = false;
56043
+ let changedCss = false;
56044
+ root.walkRules((rule) => {
56045
+ const key = getCssRuleStructuralKey(rule);
56046
+ const records = key ? baseRuleRecords.get(key) : void 0;
56047
+ if (!records || records.length === 0) return;
56048
+ const incomingDeclarations = collectCssRuleDeclarations(rule);
56049
+ if (incomingDeclarations.length === 0) return;
56050
+ const baseKeys = new Set(records.flatMap((record) => [...record.keys]));
56051
+ if (incomingDeclarations.filter((decl) => baseKeys.has(normalizeCssDeclarationKey(decl))).length === 0) return;
56052
+ const missingDeclarations = incomingDeclarations.filter((decl) => !baseKeys.has(normalizeCssDeclarationKey(decl)));
56053
+ if (missingDeclarations.length === 0) {
56054
+ rule.remove();
56055
+ changedCss = true;
56056
+ return;
56057
+ }
56058
+ const baseProps = new Set(records.flatMap((record) => [...record.props]));
56059
+ if (missingDeclarations.filter((decl) => baseProps.has(decl.prop.trim())).length > 0) return;
56060
+ const targetRecord = records[0];
56061
+ if (!targetRecord) return;
56062
+ for (const decl of missingDeclarations) {
56063
+ targetRecord.rule.append(decl.clone());
56064
+ targetRecord.keys.add(normalizeCssDeclarationKey(decl));
56065
+ targetRecord.props.add(decl.prop.trim());
56066
+ }
56067
+ rule.remove();
56068
+ changedBase = true;
56069
+ changedCss = true;
56070
+ });
56071
+ if (!changedBase && !changedCss) return {
56072
+ baseCss,
56073
+ css,
56074
+ changed: false
56075
+ };
56076
+ removeEmptyAtRules(root);
56077
+ return {
56078
+ baseCss: changedBase ? baseRoot.toString() : baseCss,
56079
+ css: changedCss ? root.toString().trim() : css,
56080
+ changed: true
56081
+ };
56082
+ } catch {
56083
+ return {
56084
+ baseCss,
56085
+ css,
56086
+ changed: false
56087
+ };
56088
+ }
56089
+ }
56090
+ function removeEmptyAtRules(root) {
56091
+ root.walkAtRules((atRule) => {
56092
+ if (atRule.nodes && atRule.nodes.every((node) => node.type === "comment")) atRule.remove();
56093
+ });
56094
+ }
56095
+ function filterExistingCssRules(baseCss, css) {
56096
+ const baseRuleKeys = collectCssRuleContentKeys(baseCss);
56097
+ if (baseRuleKeys.size === 0) return css;
56098
+ try {
56099
+ const root = postcss.parse(css);
56100
+ const baseRuleDeclarationKeys = collectCssRuleDeclarationKeyMap(baseCss);
56101
+ let changed = false;
56102
+ root.walkRules((rule) => {
56103
+ const key = getCssRuleContentKey(rule);
56104
+ if (key && baseRuleKeys.has(key) || isCssRuleCoveredByDeclarations(rule, baseRuleDeclarationKeys)) {
56105
+ rule.remove();
56106
+ changed = true;
56107
+ }
56108
+ });
56109
+ if (!changed) return css;
56110
+ removeEmptyAtRules(root);
56111
+ return root.toString().trim();
56112
+ } catch {
56113
+ return css;
56114
+ }
56115
+ }
56116
+ function containsCssAfterMinify(baseCss, css) {
56117
+ if (baseCss.includes(css)) return true;
56118
+ const normalizedBaseCss = normalizeCssForContainment(baseCss);
56119
+ const normalizedCss = normalizeCssForContainment(css);
56120
+ if (normalizedCss.length > 0 && normalizedBaseCss.includes(normalizedCss)) return true;
56121
+ const normalizedNodes = collectNormalizedCssNodes(css);
56122
+ if (normalizedNodes.length > 0 && normalizedNodes.every((node) => normalizedBaseCss.includes(node))) return true;
56123
+ const baseRuleKeys = collectCssRuleContentKeys(baseCss);
56124
+ const ruleKeys = collectCssRuleContentKeys(css);
56125
+ return ruleKeys.size > 0 && [...ruleKeys].every((key) => baseRuleKeys.has(key));
56126
+ }
56127
+ //#endregion
56128
+ export { CSS_MACRO_POSTCSS_PLUGIN_NAME, CSS_MACRO_STYLE_OPTIONS_MARKER, compileCssMacroConditionalComments, containsCssAfterMinify, createFallbackPlaceholderReplacer, createInjectPreflight, createStyleHandler, createStylePipeline, createWeappTailwindcssPostcssPlugin, creator as cssMacroPostcssPlugin, filterExistingCssRules, finalizeMiniProgramCss, getPostcssPluginName, hasCssMacroStyleOptions, hasCssMacroTailwindV4Directive, hoistTailwindPreflightBase, internalCssSelectorReplacer, mergeCoveredCssRuleDeclarations, mergeMiniProgramPreflightRuleDeclarations, mergeMiniProgramThemeScopeRuleDeclarations, normalizeMiniProgramPrefixedDeclaration, normalizeModernColorValue, postcss, postcssHtmlTransform, protectDynamicColorMixAlpha, pruneMiniProgramGeneratedCss, removeTailwindPostcssPlugins, removeUnsupportedAtSupports, removeUnsupportedCascadeLayers, removeUnsupportedMiniProgramAtRules, removeUnsupportedMiniProgramPrefixedAtRule, resolveFilteredPostcssConfig, transformCssMacroCss, unitConversionComposeRules, unitConversionPresets, withCssMacroStyleOptions };