@backbay/glia 0.2.0-alpha.7 → 0.2.0-alpha.8

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 (226) hide show
  1. package/dist/audio/index.js +1145 -5
  2. package/dist/audio/index.js.map +1 -1
  3. package/dist/components/index.js +3187 -10
  4. package/dist/components/index.js.map +1 -1
  5. package/dist/core.js +19714 -12
  6. package/dist/core.js.map +1 -1
  7. package/dist/emotion/index.js +1 -1
  8. package/dist/emotion/index.js.map +1 -1
  9. package/dist/hooks/index.js +941 -6
  10. package/dist/hooks/index.js.map +1 -1
  11. package/dist/index.js +31841 -183
  12. package/dist/index.js.map +1 -1
  13. package/dist/primitives/index.js +21111 -57
  14. package/dist/primitives/index.js.map +1 -1
  15. package/dist/protocol/index.js +360 -2
  16. package/dist/protocol/index.js.map +1 -1
  17. package/dist/speakeasy/index.js +2786 -38
  18. package/dist/speakeasy/index.js.map +1 -1
  19. package/dist/styles.css +1 -1
  20. package/dist/theme/index.js +1150 -3
  21. package/dist/theme/index.js.map +1 -1
  22. package/dist/vision/index.js +370 -2
  23. package/dist/vision/index.js.map +1 -1
  24. package/dist/workspace/index.js +16824 -2
  25. package/dist/workspace/index.js.map +1 -1
  26. package/package.json +15 -9
  27. package/dist/AuroraBackground-AP6ZHVFA.js +0 -6
  28. package/dist/AuroraBackground-AP6ZHVFA.js.map +0 -1
  29. package/dist/BentoGrid-CDARICNM.js +0 -6
  30. package/dist/BentoGrid-CDARICNM.js.map +0 -1
  31. package/dist/CommandPalette-JCWJKRBY.js +0 -6
  32. package/dist/CommandPalette-JCWJKRBY.js.map +0 -1
  33. package/dist/Glass-H4X4ZI4P.js +0 -7
  34. package/dist/Glass-H4X4ZI4P.js.map +0 -1
  35. package/dist/GlitchText-KLQ57PPY.js +0 -6
  36. package/dist/GlitchText-KLQ57PPY.js.map +0 -1
  37. package/dist/GlowButton-VGBPMZO7.js +0 -6
  38. package/dist/GlowButton-VGBPMZO7.js.map +0 -1
  39. package/dist/Graph3D-GO7N2EZQ.js +0 -540
  40. package/dist/Graph3D-GO7N2EZQ.js.map +0 -1
  41. package/dist/HUDProgressRing-N6C5NAEV.js +0 -6
  42. package/dist/HUDProgressRing-N6C5NAEV.js.map +0 -1
  43. package/dist/KPIStat-PBQK27ZB.js +0 -6
  44. package/dist/KPIStat-PBQK27ZB.js.map +0 -1
  45. package/dist/NeonToast-W5F7MU3U.js +0 -6
  46. package/dist/NeonToast-W5F7MU3U.js.map +0 -1
  47. package/dist/ParticleField-WK6CNHWU.js +0 -51
  48. package/dist/ParticleField-WK6CNHWU.js.map +0 -1
  49. package/dist/TextGenerateEffect-EUCEIIUJ.js +0 -6
  50. package/dist/TextGenerateEffect-EUCEIIUJ.js.map +0 -1
  51. package/dist/ThreeDCard-VH5I3SSY.js +0 -6
  52. package/dist/ThreeDCard-VH5I3SSY.js.map +0 -1
  53. package/dist/TypingAnimation-GIWOHPIX.js +0 -6
  54. package/dist/TypingAnimation-GIWOHPIX.js.map +0 -1
  55. package/dist/alert-dialog-QOSYBIIE.js +0 -19
  56. package/dist/alert-dialog-QOSYBIIE.js.map +0 -1
  57. package/dist/avatar-N5R37PCU.js +0 -10
  58. package/dist/avatar-N5R37PCU.js.map +0 -1
  59. package/dist/badge-GTVIIGPY.js +0 -8
  60. package/dist/badge-GTVIIGPY.js.map +0 -1
  61. package/dist/button-D7IMSV2D.js +0 -8
  62. package/dist/button-D7IMSV2D.js.map +0 -1
  63. package/dist/chunk-3CMPQOMY.js +0 -69
  64. package/dist/chunk-3CMPQOMY.js.map +0 -1
  65. package/dist/chunk-3OQT6IYR.js +0 -41
  66. package/dist/chunk-3OQT6IYR.js.map +0 -1
  67. package/dist/chunk-43B2WVLS.js +0 -85
  68. package/dist/chunk-43B2WVLS.js.map +0 -1
  69. package/dist/chunk-4SRFO5W3.js +0 -121
  70. package/dist/chunk-4SRFO5W3.js.map +0 -1
  71. package/dist/chunk-5IZELOOU.js +0 -362
  72. package/dist/chunk-5IZELOOU.js.map +0 -1
  73. package/dist/chunk-6DM4ACSS.js +0 -154
  74. package/dist/chunk-6DM4ACSS.js.map +0 -1
  75. package/dist/chunk-6IGT34PC.js +0 -50
  76. package/dist/chunk-6IGT34PC.js.map +0 -1
  77. package/dist/chunk-6RKBCJHN.js +0 -194
  78. package/dist/chunk-6RKBCJHN.js.map +0 -1
  79. package/dist/chunk-6RX2WGCO.js +0 -108
  80. package/dist/chunk-6RX2WGCO.js.map +0 -1
  81. package/dist/chunk-7K4WZM3U.js +0 -189
  82. package/dist/chunk-7K4WZM3U.js.map +0 -1
  83. package/dist/chunk-7MDBHJPT.js +0 -407
  84. package/dist/chunk-7MDBHJPT.js.map +0 -1
  85. package/dist/chunk-7UQD6ROV.js +0 -9
  86. package/dist/chunk-7UQD6ROV.js.map +0 -1
  87. package/dist/chunk-AFNIVLZP.js +0 -1069
  88. package/dist/chunk-AFNIVLZP.js.map +0 -1
  89. package/dist/chunk-ANWYRO6A.js +0 -407
  90. package/dist/chunk-ANWYRO6A.js.map +0 -1
  91. package/dist/chunk-DIXPOHDO.js +0 -71
  92. package/dist/chunk-DIXPOHDO.js.map +0 -1
  93. package/dist/chunk-DWYMKYPI.js +0 -3
  94. package/dist/chunk-DWYMKYPI.js.map +0 -1
  95. package/dist/chunk-E3NVDCZG.js +0 -280
  96. package/dist/chunk-E3NVDCZG.js.map +0 -1
  97. package/dist/chunk-EBM7YBKL.js +0 -399
  98. package/dist/chunk-EBM7YBKL.js.map +0 -1
  99. package/dist/chunk-EPAM7IWW.js +0 -294
  100. package/dist/chunk-EPAM7IWW.js.map +0 -1
  101. package/dist/chunk-EXQ7GYRS.js +0 -134
  102. package/dist/chunk-EXQ7GYRS.js.map +0 -1
  103. package/dist/chunk-F4QTUZ3C.js +0 -136
  104. package/dist/chunk-F4QTUZ3C.js.map +0 -1
  105. package/dist/chunk-FEW533R2.js +0 -105
  106. package/dist/chunk-FEW533R2.js.map +0 -1
  107. package/dist/chunk-FFZLJKC7.js +0 -270
  108. package/dist/chunk-FFZLJKC7.js.map +0 -1
  109. package/dist/chunk-GEAMOBF7.js +0 -8486
  110. package/dist/chunk-GEAMOBF7.js.map +0 -1
  111. package/dist/chunk-GRTRSCTD.js +0 -74
  112. package/dist/chunk-GRTRSCTD.js.map +0 -1
  113. package/dist/chunk-IKGYOGLK.js +0 -16
  114. package/dist/chunk-IKGYOGLK.js.map +0 -1
  115. package/dist/chunk-IQ7WYWVJ.js +0 -73
  116. package/dist/chunk-IQ7WYWVJ.js.map +0 -1
  117. package/dist/chunk-IXIVWQLF.js +0 -543
  118. package/dist/chunk-IXIVWQLF.js.map +0 -1
  119. package/dist/chunk-JCJU57RC.js +0 -115
  120. package/dist/chunk-JCJU57RC.js.map +0 -1
  121. package/dist/chunk-KORSTBU4.js +0 -117
  122. package/dist/chunk-KORSTBU4.js.map +0 -1
  123. package/dist/chunk-KSEZ6UM2.js +0 -235
  124. package/dist/chunk-KSEZ6UM2.js.map +0 -1
  125. package/dist/chunk-MHPF7R3O.js +0 -1376
  126. package/dist/chunk-MHPF7R3O.js.map +0 -1
  127. package/dist/chunk-MPC5IH7E.js +0 -81
  128. package/dist/chunk-MPC5IH7E.js.map +0 -1
  129. package/dist/chunk-MQIU2NYA.js +0 -114
  130. package/dist/chunk-MQIU2NYA.js.map +0 -1
  131. package/dist/chunk-NYMBJOGR.js +0 -2192
  132. package/dist/chunk-NYMBJOGR.js.map +0 -1
  133. package/dist/chunk-OBZD2M3C.js +0 -169
  134. package/dist/chunk-OBZD2M3C.js.map +0 -1
  135. package/dist/chunk-ODM2AG6G.js +0 -176
  136. package/dist/chunk-ODM2AG6G.js.map +0 -1
  137. package/dist/chunk-ONDKF5LP.js +0 -53
  138. package/dist/chunk-ONDKF5LP.js.map +0 -1
  139. package/dist/chunk-P25YCWQB.js +0 -41
  140. package/dist/chunk-P25YCWQB.js.map +0 -1
  141. package/dist/chunk-PFYVNM6H.js +0 -14
  142. package/dist/chunk-PFYVNM6H.js.map +0 -1
  143. package/dist/chunk-PWNNSGFL.js +0 -20
  144. package/dist/chunk-PWNNSGFL.js.map +0 -1
  145. package/dist/chunk-Q2PGZVOT.js +0 -36
  146. package/dist/chunk-Q2PGZVOT.js.map +0 -1
  147. package/dist/chunk-Q2XDMV7U.js +0 -76
  148. package/dist/chunk-Q2XDMV7U.js.map +0 -1
  149. package/dist/chunk-QG7FH2FI.js +0 -45
  150. package/dist/chunk-QG7FH2FI.js.map +0 -1
  151. package/dist/chunk-R7HUOK2D.js +0 -1914
  152. package/dist/chunk-R7HUOK2D.js.map +0 -1
  153. package/dist/chunk-REUYY7G5.js +0 -773
  154. package/dist/chunk-REUYY7G5.js.map +0 -1
  155. package/dist/chunk-RHC2Z2HT.js +0 -199
  156. package/dist/chunk-RHC2Z2HT.js.map +0 -1
  157. package/dist/chunk-RMCVLIFE.js +0 -23
  158. package/dist/chunk-RMCVLIFE.js.map +0 -1
  159. package/dist/chunk-ROZLTXGR.js +0 -234
  160. package/dist/chunk-ROZLTXGR.js.map +0 -1
  161. package/dist/chunk-RSS2C2O3.js +0 -17
  162. package/dist/chunk-RSS2C2O3.js.map +0 -1
  163. package/dist/chunk-SAGCG5SH.js +0 -355
  164. package/dist/chunk-SAGCG5SH.js.map +0 -1
  165. package/dist/chunk-TM6AOUSD.js +0 -40
  166. package/dist/chunk-TM6AOUSD.js.map +0 -1
  167. package/dist/chunk-TPK4BYCO.js +0 -970
  168. package/dist/chunk-TPK4BYCO.js.map +0 -1
  169. package/dist/chunk-UNQIL4K2.js +0 -34
  170. package/dist/chunk-UNQIL4K2.js.map +0 -1
  171. package/dist/chunk-UUG6L75Y.js +0 -47
  172. package/dist/chunk-UUG6L75Y.js.map +0 -1
  173. package/dist/chunk-V2SYMV4W.js +0 -114
  174. package/dist/chunk-V2SYMV4W.js.map +0 -1
  175. package/dist/chunk-V7EN5CTH.js +0 -130
  176. package/dist/chunk-V7EN5CTH.js.map +0 -1
  177. package/dist/chunk-VITKG2HL.js +0 -1125
  178. package/dist/chunk-VITKG2HL.js.map +0 -1
  179. package/dist/chunk-VYEWU5LO.js +0 -2631
  180. package/dist/chunk-VYEWU5LO.js.map +0 -1
  181. package/dist/chunk-W67QAGSH.js +0 -178
  182. package/dist/chunk-W67QAGSH.js.map +0 -1
  183. package/dist/chunk-WWBIN6KV.js +0 -1353
  184. package/dist/chunk-WWBIN6KV.js.map +0 -1
  185. package/dist/chunk-X77Z4PFB.js +0 -224
  186. package/dist/chunk-X77Z4PFB.js.map +0 -1
  187. package/dist/chunk-X7VG7OTT.js +0 -8
  188. package/dist/chunk-X7VG7OTT.js.map +0 -1
  189. package/dist/chunk-XE4K2SGI.js +0 -74
  190. package/dist/chunk-XE4K2SGI.js.map +0 -1
  191. package/dist/chunk-YIUG7IJK.js +0 -628
  192. package/dist/chunk-YIUG7IJK.js.map +0 -1
  193. package/dist/chunk-YNVN3V4Y.js +0 -13
  194. package/dist/chunk-YNVN3V4Y.js.map +0 -1
  195. package/dist/chunk-Z2S54IZX.js +0 -198
  196. package/dist/chunk-Z2S54IZX.js.map +0 -1
  197. package/dist/chunk-ZR6AH25Z.js +0 -17
  198. package/dist/chunk-ZR6AH25Z.js.map +0 -1
  199. package/dist/dialog-SPM3DTTI.js +0 -17
  200. package/dist/dialog-SPM3DTTI.js.map +0 -1
  201. package/dist/dropdown-menu-HMTWKWGK.js +0 -21
  202. package/dist/dropdown-menu-HMTWKWGK.js.map +0 -1
  203. package/dist/input-BH4P4S26.js +0 -6
  204. package/dist/input-BH4P4S26.js.map +0 -1
  205. package/dist/label-5Z4Q6VER.js +0 -8
  206. package/dist/label-5Z4Q6VER.js.map +0 -1
  207. package/dist/popover-IFOUXYLI.js +0 -18
  208. package/dist/popover-IFOUXYLI.js.map +0 -1
  209. package/dist/scroll-area-DJXNW6QX.js +0 -14
  210. package/dist/scroll-area-DJXNW6QX.js.map +0 -1
  211. package/dist/select-FZ277C3G.js +0 -22
  212. package/dist/select-FZ277C3G.js.map +0 -1
  213. package/dist/separator-BTMLN4NB.js +0 -8
  214. package/dist/separator-BTMLN4NB.js.map +0 -1
  215. package/dist/skeleton-DXIWBH4W.js +0 -6
  216. package/dist/skeleton-DXIWBH4W.js.map +0 -1
  217. package/dist/switch-4MCXIZBY.js +0 -13
  218. package/dist/switch-4MCXIZBY.js.map +0 -1
  219. package/dist/tabs-O7AW3APK.js +0 -17
  220. package/dist/tabs-O7AW3APK.js.map +0 -1
  221. package/dist/textarea-IB5WAFDO.js +0 -6
  222. package/dist/textarea-IB5WAFDO.js.map +0 -1
  223. package/dist/toggle-XVPPG6P4.js +0 -10
  224. package/dist/toggle-XVPPG6P4.js.map +0 -1
  225. package/dist/tooltip-JICZTD4F.js +0 -18
  226. package/dist/tooltip-JICZTD4F.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/workspace/registry/manifests/atoms.ts","../src/workspace/registry/manifests/molecules.ts","../src/workspace/registry/manifests/organisms.ts","../src/workspace/registry/manifests/three.ts","../src/workspace/registry/manifests/layouts.ts","../src/workspace/registry/manifests/index.ts","../src/workspace/registry/registry.ts","../src/workspace/WorkspaceRenderer.tsx","../src/workspace/validation.ts","../src/workspace/componentBindings.ts"],"names":["registry"],"mappings":"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","file":"chunk-VYEWU5LO.js","sourcesContent":["/**\n * Atom Component Manifests\n * Basic building blocks of the UI system\n */\n\nimport type { ComponentManifest } from \"../types\";\n\nexport const glowButtonManifest: ComponentManifest = {\n id: \"glow-button\",\n name: \"GlowButton\",\n version: \"1.0.0\",\n category: \"atoms\",\n\n purpose: [\"call-to-action\", \"confirmation\"],\n description:\n \"Animated button with glowing border effect. Creates visual emphasis for primary actions.\",\n bestFor: [\n \"Primary form submissions\",\n \"Key call-to-action buttons\",\n \"Hero section CTAs\",\n \"Confirmation dialogs\",\n ],\n avoid: [\n \"Secondary or tertiary actions\",\n \"Destructive actions (use red variant)\",\n \"Dense button groups (too much visual noise)\",\n \"Navigation links\",\n ],\n\n props: {\n children: {\n type: \"ReactNode\",\n description: \"Button content (text, icons, or both)\",\n required: true,\n },\n variant: {\n type: \"enum\",\n description: \"Visual style variant\",\n enum: [\"primary\", \"secondary\", \"ghost\", \"destructive\"],\n default: \"primary\",\n },\n size: {\n type: \"enum\",\n description: \"Button size\",\n enum: [\"sm\", \"md\", \"lg\"],\n default: \"md\",\n },\n disabled: {\n type: \"boolean\",\n description: \"Disable interactions\",\n default: false,\n },\n glowColor: {\n type: \"string\",\n description: \"Custom glow color (CSS color value)\",\n },\n glowIntensity: {\n type: \"number\",\n description: \"Glow intensity multiplier (0-2)\",\n default: 1,\n },\n onClick: {\n type: \"function\",\n description: \"Click handler\",\n },\n },\n\n slots: [],\n validParents: [\"glass-panel\", \"bento-grid\", \"command-palette\"],\n validChildren: [],\n\n styles: [\"neon\", \"animated\", \"gradient\"],\n supportsTheme: true,\n cssVariables: [\"--glow-color\", \"--glow-intensity\"],\n\n interactions: [\"click\", \"hover\", \"focus\", \"keyboard\"],\n a11y: [\"aria-labels\", \"keyboard-nav\", \"focus-visible\"],\n\n examples: [\n {\n name: \"Primary CTA\",\n description: \"Standard primary action button\",\n props: { variant: \"primary\", children: \"Get Started\" },\n context: \"Hero sections, form submissions\",\n },\n {\n name: \"Custom Glow\",\n description: \"Button with custom glow color\",\n props: {\n variant: \"secondary\",\n glowColor: \"#00ff88\",\n children: \"Connect\",\n },\n context: \"Themed interfaces, brand-specific CTAs\",\n },\n ],\n\n source: \"components/atoms/GlowButton/GlowButton.tsx\",\n storybook: \"atoms-glowbutton\",\n tags: [\"button\", \"cta\", \"glow\", \"animated\", \"interactive\"],\n};\n\nexport const hudProgressRingManifest: ComponentManifest = {\n id: \"hud-progress-ring\",\n name: \"HUDProgressRing\",\n version: \"1.0.0\",\n category: \"atoms\",\n\n purpose: [\"progress-feedback\", \"status-indicator\", \"data-display\"],\n description:\n \"Circular progress indicator with HUD-style aesthetics. SVG-based with smooth animations.\",\n bestFor: [\n \"Task completion percentage\",\n \"Loading states with known progress\",\n \"Skill/stat displays\",\n \"Timer countdowns\",\n \"Dashboard KPIs\",\n ],\n avoid: [\n \"Indeterminate loading (use spinner instead)\",\n \"Very small sizes (illegible)\",\n \"Dense data tables (too much visual weight)\",\n ],\n\n props: {\n value: {\n type: \"number\",\n description: \"Progress value (0-100)\",\n required: true,\n },\n size: {\n type: \"number\",\n description: \"Ring diameter in pixels\",\n default: 120,\n },\n strokeWidth: {\n type: \"number\",\n description: \"Ring stroke width\",\n default: 8,\n },\n color: {\n type: \"string\",\n description: \"Progress color\",\n default: \"#00ff88\",\n },\n trackColor: {\n type: \"string\",\n description: \"Background track color\",\n default: \"rgba(255,255,255,0.1)\",\n },\n showValue: {\n type: \"boolean\",\n description: \"Display percentage in center\",\n default: true,\n },\n label: {\n type: \"string\",\n description: \"Label text below value\",\n },\n animated: {\n type: \"boolean\",\n description: \"Animate progress changes\",\n default: true,\n },\n },\n\n slots: [\n {\n name: \"center\",\n description: \"Custom content for ring center\",\n accepts: [\"*\"],\n required: false,\n },\n ],\n validParents: [\"glass-panel\", \"bento-grid\", \"kpi-stat\"],\n validChildren: [],\n\n styles: [\"cyberpunk\", \"animated\", \"minimal\"],\n supportsTheme: true,\n cssVariables: [\"--ring-color\", \"--ring-track-color\"],\n\n interactions: [\"hover\"],\n a11y: [\"aria-labels\", \"screen-reader\"],\n\n examples: [\n {\n name: \"Task Progress\",\n description: \"Show task completion\",\n props: { value: 75, label: \"Complete\", color: \"#00ff88\" },\n context: \"Dashboard widgets, task trackers\",\n },\n {\n name: \"Skill Level\",\n description: \"Display skill or stat level\",\n props: { value: 42, label: \"TypeScript\", size: 80 },\n context: \"Profile pages, skill trees\",\n },\n ],\n\n source: \"components/atoms/HUDProgressRing/HUDProgressRing.tsx\",\n storybook: \"atoms-hudprogressring\",\n tags: [\"progress\", \"ring\", \"circular\", \"hud\", \"stats\", \"animated\"],\n};\n\nexport const typingAnimationManifest: ComponentManifest = {\n id: \"typing-animation\",\n name: \"TypingAnimation\",\n version: \"1.0.0\",\n category: \"atoms\",\n\n purpose: [\"animation\", \"data-display\"],\n description:\n \"Typewriter effect that reveals text character by character. Creates dynamic, engaging text displays.\",\n bestFor: [\n \"Hero headlines\",\n \"AI/bot responses\",\n \"Onboarding sequences\",\n \"Loading messages\",\n \"Code demonstrations\",\n ],\n avoid: [\n \"Long paragraphs (use TextGenerateEffect instead)\",\n \"Critical information users need immediately\",\n \"Accessibility-focused contexts (can be disorienting)\",\n ],\n\n props: {\n text: {\n type: \"string\",\n description: \"Text to type out\",\n required: true,\n },\n speed: {\n type: \"number\",\n description: \"Milliseconds per character\",\n default: 50,\n },\n delay: {\n type: \"number\",\n description: \"Initial delay before typing starts\",\n default: 0,\n },\n cursor: {\n type: \"boolean\",\n description: \"Show blinking cursor\",\n default: true,\n },\n cursorChar: {\n type: \"string\",\n description: \"Cursor character\",\n default: \"|\",\n },\n onComplete: {\n type: \"function\",\n description: \"Callback when typing completes\",\n },\n loop: {\n type: \"boolean\",\n description: \"Loop the animation\",\n default: false,\n },\n },\n\n slots: [],\n validParents: [\"glass-panel\", \"bento-grid\"],\n validChildren: [],\n\n styles: [\"animated\", \"retro\"],\n supportsTheme: true,\n\n interactions: [],\n a11y: [\"screen-reader\", \"reduced-motion\"],\n\n examples: [\n {\n name: \"Hero Title\",\n description: \"Animated hero headline\",\n props: { text: \"Welcome to the future\", speed: 80, cursor: true },\n context: \"Landing pages, hero sections\",\n },\n {\n name: \"AI Response\",\n description: \"Simulated AI typing\",\n props: { text: \"Processing your request...\", speed: 30 },\n context: \"Chatbots, AI interfaces\",\n },\n ],\n\n source: \"components/atoms/TypingAnimation/TypingAnimation.tsx\",\n storybook: \"atoms-typinganimation\",\n tags: [\"text\", \"typewriter\", \"animation\", \"typing\", \"reveal\"],\n};\n\nexport const textGenerateEffectManifest: ComponentManifest = {\n id: \"text-generate-effect\",\n name: \"TextGenerateEffect\",\n version: \"1.0.0\",\n category: \"atoms\",\n\n purpose: [\"animation\", \"data-display\"],\n description:\n \"Word-by-word text reveal animation. More suitable for longer text than character-by-character typing.\",\n bestFor: [\n \"AI-generated content reveal\",\n \"Quote displays\",\n \"Paragraph introductions\",\n \"Story/narrative text\",\n ],\n avoid: [\n \"Short single words (use TypingAnimation)\",\n \"Time-critical information\",\n \"Forms and inputs\",\n ],\n\n props: {\n words: {\n type: \"string\",\n description: \"Text to animate (split by spaces)\",\n required: true,\n },\n className: {\n type: \"string\",\n description: \"Additional CSS classes\",\n },\n filter: {\n type: \"boolean\",\n description: \"Apply blur filter during reveal\",\n default: true,\n },\n duration: {\n type: \"number\",\n description: \"Animation duration per word (seconds)\",\n default: 0.5,\n },\n },\n\n slots: [],\n validParents: [\"glass-panel\", \"bento-grid\"],\n validChildren: [],\n\n styles: [\"animated\", \"gradient\"],\n supportsTheme: true,\n\n interactions: [],\n a11y: [\"screen-reader\", \"reduced-motion\"],\n\n examples: [\n {\n name: \"AI Response\",\n description: \"Reveal AI-generated text\",\n props: {\n words: \"The quick brown fox jumps over the lazy dog\",\n filter: true,\n },\n context: \"AI chat interfaces, content generation\",\n },\n ],\n\n source: \"components/atoms/TextGenerateEffect/TextGenerateEffect.tsx\",\n storybook: \"atoms-textgenerateeffect\",\n tags: [\"text\", \"animation\", \"reveal\", \"words\", \"ai\"],\n};\n\nexport const glitchTextManifest: ComponentManifest = {\n id: \"glitch-text\",\n name: \"GlitchText\",\n version: \"1.0.0\",\n category: \"atoms\",\n\n purpose: [\"decoration\", \"animation\"],\n description:\n \"Cyberpunk-style glitch effect on text. Creates visual distortion and RGB splitting.\",\n bestFor: [\n \"Error states with style\",\n \"Cyberpunk/tech aesthetics\",\n \"Game UI elements\",\n \"Attention-grabbing headlines\",\n ],\n avoid: [\n \"Readable body text\",\n \"Accessibility-critical content\",\n \"Professional/corporate contexts\",\n \"Frequent use (loses impact)\",\n ],\n\n props: {\n text: {\n type: \"string\",\n description: \"Text to display with glitch effect\",\n required: true,\n },\n intensity: {\n type: \"enum\",\n description: \"Glitch intensity level\",\n enum: [\"low\", \"medium\", \"high\"],\n default: \"medium\",\n },\n color: {\n type: \"string\",\n description: \"Base text color\",\n },\n speed: {\n type: \"number\",\n description: \"Animation speed multiplier\",\n default: 1,\n },\n continuous: {\n type: \"boolean\",\n description: \"Continuously animate vs on-hover only\",\n default: false,\n },\n },\n\n slots: [],\n validParents: [\"glass-panel\", \"bento-grid\"],\n validChildren: [],\n\n styles: [\"cyberpunk\", \"animated\", \"neon\"],\n supportsTheme: false,\n\n interactions: [\"hover\"],\n a11y: [\"reduced-motion\"],\n\n examples: [\n {\n name: \"Error Display\",\n description: \"Stylized error message\",\n props: { text: \"SYSTEM ERROR\", intensity: \"high\", continuous: true },\n context: \"Error states, warnings\",\n },\n {\n name: \"Hover Effect\",\n description: \"Glitch on hover only\",\n props: { text: \"ENTER\", intensity: \"low\", continuous: false },\n context: \"Interactive elements, buttons\",\n },\n ],\n\n source: \"components/atoms/GlitchText/GlitchText.tsx\",\n storybook: \"atoms-glitchtext\",\n tags: [\"text\", \"glitch\", \"cyberpunk\", \"animation\", \"effect\"],\n};\n\nexport const auroraBackgroundManifest: ComponentManifest = {\n id: \"aurora-background\",\n name: \"AuroraBackground\",\n version: \"1.0.0\",\n category: \"atoms\",\n\n purpose: [\"background\", \"decoration\"],\n description:\n \"Animated aurora borealis gradient background. Creates atmospheric, dynamic backgrounds.\",\n bestFor: [\n \"Hero sections\",\n \"Landing pages\",\n \"Modal backgrounds\",\n \"Full-page backgrounds\",\n ],\n avoid: [\n \"Content-heavy areas (distracting)\",\n \"Small containers\",\n \"Performance-critical contexts\",\n ],\n\n props: {\n children: {\n type: \"ReactNode\",\n description: \"Content to display over the aurora\",\n },\n showRadialGradient: {\n type: \"boolean\",\n description: \"Add radial gradient overlay\",\n default: true,\n },\n className: {\n type: \"string\",\n description: \"Additional CSS classes\",\n },\n },\n\n slots: [\n {\n name: \"default\",\n description: \"Content overlaid on aurora\",\n accepts: [\"*\"],\n multiple: true,\n },\n ],\n validParents: [],\n validChildren: [\"*\"],\n\n styles: [\"gradient\", \"animated\"],\n supportsTheme: true,\n\n interactions: [],\n a11y: [\"reduced-motion\"],\n\n examples: [\n {\n name: \"Hero Background\",\n description: \"Full-page hero with aurora\",\n props: { showRadialGradient: true },\n context: \"Landing pages, hero sections\",\n },\n ],\n\n source: \"components/atoms/AuroraBackground/AuroraBackground.tsx\",\n storybook: \"atoms-aurorabackground\",\n tags: [\"background\", \"aurora\", \"gradient\", \"animated\", \"atmospheric\"],\n};\n\nexport const atomManifests: ComponentManifest[] = [\n glowButtonManifest,\n hudProgressRingManifest,\n typingAnimationManifest,\n textGenerateEffectManifest,\n glitchTextManifest,\n auroraBackgroundManifest,\n];\n","/**\n * Molecule Component Manifests\n * Composite components built from atoms\n */\n\nimport type { ComponentManifest } from \"../types\";\n\nexport const kpiStatManifest: ComponentManifest = {\n id: \"kpi-stat\",\n name: \"KPIStat\",\n version: \"1.0.0\",\n category: \"molecules\",\n\n purpose: [\"data-display\", \"status-indicator\"],\n description:\n \"Key Performance Indicator display with label, value, trend indicator, and optional sparkline.\",\n bestFor: [\n \"Dashboard metrics\",\n \"Analytics displays\",\n \"Summary statistics\",\n \"Real-time counters\",\n ],\n avoid: [\n \"Long text content\",\n \"Non-numeric data\",\n \"Dense data tables (too large)\",\n ],\n\n props: {\n label: {\n type: \"string\",\n description: \"Metric label\",\n required: true,\n },\n value: {\n type: \"string\",\n description: \"Display value (formatted)\",\n required: true,\n },\n trend: {\n type: \"enum\",\n description: \"Trend direction\",\n enum: [\"up\", \"down\", \"neutral\"],\n },\n trendValue: {\n type: \"string\",\n description: \"Trend percentage or delta\",\n },\n icon: {\n type: \"ReactNode\",\n description: \"Optional icon\",\n },\n sparkline: {\n type: \"array\",\n description: \"Data points for mini sparkline chart\",\n items: { type: \"number\", description: \"Data point\" },\n },\n variant: {\n type: \"enum\",\n description: \"Visual variant\",\n enum: [\"default\", \"compact\", \"large\"],\n default: \"default\",\n },\n },\n\n slots: [\n {\n name: \"icon\",\n description: \"Icon slot\",\n accepts: [\"*\"],\n required: false,\n },\n ],\n validParents: [\"bento-grid\", \"glass-panel\"],\n validChildren: [],\n\n styles: [\"minimal\", \"glassmorphism\"],\n supportsTheme: true,\n cssVariables: [\"--kpi-trend-up-color\", \"--kpi-trend-down-color\"],\n\n interactions: [\"hover\"],\n a11y: [\"aria-labels\", \"screen-reader\"],\n\n examples: [\n {\n name: \"Revenue Metric\",\n description: \"Revenue with positive trend\",\n props: {\n label: \"Revenue\",\n value: \"$42,500\",\n trend: \"up\",\n trendValue: \"+12.5%\",\n },\n context: \"Financial dashboards\",\n },\n {\n name: \"User Count\",\n description: \"Active users with sparkline\",\n props: {\n label: \"Active Users\",\n value: \"1,234\",\n sparkline: [10, 25, 18, 30, 45, 38, 52],\n },\n context: \"Analytics dashboards\",\n },\n ],\n\n source: \"components/molecules/KPIStat/KPIStat.tsx\",\n storybook: \"molecules-kpistat\",\n tags: [\"kpi\", \"stat\", \"metric\", \"dashboard\", \"analytics\", \"trend\"],\n};\n\nexport const neonToastManifest: ComponentManifest = {\n id: \"neon-toast\",\n name: \"NeonToast\",\n version: \"1.0.0\",\n category: \"molecules\",\n\n purpose: [\"notification\", \"status-indicator\"],\n description:\n \"Notification toast with neon glow effect. Supports multiple severity levels.\",\n bestFor: [\n \"Success notifications\",\n \"Error messages\",\n \"Warnings\",\n \"Info alerts\",\n ],\n avoid: [\n \"Critical errors requiring user action (use modal)\",\n \"Long-form content\",\n \"Permanent displays\",\n ],\n\n props: {\n title: {\n type: \"string\",\n description: \"Toast title\",\n required: true,\n },\n description: {\n type: \"string\",\n description: \"Toast description/message\",\n },\n variant: {\n type: \"enum\",\n description: \"Severity/type variant\",\n enum: [\"success\", \"error\", \"warning\", \"info\"],\n default: \"info\",\n },\n duration: {\n type: \"number\",\n description: \"Auto-dismiss duration in ms (0 = persistent)\",\n default: 5000,\n },\n action: {\n type: \"object\",\n description: \"Optional action button config\",\n properties: {\n label: { type: \"string\", description: \"Button label\", required: true },\n onClick: { type: \"function\", description: \"Click handler\" },\n },\n },\n onDismiss: {\n type: \"function\",\n description: \"Callback when toast is dismissed\",\n },\n },\n\n slots: [],\n validParents: [],\n validChildren: [],\n\n styles: [\"neon\", \"glassmorphism\", \"animated\"],\n supportsTheme: true,\n cssVariables: [\n \"--toast-success-color\",\n \"--toast-error-color\",\n \"--toast-warning-color\",\n \"--toast-info-color\",\n ],\n\n interactions: [\"click\", \"hover\"],\n a11y: [\"aria-labels\", \"screen-reader\", \"focus-visible\"],\n\n examples: [\n {\n name: \"Success\",\n description: \"Operation completed successfully\",\n props: {\n title: \"Saved\",\n description: \"Your changes have been saved\",\n variant: \"success\",\n },\n context: \"Form submissions, save operations\",\n },\n {\n name: \"Error with Action\",\n description: \"Error with retry action\",\n props: {\n title: \"Upload Failed\",\n description: \"Network error occurred\",\n variant: \"error\",\n action: { label: \"Retry\" },\n },\n context: \"Network errors, failed operations\",\n },\n ],\n\n source: \"components/molecules/NeonToast/NeonToast.tsx\",\n storybook: \"molecules-neontoast\",\n tags: [\"toast\", \"notification\", \"alert\", \"neon\", \"message\"],\n};\n\nexport const threeDCardManifest: ComponentManifest = {\n id: \"three-d-card\",\n name: \"ThreeDCard\",\n version: \"1.0.0\",\n category: \"molecules\",\n\n purpose: [\"container\", \"data-display\"],\n description:\n \"Card with 3D perspective effect on hover. Creates depth and interactivity.\",\n bestFor: [\n \"Feature showcases\",\n \"Product cards\",\n \"Team member cards\",\n \"Portfolio items\",\n ],\n avoid: [\n \"Dense grids (too much motion)\",\n \"Mobile-first designs (requires hover)\",\n \"Accessibility-critical contexts\",\n ],\n\n props: {\n children: {\n type: \"ReactNode\",\n description: \"Card content\",\n required: true,\n },\n className: {\n type: \"string\",\n description: \"Additional CSS classes\",\n },\n containerClassName: {\n type: \"string\",\n description: \"Container wrapper classes\",\n },\n rotationIntensity: {\n type: \"number\",\n description: \"Max rotation degrees\",\n default: 10,\n },\n glareEnabled: {\n type: \"boolean\",\n description: \"Enable glare effect on hover\",\n default: true,\n },\n glareMaxOpacity: {\n type: \"number\",\n description: \"Max glare opacity (0-1)\",\n default: 0.2,\n },\n },\n\n slots: [\n {\n name: \"default\",\n description: \"Card content\",\n accepts: [\"*\"],\n required: true,\n multiple: true,\n },\n ],\n validParents: [\"bento-grid\"],\n validChildren: [\"*\"],\n\n styles: [\"3d\", \"animated\", \"glassmorphism\"],\n supportsTheme: true,\n\n interactions: [\"hover\"],\n a11y: [\"reduced-motion\"],\n\n examples: [\n {\n name: \"Feature Card\",\n description: \"Feature showcase card\",\n props: { rotationIntensity: 15, glareEnabled: true },\n context: \"Feature sections, product showcases\",\n code: `<ThreeDCard>\n <h3>Feature Title</h3>\n <p>Feature description here</p>\n</ThreeDCard>`,\n },\n ],\n\n source: \"components/molecules/ThreeDCard/ThreeDCard.tsx\",\n storybook: \"molecules-threedcard\",\n tags: [\"card\", \"3d\", \"perspective\", \"hover\", \"interactive\"],\n};\n\nexport const moleculeManifests: ComponentManifest[] = [\n kpiStatManifest,\n neonToastManifest,\n threeDCardManifest,\n];\n","/**\n * Organism Component Manifests\n * Complex, composite components\n */\n\nimport type { ComponentManifest } from \"../types\";\n\nexport const commandPaletteManifest: ComponentManifest = {\n id: \"command-palette\",\n name: \"CommandPalette\",\n version: \"1.0.0\",\n category: \"organisms\",\n\n purpose: [\"navigation\", \"selection\"],\n description:\n \"Keyboard-driven command palette (cmd+k style) for quick actions and navigation. Built on cmdk.\",\n bestFor: [\n \"Application command menus\",\n \"Quick navigation\",\n \"Action shortcuts\",\n \"Search interfaces\",\n ],\n avoid: [\n \"Mobile-only interfaces (keyboard required)\",\n \"Simple dropdowns (overkill)\",\n \"Contexts without keyboard users\",\n ],\n\n props: {\n open: {\n type: \"boolean\",\n description: \"Controlled open state\",\n required: true,\n },\n onOpenChange: {\n type: \"function\",\n description: \"Open state change handler\",\n required: true,\n },\n commands: {\n type: \"array\",\n description: \"List of available commands\",\n required: true,\n items: {\n type: \"object\",\n description: \"Command definition\",\n properties: {\n id: { type: \"string\", description: \"Unique command ID\", required: true },\n label: { type: \"string\", description: \"Display label\", required: true },\n icon: { type: \"ReactNode\", description: \"Command icon\" },\n shortcut: { type: \"string\", description: \"Keyboard shortcut hint\" },\n group: { type: \"string\", description: \"Command group name\" },\n onSelect: { type: \"function\", description: \"Selection handler\" },\n },\n },\n },\n placeholder: {\n type: \"string\",\n description: \"Search input placeholder\",\n default: \"Type a command or search...\",\n },\n emptyMessage: {\n type: \"string\",\n description: \"Message when no results\",\n default: \"No results found.\",\n },\n },\n\n slots: [],\n validParents: [],\n validChildren: [],\n\n styles: [\"glassmorphism\", \"minimal\"],\n supportsTheme: true,\n cssVariables: [\"--command-bg\", \"--command-border\"],\n\n interactions: [\"keyboard\", \"click\", \"focus\"],\n a11y: [\"keyboard-nav\", \"aria-labels\", \"focus-visible\", \"screen-reader\"],\n\n examples: [\n {\n name: \"App Commands\",\n description: \"Application command palette\",\n props: {\n placeholder: \"Search commands...\",\n commands: [\n { id: \"new\", label: \"New File\", shortcut: \"Cmd+N\", group: \"File\" },\n { id: \"save\", label: \"Save\", shortcut: \"Cmd+S\", group: \"File\" },\n { id: \"settings\", label: \"Settings\", shortcut: \"Cmd+,\", group: \"App\" },\n ],\n },\n context: \"Desktop applications, power-user interfaces\",\n },\n ],\n\n source: \"components/organisms/CommandPalette/CommandPalette.tsx\",\n storybook: \"organisms-commandpalette\",\n tags: [\"command\", \"palette\", \"search\", \"keyboard\", \"navigation\", \"cmdk\"],\n};\n\nexport const glassPanelManifest: ComponentManifest = {\n id: \"glass-panel\",\n name: \"GlassPanel\",\n version: \"1.0.0\",\n category: \"organisms\",\n\n purpose: [\"container\", \"overlay\"],\n description:\n \"Glassmorphism container with backdrop blur, borders, and optional glow effects.\",\n bestFor: [\n \"Card containers\",\n \"Modal overlays\",\n \"Sidebar panels\",\n \"Floating UI elements\",\n ],\n avoid: [\n \"Dense content areas (blur is heavy)\",\n \"Low-end device targets\",\n \"Text-heavy content (readability)\",\n ],\n\n props: {\n children: {\n type: \"ReactNode\",\n description: \"Panel content\",\n required: true,\n },\n variant: {\n type: \"enum\",\n description: \"Glass intensity\",\n enum: [\"light\", \"medium\", \"heavy\"],\n default: \"medium\",\n },\n blur: {\n type: \"number\",\n description: \"Backdrop blur amount (px)\",\n default: 12,\n },\n border: {\n type: \"boolean\",\n description: \"Show border\",\n default: true,\n },\n glow: {\n type: \"boolean\",\n description: \"Enable glow effect\",\n default: false,\n },\n glowColor: {\n type: \"string\",\n description: \"Glow color\",\n },\n padding: {\n type: \"enum\",\n description: \"Internal padding\",\n enum: [\"none\", \"sm\", \"md\", \"lg\"],\n default: \"md\",\n },\n rounded: {\n type: \"enum\",\n description: \"Border radius\",\n enum: [\"none\", \"sm\", \"md\", \"lg\", \"full\"],\n default: \"md\",\n },\n },\n\n slots: [\n {\n name: \"default\",\n description: \"Panel content\",\n accepts: [\"*\"],\n required: true,\n multiple: true,\n },\n ],\n validParents: [\"bento-grid\"],\n validChildren: [\"*\"],\n\n styles: [\"glassmorphism\", \"minimal\"],\n supportsTheme: true,\n cssVariables: [\"--glass-bg\", \"--glass-border\", \"--glass-blur\"],\n\n interactions: [],\n a11y: [\"high-contrast\"],\n\n examples: [\n {\n name: \"Card Container\",\n description: \"Standard glass card\",\n props: { variant: \"medium\", padding: \"lg\", rounded: \"lg\" },\n context: \"Card layouts, content containers\",\n },\n {\n name: \"Glowing Panel\",\n description: \"Panel with glow effect\",\n props: { glow: true, glowColor: \"#00ff88\", border: true },\n context: \"Feature highlights, CTAs\",\n },\n ],\n\n source: \"components/organisms/Glass/GlassPanel.tsx\",\n storybook: \"organisms-glasspanel\",\n tags: [\"glass\", \"panel\", \"container\", \"blur\", \"glassmorphism\"],\n};\n\nexport const bentoGridManifest: ComponentManifest = {\n id: \"bento-grid\",\n name: \"BentoGrid\",\n version: \"1.0.0\",\n category: \"organisms\",\n\n purpose: [\"grid-layout\", \"container\"],\n description:\n \"Responsive bento-style grid layout. Auto-places children in an asymmetric, visually interesting grid.\",\n bestFor: [\n \"Feature grids\",\n \"Dashboard layouts\",\n \"Portfolio displays\",\n \"Landing page sections\",\n ],\n avoid: [\n \"Simple linear content\",\n \"Dense data tables\",\n \"Uniform content sizes\",\n ],\n\n props: {\n children: {\n type: \"ReactNode\",\n description: \"Grid items\",\n required: true,\n },\n columns: {\n type: \"number\",\n description: \"Number of columns\",\n default: 4,\n },\n gap: {\n type: \"number\",\n description: \"Gap between items (px)\",\n default: 16,\n },\n className: {\n type: \"string\",\n description: \"Additional CSS classes\",\n },\n },\n\n slots: [\n {\n name: \"default\",\n description: \"Grid items\",\n accepts: [\"glass-panel\", \"three-d-card\", \"kpi-stat\"],\n required: true,\n multiple: true,\n },\n ],\n validParents: [],\n validChildren: [\"glass-panel\", \"three-d-card\", \"kpi-stat\"],\n\n styles: [\"minimal\"],\n supportsTheme: true,\n cssVariables: [\"--bento-gap\"],\n\n interactions: [\"resize\"],\n a11y: [],\n\n examples: [\n {\n name: \"Feature Grid\",\n description: \"4-column feature showcase\",\n props: { columns: 4, gap: 24 },\n context: \"Landing pages, feature sections\",\n code: `<BentoGrid columns={4}>\n <GlassPanel>Feature 1</GlassPanel>\n <GlassPanel>Feature 2</GlassPanel>\n <GlassPanel>Feature 3</GlassPanel>\n</BentoGrid>`,\n },\n {\n name: \"Dashboard Grid\",\n description: \"Dashboard widget layout\",\n props: { columns: 3, gap: 16 },\n context: \"Dashboards, admin panels\",\n },\n ],\n\n source: \"components/organisms/BentoGrid/BentoGrid.tsx\",\n storybook: \"organisms-bentogrid\",\n tags: [\"grid\", \"bento\", \"layout\", \"responsive\", \"dashboard\"],\n};\n\nexport const organismManifests: ComponentManifest[] = [\n commandPaletteManifest,\n glassPanelManifest,\n bentoGridManifest,\n];\n","/**\n * Three.js/WebGL Component Manifests\n * 3D visualization components\n */\n\nimport type { ComponentManifest } from \"../types\";\n\nexport const graph3DManifest: ComponentManifest = {\n id: \"graph-3d\",\n name: \"Graph3D\",\n version: \"1.0.0\",\n category: \"three\",\n\n purpose: [\"visualization\", \"data-display\"],\n description:\n \"3D node-link graph visualization using Three.js. Force-directed layout with interactive navigation.\",\n bestFor: [\n \"Knowledge graphs\",\n \"Network visualizations\",\n \"Relationship mapping\",\n \"Concept maps\",\n ],\n avoid: [\n \"Simple hierarchies (use tree instead)\",\n \"Mobile devices (performance)\",\n \"Very large graphs (>1000 nodes)\",\n ],\n\n props: {\n nodes: {\n type: \"array\",\n description: \"Graph nodes\",\n required: true,\n items: {\n type: \"object\",\n description: \"Node definition\",\n properties: {\n id: { type: \"string\", description: \"Unique node ID\", required: true },\n label: { type: \"string\", description: \"Display label\" },\n color: { type: \"string\", description: \"Node color\" },\n size: { type: \"number\", description: \"Node size\" },\n group: { type: \"string\", description: \"Grouping category\" },\n },\n },\n },\n edges: {\n type: \"array\",\n description: \"Graph edges\",\n required: true,\n items: {\n type: \"object\",\n description: \"Edge definition\",\n properties: {\n source: { type: \"string\", description: \"Source node ID\", required: true },\n target: { type: \"string\", description: \"Target node ID\", required: true },\n label: { type: \"string\", description: \"Edge label\" },\n weight: { type: \"number\", description: \"Edge weight\" },\n },\n },\n },\n width: {\n type: \"number\",\n description: \"Container width\",\n },\n height: {\n type: \"number\",\n description: \"Container height\",\n },\n onNodeClick: {\n type: \"function\",\n description: \"Node click handler\",\n },\n onNodeHover: {\n type: \"function\",\n description: \"Node hover handler\",\n },\n cameraPosition: {\n type: \"object\",\n description: \"Initial camera position\",\n properties: {\n x: { type: \"number\", description: \"X position\" },\n y: { type: \"number\", description: \"Y position\" },\n z: { type: \"number\", description: \"Z position\" },\n },\n },\n enableZoom: {\n type: \"boolean\",\n description: \"Enable zoom controls\",\n default: true,\n },\n enableRotate: {\n type: \"boolean\",\n description: \"Enable rotation controls\",\n default: true,\n },\n },\n\n slots: [],\n validParents: [\"glass-panel\"],\n validChildren: [],\n\n styles: [\"3d\", \"animated\"],\n supportsTheme: true,\n cssVariables: [\"--graph-node-color\", \"--graph-edge-color\"],\n\n interactions: [\"click\", \"hover\", \"drag\", \"scroll\"],\n a11y: [\"keyboard-nav\"],\n\n examples: [\n {\n name: \"Knowledge Graph\",\n description: \"Concept relationship graph\",\n props: {\n nodes: [\n { id: \"1\", label: \"React\", group: \"frontend\" },\n { id: \"2\", label: \"TypeScript\", group: \"language\" },\n { id: \"3\", label: \"Node.js\", group: \"backend\" },\n ],\n edges: [\n { source: \"1\", target: \"2\" },\n { source: \"2\", target: \"3\" },\n ],\n },\n context: \"Knowledge bases, learning paths\",\n },\n ],\n\n source: \"components/three/Graph3D/Graph3D.tsx\",\n storybook: \"three-graph3d\",\n tags: [\"graph\", \"3d\", \"network\", \"visualization\", \"nodes\", \"edges\"],\n};\n\nexport const particleFieldManifest: ComponentManifest = {\n id: \"particle-field\",\n name: \"ParticleField\",\n version: \"1.0.0\",\n category: \"three\",\n\n purpose: [\"background\", \"decoration\", \"visualization\"],\n description:\n \"Animated particle system background. Creates atmospheric, dynamic visual effects.\",\n bestFor: [\n \"Hero backgrounds\",\n \"Loading screens\",\n \"Ambient effects\",\n \"Interactive visualizations\",\n ],\n avoid: [\n \"Content-heavy areas (distracting)\",\n \"Low-end devices (performance)\",\n \"Print/static contexts\",\n ],\n\n props: {\n count: {\n type: \"number\",\n description: \"Number of particles\",\n default: 1000,\n },\n size: {\n type: \"number\",\n description: \"Particle size\",\n default: 0.02,\n },\n color: {\n type: \"string\",\n description: \"Particle color\",\n default: \"#ffffff\",\n },\n speed: {\n type: \"number\",\n description: \"Animation speed\",\n default: 1,\n },\n spread: {\n type: \"number\",\n description: \"Particle spread radius\",\n default: 10,\n },\n interactive: {\n type: \"boolean\",\n description: \"React to mouse movement\",\n default: false,\n },\n opacity: {\n type: \"number\",\n description: \"Particle opacity (0-1)\",\n default: 0.8,\n },\n depth: {\n type: \"boolean\",\n description: \"Enable depth variation\",\n default: true,\n },\n },\n\n slots: [],\n validParents: [],\n validChildren: [],\n\n styles: [\"3d\", \"animated\"],\n supportsTheme: true,\n cssVariables: [\"--particle-color\"],\n\n interactions: [\"hover\"],\n a11y: [\"reduced-motion\"],\n\n examples: [\n {\n name: \"Starfield\",\n description: \"Star-like particle background\",\n props: { count: 2000, size: 0.01, color: \"#ffffff\", spread: 20 },\n context: \"Space themes, hero backgrounds\",\n },\n {\n name: \"Interactive Dust\",\n description: \"Mouse-reactive particles\",\n props: { count: 500, interactive: true, color: \"#00ff88\" },\n context: \"Landing pages, interactive experiences\",\n },\n ],\n\n source: \"components/three/ParticleField/ParticleField.tsx\",\n storybook: \"three-particlefield\",\n tags: [\"particles\", \"3d\", \"background\", \"animation\", \"webgl\"],\n};\n\nexport const threeManifests: ComponentManifest[] = [\n graph3DManifest,\n particleFieldManifest,\n];\n","/**\n * Layout Primitive Manifests\n * Core layout building blocks for workspace composition\n */\n\nimport type { ComponentManifest } from \"../types\";\n\nexport const splitPanelManifest: ComponentManifest = {\n id: \"split-panel\",\n name: \"SplitPanel\",\n version: \"1.0.0\",\n category: \"layouts\",\n\n purpose: [\"container\", \"grid-layout\"],\n description:\n \"Resizable split panel layout. Divides space into two resizable sections.\",\n bestFor: [\n \"IDE-style layouts\",\n \"Editor + preview layouts\",\n \"Sidebar + content layouts\",\n \"Comparison views\",\n ],\n avoid: [\n \"Mobile layouts (not resizable)\",\n \"Simple content (overkill)\",\n \"More than 2 sections (nest instead)\",\n ],\n\n props: {\n direction: {\n type: \"enum\",\n description: \"Split direction\",\n enum: [\"horizontal\", \"vertical\"],\n default: \"horizontal\",\n },\n defaultSize: {\n type: \"number\",\n description: \"Default first panel size (percentage)\",\n default: 50,\n },\n minSize: {\n type: \"number\",\n description: \"Minimum panel size (percentage)\",\n default: 10,\n },\n maxSize: {\n type: \"number\",\n description: \"Maximum panel size (percentage)\",\n default: 90,\n },\n onResize: {\n type: \"function\",\n description: \"Resize callback with new size\",\n },\n children: {\n type: \"array\",\n description: \"Exactly 2 children for each panel\",\n required: true,\n },\n },\n\n slots: [\n {\n name: \"first\",\n description: \"First panel content\",\n accepts: [\"*\"],\n required: true,\n },\n {\n name: \"second\",\n description: \"Second panel content\",\n accepts: [\"*\"],\n required: true,\n },\n ],\n validParents: [\"workspace-root\", \"split-panel\"],\n validChildren: [\"*\"],\n\n styles: [\"minimal\"],\n supportsTheme: true,\n cssVariables: [\"--split-handle-color\", \"--split-handle-width\"],\n\n interactions: [\"drag\", \"resize\"],\n a11y: [\"keyboard-nav\"],\n\n examples: [\n {\n name: \"Sidebar Layout\",\n description: \"Sidebar + main content\",\n props: { direction: \"horizontal\", defaultSize: 25 },\n context: \"Dashboard layouts, file explorers\",\n },\n {\n name: \"Editor Preview\",\n description: \"Code editor + live preview\",\n props: { direction: \"horizontal\", defaultSize: 50 },\n context: \"Code playgrounds, markdown editors\",\n },\n ],\n\n source: \"components/layouts/SplitPanel.tsx\",\n storybook: \"layouts-splitpanel\",\n tags: [\"layout\", \"split\", \"resize\", \"panel\", \"container\"],\n};\n\nexport const tabsPanelManifest: ComponentManifest = {\n id: \"tabs-panel\",\n name: \"TabsPanel\",\n version: \"1.0.0\",\n category: \"layouts\",\n\n purpose: [\"navigation\", \"container\"],\n description:\n \"Tabbed content panel. Switches between multiple content areas with tab navigation.\",\n bestFor: [\n \"Settings pages\",\n \"Multi-section content\",\n \"Code/preview toggles\",\n \"Category navigation\",\n ],\n avoid: [\n \"Many tabs (>6 becomes unwieldy)\",\n \"Deep navigation (use routing)\",\n \"Frequent switching content\",\n ],\n\n props: {\n tabs: {\n type: \"array\",\n description: \"Tab definitions\",\n required: true,\n items: {\n type: \"object\",\n description: \"Tab definition\",\n properties: {\n id: { type: \"string\", description: \"Tab ID\", required: true },\n label: { type: \"string\", description: \"Tab label\", required: true },\n icon: { type: \"ReactNode\", description: \"Tab icon\" },\n disabled: { type: \"boolean\", description: \"Disable tab\" },\n },\n },\n },\n activeTab: {\n type: \"string\",\n description: \"Controlled active tab ID\",\n },\n defaultTab: {\n type: \"string\",\n description: \"Default active tab ID\",\n },\n onTabChange: {\n type: \"function\",\n description: \"Tab change handler\",\n },\n children: {\n type: \"ReactNode\",\n description: \"Tab content (keyed by tab ID)\",\n required: true,\n },\n orientation: {\n type: \"enum\",\n description: \"Tab orientation\",\n enum: [\"horizontal\", \"vertical\"],\n default: \"horizontal\",\n },\n },\n\n slots: [],\n validParents: [\"split-panel\", \"workspace-root\"],\n validChildren: [\"*\"],\n\n styles: [\"minimal\", \"glassmorphism\"],\n supportsTheme: true,\n cssVariables: [\"--tab-active-color\", \"--tab-hover-color\"],\n\n interactions: [\"click\", \"keyboard\"],\n a11y: [\"keyboard-nav\", \"aria-labels\", \"focus-visible\"],\n\n examples: [\n {\n name: \"Settings Tabs\",\n description: \"Settings page with tabs\",\n props: {\n tabs: [\n { id: \"general\", label: \"General\" },\n { id: \"account\", label: \"Account\" },\n { id: \"appearance\", label: \"Appearance\" },\n ],\n defaultTab: \"general\",\n },\n context: \"Settings pages, preferences\",\n },\n ],\n\n source: \"components/layouts/TabsPanel.tsx\",\n storybook: \"layouts-tabspanel\",\n tags: [\"tabs\", \"navigation\", \"panel\", \"container\", \"switch\"],\n};\n\nexport const stackLayoutManifest: ComponentManifest = {\n id: \"stack-layout\",\n name: \"StackLayout\",\n version: \"1.0.0\",\n category: \"layouts\",\n\n purpose: [\"container\", \"grid-layout\"],\n description:\n \"Flexible stack layout (horizontal or vertical). CSS flexbox abstraction.\",\n bestFor: [\n \"Button groups\",\n \"Form layouts\",\n \"Card lists\",\n \"Toolbar layouts\",\n ],\n avoid: [\n \"Complex grid layouts (use BentoGrid)\",\n \"Overlapping content\",\n ],\n\n props: {\n direction: {\n type: \"enum\",\n description: \"Stack direction\",\n enum: [\"row\", \"column\"],\n default: \"column\",\n },\n gap: {\n type: \"number\",\n description: \"Gap between items (px)\",\n default: 8,\n },\n align: {\n type: \"enum\",\n description: \"Cross-axis alignment\",\n enum: [\"start\", \"center\", \"end\", \"stretch\"],\n default: \"stretch\",\n },\n justify: {\n type: \"enum\",\n description: \"Main-axis alignment\",\n enum: [\"start\", \"center\", \"end\", \"between\", \"around\"],\n default: \"start\",\n },\n wrap: {\n type: \"boolean\",\n description: \"Allow wrapping\",\n default: false,\n },\n children: {\n type: \"ReactNode\",\n description: \"Stack items\",\n required: true,\n },\n },\n\n slots: [\n {\n name: \"default\",\n description: \"Stack items\",\n accepts: [\"*\"],\n required: true,\n multiple: true,\n },\n ],\n validParents: [\"*\"],\n validChildren: [\"*\"],\n\n styles: [\"minimal\"],\n supportsTheme: true,\n\n interactions: [],\n a11y: [],\n\n examples: [\n {\n name: \"Button Group\",\n description: \"Horizontal button group\",\n props: { direction: \"row\", gap: 8, align: \"center\" },\n context: \"Action bars, toolbars\",\n },\n {\n name: \"Form Layout\",\n description: \"Vertical form fields\",\n props: { direction: \"column\", gap: 16 },\n context: \"Form layouts, settings\",\n },\n ],\n\n source: \"components/layouts/StackLayout.tsx\",\n storybook: \"layouts-stacklayout\",\n tags: [\"layout\", \"stack\", \"flex\", \"row\", \"column\"],\n};\n\nexport const layoutManifests: ComponentManifest[] = [\n splitPanelManifest,\n tabsPanelManifest,\n stackLayoutManifest,\n];\n","/**\n * Component Manifests Index\n * Exports all component manifests for the registry\n */\n\nexport * from \"./atoms\";\nexport * from \"./molecules\";\nexport * from \"./organisms\";\nexport * from \"./three\";\nexport * from \"./layouts\";\n\nimport { atomManifests } from \"./atoms\";\nimport { moleculeManifests } from \"./molecules\";\nimport { organismManifests } from \"./organisms\";\nimport { threeManifests } from \"./three\";\nimport { layoutManifests } from \"./layouts\";\nimport type { ComponentManifest } from \"../types\";\n\n/**\n * All component manifests combined\n */\nexport const allManifests: ComponentManifest[] = [\n ...atomManifests,\n ...moleculeManifests,\n ...organismManifests,\n ...threeManifests,\n ...layoutManifests,\n];\n\n/**\n * Manifest lookup by ID\n */\nexport const manifestById: Map<string, ComponentManifest> = new Map(\n allManifests.map((m) => [m.id, m])\n);\n\n/**\n * Manifests grouped by category\n */\nexport const manifestsByCategory: Record<string, ComponentManifest[]> = {\n atoms: atomManifests,\n molecules: moleculeManifests,\n organisms: organismManifests,\n three: threeManifests,\n layouts: layoutManifests,\n};\n","/**\n * Component Registry Implementation\n *\n * Provides query and composition APIs for agents to discover\n * and use UI components.\n */\n\nimport type {\n ComponentManifest,\n ComponentRegistry,\n RegistryQuery,\n RegistrySearchResult,\n ComponentCategory,\n ComponentPurpose,\n} from \"./types\";\nimport { allManifests, manifestById, manifestsByCategory } from \"./manifests\";\n\n/**\n * Default registry implementation using static manifests\n */\nclass DefaultRegistry implements ComponentRegistry {\n private manifests: ComponentManifest[];\n private byId: Map<string, ComponentManifest>;\n private byCategory: Record<string, ComponentManifest[]>;\n\n constructor(manifests: ComponentManifest[] = allManifests) {\n this.manifests = manifests;\n this.byId = new Map(manifests.map((m) => [m.id, m]));\n this.byCategory = manifests.reduce(\n (acc, m) => {\n if (!acc[m.category]) acc[m.category] = [];\n acc[m.category].push(m);\n return acc;\n },\n {} as Record<string, ComponentManifest[]>\n );\n }\n\n /**\n * Get a component by ID\n */\n get(id: string): ComponentManifest | undefined {\n return this.byId.get(id);\n }\n\n /**\n * List components with optional filtering\n */\n list(query?: RegistryQuery): ComponentManifest[] {\n if (!query) return this.manifests;\n\n let results = [...this.manifests];\n\n // Filter by category\n if (query.category) {\n results = results.filter((m) => m.category === query.category);\n }\n\n // Filter by purpose\n if (query.purpose) {\n const purposes = Array.isArray(query.purpose)\n ? query.purpose\n : [query.purpose];\n results = results.filter((m) =>\n purposes.some((p) => m.purpose.includes(p))\n );\n }\n\n // Filter by style\n if (query.style) {\n const styles = Array.isArray(query.style) ? query.style : [query.style];\n results = results.filter((m) =>\n styles.some((s) => m.styles.includes(s))\n );\n }\n\n // Filter by tags\n if (query.tags && query.tags.length > 0) {\n results = results.filter((m) =>\n query.tags!.some((t) => m.tags.includes(t))\n );\n }\n\n // Filter by slots\n if (query.hasSlots !== undefined) {\n results = results.filter(\n (m) => (m.slots && m.slots.length > 0) === query.hasSlots\n );\n }\n\n // Filter by children support\n if (query.supportsChildren !== undefined) {\n results = results.filter(\n (m) =>\n (m.validChildren && m.validChildren.length > 0) ===\n query.supportsChildren\n );\n }\n\n // Free-text search\n if (query.search) {\n const searchLower = query.search.toLowerCase();\n results = results.filter(\n (m) =>\n m.name.toLowerCase().includes(searchLower) ||\n m.description.toLowerCase().includes(searchLower) ||\n m.tags.some((t) => t.includes(searchLower)) ||\n m.bestFor.some((b) => b.toLowerCase().includes(searchLower))\n );\n }\n\n // Limit results\n if (query.limit && query.limit > 0) {\n results = results.slice(0, query.limit);\n }\n\n return results;\n }\n\n /**\n * Search with relevance scoring\n */\n search(query: string): RegistrySearchResult[] {\n const queryLower = query.toLowerCase();\n const queryTokens = queryLower.split(/\\s+/).filter((t) => t.length > 2);\n\n const results: RegistrySearchResult[] = this.manifests.map((component) => {\n let score = 0;\n const matchedOn: string[] = [];\n\n // Name match (highest weight)\n if (component.name.toLowerCase().includes(queryLower)) {\n score += 0.4;\n matchedOn.push(\"name\");\n }\n\n // ID match\n if (component.id.toLowerCase().includes(queryLower)) {\n score += 0.2;\n matchedOn.push(\"id\");\n }\n\n // Description match\n const descLower = component.description.toLowerCase();\n if (descLower.includes(queryLower)) {\n score += 0.15;\n matchedOn.push(\"description\");\n }\n\n // Tag matches\n const matchedTags = component.tags.filter((t) =>\n queryTokens.some((qt) => t.includes(qt))\n );\n if (matchedTags.length > 0) {\n score += 0.1 * Math.min(matchedTags.length, 3);\n matchedOn.push(`tags:${matchedTags.join(\",\")}`);\n }\n\n // bestFor matches\n const matchedBestFor = component.bestFor.filter((b) =>\n queryTokens.some((qt) => b.toLowerCase().includes(qt))\n );\n if (matchedBestFor.length > 0) {\n score += 0.1 * Math.min(matchedBestFor.length, 2);\n matchedOn.push(\"bestFor\");\n }\n\n // Purpose matches\n const matchedPurposes = component.purpose.filter((p) =>\n queryTokens.some((qt) => p.includes(qt))\n );\n if (matchedPurposes.length > 0) {\n score += 0.05 * matchedPurposes.length;\n matchedOn.push(`purpose:${matchedPurposes.join(\",\")}`);\n }\n\n return { component, score, matchedOn };\n });\n\n // Sort by score descending, filter out zero scores\n return results\n .filter((r) => r.score > 0)\n .sort((a, b) => b.score - a.score);\n }\n\n /**\n * Check if a component can be placed inside another\n */\n canCompose(parentId: string, childId: string): boolean {\n const parent = this.get(parentId);\n const child = this.get(childId);\n\n if (!parent || !child) return false;\n\n // Check if parent accepts this child\n if (parent.validChildren) {\n if (\n parent.validChildren.includes(\"*\") ||\n parent.validChildren.includes(childId)\n ) {\n return true;\n }\n }\n\n // Check if child accepts this parent\n if (child.validParents) {\n if (\n child.validParents.includes(\"*\") ||\n child.validParents.includes(parentId)\n ) {\n return true;\n }\n }\n\n // Check incompatibilities\n if (parent.incompatibleWith?.includes(childId)) return false;\n if (child.incompatibleWith?.includes(parentId)) return false;\n\n // Default: allow if parent has slots\n return parent.slots !== undefined && parent.slots.length > 0;\n }\n\n /**\n * Get components that can be children of the given parent\n */\n getValidChildren(parentId: string): ComponentManifest[] {\n const parent = this.get(parentId);\n if (!parent) return [];\n\n return this.manifests.filter((child) => this.canCompose(parentId, child.id));\n }\n\n /**\n * Get components that can be parents of the given child\n */\n getValidParents(childId: string): ComponentManifest[] {\n const child = this.get(childId);\n if (!child) return [];\n\n return this.manifests.filter((parent) => this.canCompose(parent.id, childId));\n }\n\n /**\n * Get all categories\n */\n categories(): ComponentCategory[] {\n return Object.keys(this.byCategory) as ComponentCategory[];\n }\n\n /**\n * Get all purposes used across components\n */\n purposes(): ComponentPurpose[] {\n const purposes = new Set<ComponentPurpose>();\n this.manifests.forEach((m) => m.purpose.forEach((p) => purposes.add(p)));\n return Array.from(purposes);\n }\n\n /**\n * Get all tags used across components\n */\n tags(): string[] {\n const tags = new Set<string>();\n this.manifests.forEach((m) => m.tags.forEach((t) => tags.add(t)));\n return Array.from(tags).sort();\n }\n\n /**\n * Get total component count\n */\n count(): number {\n return this.manifests.length;\n }\n}\n\n/**\n * Singleton registry instance\n */\nlet registryInstance: ComponentRegistry | null = null;\n\n/**\n * Get the component registry\n */\nexport function getRegistry(): ComponentRegistry {\n if (!registryInstance) {\n registryInstance = new DefaultRegistry();\n }\n return registryInstance;\n}\n\n/**\n * Create a registry with custom manifests\n */\nexport function createRegistry(\n manifests: ComponentManifest[]\n): ComponentRegistry {\n return new DefaultRegistry(manifests);\n}\n\n/**\n * Export registry for direct use\n */\nexport const registry = getRegistry();\n\n// Re-export for convenience\nexport { manifestById, manifestsByCategory, allManifests };\n","/**\n * WorkspaceRenderer\n *\n * Renders a WorkspaceSpec into a React component tree.\n * This is the runtime that brings agent-composed UI to life.\n */\n\nimport React, {\n createContext,\n useContext,\n useMemo,\n useState,\n useCallback,\n type ReactNode,\n type ComponentType,\n} from \"react\";\nimport type {\n WorkspaceSpec,\n LayoutNode,\n SplitLayout,\n StackLayout,\n TabsLayout,\n GridLayout,\n PanelNode,\n SlotNode,\n ThemeOverrides,\n RenderContext,\n} from \"./types\";\nimport { getRegistry } from \"./registry/index.js\";\n\n// ============================================================================\n// Context\n// ============================================================================\n\nconst WorkspaceContext = createContext<RenderContext | null>(null);\n\nexport function useWorkspace(): RenderContext {\n const ctx = useContext(WorkspaceContext);\n if (!ctx) {\n throw new Error(\"useWorkspace must be used within WorkspaceRenderer\");\n }\n return ctx;\n}\n\n// ============================================================================\n// Component Map (runtime binding)\n// ============================================================================\n\n// Import actual components for rendering\n// These would be dynamically imported in production\nconst componentMap: Record<string, ComponentType<Record<string, unknown>>> = {};\n\n/**\n * Register a component for runtime use\n */\nexport function registerComponent(\n id: string,\n component: ComponentType<Record<string, unknown>>\n): void {\n componentMap[id] = component;\n}\n\n/**\n * Get a component by ID\n */\nfunction getComponent(\n id: string\n): ComponentType<Record<string, unknown>> | null {\n return componentMap[id] || null;\n}\n\n// ============================================================================\n// Layout Renderers\n// ============================================================================\n\ninterface LayoutRendererProps {\n node: LayoutNode;\n}\n\n/**\n * Render a split layout\n */\nfunction SplitLayoutRenderer({ node }: { node: SplitLayout }) {\n const { direction, sizes, children } = node;\n const isHorizontal = direction === \"horizontal\";\n\n return (\n <div\n className=\"workspace-split\"\n style={{\n display: \"flex\",\n flexDirection: isHorizontal ? \"row\" : \"column\",\n width: \"100%\",\n height: \"100%\",\n }}\n >\n {children.map((child, i) => {\n const size = sizes?.[i];\n const style: React.CSSProperties = {\n flex: size === \"fill\" ? 1 : undefined,\n width: isHorizontal && typeof size === \"number\" ? size : undefined,\n height: !isHorizontal && typeof size === \"number\" ? size : undefined,\n };\n\n return (\n <div key={i} className=\"workspace-split-panel\" style={style}>\n <LayoutRenderer node={child} />\n </div>\n );\n })}\n </div>\n );\n}\n\n/**\n * Render a stack layout\n */\nfunction StackLayoutRenderer({ node }: { node: StackLayout }) {\n const { direction, gap = 8, align = \"stretch\", justify = \"start\", wrap, children } = node;\n\n const alignMap = {\n start: \"flex-start\",\n center: \"center\",\n end: \"flex-end\",\n stretch: \"stretch\",\n };\n\n const justifyMap = {\n start: \"flex-start\",\n center: \"center\",\n end: \"flex-end\",\n between: \"space-between\",\n around: \"space-around\",\n };\n\n return (\n <div\n className=\"workspace-stack\"\n style={{\n display: \"flex\",\n flexDirection: direction === \"horizontal\" ? \"row\" : \"column\",\n gap,\n alignItems: alignMap[align],\n justifyContent: justifyMap[justify],\n flexWrap: wrap ? \"wrap\" : \"nowrap\",\n width: \"100%\",\n height: \"100%\",\n }}\n >\n {children.map((child, i) => (\n <div key={i} className=\"workspace-stack-item\">\n <LayoutRenderer node={child} />\n </div>\n ))}\n </div>\n );\n}\n\n/**\n * Render a tabs layout\n */\nfunction TabsLayoutRenderer({ node }: { node: TabsLayout }) {\n const { orientation = \"horizontal\", defaultTab, children } = node;\n const [activeTab, setActiveTab] = useState(defaultTab || children[0]?.id);\n\n const activeContent = children.find((t) => t.id === activeTab)?.content;\n\n return (\n <div\n className=\"workspace-tabs\"\n style={{\n display: \"flex\",\n flexDirection: orientation === \"horizontal\" ? \"column\" : \"row\",\n width: \"100%\",\n height: \"100%\",\n }}\n >\n <div\n className=\"workspace-tabs-list\"\n role=\"tablist\"\n style={{\n display: \"flex\",\n flexDirection: orientation === \"horizontal\" ? \"row\" : \"column\",\n gap: 4,\n padding: 4,\n borderBottom:\n orientation === \"horizontal\"\n ? \"1px solid var(--border, #333)\"\n : undefined,\n borderRight:\n orientation === \"vertical\"\n ? \"1px solid var(--border, #333)\"\n : undefined,\n }}\n >\n {children.map((tab) => (\n <button\n key={tab.id}\n role=\"tab\"\n aria-selected={activeTab === tab.id}\n disabled={tab.disabled}\n onClick={() => setActiveTab(tab.id)}\n style={{\n padding: \"8px 16px\",\n background: activeTab === tab.id ? \"var(--accent, #333)\" : \"transparent\",\n border: \"none\",\n borderRadius: 4,\n color: \"inherit\",\n cursor: tab.disabled ? \"not-allowed\" : \"pointer\",\n opacity: tab.disabled ? 0.5 : 1,\n }}\n >\n {tab.label}\n </button>\n ))}\n </div>\n <div\n className=\"workspace-tabs-content\"\n role=\"tabpanel\"\n style={{ flex: 1, overflow: \"auto\" }}\n >\n {activeContent && <LayoutRenderer node={activeContent} />}\n </div>\n </div>\n );\n}\n\n/**\n * Render a grid layout\n */\nfunction GridLayoutRenderer({ node }: { node: GridLayout }) {\n const { columns = 1, rows, gap = 16, children } = node;\n\n const gridTemplateColumns =\n typeof columns === \"number\" ? `repeat(${columns}, 1fr)` : columns;\n const gridTemplateRows =\n typeof rows === \"number\" ? `repeat(${rows}, 1fr)` : rows;\n const gridGap = Array.isArray(gap) ? `${gap[0]}px ${gap[1]}px` : gap;\n\n return (\n <div\n className=\"workspace-grid\"\n style={{\n display: \"grid\",\n gridTemplateColumns,\n gridTemplateRows: gridTemplateRows || undefined,\n gap: gridGap,\n width: \"100%\",\n height: \"100%\",\n }}\n >\n {children.map((item, i) => (\n <div\n key={item.id || i}\n className=\"workspace-grid-item\"\n style={{\n gridColumn: item.colSpan ? `span ${item.colSpan}` : item.column,\n gridRow: item.rowSpan ? `span ${item.rowSpan}` : item.row,\n }}\n >\n <LayoutRenderer node={item.content} />\n </div>\n ))}\n </div>\n );\n}\n\n/**\n * Render a panel (leaf node with component)\n */\nfunction PanelRenderer({ node }: { node: PanelNode }) {\n const { component, props = {}, children } = node;\n const ctx = useWorkspace();\n\n // Get the component from the map\n const Component = getComponent(component);\n\n // Fallback for unregistered components\n if (!Component) {\n const manifest = ctx.registry\n ? (ctx.registry as ReturnType<typeof getRegistry>).get(component)\n : null;\n\n return (\n <div\n className=\"workspace-panel workspace-panel-placeholder\"\n style={{\n padding: 16,\n background: \"var(--muted, #1a1a1a)\",\n borderRadius: 8,\n border: \"1px dashed var(--border, #333)\",\n }}\n >\n <div style={{ opacity: 0.7, fontSize: 12 }}>\n Component: <strong>{component}</strong>\n </div>\n {manifest && (\n <div style={{ opacity: 0.5, fontSize: 11, marginTop: 4 }}>\n {manifest.description}\n </div>\n )}\n {Object.keys(props).length > 0 && (\n <pre\n style={{\n marginTop: 8,\n fontSize: 10,\n opacity: 0.6,\n overflow: \"auto\",\n }}\n >\n {JSON.stringify(props, null, 2)}\n </pre>\n )}\n </div>\n );\n }\n\n // Render children if component has slots\n const childNodes = children?.map((child, i) => (\n <PanelRenderer key={i} node={child} />\n ));\n\n return (\n <div className=\"workspace-panel\">\n <Component {...props}>{childNodes}</Component>\n </div>\n );\n}\n\n/**\n * Render a slot placeholder\n */\nfunction SlotRenderer({ node }: { node: SlotNode }) {\n const { slots } = useWorkspace();\n const content = slots?.[node.name];\n\n if (content) {\n return <>{content}</>;\n }\n\n if (node.fallback) {\n return <LayoutRenderer node={node.fallback} />;\n }\n\n return (\n <div\n className=\"workspace-slot workspace-slot-empty\"\n style={{\n padding: 16,\n background: \"var(--muted, #1a1a1a)\",\n borderRadius: 8,\n border: \"2px dashed var(--border, #333)\",\n textAlign: \"center\",\n opacity: 0.5,\n }}\n >\n Slot: {node.name}\n </div>\n );\n}\n\n/**\n * Main layout node renderer\n */\nfunction LayoutRenderer({ node }: LayoutRendererProps) {\n switch (node.type) {\n case \"split\":\n return <SplitLayoutRenderer node={node} />;\n case \"stack\":\n return <StackLayoutRenderer node={node} />;\n case \"tabs\":\n return <TabsLayoutRenderer node={node} />;\n case \"grid\":\n return <GridLayoutRenderer node={node} />;\n case \"panel\":\n return <PanelRenderer node={node} />;\n case \"slot\":\n return <SlotRenderer node={node} />;\n default:\n return (\n <div className=\"workspace-unknown\">\n Unknown layout type: {(node as LayoutNode).type}\n </div>\n );\n }\n}\n\n// ============================================================================\n// Main WorkspaceRenderer Component\n// ============================================================================\n\nexport interface WorkspaceRendererProps {\n /** Workspace specification to render */\n spec: WorkspaceSpec;\n\n /** Slot content */\n slots?: Record<string, ReactNode>;\n\n /** Event handler */\n onEvent?: (event: string, payload?: unknown) => void;\n\n /** Custom theme overrides */\n theme?: ThemeOverrides;\n\n /** Target surface */\n surface?: string;\n\n /** Additional className */\n className?: string;\n\n /** Additional styles */\n style?: React.CSSProperties;\n}\n\n/**\n * Render a WorkspaceSpec into a React component tree\n */\nexport function WorkspaceRenderer({\n spec,\n slots,\n onEvent,\n theme: themeOverrides,\n surface = \"desktop\",\n className,\n style,\n}: WorkspaceRendererProps) {\n // Merge themes\n const theme = useMemo(\n () => ({ ...spec.theme, ...themeOverrides }),\n [spec.theme, themeOverrides]\n );\n\n // Initialize state\n const [state, setStateObj] = useState<Record<string, unknown>>(\n spec.state?.initial || {}\n );\n\n // State updater\n const setState = useCallback((path: string, value: unknown) => {\n setStateObj((prev) => {\n const keys = path.split(\".\");\n const newState = { ...prev };\n let current: Record<string, unknown> = newState;\n\n for (let i = 0; i < keys.length - 1; i++) {\n const key = keys[i];\n current[key] = { ...(current[key] as Record<string, unknown>) };\n current = current[key] as Record<string, unknown>;\n }\n\n current[keys[keys.length - 1]] = value;\n return newState;\n });\n }, []);\n\n // Event emitter\n const emit = useCallback(\n (event: string, payload?: unknown) => {\n onEvent?.(event, payload);\n },\n [onEvent]\n );\n\n // Build context\n const context: RenderContext = useMemo(\n () => ({\n registry: getRegistry(),\n theme,\n state,\n setState,\n emit,\n slots,\n surface,\n }),\n [theme, state, setState, emit, slots, surface]\n );\n\n // Convert theme to CSS variables\n const cssVariables = useMemo(() => {\n const vars: Record<string, string> = {};\n\n if (theme.background) vars[\"--workspace-bg\"] = theme.background;\n if (theme.foreground) vars[\"--workspace-fg\"] = theme.foreground;\n if (theme.accent) vars[\"--workspace-accent\"] = theme.accent;\n if (theme.muted) vars[\"--workspace-muted\"] = theme.muted;\n if (theme.borderColor) vars[\"--workspace-border\"] = theme.borderColor;\n if (theme.glowColor) vars[\"--workspace-glow\"] = theme.glowColor;\n if (theme.spacing) vars[\"--workspace-spacing\"] = `${theme.spacing}px`;\n if (theme.borderRadius)\n vars[\"--workspace-radius\"] = `${theme.borderRadius}px`;\n if (theme.fontFamily) vars[\"--workspace-font\"] = theme.fontFamily;\n if (theme.fontSize) vars[\"--workspace-font-size\"] = `${theme.fontSize}px`;\n\n // Custom variables\n if (theme.variables) {\n Object.entries(theme.variables).forEach(([key, value]) => {\n vars[key.startsWith(\"--\") ? key : `--${key}`] = value;\n });\n }\n\n return vars;\n }, [theme]);\n\n return (\n <WorkspaceContext.Provider value={context}>\n <div\n className={`workspace-root ${className || \"\"}`}\n data-workspace-id={spec.id}\n data-workspace-surface={surface}\n style={{\n width: \"100%\",\n height: \"100%\",\n overflow: \"hidden\",\n background: \"var(--workspace-bg, transparent)\",\n color: \"var(--workspace-fg, inherit)\",\n fontFamily: \"var(--workspace-font, inherit)\",\n fontSize: \"var(--workspace-font-size, inherit)\",\n ...cssVariables,\n ...style,\n }}\n >\n <LayoutRenderer node={spec.layout} />\n </div>\n </WorkspaceContext.Provider>\n );\n}\n\n","/**\n * WorkspaceSpec Validation\n *\n * Validates workspace specifications and provides helpful error messages.\n */\n\nimport type {\n WorkspaceSpec,\n LayoutNode,\n PanelNode,\n ValidationResult,\n ValidationError,\n ValidationWarning,\n} from \"./types\";\nimport { getRegistry } from \"./registry/index.js\";\n\n/**\n * Validate a WorkspaceSpec\n */\nexport function validateWorkspace(spec: WorkspaceSpec): ValidationResult {\n const errors: ValidationError[] = [];\n const warnings: ValidationWarning[] = [];\n const registry = getRegistry();\n\n // Validate required fields\n if (!spec.id) {\n errors.push({\n path: \"id\",\n message: \"Workspace ID is required\",\n code: \"MISSING_ID\",\n });\n }\n\n if (!spec.name) {\n errors.push({\n path: \"name\",\n message: \"Workspace name is required\",\n code: \"MISSING_NAME\",\n });\n }\n\n if (!spec.layout) {\n errors.push({\n path: \"layout\",\n message: \"Workspace layout is required\",\n code: \"MISSING_LAYOUT\",\n });\n } else {\n // Validate layout recursively\n validateLayoutNode(spec.layout, \"layout\", errors, warnings, registry);\n }\n\n // Validate bindings\n if (spec.bindings) {\n spec.bindings.forEach((binding, i) => {\n if (!binding.source) {\n errors.push({\n path: `bindings[${i}].source`,\n message: \"Binding source is required\",\n code: \"MISSING_BINDING_SOURCE\",\n });\n }\n if (!binding.event) {\n errors.push({\n path: `bindings[${i}].event`,\n message: \"Binding event is required\",\n code: \"MISSING_BINDING_EVENT\",\n });\n }\n if (!binding.action) {\n errors.push({\n path: `bindings[${i}].action`,\n message: \"Binding action is required\",\n code: \"MISSING_BINDING_ACTION\",\n });\n }\n });\n }\n\n // Validate state\n if (spec.state?.persist && !spec.state.persist.key) {\n errors.push({\n path: \"state.persist.key\",\n message: \"Persistence key is required when persist is enabled\",\n code: \"MISSING_PERSIST_KEY\",\n });\n }\n\n return {\n valid: errors.length === 0,\n errors,\n warnings,\n };\n}\n\n/**\n * Validate a layout node recursively\n */\nfunction validateLayoutNode(\n node: LayoutNode,\n path: string,\n errors: ValidationError[],\n warnings: ValidationWarning[],\n registry: ReturnType<typeof getRegistry>\n): void {\n if (!node.type) {\n errors.push({\n path,\n message: \"Layout node type is required\",\n code: \"MISSING_NODE_TYPE\",\n });\n return;\n }\n\n switch (node.type) {\n case \"split\":\n if (!node.children || node.children.length < 2) {\n errors.push({\n path: `${path}.children`,\n message: \"Split layout requires at least 2 children\",\n code: \"SPLIT_MIN_CHILDREN\",\n });\n } else {\n node.children.forEach((child, i) => {\n validateLayoutNode(\n child,\n `${path}.children[${i}]`,\n errors,\n warnings,\n registry\n );\n });\n }\n break;\n\n case \"stack\":\n if (!node.children || node.children.length === 0) {\n warnings.push({\n path: `${path}.children`,\n message: \"Stack layout has no children\",\n suggestion: \"Add child nodes or use a placeholder\",\n });\n } else {\n node.children.forEach((child, i) => {\n validateLayoutNode(\n child,\n `${path}.children[${i}]`,\n errors,\n warnings,\n registry\n );\n });\n }\n break;\n\n case \"tabs\":\n if (!node.children || node.children.length === 0) {\n errors.push({\n path: `${path}.children`,\n message: \"Tabs layout requires at least one tab\",\n code: \"TABS_MIN_CHILDREN\",\n });\n } else {\n const tabIds = new Set<string>();\n node.children.forEach((tab, i) => {\n if (!tab.id) {\n errors.push({\n path: `${path}.children[${i}].id`,\n message: \"Tab ID is required\",\n code: \"MISSING_TAB_ID\",\n });\n } else if (tabIds.has(tab.id)) {\n errors.push({\n path: `${path}.children[${i}].id`,\n message: `Duplicate tab ID: ${tab.id}`,\n code: \"DUPLICATE_TAB_ID\",\n });\n } else {\n tabIds.add(tab.id);\n }\n\n if (!tab.label) {\n warnings.push({\n path: `${path}.children[${i}].label`,\n message: \"Tab label is missing\",\n suggestion: \"Add a label for accessibility\",\n });\n }\n\n if (tab.content) {\n validateLayoutNode(\n tab.content,\n `${path}.children[${i}].content`,\n errors,\n warnings,\n registry\n );\n } else {\n errors.push({\n path: `${path}.children[${i}].content`,\n message: \"Tab content is required\",\n code: \"MISSING_TAB_CONTENT\",\n });\n }\n });\n\n // Validate defaultTab\n if (node.defaultTab && !tabIds.has(node.defaultTab)) {\n errors.push({\n path: `${path}.defaultTab`,\n message: `Default tab \"${node.defaultTab}\" not found`,\n code: \"INVALID_DEFAULT_TAB\",\n });\n }\n }\n break;\n\n case \"grid\":\n if (!node.children || node.children.length === 0) {\n warnings.push({\n path: `${path}.children`,\n message: \"Grid layout has no items\",\n suggestion: \"Add grid items\",\n });\n } else {\n node.children.forEach((item, i) => {\n if (item.content) {\n validateLayoutNode(\n item.content,\n `${path}.children[${i}].content`,\n errors,\n warnings,\n registry\n );\n } else {\n errors.push({\n path: `${path}.children[${i}].content`,\n message: \"Grid item content is required\",\n code: \"MISSING_GRID_CONTENT\",\n });\n }\n });\n }\n break;\n\n case \"panel\":\n validatePanelNode(node, path, errors, warnings, registry);\n break;\n\n case \"slot\":\n if (!node.name) {\n errors.push({\n path: `${path}.name`,\n message: \"Slot name is required\",\n code: \"MISSING_SLOT_NAME\",\n });\n }\n if (node.fallback) {\n validateLayoutNode(\n node.fallback,\n `${path}.fallback`,\n errors,\n warnings,\n registry\n );\n }\n break;\n\n default:\n errors.push({\n path: `${path}.type`,\n message: `Unknown layout type: ${(node as LayoutNode).type}`,\n code: \"UNKNOWN_NODE_TYPE\",\n });\n }\n}\n\n/**\n * Validate a panel node\n */\nfunction validatePanelNode(\n node: PanelNode,\n path: string,\n errors: ValidationError[],\n warnings: ValidationWarning[],\n registry: ReturnType<typeof getRegistry>\n): void {\n if (!node.component) {\n errors.push({\n path: `${path}.component`,\n message: \"Panel component ID is required\",\n code: \"MISSING_COMPONENT\",\n });\n return;\n }\n\n // Check if component exists in registry\n const manifest = registry.get(node.component);\n if (!manifest) {\n warnings.push({\n path: `${path}.component`,\n message: `Component \"${node.component}\" not found in registry`,\n suggestion: \"Check component ID or register the component\",\n });\n return;\n }\n\n // Validate required props\n if (manifest.props) {\n Object.entries(manifest.props).forEach(([propName, propSchema]) => {\n if (propSchema.required && !(node.props && propName in node.props)) {\n errors.push({\n path: `${path}.props.${propName}`,\n message: `Required prop \"${propName}\" is missing for ${node.component}`,\n code: \"MISSING_REQUIRED_PROP\",\n });\n }\n });\n }\n\n // Validate prop types (basic)\n if (node.props && manifest.props) {\n Object.entries(node.props).forEach(([propName, propValue]) => {\n const propSchema = manifest.props[propName];\n if (!propSchema) {\n warnings.push({\n path: `${path}.props.${propName}`,\n message: `Unknown prop \"${propName}\" for ${node.component}`,\n suggestion: \"Check prop name or remove it\",\n });\n } else if (propSchema.enum && !propSchema.enum.includes(String(propValue))) {\n errors.push({\n path: `${path}.props.${propName}`,\n message: `Invalid value \"${propValue}\" for ${propName}. Expected one of: ${propSchema.enum.join(\", \")}`,\n code: \"INVALID_ENUM_VALUE\",\n });\n }\n });\n }\n\n // Validate children composition\n if (node.children && node.children.length > 0) {\n if (!manifest.slots || manifest.slots.length === 0) {\n warnings.push({\n path: `${path}.children`,\n message: `Component \"${node.component}\" does not define slots but has children`,\n suggestion: \"Check if this component supports children\",\n });\n }\n\n node.children.forEach((child, i) => {\n validatePanelNode(child, `${path}.children[${i}]`, errors, warnings, registry);\n\n // Check composition validity\n const childManifest = registry.get(child.component);\n if (childManifest && !registry.canCompose(node.component, child.component)) {\n warnings.push({\n path: `${path}.children[${i}]`,\n message: `\"${child.component}\" may not be valid inside \"${node.component}\"`,\n suggestion: \"Check component composition rules\",\n });\n }\n });\n }\n}\n\n/**\n * Quick validation check (returns boolean only)\n */\nexport function isValidWorkspace(spec: WorkspaceSpec): boolean {\n return validateWorkspace(spec).valid;\n}\n\n/**\n * Extract all component IDs used in a workspace\n */\nexport function extractComponentIds(spec: WorkspaceSpec): string[] {\n const ids = new Set<string>();\n\n function extractFromNode(node: LayoutNode): void {\n if (node.type === \"panel\") {\n ids.add(node.component);\n node.children?.forEach(extractFromNode);\n } else if (node.type === \"split\" || node.type === \"stack\") {\n node.children.forEach(extractFromNode);\n } else if (node.type === \"tabs\") {\n node.children.forEach((tab) => extractFromNode(tab.content));\n } else if (node.type === \"grid\") {\n node.children.forEach((item) => extractFromNode(item.content));\n } else if (node.type === \"slot\" && node.fallback) {\n extractFromNode(node.fallback);\n }\n }\n\n extractFromNode(spec.layout);\n return Array.from(ids);\n}\n","/**\n * Component Bindings\n *\n * Wires up real React components to the WorkspaceRenderer.\n * This is the bridge between component IDs in WorkspaceSpecs\n * and actual React components.\n */\n\nimport type { ComponentType } from \"react\";\nimport { registerComponent } from \"./WorkspaceRenderer\";\n\n// Type helper for registration - components with various prop requirements\n// get cast to unknown first, then to the generic type\ntype AnyComponent = ComponentType<Record<string, unknown>>;\n\n/**\n * Register all components with the WorkspaceRenderer.\n * Call this once at app initialization.\n */\nexport function initializeComponentBindings(): void {\n // We use dynamic imports to avoid circular dependencies and allow\n // tree-shaking when components aren't used\n\n // =========================================================================\n // Atoms - Import and register\n // =========================================================================\n Promise.all([\n import(\"../primitives/atoms/GlowButton\").then(({ GlowButton }) => {\n registerComponent(\"glow-button\", GlowButton as unknown as AnyComponent);\n }),\n import(\"../primitives/atoms/HUDProgressRing\").then(({ HUDProgressRing }) => {\n registerComponent(\"hud-progress-ring\", HUDProgressRing as unknown as AnyComponent);\n }),\n import(\"../primitives/atoms/TypingAnimation\").then(({ TypingAnimation }) => {\n registerComponent(\"typing-animation\", TypingAnimation as unknown as AnyComponent);\n }),\n import(\"../primitives/atoms/TextGenerateEffect\").then(({ TextGenerateEffect }) => {\n registerComponent(\"text-generate-effect\", TextGenerateEffect as unknown as AnyComponent);\n }),\n import(\"../primitives/atoms/GlitchText\").then(({ GlitchText }) => {\n registerComponent(\"glitch-text\", GlitchText as unknown as AnyComponent);\n }),\n import(\"../primitives/atoms/AuroraBackground\").then(({ AuroraBackground }) => {\n registerComponent(\"aurora-background\", AuroraBackground as unknown as AnyComponent);\n }),\n\n // =========================================================================\n // Molecules\n // =========================================================================\n import(\"../primitives/molecules/KPIStat\").then(({ KPIStat }) => {\n registerComponent(\"kpi-stat\", KPIStat as unknown as AnyComponent);\n }),\n import(\"../primitives/molecules/NeonToast\").then(({ NeonToast }) => {\n registerComponent(\"neon-toast\", NeonToast as unknown as AnyComponent);\n }),\n import(\"../primitives/molecules/ThreeDCard\").then(({ CardContainer, CardBody, CardItem }) => {\n registerComponent(\"card-container\", CardContainer as unknown as AnyComponent);\n registerComponent(\"card-body\", CardBody as unknown as AnyComponent);\n registerComponent(\"card-item\", CardItem as unknown as AnyComponent);\n }),\n\n // =========================================================================\n // Organisms\n // =========================================================================\n import(\"../primitives/organisms/CommandPalette\").then(({ CommandPalette }) => {\n registerComponent(\"command-palette\", CommandPalette as unknown as AnyComponent);\n }),\n import(\"../primitives/organisms/Glass\").then(({ GlassPanel }) => {\n registerComponent(\"glass-panel\", GlassPanel as unknown as AnyComponent);\n }),\n import(\"../primitives/organisms/BentoGrid\").then(({ BentoGrid, BentoGridItem }) => {\n registerComponent(\"bento-grid\", BentoGrid as unknown as AnyComponent);\n registerComponent(\"bento-grid-item\", BentoGridItem as unknown as AnyComponent);\n }),\n\n // =========================================================================\n // UI Primitives\n // =========================================================================\n import(\"../primitives/ui/button\").then(({ Button }) => {\n registerComponent(\"button\", Button as unknown as AnyComponent);\n }),\n import(\"../primitives/ui/badge\").then(({ Badge }) => {\n registerComponent(\"badge\", Badge as unknown as AnyComponent);\n }),\n import(\"../primitives/ui/input\").then(({ Input }) => {\n registerComponent(\"input\", Input as unknown as AnyComponent);\n }),\n import(\"../primitives/ui/textarea\").then(({ Textarea }) => {\n registerComponent(\"textarea\", Textarea as unknown as AnyComponent);\n }),\n import(\"../primitives/ui/label\").then(({ Label }) => {\n registerComponent(\"label\", Label as unknown as AnyComponent);\n }),\n import(\"../primitives/ui/separator\").then(({ Separator }) => {\n registerComponent(\"separator\", Separator as unknown as AnyComponent);\n }),\n import(\"../primitives/ui/skeleton\").then(({ Skeleton }) => {\n registerComponent(\"skeleton\", Skeleton as unknown as AnyComponent);\n }),\n import(\"../primitives/ui/switch\").then(({ Switch }) => {\n registerComponent(\"switch\", Switch as unknown as AnyComponent);\n }),\n import(\"../primitives/ui/scroll-area\").then(({ ScrollArea }) => {\n registerComponent(\"scroll-area\", ScrollArea as unknown as AnyComponent);\n }),\n import(\"../primitives/ui/toggle\").then(({ Toggle }) => {\n registerComponent(\"toggle\", Toggle as unknown as AnyComponent);\n }),\n\n // Tabs\n import(\"../primitives/ui/tabs\").then(({ Tabs, TabsList, TabsTrigger, TabsContent }) => {\n registerComponent(\"tabs\", Tabs as unknown as AnyComponent);\n registerComponent(\"tabs-list\", TabsList as unknown as AnyComponent);\n registerComponent(\"tabs-trigger\", TabsTrigger as unknown as AnyComponent);\n registerComponent(\"tabs-content\", TabsContent as unknown as AnyComponent);\n }),\n\n // Dialog\n import(\"../primitives/ui/dialog\").then(({\n Dialog,\n DialogContent,\n DialogHeader,\n DialogTitle,\n DialogDescription,\n DialogFooter,\n }) => {\n registerComponent(\"dialog\", Dialog as unknown as AnyComponent);\n registerComponent(\"dialog-content\", DialogContent as unknown as AnyComponent);\n registerComponent(\"dialog-header\", DialogHeader as unknown as AnyComponent);\n registerComponent(\"dialog-title\", DialogTitle as unknown as AnyComponent);\n registerComponent(\"dialog-description\", DialogDescription as unknown as AnyComponent);\n registerComponent(\"dialog-footer\", DialogFooter as unknown as AnyComponent);\n }),\n\n // Tooltip\n import(\"../primitives/ui/tooltip\").then(({\n Tooltip,\n TooltipTrigger,\n TooltipContent,\n TooltipProvider,\n }) => {\n registerComponent(\"tooltip-provider\", TooltipProvider as unknown as AnyComponent);\n registerComponent(\"tooltip\", Tooltip as unknown as AnyComponent);\n registerComponent(\"tooltip-trigger\", TooltipTrigger as unknown as AnyComponent);\n registerComponent(\"tooltip-content\", TooltipContent as unknown as AnyComponent);\n }),\n\n // Select\n import(\"../primitives/ui/select\").then(({\n Select,\n SelectTrigger,\n SelectValue,\n SelectContent,\n SelectItem,\n }) => {\n registerComponent(\"select\", Select as unknown as AnyComponent);\n registerComponent(\"select-trigger\", SelectTrigger as unknown as AnyComponent);\n registerComponent(\"select-value\", SelectValue as unknown as AnyComponent);\n registerComponent(\"select-content\", SelectContent as unknown as AnyComponent);\n registerComponent(\"select-item\", SelectItem as unknown as AnyComponent);\n }),\n\n // Dropdown Menu\n import(\"../primitives/ui/dropdown-menu\").then(({\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n }) => {\n registerComponent(\"dropdown-menu\", DropdownMenu as unknown as AnyComponent);\n registerComponent(\"dropdown-menu-trigger\", DropdownMenuTrigger as unknown as AnyComponent);\n registerComponent(\"dropdown-menu-content\", DropdownMenuContent as unknown as AnyComponent);\n registerComponent(\"dropdown-menu-item\", DropdownMenuItem as unknown as AnyComponent);\n }),\n\n // Avatar\n import(\"../primitives/ui/avatar\").then(({ Avatar, AvatarImage, AvatarFallback }) => {\n registerComponent(\"avatar\", Avatar as unknown as AnyComponent);\n registerComponent(\"avatar-image\", AvatarImage as unknown as AnyComponent);\n registerComponent(\"avatar-fallback\", AvatarFallback as unknown as AnyComponent);\n }),\n\n // Alert Dialog\n import(\"../primitives/ui/alert-dialog\").then(({\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogTitle,\n AlertDialogTrigger,\n }) => {\n registerComponent(\"alert-dialog\", AlertDialog as unknown as AnyComponent);\n registerComponent(\"alert-dialog-trigger\", AlertDialogTrigger as unknown as AnyComponent);\n registerComponent(\"alert-dialog-content\", AlertDialogContent as unknown as AnyComponent);\n registerComponent(\"alert-dialog-header\", AlertDialogHeader as unknown as AnyComponent);\n registerComponent(\"alert-dialog-title\", AlertDialogTitle as unknown as AnyComponent);\n registerComponent(\"alert-dialog-description\", AlertDialogDescription as unknown as AnyComponent);\n registerComponent(\"alert-dialog-footer\", AlertDialogFooter as unknown as AnyComponent);\n registerComponent(\"alert-dialog-action\", AlertDialogAction as unknown as AnyComponent);\n registerComponent(\"alert-dialog-cancel\", AlertDialogCancel as unknown as AnyComponent);\n }),\n\n // Popover\n import(\"../primitives/ui/popover\").then(({\n Popover,\n PopoverTrigger,\n PopoverContent,\n }) => {\n registerComponent(\"popover\", Popover as unknown as AnyComponent);\n registerComponent(\"popover-trigger\", PopoverTrigger as unknown as AnyComponent);\n registerComponent(\"popover-content\", PopoverContent as unknown as AnyComponent);\n }),\n ]).then(() => {\n console.log(\"[AG-UI] Component bindings initialized\");\n });\n}\n\n/**\n * Synchronously initialize core components for SSR/testing.\n * This is a fallback that imports a minimal set synchronously.\n */\nexport function initializeComponentBindingsSync(): void {\n // This would require static imports - use only if async init isn't possible\n console.log(\"[AG-UI] Sync component bindings not yet implemented\");\n}\n\n/**\n * Lazy-load Three.js components (heavy dependencies)\n */\nexport async function loadThreeComponents(): Promise<void> {\n const [{ Graph3D }, { ParticleField }] = await Promise.all([\n import(\"../primitives/three/Graph3D/Graph3D\"),\n import(\"../primitives/three/ParticleField/ParticleField\"),\n ]);\n\n registerComponent(\"graph-3d\", Graph3D as unknown as AnyComponent);\n registerComponent(\"particle-field\", ParticleField as unknown as AnyComponent);\n\n console.log(\"[AG-UI] Three.js components loaded\");\n}\n\n/**\n * Get list of all registered component IDs\n */\nexport function getRegisteredComponents(): string[] {\n return [\n // Atoms\n \"glow-button\",\n \"hud-progress-ring\",\n \"typing-animation\",\n \"text-generate-effect\",\n \"glitch-text\",\n \"aurora-background\",\n // Molecules\n \"kpi-stat\",\n \"neon-toast\",\n \"card-container\",\n \"card-body\",\n \"card-item\",\n // Organisms\n \"command-palette\",\n \"glass-panel\",\n \"bento-grid\",\n \"bento-grid-item\",\n // UI Primitives\n \"button\",\n \"badge\",\n \"input\",\n \"textarea\",\n \"label\",\n \"separator\",\n \"skeleton\",\n \"switch\",\n \"scroll-area\",\n \"toggle\",\n \"tabs\",\n \"tabs-list\",\n \"tabs-trigger\",\n \"tabs-content\",\n \"dialog\",\n \"dialog-content\",\n \"dialog-header\",\n \"dialog-title\",\n \"dialog-description\",\n \"dialog-footer\",\n \"tooltip-provider\",\n \"tooltip\",\n \"tooltip-trigger\",\n \"tooltip-content\",\n \"select\",\n \"select-trigger\",\n \"select-value\",\n \"select-content\",\n \"select-item\",\n \"dropdown-menu\",\n \"dropdown-menu-trigger\",\n \"dropdown-menu-content\",\n \"dropdown-menu-item\",\n \"avatar\",\n \"avatar-image\",\n \"avatar-fallback\",\n \"alert-dialog\",\n \"alert-dialog-trigger\",\n \"alert-dialog-content\",\n \"alert-dialog-header\",\n \"alert-dialog-title\",\n \"alert-dialog-description\",\n \"alert-dialog-footer\",\n \"alert-dialog-action\",\n \"alert-dialog-cancel\",\n \"popover\",\n \"popover-trigger\",\n \"popover-content\",\n // Three.js (lazy loaded)\n \"graph-3d\",\n \"particle-field\",\n ];\n}\n"]}
@@ -1,178 +0,0 @@
1
- import { prefersReducedMotion, useFocusTrap, cn } from './chunk-6RX2WGCO.js';
2
- import { cva } from 'class-variance-authority';
3
- import { Command, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, CommandSeparator } from 'cmdk';
4
- import { AnimatePresence, motion } from 'framer-motion';
5
- import { Search } from 'lucide-react';
6
- import * as React from 'react';
7
- import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
8
-
9
- var commandPaletteVariants = cva("fixed inset-0 z-50 flex items-start justify-center p-4", {
10
- variants: {
11
- variant: {
12
- default: "bg-black/50 backdrop-blur-sm",
13
- dark: "bg-black/80 backdrop-blur-md",
14
- light: "bg-[rgba(2,4,10,0.85)] backdrop-blur-sm"
15
- }
16
- },
17
- defaultVariants: {
18
- variant: "default"
19
- }
20
- });
21
- function CommandPalette({
22
- className,
23
- variant,
24
- open,
25
- onOpenChange,
26
- items,
27
- placeholder = "Search commands...",
28
- emptyText = "No results found.",
29
- loading = false,
30
- disableAnimations = false,
31
- footer,
32
- recentCommands = [],
33
- ...props
34
- }) {
35
- const [value, setValue] = React.useState("");
36
- const paletteRef = React.useRef(null);
37
- const reducedMotion = prefersReducedMotion();
38
- const shouldAnimate = !disableAnimations && !reducedMotion;
39
- useFocusTrap(paletteRef, open);
40
- const groupedItems = React.useMemo(() => {
41
- const groups = {};
42
- items.forEach((item) => {
43
- const group = item.group || "Commands";
44
- if (!groups[group]) {
45
- groups[group] = [];
46
- }
47
- groups[group].push(item);
48
- });
49
- return groups;
50
- }, [items]);
51
- React.useEffect(() => {
52
- const handleKeyDown = (e) => {
53
- if (e.key === "k" && (e.metaKey || e.ctrlKey)) {
54
- e.preventDefault();
55
- onOpenChange(true);
56
- }
57
- if (e.key === "Escape" && open) {
58
- onOpenChange(false);
59
- }
60
- };
61
- document.addEventListener("keydown", handleKeyDown);
62
- return () => document.removeEventListener("keydown", handleKeyDown);
63
- }, [open, onOpenChange]);
64
- const handleSelect = (item) => {
65
- item.action();
66
- onOpenChange(false);
67
- setValue("");
68
- };
69
- return /* @__PURE__ */ jsx(AnimatePresence, { children: open && /* @__PURE__ */ jsxs(Fragment, { children: [
70
- /* @__PURE__ */ jsx(
71
- motion.div,
72
- {
73
- className: cn(commandPaletteVariants({ variant })),
74
- initial: shouldAnimate ? { opacity: 0 } : {},
75
- animate: { opacity: 1 },
76
- exit: shouldAnimate ? { opacity: 0 } : {},
77
- transition: { duration: shouldAnimate ? 0.2 : 0 },
78
- onClick: () => onOpenChange(false)
79
- }
80
- ),
81
- /* @__PURE__ */ jsx(
82
- motion.div,
83
- {
84
- ref: paletteRef,
85
- className: cn(
86
- "relative w-full max-w-2xl mx-4 bg-card border border-border rounded-lg shadow-2xl overflow-hidden",
87
- className
88
- ),
89
- role: "dialog",
90
- "aria-modal": "true",
91
- "aria-label": "Command palette",
92
- initial: shouldAnimate ? { opacity: 0, scale: 0.95, y: -20 } : {},
93
- animate: { opacity: 1, scale: 1, y: 0 },
94
- exit: shouldAnimate ? { opacity: 0, scale: 0.95, y: -20 } : {},
95
- transition: {
96
- duration: shouldAnimate ? 0.2 : 0,
97
- type: "spring",
98
- bounce: 0.2
99
- },
100
- onClick: (e) => e.stopPropagation(),
101
- ...props,
102
- children: /* @__PURE__ */ jsxs(Command, { value, onValueChange: setValue, className: "w-full", children: [
103
- /* @__PURE__ */ jsxs("div", { className: "flex items-center border-b border-border px-4 py-3", children: [
104
- /* @__PURE__ */ jsx(Search, { className: "h-4 w-4 text-muted-foreground mr-3" }),
105
- /* @__PURE__ */ jsx(
106
- CommandInput,
107
- {
108
- placeholder,
109
- className: "flex-1 bg-transparent border-0 outline-none text-foreground placeholder:text-muted-foreground",
110
- autoFocus: true
111
- }
112
- ),
113
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1 text-xs text-muted-foreground ml-3", children: [
114
- /* @__PURE__ */ jsx("kbd", { className: "px-1.5 py-0.5 bg-muted rounded text-xs", children: "\u2318" }),
115
- /* @__PURE__ */ jsx("kbd", { className: "px-1.5 py-0.5 bg-muted rounded text-xs", children: "K" })
116
- ] })
117
- ] }),
118
- /* @__PURE__ */ jsx(CommandList, { className: "max-h-96 overflow-y-auto", children: loading ? /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center py-12", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 text-muted-foreground", children: [
119
- /* @__PURE__ */ jsx("div", { className: "w-4 h-4 border-2 border-current border-t-transparent rounded-full animate-spin" }),
120
- /* @__PURE__ */ jsx("span", { className: "text-sm", children: "Loading..." })
121
- ] }) }) : /* @__PURE__ */ jsxs(Fragment, { children: [
122
- /* @__PURE__ */ jsx(CommandEmpty, { className: "py-12 text-center text-sm text-muted-foreground", children: emptyText }),
123
- recentCommands.length > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
124
- /* @__PURE__ */ jsx(CommandGroup, { heading: "Recent", children: recentCommands.slice(0, 3).map((commandId) => {
125
- const item = items.find((i) => i.id === commandId);
126
- if (!item) return null;
127
- return /* @__PURE__ */ jsxs(
128
- CommandItem,
129
- {
130
- value: item.title,
131
- onSelect: () => handleSelect(item),
132
- className: "flex items-center gap-3 px-4 py-3 cursor-pointer hover:bg-accent",
133
- children: [
134
- item.icon || /* @__PURE__ */ jsx("div", { className: "w-4 h-4" }),
135
- /* @__PURE__ */ jsxs("div", { className: "flex-1", children: [
136
- /* @__PURE__ */ jsx("div", { className: "font-medium", children: item.title }),
137
- item.description && /* @__PURE__ */ jsx("div", { className: "text-sm text-muted-foreground", children: item.description })
138
- ] }),
139
- /* @__PURE__ */ jsx("div", { className: "text-xs text-muted-foreground", children: "Recent" })
140
- ]
141
- },
142
- item.id
143
- );
144
- }) }),
145
- /* @__PURE__ */ jsx(CommandSeparator, {})
146
- ] }),
147
- Object.entries(groupedItems).map(([groupName, groupItems]) => /* @__PURE__ */ jsx(CommandGroup, { heading: groupName, children: groupItems.map((item) => /* @__PURE__ */ jsxs(
148
- CommandItem,
149
- {
150
- value: item.title,
151
- keywords: item.keywords,
152
- onSelect: () => handleSelect(item),
153
- className: "flex items-center gap-3 px-4 py-3 cursor-pointer hover:bg-accent",
154
- children: [
155
- item.icon || /* @__PURE__ */ jsx("div", { className: "w-4 h-4" }),
156
- /* @__PURE__ */ jsxs("div", { className: "flex-1", children: [
157
- /* @__PURE__ */ jsx("div", { className: "font-medium", children: item.title }),
158
- item.description && /* @__PURE__ */ jsx("div", { className: "text-sm text-muted-foreground", children: item.description })
159
- ] }),
160
- item.shortcut && /* @__PURE__ */ jsx("div", { className: "flex items-center gap-0.5", children: item.shortcut.map((key, index) => /* @__PURE__ */ jsxs(React.Fragment, { children: [
161
- /* @__PURE__ */ jsx("kbd", { className: "px-1.5 py-0.5 bg-muted rounded text-xs", children: key }),
162
- index < item.shortcut.length - 1 && /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "+" })
163
- ] }, index)) })
164
- ]
165
- },
166
- item.id
167
- )) }, groupName))
168
- ] }) }),
169
- footer && /* @__PURE__ */ jsx("div", { className: "border-t border-border px-4 py-3", children: footer })
170
- ] })
171
- }
172
- )
173
- ] }) });
174
- }
175
-
176
- export { CommandPalette };
177
- //# sourceMappingURL=chunk-W67QAGSH.js.map
178
- //# sourceMappingURL=chunk-W67QAGSH.js.map