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.js CHANGED
@@ -2784,7 +2784,8 @@ var init_src = __esm({
2784
2784
  if (!native?.transformSource) {
2785
2785
  throw new Error("FATAL: Native binding 'transformSource' is required but not available.");
2786
2786
  }
2787
- const result = native.transformSource(source, opts);
2787
+ const stringOpts = opts ? Object.fromEntries(Object.entries(opts).map(([k, v]) => [k, String(v)])) : void 0;
2788
+ const result = native.transformSource(source, stringOpts);
2788
2789
  if (!result) {
2789
2790
  throw new Error("FATAL: transformSource returned null");
2790
2791
  }
@@ -3506,6 +3507,19 @@ function extractStaticStateCss(srcDir, options = {}) {
3506
3507
  const decl = r.declarations.trim();
3507
3508
  return decl.length === 0 || !decl.includes(":");
3508
3509
  }).length;
3510
+ function sanitizeCssRule(cssRule, declarations) {
3511
+ const segments = declarations.split(/[;\n]/).map((s) => s.trim()).filter(Boolean);
3512
+ const validSegs = segments.filter((s) => s.includes(":"));
3513
+ const invalidSegs = segments.filter((s) => !s.includes(":"));
3514
+ if (invalidSegs.length === 0) return cssRule;
3515
+ if (validSegs.length === 0) return null;
3516
+ const braceIdx = cssRule.indexOf("{");
3517
+ if (braceIdx === -1) return null;
3518
+ const selector = cssRule.slice(0, braceIdx).trim();
3519
+ return `${selector} {
3520
+ ${validSegs.join(";\n ")};
3521
+ }`;
3522
+ }
3509
3523
  const byComponent = /* @__PURE__ */ new Map();
3510
3524
  for (const rule of allRules) {
3511
3525
  const existing = byComponent.get(rule.componentName) ?? [];
@@ -3517,11 +3531,18 @@ function extractStaticStateCss(srcDir, options = {}) {
3517
3531
  cssBlocks.push(`/* ${componentName} */`);
3518
3532
  for (const rule of rules) {
3519
3533
  cssBlocks.push(`/* state: ${rule.stateName} */`);
3520
- const isUnresolved = rule.declarations.trim().length > 0 && !rule.declarations.includes(":");
3521
- if (isUnresolved) {
3522
- cssBlocks.push(`/* SKIPPED (unresolved): ${rule.declarations} \u2014 akan di-inject runtime */`);
3534
+ const isFullyUnresolved = rule.declarations.trim().length > 0 && !rule.declarations.includes(":");
3535
+ if (isFullyUnresolved) {
3536
+ const encoded = rule.declarations.replace(/([\w-]+)/g, "[$1]");
3537
+ cssBlocks.push(`/* SKIP [unresolved]: ${encoded} */`);
3523
3538
  } else {
3524
- cssBlocks.push(rule.cssRule);
3539
+ const sanitized = sanitizeCssRule(rule.cssRule, rule.declarations);
3540
+ if (sanitized !== null) {
3541
+ cssBlocks.push(sanitized);
3542
+ } else {
3543
+ const encoded = rule.declarations.replace(/([\w-]+)/g, "[$1]");
3544
+ cssBlocks.push(`/* SKIP [sanitized-empty]: ${encoded} */`);
3545
+ }
3525
3546
  }
3526
3547
  }
3527
3548
  cssBlocks.push("");