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.mjs CHANGED
@@ -2765,7 +2765,8 @@ var init_src = __esm({
2765
2765
  if (!native?.transformSource) {
2766
2766
  throw new Error("FATAL: Native binding 'transformSource' is required but not available.");
2767
2767
  }
2768
- const result = native.transformSource(source, opts);
2768
+ const stringOpts = opts ? Object.fromEntries(Object.entries(opts).map(([k, v]) => [k, String(v)])) : void 0;
2769
+ const result = native.transformSource(source, stringOpts);
2769
2770
  if (!result) {
2770
2771
  throw new Error("FATAL: transformSource returned null");
2771
2772
  }
@@ -3487,6 +3488,19 @@ function extractStaticStateCss(srcDir, options = {}) {
3487
3488
  const decl = r.declarations.trim();
3488
3489
  return decl.length === 0 || !decl.includes(":");
3489
3490
  }).length;
3491
+ function sanitizeCssRule(cssRule, declarations) {
3492
+ const segments = declarations.split(/[;\n]/).map((s) => s.trim()).filter(Boolean);
3493
+ const validSegs = segments.filter((s) => s.includes(":"));
3494
+ const invalidSegs = segments.filter((s) => !s.includes(":"));
3495
+ if (invalidSegs.length === 0) return cssRule;
3496
+ if (validSegs.length === 0) return null;
3497
+ const braceIdx = cssRule.indexOf("{");
3498
+ if (braceIdx === -1) return null;
3499
+ const selector = cssRule.slice(0, braceIdx).trim();
3500
+ return `${selector} {
3501
+ ${validSegs.join(";\n ")};
3502
+ }`;
3503
+ }
3490
3504
  const byComponent = /* @__PURE__ */ new Map();
3491
3505
  for (const rule of allRules) {
3492
3506
  const existing = byComponent.get(rule.componentName) ?? [];
@@ -3498,11 +3512,18 @@ function extractStaticStateCss(srcDir, options = {}) {
3498
3512
  cssBlocks.push(`/* ${componentName} */`);
3499
3513
  for (const rule of rules) {
3500
3514
  cssBlocks.push(`/* state: ${rule.stateName} */`);
3501
- const isUnresolved = rule.declarations.trim().length > 0 && !rule.declarations.includes(":");
3502
- if (isUnresolved) {
3503
- cssBlocks.push(`/* SKIPPED (unresolved): ${rule.declarations} \u2014 akan di-inject runtime */`);
3515
+ const isFullyUnresolved = rule.declarations.trim().length > 0 && !rule.declarations.includes(":");
3516
+ if (isFullyUnresolved) {
3517
+ const encoded = rule.declarations.replace(/([\w-]+)/g, "[$1]");
3518
+ cssBlocks.push(`/* SKIP [unresolved]: ${encoded} */`);
3504
3519
  } else {
3505
- cssBlocks.push(rule.cssRule);
3520
+ const sanitized = sanitizeCssRule(rule.cssRule, rule.declarations);
3521
+ if (sanitized !== null) {
3522
+ cssBlocks.push(sanitized);
3523
+ } else {
3524
+ const encoded = rule.declarations.replace(/([\w-]+)/g, "[$1]");
3525
+ cssBlocks.push(`/* SKIP [sanitized-empty]: ${encoded} */`);
3526
+ }
3506
3527
  }
3507
3528
  }
3508
3529
  cssBlocks.push("");