tailwind-styled-v4 5.0.24 → 5.0.27

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/shared.mjs CHANGED
@@ -1786,21 +1786,6 @@ var init_compiler = __esm({
1786
1786
  });
1787
1787
 
1788
1788
  // packages/domain/compiler/src/parser/index.ts
1789
- var parser_exports = {};
1790
- __export(parser_exports, {
1791
- astExtractClasses: () => astExtractClasses,
1792
- batchExtractClasses: () => batchExtractClasses,
1793
- checkAgainstSafelist: () => checkAgainstSafelist,
1794
- diffClassLists: () => diffClassLists,
1795
- extractAllClasses: () => extractAllClasses,
1796
- extractClassesFromSource: () => extractClassesFromSource,
1797
- extractComponentUsage: () => extractComponentUsage,
1798
- mergeClassesStatic: () => mergeClassesStatic,
1799
- normalizeAndDedupClasses: () => normalizeAndDedupClasses,
1800
- normalizeClasses: () => normalizeClasses,
1801
- parseClass: () => parseClass,
1802
- parseClasses: () => parseClasses
1803
- });
1804
1789
  var parseClasses, parseClass, extractAllClasses, extractClassesFromSource, astExtractClasses, normalizeClasses, mergeClassesStatic, normalizeAndDedupClasses, extractComponentUsage, batchExtractClasses, checkAgainstSafelist, diffClassLists;
1805
1790
  var init_parser = __esm({
1806
1791
  "packages/domain/compiler/src/parser/index.ts"() {
@@ -2761,7 +2746,7 @@ function extractContainerCssFromSource(source) {
2761
2746
  }
2762
2747
  return rules.join("\n");
2763
2748
  }
2764
- var transformSource, hasTwUsage, isAlreadyTransformed, shouldProcess, compileCssFromClasses, buildStyleTag, generateCssForClasses, eliminateDeadCss, findDeadVariants, runElimination, scanProjectUsage, generateSafelist, loadSafelist, loadTailwindConfig, getContentPaths, _CONTAINER_BREAKPOINTS, runLoaderTransform, shouldSkipFile, fileToRoute, getAllRoutes, getRouteClasses, registerFileClasses, registerGlobalClasses, _incrementalEngineInstance, getIncrementalEngine, resetIncrementalEngine, IncrementalEngine, getBucketEngine, resetBucketEngine, classifyNode, detectConflicts, bucketSort, analyzeFile, analyzeVariantUsage, injectClientDirective, injectServerOnlyComment, analyzeClasses, extractTwStateConfigs, generateStaticStateCss, extractAndGenerateStateCss;
2749
+ var _require2, transformSource, hasTwUsage, isAlreadyTransformed, shouldProcess, compileCssFromClasses, buildStyleTag, generateCssForClasses, eliminateDeadCss, findDeadVariants, runElimination, scanProjectUsage, generateSafelist, loadSafelist, loadTailwindConfig, getContentPaths, _CONTAINER_BREAKPOINTS, runLoaderTransform, shouldSkipFile, fileToRoute, getAllRoutes, getRouteClasses, registerFileClasses, registerGlobalClasses, _incrementalEngineInstance, getIncrementalEngine, resetIncrementalEngine, IncrementalEngine, getBucketEngine, resetBucketEngine, classifyNode, detectConflicts, bucketSort, analyzeFile, analyzeVariantUsage, injectClientDirective, injectServerOnlyComment, analyzeClasses, extractTwStateConfigs, generateStaticStateCss, extractAndGenerateStateCss;
2765
2750
  var init_src = __esm({
2766
2751
  "packages/domain/compiler/src/index.ts"() {
2767
2752
  init_nativeBridge();
@@ -2771,6 +2756,7 @@ var init_src = __esm({
2771
2756
  init_cache();
2772
2757
  init_redis();
2773
2758
  init_watch();
2759
+ _require2 = createRequire(import.meta.url);
2774
2760
  transformSource = (source, opts) => {
2775
2761
  const native = getNativeBridge();
2776
2762
  if (!native?.transformSource) {
@@ -2860,7 +2846,7 @@ var init_src = __esm({
2860
2846
  return eliminateDeadCss(css, new Set(dead.deadInCss ?? []));
2861
2847
  };
2862
2848
  scanProjectUsage = (dirs, cwd) => {
2863
- const { batchExtractClasses: batchExtractClasses2 } = (init_parser(), __toCommonJS(parser_exports));
2849
+ const { batchExtractClasses: batchExtractClasses2 } = _require2("./parser");
2864
2850
  const files = dirs.map((dir) => path__default.resolve(cwd, dir));
2865
2851
  const results = batchExtractClasses2(files) || [];
2866
2852
  const combined = {};
@@ -3494,14 +3480,23 @@ function extractStaticStateCss(srcDir, options = {}) {
3494
3480
  }
3495
3481
  }
3496
3482
  const allRules = native.generateStaticStateCss(uniqueConfigs, options.resolvedCss ?? null);
3497
- const rulesSkipped = uniqueConfigs.reduce((total, cfg) => {
3498
- try {
3499
- const stateMap = JSON.parse(cfg.statesJson);
3500
- return total + Object.keys(stateMap).length;
3501
- } catch {
3502
- return total;
3503
- }
3504
- }, 0) - allRules.length;
3483
+ const rulesSkipped = allRules.filter((r) => {
3484
+ const decl = r.declarations.trim();
3485
+ return decl.length === 0 || !decl.includes(":");
3486
+ }).length;
3487
+ function sanitizeCssRule(cssRule, declarations) {
3488
+ const segments = declarations.split(/[;\n]/).map((s) => s.trim()).filter(Boolean);
3489
+ const validSegs = segments.filter((s) => s.includes(":"));
3490
+ const invalidSegs = segments.filter((s) => !s.includes(":"));
3491
+ if (invalidSegs.length === 0) return cssRule;
3492
+ if (validSegs.length === 0) return null;
3493
+ const braceIdx = cssRule.indexOf("{");
3494
+ if (braceIdx === -1) return null;
3495
+ const selector = cssRule.slice(0, braceIdx).trim();
3496
+ return `${selector} {
3497
+ ${validSegs.join(";\n ")};
3498
+ }`;
3499
+ }
3505
3500
  const byComponent = /* @__PURE__ */ new Map();
3506
3501
  for (const rule of allRules) {
3507
3502
  const existing = byComponent.get(rule.componentName) ?? [];
@@ -3513,11 +3508,18 @@ function extractStaticStateCss(srcDir, options = {}) {
3513
3508
  cssBlocks.push(`/* ${componentName} */`);
3514
3509
  for (const rule of rules) {
3515
3510
  cssBlocks.push(`/* state: ${rule.stateName} */`);
3516
- const isUnresolved = rule.declarations.trim().length > 0 && !rule.declarations.includes(":");
3517
- if (isUnresolved) {
3518
- cssBlocks.push(`/* SKIPPED (unresolved): ${rule.declarations} \u2014 akan di-inject runtime */`);
3511
+ const isFullyUnresolved = rule.declarations.trim().length > 0 && !rule.declarations.includes(":");
3512
+ if (isFullyUnresolved) {
3513
+ const encoded = rule.declarations.replace(/([\w-]+)/g, "[$1]");
3514
+ cssBlocks.push(`/* SKIP [unresolved]: ${encoded} */`);
3519
3515
  } else {
3520
- cssBlocks.push(rule.cssRule);
3516
+ const sanitized = sanitizeCssRule(rule.cssRule, rule.declarations);
3517
+ if (sanitized !== null) {
3518
+ cssBlocks.push(sanitized);
3519
+ } else {
3520
+ const encoded = rule.declarations.replace(/([\w-]+)/g, "[$1]");
3521
+ cssBlocks.push(`/* SKIP [sanitized-empty]: ${encoded} */`);
3522
+ }
3521
3523
  }
3522
3524
  }
3523
3525
  cssBlocks.push("");
@@ -3527,7 +3529,7 @@ function extractStaticStateCss(srcDir, options = {}) {
3527
3529
  filesWithStates,
3528
3530
  componentsFound: allConfigs.length,
3529
3531
  rulesGenerated: allRules.length,
3530
- rulesSkipped: Math.max(0, rulesSkipped),
3532
+ rulesSkipped,
3531
3533
  generatedCss: cssBlocks.join("\n"),
3532
3534
  rules: allRules
3533
3535
  };
@@ -3697,7 +3699,7 @@ function loadNativeBinding(options) {
3697
3699
  return { binding: null, loadErrors };
3698
3700
  }
3699
3701
  function requireNativeModule(p) {
3700
- return _require2(p);
3702
+ return _require3(p);
3701
3703
  }
3702
3704
  function resolveNativeBindingCandidates(options) {
3703
3705
  const {
@@ -3754,7 +3756,7 @@ function formatErrorMessage(error) {
3754
3756
  if (error instanceof Error) return error.message;
3755
3757
  return String(error);
3756
3758
  }
3757
- var TwError, _require2, LRUCache;
3759
+ var TwError, _require3, LRUCache;
3758
3760
  var init_src2 = __esm({
3759
3761
  "packages/domain/shared/src/index.ts"() {
3760
3762
  init_trace();
@@ -3822,7 +3824,7 @@ var init_src2 = __esm({
3822
3824
  return `[${this.source.toUpperCase()}:${this.code}] ${this.message}`;
3823
3825
  }
3824
3826
  };
3825
- _require2 = createRequire(import.meta.url);
3827
+ _require3 = createRequire(import.meta.url);
3826
3828
  LRUCache = class {
3827
3829
  capacity;
3828
3830
  cache;