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/vite.mjs CHANGED
@@ -1681,21 +1681,6 @@ var init_compiler = __esm({
1681
1681
  });
1682
1682
 
1683
1683
  // packages/domain/compiler/src/parser/index.ts
1684
- var parser_exports = {};
1685
- __export(parser_exports, {
1686
- astExtractClasses: () => astExtractClasses,
1687
- batchExtractClasses: () => batchExtractClasses,
1688
- checkAgainstSafelist: () => checkAgainstSafelist,
1689
- diffClassLists: () => diffClassLists,
1690
- extractAllClasses: () => extractAllClasses,
1691
- extractClassesFromSource: () => extractClassesFromSource,
1692
- extractComponentUsage: () => extractComponentUsage,
1693
- mergeClassesStatic: () => mergeClassesStatic,
1694
- normalizeAndDedupClasses: () => normalizeAndDedupClasses,
1695
- normalizeClasses: () => normalizeClasses,
1696
- parseClass: () => parseClass,
1697
- parseClasses: () => parseClasses
1698
- });
1699
1684
  var parseClasses, parseClass, extractAllClasses, extractClassesFromSource, astExtractClasses, normalizeClasses, mergeClassesStatic, normalizeAndDedupClasses, extractComponentUsage, batchExtractClasses, checkAgainstSafelist, diffClassLists;
1700
1685
  var init_parser = __esm({
1701
1686
  "packages/domain/compiler/src/parser/index.ts"() {
@@ -3016,14 +3001,23 @@ function extractStaticStateCss(srcDir, options = {}) {
3016
3001
  }
3017
3002
  }
3018
3003
  const allRules = native.generateStaticStateCss(uniqueConfigs, options.resolvedCss ?? null);
3019
- const rulesSkipped = uniqueConfigs.reduce((total, cfg) => {
3020
- try {
3021
- const stateMap = JSON.parse(cfg.statesJson);
3022
- return total + Object.keys(stateMap).length;
3023
- } catch {
3024
- return total;
3025
- }
3026
- }, 0) - allRules.length;
3004
+ const rulesSkipped = allRules.filter((r) => {
3005
+ const decl = r.declarations.trim();
3006
+ return decl.length === 0 || !decl.includes(":");
3007
+ }).length;
3008
+ function sanitizeCssRule(cssRule, declarations) {
3009
+ const segments = declarations.split(/[;\n]/).map((s) => s.trim()).filter(Boolean);
3010
+ const validSegs = segments.filter((s) => s.includes(":"));
3011
+ const invalidSegs = segments.filter((s) => !s.includes(":"));
3012
+ if (invalidSegs.length === 0) return cssRule;
3013
+ if (validSegs.length === 0) return null;
3014
+ const braceIdx = cssRule.indexOf("{");
3015
+ if (braceIdx === -1) return null;
3016
+ const selector = cssRule.slice(0, braceIdx).trim();
3017
+ return `${selector} {
3018
+ ${validSegs.join(";\n ")};
3019
+ }`;
3020
+ }
3027
3021
  const byComponent = /* @__PURE__ */ new Map();
3028
3022
  for (const rule of allRules) {
3029
3023
  const existing = byComponent.get(rule.componentName) ?? [];
@@ -3035,11 +3029,18 @@ function extractStaticStateCss(srcDir, options = {}) {
3035
3029
  cssBlocks.push(`/* ${componentName} */`);
3036
3030
  for (const rule of rules) {
3037
3031
  cssBlocks.push(`/* state: ${rule.stateName} */`);
3038
- const isUnresolved = rule.declarations.trim().length > 0 && !rule.declarations.includes(":");
3039
- if (isUnresolved) {
3040
- cssBlocks.push(`/* SKIPPED (unresolved): ${rule.declarations} \u2014 akan di-inject runtime */`);
3032
+ const isFullyUnresolved = rule.declarations.trim().length > 0 && !rule.declarations.includes(":");
3033
+ if (isFullyUnresolved) {
3034
+ const encoded = rule.declarations.replace(/([\w-]+)/g, "[$1]");
3035
+ cssBlocks.push(`/* SKIP [unresolved]: ${encoded} */`);
3041
3036
  } else {
3042
- cssBlocks.push(rule.cssRule);
3037
+ const sanitized = sanitizeCssRule(rule.cssRule, rule.declarations);
3038
+ if (sanitized !== null) {
3039
+ cssBlocks.push(sanitized);
3040
+ } else {
3041
+ const encoded = rule.declarations.replace(/([\w-]+)/g, "[$1]");
3042
+ cssBlocks.push(`/* SKIP [sanitized-empty]: ${encoded} */`);
3043
+ }
3043
3044
  }
3044
3045
  }
3045
3046
  cssBlocks.push("");
@@ -3049,7 +3050,7 @@ function extractStaticStateCss(srcDir, options = {}) {
3049
3050
  filesWithStates,
3050
3051
  componentsFound: allConfigs.length,
3051
3052
  rulesGenerated: allRules.length,
3052
- rulesSkipped: Math.max(0, rulesSkipped),
3053
+ rulesSkipped,
3053
3054
  generatedCss: cssBlocks.join("\n"),
3054
3055
  rules: allRules
3055
3056
  };
@@ -3603,7 +3604,7 @@ function extractContainerCssFromSource(source) {
3603
3604
  }
3604
3605
  return rules.join("\n");
3605
3606
  }
3606
- 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;
3607
+ var _require3, 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;
3607
3608
  var init_src2 = __esm({
3608
3609
  "packages/domain/compiler/src/index.ts"() {
3609
3610
  init_nativeBridge();
@@ -3613,6 +3614,7 @@ var init_src2 = __esm({
3613
3614
  init_cache();
3614
3615
  init_redis();
3615
3616
  init_watch();
3617
+ _require3 = createRequire(import.meta.url);
3616
3618
  transformSource = (source, opts) => {
3617
3619
  const native = getNativeBridge();
3618
3620
  if (!native?.transformSource) {
@@ -3702,7 +3704,7 @@ var init_src2 = __esm({
3702
3704
  return eliminateDeadCss(css, new Set(dead.deadInCss ?? []));
3703
3705
  };
3704
3706
  scanProjectUsage = (dirs, cwd) => {
3705
- const { batchExtractClasses: batchExtractClasses2 } = (init_parser(), __toCommonJS(parser_exports));
3707
+ const { batchExtractClasses: batchExtractClasses2 } = _require3("./parser");
3706
3708
  const files = dirs.map((dir) => path9__default.resolve(cwd, dir));
3707
3709
  const results = batchExtractClasses2(files) || [];
3708
3710
  const combined = {};