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/next.mjs CHANGED
@@ -2243,7 +2243,8 @@ var init_src = __esm({
2243
2243
  if (!native?.transformSource) {
2244
2244
  throw new Error("FATAL: Native binding 'transformSource' is required but not available.");
2245
2245
  }
2246
- const result = native.transformSource(source, opts);
2246
+ const stringOpts = opts ? Object.fromEntries(Object.entries(opts).map(([k, v]) => [k, String(v)])) : void 0;
2247
+ const result = native.transformSource(source, stringOpts);
2247
2248
  if (!result) {
2248
2249
  throw new Error("FATAL: transformSource returned null");
2249
2250
  }
@@ -2970,6 +2971,19 @@ function extractStaticStateCss(srcDir, options = {}) {
2970
2971
  const decl = r.declarations.trim();
2971
2972
  return decl.length === 0 || !decl.includes(":");
2972
2973
  }).length;
2974
+ function sanitizeCssRule(cssRule, declarations) {
2975
+ const segments = declarations.split(/[;\n]/).map((s) => s.trim()).filter(Boolean);
2976
+ const validSegs = segments.filter((s) => s.includes(":"));
2977
+ const invalidSegs = segments.filter((s) => !s.includes(":"));
2978
+ if (invalidSegs.length === 0) return cssRule;
2979
+ if (validSegs.length === 0) return null;
2980
+ const braceIdx = cssRule.indexOf("{");
2981
+ if (braceIdx === -1) return null;
2982
+ const selector = cssRule.slice(0, braceIdx).trim();
2983
+ return `${selector} {
2984
+ ${validSegs.join(";\n ")};
2985
+ }`;
2986
+ }
2973
2987
  const byComponent = /* @__PURE__ */ new Map();
2974
2988
  for (const rule of allRules) {
2975
2989
  const existing = byComponent.get(rule.componentName) ?? [];
@@ -2981,11 +2995,18 @@ function extractStaticStateCss(srcDir, options = {}) {
2981
2995
  cssBlocks.push(`/* ${componentName} */`);
2982
2996
  for (const rule of rules) {
2983
2997
  cssBlocks.push(`/* state: ${rule.stateName} */`);
2984
- const isUnresolved = rule.declarations.trim().length > 0 && !rule.declarations.includes(":");
2985
- if (isUnresolved) {
2986
- cssBlocks.push(`/* SKIPPED (unresolved): ${rule.declarations} \u2014 akan di-inject runtime */`);
2998
+ const isFullyUnresolved = rule.declarations.trim().length > 0 && !rule.declarations.includes(":");
2999
+ if (isFullyUnresolved) {
3000
+ const encoded = rule.declarations.replace(/([\w-]+)/g, "[$1]");
3001
+ cssBlocks.push(`/* SKIP [unresolved]: ${encoded} */`);
2987
3002
  } else {
2988
- cssBlocks.push(rule.cssRule);
3003
+ const sanitized = sanitizeCssRule(rule.cssRule, rule.declarations);
3004
+ if (sanitized !== null) {
3005
+ cssBlocks.push(sanitized);
3006
+ } else {
3007
+ const encoded = rule.declarations.replace(/([\w-]+)/g, "[$1]");
3008
+ cssBlocks.push(`/* SKIP [sanitized-empty]: ${encoded} */`);
3009
+ }
2989
3010
  }
2990
3011
  }
2991
3012
  cssBlocks.push("");