@flikk/ui 1.0.0-beta.27 → 1.0.0-beta.29

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 (319) hide show
  1. package/dist/bg/1.webp +0 -0
  2. package/dist/bg/10.webp +0 -0
  3. package/dist/bg/11.webp +0 -0
  4. package/dist/bg/12.webp +0 -0
  5. package/dist/bg/13.webp +0 -0
  6. package/dist/bg/14.webp +0 -0
  7. package/dist/bg/15.webp +0 -0
  8. package/dist/bg/16.webp +0 -0
  9. package/dist/bg/17.webp +0 -0
  10. package/dist/bg/18.webp +0 -0
  11. package/dist/bg/19.webp +0 -0
  12. package/dist/bg/2.webp +0 -0
  13. package/dist/bg/20.webp +0 -0
  14. package/dist/bg/21.webp +0 -0
  15. package/dist/bg/22.webp +0 -0
  16. package/dist/bg/3.webp +0 -0
  17. package/dist/bg/4.webp +0 -0
  18. package/dist/bg/5.webp +0 -0
  19. package/dist/bg/6.webp +0 -0
  20. package/dist/bg/7.webp +0 -0
  21. package/dist/bg/8.webp +0 -0
  22. package/dist/bg/9.webp +0 -0
  23. package/dist/components/ai/CodeBlock/CodeBlock.theme.js +1 -1
  24. package/dist/components/ai/PromptInput/PromptInput.js +7 -143
  25. package/dist/components/ai/PromptInput/VoiceRecorder.js +0 -88
  26. package/dist/components/ai/TokenCounter/TokenCounter.theme.js +1 -1
  27. package/dist/components/canvas/Background.d.ts +19 -0
  28. package/dist/components/canvas/Background.js +23 -0
  29. package/dist/components/canvas/BaseNode.d.ts +15 -0
  30. package/dist/components/canvas/BaseNode.js +20 -0
  31. package/dist/components/canvas/CanvasToolbar.d.ts +34 -0
  32. package/dist/components/canvas/CanvasToolbar.js +34 -0
  33. package/dist/components/canvas/Edge.d.ts +35 -0
  34. package/dist/components/canvas/Edge.js +97 -0
  35. package/dist/components/canvas/EdgeLayer.d.ts +18 -0
  36. package/dist/components/canvas/EdgeLayer.js +111 -0
  37. package/dist/components/canvas/Handle.d.ts +11 -0
  38. package/dist/components/canvas/Handle.js +63 -0
  39. package/dist/components/canvas/MiniMap.d.ts +22 -0
  40. package/dist/components/canvas/MiniMap.js +105 -0
  41. package/dist/components/canvas/NodeCanvas.d.ts +10 -0
  42. package/dist/components/canvas/NodeCanvas.js +477 -0
  43. package/dist/components/canvas/NodeCanvas.theme.d.ts +7 -0
  44. package/dist/components/canvas/NodeCanvas.theme.js +9 -0
  45. package/dist/components/canvas/NodeCanvas.types.d.ts +187 -0
  46. package/dist/components/canvas/NodeControls.d.ts +25 -0
  47. package/dist/components/canvas/NodeControls.js +40 -0
  48. package/dist/components/canvas/NodeRenderer.d.ts +19 -0
  49. package/dist/components/canvas/NodeRenderer.js +117 -0
  50. package/dist/components/canvas/changes.d.ts +11 -0
  51. package/dist/components/canvas/changes.js +76 -0
  52. package/dist/components/canvas/context/CanvasContext.d.ts +32 -0
  53. package/dist/components/canvas/context/CanvasContext.js +14 -0
  54. package/dist/components/canvas/context/ConnectionContext.d.ts +33 -0
  55. package/dist/components/canvas/context/ConnectionContext.js +13 -0
  56. package/dist/components/canvas/context/HandleRegistry.d.ts +24 -0
  57. package/dist/components/canvas/context/HandleRegistry.js +15 -0
  58. package/dist/components/canvas/context/InteractionContext.d.ts +18 -0
  59. package/dist/components/canvas/context/InteractionContext.js +14 -0
  60. package/dist/components/canvas/context/NodeIdContext.d.ts +3 -0
  61. package/dist/components/canvas/context/NodeIdContext.js +15 -0
  62. package/dist/components/canvas/hooks/useConnection.d.ts +17 -0
  63. package/dist/components/canvas/hooks/useConnection.js +29 -0
  64. package/dist/components/canvas/hooks/useMarquee.d.ts +25 -0
  65. package/dist/components/canvas/hooks/useMarquee.js +91 -0
  66. package/dist/components/canvas/hooks/useNodeDrag.d.ts +23 -0
  67. package/dist/components/canvas/hooks/useNodeDrag.js +110 -0
  68. package/dist/components/canvas/hooks/usePanZoom.d.ts +30 -0
  69. package/dist/components/canvas/hooks/usePanZoom.js +189 -0
  70. package/dist/components/canvas/hooks/useViewport.d.ts +21 -0
  71. package/dist/components/canvas/hooks/useViewport.js +35 -0
  72. package/dist/components/canvas/index.d.ts +14 -0
  73. package/dist/components/canvas/index.js +12 -0
  74. package/dist/components/canvas/layout.d.ts +22 -0
  75. package/dist/components/canvas/layout.js +67 -0
  76. package/dist/components/canvas/utils.d.ts +4 -0
  77. package/dist/components/canvas/utils.js +16 -0
  78. package/dist/components/charts/AreaChart/AreaChart.js +136 -101
  79. package/dist/components/charts/AreaChart/AreaChart.types.d.ts +5 -5
  80. package/dist/components/charts/AreaChart/AreaChart.types.js +1 -0
  81. package/dist/components/charts/BarChart/BarChart.js +207 -143
  82. package/dist/components/charts/BarChart/BarChart.types.d.ts +4 -4
  83. package/dist/components/charts/BarChart/BarChart.types.js +1 -0
  84. package/dist/components/charts/ComboChart/ComboChart.types.d.ts +2 -2
  85. package/dist/components/charts/LineChart/LineChart.js +88 -72
  86. package/dist/components/charts/LineChart/LineChart.types.d.ts +3 -3
  87. package/dist/components/charts/RadarChart/RadarChart.js +1 -1
  88. package/dist/components/charts/RadarChart/RadarChart.theme.js +5 -2
  89. package/dist/components/charts/ScatterPlot/ScatterPlot.js +62 -72
  90. package/dist/components/charts/ScatterPlot/ScatterPlot.theme.js +10 -1
  91. package/dist/components/charts/ScatterPlot/ScatterPlot.types.d.ts +3 -9
  92. package/dist/components/charts/StackedBarChart/StackedBarChart.js +33 -33
  93. package/dist/components/charts/StackedBarChart/StackedBarChart.types.d.ts +2 -2
  94. package/dist/components/charts/hooks/index.d.ts +2 -0
  95. package/dist/components/charts/hooks/useChartDimensions.d.ts +29 -0
  96. package/dist/components/charts/hooks/useChartDimensions.js +42 -0
  97. package/dist/components/charts/shared/ChartTooltip/ChartTooltip.theme.js +1 -1
  98. package/dist/components/charts/types/chart.types.d.ts +11 -2
  99. package/dist/components/charts/types/chart.types.js +10 -3
  100. package/dist/components/core/Avatar/Avatar.js +5 -1
  101. package/dist/components/core/AvatarGroup/AvatarGroup.js +5 -1
  102. package/dist/components/core/AvatarGroup/AvatarGroup.theme.js +4 -2
  103. package/dist/components/core/Badge/Badge.js +1 -1
  104. package/dist/components/core/Badge/Badge.theme.js +16 -15
  105. package/dist/components/core/Button/Button.js +1 -1
  106. package/dist/components/core/Button/Button.theme.js +2 -2
  107. package/dist/components/core/Calendar/Calendar.theme.js +1 -1
  108. package/dist/components/core/Card/Card.js +7 -3
  109. package/dist/components/core/Card/Card.theme.js +3 -3
  110. package/dist/components/core/Card/Card.types.d.ts +27 -2
  111. package/dist/components/core/CommandPalette/CommandPalette.theme.js +2 -2
  112. package/dist/components/core/ContextMenu/ContextMenu.theme.js +2 -2
  113. package/dist/components/core/ContextMenu/ContextMenuItem.js +1 -1
  114. package/dist/components/core/ContextMenu/ContextMenuSubTrigger.js +1 -1
  115. package/dist/components/core/Dropdown/Dropdown.theme.js +3 -3
  116. package/dist/components/core/Dropdown/DropdownMenu.js +57 -29
  117. package/dist/components/core/HeroCard/HeroCard.d.ts +5 -0
  118. package/dist/components/core/HeroCard/HeroCard.js +99 -0
  119. package/dist/components/core/HeroCard/HeroCard.theme.d.ts +3 -0
  120. package/dist/components/core/HeroCard/HeroCard.theme.js +8 -0
  121. package/dist/components/core/HeroCard/HeroCard.types.d.ts +70 -0
  122. package/dist/components/core/HeroCard/index.d.ts +4 -0
  123. package/dist/components/core/Kbd/Kbd.theme.js +1 -1
  124. package/dist/components/core/Modal/Modal.d.ts +1 -1
  125. package/dist/components/core/Modal/Modal.js +2 -7
  126. package/dist/components/core/Modal/Modal.theme.js +4 -8
  127. package/dist/components/core/Modal/Modal.types.d.ts +0 -10
  128. package/dist/components/core/Modal/index.d.ts +1 -1
  129. package/dist/components/core/ModalStack/ModalStack.d.ts +1 -1
  130. package/dist/components/core/ModalStack/ModalStack.types.d.ts +1 -2
  131. package/dist/components/core/ModalStack/ModalStackModal.d.ts +1 -1
  132. package/dist/components/core/ModalStack/ModalStackModal.js +2 -7
  133. package/dist/components/core/PageHeading/PageHeading.theme.js +2 -2
  134. package/dist/components/core/Popover/Popover.theme.js +1 -1
  135. package/dist/components/core/ScrollArea/ScrollArea.js +242 -4
  136. package/dist/components/core/ScrollArea/ScrollArea.types.d.ts +12 -1
  137. package/dist/components/core/ScrollArea/smooth/SmoothScrollEngine.d.ts +4 -0
  138. package/dist/components/core/ScrollArea/smooth/SmoothScrollEngine.js +23 -0
  139. package/dist/components/core/ScrollArea/smooth/useSmoothScroll.js +4 -0
  140. package/dist/components/core/ScrollArea/smooth/useSmoothScroll.types.d.ts +5 -0
  141. package/dist/components/core/Segmented/Segmented.theme.js +2 -2
  142. package/dist/components/core/Tooltip/Tooltip.theme.js +1 -1
  143. package/dist/components/core/index.d.ts +1 -0
  144. package/dist/components/core/index.js +2 -0
  145. package/dist/components/data-display/DescriptionList/DescriptionList.js +23 -7
  146. package/dist/components/data-display/DescriptionList/DescriptionList.theme.js +10 -3
  147. package/dist/components/data-display/DescriptionList/DescriptionList.types.d.ts +49 -10
  148. package/dist/components/data-display/DescriptionList/index.d.ts +1 -1
  149. package/dist/components/data-display/Feed/Feed.js +28 -5
  150. package/dist/components/data-display/Feed/Feed.theme.js +1 -1
  151. package/dist/components/data-display/Feed/Feed.types.d.ts +32 -1
  152. package/dist/components/data-display/Feed/index.d.ts +1 -1
  153. package/dist/components/data-display/Metric/Metric.js +8 -8
  154. package/dist/components/data-display/Metric/Metric.theme.d.ts +3 -2
  155. package/dist/components/data-display/Metric/Metric.theme.js +50 -68
  156. package/dist/components/data-display/Metric/Metric.types.d.ts +19 -21
  157. package/dist/components/data-display/Table/Table.js +2 -2
  158. package/dist/components/data-display/Table/Table.theme.js +24 -4
  159. package/dist/components/data-display/Table/Table.types.d.ts +8 -0
  160. package/dist/components/data-display/Table/TableBody.js +2 -2
  161. package/dist/components/data-display/Table/TableCell.js +1 -1
  162. package/dist/components/data-display/Table/TableRow.d.ts +1 -1
  163. package/dist/components/data-display/Table/TableRow.js +9 -2
  164. package/dist/components/data-display/Timeline/Timeline.js +27 -5
  165. package/dist/components/data-display/Timeline/Timeline.theme.d.ts +10 -2
  166. package/dist/components/data-display/Timeline/Timeline.theme.js +14 -8
  167. package/dist/components/data-display/Timeline/Timeline.types.d.ts +48 -16
  168. package/dist/components/data-display/Timeline/Timeline.utils.d.ts +6 -0
  169. package/dist/components/data-display/Timeline/Timeline.utils.js +11 -0
  170. package/dist/components/data-display/Timeline/TimelineItem.js +13 -20
  171. package/dist/components/data-display/Timeline/TimelineMarker.js +10 -8
  172. package/dist/components/data-display/Timeline/index.d.ts +2 -2
  173. package/dist/components/effects/3d/index.d.ts +0 -2
  174. package/dist/components/effects/3d/index.js +0 -1
  175. package/dist/components/effects/DotPattern/DotPattern.js +1 -1
  176. package/dist/components/effects/Overlay/Overlay.theme.js +1 -2
  177. package/dist/components/effects/Preloader/Preloader.animations.d.ts +23 -0
  178. package/dist/components/effects/Preloader/Preloader.animations.js +150 -0
  179. package/dist/components/effects/Preloader/Preloader.d.ts +3 -0
  180. package/dist/components/effects/Preloader/Preloader.js +119 -0
  181. package/dist/components/effects/Preloader/Preloader.types.d.ts +63 -0
  182. package/dist/components/effects/Preloader/index.d.ts +2 -0
  183. package/dist/components/effects/ProgressiveBlur/ProgressiveBlur.js +25 -14
  184. package/dist/components/effects/ProgressiveBlur/ProgressiveBlur.types.d.ts +2 -0
  185. package/dist/components/effects/TiltCard/TiltCard.d.ts +12 -0
  186. package/dist/components/effects/TiltCard/TiltCard.glow.d.ts +28 -0
  187. package/dist/components/effects/TiltCard/TiltCard.glow.js +114 -0
  188. package/dist/components/effects/TiltCard/TiltCard.js +177 -0
  189. package/dist/components/effects/{SpotlightBorder/SpotlightBorder.shaders.d.ts → TiltCard/TiltCard.shaders.d.ts} +1 -1
  190. package/dist/components/effects/{SpotlightBorder/SpotlightBorder.shaders.js → TiltCard/TiltCard.shaders.js} +1 -1
  191. package/dist/components/effects/TiltCard/TiltCard.types.d.ts +88 -0
  192. package/dist/components/effects/TiltCard/index.d.ts +2 -0
  193. package/dist/components/effects/index.d.ts +4 -12
  194. package/dist/components/effects/index.js +2 -6
  195. package/dist/components/forms/Checkbox/Checkbox.js +7 -1
  196. package/dist/components/forms/DatePicker/DatePicker.theme.js +2 -2
  197. package/dist/components/forms/DateRangePicker/DateRangePicker.theme.js +1 -1
  198. package/dist/components/forms/FileUpload/FileUpload.js +1 -89
  199. package/dist/components/forms/FormLabel/FormLabel.theme.js +1 -1
  200. package/dist/components/forms/RichTextEditor/RichTextEditor.theme.js +2 -2
  201. package/dist/components/forms/Slider/Slider.theme.js +1 -1
  202. package/dist/components/forms/Switch/Switch.js +27 -15
  203. package/dist/components/forms/Switch/Switch.theme.d.ts +36 -6
  204. package/dist/components/forms/Switch/Switch.theme.js +33 -4
  205. package/dist/components/forms/Switch/Switch.types.d.ts +12 -2
  206. package/dist/components/forms/TimePicker/TimePicker.theme.js +1 -2
  207. package/dist/components/forms/TimePicker/TimePickerContent.js +1 -90
  208. package/dist/components/forms/forms.theme.js +1 -1
  209. package/dist/components/forms/index.d.ts +0 -4
  210. package/dist/components/forms/index.js +0 -92
  211. package/dist/components/generative/GenerativeView.d.ts +21 -0
  212. package/dist/components/generative/GenerativeView.js +116 -0
  213. package/dist/components/generative/actions.d.ts +26 -0
  214. package/dist/components/generative/actions.js +51 -0
  215. package/dist/components/generative/index.d.ts +11 -0
  216. package/dist/components/generative/index.js +9 -0
  217. package/dist/components/generative/registry.d.ts +43 -0
  218. package/dist/components/generative/registry.js +114 -0
  219. package/dist/components/generative/resolvers.d.ts +35 -0
  220. package/dist/components/generative/resolvers.js +93 -0
  221. package/dist/components/generative/schema.generated.d.ts +2 -0
  222. package/dist/components/generative/schema.generated.js +1639 -0
  223. package/dist/components/generative/schemaTypes.d.ts +30 -0
  224. package/dist/components/generative/streaming.d.ts +39 -0
  225. package/dist/components/generative/streaming.js +283 -0
  226. package/dist/components/generative/tools.d.ts +21 -0
  227. package/dist/components/generative/tools.js +54 -0
  228. package/dist/components/generative/types.d.ts +41 -0
  229. package/dist/components/generative/useGenerativeStream.d.ts +37 -0
  230. package/dist/components/generative/useGenerativeStream.js +36 -0
  231. package/dist/components/generative/validate.d.ts +24 -0
  232. package/dist/components/generative/validate.js +259 -0
  233. package/dist/components/layout/AppShell/AppShell.theme.js +2 -2
  234. package/dist/components/layout/FormLayout/FormLayout.js +1 -90
  235. package/dist/components/layout/Grid/Grid.d.ts +3 -0
  236. package/dist/components/layout/Grid/Grid.js +50 -0
  237. package/dist/components/layout/Grid/Grid.theme.d.ts +2 -0
  238. package/dist/components/layout/Grid/Grid.theme.js +35 -0
  239. package/dist/components/layout/Grid/Grid.types.d.ts +57 -0
  240. package/dist/components/layout/Grid/index.d.ts +3 -0
  241. package/dist/components/layout/Section/Section.d.ts +3 -0
  242. package/dist/components/layout/Section/Section.js +18 -0
  243. package/dist/components/layout/Section/Section.theme.d.ts +2 -0
  244. package/dist/components/layout/Section/Section.theme.js +10 -0
  245. package/dist/components/layout/Section/Section.types.d.ts +34 -0
  246. package/dist/components/layout/Section/index.d.ts +3 -0
  247. package/dist/components/layout/Stack/Stack.d.ts +3 -0
  248. package/dist/components/layout/Stack/Stack.js +19 -0
  249. package/dist/components/layout/Stack/Stack.theme.d.ts +2 -0
  250. package/dist/components/layout/Stack/Stack.theme.js +10 -0
  251. package/dist/components/layout/Stack/Stack.types.d.ts +39 -0
  252. package/dist/components/layout/Stack/index.d.ts +3 -0
  253. package/dist/components/layout/index.d.ts +3 -0
  254. package/dist/components/layout/index.js +6 -0
  255. package/dist/generative.schema.json +1637 -0
  256. package/dist/index.js +180 -180
  257. package/dist/registry.json +648 -464
  258. package/dist/styles.css +1 -1
  259. package/dist/tools.json +1731 -0
  260. package/package.json +17 -4
  261. package/src/global.scss +53 -101
  262. package/src/styles/theme.css +687 -493
  263. package/dist/bg/1.jpg +0 -0
  264. package/dist/bg/10.jpg +0 -0
  265. package/dist/bg/11.jpg +0 -0
  266. package/dist/bg/14.jpg +0 -0
  267. package/dist/bg/15.jpg +0 -0
  268. package/dist/bg/16.jpg +0 -0
  269. package/dist/bg/17.jpg +0 -0
  270. package/dist/bg/18.jpg +0 -0
  271. package/dist/bg/19.jpg +0 -0
  272. package/dist/bg/2.jpg +0 -0
  273. package/dist/bg/20.jpg +0 -0
  274. package/dist/bg/21.jpg +0 -0
  275. package/dist/bg/22.jpg +0 -0
  276. package/dist/bg/23.jpg +0 -0
  277. package/dist/bg/24.jpg +0 -0
  278. package/dist/bg/3.jpg +0 -0
  279. package/dist/bg/4.jpg +0 -0
  280. package/dist/bg/5.jpg +0 -0
  281. package/dist/bg/6.jpg +0 -0
  282. package/dist/bg/7.jpg +0 -0
  283. package/dist/bg/8.jpg +0 -0
  284. package/dist/bg/9.jpg +0 -0
  285. package/dist/components/effects/MorphingText/MorphingText.d.ts +0 -17
  286. package/dist/components/effects/MorphingText/MorphingText.js +0 -125
  287. package/dist/components/effects/MorphingText/MorphingText.types.d.ts +0 -18
  288. package/dist/components/effects/MorphingText/index.d.ts +0 -2
  289. package/dist/components/effects/PageTransition/PageTransition.animations.d.ts +0 -8
  290. package/dist/components/effects/PageTransition/PageTransition.animations.js +0 -53
  291. package/dist/components/effects/PageTransition/PageTransition.d.ts +0 -3
  292. package/dist/components/effects/PageTransition/PageTransition.js +0 -82
  293. package/dist/components/effects/PageTransition/PageTransition.types.d.ts +0 -15
  294. package/dist/components/effects/PageTransition/index.d.ts +0 -2
  295. package/dist/components/effects/ParallaxSection/ParallaxSection.d.ts +0 -26
  296. package/dist/components/effects/ParallaxSection/ParallaxSection.js +0 -71
  297. package/dist/components/effects/ParallaxSection/ParallaxSection.types.d.ts +0 -11
  298. package/dist/components/effects/ParallaxSection/index.d.ts +0 -2
  299. package/dist/components/effects/Spotlight/Spotlight.d.ts +0 -36
  300. package/dist/components/effects/Spotlight/Spotlight.js +0 -112
  301. package/dist/components/effects/Spotlight/Spotlight.types.d.ts +0 -29
  302. package/dist/components/effects/Spotlight/index.d.ts +0 -2
  303. package/dist/components/effects/SpotlightBorder/SpotlightBorder.d.ts +0 -18
  304. package/dist/components/effects/SpotlightBorder/SpotlightBorder.js +0 -213
  305. package/dist/components/effects/SpotlightBorder/SpotlightBorder.types.d.ts +0 -61
  306. package/dist/components/effects/SpotlightBorder/index.d.ts +0 -2
  307. package/dist/components/effects/StickyScroll/StickyScroll.d.ts +0 -30
  308. package/dist/components/effects/StickyScroll/StickyScroll.js +0 -128
  309. package/dist/components/effects/StickyScroll/StickyScroll.types.d.ts +0 -19
  310. package/dist/components/effects/StickyScroll/index.d.ts +0 -2
  311. package/dist/components/forms/CronInput/CronInput.d.ts +0 -3
  312. package/dist/components/forms/CronInput/CronInput.js +0 -113
  313. package/dist/components/forms/CronInput/CronInput.theme.d.ts +0 -6
  314. package/dist/components/forms/CronInput/CronInput.theme.js +0 -75
  315. package/dist/components/forms/CronInput/CronInput.types.d.ts +0 -109
  316. package/dist/components/forms/CronInput/CronInput.utils.d.ts +0 -67
  317. package/dist/components/forms/CronInput/CronInput.utils.js +0 -505
  318. package/dist/components/forms/CronInput/index.d.ts +0 -4
  319. /package/dist/components/effects/{SpotlightBorder/SpotlightBorder.types.js → TiltCard/TiltCard.types.js} +0 -0
@@ -0,0 +1,1639 @@
1
+ const GENERATIVE_SCHEMA = {
2
+ "version": 1,
3
+ "icons": [
4
+ "ArrowTrendingUp",
5
+ "Bolt",
6
+ "Briefcase",
7
+ "ChartBar",
8
+ "ChatBubbleLeftRight",
9
+ "CheckCircle",
10
+ "CurrencyDollar",
11
+ "ExclamationTriangle",
12
+ "Globe",
13
+ "PencilSquare",
14
+ "RocketLaunch",
15
+ "ShoppingCart",
16
+ "UserPlus",
17
+ "Users"
18
+ ],
19
+ "components": {
20
+ "Alert": {
21
+ "role": "leaf",
22
+ "description": "Inline callout with semantic color.",
23
+ "props": {
24
+ "variant": {
25
+ "kind": "enum",
26
+ "options": [
27
+ "default",
28
+ "glass"
29
+ ],
30
+ "description": "Visual variant"
31
+ },
32
+ "color": {
33
+ "kind": "enum",
34
+ "options": [
35
+ "neutral",
36
+ "primary",
37
+ "secondary",
38
+ "success",
39
+ "warning",
40
+ "danger"
41
+ ],
42
+ "description": "Semantic color"
43
+ },
44
+ "title": {
45
+ "kind": "text",
46
+ "description": "The main title/message of the alert"
47
+ },
48
+ "subtitle": {
49
+ "kind": "text",
50
+ "description": "Additional subtitle text"
51
+ },
52
+ "icon": {
53
+ "kind": "icon",
54
+ "description": "Custom icon for the alert"
55
+ },
56
+ "showIcon": {
57
+ "kind": "boolean",
58
+ "description": "Whether to show the default icon for the variant"
59
+ }
60
+ }
61
+ },
62
+ "AreaChart": {
63
+ "role": "leaf",
64
+ "description": "Area chart (auto Card shell + shared-height container).",
65
+ "props": {
66
+ "dotRadius": {
67
+ "kind": "number"
68
+ },
69
+ "radius": {
70
+ "kind": "number"
71
+ },
72
+ "strokeWidth": {
73
+ "kind": "number"
74
+ },
75
+ "curved": {
76
+ "kind": "boolean"
77
+ },
78
+ "showDots": {
79
+ "kind": "boolean"
80
+ },
81
+ "fillOpacity": {
82
+ "kind": "number"
83
+ },
84
+ "showStroke": {
85
+ "kind": "boolean"
86
+ },
87
+ "stacked": {
88
+ "kind": "boolean"
89
+ },
90
+ "data": {
91
+ "kind": "shape",
92
+ "shape": "chartData",
93
+ "required": true
94
+ },
95
+ "config": {
96
+ "kind": "shape",
97
+ "shape": "chartConfig",
98
+ "required": true
99
+ },
100
+ "width": {
101
+ "kind": "union",
102
+ "types": [
103
+ "number",
104
+ "string"
105
+ ]
106
+ },
107
+ "height": {
108
+ "kind": "union",
109
+ "types": [
110
+ "number",
111
+ "string"
112
+ ]
113
+ },
114
+ "enableKeyboardNavigation": {
115
+ "kind": "boolean"
116
+ },
117
+ "showGrid": {
118
+ "kind": "boolean"
119
+ },
120
+ "showXAxis": {
121
+ "kind": "boolean"
122
+ },
123
+ "showYAxis": {
124
+ "kind": "boolean"
125
+ },
126
+ "minValue": {
127
+ "kind": "number"
128
+ },
129
+ "maxValue": {
130
+ "kind": "number"
131
+ },
132
+ "variant": {
133
+ "kind": "enum",
134
+ "options": [
135
+ "default",
136
+ "minimal",
137
+ "gradient"
138
+ ]
139
+ },
140
+ "barRadius": {
141
+ "kind": "number"
142
+ },
143
+ "cellRadius": {
144
+ "kind": "number"
145
+ },
146
+ "gap": {
147
+ "kind": "number"
148
+ },
149
+ "curveType": {
150
+ "kind": "enum",
151
+ "options": [
152
+ "linear",
153
+ "monotone",
154
+ "step",
155
+ "stepBefore",
156
+ "stepAfter"
157
+ ]
158
+ },
159
+ "title": {
160
+ "kind": "text",
161
+ "description": "Card header title (the auto shell)"
162
+ },
163
+ "subtitle": {
164
+ "kind": "text",
165
+ "description": "Card header subtitle (the auto shell)"
166
+ }
167
+ }
168
+ },
169
+ "Avatar": {
170
+ "role": "leaf",
171
+ "description": "User avatar with initials fallback.",
172
+ "props": {
173
+ "src": {
174
+ "kind": "string",
175
+ "description": "The source URL for the avatar image"
176
+ },
177
+ "name": {
178
+ "kind": "string",
179
+ "description": "The name of the person or entity represented by the avatar."
180
+ },
181
+ "size": {
182
+ "kind": "enum",
183
+ "options": [
184
+ "xs",
185
+ "sm",
186
+ "md",
187
+ "lg",
188
+ "xl"
189
+ ],
190
+ "default": "md",
191
+ "description": "The size of the avatar"
192
+ },
193
+ "status": {
194
+ "kind": "enum",
195
+ "options": [
196
+ "online",
197
+ "offline",
198
+ "busy",
199
+ "away",
200
+ "none"
201
+ ],
202
+ "default": "none",
203
+ "description": "Optional status indicator"
204
+ },
205
+ "title": {
206
+ "kind": "string",
207
+ "description": "Title text displayed next to the avatar."
208
+ },
209
+ "subtitle": {
210
+ "kind": "string",
211
+ "description": "Subtitle text displayed below the title (e.g., email, role)."
212
+ }
213
+ }
214
+ },
215
+ "Badge": {
216
+ "role": "leaf",
217
+ "description": "Small status label.",
218
+ "props": {
219
+ "children": {
220
+ "kind": "text",
221
+ "required": true,
222
+ "description": "The content to be displayed inside the badge"
223
+ },
224
+ "variant": {
225
+ "kind": "enum",
226
+ "options": [
227
+ "filled",
228
+ "outline",
229
+ "soft"
230
+ ],
231
+ "default": "filled",
232
+ "description": "The visual style variant of the badge (filled, outline, soft)"
233
+ },
234
+ "color": {
235
+ "kind": "enum",
236
+ "options": [
237
+ "neutral",
238
+ "primary",
239
+ "secondary",
240
+ "success",
241
+ "warning",
242
+ "danger"
243
+ ],
244
+ "default": "default",
245
+ "description": "The semantic color of the badge (primary, success, danger, etc.)"
246
+ },
247
+ "size": {
248
+ "kind": "enum",
249
+ "options": [
250
+ "sm",
251
+ "md"
252
+ ],
253
+ "default": "md",
254
+ "description": "The size of the badge"
255
+ },
256
+ "pill": {
257
+ "kind": "boolean",
258
+ "default": false,
259
+ "description": "Whether the badge is pill-shaped (fully rounded)"
260
+ },
261
+ "withDot": {
262
+ "kind": "boolean",
263
+ "default": false,
264
+ "description": "Whether the badge has a dot indicator"
265
+ },
266
+ "iconStart": {
267
+ "kind": "icon",
268
+ "description": "Icon element at the start (before content)"
269
+ },
270
+ "disabled": {
271
+ "kind": "boolean",
272
+ "default": false,
273
+ "description": "Whether the badge is disabled"
274
+ }
275
+ }
276
+ },
277
+ "BarChart": {
278
+ "role": "leaf",
279
+ "description": "Bar chart (auto Card shell + shared-height container).",
280
+ "props": {
281
+ "barRadius": {
282
+ "kind": "number"
283
+ },
284
+ "radius": {
285
+ "kind": "number"
286
+ },
287
+ "gap": {
288
+ "kind": "number"
289
+ },
290
+ "categoryGap": {
291
+ "kind": "number"
292
+ },
293
+ "colors": {
294
+ "kind": "shape",
295
+ "shape": "colorList",
296
+ "description": "Custom color palette for bar series. Colors are applied in order to each data series."
297
+ },
298
+ "showAnimation": {
299
+ "kind": "boolean"
300
+ },
301
+ "data": {
302
+ "kind": "shape",
303
+ "shape": "chartData",
304
+ "required": true
305
+ },
306
+ "config": {
307
+ "kind": "shape",
308
+ "shape": "chartConfig",
309
+ "required": true
310
+ },
311
+ "width": {
312
+ "kind": "union",
313
+ "types": [
314
+ "number",
315
+ "string"
316
+ ]
317
+ },
318
+ "height": {
319
+ "kind": "union",
320
+ "types": [
321
+ "number",
322
+ "string"
323
+ ]
324
+ },
325
+ "enableKeyboardNavigation": {
326
+ "kind": "boolean"
327
+ },
328
+ "showGrid": {
329
+ "kind": "boolean"
330
+ },
331
+ "showXAxis": {
332
+ "kind": "boolean"
333
+ },
334
+ "showYAxis": {
335
+ "kind": "boolean"
336
+ },
337
+ "minValue": {
338
+ "kind": "number"
339
+ },
340
+ "maxValue": {
341
+ "kind": "number"
342
+ },
343
+ "variant": {
344
+ "kind": "enum",
345
+ "options": [
346
+ "default",
347
+ "minimal",
348
+ "gradient"
349
+ ]
350
+ },
351
+ "dotRadius": {
352
+ "kind": "number"
353
+ },
354
+ "cellRadius": {
355
+ "kind": "number"
356
+ },
357
+ "strokeWidth": {
358
+ "kind": "number"
359
+ },
360
+ "curved": {
361
+ "kind": "boolean"
362
+ },
363
+ "curveType": {
364
+ "kind": "enum",
365
+ "options": [
366
+ "linear",
367
+ "monotone",
368
+ "step",
369
+ "stepBefore",
370
+ "stepAfter"
371
+ ]
372
+ },
373
+ "showDots": {
374
+ "kind": "boolean"
375
+ },
376
+ "fillOpacity": {
377
+ "kind": "number"
378
+ },
379
+ "showStroke": {
380
+ "kind": "boolean"
381
+ },
382
+ "stacked": {
383
+ "kind": "boolean"
384
+ },
385
+ "orientation": {
386
+ "kind": "enum",
387
+ "options": [
388
+ "vertical",
389
+ "horizontal"
390
+ ]
391
+ },
392
+ "title": {
393
+ "kind": "text",
394
+ "description": "Card header title (the auto shell)"
395
+ },
396
+ "subtitle": {
397
+ "kind": "text",
398
+ "description": "Card header subtitle (the auto shell)"
399
+ }
400
+ }
401
+ },
402
+ "Button": {
403
+ "role": "leaf",
404
+ "description": "Action button — pair with node.actions.click ({ type, payload }).",
405
+ "props": {
406
+ "color": {
407
+ "kind": "enum",
408
+ "options": [
409
+ "neutral",
410
+ "primary",
411
+ "secondary",
412
+ "success",
413
+ "warning",
414
+ "danger"
415
+ ],
416
+ "description": "The semantic color/intent of the button"
417
+ },
418
+ "variant": {
419
+ "kind": "enum",
420
+ "options": [
421
+ "filled",
422
+ "outline",
423
+ "soft",
424
+ "ghost",
425
+ "link"
426
+ ],
427
+ "description": "The visual style variant of the button"
428
+ },
429
+ "size": {
430
+ "kind": "enum",
431
+ "options": [
432
+ "sm",
433
+ "md",
434
+ "lg"
435
+ ],
436
+ "description": "The size of the button"
437
+ },
438
+ "state": {
439
+ "kind": "enum",
440
+ "options": [
441
+ "default",
442
+ "disabled",
443
+ "error",
444
+ "loading"
445
+ ],
446
+ "description": "The state of the button (normal, disabled, error)"
447
+ },
448
+ "iconOnly": {
449
+ "kind": "boolean",
450
+ "description": "Whether the button should display as icon-only (square padding)"
451
+ },
452
+ "block": {
453
+ "kind": "boolean",
454
+ "description": "Whether the button should be full width"
455
+ },
456
+ "children": {
457
+ "kind": "text",
458
+ "description": "Button contents"
459
+ },
460
+ "enableRipple": {
461
+ "kind": "boolean",
462
+ "description": "Whether to enable ripple effect on click"
463
+ },
464
+ "rippleEffect": {
465
+ "kind": "enum",
466
+ "options": [
467
+ "default",
468
+ "glass",
469
+ "aurora",
470
+ "particle",
471
+ "neon",
472
+ "echo"
473
+ ],
474
+ "description": "Type of ripple effect: 'default' | 'aurora' | 'particle' | 'glass' | 'neon' | 'echo'"
475
+ },
476
+ "rippleClassName": {
477
+ "kind": "string",
478
+ "description": "Custom class name for ripple styling"
479
+ },
480
+ "rippleScale": {
481
+ "kind": "number",
482
+ "description": "Scale multiplier for ripple expansion (default: 10)"
483
+ },
484
+ "showReflection": {
485
+ "kind": "boolean",
486
+ "description": "Whether to show the glass reflection effect (default: true)"
487
+ }
488
+ }
489
+ },
490
+ "Card": {
491
+ "role": "container",
492
+ "description": "Bounded panel with optional header. Children are spec nodes.",
493
+ "props": {
494
+ "title": {
495
+ "kind": "text",
496
+ "description": "Card header title"
497
+ },
498
+ "subtitle": {
499
+ "kind": "text",
500
+ "description": "Card header subtitle"
501
+ }
502
+ }
503
+ },
504
+ "ComboChart": {
505
+ "role": "leaf",
506
+ "description": "Combined bar+line chart — per-series type via config[key].type (auto Card shell).",
507
+ "props": {
508
+ "config": {
509
+ "kind": "shape",
510
+ "shape": "chartConfig",
511
+ "required": true
512
+ },
513
+ "curved": {
514
+ "kind": "boolean"
515
+ },
516
+ "curveType": {
517
+ "kind": "enum",
518
+ "options": [
519
+ "linear",
520
+ "monotone"
521
+ ]
522
+ },
523
+ "showDots": {
524
+ "kind": "boolean"
525
+ },
526
+ "categoryGap": {
527
+ "kind": "number"
528
+ },
529
+ "showDualAxis": {
530
+ "kind": "boolean"
531
+ },
532
+ "showValidationWarnings": {
533
+ "kind": "boolean"
534
+ },
535
+ "data": {
536
+ "kind": "shape",
537
+ "shape": "chartData",
538
+ "required": true
539
+ },
540
+ "width": {
541
+ "kind": "union",
542
+ "types": [
543
+ "number",
544
+ "string"
545
+ ]
546
+ },
547
+ "height": {
548
+ "kind": "union",
549
+ "types": [
550
+ "number",
551
+ "string"
552
+ ]
553
+ },
554
+ "enableKeyboardNavigation": {
555
+ "kind": "boolean"
556
+ },
557
+ "showGrid": {
558
+ "kind": "boolean"
559
+ },
560
+ "showXAxis": {
561
+ "kind": "boolean"
562
+ },
563
+ "showYAxis": {
564
+ "kind": "boolean"
565
+ },
566
+ "minValue": {
567
+ "kind": "number"
568
+ },
569
+ "maxValue": {
570
+ "kind": "number"
571
+ },
572
+ "variant": {
573
+ "kind": "enum",
574
+ "options": [
575
+ "default",
576
+ "minimal",
577
+ "gradient"
578
+ ]
579
+ },
580
+ "barRadius": {
581
+ "kind": "number"
582
+ },
583
+ "dotRadius": {
584
+ "kind": "number"
585
+ },
586
+ "cellRadius": {
587
+ "kind": "number"
588
+ },
589
+ "radius": {
590
+ "kind": "number"
591
+ },
592
+ "strokeWidth": {
593
+ "kind": "number"
594
+ },
595
+ "gap": {
596
+ "kind": "number"
597
+ },
598
+ "fillOpacity": {
599
+ "kind": "number"
600
+ },
601
+ "showStroke": {
602
+ "kind": "boolean"
603
+ },
604
+ "stacked": {
605
+ "kind": "boolean"
606
+ },
607
+ "title": {
608
+ "kind": "text",
609
+ "description": "Card header title (the auto shell)"
610
+ },
611
+ "subtitle": {
612
+ "kind": "text",
613
+ "description": "Card header subtitle (the auto shell)"
614
+ }
615
+ }
616
+ },
617
+ "DescriptionList": {
618
+ "role": "leaf",
619
+ "description": "Label/value pairs driven by a serializable items array.",
620
+ "props": {
621
+ "variant": {
622
+ "kind": "enum",
623
+ "options": [
624
+ "vertical",
625
+ "horizontal"
626
+ ],
627
+ "description": "Layout variant: \"horizontal\" (default) or \"vertical\""
628
+ },
629
+ "padding": {
630
+ "kind": "enum",
631
+ "options": [
632
+ "default",
633
+ "flush"
634
+ ],
635
+ "description": "Edge padding behavior. `flush` (default) removes the item side padding so"
636
+ },
637
+ "items": {
638
+ "kind": "shape",
639
+ "shape": "descriptionListItems",
640
+ "description": "Data-driven items. When provided, the list renders from this array and any"
641
+ }
642
+ }
643
+ },
644
+ "DonutChart": {
645
+ "role": "leaf",
646
+ "description": "Donut/radial chart (auto Card shell).",
647
+ "props": {
648
+ "variant": {
649
+ "kind": "enum",
650
+ "options": [
651
+ "solid",
652
+ "segmented"
653
+ ],
654
+ "default": "solid",
655
+ "description": "Visual variant for the donut chart (solid or segmented)"
656
+ },
657
+ "percentage": {
658
+ "kind": "number",
659
+ "required": true,
660
+ "description": "Percentage value to display (0-100)"
661
+ },
662
+ "label": {
663
+ "kind": "text",
664
+ "description": "Custom label to display in center"
665
+ },
666
+ "subtitle": {
667
+ "kind": "text",
668
+ "description": "Subtitle text to display below the main label"
669
+ },
670
+ "size": {
671
+ "kind": "union",
672
+ "types": [
673
+ "number",
674
+ "string"
675
+ ],
676
+ "default": 200,
677
+ "description": "Size of the donut chart"
678
+ },
679
+ "thickness": {
680
+ "kind": "number",
681
+ "default": 2,
682
+ "description": "Thickness of the donut stroke"
683
+ },
684
+ "segmentCount": {
685
+ "kind": "number",
686
+ "default": 32,
687
+ "description": "Total number of segments when using the segmented variant"
688
+ },
689
+ "segmentGap": {
690
+ "kind": "number",
691
+ "default": 0.35,
692
+ "description": "Fraction of each segment kept empty to create spacing (0-0.8)"
693
+ },
694
+ "showAnimation": {
695
+ "kind": "boolean",
696
+ "default": true,
697
+ "description": "Whether to show entrance animation"
698
+ },
699
+ "colors": {
700
+ "kind": "shape",
701
+ "shape": "donutColors",
702
+ "description": "Color configuration for the chart"
703
+ },
704
+ "title": {
705
+ "kind": "text",
706
+ "description": "Card header title (the auto shell)"
707
+ }
708
+ }
709
+ },
710
+ "Feed": {
711
+ "role": "leaf",
712
+ "description": "Activity feed driven by a serializable items array.",
713
+ "props": {
714
+ "items": {
715
+ "kind": "shape",
716
+ "shape": "feedItems",
717
+ "description": "Data-driven items. When provided, the feed renders from this array and any"
718
+ },
719
+ "collapseAfter": {
720
+ "kind": "number",
721
+ "description": "When set with `items`, items beyond this count are wrapped in a"
722
+ }
723
+ }
724
+ },
725
+ "Grid": {
726
+ "role": "container",
727
+ "description": "Responsive CSS-grid container. Children are spec nodes.",
728
+ "props": {
729
+ "cols": {
730
+ "kind": "shape",
731
+ "shape": "gridCols",
732
+ "default": 1,
733
+ "description": "Columns: a number (mobile-safe auto-ramp) or a per-breakpoint map."
734
+ },
735
+ "gap": {
736
+ "kind": "enum",
737
+ "options": [
738
+ 0,
739
+ 1,
740
+ 2,
741
+ 3,
742
+ 4,
743
+ 5,
744
+ 6,
745
+ 8,
746
+ 10,
747
+ 12
748
+ ],
749
+ "default": 4,
750
+ "description": "Gap between grid cells (Tailwind spacing scale → gap-N)."
751
+ },
752
+ "flow": {
753
+ "kind": "enum",
754
+ "options": [
755
+ "row",
756
+ "col",
757
+ "dense"
758
+ ],
759
+ "description": "Grid auto-flow direction."
760
+ },
761
+ "align": {
762
+ "kind": "enum",
763
+ "options": [
764
+ "start",
765
+ "center",
766
+ "end",
767
+ "stretch"
768
+ ],
769
+ "description": "align-items within cells."
770
+ },
771
+ "justify": {
772
+ "kind": "enum",
773
+ "options": [
774
+ "start",
775
+ "center",
776
+ "end",
777
+ "between"
778
+ ],
779
+ "description": "justify-content of tracks."
780
+ }
781
+ }
782
+ },
783
+ "KPI": {
784
+ "role": "leaf",
785
+ "description": "KPI stat with trend and progress bar (auto Card shell).",
786
+ "props": {
787
+ "value": {
788
+ "kind": "text",
789
+ "required": true,
790
+ "description": "The main metric value to display (e.g. \"$25.5M\", \"1,234\", \"89%\")"
791
+ },
792
+ "label": {
793
+ "kind": "text",
794
+ "description": "Label describing the metric (e.g. \"Fund raised\", \"Total Revenue\")"
795
+ },
796
+ "trend": {
797
+ "kind": "number",
798
+ "description": "Percentage change value (e.g. 20, -5.3). Determines trend direction & color."
799
+ },
800
+ "trendLabel": {
801
+ "kind": "text",
802
+ "description": "Custom trend label override (default: auto-formats as \"+20%\" or \"-5.3%\")"
803
+ },
804
+ "progress": {
805
+ "kind": "number",
806
+ "description": "Progress value from 0-100. Controls how many bars are filled."
807
+ },
808
+ "barCount": {
809
+ "kind": "number",
810
+ "default": 24,
811
+ "description": "Total number of bars in the visualization."
812
+ },
813
+ "subtitle": {
814
+ "kind": "text",
815
+ "description": "Subtitle text below the bars (e.g. \"Compared to last month\")"
816
+ },
817
+ "icon": {
818
+ "kind": "icon",
819
+ "description": "Icon to display before the label."
820
+ },
821
+ "size": {
822
+ "kind": "enum",
823
+ "options": [
824
+ "sm",
825
+ "md",
826
+ "lg"
827
+ ],
828
+ "default": "md",
829
+ "description": "Size variant."
830
+ },
831
+ "color": {
832
+ "kind": "enum",
833
+ "options": [
834
+ "neutral",
835
+ "primary",
836
+ "secondary",
837
+ "success",
838
+ "warning",
839
+ "danger"
840
+ ],
841
+ "default": "primary",
842
+ "description": "Color for the filled bars and positive trend."
843
+ }
844
+ }
845
+ },
846
+ "LineChart": {
847
+ "role": "leaf",
848
+ "description": "Line chart (auto Card shell + shared-height container).",
849
+ "props": {
850
+ "color": {
851
+ "kind": "enum",
852
+ "options": [
853
+ "primary",
854
+ "secondary",
855
+ "success",
856
+ "warning",
857
+ "danger"
858
+ ]
859
+ },
860
+ "dotRadius": {
861
+ "kind": "number"
862
+ },
863
+ "radius": {
864
+ "kind": "number"
865
+ },
866
+ "strokeWidth": {
867
+ "kind": "number"
868
+ },
869
+ "curved": {
870
+ "kind": "boolean"
871
+ },
872
+ "curveType": {
873
+ "kind": "enum",
874
+ "options": [
875
+ "linear",
876
+ "monotone"
877
+ ]
878
+ },
879
+ "showDots": {
880
+ "kind": "boolean"
881
+ },
882
+ "data": {
883
+ "kind": "shape",
884
+ "shape": "chartData",
885
+ "required": true
886
+ },
887
+ "config": {
888
+ "kind": "shape",
889
+ "shape": "chartConfig",
890
+ "required": true
891
+ },
892
+ "width": {
893
+ "kind": "union",
894
+ "types": [
895
+ "number",
896
+ "string"
897
+ ]
898
+ },
899
+ "height": {
900
+ "kind": "union",
901
+ "types": [
902
+ "number",
903
+ "string"
904
+ ]
905
+ },
906
+ "enableKeyboardNavigation": {
907
+ "kind": "boolean"
908
+ },
909
+ "showGrid": {
910
+ "kind": "boolean"
911
+ },
912
+ "showXAxis": {
913
+ "kind": "boolean"
914
+ },
915
+ "showYAxis": {
916
+ "kind": "boolean"
917
+ },
918
+ "minValue": {
919
+ "kind": "number"
920
+ },
921
+ "maxValue": {
922
+ "kind": "number"
923
+ },
924
+ "title": {
925
+ "kind": "text",
926
+ "description": "Card header title (the auto shell)"
927
+ },
928
+ "subtitle": {
929
+ "kind": "text",
930
+ "description": "Card header subtitle (the auto shell)"
931
+ }
932
+ }
933
+ },
934
+ "Metric": {
935
+ "role": "leaf",
936
+ "description": "Single business metric with optional icon and trend.",
937
+ "props": {
938
+ "value": {
939
+ "kind": "union",
940
+ "types": [
941
+ "number",
942
+ "string"
943
+ ],
944
+ "required": true,
945
+ "description": "The main value to display (number or formatted string)"
946
+ },
947
+ "label": {
948
+ "kind": "text",
949
+ "required": true,
950
+ "description": "Label describing the metric"
951
+ },
952
+ "subtitle": {
953
+ "kind": "text",
954
+ "description": "Optional subtitle or secondary text"
955
+ },
956
+ "trendValue": {
957
+ "kind": "text",
958
+ "description": "Trend value to display (e.g., \"+10.34%\", \"-5.2%\")"
959
+ },
960
+ "trendDirection": {
961
+ "kind": "enum",
962
+ "options": [
963
+ "up",
964
+ "down"
965
+ ],
966
+ "default": "up",
967
+ "description": "Trend direction - determines icon and color"
968
+ },
969
+ "size": {
970
+ "kind": "enum",
971
+ "options": [
972
+ "sm",
973
+ "md",
974
+ "lg"
975
+ ],
976
+ "default": "md",
977
+ "description": "Size variant"
978
+ },
979
+ "variant": {
980
+ "kind": "enum",
981
+ "options": [
982
+ "glass",
983
+ "filled",
984
+ "ghost"
985
+ ],
986
+ "default": "filled",
987
+ "description": "Visual style variant"
988
+ },
989
+ "color": {
990
+ "kind": "enum",
991
+ "options": [
992
+ "neutral",
993
+ "primary",
994
+ "secondary",
995
+ "success",
996
+ "warning",
997
+ "danger"
998
+ ],
999
+ "default": "primary",
1000
+ "description": "Semantic color for icon and accents"
1001
+ },
1002
+ "icon": {
1003
+ "kind": "icon",
1004
+ "description": "Optional icon to display"
1005
+ }
1006
+ }
1007
+ },
1008
+ "Progress": {
1009
+ "role": "leaf",
1010
+ "description": "Progress bar (0–100).",
1011
+ "props": {
1012
+ "value": {
1013
+ "kind": "number",
1014
+ "description": "Progress value from 0 to 100."
1015
+ },
1016
+ "size": {
1017
+ "kind": "enum",
1018
+ "options": [
1019
+ "sm",
1020
+ "md",
1021
+ "lg"
1022
+ ],
1023
+ "default": "md",
1024
+ "description": "The size of the progress bar"
1025
+ },
1026
+ "showLabel": {
1027
+ "kind": "boolean",
1028
+ "default": false,
1029
+ "description": "Whether to show the percentage label"
1030
+ },
1031
+ "labelPosition": {
1032
+ "kind": "enum",
1033
+ "options": [
1034
+ "right",
1035
+ "top",
1036
+ "bottom",
1037
+ "inside"
1038
+ ],
1039
+ "default": "right",
1040
+ "description": "Position of the label"
1041
+ },
1042
+ "animated": {
1043
+ "kind": "boolean",
1044
+ "default": true,
1045
+ "description": "Whether to animate value changes"
1046
+ }
1047
+ }
1048
+ },
1049
+ "Section": {
1050
+ "role": "container",
1051
+ "description": "Titled page region without card chrome. Children are spec nodes.",
1052
+ "props": {
1053
+ "title": {
1054
+ "kind": "text",
1055
+ "description": "Section heading."
1056
+ },
1057
+ "subtitle": {
1058
+ "kind": "text",
1059
+ "description": "Secondary line under the title."
1060
+ },
1061
+ "gap": {
1062
+ "kind": "enum",
1063
+ "options": [
1064
+ 0,
1065
+ 1,
1066
+ 2,
1067
+ 3,
1068
+ 4,
1069
+ 5,
1070
+ 6,
1071
+ 8,
1072
+ 10,
1073
+ 12
1074
+ ],
1075
+ "default": 4,
1076
+ "description": "Spacing between the header and the body (Tailwind spacing scale → mt-N)."
1077
+ }
1078
+ }
1079
+ },
1080
+ "Separator": {
1081
+ "role": "leaf",
1082
+ "description": "Horizontal or vertical divider.",
1083
+ "props": {
1084
+ "vertical": {
1085
+ "kind": "boolean",
1086
+ "default": false,
1087
+ "description": "Whether the separator is vertical (default is horizontal)"
1088
+ },
1089
+ "margin": {
1090
+ "kind": "enum",
1091
+ "options": [
1092
+ "sm",
1093
+ "md",
1094
+ "lg"
1095
+ ],
1096
+ "default": "md",
1097
+ "description": "The margin size for spacing"
1098
+ }
1099
+ }
1100
+ },
1101
+ "Stack": {
1102
+ "role": "container",
1103
+ "description": "Flex container (column by default). Children are spec nodes.",
1104
+ "props": {
1105
+ "direction": {
1106
+ "kind": "enum",
1107
+ "options": [
1108
+ "row",
1109
+ "col"
1110
+ ],
1111
+ "default": "col",
1112
+ "description": "Flex direction."
1113
+ },
1114
+ "gap": {
1115
+ "kind": "enum",
1116
+ "options": [
1117
+ 0,
1118
+ 1,
1119
+ 2,
1120
+ 3,
1121
+ 4,
1122
+ 5,
1123
+ 6,
1124
+ 8,
1125
+ 10,
1126
+ 12
1127
+ ],
1128
+ "default": 4,
1129
+ "description": "Gap between items (Tailwind spacing scale → gap-N)."
1130
+ },
1131
+ "align": {
1132
+ "kind": "enum",
1133
+ "options": [
1134
+ "start",
1135
+ "center",
1136
+ "end",
1137
+ "stretch"
1138
+ ],
1139
+ "description": "align-items."
1140
+ },
1141
+ "justify": {
1142
+ "kind": "enum",
1143
+ "options": [
1144
+ "start",
1145
+ "center",
1146
+ "end",
1147
+ "between"
1148
+ ],
1149
+ "description": "justify-content."
1150
+ },
1151
+ "wrap": {
1152
+ "kind": "boolean",
1153
+ "description": "Allow items to wrap."
1154
+ }
1155
+ }
1156
+ },
1157
+ "StackedBarChart": {
1158
+ "role": "leaf",
1159
+ "description": "Stacked bar chart (auto Card shell + shared-height container).",
1160
+ "props": {
1161
+ "barRadius": {
1162
+ "kind": "number"
1163
+ },
1164
+ "gap": {
1165
+ "kind": "number"
1166
+ },
1167
+ "categoryGap": {
1168
+ "kind": "number"
1169
+ },
1170
+ "stackOffset": {
1171
+ "kind": "enum",
1172
+ "options": [
1173
+ "none",
1174
+ "expand",
1175
+ "wiggle",
1176
+ "silhouette"
1177
+ ]
1178
+ },
1179
+ "showAnimation": {
1180
+ "kind": "boolean"
1181
+ },
1182
+ "showValidationWarnings": {
1183
+ "kind": "boolean"
1184
+ },
1185
+ "data": {
1186
+ "kind": "shape",
1187
+ "shape": "chartData",
1188
+ "required": true
1189
+ },
1190
+ "config": {
1191
+ "kind": "shape",
1192
+ "shape": "chartConfig",
1193
+ "required": true
1194
+ },
1195
+ "width": {
1196
+ "kind": "union",
1197
+ "types": [
1198
+ "number",
1199
+ "string"
1200
+ ]
1201
+ },
1202
+ "height": {
1203
+ "kind": "union",
1204
+ "types": [
1205
+ "number",
1206
+ "string"
1207
+ ]
1208
+ },
1209
+ "enableKeyboardNavigation": {
1210
+ "kind": "boolean"
1211
+ },
1212
+ "showGrid": {
1213
+ "kind": "boolean"
1214
+ },
1215
+ "showXAxis": {
1216
+ "kind": "boolean"
1217
+ },
1218
+ "showYAxis": {
1219
+ "kind": "boolean"
1220
+ },
1221
+ "minValue": {
1222
+ "kind": "number"
1223
+ },
1224
+ "maxValue": {
1225
+ "kind": "number"
1226
+ },
1227
+ "variant": {
1228
+ "kind": "enum",
1229
+ "options": [
1230
+ "default",
1231
+ "minimal",
1232
+ "gradient"
1233
+ ]
1234
+ },
1235
+ "dotRadius": {
1236
+ "kind": "number"
1237
+ },
1238
+ "cellRadius": {
1239
+ "kind": "number"
1240
+ },
1241
+ "radius": {
1242
+ "kind": "number"
1243
+ },
1244
+ "strokeWidth": {
1245
+ "kind": "number"
1246
+ },
1247
+ "curved": {
1248
+ "kind": "boolean"
1249
+ },
1250
+ "curveType": {
1251
+ "kind": "enum",
1252
+ "options": [
1253
+ "linear",
1254
+ "monotone",
1255
+ "step",
1256
+ "stepBefore",
1257
+ "stepAfter"
1258
+ ]
1259
+ },
1260
+ "showDots": {
1261
+ "kind": "boolean"
1262
+ },
1263
+ "fillOpacity": {
1264
+ "kind": "number"
1265
+ },
1266
+ "showStroke": {
1267
+ "kind": "boolean"
1268
+ },
1269
+ "stacked": {
1270
+ "kind": "boolean"
1271
+ },
1272
+ "orientation": {
1273
+ "kind": "enum",
1274
+ "options": [
1275
+ "vertical",
1276
+ "horizontal"
1277
+ ]
1278
+ },
1279
+ "title": {
1280
+ "kind": "text",
1281
+ "description": "Card header title (the auto shell)"
1282
+ },
1283
+ "subtitle": {
1284
+ "kind": "text",
1285
+ "description": "Card header subtitle (the auto shell)"
1286
+ }
1287
+ }
1288
+ },
1289
+ "Table": {
1290
+ "role": "leaf",
1291
+ "description": "Data table (auto Card shell, flush padding). `cellType:\"badge\"` columns render status badges.",
1292
+ "props": {
1293
+ "data": {
1294
+ "kind": "shape",
1295
+ "shape": "tableData",
1296
+ "description": "Array of data objects to display - required for data-driven API"
1297
+ },
1298
+ "columns": {
1299
+ "kind": "shape",
1300
+ "shape": "tableColumns",
1301
+ "description": "Column definitions for data display and behavior - required for data-driven API"
1302
+ },
1303
+ "variant": {
1304
+ "kind": "enum",
1305
+ "options": [
1306
+ "default",
1307
+ "striped",
1308
+ "bordered",
1309
+ "compact"
1310
+ ],
1311
+ "description": "Visual variant for different table styles"
1312
+ },
1313
+ "padding": {
1314
+ "kind": "enum",
1315
+ "options": [
1316
+ "default",
1317
+ "flush"
1318
+ ],
1319
+ "default": "default",
1320
+ "description": "Edge padding behavior. `flush` removes left padding from the first cell and right padding"
1321
+ },
1322
+ "freezeHeader": {
1323
+ "kind": "boolean",
1324
+ "description": "Keep header visible when scrolling vertically"
1325
+ },
1326
+ "freezeFirstColumn": {
1327
+ "kind": "boolean",
1328
+ "description": "Keep first column visible when scrolling horizontally"
1329
+ },
1330
+ "freezeLastColumn": {
1331
+ "kind": "boolean",
1332
+ "description": "Keep last column visible when scrolling horizontally"
1333
+ },
1334
+ "sortable": {
1335
+ "kind": "boolean",
1336
+ "description": "Enable sorting functionality for sortable columns"
1337
+ },
1338
+ "filterable": {
1339
+ "kind": "boolean",
1340
+ "description": "Enable filtering functionality for filterable columns"
1341
+ },
1342
+ "filterLogic": {
1343
+ "kind": "enum",
1344
+ "options": [
1345
+ "and",
1346
+ "or"
1347
+ ],
1348
+ "description": "Logic for combining multiple filters (default: 'and')"
1349
+ },
1350
+ "enableBuiltInFilter": {
1351
+ "kind": "boolean",
1352
+ "description": "Enable built-in automatic data filtering (opt-in). When true, the table filters data internally."
1353
+ },
1354
+ "expandable": {
1355
+ "kind": "boolean"
1356
+ },
1357
+ "selectable": {
1358
+ "kind": "boolean"
1359
+ },
1360
+ "selectionType": {
1361
+ "kind": "enum",
1362
+ "options": [
1363
+ "checkbox",
1364
+ "radio"
1365
+ ]
1366
+ },
1367
+ "showColumnManager": {
1368
+ "kind": "boolean"
1369
+ },
1370
+ "caption": {
1371
+ "kind": "text",
1372
+ "description": "Optional accessible caption for the table, rendered as a visually-hidden <caption> element"
1373
+ },
1374
+ "title": {
1375
+ "kind": "text",
1376
+ "description": "Card header title (the auto shell)"
1377
+ },
1378
+ "subtitle": {
1379
+ "kind": "text",
1380
+ "description": "Card header subtitle (the auto shell)"
1381
+ },
1382
+ "rowKey": {
1383
+ "kind": "string",
1384
+ "description": "Row field that uniquely identifies a row",
1385
+ "required": true
1386
+ }
1387
+ }
1388
+ },
1389
+ "Timeline": {
1390
+ "role": "leaf",
1391
+ "description": "Event timeline driven by a serializable items array.",
1392
+ "props": {
1393
+ "layout": {
1394
+ "kind": "enum",
1395
+ "options": [
1396
+ "vertical",
1397
+ "horizontal"
1398
+ ],
1399
+ "default": "vertical",
1400
+ "description": "Layout orientation of the timeline"
1401
+ },
1402
+ "items": {
1403
+ "kind": "shape",
1404
+ "shape": "timelineItems",
1405
+ "description": "Data-driven items. When provided, the timeline renders from this array and"
1406
+ }
1407
+ }
1408
+ }
1409
+ },
1410
+ "shapes": {
1411
+ "gridCols": {
1412
+ "description": "Column count: a number 1–12 (expands through a mobile-first responsive ramp — 3 is NOT 3 columns on mobile) OR an explicit per-breakpoint map like { base: 1, md: 2, lg: 3 }.",
1413
+ "oneOf": [
1414
+ {
1415
+ "type": "number",
1416
+ "minimum": 1,
1417
+ "maximum": 12
1418
+ },
1419
+ {
1420
+ "type": "object",
1421
+ "additionalProperties": {
1422
+ "type": "number"
1423
+ },
1424
+ "propertyNames": {
1425
+ "enum": [
1426
+ "base",
1427
+ "sm",
1428
+ "md",
1429
+ "lg",
1430
+ "xl",
1431
+ "2xl"
1432
+ ]
1433
+ }
1434
+ }
1435
+ ]
1436
+ },
1437
+ "chartData": {
1438
+ "description": "Array of data points. Each point: one label key (e.g. name/month) plus numeric series keys.",
1439
+ "type": "array",
1440
+ "items": {
1441
+ "type": "object",
1442
+ "example": {
1443
+ "name": "Jan",
1444
+ "value": 42
1445
+ }
1446
+ }
1447
+ },
1448
+ "chartConfig": {
1449
+ "description": "seriesKey → { label?, color?, type? }. Colors are CSS values; prefer var(--color-primary) etc. `type: 'bar' | 'line'` applies to ComboChart only.",
1450
+ "type": "object",
1451
+ "example": {
1452
+ "value": {
1453
+ "label": "Signups",
1454
+ "color": "var(--color-primary)"
1455
+ }
1456
+ }
1457
+ },
1458
+ "colorList": {
1459
+ "description": "Array of CSS color strings.",
1460
+ "type": "array",
1461
+ "items": {
1462
+ "type": "string"
1463
+ }
1464
+ },
1465
+ "donutColors": {
1466
+ "description": "DonutChart color config object or CSS color strings.",
1467
+ "type": "object"
1468
+ },
1469
+ "tableData": {
1470
+ "description": "Array of row records. Values must be serializable (string/number/boolean/null).",
1471
+ "type": "array",
1472
+ "items": {
1473
+ "type": "object"
1474
+ }
1475
+ },
1476
+ "tableColumns": {
1477
+ "description": "Array of column defs: { id, header, accessor } all strings & required; optional cellType: \"badge\" renders a color-mapped status Badge; optional colors maps cell value → semantic color.",
1478
+ "type": "array",
1479
+ "items": {
1480
+ "type": "object",
1481
+ "required": [
1482
+ "id",
1483
+ "header",
1484
+ "accessor"
1485
+ ],
1486
+ "properties": {
1487
+ "id": {
1488
+ "type": "string"
1489
+ },
1490
+ "header": {
1491
+ "type": "string"
1492
+ },
1493
+ "accessor": {
1494
+ "type": "string"
1495
+ },
1496
+ "cellType": {
1497
+ "enum": [
1498
+ "badge"
1499
+ ]
1500
+ },
1501
+ "colors": {
1502
+ "type": "object",
1503
+ "additionalProperties": {
1504
+ "enum": [
1505
+ "primary",
1506
+ "secondary",
1507
+ "success",
1508
+ "warning",
1509
+ "danger",
1510
+ "neutral",
1511
+ "dark"
1512
+ ]
1513
+ }
1514
+ }
1515
+ }
1516
+ }
1517
+ },
1518
+ "timelineItems": {
1519
+ "description": "Array of { status?, title?, description?, timestamp? } — all strings.",
1520
+ "type": "array",
1521
+ "items": {
1522
+ "type": "object"
1523
+ }
1524
+ },
1525
+ "descriptionListItems": {
1526
+ "description": "Array of { label, value } — both strings.",
1527
+ "type": "array",
1528
+ "items": {
1529
+ "type": "object",
1530
+ "required": [
1531
+ "label",
1532
+ "value"
1533
+ ]
1534
+ }
1535
+ },
1536
+ "feedItems": {
1537
+ "description": "Array of { timestamp?, icon? } — strings; icon is a NAME from the icon set.",
1538
+ "type": "array",
1539
+ "items": {
1540
+ "type": "object"
1541
+ }
1542
+ }
1543
+ },
1544
+ "examples": [
1545
+ {
1546
+ "component": "Stack",
1547
+ "props": {
1548
+ "gap": 4
1549
+ },
1550
+ "children": [
1551
+ {
1552
+ "component": "Grid",
1553
+ "props": {
1554
+ "cols": 3,
1555
+ "gap": 4
1556
+ },
1557
+ "children": [
1558
+ {
1559
+ "component": "Metric",
1560
+ "props": {
1561
+ "value": "$182,000",
1562
+ "label": "Total Revenue",
1563
+ "trendValue": "+12%",
1564
+ "trendDirection": "up",
1565
+ "icon": "CurrencyDollar",
1566
+ "color": "success",
1567
+ "variant": "filled"
1568
+ }
1569
+ }
1570
+ ]
1571
+ },
1572
+ {
1573
+ "component": "Card",
1574
+ "props": {
1575
+ "title": "New Signups"
1576
+ },
1577
+ "children": [
1578
+ {
1579
+ "component": "AreaChart",
1580
+ "props": {
1581
+ "data": [
1582
+ {
1583
+ "name": "Jan",
1584
+ "value": 42
1585
+ },
1586
+ {
1587
+ "name": "Feb",
1588
+ "value": 61
1589
+ }
1590
+ ],
1591
+ "config": {
1592
+ "value": {
1593
+ "label": "Signups",
1594
+ "color": "var(--color-primary)"
1595
+ }
1596
+ }
1597
+ }
1598
+ }
1599
+ ]
1600
+ },
1601
+ {
1602
+ "component": "Table",
1603
+ "props": {
1604
+ "title": "Recent Orders",
1605
+ "rowKey": "id",
1606
+ "data": [
1607
+ {
1608
+ "id": "#4821",
1609
+ "customer": "Acme Co.",
1610
+ "amount": "$1,240",
1611
+ "status": "Paid"
1612
+ }
1613
+ ],
1614
+ "columns": [
1615
+ {
1616
+ "id": "id",
1617
+ "header": "Order",
1618
+ "accessor": "id"
1619
+ },
1620
+ {
1621
+ "id": "status",
1622
+ "header": "Status",
1623
+ "accessor": "status",
1624
+ "cellType": "badge"
1625
+ }
1626
+ ]
1627
+ },
1628
+ "actions": {
1629
+ "rowClick": {
1630
+ "type": "select-order"
1631
+ }
1632
+ }
1633
+ }
1634
+ ]
1635
+ }
1636
+ ]
1637
+ };
1638
+
1639
+ export { GENERATIVE_SCHEMA };