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