tailwind-styled-v4 4.0.0 → 5.0.1

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 (194) hide show
  1. package/CHANGELOG.md +398 -0
  2. package/LICENSE +21 -0
  3. package/README.md +532 -0
  4. package/dist/analyzer.d.mts +114 -0
  5. package/dist/analyzer.d.ts +114 -0
  6. package/dist/analyzer.js +1555 -0
  7. package/dist/analyzer.js.map +1 -0
  8. package/dist/analyzer.mjs +1544 -0
  9. package/dist/analyzer.mjs.map +1 -0
  10. package/dist/animate.d.mts +46 -0
  11. package/dist/animate.d.ts +41 -112
  12. package/dist/animate.js +792 -235
  13. package/dist/animate.js.map +1 -1
  14. package/dist/animate.mjs +782 -0
  15. package/dist/animate.mjs.map +1 -0
  16. package/dist/atomic.d.mts +18 -0
  17. package/dist/atomic.d.ts +18 -0
  18. package/dist/atomic.js +191 -0
  19. package/dist/atomic.js.map +1 -0
  20. package/dist/atomic.mjs +185 -0
  21. package/dist/atomic.mjs.map +1 -0
  22. package/dist/cli.d.mts +1 -0
  23. package/dist/cli.d.ts +1 -0
  24. package/dist/cli.js +6063 -0
  25. package/dist/cli.js.map +1 -0
  26. package/dist/cli.mjs +6053 -0
  27. package/dist/cli.mjs.map +1 -0
  28. package/dist/{compiler.d.cts → compiler.d.mts} +503 -210
  29. package/dist/compiler.d.ts +503 -210
  30. package/dist/compiler.js +1549 -566
  31. package/dist/compiler.js.map +1 -1
  32. package/dist/{compiler.cjs → compiler.mjs} +1476 -627
  33. package/dist/compiler.mjs.map +1 -0
  34. package/dist/dashboard.d.mts +272 -0
  35. package/dist/dashboard.d.ts +272 -0
  36. package/dist/dashboard.js +249 -0
  37. package/dist/dashboard.js.map +1 -0
  38. package/dist/dashboard.mjs +239 -0
  39. package/dist/dashboard.mjs.map +1 -0
  40. package/dist/devtools.js +336 -211
  41. package/dist/devtools.js.map +1 -1
  42. package/dist/{devtools.cjs → devtools.mjs} +331 -220
  43. package/dist/devtools.mjs.map +1 -0
  44. package/dist/engine.d.mts +84 -0
  45. package/dist/engine.d.ts +84 -0
  46. package/dist/engine.js +3014 -0
  47. package/dist/engine.js.map +1 -0
  48. package/dist/engine.mjs +3005 -0
  49. package/dist/engine.mjs.map +1 -0
  50. package/dist/{index.d.cts → index.d.mts} +75 -4
  51. package/dist/index.d.ts +75 -4
  52. package/dist/index.js +1341 -149
  53. package/dist/index.js.map +1 -1
  54. package/dist/index.mjs +2162 -0
  55. package/dist/index.mjs.map +1 -0
  56. package/dist/liveTokenEngine-DYN3Zale.d.mts +34 -0
  57. package/dist/liveTokenEngine-DYN3Zale.d.ts +34 -0
  58. package/dist/next.d.mts +55 -0
  59. package/dist/next.d.ts +30 -20
  60. package/dist/next.js +6947 -149
  61. package/dist/next.js.map +1 -1
  62. package/dist/next.mjs +7050 -0
  63. package/dist/next.mjs.map +1 -0
  64. package/dist/plugin.d.mts +90 -0
  65. package/dist/plugin.d.ts +90 -0
  66. package/dist/plugin.js +185 -0
  67. package/dist/plugin.js.map +1 -0
  68. package/dist/plugin.mjs +174 -0
  69. package/dist/plugin.mjs.map +1 -0
  70. package/dist/pluginRegistry.d.mts +83 -0
  71. package/dist/pluginRegistry.d.ts +83 -0
  72. package/dist/pluginRegistry.js +303 -0
  73. package/dist/pluginRegistry.js.map +1 -0
  74. package/dist/pluginRegistry.mjs +298 -0
  75. package/dist/pluginRegistry.mjs.map +1 -0
  76. package/dist/{preset.d.cts → preset.d.mts} +29 -2
  77. package/dist/preset.d.ts +29 -2
  78. package/dist/preset.js +318 -21
  79. package/dist/preset.js.map +1 -1
  80. package/dist/preset.mjs +414 -0
  81. package/dist/preset.mjs.map +1 -0
  82. package/dist/rspack.d.mts +33 -0
  83. package/dist/rspack.d.ts +33 -0
  84. package/dist/rspack.js +55 -0
  85. package/dist/rspack.js.map +1 -0
  86. package/dist/rspack.mjs +45 -0
  87. package/dist/rspack.mjs.map +1 -0
  88. package/dist/runtime.d.mts +62 -0
  89. package/dist/runtime.d.ts +62 -0
  90. package/dist/runtime.js +207 -0
  91. package/dist/runtime.js.map +1 -0
  92. package/dist/runtime.mjs +188 -0
  93. package/dist/runtime.mjs.map +1 -0
  94. package/dist/runtimeCss.d.mts +65 -0
  95. package/dist/runtimeCss.d.ts +65 -0
  96. package/dist/runtimeCss.js +188 -0
  97. package/dist/runtimeCss.js.map +1 -0
  98. package/dist/runtimeCss.mjs +173 -0
  99. package/dist/runtimeCss.mjs.map +1 -0
  100. package/dist/scanner.d.mts +25 -0
  101. package/dist/scanner.d.ts +25 -0
  102. package/dist/scanner.js +717 -0
  103. package/dist/scanner.js.map +1 -0
  104. package/dist/scanner.mjs +703 -0
  105. package/dist/scanner.mjs.map +1 -0
  106. package/dist/shared.d.mts +85 -0
  107. package/dist/shared.d.ts +85 -0
  108. package/dist/shared.js +255 -0
  109. package/dist/shared.js.map +1 -0
  110. package/dist/shared.mjs +233 -0
  111. package/dist/shared.mjs.map +1 -0
  112. package/dist/storybookAddon.d.mts +108 -0
  113. package/dist/storybookAddon.d.ts +108 -0
  114. package/dist/storybookAddon.js +95 -0
  115. package/dist/storybookAddon.js.map +1 -0
  116. package/dist/storybookAddon.mjs +88 -0
  117. package/dist/storybookAddon.mjs.map +1 -0
  118. package/dist/svelte.d.mts +114 -0
  119. package/dist/svelte.d.ts +114 -0
  120. package/dist/svelte.js +67 -0
  121. package/dist/svelte.js.map +1 -0
  122. package/dist/svelte.mjs +59 -0
  123. package/dist/svelte.mjs.map +1 -0
  124. package/dist/testing.d.mts +185 -0
  125. package/dist/testing.d.ts +185 -0
  126. package/dist/testing.js +173 -0
  127. package/dist/testing.js.map +1 -0
  128. package/dist/testing.mjs +158 -0
  129. package/dist/testing.mjs.map +1 -0
  130. package/dist/{theme.d.cts → theme.d.mts} +18 -11
  131. package/dist/theme.d.ts +18 -11
  132. package/dist/theme.js +205 -19
  133. package/dist/theme.js.map +1 -1
  134. package/dist/theme.mjs +311 -0
  135. package/dist/theme.mjs.map +1 -0
  136. package/dist/types-DXr2PmGP.d.mts +31 -0
  137. package/dist/types-DXr2PmGP.d.ts +31 -0
  138. package/dist/vite.d.mts +51 -0
  139. package/dist/vite.d.ts +35 -6
  140. package/dist/vite.js +4254 -57
  141. package/dist/vite.js.map +1 -1
  142. package/dist/vite.mjs +4281 -0
  143. package/dist/vite.mjs.map +1 -0
  144. package/dist/vue.d.mts +89 -0
  145. package/dist/vue.d.ts +89 -0
  146. package/dist/vue.js +104 -0
  147. package/dist/vue.js.map +1 -0
  148. package/dist/vue.mjs +96 -0
  149. package/dist/vue.mjs.map +1 -0
  150. package/package.json +173 -67
  151. package/dist/animate.cjs +0 -252
  152. package/dist/animate.cjs.map +0 -1
  153. package/dist/animate.d.cts +0 -117
  154. package/dist/astTransform-ua-eapqs.d.cts +0 -41
  155. package/dist/astTransform-ua-eapqs.d.ts +0 -41
  156. package/dist/compiler.cjs.map +0 -1
  157. package/dist/css.cjs +0 -71
  158. package/dist/css.cjs.map +0 -1
  159. package/dist/css.d.cts +0 -45
  160. package/dist/css.d.ts +0 -45
  161. package/dist/css.js +0 -62
  162. package/dist/css.js.map +0 -1
  163. package/dist/devtools.cjs.map +0 -1
  164. package/dist/index.cjs +0 -1058
  165. package/dist/index.cjs.map +0 -1
  166. package/dist/next.cjs +0 -268
  167. package/dist/next.cjs.map +0 -1
  168. package/dist/next.d.cts +0 -45
  169. package/dist/plugins.cjs +0 -396
  170. package/dist/plugins.cjs.map +0 -1
  171. package/dist/plugins.d.cts +0 -231
  172. package/dist/plugins.d.ts +0 -231
  173. package/dist/plugins.js +0 -381
  174. package/dist/plugins.js.map +0 -1
  175. package/dist/preset.cjs +0 -129
  176. package/dist/preset.cjs.map +0 -1
  177. package/dist/theme.cjs +0 -154
  178. package/dist/theme.cjs.map +0 -1
  179. package/dist/turbopackLoader.cjs +0 -2689
  180. package/dist/turbopackLoader.cjs.map +0 -1
  181. package/dist/turbopackLoader.d.cts +0 -22
  182. package/dist/turbopackLoader.d.ts +0 -22
  183. package/dist/turbopackLoader.js +0 -2681
  184. package/dist/turbopackLoader.js.map +0 -1
  185. package/dist/vite.cjs +0 -105
  186. package/dist/vite.cjs.map +0 -1
  187. package/dist/vite.d.cts +0 -22
  188. package/dist/webpackLoader.cjs +0 -2670
  189. package/dist/webpackLoader.cjs.map +0 -1
  190. package/dist/webpackLoader.d.cts +0 -24
  191. package/dist/webpackLoader.d.ts +0 -24
  192. package/dist/webpackLoader.js +0 -2662
  193. package/dist/webpackLoader.js.map +0 -1
  194. /package/dist/{devtools.d.cts → devtools.d.mts} +0 -0
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/containerQuery.ts","../src/stateEngine.ts","../src/createComponent.ts","../src/cv.ts","../src/cx.ts","../src/liveTokenEngine.ts","../src/styledSystem.ts","../src/twProxy.ts","../src/twTheme.ts"],"names":["Component","_a","twMerge","t","cv","_b","_c","_d","setTokens"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * tailwind-styled-v4 — Container Query Engine\n *\n * Generates @container rules from a simple breakpoint config.\n *\n * Usage:\n * const Card = tw.div({\n * base: \"p-4\",\n * container: {\n * sm: \"flex-col\", // @container (min-width: 320px)\n * md: \"flex-row\", // @container (min-width: 640px)\n * lg: \"grid-cols-3\", // @container (min-width: 1024px)\n * },\n * containerName: \"card\",\n * })\n *\n * // Wrap with container context:\n * const CardWrapper = tw.div`@container`\n *\n * Named containers:\n * const SidebarCard = tw.div({\n * base: \"p-2\",\n * container: { lg: \"text-sm\" },\n * containerName: \"sidebar\",\n * })\n * // Generates: @container sidebar (min-width: 1024px) { ... }\n */\n\nimport type { ContainerConfig } from \"./types\"\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Breakpoint map — matches Tailwind defaults\n// ─────────────────────────────────────────────────────────────────────────────\n\nconst CONTAINER_BREAKPOINTS: Record<string, string> = {\n xs: \"240px\",\n sm: \"320px\",\n md: \"640px\",\n lg: \"1024px\",\n xl: \"1280px\",\n \"2xl\": \"1536px\",\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Registry\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport interface ContainerEntry {\n id: string\n tag: string\n containerName?: string\n breakpoints: Array<{ minWidth: string; classes: string }>\n cssInjected: boolean\n}\n\nconst containerRegistry = new Map<string, ContainerEntry>()\n\nif (typeof window !== \"undefined\") {\n ;(window as any).__TW_CONTAINER_REGISTRY__ = containerRegistry\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Hash\n// ─────────────────────────────────────────────────────────────────────────────\n\nfunction hashContainer(tag: string, container: ContainerConfig, name?: string): string {\n const key = tag + (name ?? \"\") + JSON.stringify(Object.entries(container).sort())\n let hash = 5381\n for (let i = 0; i < key.length; i++) {\n hash = ((hash << 5) + hash) ^ key.charCodeAt(i)\n }\n return `tw-cq-${Math.abs(hash).toString(36).slice(0, 6)}`\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// CSS generator\n// ─────────────────────────────────────────────────────────────────────────────\n\n/** Minimal Tailwind → CSS for container query contexts */\nconst LAYOUT_MAP: Record<string, string> = {\n \"flex-col\": \"flex-direction:column\",\n \"flex-row\": \"flex-direction:row\",\n \"flex-wrap\": \"flex-wrap:wrap\",\n \"flex-nowrap\": \"flex-wrap:nowrap\",\n \"flex-1\": \"flex:1 1 0%\",\n hidden: \"display:none\",\n block: \"display:block\",\n flex: \"display:flex\",\n grid: \"display:grid\",\n \"grid-cols-1\": \"grid-template-columns:repeat(1,minmax(0,1fr))\",\n \"grid-cols-2\": \"grid-template-columns:repeat(2,minmax(0,1fr))\",\n \"grid-cols-3\": \"grid-template-columns:repeat(3,minmax(0,1fr))\",\n \"grid-cols-4\": \"grid-template-columns:repeat(4,minmax(0,1fr))\",\n \"grid-cols-6\": \"grid-template-columns:repeat(6,minmax(0,1fr))\",\n \"grid-cols-12\": \"grid-template-columns:repeat(12,minmax(0,1fr))\",\n \"text-sm\": \"font-size:0.875rem;line-height:1.25rem\",\n \"text-base\": \"font-size:1rem;line-height:1.5rem\",\n \"text-lg\": \"font-size:1.125rem;line-height:1.75rem\",\n \"text-xl\": \"font-size:1.25rem;line-height:1.75rem\",\n \"text-2xl\": \"font-size:1.5rem;line-height:2rem\",\n \"text-xs\": \"font-size:0.75rem;line-height:1rem\",\n \"p-2\": \"padding:0.5rem\",\n \"p-4\": \"padding:1rem\",\n \"p-6\": \"padding:1.5rem\",\n \"p-8\": \"padding:2rem\",\n \"px-2\": \"padding-left:0.5rem;padding-right:0.5rem\",\n \"px-4\": \"padding-left:1rem;padding-right:1rem\",\n \"px-6\": \"padding-left:1.5rem;padding-right:1.5rem\",\n \"py-2\": \"padding-top:0.5rem;padding-bottom:0.5rem\",\n \"py-4\": \"padding-top:1rem;padding-bottom:1rem\",\n \"gap-2\": \"gap:0.5rem\",\n \"gap-4\": \"gap:1rem\",\n \"gap-6\": \"gap:1.5rem\",\n \"gap-8\": \"gap:2rem\",\n \"w-full\": \"width:100%\",\n \"w-1/2\": \"width:50%\",\n \"w-1/3\": \"width:33.333333%\",\n \"w-2/3\": \"width:66.666667%\",\n \"max-w-sm\": \"max-width:24rem\",\n \"max-w-md\": \"max-width:28rem\",\n \"max-w-lg\": \"max-width:32rem\",\n \"max-w-xl\": \"max-width:36rem\",\n \"items-center\": \"align-items:center\",\n \"items-start\": \"align-items:flex-start\",\n \"items-end\": \"align-items:flex-end\",\n \"justify-center\": \"justify-content:center\",\n \"justify-between\": \"justify-content:space-between\",\n \"justify-start\": \"justify-content:flex-start\",\n \"justify-end\": \"justify-content:flex-end\",\n}\n\nfunction layoutClassesToCss(classes: string): string {\n const decls: string[] = []\n for (const cls of classes.trim().split(/\\s+/)) {\n if (LAYOUT_MAP[cls]) decls.push(LAYOUT_MAP[cls])\n else if (cls.startsWith(\"w-[\")) {\n const val = cls.match(/\\[(.+)\\]/)?.[1]\n if (val) decls.push(`width:${val}`)\n } else if (cls.startsWith(\"max-w-[\")) {\n const val = cls.match(/\\[(.+)\\]/)?.[1]\n if (val) decls.push(`max-width:${val}`)\n }\n }\n return decls.join(\";\")\n}\n\nfunction buildContainerRules(\n id: string,\n container: ContainerConfig,\n containerName?: string\n): string {\n const rules: string[] = []\n\n for (const [key, value] of Object.entries(container)) {\n let minWidth: string\n let classes: string\n\n if (typeof value === \"string\") {\n minWidth = CONTAINER_BREAKPOINTS[key] ?? key\n classes = value\n } else {\n minWidth = value.minWidth ?? CONTAINER_BREAKPOINTS[key] ?? key\n classes = value.classes\n }\n\n const css = layoutClassesToCss(classes)\n if (!css) continue\n\n const query = containerName\n ? `@container ${containerName} (min-width: ${minWidth})`\n : `@container (min-width: ${minWidth})`\n\n rules.push(`${query}{.${id}{${css}}}`)\n }\n\n return rules.join(\"\\n\")\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Style injection\n// ─────────────────────────────────────────────────────────────────────────────\n\nfunction injectContainerStyles(\n id: string,\n container: ContainerConfig,\n containerName?: string\n): void {\n if (typeof document === \"undefined\") return\n const styleId = `tw-cq-${id}`\n if (document.getElementById(styleId)) return\n\n const css = buildContainerRules(id, container, containerName)\n if (!css) return\n\n // Try batched injector first (available when runtime-css is installed)\n try {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const { batchedInject } = require(\"@tailwind-styled/runtime-css/batched\") as {\n batchedInject: (css: string) => void\n }\n for (const rule of css.split(\"\\n\").filter(Boolean)) batchedInject(rule)\n return\n } catch {\n // Fallback: per-element style tag\n }\n\n const style = document.createElement(\"style\")\n style.id = styleId\n style.setAttribute(\"data-tw-container\", id)\n style.textContent = css\n document.head.appendChild(style)\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Public API\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport interface ContainerQueryResult {\n containerClass: string\n hasContainer: true\n}\n\nexport function processContainer(\n tag: string,\n container: ContainerConfig,\n containerName?: string\n): ContainerQueryResult {\n const id = hashContainer(tag, container, containerName)\n\n if (!containerRegistry.has(id)) {\n const breakpoints = Object.entries(container).map(([key, value]) => ({\n minWidth: CONTAINER_BREAKPOINTS[key] ?? key,\n classes: typeof value === \"string\" ? value : value.classes,\n }))\n containerRegistry.set(id, {\n id,\n tag,\n containerName,\n breakpoints,\n cssInjected: false,\n })\n }\n\n injectContainerStyles(id, container, containerName)\n containerRegistry.get(id)!.cssInjected = true\n\n return { containerClass: id, hasContainer: true }\n}\n\nexport function generateContainerCss(\n tag: string,\n container: ContainerConfig,\n containerName?: string\n): string {\n const id = hashContainer(tag, container, containerName)\n return buildContainerRules(id, container, containerName)\n}\n\nexport function getContainerRegistry(): Map<string, ContainerEntry> {\n return containerRegistry\n}\n","/**\n * tailwind-styled-v4 — Reactive State Engine\n *\n * Zero-JS CSS state management via data attributes.\n * No React re-render needed for style changes.\n *\n * How it works:\n * 1. tw.button({ state: { active: \"bg-blue-500\", loading: \"opacity-70\" } })\n * 2. State engine generates a unique class + injects CSS:\n * .tw-s-abc123[data-active=\"true\"] { @apply bg-blue-500; }\n * .tw-s-abc123[data-loading=\"true\"] { @apply opacity-70; }\n * 3. Component renders with the state class\n * 4. User sets data-active=\"true\" directly — no state needed\n *\n * Devtools integration:\n * All components register to __TW_STATE_REGISTRY__ for devtools inspection.\n */\n\nimport type { StateConfig } from \"./types\"\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Registry — tracks all state-enabled components\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport interface StateComponentEntry {\n id: string\n tag: string\n states: string[]\n cssInjected: boolean\n}\n\nconst stateRegistry = new Map<string, StateComponentEntry>()\n\nif (typeof window !== \"undefined\") {\n ;(window as any).__TW_STATE_REGISTRY__ = stateRegistry\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Deterministic hash — same config → same class (no re-injection on HMR)\n// ─────────────────────────────────────────────────────────────────────────────\n\nfunction hashState(tag: string, state: StateConfig): string {\n const key = tag + JSON.stringify(Object.entries(state).sort())\n let hash = 5381\n for (let i = 0; i < key.length; i++) {\n hash = ((hash << 5) + hash) ^ key.charCodeAt(i)\n }\n return `tw-s-${Math.abs(hash).toString(36).slice(0, 6)}`\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// CSS generator — Tailwind class → plain CSS via CSSOM\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Map Tailwind utility classes to inline CSS declarations.\n * Subset covers all common state-driven utilities.\n * For full coverage the compiler strips this and uses the real Tailwind engine.\n */\nconst TW_MAP: Record<string, string> = {\n // Display\n hidden: \"display:none\",\n block: \"display:block\",\n flex: \"display:flex\",\n inline: \"display:inline\",\n \"inline-flex\": \"display:inline-flex\",\n grid: \"display:grid\",\n // Opacity\n \"opacity-0\": \"opacity:0\",\n \"opacity-5\": \"opacity:0.05\",\n \"opacity-10\": \"opacity:0.1\",\n \"opacity-20\": \"opacity:0.2\",\n \"opacity-25\": \"opacity:0.25\",\n \"opacity-30\": \"opacity:0.3\",\n \"opacity-40\": \"opacity:0.4\",\n \"opacity-50\": \"opacity:0.5\",\n \"opacity-60\": \"opacity:0.6\",\n \"opacity-70\": \"opacity:0.7\",\n \"opacity-75\": \"opacity:0.75\",\n \"opacity-80\": \"opacity:0.8\",\n \"opacity-90\": \"opacity:0.9\",\n \"opacity-95\": \"opacity:0.95\",\n \"opacity-100\": \"opacity:1\",\n // Cursor\n \"cursor-pointer\": \"cursor:pointer\",\n \"cursor-not-allowed\": \"cursor:not-allowed\",\n \"cursor-default\": \"cursor:default\",\n \"cursor-wait\": \"cursor:wait\",\n \"cursor-move\": \"cursor:move\",\n \"cursor-grab\": \"cursor:grab\",\n \"cursor-grabbing\": \"cursor:grabbing\",\n // Pointer events\n \"pointer-events-none\": \"pointer-events:none\",\n \"pointer-events-auto\": \"pointer-events:auto\",\n // Scale\n \"scale-90\": \"transform:scale(0.9)\",\n \"scale-95\": \"transform:scale(0.95)\",\n \"scale-100\": \"transform:scale(1)\",\n \"scale-105\": \"transform:scale(1.05)\",\n \"scale-110\": \"transform:scale(1.1)\",\n // Translate\n \"translate-x-0\": \"transform:translateX(0)\",\n \"translate-y-0\": \"transform:translateY(0)\",\n \"-translate-x-1\": \"transform:translateX(-0.25rem)\",\n \"-translate-y-1\": \"transform:translateY(-0.25rem)\",\n \"translate-x-1\": \"transform:translateX(0.25rem)\",\n \"translate-y-1\": \"transform:translateY(0.25rem)\",\n // Ring\n ring: \"box-shadow:0 0 0 3px rgba(59,130,246,0.5)\",\n \"ring-2\": \"box-shadow:0 0 0 2px rgba(59,130,246,0.5)\",\n \"ring-4\": \"box-shadow:0 0 0 4px rgba(59,130,246,0.5)\",\n \"ring-inset\": \"box-shadow:inset 0 0 0 3px rgba(59,130,246,0.5)\",\n // Border\n border: \"border-width:1px\",\n \"border-2\": \"border-width:2px\",\n \"border-transparent\": \"border-color:transparent\",\n // Outline\n \"outline-none\": \"outline:2px solid transparent;outline-offset:2px\",\n outline: \"outline:2px solid currentColor\",\n // Overflow\n \"overflow-hidden\": \"overflow:hidden\",\n \"overflow-auto\": \"overflow:auto\",\n \"overflow-scroll\": \"overflow:scroll\",\n // Text decoration\n underline: \"text-decoration-line:underline\",\n \"no-underline\": \"text-decoration-line:none\",\n \"line-through\": \"text-decoration-line:line-through\",\n // Font weight\n \"font-bold\": \"font-weight:700\",\n \"font-semibold\": \"font-weight:600\",\n \"font-medium\": \"font-weight:500\",\n \"font-normal\": \"font-weight:400\",\n // Background colors (common)\n \"bg-transparent\": \"background-color:transparent\",\n \"bg-white\": \"background-color:#fff\",\n \"bg-black\": \"background-color:#000\",\n \"bg-blue-500\": \"background-color:rgb(59,130,246)\",\n \"bg-blue-600\": \"background-color:rgb(37,99,235)\",\n \"bg-red-500\": \"background-color:rgb(239,68,68)\",\n \"bg-green-500\": \"background-color:rgb(34,197,94)\",\n \"bg-yellow-500\": \"background-color:rgb(234,179,8)\",\n \"bg-zinc-900\": \"background-color:rgb(24,24,27)\",\n \"bg-zinc-800\": \"background-color:rgb(39,39,42)\",\n // Text colors\n \"text-white\": \"color:#fff\",\n \"text-black\": \"color:#000\",\n \"text-blue-500\": \"color:rgb(59,130,246)\",\n \"text-red-500\": \"color:rgb(239,68,68)\",\n \"text-zinc-400\": \"color:rgb(161,161,170)\",\n \"text-zinc-500\": \"color:rgb(113,113,122)\",\n}\n\nfunction twClassesToCss(classes: string): string {\n const decls: string[] = []\n for (const cls of classes.trim().split(/\\s+/)) {\n if (TW_MAP[cls]) decls.push(TW_MAP[cls])\n // Arbitrary values: bg-[#f00] color-[red]\n else if (cls.includes(\"[\") && cls.includes(\"]\")) {\n const val = cls.match(/\\[(.+)\\]/)?.[1]\n if (!val) continue\n if (cls.startsWith(\"bg-[\")) decls.push(`background-color:${val}`)\n else if (cls.startsWith(\"text-[\")) decls.push(`color:${val}`)\n else if (cls.startsWith(\"w-[\")) decls.push(`width:${val}`)\n else if (cls.startsWith(\"h-[\")) decls.push(`height:${val}`)\n else if (cls.startsWith(\"opacity-[\")) decls.push(`opacity:${val}`)\n }\n }\n return decls.join(\";\")\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Style injection — batched for performance (FIX CSS Rule Batching)\n// ─────────────────────────────────────────────────────────────────────────────\n\nfunction injectStateStyles(id: string, state: StateConfig): void {\n if (typeof document === \"undefined\") return\n\n const styleId = `tw-state-${id}`\n if (document.getElementById(styleId)) return // already injected\n\n const rules: string[] = []\n\n for (const [stateName, classes] of Object.entries(state)) {\n const css = twClassesToCss(classes)\n if (css) {\n rules.push(`.${id}[data-${stateName}=\"true\"]{${css}}`)\n }\n }\n\n if (rules.length === 0) return\n\n // Try batched injector first (available when runtime-css is installed)\n try {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const { batchedInject } = require(\"@tailwind-styled/runtime-css/batched\") as {\n batchedInject: (css: string) => void\n }\n for (const rule of rules) batchedInject(rule)\n return\n } catch {\n // Fallback: per-element style tag (original behavior)\n }\n\n const style = document.createElement(\"style\")\n style.id = styleId\n style.setAttribute(\"data-tw-state\", id)\n style.textContent = rules.join(\"\\n\")\n document.head.appendChild(style)\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Public API\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport interface StateEngineResult {\n /** CSS class to add to the component */\n stateClass: string\n /** Whether this component uses state (for SSR data attributes) */\n hasState: true\n /** List of state names (for devtools) */\n stateNames: string[]\n}\n\n/**\n * Process a StateConfig for a component.\n * Returns the state class and injects CSS (client-side only).\n */\nexport function processState(tag: string, state: StateConfig): StateEngineResult {\n const id = hashState(tag, state)\n const stateNames = Object.keys(state)\n\n // Register for devtools\n if (!stateRegistry.has(id)) {\n stateRegistry.set(id, {\n id,\n tag,\n states: stateNames,\n cssInjected: false,\n })\n }\n\n // Inject CSS (client only)\n injectStateStyles(id, state)\n\n // Mark as injected\n const entry = stateRegistry.get(id)!\n entry.cssInjected = true\n\n return { stateClass: id, hasState: true, stateNames }\n}\n\n/**\n * Generate SSR-safe CSS string for a state config.\n * Used by SSR to inject styles into <head>.\n */\nexport function generateStateCss(tag: string, state: StateConfig): string {\n const id = hashState(tag, state)\n const rules: string[] = []\n\n for (const [stateName, classes] of Object.entries(state)) {\n const css = twClassesToCss(classes)\n if (css) {\n rules.push(`.${id}[data-${stateName}=\"true\"]{${css}}`)\n }\n }\n\n return rules.join(\"\\n\")\n}\n\n/**\n * Get the state registry (for devtools).\n */\nexport function getStateRegistry(): Map<string, StateComponentEntry> {\n return stateRegistry\n}\n","/**\n * tailwind-styled-v4 v3 — createComponent\n *\n * v3 additions:\n * - StateEngine integration: state key → data-attr CSS\n * - ContainerQuery integration: container key → @container CSS\n *\n * Fixes from v2:\n * #03 — filterProps: dynamic based on actual variant keys\n * #07 — extend(): always use originalTag, not previous forwardRef wrapper\n */\n\nimport React from \"react\"\nimport { twMerge } from \"tailwind-merge\"\nimport { processContainer } from \"./containerQuery\"\nimport { processState } from \"./stateEngine\"\nimport type { ComponentConfig, TwStyledComponent } from \"./types\"\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Prop filter — FIX #03: dynamic based on actual variant keys\n// ─────────────────────────────────────────────────────────────────────────────\n\nconst ALWAYS_BLOCKED = new Set([\"base\", \"_ref\", \"state\", \"container\", \"containerName\"])\n\nfunction makeFilterProps(variantKeys: Set<string>) {\n return function filterProps(props: Record<string, any>): Record<string, any> {\n const out: Record<string, any> = {}\n for (const key in props) {\n if (variantKeys.has(key)) continue\n if (key.startsWith(\"$\")) continue\n if (ALWAYS_BLOCKED.has(key)) continue\n out[key] = props[key]\n }\n return out\n }\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Variant resolver\n// ─────────────────────────────────────────────────────────────────────────────\n\nfunction resolveVariants(\n variants: Record<string, Record<string, string>>,\n props: Record<string, any>,\n defaults: Record<string, string>\n): string {\n const classes: string[] = []\n for (const key in variants) {\n const val = props[key] ?? defaults[key]\n if (val !== undefined && variants[key][String(val)]) {\n classes.push(variants[key][String(val)])\n }\n }\n return classes.join(\" \")\n}\n\nfunction resolveCompound(\n compounds: Array<{ class: string; [key: string]: any }>,\n props: Record<string, any>\n): string {\n const classes: string[] = []\n for (const compound of compounds) {\n const { class: cls, ...conditions } = compound\n const match = Object.entries(conditions).every(([k, v]) => props[k] === v)\n if (match) classes.push(cls)\n }\n return classes.join(\" \")\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// createComponent\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport function createComponent<P extends object = Record<string, any>>(\n tag: any,\n config: string | ComponentConfig\n): TwStyledComponent<P> {\n const isStatic = typeof config === \"string\"\n\n const base = isStatic ? (config as string) : (config.base ?? \"\")\n const variants = isStatic ? {} : (config.variants ?? {})\n const compoundVariants = isStatic ? [] : (config.compoundVariants ?? [])\n const defaultVariants = isStatic ? {} : (config.defaultVariants ?? {})\n const stateConfig = isStatic ? undefined : config.state\n const containerConfig = isStatic ? undefined : config.container\n const containerName = isStatic ? undefined : config.containerName\n\n // Process state and container (injects CSS client-side)\n const stateResult = stateConfig\n ? processState(typeof tag === \"string\" ? tag : \"component\", stateConfig)\n : null\n const containerResult = containerConfig\n ? processContainer(typeof tag === \"string\" ? tag : \"component\", containerConfig, containerName)\n : null\n\n // Extra classes from state + container engines\n const engineClasses = [stateResult?.stateClass, containerResult?.containerClass]\n .filter(Boolean)\n .join(\" \")\n\n // FIX #03: build dynamic filter based on actual variant keys\n const variantKeySet = new Set(Object.keys(variants))\n const filterProps = makeFilterProps(variantKeySet)\n\n const tagStr = typeof tag === \"string\" ? tag : (tag.displayName ?? \"Component\")\n\n // ── static shortcut ───────────────────────────────────────────────────\n if (isStatic || Object.keys(variants).length === 0) {\n const Component = React.forwardRef<any, any>((props, ref) => {\n const { className, ...rest } = props\n return React.createElement(tag, {\n ref,\n ...filterProps(rest),\n className: twMerge(base, engineClasses, className),\n })\n })\n\n Component.displayName = `tw.${tagStr}`\n attachExtend(Component, tag, base, config)\n return Component as unknown as TwStyledComponent<P>\n }\n\n // ── variant path ──────────────────────────────────────────────────────\n const Component = React.forwardRef<any, any>((props, ref) => {\n const { className } = props\n const variantClasses = resolveVariants(variants, props, defaultVariants)\n const compoundClasses = resolveCompound(compoundVariants, props)\n\n return React.createElement(tag, {\n ref,\n ...filterProps(props),\n className: twMerge(base, variantClasses, compoundClasses, engineClasses, className),\n })\n })\n\n Component.displayName = `tw.${tagStr}`\n attachExtend(Component, tag, base, config)\n return Component as unknown as TwStyledComponent<P>\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// attachExtend — FIX #07\n// ─────────────────────────────────────────────────────────────────────────────\n\nfunction attachExtend(\n Component: any,\n originalTag: any,\n base: string,\n config: string | ComponentConfig\n) {\n Component.extend = (strings: TemplateStringsArray, ..._exprs: any[]) => {\n const extra = strings.raw.join(\"\").trim().replace(/\\s+/g, \" \")\n const merged = twMerge(base, extra)\n return createComponent(\n originalTag,\n typeof config === \"string\" ? merged : { ...(config as ComponentConfig), base: merged }\n )\n }\n\n Component.withVariants = (newConfig: Partial<ComponentConfig>) => {\n const existing = typeof config === \"object\" ? config : {}\n return createComponent(originalTag, {\n ...existing,\n base,\n variants: { ...(existing.variants ?? {}), ...(newConfig.variants ?? {}) },\n compoundVariants: [\n ...(existing.compoundVariants ?? []),\n ...(newConfig.compoundVariants ?? []),\n ],\n defaultVariants: {\n ...(existing.defaultVariants ?? {}),\n ...(newConfig.defaultVariants ?? {}),\n },\n })\n }\n\n // .animate() — integrates with @tailwind-styled/animate\n // Lazy require so animate package is optional\n Component.animate = (opts: any) => {\n try {\n const { animate: animateFn } =\n require(\"@tailwind-styled/animate\") as typeof import(\"@tailwind-styled/animate\")\n const animClass = animateFn(opts)\n const merged = twMerge(base, animClass)\n return createComponent(\n originalTag,\n typeof config === \"string\" ? merged : { ...(config as ComponentConfig), base: merged }\n )\n } catch {\n console.warn(\"[tailwind-styled-v4] .animate() requires @tailwind-styled/animate\")\n return Component\n }\n }\n}\n","/**\n * tailwind-styled-v4 v2 — cv()\n *\n * UPGRADE #3: cv() now infers exact variant values from config.\n *\n * Standalone class variant function — no React needed.\n * Compatible with shadcn/ui, Radix, Headless UI.\n *\n * @example\n * const button = cv({\n * base: \"px-4 py-2 rounded-lg\",\n * variants: { size: { sm: \"text-sm\", lg: \"text-lg\" } },\n * defaultVariants: { size: \"sm\" }\n * })\n *\n * // BEFORE: button({ size: \"xl\" }) — no error (size was string)\n * // AFTER: button({ size: \"xl\" }) — TypeScript ERROR: \"xl\" not in \"sm\" | \"lg\" ✓\n *\n * button({ size: \"lg\" }) → \"px-4 py-2 rounded-lg text-lg\"\n */\n\nimport { twMerge } from \"tailwind-merge\"\nimport type { ComponentConfig, CvFn, InferVariantProps } from \"./types\"\n\nexport function cv<C extends ComponentConfig>(config: C): CvFn<C> {\n const { base = \"\", variants = {}, compoundVariants = [], defaultVariants = {} } = config\n\n return (\n props: InferVariantProps<C> & { className?: string } & Record<string, any> = {} as any\n ): string => {\n const classes: string[] = [base]\n\n for (const key in variants) {\n const val = (props as any)[key] ?? defaultVariants[key]\n if (val !== undefined && (variants as any)[key][String(val)]) {\n classes.push((variants as any)[key][String(val)])\n }\n }\n\n for (const compound of compoundVariants) {\n const { class: cls, ...conditions } = compound\n const match = Object.entries(conditions).every(([k, v]) => (props as any)[k] === v)\n if (match) classes.push(cls)\n }\n\n if (props.className) classes.push(props.className)\n\n return twMerge(...classes)\n }\n}\n","/**\n * tailwind-styled-v4 v2 — cx / cn\n *\n * FIX #09: Rename for clarity — behavior was confusing with two near-identical utils.\n *\n * BEFORE:\n * cx() → simple join, no conflict resolution → cx(\"p-4\", \"p-8\") = \"p-4 p-8\" (WRONG)\n * cxm() → twMerge, correct — but obscure name\n *\n * AFTER:\n * cn() → simple join (for cases where you know there's no conflict)\n * cx() → twMerge-powered, conflict-aware (recommended for most use cases)\n * cxm() → kept as alias for cx() for backward compat\n */\n\nimport { twMerge } from \"tailwind-merge\"\n\ntype ClassValue = string | undefined | null | false | 0\n\n/**\n * cn — simple class name joiner (no conflict resolution).\n * Use when you know classes don't conflict.\n *\n * FIX #09: Previously named `cx`. Renamed to `cn` for clarity.\n *\n * @example cn(\"p-4\", isActive && \"opacity-100\") → \"p-4 opacity-100\"\n */\nexport function cn(...inputs: ClassValue[]): string {\n return inputs.filter(Boolean).join(\" \").replace(/\\s+/g, \" \").trim()\n}\n\n/**\n * cx — conflict-aware class merger using tailwind-merge.\n * Recommended for combining Tailwind classes where conflicts are possible.\n *\n * FIX #09: Previously named `cxm`. Renamed to `cx` as the primary utility.\n *\n * @example cx(\"p-4 p-8\") → \"p-8\" (conflict resolved, last wins)\n * @example cx(\"bg-red-500\", \"bg-blue-500\") → \"bg-blue-500\"\n */\nexport function cx(...inputs: ClassValue[]): string {\n return twMerge(...(inputs.filter(Boolean) as string[]))\n}\n\n/**\n * cxm — alias for cx(), kept for backward compatibility.\n * @deprecated Use cx() instead.\n */\nexport const cxm = cx\n","/**\n * tailwind-styled-v4 — Live Token Engine\n *\n * Runtime design token management via CSS custom properties.\n * Theme changes propagate instantly — no rebuild, no re-render.\n *\n * Usage:\n * import { liveToken, setToken, setTokens, subscribeTokens } from \"tailwind-styled-v4\"\n *\n * // Define tokens (injected as CSS vars on first call)\n * const theme = liveToken({\n * primary: \"#3b82f6\",\n * secondary: \"#6366f1\",\n * accent: \"#f59e0b\",\n * surface: \"#18181b\",\n * \"text-base\": \"#e4e4e7\",\n * })\n *\n * // Use in components\n * const Button = tw.button`\n * bg-[var(--tw-token-primary)]\n * text-[var(--tw-token-text-base)]\n * `\n *\n * // Update at runtime (instant, no rebuild)\n * setToken(\"primary\", \"#ef4444\") // single token\n * setTokens({ primary: \"#ef4444\", secondary: \"#ec4899\" }) // batch\n *\n * // Switch themes\n * applyTokenSet(darkTheme)\n *\n * // Subscribe to changes\n * const unsub = subscribeTokens((tokens) => {\n * console.log(\"theme changed\", tokens)\n * })\n *\n * Token CSS variable naming:\n * token(\"primary\") → var(--tw-token-primary)\n * token(\"text-base\") → var(--tw-token-text-base)\n */\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Types\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport type TokenMap = Record<string, string>\n\nexport interface LiveTokenSet {\n /** Token name → CSS variable name mapping */\n vars: Record<string, string>\n /** Get current value of a token */\n get(name: string): string | undefined\n /** Update a single token */\n set(name: string, value: string): void\n /** Update multiple tokens at once */\n setAll(tokens: TokenMap): void\n /** Snapshot of current values */\n snapshot(): TokenMap\n}\n\nexport type TokenSubscriber = (tokens: TokenMap) => void\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Internal state\n// ─────────────────────────────────────────────────────────────────────────────\n\nlet _currentTokens: TokenMap = {}\nconst _subscribers = new Set<TokenSubscriber>()\nlet _styleEl: HTMLStyleElement | null = null\n\n// Devtools integration\nif (typeof window !== \"undefined\") {\n ;(window as any).__TW_TOKEN_ENGINE__ = {\n getTokens: () => _currentTokens,\n setToken: (name: string, value: string) => setToken(name, value),\n subscribe: (fn: TokenSubscriber) => subscribeTokens(fn),\n }\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// CSS variable name\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport function tokenVar(name: string): string {\n const normalized = name.replace(/[^a-zA-Z0-9-]/g, \"-\").toLowerCase()\n return `--tw-token-${normalized}`\n}\n\nexport function tokenRef(name: string): string {\n return `var(${tokenVar(name)})`\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Style injection\n// ─────────────────────────────────────────────────────────────────────────────\n\nfunction buildRootCss(tokens: TokenMap): string {\n const vars = Object.entries(tokens)\n .map(([name, value]) => ` ${tokenVar(name)}: ${value};`)\n .join(\"\\n\")\n return `:root {\\n${vars}\\n}`\n}\n\nfunction syncStyleEl(): void {\n if (typeof document === \"undefined\") return\n\n if (!_styleEl) {\n _styleEl = document.createElement(\"style\")\n _styleEl.id = \"tw-live-tokens\"\n _styleEl.setAttribute(\"data-tw-tokens\", \"true\")\n document.head.appendChild(_styleEl)\n }\n\n _styleEl.textContent = buildRootCss(_currentTokens)\n}\n\nfunction notifySubscribers(): void {\n const snapshot = { ..._currentTokens }\n for (const sub of _subscribers) {\n try {\n sub(snapshot)\n } catch (_e) {\n /* silent */\n }\n }\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Core API\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Define a set of live tokens and inject them as CSS variables.\n * Returns a LiveTokenSet for programmatic control.\n *\n * @example\n * const theme = liveToken({ primary: \"#3b82f6\" })\n * theme.set(\"primary\", \"#ef4444\") // instant update\n */\nexport function liveToken(tokens: TokenMap): LiveTokenSet {\n // Merge into current token map\n _currentTokens = { ..._currentTokens, ...tokens }\n syncStyleEl()\n\n const vars: Record<string, string> = {}\n for (const name of Object.keys(tokens)) {\n vars[name] = tokenRef(name)\n }\n\n return {\n vars,\n get(name) {\n return _currentTokens[name]\n },\n set(name, value) {\n setToken(name, value)\n },\n setAll(newTokens) {\n setTokens(newTokens)\n },\n snapshot() {\n return { ..._currentTokens }\n },\n }\n}\n\n/**\n * Update a single design token at runtime.\n * CSS variable is updated immediately — no rebuild needed.\n */\nexport function setToken(name: string, value: string): void {\n _currentTokens = { ..._currentTokens, [name]: value }\n\n // Fast path: update CSSOM directly if possible\n if (typeof document !== \"undefined\") {\n document.documentElement.style.setProperty(tokenVar(name), value)\n }\n\n notifySubscribers()\n}\n\n/**\n * Update multiple tokens in one batch (single DOM update).\n */\nexport function setTokens(tokens: TokenMap): void {\n _currentTokens = { ..._currentTokens, ...tokens }\n\n if (typeof document !== \"undefined\") {\n const root = document.documentElement\n for (const [name, value] of Object.entries(tokens)) {\n root.style.setProperty(tokenVar(name), value)\n }\n }\n\n notifySubscribers()\n}\n\n/**\n * Replace all tokens with a new token set (theme switch).\n */\nexport function applyTokenSet(tokens: TokenMap): void {\n // Remove old vars\n if (typeof document !== \"undefined\") {\n const root = document.documentElement\n for (const name of Object.keys(_currentTokens)) {\n if (!(name in tokens)) {\n root.style.removeProperty(tokenVar(name))\n }\n }\n }\n\n _currentTokens = { ...tokens }\n syncStyleEl()\n notifySubscribers()\n}\n\n/**\n * Get current value of a token.\n */\nexport function getToken(name: string): string | undefined {\n return _currentTokens[name]\n}\n\n/**\n * Get snapshot of all current tokens.\n */\nexport function getTokens(): TokenMap {\n return { ..._currentTokens }\n}\n\n/**\n * Subscribe to token changes.\n * Returns unsubscribe function.\n *\n * @example\n * const unsub = subscribeTokens((tokens) => {\n * document.documentElement.classList.toggle(\"dark\", tokens.surface === \"#000\")\n * })\n * // Later:\n * unsub()\n */\nexport function subscribeTokens(fn: TokenSubscriber): () => void {\n _subscribers.add(fn)\n return () => {\n _subscribers.delete(fn)\n }\n}\n\n/**\n * Generate SSR-safe CSS string for current tokens.\n */\nexport function generateTokenCssString(): string {\n return buildRootCss(_currentTokens)\n}\n\n/**\n * React hook for reading live tokens (re-renders on change).\n * Import from tailwind-styled-v4/react.\n */\nexport function createUseTokens() {\n // Lazy import React to avoid issues in non-React environments\n let useState: any, useEffect: any\n try {\n const react = require(\"react\")\n useState = react.useState\n useEffect = react.useEffect\n } catch {\n return null\n }\n\n return function useTokens(): TokenMap {\n const [tokens, setTokens_] = (useState as <S>(init: S) => [S, (v: S) => void])<TokenMap>({\n ..._currentTokens,\n })\n\n useEffect(() => {\n // Sync on mount\n setTokens_({ ..._currentTokens })\n const unsub = subscribeTokens((t) => setTokens_({ ...t }))\n return unsub\n }, [])\n\n return tokens\n }\n}\n","/**\n * tailwind-styled-v4 — createStyledSystem()\n *\n * Design System Factory — Mode 3 API.\n *\n * Level 1 — utility: tw.div`p-4`\n * Level 2 — styled: tw(Button)`px-4`\n * Level 3 — design system: ui.button({ variant: \"primary\" })\n *\n * Usage:\n * const ui = createStyledSystem({\n * tokens: {\n * colors: { primary: \"#6366f1\", muted: \"#71717a\" },\n * radius: { base: \"0.5rem\", full: \"9999px\" },\n * },\n * components: {\n * button: {\n * base: \"inline-flex items-center font-medium transition-colors\",\n * variants: {\n * variant: {\n * primary: \"bg-[var(--sys-color-primary)] text-white\",\n * ghost: \"bg-transparent border border-current\",\n * danger: \"bg-red-500 text-white\",\n * },\n * size: {\n * sm: \"h-8 px-3 text-sm\",\n * md: \"h-10 px-4 text-base\",\n * lg: \"h-12 px-6 text-lg\",\n * },\n * },\n * defaultVariants: { variant: \"primary\", size: \"md\" },\n * },\n * },\n * })\n *\n * const Button = ui.button()\n * // → <Button variant=\"primary\" size=\"lg\" />\n *\n * // Token access\n * ui.token(\"colors.primary\") // → \"var(--sys-color-primary)\"\n * ui.cssVar(\"colors.primary\") // → \"#6366f1\"\n */\n\nimport { createComponent } from \"./createComponent\"\nimport type { ComponentConfig, TwStyledComponent } from \"./types\"\n\n// ─────────────────────────────────────────────────────────────────────────────\n// System token types\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport type SystemTokenMap = Record<string, Record<string, string>>\n\nexport interface SystemComponentConfig extends ComponentConfig {\n /** Extra class applied only when used from the system (e.g. system-level resets) */\n systemBase?: string\n}\n\nexport interface StyledSystemConfig<\n T extends SystemTokenMap = SystemTokenMap,\n C extends Record<string, SystemComponentConfig> = Record<string, SystemComponentConfig>,\n> {\n /** Design tokens — injected as CSS custom properties under --sys-{group}-{name} */\n tokens?: T\n /** Component presets */\n components?: C\n /** CSS variable prefix. Default: \"sys\" → --sys-color-primary */\n prefix?: string\n /** If true, auto-inject token CSS vars into :root on init. Default: true */\n injectTokens?: boolean\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Token → CSS var helpers\n// ─────────────────────────────────────────────────────────────────────────────\n\nfunction tokenVarName(prefix: string, group: string, name: string): string {\n return `--${prefix}-${group}-${name}`\n}\n\nfunction tokenVarRef(prefix: string, group: string, name: string): string {\n return `var(${tokenVarName(prefix, group, name)})`\n}\n\nfunction resolveTokenRef(tokens: SystemTokenMap, prefix: string, value: string): string {\n // If value is \"token:colors.primary\" → resolve to var(--sys-colors-primary)\n if (value.startsWith(\"token:\")) {\n const path = value.slice(6)\n const [group, name] = path.split(\".\")\n if (group && name && tokens[group]?.[name] !== undefined) {\n return tokenVarRef(prefix, group, name)\n }\n }\n return value\n}\n\nfunction injectTokensToRoot(tokens: SystemTokenMap, prefix: string): void {\n if (typeof document === \"undefined\") return\n\n const styleId = `__tw-sys-tokens-${prefix}`\n if (document.getElementById(styleId)) return\n\n const lines: string[] = [\":root {\"]\n for (const [group, map] of Object.entries(tokens)) {\n for (const [name, value] of Object.entries(map)) {\n lines.push(` ${tokenVarName(prefix, group, name)}: ${value};`)\n }\n }\n lines.push(\"}\")\n\n const style = document.createElement(\"style\")\n style.id = styleId\n style.textContent = lines.join(\"\\n\")\n document.head.appendChild(style)\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Variant class resolver — replaces \"token:*\" references inside variant values\n// ─────────────────────────────────────────────────────────────────────────────\n\nfunction resolveComponentConfig(\n config: SystemComponentConfig,\n tokens: SystemTokenMap,\n prefix: string\n): ComponentConfig {\n const resolveStr = (s: string) => resolveTokenRef(tokens, prefix, s)\n\n const base = resolveStr(config.base ?? \"\")\n const systemBase = resolveStr(config.systemBase ?? \"\")\n const mergedBase = [systemBase, base].filter(Boolean).join(\" \")\n\n const variants: Record<string, Record<string, string>> = {}\n for (const [variantKey, variantMap] of Object.entries(config.variants ?? {})) {\n variants[variantKey] = {}\n for (const [optKey, classes] of Object.entries(variantMap)) {\n variants[variantKey][optKey] = classes.split(\" \").map(resolveStr).join(\" \")\n }\n }\n\n const compoundVariants = (config.compoundVariants ?? []).map((cv) => {\n const { class: cls, ...rest } = cv\n return { class: resolveStr(cls), ...rest }\n })\n\n return {\n base: mergedBase,\n variants,\n compoundVariants,\n defaultVariants: config.defaultVariants ?? {},\n state: config.state,\n container: config.container,\n containerName: config.containerName,\n }\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// StyledSystem instance type\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport type SystemComponentFactory<C extends SystemComponentConfig> = (\n overrides?: Partial<C>\n) => TwStyledComponent<any>\n\nexport type StyledSystemInstance<\n T extends SystemTokenMap,\n C extends Record<string, SystemComponentConfig>,\n> = {\n [K in keyof C]: SystemComponentFactory<C[K]>\n} & {\n /**\n * Get the CSS variable reference for a token.\n * @example ui.token(\"colors.primary\") → \"var(--sys-colors-primary)\"\n */\n token(path: string): string\n /**\n * Get the raw value of a token.\n * @example ui.rawToken(\"colors.primary\") → \"#6366f1\"\n */\n rawToken(path: string): string | undefined\n /**\n * Update token values at runtime (re-injects into :root).\n */\n setTokens(updates: Partial<{ [G in keyof T]: Partial<T[G]> }>): void\n /**\n * Access the resolved component config for a registered component.\n */\n getConfig(name: keyof C): ComponentConfig | undefined\n /**\n * The tokens object (for reference).\n */\n tokens: T\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// createStyledSystem\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport function createStyledSystem<\n T extends SystemTokenMap = SystemTokenMap,\n C extends Record<string, SystemComponentConfig> = Record<string, SystemComponentConfig>,\n>(config: StyledSystemConfig<T, C>): StyledSystemInstance<T, C> {\n const prefix = config.prefix ?? \"sys\"\n const tokens = (config.tokens ?? {}) as unknown as T\n const componentDefs = config.components ?? ({} as C)\n const shouldInject = config.injectTokens !== false\n\n // Inject tokens into :root on first call (client only)\n if (shouldInject && typeof window !== \"undefined\") {\n injectTokensToRoot(tokens as unknown as SystemTokenMap, prefix)\n }\n\n // Cache resolved component configs\n const resolvedConfigs = new Map<string, ComponentConfig>()\n\n for (const [name, compCfg] of Object.entries(componentDefs)) {\n resolvedConfigs.set(\n name,\n resolveComponentConfig(compCfg, tokens as unknown as SystemTokenMap, prefix)\n )\n }\n\n // Build component factories\n const factories: Record<string, SystemComponentFactory<any>> = {}\n\n for (const [name, compCfg] of Object.entries(componentDefs)) {\n const tag = (compCfg as any).tag ?? \"div\"\n\n factories[name] = (overrides?: Partial<SystemComponentConfig>) => {\n const baseResolved = resolvedConfigs.get(name)!\n\n if (!overrides || Object.keys(overrides).length === 0) {\n return createComponent(tag, baseResolved)\n }\n\n // Merge overrides into resolved config\n const overrideResolved = resolveComponentConfig(\n overrides as SystemComponentConfig,\n tokens as unknown as SystemTokenMap,\n prefix\n )\n\n const merged: ComponentConfig = {\n base: [baseResolved.base, overrideResolved.base].filter(Boolean).join(\" \"),\n variants: {\n ...(baseResolved.variants ?? {}),\n ...(overrideResolved.variants ?? {}),\n },\n compoundVariants: [\n ...(baseResolved.compoundVariants ?? []),\n ...(overrideResolved.compoundVariants ?? []),\n ],\n defaultVariants: {\n ...(baseResolved.defaultVariants ?? {}),\n ...(overrideResolved.defaultVariants ?? {}),\n },\n state: overrideResolved.state ?? baseResolved.state,\n container: overrideResolved.container ?? baseResolved.container,\n containerName: overrideResolved.containerName ?? baseResolved.containerName,\n }\n\n return createComponent(tag, merged)\n }\n }\n\n // Token utilities\n function token(path: string): string {\n const [group, name] = path.split(\".\")\n if (!group || !name) return path\n return tokenVarRef(prefix, group, name)\n }\n\n function rawToken(path: string): string | undefined {\n const [group, name] = path.split(\".\")\n if (!group || !name) return undefined\n return (tokens as unknown as SystemTokenMap)[group]?.[name]\n }\n\n function setTokens(updates: Partial<{ [G in keyof T]: Partial<T[G]> }>): void {\n if (typeof document === \"undefined\") return\n\n // Find or create the :root style element\n const styleId = `__tw-sys-tokens-${prefix}`\n let style = document.getElementById(styleId) as HTMLStyleElement | null\n if (!style) {\n style = document.createElement(\"style\")\n style.id = styleId\n document.head.appendChild(style)\n }\n\n // Merge updates into tokens and re-generate\n for (const [group, map] of Object.entries(updates)) {\n if (!tokens[group as keyof T]) continue\n for (const [name, value] of Object.entries(map as Record<string, string>)) {\n ;(tokens as unknown as SystemTokenMap)[group][name] = value\n }\n }\n\n const lines: string[] = [\":root {\"]\n for (const [group, map] of Object.entries(tokens as unknown as SystemTokenMap)) {\n for (const [name, value] of Object.entries(map)) {\n lines.push(` ${tokenVarName(prefix, group, name)}: ${value};`)\n }\n }\n lines.push(\"}\")\n style.textContent = lines.join(\"\\n\")\n }\n\n function getConfig(name: keyof C): ComponentConfig | undefined {\n return resolvedConfigs.get(name as string)\n }\n\n return Object.assign(factories, {\n token,\n rawToken,\n setTokens,\n getConfig,\n tokens,\n }) as unknown as StyledSystemInstance<T, C>\n}\n","/**\n * tailwind-styled-v4 v2 — tw\n *\n * API:\n * tw.div`p-4 bg-zinc-900`\n * tw.button({ base: \"px-4\", variants: { size: { sm: \"text-sm\" } } })\n * tw(Link)`underline text-blue-400`\n * tw.server.div`p-4` ← server-only, compiler enforced + runtime dev warning\n */\n\nimport type React from \"react\"\nimport { createComponent } from \"./createComponent\"\nimport type {\n ComponentConfig,\n TwComponentFactory,\n TwObject,\n TwServerObject,\n TwStyledComponent,\n TwTagFactory,\n} from \"./types\"\n\n// types.ts is single source of truth — re-export for consumers\nexport type { TwTagFactory, TwComponentFactory, TwObject, TwServerObject }\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Template parser\n// ─────────────────────────────────────────────────────────────────────────────\n\nfunction parseTemplate(strings: TemplateStringsArray, exprs: any[]): string {\n return strings.raw\n .reduce((acc, str, i) => {\n const expr = exprs[i]\n const exprStr = typeof expr === \"function\" ? \"\" : (expr ?? \"\")\n return acc + str + String(exprStr)\n }, \"\")\n .split(\"\\n\")\n .map((l) => l.trim())\n .filter(Boolean)\n .join(\" \")\n .replace(/\\s+/g, \" \")\n .trim()\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// makeTag\n// ─────────────────────────────────────────────────────────────────────────────\n\nfunction makeTag(tag: any): TwTagFactory<any> {\n return ((\n stringsOrConfig: TemplateStringsArray | ComponentConfig,\n ...exprs: any[]\n ): TwStyledComponent<any> => {\n if (\n !Array.isArray(stringsOrConfig) &&\n typeof stringsOrConfig === \"object\" &&\n stringsOrConfig !== null &&\n !(\"raw\" in stringsOrConfig)\n ) {\n return createComponent(tag, stringsOrConfig as ComponentConfig)\n }\n const classes = parseTemplate(stringsOrConfig as TemplateStringsArray, exprs)\n return createComponent(tag, classes)\n }) as TwTagFactory<any>\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// HTML tag list\n// ─────────────────────────────────────────────────────────────────────────────\n\nconst HTML_TAGS = [\n \"div\",\n \"section\",\n \"article\",\n \"aside\",\n \"header\",\n \"footer\",\n \"main\",\n \"nav\",\n \"figure\",\n \"figcaption\",\n \"details\",\n \"summary\",\n \"h1\",\n \"h2\",\n \"h3\",\n \"h4\",\n \"h5\",\n \"h6\",\n \"p\",\n \"span\",\n \"strong\",\n \"em\",\n \"b\",\n \"i\",\n \"s\",\n \"u\",\n \"small\",\n \"mark\",\n \"abbr\",\n \"cite\",\n \"code\",\n \"kbd\",\n \"samp\",\n \"var\",\n \"time\",\n \"address\",\n \"blockquote\",\n \"q\",\n \"del\",\n \"ins\",\n \"sub\",\n \"sup\",\n \"ul\",\n \"ol\",\n \"li\",\n \"dl\",\n \"dt\",\n \"dd\",\n \"table\",\n \"thead\",\n \"tbody\",\n \"tfoot\",\n \"tr\",\n \"th\",\n \"td\",\n \"caption\",\n \"colgroup\",\n \"col\",\n \"img\",\n \"picture\",\n \"video\",\n \"audio\",\n \"source\",\n \"track\",\n \"canvas\",\n \"svg\",\n \"path\",\n \"circle\",\n \"rect\",\n \"line\",\n \"polyline\",\n \"polygon\",\n \"g\",\n \"defs\",\n \"use\",\n \"symbol\",\n \"form\",\n \"input\",\n \"textarea\",\n \"select\",\n \"option\",\n \"optgroup\",\n \"button\",\n \"label\",\n \"fieldset\",\n \"legend\",\n \"output\",\n \"progress\",\n \"meter\",\n \"datalist\",\n \"a\",\n \"area\",\n \"map\",\n \"iframe\",\n \"embed\",\n \"object\",\n \"pre\",\n \"hr\",\n \"br\",\n \"wbr\",\n \"dialog\",\n \"menu\",\n \"template\",\n \"slot\",\n] as const\n\n// ─────────────────────────────────────────────────────────────────────────────\n// tw.server — server-only namespace with dev warning\n// ─────────────────────────────────────────────────────────────────────────────\n\nfunction makeServerTag(tag: any): TwTagFactory<any> {\n const baseFactory = makeTag(tag)\n if (typeof window !== \"undefined\" && process.env.NODE_ENV !== \"production\") {\n return ((...args: any[]): TwStyledComponent<any> => {\n const tagName = typeof tag === \"string\" ? tag : (tag.displayName ?? \"Component\")\n console.warn(\n `[tailwind-styled-v4] tw.server.${tagName} rendered in browser. ` +\n `Ensure withTailwindStyled or Vite plugin is configured.`\n )\n return (baseFactory as any)(...args)\n }) as TwTagFactory<any>\n }\n return baseFactory\n}\n\n// Build server namespace — explicit type annotation so DTS bundler doesn't\n// flatten it to Readonly<{}> (which happens with Object.freeze)\nconst serverFactories: { [K: string]: TwTagFactory<any> } = {}\nfor (const tag of HTML_TAGS) {\n serverFactories[tag] = makeServerTag(tag)\n}\n\nexport const server: TwServerObject = serverFactories as unknown as TwServerObject\n\n// ─────────────────────────────────────────────────────────────────────────────\n// tw — main export\n// ─────────────────────────────────────────────────────────────────────────────\n\nconst tagFactories: { [K: string]: TwTagFactory<any> } = {}\nfor (const tag of HTML_TAGS) {\n tagFactories[tag] = makeTag(tag)\n}\n\nfunction twCallable<C extends React.ComponentType<any>>(component: C): TwComponentFactory<C> {\n return makeTag(component) as any\n}\n\n// Explicit type annotation — TypeScript uses TwObject, DTS bundler inlines it correctly\nexport const tw: TwObject = Object.assign(twCallable as any, tagFactories, {\n server,\n}) as unknown as TwObject\n","/**\n * tailwind-styled-v4 v2 — twTheme\n *\n * UPGRADE #1: Tailwind v4 CSS Variables integration.\n *\n * Tailwind v4 uses @theme inline to expose design tokens as CSS custom properties:\n * @theme inline {\n * --color-background: var(--background);\n * --color-foreground: var(--foreground);\n * --font-sans: var(--font-geist-sans);\n * }\n *\n * This module bridges tw() syntax with those CSS variables — zero config,\n * full IDE support, type-safe design tokens.\n *\n * @example\n * // Without twTheme (verbose, error-prone)\n * const Box = tw.div`bg-[var(--color-background)] text-[var(--color-foreground)]`\n *\n * // With twTheme (clean, type-safe)\n * const Box = tw.div`${t.bg(\"color-background\")} ${t.text(\"color-foreground\")}`\n *\n * // Or with createTheme for full project-level token map\n * const theme = createTheme({\n * colors: { bg: \"color-background\", fg: \"color-foreground\", primary: \"color-primary\" },\n * fonts: { sans: \"font-sans\", mono: \"font-mono\" },\n * })\n * const Box = tw.div`bg-${theme.colors.bg} text-${theme.colors.fg}`\n */\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Core helper — CSS variable reference\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Reference a CSS custom property in Tailwind v4 arbitrary value syntax.\n *\n * @example\n * cssVar(\"color-background\") → \"var(--color-background)\"\n * cssVar(\"color-primary\", \"#3b82f6\") → \"var(--color-primary, #3b82f6)\"\n */\nexport function cssVar(varName: string, fallback?: string): string {\n const name = varName.startsWith(\"--\") ? varName : `--${varName}`\n return fallback ? `var(${name}, ${fallback})` : `var(${name})`\n}\n\n/**\n * Generate a Tailwind v4 arbitrary value that references a CSS variable.\n *\n * @example\n * twVar(\"bg\", \"color-background\") → \"bg-[var(--color-background)]\"\n * twVar(\"text\", \"color-foreground\") → \"text-[var(--color-foreground)]\"\n * twVar(\"border\", \"color-border\", \"#e5e7eb\") → \"border-[var(--color-border,#e5e7eb)]\"\n */\nexport function twVar(property: string, varName: string, fallback?: string): string {\n const ref = fallback ? `var(--${varName},${fallback})` : `var(--${varName})`\n return `${property}-[${ref}]`\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Convenience shorthand builders\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport const t = {\n /** Background color from CSS variable: t.bg(\"color-primary\") → \"bg-[var(--color-primary)]\" */\n bg: (v: string, fb?: string) => twVar(\"bg\", v, fb),\n /** Text color from CSS variable */\n text: (v: string, fb?: string) => twVar(\"text\", v, fb),\n /** Border color from CSS variable */\n border: (v: string, fb?: string) => twVar(\"border\", v, fb),\n /** Ring color from CSS variable */\n ring: (v: string, fb?: string) => twVar(\"ring\", v, fb),\n /** Outline color from CSS variable */\n outline: (v: string, fb?: string) => twVar(\"outline\", v, fb),\n /** Fill color from CSS variable (SVG) */\n fill: (v: string, fb?: string) => twVar(\"fill\", v, fb),\n /** Stroke color from CSS variable (SVG) */\n stroke: (v: string, fb?: string) => twVar(\"stroke\", v, fb),\n /** Font family from CSS variable */\n font: (v: string, fb?: string) => twVar(\"font\", v, fb),\n /** Shadow from CSS variable */\n shadow: (v: string, fb?: string) => twVar(\"shadow\", v, fb),\n /** Any arbitrary property from CSS variable */\n var: (property: string, v: string, fb?: string) => twVar(property, v, fb),\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// createTheme — project-level design token map\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport interface ThemeTokenMap {\n colors?: Record<string, string>\n fonts?: Record<string, string>\n spacing?: Record<string, string>\n [key: string]: Record<string, string> | undefined\n}\n\nexport type ResolvedThemeTokens<T extends ThemeTokenMap> = {\n [Group in keyof T]: T[Group] extends Record<string, string>\n ? {\n [Token in keyof T[Group]]: string\n }\n : never\n}\n\n/**\n * Create a typed theme token map from your CSS variable names.\n * Returns helper functions that generate Tailwind v4 arbitrary values.\n *\n * @example\n * // Define your tokens (match your globals.css @theme block)\n * const theme = createTheme({\n * colors: {\n * bg: \"color-background\",\n * fg: \"color-foreground\",\n * primary: \"color-primary\",\n * muted: \"color-muted\",\n * },\n * fonts: {\n * sans: \"font-sans\",\n * mono: \"font-mono\",\n * },\n * })\n *\n * // Use in tw components\n * const Card = tw.div`\n * bg-${theme.colors.bg}\n * text-${theme.colors.fg}\n * font-${theme.fonts.sans}\n * `\n * // → tw.div`bg-[var(--color-background)] text-[var(--color-foreground)] font-[var(--font-sans)]`\n *\n * // Use in cv()\n * const button = cv({\n * base: `px-4 py-2 ${theme.colors.bg} ${theme.colors.fg}`,\n * variants: { ... }\n * })\n */\nexport function createTheme<T extends ThemeTokenMap>(tokenMap: T): ResolvedThemeTokens<T> {\n const resolved = {} as any\n\n for (const group in tokenMap) {\n resolved[group] = {}\n const tokens = tokenMap[group]!\n for (const name in tokens) {\n const varName = tokens[name]\n // Determine Tailwind property prefix based on group name\n const prefix = getGroupPrefix(group)\n resolved[group][name] = prefix ? twVar(prefix, varName) : cssVar(varName)\n }\n }\n\n return resolved as ResolvedThemeTokens<T>\n}\n\nfunction getGroupPrefix(group: string): string {\n const map: Record<string, string> = {\n colors: \"bg\", // default to bg; user can use t.text() for text colors\n fonts: \"font\",\n spacing: \"p\",\n shadows: \"shadow\",\n }\n return map[group] ?? \"\"\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Standard Tailwind v4 tokens\n//\n// Pre-built token references for the default next-app globals.css setup.\n// These match what Tailwind v4's @theme inline generates.\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Pre-built references for standard Tailwind v4 CSS variable tokens.\n * Works out of the box with next-app-standar-config globals.css.\n *\n * @example\n * import { v4Tokens } from \"tailwind-styled-v4\"\n *\n * const Page = tw.div`${v4Tokens.bg} ${v4Tokens.text}`\n * // → tw.div`bg-[var(--color-background)] text-[var(--color-foreground)]`\n */\nexport const v4Tokens = {\n /** bg-[var(--color-background)] */\n bg: twVar(\"bg\", \"color-background\"),\n /** text-[var(--color-foreground)] */\n text: twVar(\"text\", \"color-foreground\"),\n /** font-[var(--font-sans)] */\n fontSans: twVar(\"font\", \"font-sans\"),\n /** font-[var(--font-mono)] */\n fontMono: twVar(\"font\", \"font-mono\"),\n} as const\n"]}
1
+ {"version":3,"sources":["../packages/shared/src/cache.ts","../packages/shared/src/nativeBinding.ts","../packages/shared/src/index.ts","../packages/animate/src/binding.ts","../packages/animate/src/preset.ts","../packages/analyzer/src/utils.ts","../packages/analyzer/src/binding.ts","../packages/analyzer/src/classToCss.ts","../packages/analyzer/src/index.ts","../packages/animate/src/registry.ts","../packages/animate/src/index.ts","../packages/core/src/containerQuery.ts","../packages/core/src/stateEngine.ts","../packages/core/src/createComponent.ts","../packages/core/src/cv.ts","../packages/core/src/cx.ts","../packages/core/src/merge.ts","../packages/core/src/liveTokenEngine.ts","../packages/core/src/styledSystem.ts","../packages/core/src/styled.ts","../packages/core/src/twProxy.ts","../packages/core/src/twTheme.ts","../packages/core/src/parser.ts","../packages/core/src/themeReader.ts"],"names":["os","path","fileURLToPath","createRequire","fs","cache","formatErrorMessage","DEBUG_NAMESPACE","debugLog","init_binding","init_src","initAnimate","Component","React","twMerge","normalizeClassInput","twMergeOriginal","t","cv","setTokens","setToken"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * LRUCache — Least Recently Used cache with optional TTL\n * Centralized from packages/compiler/src/incrementalEngine.ts\n */\nexport class LRUCache<K, V> {\n private readonly max: number\n private readonly ttlMs: number | null\n private readonly map = new Map<K, { value: V; ts: number }>()\n\n constructor(max = 256, ttlMs: number | null = null) {\n this.max = max\n this.ttlMs = ttlMs\n }\n\n get(key: K): V | undefined {\n const entry = this.map.get(key)\n if (!entry) return undefined\n if (this.ttlMs !== null && Date.now() - entry.ts > this.ttlMs) {\n this.map.delete(key)\n return undefined\n }\n // Move to end (most recently used)\n this.map.delete(key)\n this.map.set(key, entry)\n return entry.value\n }\n\n set(key: K, value: V): void {\n if (this.map.has(key)) this.map.delete(key)\n else if (this.map.size >= this.max) {\n // Evict least recently used (first entry)\n this.map.delete(this.map.keys().next().value!)\n }\n this.map.set(key, { value, ts: Date.now() })\n }\n\n has(key: K): boolean {\n return this.get(key) !== undefined\n }\n\n delete(key: K): void {\n this.map.delete(key)\n }\n\n clear(): void {\n this.map.clear()\n }\n\n get size(): number {\n return this.map.size\n }\n\n keys(): IterableIterator<K> {\n return this.map.keys()\n }\n\n *values(): IterableIterator<V> {\n for (const entry of this.map.values()) {\n yield entry.value\n }\n }\n\n *entries(): IterableIterator<[K, V]> {\n for (const [key, entry] of this.map.entries()) {\n yield [key, entry.value]\n }\n }\n}\n","import fs from \"node:fs\"\nimport { createRequire } from \"node:module\"\nimport os from \"node:os\"\nimport path from \"node:path\"\nimport { fileURLToPath } from \"node:url\"\n\nexport type PlatformExtension = \".node\" | \".dll\" | \".dylib\" | \".so\"\n\nexport function getPlatformExtension(): PlatformExtension {\n const platform = os.platform()\n switch (platform) {\n case \"win32\":\n return \".node\"\n case \"darwin\":\n return \".dylib\"\n case \"linux\":\n return \".so\"\n default:\n return \".node\"\n }\n}\n\nexport function checkNativeDisabled(): { disabled: boolean; reason: string | null } {\n if (process.env.TWS_NO_NATIVE === \"1\" || process.env.TWS_NO_NATIVE === \"true\") {\n return {\n disabled: true,\n reason: \"Native bindings disabled via TWS_NO_NATIVE=1\",\n }\n }\n if (process.env.TWS_NO_RUST === \"1\" || process.env.TWS_NO_RUST === \"true\") {\n return {\n disabled: true,\n reason: \"Native bindings disabled via TWS_NO_RUST=1\",\n }\n }\n return { disabled: false, reason: null }\n}\n\nexport interface NativeBindingLoadError {\n path: string\n message: string\n}\n\nexport interface ResolveNativeBindingCandidatesOptions {\n runtimeDir: string\n envVarNames?: string[]\n enforceNodeExtensionForEnvPath?: boolean\n includeDefaultCandidates?: boolean\n platformExtension?: PlatformExtension\n}\n\nexport interface LoadNativeBindingOptions<T> {\n runtimeDir: string\n candidates: string[]\n isValid: (module: unknown) => module is T\n invalidExportMessage: string\n}\n\nexport interface LoadNativeBindingResult<T> {\n binding: T | null\n loadedPath: string | null\n loadErrors: NativeBindingLoadError[]\n}\n\nexport function formatErrorMessage(error: unknown): string {\n return error instanceof Error ? error.message : String(error)\n}\n\nexport function resolveRuntimeDir(\n dirnameValue: string | undefined,\n moduleImportUrl: string\n): string {\n if (typeof dirnameValue === \"string\" && dirnameValue.length > 0) return dirnameValue\n return path.dirname(fileURLToPath(moduleImportUrl))\n}\n\nexport function resolveNativeBindingCandidates(\n options: ResolveNativeBindingCandidatesOptions\n): string[] {\n const out: string[] = []\n const envVarNames = options.envVarNames ?? [\"TWS_NATIVE_PATH\"]\n\n for (const envVarName of envVarNames) {\n const raw = process.env[envVarName]?.trim()\n if (!raw) continue\n const resolved = path.resolve(raw)\n\n if (options.enforceNodeExtensionForEnvPath) {\n if (path.extname(resolved).toLowerCase() !== \".node\") {\n throw new Error(\n `Invalid native binding path from ${envVarName}=\"${raw}\". Expected a .node file.`\n )\n }\n }\n\n out.push(resolved)\n }\n\n if (options.includeDefaultCandidates !== false) {\n const ext = options.platformExtension ?? getPlatformExtension()\n const defaultBindingName = `tailwind_styled_parser${ext}`\n\n out.push(path.resolve(process.cwd(), \"native\", defaultBindingName))\n out.push(path.resolve(options.runtimeDir, \"..\", \"..\", \"..\", \"native\", defaultBindingName))\n }\n\n return Array.from(new Set(out))\n}\n\nfunction parseDebugToken(namespace: string, token: string): boolean {\n if (token === \"*\" || token === namespace || token === \"tailwind-styled:*\") return true\n return token.endsWith(\"*\") && namespace.startsWith(token.slice(0, -1))\n}\n\nexport function isDebugNamespaceEnabled(namespace: string): boolean {\n if (process.env.TWS_DEBUG === \"1\" || process.env.TAILWIND_STYLED_DEBUG === \"1\") return true\n const raw = process.env.DEBUG\n if (!raw) return false\n\n return raw\n .split(\",\")\n .map((token) => token.trim())\n .some((token) => parseDebugToken(namespace, token))\n}\n\nexport function createDebugLogger(namespace: string, label = namespace): (message: string) => void {\n const debugEnabled = isDebugNamespaceEnabled(namespace)\n return (message: string) => {\n if (!debugEnabled) return\n console.debug(`[${label}] ${message}`)\n }\n}\n\nexport function loadNativeBinding<T>(\n options: LoadNativeBindingOptions<T>\n): LoadNativeBindingResult<T> {\n const req = createRequire(path.join(options.runtimeDir, \"noop.cjs\"))\n const loadErrors: NativeBindingLoadError[] = []\n\n for (const candidate of options.candidates) {\n if (!fs.existsSync(candidate)) continue\n try {\n const mod = req(candidate)\n if (options.isValid(mod)) {\n return {\n binding: mod,\n loadedPath: candidate,\n loadErrors,\n }\n }\n loadErrors.push({\n path: candidate,\n message: options.invalidExportMessage,\n })\n } catch (error) {\n loadErrors.push({\n path: candidate,\n message: formatErrorMessage(error),\n })\n }\n }\n\n return {\n binding: null,\n loadedPath: null,\n loadErrors,\n }\n}\n\nexport function loadNativeBindingOrThrow<T>(\n options: LoadNativeBindingOptions<T> & { bindingName: string }\n): T {\n const disabledCheck = checkNativeDisabled()\n if (disabledCheck.disabled) {\n throw new Error(\n `Native binding '${options.bindingName}' cannot be loaded.\\n${disabledCheck.reason}`\n )\n }\n\n const { bindingName, ...loadOptions } = options\n const { binding, loadErrors } = loadNativeBinding<T>(loadOptions)\n\n if (binding) {\n return binding\n }\n\n const lines = [\n `FATAL: Native binding '${bindingName}' not found.`,\n \"\",\n \"This package requires native Rust bindings.\",\n \"The binding was not found in any of these paths:\",\n ...loadOptions.candidates.map((p) => ` - ${p}`),\n \"\",\n ]\n\n if (loadErrors.length > 0) {\n lines.push(\"Load errors:\")\n for (const error of loadErrors) {\n lines.push(` - ${error.path}: ${error.message}`)\n }\n lines.push(\"\")\n }\n\n lines.push(\n \"Resolution steps:\",\n \"\",\n \"1. Build the native Rust module:\",\n \" npm run build:rust\",\n \"\",\n \"2. Or install pre-built binaries:\",\n \" npm install\",\n \"\",\n \"3. Override with environment variable:\",\n \" TWS_NATIVE_PATH=/path/to/tailwind_styled_parser.node\",\n \"\",\n \"4. Disable native bindings (use JS fallback):\",\n \" TWS_NO_NATIVE=1\",\n \"\",\n \"For CI/CD environments, ensure Rust toolchain is installed and\",\n \"'npm run build:rust' is executed before running tests or building.\"\n )\n\n throw new Error(lines.join(\"\\n\"))\n}\n","/**\n * @tailwind-styled/shared - Centralized utilities.\n */\n\nexport { LRUCache } from \"./cache\"\nexport {\n createDebugLogger,\n formatErrorMessage,\n isDebugNamespaceEnabled,\n loadNativeBinding,\n resolveNativeBindingCandidates,\n resolveRuntimeDir,\n type LoadNativeBindingOptions,\n type LoadNativeBindingResult,\n type NativeBindingLoadError,\n type ResolveNativeBindingCandidatesOptions,\n} from \"./nativeBinding\"\nexport { logger, createLogger, type LogLevel } from \"./logger\"\nexport { hashContent, hashFile } from \"./hash\"\nexport { debounce, throttle } from \"./timing\"\nexport { parseVersion, satisfiesMinVersion } from \"./version\"\n","import {\n createDebugLogger,\n loadNativeBinding,\n resolveNativeBindingCandidates,\n resolveRuntimeDir,\n} from \"@tailwind-styled/shared\"\n\nimport type { NativeAnimateBinding } from \"./types\"\n\nlet bindingPromise: Promise<NativeAnimateBinding> | null = null\nconst DEBUG_NAMESPACE = \"tailwind-styled:animate\"\nconst debugLog = createDebugLogger(DEBUG_NAMESPACE, \"tailwind-styled/animate\")\n\nfunction isAnimateModule(module: unknown): module is NativeAnimateBinding {\n const candidate = module as Partial<NativeAnimateBinding> | null | undefined\n return (\n typeof candidate?.compileAnimation === \"function\" &&\n typeof candidate?.compileKeyframes === \"function\"\n )\n}\n\nfunction resolveBindingCandidates(runtimeDir: string): string[] {\n return resolveNativeBindingCandidates({\n runtimeDir,\n envVarNames: [\"TWS_ANIMATE_NATIVE_PATH\", \"TWS_NATIVE_PATH\"],\n enforceNodeExtensionForEnvPath: true,\n })\n}\n\nfunction loadAnimateBinding(): NativeAnimateBinding {\n if (process.env.TWS_NO_NATIVE === \"1\" || process.env.TWS_NO_RUST === \"1\") {\n throw new Error(\n \"Native animate backend is required in v5. TWS_NO_NATIVE/TWS_NO_RUST is not supported.\"\n )\n }\n\n const runtimeDir = resolveRuntimeDir(\n typeof __dirname === \"string\" ? __dirname : undefined,\n import.meta.url\n )\n const candidates = resolveBindingCandidates(runtimeDir)\n const { binding, loadErrors, loadedPath } = loadNativeBinding<NativeAnimateBinding>({\n runtimeDir,\n candidates,\n isValid: isAnimateModule,\n invalidExportMessage: \"Module loaded but missing compileAnimation/compileKeyframes exports.\",\n })\n\n if (binding) {\n debugLog(`native animate binding loaded from: ${loadedPath}`)\n return binding\n }\n\n if (loadErrors.length > 0) {\n debugLog(\n `native animate binding load failed for ${loadErrors.length} candidate(s): ${loadErrors\n .map((entry) => `${entry.path} (${entry.message})`)\n .join(\"; \")}`\n )\n } else {\n debugLog(\"native animate binding not found in any candidate path\")\n }\n\n const lines = [\n \"Native animate backend not found. Ensure `tailwind_styled_parser.node` is built.\",\n \"Checked paths:\",\n ...candidates.map((candidate) => `- ${candidate}`),\n ]\n if (loadErrors.length > 0) {\n lines.push(\"Load errors:\")\n for (const error of loadErrors) lines.push(`- ${error.path}: ${error.message}`)\n }\n throw new Error(lines.join(\"\\n\"))\n}\n\nexport async function getAnimateBinding(): Promise<NativeAnimateBinding> {\n if (!bindingPromise) {\n bindingPromise = Promise.resolve().then(loadAnimateBinding)\n }\n return bindingPromise\n}\n\nexport async function initAnimate(): Promise<void> {\n await getAnimateBinding()\n}\n","import { LRUCache } from \"@tailwind-styled/shared\"\n\nimport type { AnimationRegistry } from \"./registry\"\n\nconst DEFAULT_PRESET_CACHE_LIMIT = 32\n\nexport function createAnimationPresets(registry: AnimationRegistry) {\n const cache = new LRUCache<string, Promise<string>>(DEFAULT_PRESET_CACHE_LIMIT)\n\n const withCache =\n (cacheKey: string, factory: () => Promise<string>): (() => Promise<string>) =>\n async () => {\n const cached = cache.get(cacheKey)\n if (cached) {\n const className = await cached\n if (registry.has(className)) return className\n cache.delete(cacheKey)\n }\n\n const pending = factory()\n cache.set(cacheKey, pending)\n try {\n return await pending\n } catch (error) {\n cache.delete(cacheKey)\n throw error\n }\n }\n\n return {\n fadeIn: withCache(\n \"fadeIn\",\n async () =>\n (await registry.compileAnimation({ from: \"opacity-0\", to: \"opacity-100\", duration: 200 }))\n .className\n ),\n fadeOut: withCache(\n \"fadeOut\",\n async () =>\n (await registry.compileAnimation({ from: \"opacity-100\", to: \"opacity-0\", duration: 200 }))\n .className\n ),\n slideUp: withCache(\n \"slideUp\",\n async () =>\n (\n await registry.compileAnimation({\n from: \"opacity-0 translate-y-4\",\n to: \"opacity-100 translate-y-0\",\n duration: 300,\n })\n ).className\n ),\n slideDown: withCache(\n \"slideDown\",\n async () =>\n (\n await registry.compileAnimation({\n from: \"opacity-0 -translate-y-4\",\n to: \"opacity-100 translate-y-0\",\n duration: 300,\n })\n ).className\n ),\n slideLeft: withCache(\n \"slideLeft\",\n async () =>\n (\n await registry.compileAnimation({\n from: \"opacity-0 translate-x-4\",\n to: \"opacity-100 translate-x-0\",\n duration: 300,\n })\n ).className\n ),\n slideRight: withCache(\n \"slideRight\",\n async () =>\n (\n await registry.compileAnimation({\n from: \"opacity-0 -translate-x-4\",\n to: \"opacity-100 translate-x-0\",\n duration: 300,\n })\n ).className\n ),\n scaleIn: withCache(\n \"scaleIn\",\n async () =>\n (\n await registry.compileAnimation({\n from: \"opacity-0 scale-95\",\n to: \"opacity-100 scale-100\",\n duration: 200,\n easing: \"cubic-bezier(0.16,1,0.3,1)\",\n })\n ).className\n ),\n scaleOut: withCache(\n \"scaleOut\",\n async () =>\n (\n await registry.compileAnimation({\n from: \"opacity-100 scale-100\",\n to: \"opacity-0 scale-95\",\n duration: 150,\n })\n ).className\n ),\n blurIn: withCache(\n \"blurIn\",\n async () =>\n (\n await registry.compileAnimation({\n from: \"opacity-0 blur-sm\",\n to: \"opacity-100 blur-none\",\n duration: 300,\n })\n ).className\n ),\n bounceIn: withCache(\n \"bounceIn\",\n async () =>\n (\n await registry.compileAnimation({\n from: \"opacity-0 scale-50\",\n to: \"opacity-100 scale-100\",\n duration: 400,\n easing: \"cubic-bezier(0.34,1.56,0.64,1)\",\n })\n ).className\n ),\n spinIn: withCache(\n \"spinIn\",\n async () =>\n (\n await registry.compileAnimation({\n from: \"opacity-0 rotate-180 scale-50\",\n to: \"opacity-100 rotate-0 scale-100\",\n duration: 400,\n easing: \"cubic-bezier(0.16,1,0.3,1)\",\n })\n ).className\n ),\n } as const\n}\n","import fs from \"node:fs\"\nimport { createDebugLogger } from \"@tailwind-styled/shared\"\n\nexport const DEFAULT_TOP_LIMIT = 10\nexport const DEFAULT_FREQUENT_THRESHOLD = 2\nexport const DEBUG_NAMESPACE = \"tailwind-styled:analyzer\"\n\nexport function formatErrorMessage(error: unknown): string {\n return error instanceof Error ? error.message : String(error)\n}\n\nexport function isRecord(value: unknown): value is Record<string, unknown> {\n if (!value || typeof value !== \"object\" || Array.isArray(value)) return false\n const proto = Object.getPrototypeOf(value)\n return proto === Object.prototype || proto === null\n}\n\nexport async function pathExists(filePath: string): Promise<boolean> {\n try {\n await fs.promises.access(filePath, fs.constants.F_OK)\n return true\n } catch {\n return false\n }\n}\n\nexport const debugLog = createDebugLogger(DEBUG_NAMESPACE, \"tailwind-styled/analyzer\")\n\nexport function sanitizeTopLimit(value: number | undefined): number {\n if (!Number.isFinite(value)) return DEFAULT_TOP_LIMIT\n return Math.max(1, Math.trunc(value as number))\n}\n\nexport function sanitizeFrequentThreshold(value: number | undefined): number {\n if (!Number.isFinite(value)) return DEFAULT_FREQUENT_THRESHOLD\n return Math.max(1, Math.trunc(value as number))\n}\n","import {\n loadNativeBinding,\n resolveNativeBindingCandidates,\n resolveRuntimeDir,\n} from \"@tailwind-styled/shared\"\n\nimport type { NativeAnalyzerBinding, NativeCssCompilerBinding } from \"./types\"\nimport { debugLog } from \"./utils\"\n\nlet bindingCache: NativeAnalyzerBinding | null | undefined\nlet bindingCandidateCache: string[] = []\nlet bindingLoadErrorsCache: Array<{ path: string; message: string }> = []\nlet loadedBindingPathCache: string | null = null\n\nfunction isAnalyzerModule(module: unknown): module is NativeAnalyzerBinding {\n const candidate = module as Partial<NativeAnalyzerBinding> | null | undefined\n return typeof candidate?.analyzeClasses === \"function\"\n}\n\nexport function getNativeBinding(): NativeAnalyzerBinding | null {\n if (bindingCache !== undefined) return bindingCache\n if (process.env.TWS_NO_NATIVE === \"1\" || process.env.TWS_NO_RUST === \"1\") {\n bindingCandidateCache = []\n bindingLoadErrorsCache = []\n loadedBindingPathCache = null\n debugLog(\"native binding disabled by TWS_NO_NATIVE/TWS_NO_RUST\")\n bindingCache = null\n return bindingCache\n }\n\n const runtimeDir = resolveRuntimeDir(\n typeof __dirname === \"string\" ? __dirname : undefined,\n import.meta.url\n )\n const candidates = resolveNativeBindingCandidates({\n runtimeDir,\n envVarNames: [\"TWS_NATIVE_PATH\"],\n })\n\n const { binding, loadErrors, loadedPath } = loadNativeBinding<NativeAnalyzerBinding>({\n runtimeDir,\n candidates,\n isValid: isAnalyzerModule,\n invalidExportMessage: \"Module loaded but missing `analyzeClasses` export.\",\n })\n\n bindingCandidateCache = candidates\n bindingLoadErrorsCache = loadErrors\n loadedBindingPathCache = loadedPath\n\n if (binding) {\n debugLog(`native binding loaded from: ${loadedPath}`)\n bindingCache = binding\n return bindingCache\n }\n\n if (bindingLoadErrorsCache.length > 0) {\n debugLog(\n `native binding load failed for ${bindingLoadErrorsCache.length} candidate(s): ${bindingLoadErrorsCache\n .map((entry) => `${entry.path} (${entry.message})`)\n .join(\"; \")}`\n )\n } else {\n debugLog(\"native binding not found in any candidate path\")\n }\n\n bindingCache = null\n return bindingCache\n}\n\nexport function requireNativeBinding(): NativeAnalyzerBinding {\n const binding = getNativeBinding()\n if (binding?.analyzeClasses) return binding\n\n const lines = [\n \"Native analyzer binding not found. Ensure `tailwind_styled_parser.node` is built.\",\n ]\n\n if (process.env.TWS_NO_NATIVE === \"1\" || process.env.TWS_NO_RUST === \"1\") {\n lines.push(\"Native loading is disabled by TWS_NO_NATIVE/TWS_NO_RUST.\")\n } else {\n lines.push(\"Checked paths:\")\n for (const candidate of bindingCandidateCache) lines.push(`- ${candidate}`)\n if (bindingLoadErrorsCache.length > 0) {\n lines.push(\"Load errors:\")\n for (const failure of bindingLoadErrorsCache) {\n lines.push(`- ${failure.path}: ${failure.message}`)\n }\n }\n }\n\n throw new Error(lines.join(\"\\n\"))\n}\n\nexport function requireNativeCssCompiler(): NativeCssCompilerBinding {\n const binding = requireNativeBinding() as NativeCssCompilerBinding\n if (typeof binding.compileCss === \"function\") return binding\n\n const loadedPathText = loadedBindingPathCache ? ` (${loadedBindingPathCache})` : \"\"\n throw new Error(`Native analyzer compileCss binding is missing in v5${loadedPathText}.`)\n}\n","import { requireNativeCssCompiler } from \"./binding\"\nimport type { ClassToCssOptions, ClassToCssResult, NativeCssCompileResult } from \"./types\"\nimport { formatErrorMessage } from \"./utils\"\n\nexport function normalizeClassInput(input: string | string[]): string[] {\n if (typeof input === \"string\") {\n return input\n .split(/\\s+/)\n .map((item) => item.trim())\n .filter((item) => item.length > 0)\n }\n\n if (!Array.isArray(input)) {\n throw new TypeError(\"classToCss input must be a string or an array of strings.\")\n }\n\n const out: string[] = []\n for (const item of input) {\n if (typeof item !== \"string\") {\n throw new TypeError(\"classToCss input array must contain only strings.\")\n }\n const value = item.trim()\n if (value.length > 0) out.push(value)\n }\n return out\n}\n\nfunction normalizeClassToCssOptions(options: ClassToCssOptions): {\n prefix: string | null\n strict: boolean\n} {\n if (!options || typeof options !== \"object\" || Array.isArray(options)) {\n throw new TypeError(\"classToCss options must be an object.\")\n }\n\n const strict = options.strict ?? false\n if (typeof strict !== \"boolean\") {\n throw new TypeError(\"classToCss options.strict must be a boolean when provided.\")\n }\n\n const prefix = options.prefix ?? null\n if (prefix !== null && typeof prefix !== \"string\") {\n throw new TypeError(\"classToCss options.prefix must be a string or null when provided.\")\n }\n\n return { prefix, strict }\n}\n\nfunction mergeDeclarationMap(target: Map<string, string>, css: string): void {\n const ruleRegex = /\\{([^}]*)\\}/g\n let ruleMatch = ruleRegex.exec(css)\n while (ruleMatch) {\n const body = ruleMatch[1]\n for (const raw of body.split(\";\")) {\n const declaration = raw.trim()\n if (declaration.length === 0) continue\n const colonIndex = declaration.indexOf(\":\")\n if (colonIndex <= 0) continue\n const property = declaration.slice(0, colonIndex).trim()\n const value = declaration.slice(colonIndex + 1).trim()\n if (property.length === 0 || value.length === 0) continue\n if (target.has(property)) target.delete(property)\n target.set(property, value)\n }\n ruleMatch = ruleRegex.exec(css)\n }\n}\n\nfunction declarationMapToString(declarationMap: Map<string, string>): string {\n return Array.from(declarationMap.entries())\n .map(([property, value]) => `${property}: ${value}`)\n .join(\"; \")\n}\n\n/**\n * Convert Tailwind class input into atomic CSS output via native binding.\n * @example\n * const css = await classToCss(\"opacity-0 translate-y-2\", { strict: true })\n */\nexport async function classToCss(\n input: string | string[],\n options: ClassToCssOptions = {}\n): Promise<ClassToCssResult> {\n const inputClasses = normalizeClassInput(input)\n const normalizedOptions = normalizeClassToCssOptions(options)\n if (inputClasses.length === 0) {\n return {\n inputClasses: [],\n css: \"\",\n declarations: \"\",\n resolvedClasses: [],\n unknownClasses: [],\n sizeBytes: 0,\n }\n }\n\n const binding = requireNativeCssCompiler()\n const prefix = normalizedOptions.prefix\n const cssChunks: string[] = []\n const resolvedClasses: string[] = []\n const unknownClasses: string[] = []\n let sizeBytes = 0\n const declarationMap = new Map<string, string>()\n\n for (const className of inputClasses) {\n let compiled: NativeCssCompileResult | null = null\n try {\n compiled = binding.compileCss([className], prefix)\n } catch (error) {\n throw new Error(\n `Native analyzer failed while compiling class \"${className}\": ${formatErrorMessage(error)}`,\n { cause: error }\n )\n }\n\n if (!compiled) {\n throw new Error(`Native analyzer returned no result for class \"${className}\".`)\n }\n\n cssChunks.push(compiled.css)\n resolvedClasses.push(...compiled.resolvedClasses)\n unknownClasses.push(...compiled.unknownClasses)\n sizeBytes += compiled.sizeBytes\n mergeDeclarationMap(declarationMap, compiled.css)\n }\n\n const uniqueUnknown = Array.from(new Set(unknownClasses))\n if (normalizedOptions.strict && uniqueUnknown.length > 0) {\n throw new Error(`Unknown Tailwind classes: ${uniqueUnknown.join(\", \")}`)\n }\n\n return {\n inputClasses,\n css: cssChunks.filter((chunk) => chunk.length > 0).join(\"\\n\"),\n declarations: declarationMapToString(declarationMap),\n resolvedClasses: Array.from(new Set(resolvedClasses)),\n unknownClasses: uniqueUnknown,\n sizeBytes,\n }\n}\n","/**\n * @tailwind-styled/analyzer v5\n *\n * Native-first async analyzer with semantic reporting.\n */\n\nimport { analyzeWorkspace, buildDistribution, collectClassCounts } from \"./analyzeWorkspace\"\nimport { classToCss, normalizeClassInput } from \"./classToCss\"\nimport { resolveConflictGroup, splitVariantAndBase, utilityPrefix } from \"./semantic\"\n\nexport type {\n AnalyzerOptions,\n AnalyzerReport,\n AnalyzerSemanticReport,\n ClassConflict,\n ClassToCssOptions,\n ClassToCssResult,\n ClassUsage,\n} from \"./types\"\n\nexport { analyzeWorkspace, classToCss }\n\nexport const __internal = {\n normalizeClassInput,\n splitVariantAndBase,\n resolveConflictGroup,\n collectClassCounts,\n buildDistribution,\n utilityPrefix,\n}\n","import { classToCss } from \"@tailwind-styled/analyzer\"\nimport { LRUCache, formatErrorMessage } from \"@tailwind-styled/shared\"\n\nimport { getAnimateBinding } from \"./binding\"\nimport type {\n AnimateOptions,\n AnimationRegistryOptions,\n CompiledAnimation,\n KeyframesDefinition,\n} from \"./types\"\n\nconst DEFAULT_DURATION = 300\nconst DEFAULT_EASING = \"ease-out\"\nconst DEFAULT_DELAY = 0\nconst DEFAULT_FILL = \"both\"\nconst DEFAULT_ITERATIONS = 1\nconst DEFAULT_DIRECTION = \"normal\"\nconst DEFAULT_CACHE_LIMIT = 512\n\nfunction normalizeNumber(value: number | undefined, fallback: number): number {\n if (!Number.isFinite(value)) return fallback\n return Math.max(0, Math.trunc(value as number))\n}\n\nfunction normalizeCacheLimit(value: number | undefined): number {\n if (!Number.isFinite(value)) return DEFAULT_CACHE_LIMIT\n return Math.max(1, Math.trunc(value as number))\n}\n\nfunction normalizeIterations(value: AnimateOptions[\"iterations\"]): string {\n if (value === \"infinite\") return \"infinite\"\n if (!Number.isFinite(value)) return String(DEFAULT_ITERATIONS)\n return String(Math.max(0, Math.trunc(value as number)))\n}\n\nfunction stableKeyframesEntries(\n stops: KeyframesDefinition\n): Array<{ offset: string; classes: string }> {\n return Object.entries(stops)\n .map(([offset, classes]) => ({ offset, classes }))\n .sort((left, right) => left.offset.localeCompare(right.offset))\n}\n\nfunction animationCacheKey(opts: AnimateOptions): string {\n const normalized = {\n from: opts.from.trim(),\n to: opts.to.trim(),\n duration: normalizeNumber(opts.duration, DEFAULT_DURATION),\n easing: (opts.easing ?? DEFAULT_EASING).trim(),\n delay: normalizeNumber(opts.delay, DEFAULT_DELAY),\n fill: opts.fill ?? DEFAULT_FILL,\n iterations: normalizeIterations(opts.iterations),\n direction: opts.direction ?? DEFAULT_DIRECTION,\n name: opts.name ?? \"\",\n }\n return JSON.stringify(normalized)\n}\n\nfunction keyframesCacheKey(name: string, stops: KeyframesDefinition): string {\n return `${name}::${JSON.stringify(stableKeyframesEntries(stops))}`\n}\n\nfunction splitClasses(classList: string): string[] {\n return classList\n .split(/\\s+/)\n .map((item) => item.trim())\n .filter((item) => item.length > 0)\n}\n\nasync function validateTailwindClasses(\n entries: Array<{ classList: string; context: string }>\n): Promise<void> {\n const binding = await getAnimateBinding()\n const unknownByContext = new Map<string, Set<string>>()\n const failures: string[] = []\n\n for (const entry of entries) {\n const classes = splitClasses(entry.classList)\n if (classes.length === 0) continue\n\n try {\n if (typeof binding.compileCss === \"function\") {\n const compiled = binding.compileCss(classes, null)\n if (!compiled) {\n failures.push(\n `Animation ${entry.context} failed validation: native compileCss returned no result.`\n )\n continue\n }\n if (compiled.unknownClasses.length > 0) {\n const bucket = unknownByContext.get(entry.context) ?? new Set<string>()\n for (const className of compiled.unknownClasses) bucket.add(className)\n unknownByContext.set(entry.context, bucket)\n }\n continue\n }\n\n const checked = await classToCss(classes, { strict: false })\n if (checked.unknownClasses.length > 0) {\n const bucket = unknownByContext.get(entry.context) ?? new Set<string>()\n for (const className of checked.unknownClasses) bucket.add(className)\n unknownByContext.set(entry.context, bucket)\n }\n } catch (error) {\n failures.push(`Animation ${entry.context} failed validation: ${formatErrorMessage(error)}`)\n }\n }\n\n const issues: string[] = []\n for (const [context, classes] of unknownByContext.entries()) {\n issues.push(\n `Animation ${context} contains unknown Tailwind classes: ${Array.from(classes).join(\", \")}`\n )\n }\n issues.push(...failures)\n\n if (issues.length > 0) {\n throw new Error(issues.join(\"\\n\"))\n }\n}\n\nexport class AnimationRegistry {\n private readonly animations: LRUCache<string, CompiledAnimation>\n private readonly animationBySignature: LRUCache<string, string>\n private readonly keyframesBySignature: LRUCache<string, string>\n\n constructor(options: AnimationRegistryOptions = {}) {\n const cacheLimit = normalizeCacheLimit(options.cacheLimit)\n this.animations = new LRUCache(cacheLimit)\n this.animationBySignature = new LRUCache(cacheLimit)\n this.keyframesBySignature = new LRUCache(cacheLimit)\n }\n\n async compileAnimation(opts: AnimateOptions): Promise<CompiledAnimation> {\n const signature = animationCacheKey(opts)\n const existingClassName = this.animationBySignature.get(signature)\n if (existingClassName) {\n const cached = this.animations.get(existingClassName)\n if (cached) return cached\n this.animationBySignature.delete(signature)\n }\n\n await validateTailwindClasses([\n { classList: opts.from, context: `\"from\" in ${opts.name ?? \"anonymous animation\"}` },\n { classList: opts.to, context: `\"to\" in ${opts.name ?? \"anonymous animation\"}` },\n ])\n\n const binding = await getAnimateBinding()\n const duration = normalizeNumber(opts.duration, DEFAULT_DURATION)\n const easing = opts.easing ?? DEFAULT_EASING\n const delay = normalizeNumber(opts.delay, DEFAULT_DELAY)\n const fill = opts.fill ?? DEFAULT_FILL\n const iterations = normalizeIterations(opts.iterations)\n const direction = opts.direction ?? DEFAULT_DIRECTION\n\n const compiled = binding.compileAnimation?.(\n opts.from,\n opts.to,\n opts.name ?? null,\n duration,\n easing,\n delay,\n fill,\n iterations,\n direction\n )\n\n if (!compiled) {\n throw new Error(\n `Native animate backend failed to compile animation \"${opts.name ?? \"anonymous animation\"}\".`\n )\n }\n\n const result: CompiledAnimation = {\n className: compiled.className,\n keyframesCss: compiled.keyframesCss,\n animationCss: compiled.animationCss,\n }\n\n this.animations.set(result.className, result)\n this.animationBySignature.set(signature, result.className)\n return result\n }\n\n async compileKeyframes(name: string, stops: KeyframesDefinition): Promise<CompiledAnimation> {\n const signature = keyframesCacheKey(name, stops)\n const existingClassName = this.keyframesBySignature.get(signature)\n if (existingClassName) {\n const cached = this.animations.get(existingClassName)\n if (cached) return cached\n this.keyframesBySignature.delete(signature)\n }\n\n await validateTailwindClasses(\n Object.entries(stops).map(([offset, classes]) => ({\n classList: classes,\n context: `\"${offset}\" stop in keyframes \"${name}\"`,\n }))\n )\n\n const binding = await getAnimateBinding()\n const stopsJson = JSON.stringify(stableKeyframesEntries(stops))\n const compiled = binding.compileKeyframes?.(name, stopsJson)\n\n if (!compiled) {\n throw new Error(`Native animate backend failed to compile keyframes \"${name}\".`)\n }\n\n const result: CompiledAnimation = {\n className: compiled.className,\n keyframesCss: compiled.keyframesCss,\n animationCss: compiled.animationCss,\n }\n\n this.animations.set(result.className, result)\n this.keyframesBySignature.set(signature, result.className)\n return result\n }\n\n extractCss(): string {\n const lines: string[] = []\n for (const [, compiled] of this.animations.entries()) {\n lines.push(compiled.keyframesCss)\n lines.push(`.${compiled.className} { ${compiled.animationCss} }`)\n }\n return lines.join(\"\\n\\n\")\n }\n\n reset(): void {\n this.animations.clear()\n this.animationBySignature.clear()\n this.keyframesBySignature.clear()\n }\n\n has(className: string): boolean {\n return this.animations.has(className)\n }\n}\n\nexport function createAnimationRegistry(options: AnimationRegistryOptions = {}): AnimationRegistry {\n return new AnimationRegistry(options)\n}\n","import { initAnimate as initAnimateBackend } from \"./binding\"\nimport { createAnimationPresets } from \"./preset\"\nimport { AnimationRegistry, createAnimationRegistry } from \"./registry\"\nimport type {\n AnimateOptions,\n AnimationRegistryOptions,\n CompiledAnimation,\n KeyframesDefinition,\n} from \"./types\"\n\nexport type {\n AnimateOptions,\n AnimationRegistryOptions,\n CompiledAnimation,\n CSSDirection,\n CSSEasing,\n CSSFillMode,\n CSSIterationCount,\n CubicBezierEasing,\n KeyframesDefinition,\n PresetEasing,\n StepsEasing,\n} from \"./types\"\n\nconst defaultRegistry = createAnimationRegistry()\n\nexport async function initAnimate(): Promise<void> {\n await initAnimateBackend()\n}\n\nexport function getDefaultAnimationRegistry(): AnimationRegistry {\n return defaultRegistry\n}\n\nexport async function compileAnimation(\n opts: AnimateOptions,\n registry: AnimationRegistry = defaultRegistry\n): Promise<CompiledAnimation> {\n return registry.compileAnimation(opts)\n}\n\nexport async function compileKeyframes(\n name: string,\n stops: KeyframesDefinition,\n registry: AnimationRegistry = defaultRegistry\n): Promise<CompiledAnimation> {\n return registry.compileKeyframes(name, stops)\n}\n\nexport async function animate(\n opts: AnimateOptions,\n registry: AnimationRegistry = defaultRegistry\n): Promise<string> {\n return (await registry.compileAnimation(opts)).className\n}\n\nexport async function keyframes(\n name: string,\n stops: KeyframesDefinition,\n registry: AnimationRegistry = defaultRegistry\n): Promise<string> {\n return (await registry.compileKeyframes(name, stops)).className\n}\n\nexport function extractAnimationCss(registry: AnimationRegistry = defaultRegistry): string {\n return registry.extractCss()\n}\n\nexport function resetAnimationRegistry(registry: AnimationRegistry = defaultRegistry): void {\n registry.reset()\n}\n\nexport interface InjectAnimationCssOptions {\n document?: Document\n styleId?: string\n silent?: boolean\n}\n\nexport function injectAnimationCss(\n registry: AnimationRegistry = defaultRegistry,\n options: InjectAnimationCssOptions = {}\n): void {\n const targetDocument =\n options.document ?? (typeof document !== \"undefined\" ? document : undefined)\n if (!targetDocument) {\n if (options.silent) return\n throw new Error(\"injectAnimationCss requires a browser Document.\")\n }\n\n const styleId = options.styleId ?? \"__tw_animate_styles__\"\n let styleEl = targetDocument.getElementById(styleId) as HTMLStyleElement | null\n if (!styleEl) {\n if (!targetDocument.head) {\n if (options.silent) return\n throw new Error(\"injectAnimationCss requires document.head to exist.\")\n }\n styleEl = targetDocument.createElement(\"style\")\n styleEl.id = styleId\n targetDocument.head.appendChild(styleEl)\n }\n\n styleEl.textContent = registry.extractCss()\n}\n\nexport { AnimationRegistry, createAnimationRegistry } from \"./registry\"\n\nexport const animations = createAnimationPresets(defaultRegistry)\n","/**\n * tailwind-styled-v4 — Container Query Engine\n *\n * Generates @container rules from a simple breakpoint config.\n *\n * Usage:\n * const Card = tw.div({\n * base: \"p-4\",\n * container: {\n * sm: \"flex-col\", // @container (min-width: 320px)\n * md: \"flex-row\", // @container (min-width: 640px)\n * lg: \"grid-cols-3\", // @container (min-width: 1024px)\n * },\n * containerName: \"card\",\n * })\n *\n * // Wrap with container context:\n * const CardWrapper = tw.div`@container`\n *\n * Named containers:\n * const SidebarCard = tw.div({\n * base: \"p-2\",\n * container: { lg: \"text-sm\" },\n * containerName: \"sidebar\",\n * })\n * // Generates: @container sidebar (min-width: 1024px) { ... }\n */\n\nimport type { ContainerConfig } from \"./types\"\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Breakpoint map — matches Tailwind defaults\n// ─────────────────────────────────────────────────────────────────────────────\n\nconst CONTAINER_BREAKPOINTS: Record<string, string> = {\n xs: \"240px\",\n sm: \"320px\",\n md: \"640px\",\n lg: \"1024px\",\n xl: \"1280px\",\n \"2xl\": \"1536px\",\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Registry\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport interface ContainerEntry {\n id: string\n tag: string\n containerName?: string\n breakpoints: Array<{ minWidth: string; classes: string }>\n cssInjected: boolean\n}\n\nconst containerRegistry = new Map<string, ContainerEntry>()\n\nif (typeof window !== \"undefined\") {\n ;(window as any).__TW_CONTAINER_REGISTRY__ = containerRegistry\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Hash\n// ─────────────────────────────────────────────────────────────────────────────\n\nfunction hashContainer(tag: string, container: ContainerConfig, name?: string): string {\n const key = tag + (name ?? \"\") + JSON.stringify(Object.entries(container).sort())\n let hash = 5381\n for (let i = 0; i < key.length; i++) {\n hash = ((hash << 5) + hash) ^ key.charCodeAt(i)\n }\n return `tw-cq-${Math.abs(hash).toString(36).slice(0, 6)}`\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// CSS generator\n// ─────────────────────────────────────────────────────────────────────────────\n\n/** Minimal Tailwind → CSS for container query contexts */\nconst LAYOUT_MAP: Record<string, string> = {\n \"flex-col\": \"flex-direction:column\",\n \"flex-row\": \"flex-direction:row\",\n \"flex-wrap\": \"flex-wrap:wrap\",\n \"flex-nowrap\": \"flex-wrap:nowrap\",\n \"flex-1\": \"flex:1 1 0%\",\n hidden: \"display:none\",\n block: \"display:block\",\n flex: \"display:flex\",\n grid: \"display:grid\",\n \"grid-cols-1\": \"grid-template-columns:repeat(1,minmax(0,1fr))\",\n \"grid-cols-2\": \"grid-template-columns:repeat(2,minmax(0,1fr))\",\n \"grid-cols-3\": \"grid-template-columns:repeat(3,minmax(0,1fr))\",\n \"grid-cols-4\": \"grid-template-columns:repeat(4,minmax(0,1fr))\",\n \"grid-cols-6\": \"grid-template-columns:repeat(6,minmax(0,1fr))\",\n \"grid-cols-12\": \"grid-template-columns:repeat(12,minmax(0,1fr))\",\n \"text-sm\": \"font-size:0.875rem;line-height:1.25rem\",\n \"text-base\": \"font-size:1rem;line-height:1.5rem\",\n \"text-lg\": \"font-size:1.125rem;line-height:1.75rem\",\n \"text-xl\": \"font-size:1.25rem;line-height:1.75rem\",\n \"text-2xl\": \"font-size:1.5rem;line-height:2rem\",\n \"text-xs\": \"font-size:0.75rem;line-height:1rem\",\n \"p-2\": \"padding:0.5rem\",\n \"p-4\": \"padding:1rem\",\n \"p-6\": \"padding:1.5rem\",\n \"p-8\": \"padding:2rem\",\n \"px-2\": \"padding-left:0.5rem;padding-right:0.5rem\",\n \"px-4\": \"padding-left:1rem;padding-right:1rem\",\n \"px-6\": \"padding-left:1.5rem;padding-right:1.5rem\",\n \"py-2\": \"padding-top:0.5rem;padding-bottom:0.5rem\",\n \"py-4\": \"padding-top:1rem;padding-bottom:1rem\",\n \"gap-2\": \"gap:0.5rem\",\n \"gap-4\": \"gap:1rem\",\n \"gap-6\": \"gap:1.5rem\",\n \"gap-8\": \"gap:2rem\",\n \"w-full\": \"width:100%\",\n \"w-1/2\": \"width:50%\",\n \"w-1/3\": \"width:33.333333%\",\n \"w-2/3\": \"width:66.666667%\",\n \"max-w-sm\": \"max-width:24rem\",\n \"max-w-md\": \"max-width:28rem\",\n \"max-w-lg\": \"max-width:32rem\",\n \"max-w-xl\": \"max-width:36rem\",\n \"items-center\": \"align-items:center\",\n \"items-start\": \"align-items:flex-start\",\n \"items-end\": \"align-items:flex-end\",\n \"justify-center\": \"justify-content:center\",\n \"justify-between\": \"justify-content:space-between\",\n \"justify-start\": \"justify-content:flex-start\",\n \"justify-end\": \"justify-content:flex-end\",\n}\n\nfunction layoutClassesToCss(classes: string): string {\n const decls: string[] = []\n for (const cls of classes.trim().split(/\\s+/)) {\n if (LAYOUT_MAP[cls]) decls.push(LAYOUT_MAP[cls])\n else if (cls.startsWith(\"w-[\")) {\n const val = cls.match(/\\[(.+)\\]/)?.[1]\n if (val) decls.push(`width:${val}`)\n } else if (cls.startsWith(\"max-w-[\")) {\n const val = cls.match(/\\[(.+)\\]/)?.[1]\n if (val) decls.push(`max-width:${val}`)\n }\n }\n return decls.join(\";\")\n}\n\nfunction buildContainerRules(\n id: string,\n container: ContainerConfig,\n containerName?: string\n): string {\n const rules: string[] = []\n\n for (const [key, value] of Object.entries(container)) {\n let minWidth: string\n let classes: string\n\n if (typeof value === \"string\") {\n minWidth = CONTAINER_BREAKPOINTS[key] ?? key\n classes = value\n } else {\n minWidth = value.minWidth ?? CONTAINER_BREAKPOINTS[key] ?? key\n classes = value.classes\n }\n\n const css = layoutClassesToCss(classes)\n if (!css) continue\n\n const query = containerName\n ? `@container ${containerName} (min-width: ${minWidth})`\n : `@container (min-width: ${minWidth})`\n\n rules.push(`${query}{.${id}{${css}}}`)\n }\n\n return rules.join(\"\\n\")\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Style injection\n// ─────────────────────────────────────────────────────────────────────────────\n\nfunction injectContainerStyles(\n id: string,\n container: ContainerConfig,\n containerName?: string\n): void {\n if (typeof document === \"undefined\") return\n const styleId = `tw-cq-${id}`\n if (document.getElementById(styleId)) return\n\n const css = buildContainerRules(id, container, containerName)\n if (!css) return\n\n // Try batched injector first (available when runtime-css is installed)\n try {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const { batchedInject } = require(\"@tailwind-styled/runtime-css/batched\") as {\n batchedInject: (css: string) => void\n }\n for (const rule of css.split(\"\\n\").filter(Boolean)) batchedInject(rule)\n return\n } catch {\n // Fallback: per-element style tag\n }\n\n const style = document.createElement(\"style\")\n style.id = styleId\n style.setAttribute(\"data-tw-container\", id)\n style.textContent = css\n document.head.appendChild(style)\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Public API\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport interface ContainerQueryResult {\n containerClass: string\n hasContainer: true\n}\n\nexport function processContainer(\n tag: string,\n container: ContainerConfig,\n containerName?: string\n): ContainerQueryResult {\n const id = hashContainer(tag, container, containerName)\n\n if (!containerRegistry.has(id)) {\n const breakpoints = Object.entries(container).map(([key, value]) => ({\n minWidth: CONTAINER_BREAKPOINTS[key] ?? key,\n classes: typeof value === \"string\" ? value : value.classes,\n }))\n containerRegistry.set(id, {\n id,\n tag,\n containerName,\n breakpoints,\n cssInjected: false,\n })\n }\n\n injectContainerStyles(id, container, containerName)\n containerRegistry.get(id)!.cssInjected = true\n\n return { containerClass: id, hasContainer: true }\n}\n\nexport function generateContainerCss(\n tag: string,\n container: ContainerConfig,\n containerName?: string\n): string {\n const id = hashContainer(tag, container, containerName)\n return buildContainerRules(id, container, containerName)\n}\n\nexport function getContainerRegistry(): Map<string, ContainerEntry> {\n return containerRegistry\n}\n","/**\n * tailwind-styled-v4 — Reactive State Engine\n *\n * Zero-JS CSS state management via data attributes.\n * No React re-render needed for style changes.\n *\n * How it works:\n * 1. tw.button({ state: { active: \"bg-blue-500\", loading: \"opacity-70\" } })\n * 2. State engine generates a unique class + injects CSS:\n * .tw-s-abc123[data-active=\"true\"] { @apply bg-blue-500; }\n * .tw-s-abc123[data-loading=\"true\"] { @apply opacity-70; }\n * 3. Component renders with the state class\n * 4. User sets data-active=\"true\" directly — no state needed\n *\n * Devtools integration:\n * All components register to __TW_STATE_REGISTRY__ for devtools inspection.\n */\n\nimport type { StateConfig } from \"./types\"\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Registry — tracks all state-enabled components\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport interface StateComponentEntry {\n id: string\n tag: string\n states: string[]\n cssInjected: boolean\n}\n\nconst stateRegistry = new Map<string, StateComponentEntry>()\n\nif (typeof window !== \"undefined\") {\n ;(window as any).__TW_STATE_REGISTRY__ = stateRegistry\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Deterministic hash — same config → same class (no re-injection on HMR)\n// ─────────────────────────────────────────────────────────────────────────────\n\nfunction hashState(tag: string, state: StateConfig): string {\n const key = tag + JSON.stringify(Object.entries(state).sort())\n let hash = 5381\n for (let i = 0; i < key.length; i++) {\n hash = ((hash << 5) + hash) ^ key.charCodeAt(i)\n }\n return `tw-s-${Math.abs(hash).toString(36).slice(0, 6)}`\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// CSS generator — Tailwind class → plain CSS via CSSOM\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Map Tailwind utility classes to inline CSS declarations.\n * Subset covers all common state-driven utilities.\n * For full coverage the compiler strips this and uses the real Tailwind engine.\n */\nconst TW_MAP: Record<string, string> = {\n // Display\n hidden: \"display:none\",\n block: \"display:block\",\n flex: \"display:flex\",\n inline: \"display:inline\",\n \"inline-flex\": \"display:inline-flex\",\n grid: \"display:grid\",\n // Opacity\n \"opacity-0\": \"opacity:0\",\n \"opacity-5\": \"opacity:0.05\",\n \"opacity-10\": \"opacity:0.1\",\n \"opacity-20\": \"opacity:0.2\",\n \"opacity-25\": \"opacity:0.25\",\n \"opacity-30\": \"opacity:0.3\",\n \"opacity-40\": \"opacity:0.4\",\n \"opacity-50\": \"opacity:0.5\",\n \"opacity-60\": \"opacity:0.6\",\n \"opacity-70\": \"opacity:0.7\",\n \"opacity-75\": \"opacity:0.75\",\n \"opacity-80\": \"opacity:0.8\",\n \"opacity-90\": \"opacity:0.9\",\n \"opacity-95\": \"opacity:0.95\",\n \"opacity-100\": \"opacity:1\",\n // Cursor\n \"cursor-pointer\": \"cursor:pointer\",\n \"cursor-not-allowed\": \"cursor:not-allowed\",\n \"cursor-default\": \"cursor:default\",\n \"cursor-wait\": \"cursor:wait\",\n \"cursor-move\": \"cursor:move\",\n \"cursor-grab\": \"cursor:grab\",\n \"cursor-grabbing\": \"cursor:grabbing\",\n // Pointer events\n \"pointer-events-none\": \"pointer-events:none\",\n \"pointer-events-auto\": \"pointer-events:auto\",\n // Scale\n \"scale-90\": \"transform:scale(0.9)\",\n \"scale-95\": \"transform:scale(0.95)\",\n \"scale-100\": \"transform:scale(1)\",\n \"scale-105\": \"transform:scale(1.05)\",\n \"scale-110\": \"transform:scale(1.1)\",\n // Translate\n \"translate-x-0\": \"transform:translateX(0)\",\n \"translate-y-0\": \"transform:translateY(0)\",\n \"-translate-x-1\": \"transform:translateX(-0.25rem)\",\n \"-translate-y-1\": \"transform:translateY(-0.25rem)\",\n \"translate-x-1\": \"transform:translateX(0.25rem)\",\n \"translate-y-1\": \"transform:translateY(0.25rem)\",\n // Ring\n ring: \"box-shadow:0 0 0 3px rgba(59,130,246,0.5)\",\n \"ring-2\": \"box-shadow:0 0 0 2px rgba(59,130,246,0.5)\",\n \"ring-4\": \"box-shadow:0 0 0 4px rgba(59,130,246,0.5)\",\n \"ring-inset\": \"box-shadow:inset 0 0 0 3px rgba(59,130,246,0.5)\",\n // Border\n border: \"border-width:1px\",\n \"border-2\": \"border-width:2px\",\n \"border-transparent\": \"border-color:transparent\",\n // Outline\n \"outline-none\": \"outline:2px solid transparent;outline-offset:2px\",\n outline: \"outline:2px solid currentColor\",\n // Overflow\n \"overflow-hidden\": \"overflow:hidden\",\n \"overflow-auto\": \"overflow:auto\",\n \"overflow-scroll\": \"overflow:scroll\",\n // Text decoration\n underline: \"text-decoration-line:underline\",\n \"no-underline\": \"text-decoration-line:none\",\n \"line-through\": \"text-decoration-line:line-through\",\n // Font weight\n \"font-bold\": \"font-weight:700\",\n \"font-semibold\": \"font-weight:600\",\n \"font-medium\": \"font-weight:500\",\n \"font-normal\": \"font-weight:400\",\n // Background colors (common)\n \"bg-transparent\": \"background-color:transparent\",\n \"bg-white\": \"background-color:#fff\",\n \"bg-black\": \"background-color:#000\",\n \"bg-blue-500\": \"background-color:rgb(59,130,246)\",\n \"bg-blue-600\": \"background-color:rgb(37,99,235)\",\n \"bg-red-500\": \"background-color:rgb(239,68,68)\",\n \"bg-green-500\": \"background-color:rgb(34,197,94)\",\n \"bg-yellow-500\": \"background-color:rgb(234,179,8)\",\n \"bg-zinc-900\": \"background-color:rgb(24,24,27)\",\n \"bg-zinc-800\": \"background-color:rgb(39,39,42)\",\n // Text colors\n \"text-white\": \"color:#fff\",\n \"text-black\": \"color:#000\",\n \"text-blue-500\": \"color:rgb(59,130,246)\",\n \"text-red-500\": \"color:rgb(239,68,68)\",\n \"text-zinc-400\": \"color:rgb(161,161,170)\",\n \"text-zinc-500\": \"color:rgb(113,113,122)\",\n}\n\nfunction twClassesToCss(classes: string): string {\n const decls: string[] = []\n for (const cls of classes.trim().split(/\\s+/)) {\n if (TW_MAP[cls]) decls.push(TW_MAP[cls])\n // Arbitrary values: bg-[#f00] color-[red]\n else if (cls.includes(\"[\") && cls.includes(\"]\")) {\n const val = cls.match(/\\[(.+)\\]/)?.[1]\n if (!val) continue\n if (cls.startsWith(\"bg-[\")) decls.push(`background-color:${val}`)\n else if (cls.startsWith(\"text-[\")) decls.push(`color:${val}`)\n else if (cls.startsWith(\"w-[\")) decls.push(`width:${val}`)\n else if (cls.startsWith(\"h-[\")) decls.push(`height:${val}`)\n else if (cls.startsWith(\"opacity-[\")) decls.push(`opacity:${val}`)\n }\n }\n return decls.join(\";\")\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Style injection — batched for performance (FIX CSS Rule Batching)\n// ─────────────────────────────────────────────────────────────────────────────\n\nfunction injectStateStyles(id: string, state: StateConfig): void {\n if (typeof document === \"undefined\") return\n\n const styleId = `tw-state-${id}`\n if (document.getElementById(styleId)) return // already injected\n\n const rules: string[] = []\n\n for (const [stateName, classes] of Object.entries(state)) {\n const css = twClassesToCss(classes)\n if (css) {\n rules.push(`.${id}[data-${stateName}=\"true\"]{${css}}`)\n }\n }\n\n if (rules.length === 0) return\n\n // Try batched injector first (available when runtime-css is installed)\n try {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const { batchedInject } = require(\"@tailwind-styled/runtime-css/batched\") as {\n batchedInject: (css: string) => void\n }\n for (const rule of rules) batchedInject(rule)\n return\n } catch {\n // Fallback: per-element style tag (original behavior)\n }\n\n const style = document.createElement(\"style\")\n style.id = styleId\n style.setAttribute(\"data-tw-state\", id)\n style.textContent = rules.join(\"\\n\")\n document.head.appendChild(style)\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Public API\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport interface StateEngineResult {\n /** CSS class to add to the component */\n stateClass: string\n /** Whether this component uses state (for SSR data attributes) */\n hasState: true\n /** List of state names (for devtools) */\n stateNames: string[]\n}\n\n/**\n * Process a StateConfig for a component.\n * Returns the state class and injects CSS (client-side only).\n */\nexport function processState(tag: string, state: StateConfig): StateEngineResult {\n const id = hashState(tag, state)\n const stateNames = Object.keys(state)\n\n // Register for devtools\n if (!stateRegistry.has(id)) {\n stateRegistry.set(id, {\n id,\n tag,\n states: stateNames,\n cssInjected: false,\n })\n }\n\n // Inject CSS (client only)\n injectStateStyles(id, state)\n\n // Mark as injected\n const entry = stateRegistry.get(id)!\n entry.cssInjected = true\n\n return { stateClass: id, hasState: true, stateNames }\n}\n\n/**\n * Generate SSR-safe CSS string for a state config.\n * Used by SSR to inject styles into <head>.\n */\nexport function generateStateCss(tag: string, state: StateConfig): string {\n const id = hashState(tag, state)\n const rules: string[] = []\n\n for (const [stateName, classes] of Object.entries(state)) {\n const css = twClassesToCss(classes)\n if (css) {\n rules.push(`.${id}[data-${stateName}=\"true\"]{${css}}`)\n }\n }\n\n return rules.join(\"\\n\")\n}\n\n/**\n * Get the state registry (for devtools).\n */\nexport function getStateRegistry(): Map<string, StateComponentEntry> {\n return stateRegistry\n}\n","/**\n * tailwind-styled-v4 v3 — createComponent\n *\n * v3 additions:\n * - StateEngine integration: state key → data-attr CSS\n * - ContainerQuery integration: container key → @container CSS\n *\n * Fixes from v2:\n * #03 — filterProps: dynamic based on actual variant keys\n * #07 — extend(): always use originalTag, not previous forwardRef wrapper\n */\n\nimport React from \"react\"\nimport { twMerge } from \"tailwind-merge\"\nimport { processContainer } from \"./containerQuery\"\nimport { processState } from \"./stateEngine\"\nimport type { ComponentConfig, TwStyledComponent } from \"./types\"\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Prop filter — FIX #03: dynamic based on actual variant keys\n// ─────────────────────────────────────────────────────────────────────────────\n\nconst ALWAYS_BLOCKED = new Set([\"base\", \"_ref\", \"state\", \"container\", \"containerName\"])\n\nfunction makeFilterProps(variantKeys: Set<string>) {\n return function filterProps(props: Record<string, any>): Record<string, any> {\n const out: Record<string, any> = {}\n for (const key in props) {\n if (variantKeys.has(key)) continue\n if (key.startsWith(\"$\")) continue\n if (ALWAYS_BLOCKED.has(key)) continue\n out[key] = props[key]\n }\n return out\n }\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Variant resolver\n// ─────────────────────────────────────────────────────────────────────────────\n\nfunction resolveVariants(\n variants: Record<string, Record<string, string>>,\n props: Record<string, any>,\n defaults: Record<string, string>\n): string {\n const classes: string[] = []\n for (const key in variants) {\n const val = props[key] ?? defaults[key]\n if (val !== undefined && variants[key][String(val)]) {\n classes.push(variants[key][String(val)])\n }\n }\n return classes.join(\" \")\n}\n\nfunction resolveCompound(\n compounds: Array<{ class: string; [key: string]: any }>,\n props: Record<string, any>\n): string {\n const classes: string[] = []\n for (const compound of compounds) {\n const { class: cls, ...conditions } = compound\n const match = Object.entries(conditions).every(([k, v]) => props[k] === v)\n if (match) classes.push(cls)\n }\n return classes.join(\" \")\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// createComponent\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport function createComponent<P extends object = Record<string, any>>(\n tag: any,\n config: string | ComponentConfig\n): TwStyledComponent<P> {\n const isStatic = typeof config === \"string\"\n\n const base = isStatic ? (config as string) : (config.base ?? \"\")\n const variants = isStatic ? {} : (config.variants ?? {})\n const compoundVariants = isStatic ? [] : (config.compoundVariants ?? [])\n const defaultVariants = isStatic ? {} : (config.defaultVariants ?? {})\n const stateConfig = isStatic ? undefined : config.state\n const containerConfig = isStatic ? undefined : config.container\n const containerName = isStatic ? undefined : config.containerName\n\n // Process state and container (injects CSS client-side)\n const stateResult = stateConfig\n ? processState(typeof tag === \"string\" ? tag : \"component\", stateConfig)\n : null\n const containerResult = containerConfig\n ? processContainer(typeof tag === \"string\" ? tag : \"component\", containerConfig, containerName)\n : null\n\n // Extra classes from state + container engines\n const engineClasses = [stateResult?.stateClass, containerResult?.containerClass]\n .filter(Boolean)\n .join(\" \")\n\n // FIX #03: build dynamic filter based on actual variant keys\n const variantKeySet = new Set(Object.keys(variants))\n const filterProps = makeFilterProps(variantKeySet)\n\n const tagStr = typeof tag === \"string\" ? tag : (tag.displayName ?? \"Component\")\n\n // ── static shortcut ───────────────────────────────────────────────────\n if (isStatic || Object.keys(variants).length === 0) {\n const Component = React.forwardRef<any, any>((props, ref) => {\n const { className, ...rest } = props\n return React.createElement(tag, {\n ref,\n ...filterProps(rest),\n className: twMerge(base, engineClasses, className),\n })\n })\n\n Component.displayName = `tw.${tagStr}`\n attachExtend(Component, tag, base, config)\n return Component as unknown as TwStyledComponent<P>\n }\n\n // ── variant path ──────────────────────────────────────────────────────\n const Component = React.forwardRef<any, any>((props, ref) => {\n const { className } = props\n const variantClasses = resolveVariants(variants, props, defaultVariants)\n const compoundClasses = resolveCompound(compoundVariants, props)\n\n return React.createElement(tag, {\n ref,\n ...filterProps(props),\n className: twMerge(base, variantClasses, compoundClasses, engineClasses, className),\n })\n })\n\n Component.displayName = `tw.${tagStr}`\n attachExtend(Component, tag, base, config)\n return Component as unknown as TwStyledComponent<P>\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// attachExtend — FIX #07\n// ─────────────────────────────────────────────────────────────────────────────\n\nfunction attachExtend(\n Component: any,\n originalTag: any,\n base: string,\n config: string | ComponentConfig\n) {\n Component.extend = (strings: TemplateStringsArray, ..._exprs: any[]) => {\n const extra = strings.raw.join(\"\").trim().replace(/\\s+/g, \" \")\n const merged = twMerge(base, extra)\n return createComponent(\n originalTag,\n typeof config === \"string\" ? merged : { ...(config as ComponentConfig), base: merged }\n )\n }\n\n Component.withVariants = (newConfig: Partial<ComponentConfig>) => {\n const existing = typeof config === \"object\" ? config : {}\n return createComponent(originalTag, {\n ...existing,\n base,\n variants: { ...(existing.variants ?? undefined), ...(newConfig.variants ?? undefined) },\n compoundVariants: [\n ...(existing.compoundVariants ?? []),\n ...(newConfig.compoundVariants ?? []),\n ],\n defaultVariants: {\n ...(existing.defaultVariants ?? undefined),\n ...(newConfig.defaultVariants ?? undefined),\n },\n })\n }\n\n // .animate() — integrates with @tailwind-styled/animate\n // Lazy require so animate package is optional\n Component.animate = async (opts: any) => {\n try {\n const { animate: animateFn } =\n require(\"@tailwind-styled/animate\") as typeof import(\"@tailwind-styled/animate\")\n const animClass = await animateFn(opts)\n const merged = twMerge(base, animClass)\n return createComponent(\n originalTag,\n typeof config === \"string\" ? merged : { ...(config as ComponentConfig), base: merged }\n )\n } catch {\n console.warn(\"[tailwind-styled-v4] .animate() requires @tailwind-styled/animate\")\n return Component\n }\n }\n}\n","/**\n * tailwind-styled-v4 v2 — cv()\n *\n * UPGRADE #3: cv() now infers exact variant values from config.\n *\n * Standalone class variant function — no React needed.\n * Compatible with shadcn/ui, Radix, Headless UI.\n *\n * @example\n * const button = cv({\n * base: \"px-4 py-2 rounded-lg\",\n * variants: { size: { sm: \"text-sm\", lg: \"text-lg\" } },\n * defaultVariants: { size: \"sm\" }\n * })\n *\n * // BEFORE: button({ size: \"xl\" }) — no error (size was string)\n * // AFTER: button({ size: \"xl\" }) — TypeScript ERROR: \"xl\" not in \"sm\" | \"lg\" ✓\n *\n * button({ size: \"lg\" }) → \"px-4 py-2 rounded-lg text-lg\"\n */\n\nimport { twMerge } from \"tailwind-merge\"\nimport type { ComponentConfig, CvFn, InferVariantProps } from \"./types\"\n\nexport function cv<C extends ComponentConfig>(config: C): CvFn<C> {\n const { base = \"\", variants = {}, compoundVariants = [], defaultVariants = {} } = config\n\n return (\n props: InferVariantProps<C> & { className?: string } & Record<string, any> = {} as any\n ): string => {\n const classes: string[] = [base]\n\n for (const key in variants) {\n const val = (props as any)[key] ?? defaultVariants[key]\n if (val !== undefined && (variants as any)[key][String(val)]) {\n classes.push((variants as any)[key][String(val)])\n }\n }\n\n for (const compound of compoundVariants) {\n const { class: cls, ...conditions } = compound\n const match = Object.entries(conditions).every(([k, v]) => (props as any)[k] === v)\n if (match) classes.push(cls)\n }\n\n if (props.className) classes.push(props.className)\n\n return twMerge(...classes)\n }\n}\n","/**\n * tailwind-styled-v4 v2 — cx / cn\n *\n * FIX #09: Rename for clarity — behavior was confusing with two near-identical utils.\n *\n * BEFORE:\n * cx() → simple join, no conflict resolution → cx(\"p-4\", \"p-8\") = \"p-4 p-8\" (WRONG)\n * cxm() → twMerge, correct — but obscure name\n *\n * AFTER:\n * cn() → simple join (for cases where you know there's no conflict)\n * cx() → twMerge-powered, conflict-aware (recommended for most use cases)\n * cxm() → kept as alias for cx() for backward compat\n */\n\nimport { twMerge } from \"tailwind-merge\"\n\ntype ClassValue = string | undefined | null | false | 0\n\n/**\n * cn — simple class name joiner (no conflict resolution).\n * Use when you know classes don't conflict.\n *\n * FIX #09: Previously named `cx`. Renamed to `cn` for clarity.\n *\n * @example cn(\"p-4\", isActive && \"opacity-100\") → \"p-4 opacity-100\"\n */\nexport function cn(...inputs: ClassValue[]): string {\n return inputs.filter(Boolean).join(\" \").replace(/\\s+/g, \" \").trim()\n}\n\n/**\n * cx — conflict-aware class merger using tailwind-merge.\n * Recommended for combining Tailwind classes where conflicts are possible.\n *\n * FIX #09: Previously named `cxm`. Renamed to `cx` as the primary utility.\n *\n * @example cx(\"p-4 p-8\") → \"p-8\" (conflict resolved, last wins)\n * @example cx(\"bg-red-500\", \"bg-blue-500\") → \"bg-blue-500\"\n */\nexport function cx(...inputs: ClassValue[]): string {\n return twMerge(...(inputs.filter(Boolean) as string[]))\n}\n\n/**\n * cxm — alias for cx(), kept for backward compatibility.\n * @deprecated Use cx() instead.\n */\nexport const cxm = cx\n","import { twMerge as twMergeOriginal } from \"tailwind-merge\"\n\nimport type { ThemeConfig } from \"./themeReader\"\n\nexport interface MergeOptions {\n prefix?: string\n separator?: string\n theme?: ThemeConfig\n}\n\nfunction normalizeClassInput(classLists: Array<string | undefined | null | false>): string[] {\n return classLists\n .filter(Boolean)\n .map((v) => String(v).trim())\n .filter((v) => v.length > 0)\n}\n\nexport function createTwMerge(_options: MergeOptions = {}) {\n return function twMerge(...classLists: Array<string | undefined | null | false>): string {\n const clean = normalizeClassInput(classLists)\n return twMergeOriginal(clean.join(\" \"))\n }\n}\n\nexport const twMerge = createTwMerge()\n\nexport function mergeWithRules(\n rules: Record<string, (classes: string[]) => string>,\n ...classLists: string[]\n): string {\n const base = twMerge(...classLists)\n let classes = base.split(/\\s+/).filter(Boolean)\n\n for (const rule of Object.values(rules)) {\n const next = rule(classes)\n classes = twMerge(next).split(/\\s+/).filter(Boolean)\n }\n\n return classes.join(\" \")\n}\n","/**\n * tailwind-styled-v4 — Live Token Engine\n *\n * Runtime design token management via CSS custom properties.\n * Theme changes propagate instantly — no rebuild, no re-render.\n *\n * Usage:\n * import { liveToken, setToken, setTokens, subscribeTokens } from \"tailwind-styled-v4\"\n *\n * // Define tokens (injected as CSS vars on first call)\n * const theme = liveToken({\n * primary: \"#3b82f6\",\n * secondary: \"#6366f1\",\n * accent: \"#f59e0b\",\n * surface: \"#18181b\",\n * \"text-base\": \"#e4e4e7\",\n * })\n *\n * // Use in components\n * const Button = tw.button`\n * bg-[var(--tw-token-primary)]\n * text-[var(--tw-token-text-base)]\n * `\n *\n * // Update at runtime (instant, no rebuild)\n * setToken(\"primary\", \"#ef4444\") // single token\n * setTokens({ primary: \"#ef4444\", secondary: \"#ec4899\" }) // batch\n *\n * // Switch themes\n * applyTokenSet(darkTheme)\n *\n * // Subscribe to changes\n * const unsub = subscribeTokens((tokens) => {\n * console.log(\"theme changed\", tokens)\n * })\n *\n * Token CSS variable naming:\n * token(\"primary\") → var(--tw-token-primary)\n * token(\"text-base\") → var(--tw-token-text-base)\n */\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Types\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport type TokenMap = Record<string, string>\n\nexport interface LiveTokenSet {\n /** Token name → CSS variable name mapping */\n vars: Record<string, string>\n /** Get current value of a token */\n get(name: string): string | undefined\n /** Update a single token */\n set(name: string, value: string): void\n /** Update multiple tokens at once */\n setAll(tokens: TokenMap): void\n /** Snapshot of current values */\n snapshot(): TokenMap\n}\n\nexport type TokenSubscriber = (tokens: TokenMap) => void\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Internal state\n// ─────────────────────────────────────────────────────────────────────────────\n\nlet _currentTokens: TokenMap = {}\nconst _subscribers = new Set<TokenSubscriber>()\nlet _styleEl: HTMLStyleElement | null = null\n\n// Devtools integration\nif (typeof window !== \"undefined\") {\n ;(window as any).__TW_TOKEN_ENGINE__ = {\n getTokens: () => _currentTokens,\n setToken: (name: string, value: string) => setToken(name, value),\n subscribe: (fn: TokenSubscriber) => subscribeTokens(fn),\n }\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// CSS variable name\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport function tokenVar(name: string): string {\n const normalized = name.replace(/[^a-zA-Z0-9-]/g, \"-\").toLowerCase()\n return `--tw-token-${normalized}`\n}\n\nexport function tokenRef(name: string): string {\n return `var(${tokenVar(name)})`\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Style injection\n// ─────────────────────────────────────────────────────────────────────────────\n\nfunction buildRootCss(tokens: TokenMap): string {\n const vars = Object.entries(tokens)\n .map(([name, value]) => ` ${tokenVar(name)}: ${value};`)\n .join(\"\\n\")\n return `:root {\\n${vars}\\n}`\n}\n\nfunction syncStyleEl(): void {\n if (typeof document === \"undefined\") return\n\n if (!_styleEl) {\n _styleEl = document.createElement(\"style\")\n _styleEl.id = \"tw-live-tokens\"\n _styleEl.setAttribute(\"data-tw-tokens\", \"true\")\n document.head.appendChild(_styleEl)\n }\n\n _styleEl.textContent = buildRootCss(_currentTokens)\n}\n\nfunction notifySubscribers(): void {\n const snapshot = { ..._currentTokens }\n for (const sub of _subscribers) {\n try {\n sub(snapshot)\n } catch {\n /* silent */\n }\n }\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Core API\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Define a set of live tokens and inject them as CSS variables.\n * Returns a LiveTokenSet for programmatic control.\n *\n * @example\n * const theme = liveToken({ primary: \"#3b82f6\" })\n * theme.set(\"primary\", \"#ef4444\") // instant update\n */\nexport function liveToken(tokens: TokenMap): LiveTokenSet {\n // Merge into current token map\n _currentTokens = { ..._currentTokens, ...tokens }\n syncStyleEl()\n\n const vars: Record<string, string> = {}\n for (const name of Object.keys(tokens)) {\n vars[name] = tokenRef(name)\n }\n\n return {\n vars,\n get(name) {\n return _currentTokens[name]\n },\n set(name, value) {\n setToken(name, value)\n },\n setAll(newTokens) {\n setTokens(newTokens)\n },\n snapshot() {\n return { ..._currentTokens }\n },\n }\n}\n\n/**\n * Update a single design token at runtime.\n * CSS variable is updated immediately — no rebuild needed.\n */\nexport function setToken(name: string, value: string): void {\n _currentTokens = { ..._currentTokens, [name]: value }\n\n // Fast path: update CSSOM directly if possible\n if (typeof document !== \"undefined\") {\n document.documentElement.style.setProperty(tokenVar(name), value)\n }\n\n notifySubscribers()\n}\n\n/**\n * Update multiple tokens in one batch (single DOM update).\n */\nexport function setTokens(tokens: TokenMap): void {\n _currentTokens = { ..._currentTokens, ...tokens }\n\n if (typeof document !== \"undefined\") {\n const root = document.documentElement\n for (const [name, value] of Object.entries(tokens)) {\n root.style.setProperty(tokenVar(name), value)\n }\n }\n\n notifySubscribers()\n}\n\n/**\n * Replace all tokens with a new token set (theme switch).\n */\nexport function applyTokenSet(tokens: TokenMap): void {\n // Remove old vars\n if (typeof document !== \"undefined\") {\n const root = document.documentElement\n for (const name of Object.keys(_currentTokens)) {\n if (!(name in tokens)) {\n root.style.removeProperty(tokenVar(name))\n }\n }\n }\n\n _currentTokens = { ...tokens }\n syncStyleEl()\n notifySubscribers()\n}\n\n/**\n * Get current value of a token.\n */\nexport function getToken(name: string): string | undefined {\n return _currentTokens[name]\n}\n\n/**\n * Get snapshot of all current tokens.\n */\nexport function getTokens(): TokenMap {\n return { ..._currentTokens }\n}\n\n/**\n * Subscribe to token changes.\n * Returns unsubscribe function.\n *\n * @example\n * const unsub = subscribeTokens((tokens) => {\n * document.documentElement.classList.toggle(\"dark\", tokens.surface === \"#000\")\n * })\n * // Later:\n * unsub()\n */\nexport function subscribeTokens(fn: TokenSubscriber): () => void {\n _subscribers.add(fn)\n return () => {\n _subscribers.delete(fn)\n }\n}\n\n/**\n * Generate SSR-safe CSS string for current tokens.\n */\nexport function generateTokenCssString(): string {\n return buildRootCss(_currentTokens)\n}\n\n/**\n * React hook for reading live tokens (re-renders on change).\n * Import from tailwind-styled-v4/react.\n */\nexport function createUseTokens() {\n // Lazy import React to avoid issues in non-React environments\n let useState: any, useEffect: any\n try {\n const react = require(\"react\")\n useState = react.useState\n useEffect = react.useEffect\n } catch {\n return null\n }\n\n return function useTokens(): TokenMap {\n const [tokens, setTokens_] = (useState as <S>(init: S) => [S, (v: S) => void])<TokenMap>({\n ..._currentTokens,\n })\n\n useEffect(() => {\n // Sync on mount\n setTokens_({ ..._currentTokens })\n const unsub = subscribeTokens((t) => setTokens_({ ...t }))\n return unsub\n }, [])\n\n return tokens\n }\n}\n","/**\n * tailwind-styled-v4 — createStyledSystem()\n *\n * Design System Factory — Mode 3 API.\n *\n * Level 1 — utility: tw.div`p-4`\n * Level 2 — styled: tw(Button)`px-4`\n * Level 3 — design system: ui.button({ variant: \"primary\" })\n *\n * Usage:\n * const ui = createStyledSystem({\n * tokens: {\n * colors: { primary: \"#6366f1\", muted: \"#71717a\" },\n * radius: { base: \"0.5rem\", full: \"9999px\" },\n * },\n * components: {\n * button: {\n * base: \"inline-flex items-center font-medium transition-colors\",\n * variants: {\n * variant: {\n * primary: \"bg-[var(--sys-color-primary)] text-white\",\n * ghost: \"bg-transparent border border-current\",\n * danger: \"bg-red-500 text-white\",\n * },\n * size: {\n * sm: \"h-8 px-3 text-sm\",\n * md: \"h-10 px-4 text-base\",\n * lg: \"h-12 px-6 text-lg\",\n * },\n * },\n * defaultVariants: { variant: \"primary\", size: \"md\" },\n * },\n * },\n * })\n *\n * const Button = ui.button()\n * // → <Button variant=\"primary\" size=\"lg\" />\n *\n * // Token access\n * ui.token(\"colors.primary\") // → \"var(--sys-color-primary)\"\n * ui.cssVar(\"colors.primary\") // → \"#6366f1\"\n */\n\nimport { createComponent } from \"./createComponent\"\nimport type { ComponentConfig, TwStyledComponent } from \"./types\"\n\n// ─────────────────────────────────────────────────────────────────────────────\n// System token types\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport type SystemTokenMap = Record<string, Record<string, string>>\n\nexport interface SystemComponentConfig extends ComponentConfig {\n /** Extra class applied only when used from the system (e.g. system-level resets) */\n systemBase?: string\n}\n\nexport interface StyledSystemConfig<\n T extends SystemTokenMap = SystemTokenMap,\n C extends Record<string, SystemComponentConfig> = Record<string, SystemComponentConfig>,\n> {\n /** Design tokens — injected as CSS custom properties under --sys-{group}-{name} */\n tokens?: T\n /** Component presets */\n components?: C\n /** CSS variable prefix. Default: \"sys\" → --sys-color-primary */\n prefix?: string\n /** If true, auto-inject token CSS vars into :root on init. Default: true */\n injectTokens?: boolean\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Token → CSS var helpers\n// ─────────────────────────────────────────────────────────────────────────────\n\nfunction tokenVarName(prefix: string, group: string, name: string): string {\n return `--${prefix}-${group}-${name}`\n}\n\nfunction tokenVarRef(prefix: string, group: string, name: string): string {\n return `var(${tokenVarName(prefix, group, name)})`\n}\n\nfunction resolveTokenRef(tokens: SystemTokenMap, prefix: string, value: string): string {\n // If value is \"token:colors.primary\" → resolve to var(--sys-colors-primary)\n if (value.startsWith(\"token:\")) {\n const path = value.slice(6)\n const [group, name] = path.split(\".\")\n if (group && name && tokens[group]?.[name] !== undefined) {\n return tokenVarRef(prefix, group, name)\n }\n }\n return value\n}\n\nfunction injectTokensToRoot(tokens: SystemTokenMap, prefix: string): void {\n if (typeof document === \"undefined\") return\n\n const styleId = `__tw-sys-tokens-${prefix}`\n if (document.getElementById(styleId)) return\n\n const lines: string[] = [\":root {\"]\n for (const [group, map] of Object.entries(tokens)) {\n for (const [name, value] of Object.entries(map)) {\n lines.push(` ${tokenVarName(prefix, group, name)}: ${value};`)\n }\n }\n lines.push(\"}\")\n\n const style = document.createElement(\"style\")\n style.id = styleId\n style.textContent = lines.join(\"\\n\")\n document.head.appendChild(style)\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Variant class resolver — replaces \"token:*\" references inside variant values\n// ─────────────────────────────────────────────────────────────────────────────\n\nfunction resolveComponentConfig(\n config: SystemComponentConfig,\n tokens: SystemTokenMap,\n prefix: string\n): ComponentConfig {\n const resolveStr = (s: string) => resolveTokenRef(tokens, prefix, s)\n\n const base = resolveStr(config.base ?? \"\")\n const systemBase = resolveStr(config.systemBase ?? \"\")\n const mergedBase = [systemBase, base].filter(Boolean).join(\" \")\n\n const variants: Record<string, Record<string, string>> = {}\n for (const [variantKey, variantMap] of Object.entries(config.variants ?? {})) {\n variants[variantKey] = {}\n for (const [optKey, classes] of Object.entries(variantMap)) {\n variants[variantKey][optKey] = classes.split(\" \").map(resolveStr).join(\" \")\n }\n }\n\n const compoundVariants = (config.compoundVariants ?? []).map((cv) => {\n const { class: cls, ...rest } = cv\n return { class: resolveStr(cls), ...rest }\n })\n\n return {\n base: mergedBase,\n variants,\n compoundVariants,\n defaultVariants: config.defaultVariants ?? {},\n state: config.state,\n container: config.container,\n containerName: config.containerName,\n }\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// StyledSystem instance type\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport type SystemComponentFactory<C extends SystemComponentConfig> = (\n overrides?: Partial<C>\n) => TwStyledComponent<any>\n\nexport type StyledSystemInstance<\n T extends SystemTokenMap,\n C extends Record<string, SystemComponentConfig>,\n> = {\n [K in keyof C]: SystemComponentFactory<C[K]>\n} & {\n /**\n * Get the CSS variable reference for a token.\n * @example ui.token(\"colors.primary\") → \"var(--sys-colors-primary)\"\n */\n token(path: string): string\n /**\n * Get the raw value of a token.\n * @example ui.rawToken(\"colors.primary\") → \"#6366f1\"\n */\n rawToken(path: string): string | undefined\n /**\n * Update token values at runtime (re-injects into :root).\n */\n setTokens(updates: Partial<{ [G in keyof T]: Partial<T[G]> }>): void\n /**\n * Access the resolved component config for a registered component.\n */\n getConfig(name: keyof C): ComponentConfig | undefined\n /**\n * The tokens object (for reference).\n */\n tokens: T\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// createStyledSystem\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport function createStyledSystem<\n T extends SystemTokenMap = SystemTokenMap,\n C extends Record<string, SystemComponentConfig> = Record<string, SystemComponentConfig>,\n>(config: StyledSystemConfig<T, C>): StyledSystemInstance<T, C> {\n const prefix = config.prefix ?? \"sys\"\n const tokens = (config.tokens ?? {}) as unknown as T\n const componentDefs = config.components ?? ({} as C)\n const shouldInject = config.injectTokens !== false\n\n // Inject tokens into :root on first call (client only)\n if (shouldInject && typeof window !== \"undefined\") {\n injectTokensToRoot(tokens as unknown as SystemTokenMap, prefix)\n }\n\n // Cache resolved component configs\n const resolvedConfigs = new Map<string, ComponentConfig>()\n\n for (const [name, compCfg] of Object.entries(componentDefs)) {\n resolvedConfigs.set(\n name,\n resolveComponentConfig(compCfg, tokens as unknown as SystemTokenMap, prefix)\n )\n }\n\n // Build component factories\n const factories: Record<string, SystemComponentFactory<any>> = {}\n\n for (const [name, compCfg] of Object.entries(componentDefs)) {\n const tag = (compCfg as any).tag ?? \"div\"\n\n factories[name] = (overrides?: Partial<SystemComponentConfig>) => {\n const baseResolved = resolvedConfigs.get(name)!\n\n if (!overrides || Object.keys(overrides).length === 0) {\n return createComponent(tag, baseResolved)\n }\n\n // Merge overrides into resolved config\n const overrideResolved = resolveComponentConfig(\n overrides as SystemComponentConfig,\n tokens as unknown as SystemTokenMap,\n prefix\n )\n\n const merged: ComponentConfig = {\n base: [baseResolved.base, overrideResolved.base].filter(Boolean).join(\" \"),\n variants: {\n ...(baseResolved.variants ?? undefined),\n ...(overrideResolved.variants ?? undefined),\n },\n compoundVariants: [\n ...(baseResolved.compoundVariants ?? []),\n ...(overrideResolved.compoundVariants ?? []),\n ],\n defaultVariants: {\n ...(baseResolved.defaultVariants ?? undefined),\n ...(overrideResolved.defaultVariants ?? undefined),\n },\n state: overrideResolved.state ?? baseResolved.state,\n container: overrideResolved.container ?? baseResolved.container,\n containerName: overrideResolved.containerName ?? baseResolved.containerName,\n }\n\n return createComponent(tag, merged)\n }\n }\n\n // Token utilities\n function token(path: string): string {\n const [group, name] = path.split(\".\")\n if (!group || !name) return path\n return tokenVarRef(prefix, group, name)\n }\n\n function rawToken(path: string): string | undefined {\n const [group, name] = path.split(\".\")\n if (!group || !name) return undefined\n return (tokens as unknown as SystemTokenMap)[group]?.[name]\n }\n\n function setTokens(updates: Partial<{ [G in keyof T]: Partial<T[G]> }>): void {\n if (typeof document === \"undefined\") return\n\n // Find or create the :root style element\n const styleId = `__tw-sys-tokens-${prefix}`\n let style = document.getElementById(styleId) as HTMLStyleElement | null\n if (!style) {\n style = document.createElement(\"style\")\n style.id = styleId\n document.head.appendChild(style)\n }\n\n // Merge updates into tokens and re-generate\n for (const [group, map] of Object.entries(updates)) {\n if (!tokens[group as keyof T]) continue\n for (const [name, value] of Object.entries(map as Record<string, string>)) {\n ;(tokens as unknown as SystemTokenMap)[group][name] = value\n }\n }\n\n const lines: string[] = [\":root {\"]\n for (const [group, map] of Object.entries(tokens as unknown as SystemTokenMap)) {\n for (const [name, value] of Object.entries(map)) {\n lines.push(` ${tokenVarName(prefix, group, name)}: ${value};`)\n }\n }\n lines.push(\"}\")\n style.textContent = lines.join(\"\\n\")\n }\n\n function getConfig(name: keyof C): ComponentConfig | undefined {\n return resolvedConfigs.get(name as string)\n }\n\n return Object.assign(factories, {\n token,\n rawToken,\n setTokens,\n getConfig,\n tokens,\n }) as unknown as StyledSystemInstance<T, C>\n}\n","import { twMerge } from \"./merge\"\n\nexport interface StyledOptions {\n base?: string\n variants?: Record<string, Record<string, string>>\n defaultVariants?: Record<string, string>\n compoundVariants?: Array<{\n variants: Record<string, string>\n className: string\n }>\n}\n\nexport type StyledProps = {\n className?: string\n} & Record<string, string | number | boolean | undefined>\n\nfunction resolveVariantClass(options: StyledOptions, props: StyledProps): string[] {\n const out: string[] = []\n const variants = options.variants ?? {}\n const defaults = options.defaultVariants ?? {}\n\n for (const [variantName, valueMap] of Object.entries(variants)) {\n const value = props[variantName] ?? defaults[variantName]\n if (value === undefined) continue\n\n const key = String(value)\n const cls = valueMap[key]\n if (cls) out.push(cls)\n }\n\n for (const compound of options.compoundVariants ?? []) {\n const matches = Object.entries(compound.variants).every(([k, expected]) => {\n const current = props[k] ?? defaults[k]\n return String(current) === expected\n })\n\n if (matches) out.push(compound.className)\n }\n\n return out\n}\n\nexport function resolveStyledClassName(options: StyledOptions, props: StyledProps = {}): string {\n const parts = [options.base ?? \"\", ...resolveVariantClass(options, props), props.className ?? \"\"]\n return twMerge(...parts)\n}\n\nexport function styled(options: StyledOptions) {\n return function getClassName(props: StyledProps = {}): string {\n return resolveStyledClassName(options, props)\n }\n}\n","/**\n * tailwind-styled-v4 v2 — tw\n *\n * API:\n * tw.div`p-4 bg-zinc-900`\n * tw.button({ base: \"px-4\", variants: { size: { sm: \"text-sm\" } } })\n * tw(Link)`underline text-blue-400`\n * tw.server.div`p-4` ← server-only, compiler enforced + runtime dev warning\n */\n\nimport type React from \"react\"\nimport { createComponent } from \"./createComponent\"\nimport type {\n ComponentConfig,\n TwComponentFactory,\n TwObject,\n TwServerObject,\n TwStyledComponent,\n TwTagFactory,\n} from \"./types\"\n\n// types.ts is single source of truth — re-export for consumers\nexport type { TwTagFactory, TwComponentFactory, TwObject, TwServerObject }\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Template parser\n// ─────────────────────────────────────────────────────────────────────────────\n\nfunction parseTemplate(strings: TemplateStringsArray, exprs: any[]): string {\n return strings.raw\n .reduce((acc, str, i) => {\n const expr = exprs[i]\n const exprStr = typeof expr === \"function\" ? \"\" : (expr ?? \"\")\n return acc + str + String(exprStr)\n }, \"\")\n .split(\"\\n\")\n .map((l) => l.trim())\n .filter(Boolean)\n .join(\" \")\n .replace(/\\s+/g, \" \")\n .trim()\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// makeTag\n// ─────────────────────────────────────────────────────────────────────────────\n\nfunction makeTag(tag: any): TwTagFactory<any> {\n return ((\n stringsOrConfig: TemplateStringsArray | ComponentConfig,\n ...exprs: any[]\n ): TwStyledComponent<any> => {\n if (\n !Array.isArray(stringsOrConfig) &&\n typeof stringsOrConfig === \"object\" &&\n stringsOrConfig !== null &&\n !(\"raw\" in stringsOrConfig)\n ) {\n return createComponent(tag, stringsOrConfig as ComponentConfig)\n }\n const classes = parseTemplate(stringsOrConfig as TemplateStringsArray, exprs)\n return createComponent(tag, classes)\n }) as TwTagFactory<any>\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// HTML tag list\n// ─────────────────────────────────────────────────────────────────────────────\n\nconst HTML_TAGS = [\n \"div\",\n \"section\",\n \"article\",\n \"aside\",\n \"header\",\n \"footer\",\n \"main\",\n \"nav\",\n \"figure\",\n \"figcaption\",\n \"details\",\n \"summary\",\n \"h1\",\n \"h2\",\n \"h3\",\n \"h4\",\n \"h5\",\n \"h6\",\n \"p\",\n \"span\",\n \"strong\",\n \"em\",\n \"b\",\n \"i\",\n \"s\",\n \"u\",\n \"small\",\n \"mark\",\n \"abbr\",\n \"cite\",\n \"code\",\n \"kbd\",\n \"samp\",\n \"var\",\n \"time\",\n \"address\",\n \"blockquote\",\n \"q\",\n \"del\",\n \"ins\",\n \"sub\",\n \"sup\",\n \"ul\",\n \"ol\",\n \"li\",\n \"dl\",\n \"dt\",\n \"dd\",\n \"table\",\n \"thead\",\n \"tbody\",\n \"tfoot\",\n \"tr\",\n \"th\",\n \"td\",\n \"caption\",\n \"colgroup\",\n \"col\",\n \"img\",\n \"picture\",\n \"video\",\n \"audio\",\n \"source\",\n \"track\",\n \"canvas\",\n \"svg\",\n \"path\",\n \"circle\",\n \"rect\",\n \"line\",\n \"polyline\",\n \"polygon\",\n \"g\",\n \"defs\",\n \"use\",\n \"symbol\",\n \"form\",\n \"input\",\n \"textarea\",\n \"select\",\n \"option\",\n \"optgroup\",\n \"button\",\n \"label\",\n \"fieldset\",\n \"legend\",\n \"output\",\n \"progress\",\n \"meter\",\n \"datalist\",\n \"a\",\n \"area\",\n \"map\",\n \"iframe\",\n \"embed\",\n \"object\",\n \"pre\",\n \"hr\",\n \"br\",\n \"wbr\",\n \"dialog\",\n \"menu\",\n \"template\",\n \"slot\",\n] as const\n\n// ─────────────────────────────────────────────────────────────────────────────\n// tw.server — server-only namespace with dev warning\n// ─────────────────────────────────────────────────────────────────────────────\n\nfunction makeServerTag(tag: any): TwTagFactory<any> {\n const baseFactory = makeTag(tag)\n if (typeof window !== \"undefined\" && process.env.NODE_ENV !== \"production\") {\n return ((...args: any[]): TwStyledComponent<any> => {\n const tagName = typeof tag === \"string\" ? tag : (tag.displayName ?? \"Component\")\n console.warn(\n `[tailwind-styled-v4] tw.server.${tagName} rendered in browser. ` +\n `Ensure withTailwindStyled or Vite plugin is configured.`\n )\n return (baseFactory as any)(...args)\n }) as TwTagFactory<any>\n }\n return baseFactory\n}\n\n// Build server namespace — explicit type annotation so DTS bundler doesn't\n// flatten it to Readonly<{}> (which happens with Object.freeze)\nconst serverFactories: { [K: string]: TwTagFactory<any> } = {}\nfor (const tag of HTML_TAGS) {\n serverFactories[tag] = makeServerTag(tag)\n}\n\nexport const server: TwServerObject = serverFactories as unknown as TwServerObject\n\n// ─────────────────────────────────────────────────────────────────────────────\n// tw — main export\n// ─────────────────────────────────────────────────────────────────────────────\n\nconst tagFactories: { [K: string]: TwTagFactory<any> } = {}\nfor (const tag of HTML_TAGS) {\n tagFactories[tag] = makeTag(tag)\n}\n\nfunction twCallable<C extends React.ComponentType<any>>(component: C): TwComponentFactory<C> {\n return makeTag(component) as any\n}\n\n// Explicit type annotation — TypeScript uses TwObject, DTS bundler inlines it correctly\nexport const tw: TwObject = Object.assign(twCallable as any, tagFactories, {\n server,\n}) as unknown as TwObject\n","/**\n * tailwind-styled-v4 v2 — twTheme\n *\n * UPGRADE #1: Tailwind v4 CSS Variables integration.\n *\n * Tailwind v4 uses @theme inline to expose design tokens as CSS custom properties:\n * @theme inline {\n * --color-background: var(--background);\n * --color-foreground: var(--foreground);\n * --font-sans: var(--font-geist-sans);\n * }\n *\n * This module bridges tw() syntax with those CSS variables — zero config,\n * full IDE support, type-safe design tokens.\n *\n * @example\n * // Without twTheme (verbose, error-prone)\n * const Box = tw.div`bg-[var(--color-background)] text-[var(--color-foreground)]`\n *\n * // With twTheme (clean, type-safe)\n * const Box = tw.div`${t.bg(\"color-background\")} ${t.text(\"color-foreground\")}`\n *\n * // Or with createTheme for full project-level token map\n * const theme = createTheme({\n * colors: { bg: \"color-background\", fg: \"color-foreground\", primary: \"color-primary\" },\n * fonts: { sans: \"font-sans\", mono: \"font-mono\" },\n * })\n * const Box = tw.div`bg-${theme.colors.bg} text-${theme.colors.fg}`\n */\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Core helper — CSS variable reference\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Reference a CSS custom property in Tailwind v4 arbitrary value syntax.\n *\n * @example\n * cssVar(\"color-background\") → \"var(--color-background)\"\n * cssVar(\"color-primary\", \"#3b82f6\") → \"var(--color-primary, #3b82f6)\"\n */\nexport function cssVar(varName: string, fallback?: string): string {\n const name = varName.startsWith(\"--\") ? varName : `--${varName}`\n return fallback ? `var(${name}, ${fallback})` : `var(${name})`\n}\n\n/**\n * Generate a Tailwind v4 arbitrary value that references a CSS variable.\n *\n * @example\n * twVar(\"bg\", \"color-background\") → \"bg-[var(--color-background)]\"\n * twVar(\"text\", \"color-foreground\") → \"text-[var(--color-foreground)]\"\n * twVar(\"border\", \"color-border\", \"#e5e7eb\") → \"border-[var(--color-border,#e5e7eb)]\"\n */\nexport function twVar(property: string, varName: string, fallback?: string): string {\n const ref = fallback ? `var(--${varName},${fallback})` : `var(--${varName})`\n return `${property}-[${ref}]`\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Convenience shorthand builders\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport const t = {\n /** Background color from CSS variable: t.bg(\"color-primary\") → \"bg-[var(--color-primary)]\" */\n bg: (v: string, fb?: string) => twVar(\"bg\", v, fb),\n /** Text color from CSS variable */\n text: (v: string, fb?: string) => twVar(\"text\", v, fb),\n /** Border color from CSS variable */\n border: (v: string, fb?: string) => twVar(\"border\", v, fb),\n /** Ring color from CSS variable */\n ring: (v: string, fb?: string) => twVar(\"ring\", v, fb),\n /** Outline color from CSS variable */\n outline: (v: string, fb?: string) => twVar(\"outline\", v, fb),\n /** Fill color from CSS variable (SVG) */\n fill: (v: string, fb?: string) => twVar(\"fill\", v, fb),\n /** Stroke color from CSS variable (SVG) */\n stroke: (v: string, fb?: string) => twVar(\"stroke\", v, fb),\n /** Font family from CSS variable */\n font: (v: string, fb?: string) => twVar(\"font\", v, fb),\n /** Shadow from CSS variable */\n shadow: (v: string, fb?: string) => twVar(\"shadow\", v, fb),\n /** Any arbitrary property from CSS variable */\n var: (property: string, v: string, fb?: string) => twVar(property, v, fb),\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// createTheme — project-level design token map\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport interface ThemeTokenMap {\n colors?: Record<string, string>\n fonts?: Record<string, string>\n spacing?: Record<string, string>\n [key: string]: Record<string, string> | undefined\n}\n\nexport type ResolvedThemeTokens<T extends ThemeTokenMap> = {\n [Group in keyof T]: T[Group] extends Record<string, string>\n ? {\n [Token in keyof T[Group]]: string\n }\n : never\n}\n\n/**\n * Create a typed theme token map from your CSS variable names.\n * Returns helper functions that generate Tailwind v4 arbitrary values.\n *\n * @example\n * // Define your tokens (match your globals.css @theme block)\n * const theme = createTheme({\n * colors: {\n * bg: \"color-background\",\n * fg: \"color-foreground\",\n * primary: \"color-primary\",\n * muted: \"color-muted\",\n * },\n * fonts: {\n * sans: \"font-sans\",\n * mono: \"font-mono\",\n * },\n * })\n *\n * // Use in tw components\n * const Card = tw.div`\n * bg-${theme.colors.bg}\n * text-${theme.colors.fg}\n * font-${theme.fonts.sans}\n * `\n * // → tw.div`bg-[var(--color-background)] text-[var(--color-foreground)] font-[var(--font-sans)]`\n *\n * // Use in cv()\n * const button = cv({\n * base: `px-4 py-2 ${theme.colors.bg} ${theme.colors.fg}`,\n * variants: { ... }\n * })\n */\nexport function createTheme<T extends ThemeTokenMap>(tokenMap: T): ResolvedThemeTokens<T> {\n const resolved = {} as any\n\n for (const group in tokenMap) {\n resolved[group] = {}\n const tokens = tokenMap[group]!\n for (const name in tokens) {\n const varName = tokens[name]\n // Determine Tailwind property prefix based on group name\n const prefix = getGroupPrefix(group)\n resolved[group][name] = prefix ? twVar(prefix, varName) : cssVar(varName)\n }\n }\n\n return resolved as ResolvedThemeTokens<T>\n}\n\nfunction getGroupPrefix(group: string): string {\n const map: Record<string, string> = {\n colors: \"bg\", // default to bg; user can use t.text() for text colors\n fonts: \"font\",\n spacing: \"p\",\n shadows: \"shadow\",\n }\n return map[group] ?? \"\"\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Standard Tailwind v4 tokens\n//\n// Pre-built token references for the default next-app globals.css setup.\n// These match what Tailwind v4's @theme inline generates.\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Pre-built references for standard Tailwind v4 CSS variable tokens.\n * Works out of the box with next-app-standar-config globals.css.\n *\n * @example\n * import { v4Tokens } from \"tailwind-styled-v4\"\n *\n * const Page = tw.div`${v4Tokens.bg} ${v4Tokens.text}`\n * // → tw.div`bg-[var(--color-background)] text-[var(--color-foreground)]`\n */\nexport const v4Tokens = {\n /** bg-[var(--color-background)] */\n bg: twVar(\"bg\", \"color-background\"),\n /** text-[var(--color-foreground)] */\n text: twVar(\"text\", \"color-foreground\"),\n /** font-[var(--font-sans)] */\n fontSans: twVar(\"font\", \"font-sans\"),\n /** font-[var(--font-mono)] */\n fontMono: twVar(\"font\", \"font-mono\"),\n} as const\n","/**\n * tailwind-styled-v4 — Class parser\n *\n * Tries the Rust native binding first (parse_classes via napi),\n * falls back to the JS implementation when the binding is unavailable.\n *\n * Public API is unchanged — same types and functions as before.\n */\n\n// Lazy load Node built-ins — browser safe (never called in browser context)\nconst _getNodePath = () => (typeof require !== \"undefined\" ? require(\"path\") : null)\nconst _getCreateRequire = () => {\n if (typeof require !== \"undefined\") {\n try {\n return require(\"module\").createRequire\n } catch {\n return null\n }\n }\n return null\n}\n\n// ── Types (re-exported so consumers don't need to change imports) ─────────────\n\nexport interface ParsedClassModifier {\n type: \"opacity\" | \"arbitrary\"\n value: string\n}\n\nexport interface ParsedClass {\n raw: string\n base: string\n variants: string[]\n modifier?: ParsedClassModifier\n}\n\n// ── Rust native binding ───────────────────────────────────────────────────────\n\ninterface NativeParserBinding {\n parseClasses?: (input: string) => Array<{\n raw: string\n base: string\n variants: string[]\n modifierType?: string | null\n modifierValue?: string | null\n }>\n}\n\nlet _binding: NativeParserBinding | null | undefined\n\nfunction getBinding(): NativeParserBinding | null {\n if (_binding !== undefined) return _binding\n if (process.env.TWS_NO_NATIVE === \"1\" || process.env.TWS_NO_RUST === \"1\") {\n return (_binding = null)\n }\n // Guard: skip entirely in browser environment\n if (typeof process === \"undefined\" || typeof process.cwd !== \"function\") {\n return (_binding = null)\n }\n\n const runtimeDir = typeof __dirname === \"string\" ? __dirname : process.cwd()\n\n // Lazy-load Node built-ins — safe in browser (never reached due to guard above)\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n const nodePath = _getNodePath()\n const nodeCreateRequire = _getCreateRequire()\n if (!nodePath) return (_binding = null)\n\n const req =\n typeof require === \"function\"\n ? require\n : nodeCreateRequire\n ? nodeCreateRequire(nodePath.join(runtimeDir, \"noop.cjs\"))\n : null\n\n if (!req) return (_binding = null)\n\n const candidates = [\n nodePath.resolve(process.cwd(), \"native\", \"tailwind_styled_parser.node\"),\n nodePath.resolve(runtimeDir, \"..\", \"..\", \"..\", \"native\", \"tailwind_styled_parser.node\"),\n nodePath.resolve(runtimeDir, \"..\", \"..\", \"..\", \"..\", \"native\", \"tailwind_styled_parser.node\"),\n ]\n\n for (const c of candidates) {\n try {\n const mod = req(c) as NativeParserBinding\n if (mod?.parseClasses) return (_binding = mod)\n } catch {\n /* try next */\n }\n }\n\n return (_binding = null)\n}\n\n// ── JS fallback implementations ───────────────────────────────────────────────\n\nfunction splitClassListJS(input: string): string[] {\n const out: string[] = []\n let token = \"\"\n let square = 0\n let round = 0\n let escaped = false\n\n for (const ch of input) {\n if (escaped) {\n token += ch\n escaped = false\n continue\n }\n if (ch === \"\\\\\") {\n token += ch\n escaped = true\n continue\n }\n if (ch === \"[\") square++\n else if (ch === \"]\") square = Math.max(0, square - 1)\n else if (ch === \"(\") round++\n else if (ch === \")\") round = Math.max(0, round - 1)\n const isSpace = /\\s/.test(ch)\n if (isSpace && square === 0 && round === 0) {\n if (token.trim().length > 0) out.push(token.trim())\n token = \"\"\n continue\n }\n token += ch\n }\n if (token.trim().length > 0) out.push(token.trim())\n return out\n}\n\nfunction parseClassTokenJS(rawToken: string): ParsedClass {\n const parts: string[] = []\n let current = \"\"\n let square = 0\n let round = 0\n let escaped = false\n\n for (const ch of rawToken) {\n if (escaped) {\n current += ch\n escaped = false\n continue\n }\n if (ch === \"\\\\\") {\n current += ch\n escaped = true\n continue\n }\n if (ch === \"[\") square++\n else if (ch === \"]\") square = Math.max(0, square - 1)\n else if (ch === \"(\") round++\n else if (ch === \")\") round = Math.max(0, round - 1)\n if (ch === \":\" && square === 0 && round === 0) {\n parts.push(current)\n current = \"\"\n continue\n }\n current += ch\n }\n parts.push(current)\n\n const variants = parts.slice(0, -1).filter(Boolean)\n const baseToken = parts[parts.length - 1] ?? \"\"\n const parsed: ParsedClass = { raw: rawToken, base: baseToken, variants }\n\n const opacityMatch = baseToken.match(/^(.*)\\/(\\d{1,3})$/)\n if (opacityMatch && opacityMatch[1].length > 0) {\n parsed.base = opacityMatch[1]\n parsed.modifier = { type: \"opacity\", value: opacityMatch[2] }\n return parsed\n }\n\n const arbitraryMatch = baseToken.match(/\\((--[a-zA-Z0-9_-]+)\\)/)\n if (arbitraryMatch) {\n parsed.modifier = { type: \"arbitrary\", value: arbitraryMatch[1] }\n }\n\n return parsed\n}\n\n// ── Public API ────────────────────────────────────────────────────────────────\n\n/**\n * Split a Tailwind class string, preserving bracket/parenthesis expressions.\n * Uses Rust napi when available, JS fallback otherwise.\n */\nexport function splitClassList(input: string): string[] {\n const binding = getBinding()\n if (binding?.parseClasses) {\n try {\n return binding.parseClasses(input).map((p) => p.raw)\n } catch {\n /* fall through */\n }\n }\n return splitClassListJS(input)\n}\n\n/**\n * Parse a single Tailwind class token into variants + base + modifier metadata.\n * Uses Rust napi when available, JS fallback otherwise.\n */\nexport function parseClassToken(rawToken: string): ParsedClass {\n const binding = getBinding()\n if (binding?.parseClasses) {\n try {\n const results = binding.parseClasses(rawToken)\n if (results.length === 1) {\n const r = results[0]\n const parsed: ParsedClass = {\n raw: r.raw,\n base: r.base,\n variants: r.variants,\n }\n if (r.modifierType && r.modifierValue) {\n parsed.modifier = {\n type: r.modifierType as \"opacity\" | \"arbitrary\",\n value: r.modifierValue,\n }\n }\n return parsed\n }\n } catch {\n /* fall through */\n }\n }\n return parseClassTokenJS(rawToken)\n}\n\n/**\n * Parse all Tailwind classes in a space-separated string.\n * Uses Rust napi for bulk parsing when available.\n */\nexport function parseTailwindClasses(input: string): ParsedClass[] {\n const binding = getBinding()\n if (binding?.parseClasses) {\n try {\n return binding.parseClasses(input).map((r) => {\n const parsed: ParsedClass = { raw: r.raw, base: r.base, variants: r.variants }\n if (r.modifierType && r.modifierValue) {\n parsed.modifier = {\n type: r.modifierType as \"opacity\" | \"arbitrary\",\n value: r.modifierValue,\n }\n }\n return parsed\n })\n } catch {\n /* fall through */\n }\n }\n return splitClassListJS(input).map(parseClassTokenJS)\n}\n","export interface ThemeConfig {\n colors: Record<string, string>\n spacing: Record<string, string>\n fonts: Record<string, string>\n breakpoints: Record<string, string>\n animations: Record<string, string>\n raw: Record<string, string>\n}\n\nconst THEME_BLOCK_RE = /@theme\\s*\\{([\\s\\S]*?)\\}/g\nconst CSS_VAR_RE = /--([a-zA-Z0-9_-]+)\\s*:\\s*([^;]+);/g\n\nconst cache = new Map<string, ThemeConfig>()\n\nfunction createEmptyTheme(): ThemeConfig {\n return {\n colors: {},\n spacing: {},\n fonts: {},\n breakpoints: {},\n animations: {},\n raw: {},\n }\n}\n\nfunction setToken(theme: ThemeConfig, key: string, value: string): void {\n theme.raw[key] = value\n\n if (key.startsWith(\"color-\")) {\n theme.colors[key.slice(\"color-\".length)] = value\n return\n }\n if (key.startsWith(\"spacing-\")) {\n theme.spacing[key.slice(\"spacing-\".length)] = value\n return\n }\n if (key.startsWith(\"font-\")) {\n theme.fonts[key.slice(\"font-\".length)] = value\n return\n }\n if (key.startsWith(\"breakpoint-\")) {\n theme.breakpoints[key.slice(\"breakpoint-\".length)] = value\n return\n }\n if (key.startsWith(\"animate-\")) {\n theme.animations[key.slice(\"animate-\".length)] = value\n }\n}\n\nexport function resolveThemeValue(\n key: string,\n theme: ThemeConfig,\n visited: Set<string> = new Set()\n): string {\n const token = key.replace(/^--/, \"\")\n const raw = theme.raw[token]\n if (!raw) return \"\"\n if (visited.has(token)) return raw\n\n const nested = raw.match(/^var\\((--[a-zA-Z0-9_-]+)\\)$/)\n if (!nested) return raw\n\n visited.add(token)\n return resolveThemeValue(nested[1], theme, visited)\n}\n\nexport function extractThemeFromCSS(cssContent: string): ThemeConfig {\n const hit = cache.get(cssContent)\n if (hit) return hit\n\n const theme = createEmptyTheme()\n\n let blockMatch: RegExpExecArray | null\n while ((blockMatch = THEME_BLOCK_RE.exec(cssContent)) !== null) {\n const block = blockMatch[1]\n\n let varMatch: RegExpExecArray | null\n while ((varMatch = CSS_VAR_RE.exec(block)) !== null) {\n const key = varMatch[1]\n const value = varMatch[2].trim()\n setToken(theme, key, value)\n }\n }\n\n for (const key of Object.keys(theme.raw)) {\n const resolved = resolveThemeValue(`--${key}`, theme)\n theme.raw[key] = resolved\n\n if (key.startsWith(\"color-\")) {\n theme.colors[key.slice(\"color-\".length)] = resolved\n } else if (key.startsWith(\"spacing-\")) {\n theme.spacing[key.slice(\"spacing-\".length)] = resolved\n } else if (key.startsWith(\"font-\")) {\n theme.fonts[key.slice(\"font-\".length)] = resolved\n } else if (key.startsWith(\"breakpoint-\")) {\n theme.breakpoints[key.slice(\"breakpoint-\".length)] = resolved\n } else if (key.startsWith(\"animate-\")) {\n theme.animations[key.slice(\"animate-\".length)] = resolved\n }\n }\n\n cache.set(cssContent, theme)\n return theme\n}\n\nexport function generateTypeDefinitions(theme: ThemeConfig): string {\n const toRecordType = (name: string, obj: Record<string, string>) => {\n const keys = Object.keys(obj)\n if (keys.length === 0) return ` ${name}: Record<string, string>`\n const mapped = keys.map((k) => ` \"${k}\": string`).join(\"\\n\")\n return ` ${name}: {\\n${mapped}\\n }`\n }\n\n return [\n \"export interface TailwindStyledThemeTokens {\",\n toRecordType(\"colors\", theme.colors),\n toRecordType(\"spacing\", theme.spacing),\n toRecordType(\"fonts\", theme.fonts),\n toRecordType(\"breakpoints\", theme.breakpoints),\n toRecordType(\"animations\", theme.animations),\n \"}\",\n \"\",\n ].join(\"\\n\")\n}\n\nexport function clearThemeReaderCache(): void {\n cache.clear()\n}\n"]}