tailwind-styled-v4 5.0.26 → 5.0.28

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.
Files changed (89) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +575 -575
  3. package/dist/analyzer.js.map +1 -1
  4. package/dist/analyzer.mjs.map +1 -1
  5. package/dist/animate.js.map +1 -1
  6. package/dist/animate.mjs.map +1 -1
  7. package/dist/atomic.js.map +1 -1
  8. package/dist/atomic.mjs.map +1 -1
  9. package/dist/cli.js +2 -2
  10. package/dist/cli.js.map +1 -1
  11. package/dist/cli.mjs +2 -2
  12. package/dist/cli.mjs.map +1 -1
  13. package/dist/compiler.js +2 -1
  14. package/dist/compiler.js.map +1 -1
  15. package/dist/compiler.mjs +2 -1
  16. package/dist/compiler.mjs.map +1 -1
  17. package/dist/dashboard.d.mts +69 -69
  18. package/dist/dashboard.d.ts +69 -69
  19. package/dist/dashboard.js.map +1 -1
  20. package/dist/dashboard.mjs.map +1 -1
  21. package/dist/devtools.js.map +1 -1
  22. package/dist/devtools.mjs.map +1 -1
  23. package/dist/engine.js +26 -5
  24. package/dist/engine.js.map +1 -1
  25. package/dist/engine.mjs +26 -5
  26. package/dist/engine.mjs.map +1 -1
  27. package/dist/index.browser.mjs +16 -16
  28. package/dist/index.browser.mjs.map +1 -1
  29. package/dist/index.d.mts +4 -4
  30. package/dist/index.d.ts +4 -4
  31. package/dist/index.js +51 -28
  32. package/dist/index.js.map +1 -1
  33. package/dist/index.mjs +51 -28
  34. package/dist/index.mjs.map +1 -1
  35. package/dist/next.js +26 -5
  36. package/dist/next.js.map +1 -1
  37. package/dist/next.mjs +26 -5
  38. package/dist/next.mjs.map +1 -1
  39. package/dist/plugin-api.js.map +1 -1
  40. package/dist/plugin-api.mjs.map +1 -1
  41. package/dist/plugin-registry.js.map +1 -1
  42. package/dist/plugin-registry.mjs.map +1 -1
  43. package/dist/plugin.js.map +1 -1
  44. package/dist/plugin.mjs.map +1 -1
  45. package/dist/preset.js.map +1 -1
  46. package/dist/preset.mjs.map +1 -1
  47. package/dist/rspack.js.map +1 -1
  48. package/dist/rspack.mjs.map +1 -1
  49. package/dist/runtime-css.js.map +1 -1
  50. package/dist/runtime-css.mjs.map +1 -1
  51. package/dist/runtime.js.map +1 -1
  52. package/dist/runtime.mjs.map +1 -1
  53. package/dist/scanner.js.map +1 -1
  54. package/dist/scanner.mjs.map +1 -1
  55. package/dist/shared.js +26 -5
  56. package/dist/shared.js.map +1 -1
  57. package/dist/shared.mjs +26 -5
  58. package/dist/shared.mjs.map +1 -1
  59. package/dist/storybook-addon.js.map +1 -1
  60. package/dist/storybook-addon.mjs.map +1 -1
  61. package/dist/svelte.js.map +1 -1
  62. package/dist/svelte.mjs.map +1 -1
  63. package/dist/syntax.js.map +1 -1
  64. package/dist/syntax.mjs.map +1 -1
  65. package/dist/testing.js.map +1 -1
  66. package/dist/testing.mjs.map +1 -1
  67. package/dist/theme.js.map +1 -1
  68. package/dist/theme.mjs.map +1 -1
  69. package/dist/turbopackLoader.js +2 -1
  70. package/dist/turbopackLoader.js.map +1 -1
  71. package/dist/turbopackLoader.mjs +2 -1
  72. package/dist/turbopackLoader.mjs.map +1 -1
  73. package/dist/tw.js +2 -2
  74. package/dist/tw.js.map +1 -1
  75. package/dist/tw.mjs +2 -2
  76. package/dist/tw.mjs.map +1 -1
  77. package/dist/vite.js +26 -5
  78. package/dist/vite.js.map +1 -1
  79. package/dist/vite.mjs +26 -5
  80. package/dist/vite.mjs.map +1 -1
  81. package/dist/vue.js.map +1 -1
  82. package/dist/vue.mjs.map +1 -1
  83. package/dist/webpackLoader.js +2 -1
  84. package/dist/webpackLoader.js.map +1 -1
  85. package/dist/webpackLoader.mjs +2 -1
  86. package/dist/webpackLoader.mjs.map +1 -1
  87. package/native/tailwind-styled-native.node +0 -0
  88. package/package.json +296 -289
  89. package/native/tailwind-styled-native.win32-x64-msvc.node +0 -0
package/dist/shared.mjs CHANGED
@@ -2762,7 +2762,8 @@ var init_src = __esm({
2762
2762
  if (!native?.transformSource) {
2763
2763
  throw new Error("FATAL: Native binding 'transformSource' is required but not available.");
2764
2764
  }
2765
- const result = native.transformSource(source, opts);
2765
+ const stringOpts = opts ? Object.fromEntries(Object.entries(opts).map(([k, v]) => [k, String(v)])) : void 0;
2766
+ const result = native.transformSource(source, stringOpts);
2766
2767
  if (!result) {
2767
2768
  throw new Error("FATAL: transformSource returned null");
2768
2769
  }
@@ -3484,6 +3485,19 @@ function extractStaticStateCss(srcDir, options = {}) {
3484
3485
  const decl = r.declarations.trim();
3485
3486
  return decl.length === 0 || !decl.includes(":");
3486
3487
  }).length;
3488
+ function sanitizeCssRule(cssRule, declarations) {
3489
+ const segments = declarations.split(/[;\n]/).map((s) => s.trim()).filter(Boolean);
3490
+ const validSegs = segments.filter((s) => s.includes(":"));
3491
+ const invalidSegs = segments.filter((s) => !s.includes(":"));
3492
+ if (invalidSegs.length === 0) return cssRule;
3493
+ if (validSegs.length === 0) return null;
3494
+ const braceIdx = cssRule.indexOf("{");
3495
+ if (braceIdx === -1) return null;
3496
+ const selector = cssRule.slice(0, braceIdx).trim();
3497
+ return `${selector} {
3498
+ ${validSegs.join(";\n ")};
3499
+ }`;
3500
+ }
3487
3501
  const byComponent = /* @__PURE__ */ new Map();
3488
3502
  for (const rule of allRules) {
3489
3503
  const existing = byComponent.get(rule.componentName) ?? [];
@@ -3495,11 +3509,18 @@ function extractStaticStateCss(srcDir, options = {}) {
3495
3509
  cssBlocks.push(`/* ${componentName} */`);
3496
3510
  for (const rule of rules) {
3497
3511
  cssBlocks.push(`/* state: ${rule.stateName} */`);
3498
- const isUnresolved = rule.declarations.trim().length > 0 && !rule.declarations.includes(":");
3499
- if (isUnresolved) {
3500
- cssBlocks.push(`/* SKIPPED (unresolved): ${rule.declarations} \u2014 akan di-inject runtime */`);
3512
+ const isFullyUnresolved = rule.declarations.trim().length > 0 && !rule.declarations.includes(":");
3513
+ if (isFullyUnresolved) {
3514
+ const encoded = rule.declarations.replace(/([\w-]+)/g, "[$1]");
3515
+ cssBlocks.push(`/* SKIP [unresolved]: ${encoded} */`);
3501
3516
  } else {
3502
- cssBlocks.push(rule.cssRule);
3517
+ const sanitized = sanitizeCssRule(rule.cssRule, rule.declarations);
3518
+ if (sanitized !== null) {
3519
+ cssBlocks.push(sanitized);
3520
+ } else {
3521
+ const encoded = rule.declarations.replace(/([\w-]+)/g, "[$1]");
3522
+ cssBlocks.push(`/* SKIP [sanitized-empty]: ${encoded} */`);
3523
+ }
3503
3524
  }
3504
3525
  }
3505
3526
  cssBlocks.push("");