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/index.js CHANGED
@@ -1815,21 +1815,6 @@ var init_compiler = __esm({
1815
1815
  });
1816
1816
 
1817
1817
  // packages/domain/compiler/src/parser/index.ts
1818
- var parser_exports = {};
1819
- __export(parser_exports, {
1820
- astExtractClasses: () => astExtractClasses,
1821
- batchExtractClasses: () => batchExtractClasses,
1822
- checkAgainstSafelist: () => checkAgainstSafelist,
1823
- diffClassLists: () => diffClassLists,
1824
- extractAllClasses: () => extractAllClasses,
1825
- extractClassesFromSource: () => extractClassesFromSource,
1826
- extractComponentUsage: () => extractComponentUsage,
1827
- mergeClassesStatic: () => mergeClassesStatic,
1828
- normalizeAndDedupClasses: () => normalizeAndDedupClasses,
1829
- normalizeClasses: () => normalizeClasses,
1830
- parseClass: () => parseClass,
1831
- parseClasses: () => parseClasses
1832
- });
1833
1818
  var parseClasses, parseClass, extractAllClasses, extractClassesFromSource, astExtractClasses, normalizeClasses, mergeClassesStatic, normalizeAndDedupClasses, extractComponentUsage, batchExtractClasses, checkAgainstSafelist, diffClassLists;
1834
1819
  var init_parser = __esm({
1835
1820
  "packages/domain/compiler/src/parser/index.ts"() {
@@ -2790,7 +2775,7 @@ function extractContainerCssFromSource(source) {
2790
2775
  }
2791
2776
  return rules.join("\n");
2792
2777
  }
2793
- 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;
2778
+ 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;
2794
2779
  var init_src = __esm({
2795
2780
  "packages/domain/compiler/src/index.ts"() {
2796
2781
  init_nativeBridge();
@@ -2800,6 +2785,7 @@ var init_src = __esm({
2800
2785
  init_cache();
2801
2786
  init_redis();
2802
2787
  init_watch();
2788
+ _require2 = module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index.js', document.baseURI).href)));
2803
2789
  transformSource = (source, opts) => {
2804
2790
  const native = getNativeBridge();
2805
2791
  if (!native?.transformSource) {
@@ -2889,7 +2875,7 @@ var init_src = __esm({
2889
2875
  return eliminateDeadCss(css, new Set(dead.deadInCss ?? []));
2890
2876
  };
2891
2877
  scanProjectUsage = (dirs, cwd) => {
2892
- const { batchExtractClasses: batchExtractClasses2 } = (init_parser(), __toCommonJS(parser_exports));
2878
+ const { batchExtractClasses: batchExtractClasses2 } = _require2("./parser");
2893
2879
  const files = dirs.map((dir) => path9__namespace.default.resolve(cwd, dir));
2894
2880
  const results = batchExtractClasses2(files) || [];
2895
2881
  const combined = {};
@@ -3523,14 +3509,23 @@ function extractStaticStateCss(srcDir, options = {}) {
3523
3509
  }
3524
3510
  }
3525
3511
  const allRules = native.generateStaticStateCss(uniqueConfigs, options.resolvedCss ?? null);
3526
- const rulesSkipped = uniqueConfigs.reduce((total, cfg) => {
3527
- try {
3528
- const stateMap = JSON.parse(cfg.statesJson);
3529
- return total + Object.keys(stateMap).length;
3530
- } catch {
3531
- return total;
3532
- }
3533
- }, 0) - allRules.length;
3512
+ const rulesSkipped = allRules.filter((r) => {
3513
+ const decl = r.declarations.trim();
3514
+ return decl.length === 0 || !decl.includes(":");
3515
+ }).length;
3516
+ function sanitizeCssRule(cssRule, declarations) {
3517
+ const segments = declarations.split(/[;\n]/).map((s) => s.trim()).filter(Boolean);
3518
+ const validSegs = segments.filter((s) => s.includes(":"));
3519
+ const invalidSegs = segments.filter((s) => !s.includes(":"));
3520
+ if (invalidSegs.length === 0) return cssRule;
3521
+ if (validSegs.length === 0) return null;
3522
+ const braceIdx = cssRule.indexOf("{");
3523
+ if (braceIdx === -1) return null;
3524
+ const selector = cssRule.slice(0, braceIdx).trim();
3525
+ return `${selector} {
3526
+ ${validSegs.join(";\n ")};
3527
+ }`;
3528
+ }
3534
3529
  const byComponent = /* @__PURE__ */ new Map();
3535
3530
  for (const rule of allRules) {
3536
3531
  const existing = byComponent.get(rule.componentName) ?? [];
@@ -3542,11 +3537,18 @@ function extractStaticStateCss(srcDir, options = {}) {
3542
3537
  cssBlocks.push(`/* ${componentName} */`);
3543
3538
  for (const rule of rules) {
3544
3539
  cssBlocks.push(`/* state: ${rule.stateName} */`);
3545
- const isUnresolved = rule.declarations.trim().length > 0 && !rule.declarations.includes(":");
3546
- if (isUnresolved) {
3547
- cssBlocks.push(`/* SKIPPED (unresolved): ${rule.declarations} \u2014 akan di-inject runtime */`);
3540
+ const isFullyUnresolved = rule.declarations.trim().length > 0 && !rule.declarations.includes(":");
3541
+ if (isFullyUnresolved) {
3542
+ const encoded = rule.declarations.replace(/([\w-]+)/g, "[$1]");
3543
+ cssBlocks.push(`/* SKIP [unresolved]: ${encoded} */`);
3548
3544
  } else {
3549
- cssBlocks.push(rule.cssRule);
3545
+ const sanitized = sanitizeCssRule(rule.cssRule, rule.declarations);
3546
+ if (sanitized !== null) {
3547
+ cssBlocks.push(sanitized);
3548
+ } else {
3549
+ const encoded = rule.declarations.replace(/([\w-]+)/g, "[$1]");
3550
+ cssBlocks.push(`/* SKIP [sanitized-empty]: ${encoded} */`);
3551
+ }
3550
3552
  }
3551
3553
  }
3552
3554
  cssBlocks.push("");
@@ -3556,7 +3558,7 @@ function extractStaticStateCss(srcDir, options = {}) {
3556
3558
  filesWithStates,
3557
3559
  componentsFound: allConfigs.length,
3558
3560
  rulesGenerated: allRules.length,
3559
- rulesSkipped: Math.max(0, rulesSkipped),
3561
+ rulesSkipped,
3560
3562
  generatedCss: cssBlocks.join("\n"),
3561
3563
  rules: allRules
3562
3564
  };
@@ -3799,7 +3801,7 @@ function loadNativeBinding(options) {
3799
3801
  return { binding: null, loadErrors };
3800
3802
  }
3801
3803
  function requireNativeModule(p) {
3802
- return _require2(p);
3804
+ return _require3(p);
3803
3805
  }
3804
3806
  function resolveNativeBindingCandidates(options) {
3805
3807
  const {
@@ -3856,7 +3858,7 @@ function formatErrorMessage(error) {
3856
3858
  if (error instanceof Error) return error.message;
3857
3859
  return String(error);
3858
3860
  }
3859
- var TwError, _require2, LRUCache;
3861
+ var TwError, _require3, LRUCache;
3860
3862
  var init_src2 = __esm({
3861
3863
  "packages/domain/shared/src/index.ts"() {
3862
3864
  init_trace();
@@ -3924,7 +3926,7 @@ var init_src2 = __esm({
3924
3926
  return `[${this.source.toUpperCase()}:${this.code}] ${this.message}`;
3925
3927
  }
3926
3928
  };
3927
- _require2 = module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index.js', document.baseURI).href)));
3929
+ _require3 = module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index.js', document.baseURI).href)));
3928
3930
  LRUCache = class {
3929
3931
  capacity;
3930
3932
  cache;