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.js CHANGED
@@ -2265,7 +2265,8 @@ var init_src = __esm({
2265
2265
  if (!native?.transformSource) {
2266
2266
  throw new Error("FATAL: Native binding 'transformSource' is required but not available.");
2267
2267
  }
2268
- const result = native.transformSource(source, opts);
2268
+ const stringOpts = opts ? Object.fromEntries(Object.entries(opts).map(([k, v]) => [k, String(v)])) : void 0;
2269
+ const result = native.transformSource(source, stringOpts);
2269
2270
  if (!result) {
2270
2271
  throw new Error("FATAL: transformSource returned null");
2271
2272
  }
@@ -2992,6 +2993,19 @@ function extractStaticStateCss(srcDir, options = {}) {
2992
2993
  const decl = r.declarations.trim();
2993
2994
  return decl.length === 0 || !decl.includes(":");
2994
2995
  }).length;
2996
+ function sanitizeCssRule(cssRule, declarations) {
2997
+ const segments = declarations.split(/[;\n]/).map((s) => s.trim()).filter(Boolean);
2998
+ const validSegs = segments.filter((s) => s.includes(":"));
2999
+ const invalidSegs = segments.filter((s) => !s.includes(":"));
3000
+ if (invalidSegs.length === 0) return cssRule;
3001
+ if (validSegs.length === 0) return null;
3002
+ const braceIdx = cssRule.indexOf("{");
3003
+ if (braceIdx === -1) return null;
3004
+ const selector = cssRule.slice(0, braceIdx).trim();
3005
+ return `${selector} {
3006
+ ${validSegs.join(";\n ")};
3007
+ }`;
3008
+ }
2995
3009
  const byComponent = /* @__PURE__ */ new Map();
2996
3010
  for (const rule of allRules) {
2997
3011
  const existing = byComponent.get(rule.componentName) ?? [];
@@ -3003,11 +3017,18 @@ function extractStaticStateCss(srcDir, options = {}) {
3003
3017
  cssBlocks.push(`/* ${componentName} */`);
3004
3018
  for (const rule of rules) {
3005
3019
  cssBlocks.push(`/* state: ${rule.stateName} */`);
3006
- const isUnresolved = rule.declarations.trim().length > 0 && !rule.declarations.includes(":");
3007
- if (isUnresolved) {
3008
- cssBlocks.push(`/* SKIPPED (unresolved): ${rule.declarations} \u2014 akan di-inject runtime */`);
3020
+ const isFullyUnresolved = rule.declarations.trim().length > 0 && !rule.declarations.includes(":");
3021
+ if (isFullyUnresolved) {
3022
+ const encoded = rule.declarations.replace(/([\w-]+)/g, "[$1]");
3023
+ cssBlocks.push(`/* SKIP [unresolved]: ${encoded} */`);
3009
3024
  } else {
3010
- cssBlocks.push(rule.cssRule);
3025
+ const sanitized = sanitizeCssRule(rule.cssRule, rule.declarations);
3026
+ if (sanitized !== null) {
3027
+ cssBlocks.push(sanitized);
3028
+ } else {
3029
+ const encoded = rule.declarations.replace(/([\w-]+)/g, "[$1]");
3030
+ cssBlocks.push(`/* SKIP [sanitized-empty]: ${encoded} */`);
3031
+ }
3011
3032
  }
3012
3033
  }
3013
3034
  cssBlocks.push("");