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.js CHANGED
@@ -1703,21 +1703,6 @@ var init_compiler = __esm({
1703
1703
  });
1704
1704
 
1705
1705
  // packages/domain/compiler/src/parser/index.ts
1706
- var parser_exports = {};
1707
- __export(parser_exports, {
1708
- astExtractClasses: () => astExtractClasses,
1709
- batchExtractClasses: () => batchExtractClasses,
1710
- checkAgainstSafelist: () => checkAgainstSafelist,
1711
- diffClassLists: () => diffClassLists,
1712
- extractAllClasses: () => extractAllClasses,
1713
- extractClassesFromSource: () => extractClassesFromSource,
1714
- extractComponentUsage: () => extractComponentUsage,
1715
- mergeClassesStatic: () => mergeClassesStatic,
1716
- normalizeAndDedupClasses: () => normalizeAndDedupClasses,
1717
- normalizeClasses: () => normalizeClasses,
1718
- parseClass: () => parseClass,
1719
- parseClasses: () => parseClasses
1720
- });
1721
1706
  var parseClasses, parseClass, extractAllClasses, extractClassesFromSource, astExtractClasses, normalizeClasses, mergeClassesStatic, normalizeAndDedupClasses, extractComponentUsage, batchExtractClasses, checkAgainstSafelist, diffClassLists;
1722
1707
  var init_parser = __esm({
1723
1708
  "packages/domain/compiler/src/parser/index.ts"() {
@@ -3038,14 +3023,23 @@ function extractStaticStateCss(srcDir, options = {}) {
3038
3023
  }
3039
3024
  }
3040
3025
  const allRules = native.generateStaticStateCss(uniqueConfigs, options.resolvedCss ?? null);
3041
- const rulesSkipped = uniqueConfigs.reduce((total, cfg) => {
3042
- try {
3043
- const stateMap = JSON.parse(cfg.statesJson);
3044
- return total + Object.keys(stateMap).length;
3045
- } catch {
3046
- return total;
3047
- }
3048
- }, 0) - allRules.length;
3026
+ const rulesSkipped = allRules.filter((r) => {
3027
+ const decl = r.declarations.trim();
3028
+ return decl.length === 0 || !decl.includes(":");
3029
+ }).length;
3030
+ function sanitizeCssRule(cssRule, declarations) {
3031
+ const segments = declarations.split(/[;\n]/).map((s) => s.trim()).filter(Boolean);
3032
+ const validSegs = segments.filter((s) => s.includes(":"));
3033
+ const invalidSegs = segments.filter((s) => !s.includes(":"));
3034
+ if (invalidSegs.length === 0) return cssRule;
3035
+ if (validSegs.length === 0) return null;
3036
+ const braceIdx = cssRule.indexOf("{");
3037
+ if (braceIdx === -1) return null;
3038
+ const selector = cssRule.slice(0, braceIdx).trim();
3039
+ return `${selector} {
3040
+ ${validSegs.join(";\n ")};
3041
+ }`;
3042
+ }
3049
3043
  const byComponent = /* @__PURE__ */ new Map();
3050
3044
  for (const rule of allRules) {
3051
3045
  const existing = byComponent.get(rule.componentName) ?? [];
@@ -3057,11 +3051,18 @@ function extractStaticStateCss(srcDir, options = {}) {
3057
3051
  cssBlocks.push(`/* ${componentName} */`);
3058
3052
  for (const rule of rules) {
3059
3053
  cssBlocks.push(`/* state: ${rule.stateName} */`);
3060
- const isUnresolved = rule.declarations.trim().length > 0 && !rule.declarations.includes(":");
3061
- if (isUnresolved) {
3062
- cssBlocks.push(`/* SKIPPED (unresolved): ${rule.declarations} \u2014 akan di-inject runtime */`);
3054
+ const isFullyUnresolved = rule.declarations.trim().length > 0 && !rule.declarations.includes(":");
3055
+ if (isFullyUnresolved) {
3056
+ const encoded = rule.declarations.replace(/([\w-]+)/g, "[$1]");
3057
+ cssBlocks.push(`/* SKIP [unresolved]: ${encoded} */`);
3063
3058
  } else {
3064
- cssBlocks.push(rule.cssRule);
3059
+ const sanitized = sanitizeCssRule(rule.cssRule, rule.declarations);
3060
+ if (sanitized !== null) {
3061
+ cssBlocks.push(sanitized);
3062
+ } else {
3063
+ const encoded = rule.declarations.replace(/([\w-]+)/g, "[$1]");
3064
+ cssBlocks.push(`/* SKIP [sanitized-empty]: ${encoded} */`);
3065
+ }
3065
3066
  }
3066
3067
  }
3067
3068
  cssBlocks.push("");
@@ -3071,7 +3072,7 @@ function extractStaticStateCss(srcDir, options = {}) {
3071
3072
  filesWithStates,
3072
3073
  componentsFound: allConfigs.length,
3073
3074
  rulesGenerated: allRules.length,
3074
- rulesSkipped: Math.max(0, rulesSkipped),
3075
+ rulesSkipped,
3075
3076
  generatedCss: cssBlocks.join("\n"),
3076
3077
  rules: allRules
3077
3078
  };
@@ -3625,7 +3626,7 @@ function extractContainerCssFromSource(source) {
3625
3626
  }
3626
3627
  return rules.join("\n");
3627
3628
  }
3628
- 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;
3629
+ 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;
3629
3630
  var init_src2 = __esm({
3630
3631
  "packages/domain/compiler/src/index.ts"() {
3631
3632
  init_nativeBridge();
@@ -3635,6 +3636,7 @@ var init_src2 = __esm({
3635
3636
  init_cache();
3636
3637
  init_redis();
3637
3638
  init_watch();
3639
+ _require3 = module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('vite.js', document.baseURI).href)));
3638
3640
  transformSource = (source, opts) => {
3639
3641
  const native = getNativeBridge();
3640
3642
  if (!native?.transformSource) {
@@ -3724,7 +3726,7 @@ var init_src2 = __esm({
3724
3726
  return eliminateDeadCss(css, new Set(dead.deadInCss ?? []));
3725
3727
  };
3726
3728
  scanProjectUsage = (dirs, cwd) => {
3727
- const { batchExtractClasses: batchExtractClasses2 } = (init_parser(), __toCommonJS(parser_exports));
3729
+ const { batchExtractClasses: batchExtractClasses2 } = _require3("./parser");
3728
3730
  const files = dirs.map((dir) => path9__namespace.default.resolve(cwd, dir));
3729
3731
  const results = batchExtractClasses2(files) || [];
3730
3732
  const combined = {};