@signalflare-ai/ui 0.5.0

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 (765) hide show
  1. package/CHANGELOG.md +96 -0
  2. package/README.md +527 -0
  3. package/ai/USAGE.md +200 -0
  4. package/ai/component-registry.json +7103 -0
  5. package/ai/component-registry.md +3046 -0
  6. package/ai/schemas.ts +1230 -0
  7. package/bin/intent.js +23 -0
  8. package/bin/sf.js +34 -0
  9. package/dist/.build-complete +1 -0
  10. package/dist/ai/schemas.d.ts +7056 -0
  11. package/dist/ai/schemas.d.ts.map +1 -0
  12. package/dist/ai-actions-DG1dhDMP.js +57 -0
  13. package/dist/ai-actions-DG1dhDMP.js.map +1 -0
  14. package/dist/ai-agent-card-BbtL4NII.js +171 -0
  15. package/dist/ai-agent-card-BbtL4NII.js.map +1 -0
  16. package/dist/ai-approval-Mb7-BY6i.js +184 -0
  17. package/dist/ai-approval-Mb7-BY6i.js.map +1 -0
  18. package/dist/ai-code-block-BI_z0UVR.js +110 -0
  19. package/dist/ai-code-block-BI_z0UVR.js.map +1 -0
  20. package/dist/ai-conversation-DYtExcrw.js +184 -0
  21. package/dist/ai-conversation-DYtExcrw.js.map +1 -0
  22. package/dist/ai-info-banner-BpzauUAY.js +76 -0
  23. package/dist/ai-info-banner-BpzauUAY.js.map +1 -0
  24. package/dist/ai-loader-Cr3eQkNS.js +134 -0
  25. package/dist/ai-loader-Cr3eQkNS.js.map +1 -0
  26. package/dist/ai-message-CV8SBoHM.js +286 -0
  27. package/dist/ai-message-CV8SBoHM.js.map +1 -0
  28. package/dist/ai-mission-header-ByYkJ6YP.js +171 -0
  29. package/dist/ai-mission-header-ByYkJ6YP.js.map +1 -0
  30. package/dist/ai-prompt-input-Bo1YuJly.js +769 -0
  31. package/dist/ai-prompt-input-Bo1YuJly.js.map +1 -0
  32. package/dist/ai-question-Dp1g9k2o.js +149 -0
  33. package/dist/ai-question-Dp1g9k2o.js.map +1 -0
  34. package/dist/ai-reasoning-UAmNx_LD.js +270 -0
  35. package/dist/ai-reasoning-UAmNx_LD.js.map +1 -0
  36. package/dist/ai-response-BWoVsNQG.js +42 -0
  37. package/dist/ai-response-BWoVsNQG.js.map +1 -0
  38. package/dist/ai-shimmer-BpOmfonu.js +43 -0
  39. package/dist/ai-shimmer-BpOmfonu.js.map +1 -0
  40. package/dist/ai-status-badge-WhbKVeqn.js +63 -0
  41. package/dist/ai-status-badge-WhbKVeqn.js.map +1 -0
  42. package/dist/ai-streaming-text-ClL7FwvD.js +81 -0
  43. package/dist/ai-streaming-text-ClL7FwvD.js.map +1 -0
  44. package/dist/ai-subagent-BruGN1UE.js +133 -0
  45. package/dist/ai-subagent-BruGN1UE.js.map +1 -0
  46. package/dist/ai-suggestion-CNsCZj5P.js +55 -0
  47. package/dist/ai-suggestion-CNsCZj5P.js.map +1 -0
  48. package/dist/ai-task-list-B9CpMDYN.js +120 -0
  49. package/dist/ai-task-list-B9CpMDYN.js.map +1 -0
  50. package/dist/ai-timeline-Bb5ntsr3.js +373 -0
  51. package/dist/ai-timeline-Bb5ntsr3.js.map +1 -0
  52. package/dist/ai-tool-BGH8nQ_D.js +437 -0
  53. package/dist/ai-tool-BGH8nQ_D.js.map +1 -0
  54. package/dist/ai-usage-bar-BI-p-JBk.js +70 -0
  55. package/dist/ai-usage-bar-BI-p-JBk.js.map +1 -0
  56. package/dist/badge-D_eaA6wv.js +128 -0
  57. package/dist/badge-D_eaA6wv.js.map +1 -0
  58. package/dist/banner-B_6oBrsu.js +54 -0
  59. package/dist/banner-B_6oBrsu.js.map +1 -0
  60. package/dist/breadcrumbs-BlmeYfgq.js +128 -0
  61. package/dist/breadcrumbs-BlmeYfgq.js.map +1 -0
  62. package/dist/button-De0267YU.js +170 -0
  63. package/dist/button-De0267YU.js.map +1 -0
  64. package/dist/catalog.js +506 -0
  65. package/dist/catalog.js.map +1 -0
  66. package/dist/chart-Bes4MN3C.js +618 -0
  67. package/dist/chart-Bes4MN3C.js.map +1 -0
  68. package/dist/checkbox-CPX7lBaU.js +153 -0
  69. package/dist/checkbox-CPX7lBaU.js.map +1 -0
  70. package/dist/clipboard-text-92YeCybc.js +176 -0
  71. package/dist/clipboard-text-92YeCybc.js.map +1 -0
  72. package/dist/cn-YROP2_ox.js +25 -0
  73. package/dist/cn-YROP2_ox.js.map +1 -0
  74. package/dist/code-DE1Yy1Cu.js +97 -0
  75. package/dist/code-DE1Yy1Cu.js.map +1 -0
  76. package/dist/collapsible-DWsXeXmS.js +72 -0
  77. package/dist/collapsible-DWsXeXmS.js.map +1 -0
  78. package/dist/combobox-B0bLdsX8.js +197 -0
  79. package/dist/combobox-B0bLdsX8.js.map +1 -0
  80. package/dist/command-line/cli.js +823 -0
  81. package/dist/command-palette-CBTY8EiF.js +484 -0
  82. package/dist/command-palette-CBTY8EiF.js.map +1 -0
  83. package/dist/components/ai-actions.js +3 -0
  84. package/dist/components/ai-agent-card.js +3 -0
  85. package/dist/components/ai-approval.js +3 -0
  86. package/dist/components/ai-code-block.js +3 -0
  87. package/dist/components/ai-conversation.js +3 -0
  88. package/dist/components/ai-info-banner.js +3 -0
  89. package/dist/components/ai-loader.js +3 -0
  90. package/dist/components/ai-message.js +3 -0
  91. package/dist/components/ai-mission-header.js +3 -0
  92. package/dist/components/ai-prompt-input.js +3 -0
  93. package/dist/components/ai-question.js +3 -0
  94. package/dist/components/ai-reasoning.js +3 -0
  95. package/dist/components/ai-response.js +3 -0
  96. package/dist/components/ai-shimmer.js +3 -0
  97. package/dist/components/ai-status-badge.js +3 -0
  98. package/dist/components/ai-streaming-text.js +3 -0
  99. package/dist/components/ai-subagent.js +3 -0
  100. package/dist/components/ai-suggestion.js +3 -0
  101. package/dist/components/ai-task-list.js +3 -0
  102. package/dist/components/ai-timeline.js +3 -0
  103. package/dist/components/ai-tool.js +3 -0
  104. package/dist/components/ai-usage-bar.js +3 -0
  105. package/dist/components/badge.js +3 -0
  106. package/dist/components/banner.js +3 -0
  107. package/dist/components/breadcrumbs.js +3 -0
  108. package/dist/components/button.js +3 -0
  109. package/dist/components/chart.js +3 -0
  110. package/dist/components/checkbox.js +3 -0
  111. package/dist/components/clipboard-text.js +3 -0
  112. package/dist/components/code.js +3 -0
  113. package/dist/components/collapsible.js +3 -0
  114. package/dist/components/combobox.js +3 -0
  115. package/dist/components/command-palette.js +3 -0
  116. package/dist/components/data-grid.js +3 -0
  117. package/dist/components/date-picker.js +3 -0
  118. package/dist/components/date-range-picker.js +3 -0
  119. package/dist/components/dialog.js +3 -0
  120. package/dist/components/dropdown.js +3 -0
  121. package/dist/components/empty.js +3 -0
  122. package/dist/components/field.js +3 -0
  123. package/dist/components/filters.js +3 -0
  124. package/dist/components/flow.js +3 -0
  125. package/dist/components/grid.js +3 -0
  126. package/dist/components/input.js +4 -0
  127. package/dist/components/label.js +3 -0
  128. package/dist/components/layer-card.js +3 -0
  129. package/dist/components/link.js +92 -0
  130. package/dist/components/link.js.map +1 -0
  131. package/dist/components/loader.js +4 -0
  132. package/dist/components/menubar.js +3 -0
  133. package/dist/components/meter.js +3 -0
  134. package/dist/components/pagination.js +3 -0
  135. package/dist/components/popover.js +3 -0
  136. package/dist/components/radio.js +3 -0
  137. package/dist/components/select.js +3 -0
  138. package/dist/components/sensitive-input.js +3 -0
  139. package/dist/components/sidebar.js +3 -0
  140. package/dist/components/signalflare-ai-logo.js +3 -0
  141. package/dist/components/surface.js +3 -0
  142. package/dist/components/switch.js +3 -0
  143. package/dist/components/table.js +3 -0
  144. package/dist/components/tabs.js +3 -0
  145. package/dist/components/text.js +3 -0
  146. package/dist/components/theme-toggle.js +3 -0
  147. package/dist/components/toast.js +3 -0
  148. package/dist/components/tooltip.js +3 -0
  149. package/dist/components/use-agent-harness.js +3 -0
  150. package/dist/data-grid-UJ9ja5cu.js +305 -0
  151. package/dist/data-grid-UJ9ja5cu.js.map +1 -0
  152. package/dist/date-picker-ebekkC3R.js +57 -0
  153. package/dist/date-picker-ebekkC3R.js.map +1 -0
  154. package/dist/date-range-picker-D75LLINc.js +347 -0
  155. package/dist/date-range-picker-D75LLINc.js.map +1 -0
  156. package/dist/dialog-CyHEQXEY.js +104 -0
  157. package/dist/dialog-CyHEQXEY.js.map +1 -0
  158. package/dist/dist-BNlyONdD.js +3546 -0
  159. package/dist/dist-BNlyONdD.js.map +1 -0
  160. package/dist/dropdown-J5T4pHaR.js +202 -0
  161. package/dist/dropdown-J5T4pHaR.js.map +1 -0
  162. package/dist/empty-D2TypIId.js +90 -0
  163. package/dist/empty-D2TypIId.js.map +1 -0
  164. package/dist/favicon.svg +4 -0
  165. package/dist/field-Y_UK1_Cg.js +57 -0
  166. package/dist/field-Y_UK1_Cg.js.map +1 -0
  167. package/dist/filters-BdBogf7D.js +682 -0
  168. package/dist/filters-BdBogf7D.js.map +1 -0
  169. package/dist/flow-BRsYUCJa.js +741 -0
  170. package/dist/flow-BRsYUCJa.js.map +1 -0
  171. package/dist/genui.js +40 -0
  172. package/dist/genui.js.map +1 -0
  173. package/dist/grid-qUAN9hFx.js +119 -0
  174. package/dist/grid-qUAN9hFx.js.map +1 -0
  175. package/dist/highlight-to-react-ClEfL81q.js +57 -0
  176. package/dist/highlight-to-react-ClEfL81q.js.map +1 -0
  177. package/dist/index.js +215 -0
  178. package/dist/index.js.map +1 -0
  179. package/dist/input-BxQAnXki.js +81 -0
  180. package/dist/input-BxQAnXki.js.map +1 -0
  181. package/dist/input-Cn25I4o5.js +121 -0
  182. package/dist/input-Cn25I4o5.js.map +1 -0
  183. package/dist/label-QtJxtJ4u.js +70 -0
  184. package/dist/label-QtJxtJ4u.js.map +1 -0
  185. package/dist/layer-card-BME0eljh.js +44 -0
  186. package/dist/layer-card-BME0eljh.js.map +1 -0
  187. package/dist/link-provider-BUZKXaNE.js +25 -0
  188. package/dist/link-provider-BUZKXaNE.js.map +1 -0
  189. package/dist/loader-DAcc-Uag.js +84 -0
  190. package/dist/loader-DAcc-Uag.js.map +1 -0
  191. package/dist/logo.svg +1 -0
  192. package/dist/menubar-C8NzAjfd.js +102 -0
  193. package/dist/menubar-C8NzAjfd.js.map +1 -0
  194. package/dist/meter-CpmTenEr.js +37 -0
  195. package/dist/meter-CpmTenEr.js.map +1 -0
  196. package/dist/pagination-C_YqCy8l.js +117 -0
  197. package/dist/pagination-C_YqCy8l.js.map +1 -0
  198. package/dist/popover-BRQZ2b6z.js +147 -0
  199. package/dist/popover-BRQZ2b6z.js.map +1 -0
  200. package/dist/primitives/accordion.js +2 -0
  201. package/dist/primitives/alert-dialog.js +2 -0
  202. package/dist/primitives/autocomplete.js +2 -0
  203. package/dist/primitives/avatar.js +2 -0
  204. package/dist/primitives/button.js +2 -0
  205. package/dist/primitives/checkbox-group.js +2 -0
  206. package/dist/primitives/checkbox.js +2 -0
  207. package/dist/primitives/collapsible.js +2 -0
  208. package/dist/primitives/combobox.js +2 -0
  209. package/dist/primitives/context-menu.js +2 -0
  210. package/dist/primitives/csp-provider.js +2 -0
  211. package/dist/primitives/dialog.js +2 -0
  212. package/dist/primitives/direction-provider.js +2 -0
  213. package/dist/primitives/drawer.js +2 -0
  214. package/dist/primitives/field.js +2 -0
  215. package/dist/primitives/fieldset.js +2 -0
  216. package/dist/primitives/form.js +2 -0
  217. package/dist/primitives/input.js +2 -0
  218. package/dist/primitives/menu.js +2 -0
  219. package/dist/primitives/menubar.js +2 -0
  220. package/dist/primitives/meter.js +2 -0
  221. package/dist/primitives/navigation-menu.js +2 -0
  222. package/dist/primitives/number-field.js +2 -0
  223. package/dist/primitives/popover.js +2 -0
  224. package/dist/primitives/preview-card.js +2 -0
  225. package/dist/primitives/progress.js +2 -0
  226. package/dist/primitives/radio-group.js +2 -0
  227. package/dist/primitives/radio.js +2 -0
  228. package/dist/primitives/scroll-area.js +2 -0
  229. package/dist/primitives/select.js +2 -0
  230. package/dist/primitives/separator.js +2 -0
  231. package/dist/primitives/slider.js +2 -0
  232. package/dist/primitives/switch.js +2 -0
  233. package/dist/primitives/tabs.js +2 -0
  234. package/dist/primitives/toast.js +2 -0
  235. package/dist/primitives/toggle-group.js +2 -0
  236. package/dist/primitives/toggle.js +2 -0
  237. package/dist/primitives/toolbar.js +2 -0
  238. package/dist/primitives/tooltip.js +2 -0
  239. package/dist/primitives.js +40 -0
  240. package/dist/radio-B7zg1wUI.js +101 -0
  241. package/dist/radio-B7zg1wUI.js.map +1 -0
  242. package/dist/registry.js +1 -0
  243. package/dist/select-9p721G00.js +95 -0
  244. package/dist/select-9p721G00.js.map +1 -0
  245. package/dist/sensitive-input-D5je2NLl.js +248 -0
  246. package/dist/sensitive-input-D5je2NLl.js.map +1 -0
  247. package/dist/sidebar-DOwBrq57.js +964 -0
  248. package/dist/sidebar-DOwBrq57.js.map +1 -0
  249. package/dist/signalflare-ai-logo-DDhxMJD6.js +260 -0
  250. package/dist/signalflare-ai-logo-DDhxMJD6.js.map +1 -0
  251. package/dist/skeleton-line-Do3UmGk9.js +36 -0
  252. package/dist/skeleton-line-Do3UmGk9.js.map +1 -0
  253. package/dist/src/blocks/agent-harness/agent-harness.d.ts +177 -0
  254. package/dist/src/blocks/agent-harness/agent-harness.d.ts.map +1 -0
  255. package/dist/src/blocks/agent-harness/agent-harness.tsx +1122 -0
  256. package/dist/src/blocks/agent-harness/index.d.ts +2 -0
  257. package/dist/src/blocks/agent-harness/index.d.ts.map +1 -0
  258. package/dist/src/blocks/commander/commander.d.ts +101 -0
  259. package/dist/src/blocks/commander/commander.d.ts.map +1 -0
  260. package/dist/src/blocks/commander/commander.tsx +477 -0
  261. package/dist/src/blocks/commander/index.d.ts +2 -0
  262. package/dist/src/blocks/commander/index.d.ts.map +1 -0
  263. package/dist/src/blocks/delete-resource/delete-resource.d.ts +46 -0
  264. package/dist/src/blocks/delete-resource/delete-resource.d.ts.map +1 -0
  265. package/dist/src/blocks/delete-resource/delete-resource.tsx +214 -0
  266. package/dist/src/blocks/delete-resource/index.d.ts +2 -0
  267. package/dist/src/blocks/delete-resource/index.d.ts.map +1 -0
  268. package/dist/src/blocks/map-block/index.d.ts +2 -0
  269. package/dist/src/blocks/map-block/index.d.ts.map +1 -0
  270. package/dist/src/blocks/map-block/map-block.d.ts +79 -0
  271. package/dist/src/blocks/map-block/map-block.d.ts.map +1 -0
  272. package/dist/src/blocks/map-block/map-block.tsx +522 -0
  273. package/dist/src/blocks/page-header/index.d.ts +2 -0
  274. package/dist/src/blocks/page-header/index.d.ts.map +1 -0
  275. package/dist/src/blocks/page-header/page-header.d.ts +38 -0
  276. package/dist/src/blocks/page-header/page-header.d.ts.map +1 -0
  277. package/dist/src/blocks/page-header/page-header.tsx +96 -0
  278. package/dist/src/blocks/resource-list/index.d.ts +2 -0
  279. package/dist/src/blocks/resource-list/index.d.ts.map +1 -0
  280. package/dist/src/blocks/resource-list/resource-list.d.ts +18 -0
  281. package/dist/src/blocks/resource-list/resource-list.d.ts.map +1 -0
  282. package/dist/src/blocks/resource-list/resource-list.test.tsx +27 -0
  283. package/dist/src/blocks/resource-list/resource-list.tsx +65 -0
  284. package/dist/src/catalog/catalog.d.ts +75 -0
  285. package/dist/src/catalog/catalog.d.ts.map +1 -0
  286. package/dist/src/catalog/data.d.ts +44 -0
  287. package/dist/src/catalog/data.d.ts.map +1 -0
  288. package/dist/src/catalog/index.d.ts +35 -0
  289. package/dist/src/catalog/index.d.ts.map +1 -0
  290. package/dist/src/catalog/sf-components.d.ts +8 -0
  291. package/dist/src/catalog/sf-components.d.ts.map +1 -0
  292. package/dist/src/catalog/sf-registry.d.ts +4 -0
  293. package/dist/src/catalog/sf-registry.d.ts.map +1 -0
  294. package/dist/src/catalog/types.d.ts +226 -0
  295. package/dist/src/catalog/types.d.ts.map +1 -0
  296. package/dist/src/catalog/visibility.d.ts +37 -0
  297. package/dist/src/catalog/visibility.d.ts.map +1 -0
  298. package/dist/src/command-line/build-cli.d.ts +7 -0
  299. package/dist/src/command-line/build-cli.d.ts.map +1 -0
  300. package/dist/src/command-line/cli.d.ts +13 -0
  301. package/dist/src/command-line/cli.d.ts.map +1 -0
  302. package/dist/src/command-line/commands/add.d.ts +10 -0
  303. package/dist/src/command-line/commands/add.d.ts.map +1 -0
  304. package/dist/src/command-line/commands/ai.d.ts +10 -0
  305. package/dist/src/command-line/commands/ai.d.ts.map +1 -0
  306. package/dist/src/command-line/commands/blocks.d.ts +10 -0
  307. package/dist/src/command-line/commands/blocks.d.ts.map +1 -0
  308. package/dist/src/command-line/commands/doc.d.ts +14 -0
  309. package/dist/src/command-line/commands/doc.d.ts.map +1 -0
  310. package/dist/src/command-line/commands/init.d.ts +18 -0
  311. package/dist/src/command-line/commands/init.d.ts.map +1 -0
  312. package/dist/src/command-line/commands/ls.d.ts +10 -0
  313. package/dist/src/command-line/commands/ls.d.ts.map +1 -0
  314. package/dist/src/command-line/commands/migrate.d.ts +10 -0
  315. package/dist/src/command-line/commands/migrate.d.ts.map +1 -0
  316. package/dist/src/command-line/utils/config.d.ts +42 -0
  317. package/dist/src/command-line/utils/config.d.ts.map +1 -0
  318. package/dist/src/command-line/utils/transformer.d.ts +21 -0
  319. package/dist/src/command-line/utils/transformer.d.ts.map +1 -0
  320. package/dist/src/components/ai-actions/ai-actions.d.ts +35 -0
  321. package/dist/src/components/ai-actions/ai-actions.d.ts.map +1 -0
  322. package/dist/src/components/ai-actions/index.d.ts +2 -0
  323. package/dist/src/components/ai-actions/index.d.ts.map +1 -0
  324. package/dist/src/components/ai-agent-card/ai-agent-card.d.ts +82 -0
  325. package/dist/src/components/ai-agent-card/ai-agent-card.d.ts.map +1 -0
  326. package/dist/src/components/ai-agent-card/index.d.ts +2 -0
  327. package/dist/src/components/ai-agent-card/index.d.ts.map +1 -0
  328. package/dist/src/components/ai-approval/ai-approval.d.ts +102 -0
  329. package/dist/src/components/ai-approval/ai-approval.d.ts.map +1 -0
  330. package/dist/src/components/ai-approval/index.d.ts +2 -0
  331. package/dist/src/components/ai-approval/index.d.ts.map +1 -0
  332. package/dist/src/components/ai-code-block/ai-code-block.d.ts +48 -0
  333. package/dist/src/components/ai-code-block/ai-code-block.d.ts.map +1 -0
  334. package/dist/src/components/ai-code-block/index.d.ts +2 -0
  335. package/dist/src/components/ai-code-block/index.d.ts.map +1 -0
  336. package/dist/src/components/ai-conversation/ai-conversation.d.ts +125 -0
  337. package/dist/src/components/ai-conversation/ai-conversation.d.ts.map +1 -0
  338. package/dist/src/components/ai-conversation/index.d.ts +2 -0
  339. package/dist/src/components/ai-conversation/index.d.ts.map +1 -0
  340. package/dist/src/components/ai-info-banner/ai-info-banner.d.ts +55 -0
  341. package/dist/src/components/ai-info-banner/ai-info-banner.d.ts.map +1 -0
  342. package/dist/src/components/ai-info-banner/index.d.ts +2 -0
  343. package/dist/src/components/ai-info-banner/index.d.ts.map +1 -0
  344. package/dist/src/components/ai-loader/ai-loader.d.ts +44 -0
  345. package/dist/src/components/ai-loader/ai-loader.d.ts.map +1 -0
  346. package/dist/src/components/ai-loader/index.d.ts +2 -0
  347. package/dist/src/components/ai-loader/index.d.ts.map +1 -0
  348. package/dist/src/components/ai-message/ai-message.d.ts +97 -0
  349. package/dist/src/components/ai-message/ai-message.d.ts.map +1 -0
  350. package/dist/src/components/ai-message/index.d.ts +2 -0
  351. package/dist/src/components/ai-message/index.d.ts.map +1 -0
  352. package/dist/src/components/ai-mission-header/ai-mission-header.d.ts +62 -0
  353. package/dist/src/components/ai-mission-header/ai-mission-header.d.ts.map +1 -0
  354. package/dist/src/components/ai-mission-header/index.d.ts +2 -0
  355. package/dist/src/components/ai-mission-header/index.d.ts.map +1 -0
  356. package/dist/src/components/ai-prompt-input/ai-prompt-input.d.ts +260 -0
  357. package/dist/src/components/ai-prompt-input/ai-prompt-input.d.ts.map +1 -0
  358. package/dist/src/components/ai-prompt-input/index.d.ts +2 -0
  359. package/dist/src/components/ai-prompt-input/index.d.ts.map +1 -0
  360. package/dist/src/components/ai-question/ai-question.d.ts +73 -0
  361. package/dist/src/components/ai-question/ai-question.d.ts.map +1 -0
  362. package/dist/src/components/ai-question/index.d.ts +2 -0
  363. package/dist/src/components/ai-question/index.d.ts.map +1 -0
  364. package/dist/src/components/ai-reasoning/ai-reasoning.d.ts +107 -0
  365. package/dist/src/components/ai-reasoning/ai-reasoning.d.ts.map +1 -0
  366. package/dist/src/components/ai-reasoning/index.d.ts +2 -0
  367. package/dist/src/components/ai-reasoning/index.d.ts.map +1 -0
  368. package/dist/src/components/ai-response/ai-response.d.ts +26 -0
  369. package/dist/src/components/ai-response/ai-response.d.ts.map +1 -0
  370. package/dist/src/components/ai-response/index.d.ts +2 -0
  371. package/dist/src/components/ai-response/index.d.ts.map +1 -0
  372. package/dist/src/components/ai-shimmer/ai-shimmer.d.ts +29 -0
  373. package/dist/src/components/ai-shimmer/ai-shimmer.d.ts.map +1 -0
  374. package/dist/src/components/ai-shimmer/index.d.ts +2 -0
  375. package/dist/src/components/ai-shimmer/index.d.ts.map +1 -0
  376. package/dist/src/components/ai-status-badge/ai-status-badge.d.ts +46 -0
  377. package/dist/src/components/ai-status-badge/ai-status-badge.d.ts.map +1 -0
  378. package/dist/src/components/ai-status-badge/index.d.ts +2 -0
  379. package/dist/src/components/ai-status-badge/index.d.ts.map +1 -0
  380. package/dist/src/components/ai-streaming-text/ai-streaming-text.d.ts +27 -0
  381. package/dist/src/components/ai-streaming-text/ai-streaming-text.d.ts.map +1 -0
  382. package/dist/src/components/ai-streaming-text/index.d.ts +2 -0
  383. package/dist/src/components/ai-streaming-text/index.d.ts.map +1 -0
  384. package/dist/src/components/ai-subagent/ai-subagent.d.ts +74 -0
  385. package/dist/src/components/ai-subagent/ai-subagent.d.ts.map +1 -0
  386. package/dist/src/components/ai-subagent/index.d.ts +2 -0
  387. package/dist/src/components/ai-subagent/index.d.ts.map +1 -0
  388. package/dist/src/components/ai-suggestion/ai-suggestion.d.ts +40 -0
  389. package/dist/src/components/ai-suggestion/ai-suggestion.d.ts.map +1 -0
  390. package/dist/src/components/ai-suggestion/index.d.ts +2 -0
  391. package/dist/src/components/ai-suggestion/index.d.ts.map +1 -0
  392. package/dist/src/components/ai-task-list/ai-task-list.d.ts +61 -0
  393. package/dist/src/components/ai-task-list/ai-task-list.d.ts.map +1 -0
  394. package/dist/src/components/ai-task-list/index.d.ts +2 -0
  395. package/dist/src/components/ai-task-list/index.d.ts.map +1 -0
  396. package/dist/src/components/ai-timeline/ai-timeline.d.ts +130 -0
  397. package/dist/src/components/ai-timeline/ai-timeline.d.ts.map +1 -0
  398. package/dist/src/components/ai-timeline/index.d.ts +2 -0
  399. package/dist/src/components/ai-timeline/index.d.ts.map +1 -0
  400. package/dist/src/components/ai-tool/ai-tool.d.ts +138 -0
  401. package/dist/src/components/ai-tool/ai-tool.d.ts.map +1 -0
  402. package/dist/src/components/ai-tool/index.d.ts +2 -0
  403. package/dist/src/components/ai-tool/index.d.ts.map +1 -0
  404. package/dist/src/components/ai-usage-bar/ai-usage-bar.d.ts +38 -0
  405. package/dist/src/components/ai-usage-bar/ai-usage-bar.d.ts.map +1 -0
  406. package/dist/src/components/ai-usage-bar/index.d.ts +2 -0
  407. package/dist/src/components/ai-usage-bar/index.d.ts.map +1 -0
  408. package/dist/src/components/badge/badge.d.ts +129 -0
  409. package/dist/src/components/badge/badge.d.ts.map +1 -0
  410. package/dist/src/components/badge/index.d.ts +2 -0
  411. package/dist/src/components/badge/index.d.ts.map +1 -0
  412. package/dist/src/components/banner/banner.d.ts +80 -0
  413. package/dist/src/components/banner/banner.d.ts.map +1 -0
  414. package/dist/src/components/banner/index.d.ts +2 -0
  415. package/dist/src/components/banner/index.d.ts.map +1 -0
  416. package/dist/src/components/breadcrumbs/breadcrumbs.d.ts +78 -0
  417. package/dist/src/components/breadcrumbs/breadcrumbs.d.ts.map +1 -0
  418. package/dist/src/components/breadcrumbs/index.d.ts +2 -0
  419. package/dist/src/components/breadcrumbs/index.d.ts.map +1 -0
  420. package/dist/src/components/button/button.d.ts +212 -0
  421. package/dist/src/components/button/button.d.ts.map +1 -0
  422. package/dist/src/components/button/index.d.ts +2 -0
  423. package/dist/src/components/button/index.d.ts.map +1 -0
  424. package/dist/src/components/chart/color.d.ts +98 -0
  425. package/dist/src/components/chart/color.d.ts.map +1 -0
  426. package/dist/src/components/chart/echart.d.ts +135 -0
  427. package/dist/src/components/chart/echart.d.ts.map +1 -0
  428. package/dist/src/components/chart/index.d.ts +5 -0
  429. package/dist/src/components/chart/index.d.ts.map +1 -0
  430. package/dist/src/components/chart/legend.d.ts +42 -0
  431. package/dist/src/components/chart/legend.d.ts.map +1 -0
  432. package/dist/src/components/chart/timeseries-chart.d.ts +119 -0
  433. package/dist/src/components/chart/timeseries-chart.d.ts.map +1 -0
  434. package/dist/src/components/checkbox/checkbox.d.ts +174 -0
  435. package/dist/src/components/checkbox/checkbox.d.ts.map +1 -0
  436. package/dist/src/components/checkbox/index.d.ts +2 -0
  437. package/dist/src/components/checkbox/index.d.ts.map +1 -0
  438. package/dist/src/components/clipboard-text/clipboard-text.d.ts +86 -0
  439. package/dist/src/components/clipboard-text/clipboard-text.d.ts.map +1 -0
  440. package/dist/src/components/clipboard-text/index.d.ts +2 -0
  441. package/dist/src/components/clipboard-text/index.d.ts.map +1 -0
  442. package/dist/src/components/code/code.d.ts +165 -0
  443. package/dist/src/components/code/code.d.ts.map +1 -0
  444. package/dist/src/components/code/index.d.ts +4 -0
  445. package/dist/src/components/code/index.d.ts.map +1 -0
  446. package/dist/src/components/collapsible/collapsible.d.ts +72 -0
  447. package/dist/src/components/collapsible/collapsible.d.ts.map +1 -0
  448. package/dist/src/components/collapsible/index.d.ts +2 -0
  449. package/dist/src/components/collapsible/index.d.ts.map +1 -0
  450. package/dist/src/components/combobox/combobox.d.ts +188 -0
  451. package/dist/src/components/combobox/combobox.d.ts.map +1 -0
  452. package/dist/src/components/combobox/index.d.ts +2 -0
  453. package/dist/src/components/combobox/index.d.ts.map +1 -0
  454. package/dist/src/components/command-palette/command-palette.d.ts +260 -0
  455. package/dist/src/components/command-palette/command-palette.d.ts.map +1 -0
  456. package/dist/src/components/command-palette/index.d.ts +3 -0
  457. package/dist/src/components/command-palette/index.d.ts.map +1 -0
  458. package/dist/src/components/command-palette/types.d.ts +149 -0
  459. package/dist/src/components/command-palette/types.d.ts.map +1 -0
  460. package/dist/src/components/data-grid/data-grid.d.ts +78 -0
  461. package/dist/src/components/data-grid/data-grid.d.ts.map +1 -0
  462. package/dist/src/components/data-grid/index.d.ts +3 -0
  463. package/dist/src/components/data-grid/index.d.ts.map +1 -0
  464. package/dist/src/components/data-grid/types.d.ts +236 -0
  465. package/dist/src/components/data-grid/types.d.ts.map +1 -0
  466. package/dist/src/components/date-picker/date-picker.d.ts +65 -0
  467. package/dist/src/components/date-picker/date-picker.d.ts.map +1 -0
  468. package/dist/src/components/date-picker/index.d.ts +4 -0
  469. package/dist/src/components/date-picker/index.d.ts.map +1 -0
  470. package/dist/src/components/date-range-picker/date-range-picker.d.ts +125 -0
  471. package/dist/src/components/date-range-picker/date-range-picker.d.ts.map +1 -0
  472. package/dist/src/components/date-range-picker/index.d.ts +5 -0
  473. package/dist/src/components/date-range-picker/index.d.ts.map +1 -0
  474. package/dist/src/components/dialog/dialog.d.ts +189 -0
  475. package/dist/src/components/dialog/dialog.d.ts.map +1 -0
  476. package/dist/src/components/dialog/index.d.ts +2 -0
  477. package/dist/src/components/dialog/index.d.ts.map +1 -0
  478. package/dist/src/components/dropdown/dropdown.d.ts +91 -0
  479. package/dist/src/components/dropdown/dropdown.d.ts.map +1 -0
  480. package/dist/src/components/dropdown/index.d.ts +2 -0
  481. package/dist/src/components/dropdown/index.d.ts.map +1 -0
  482. package/dist/src/components/empty/empty.d.ts +69 -0
  483. package/dist/src/components/empty/empty.d.ts.map +1 -0
  484. package/dist/src/components/empty/index.d.ts +2 -0
  485. package/dist/src/components/empty/index.d.ts.map +1 -0
  486. package/dist/src/components/field/field.d.ts +68 -0
  487. package/dist/src/components/field/field.d.ts.map +1 -0
  488. package/dist/src/components/field/index.d.ts +2 -0
  489. package/dist/src/components/field/index.d.ts.map +1 -0
  490. package/dist/src/components/filters/filters.d.ts +54 -0
  491. package/dist/src/components/filters/filters.d.ts.map +1 -0
  492. package/dist/src/components/filters/helpers.d.ts +56 -0
  493. package/dist/src/components/filters/helpers.d.ts.map +1 -0
  494. package/dist/src/components/filters/index.d.ts +3 -0
  495. package/dist/src/components/filters/index.d.ts.map +1 -0
  496. package/dist/src/components/filters/types.d.ts +148 -0
  497. package/dist/src/components/filters/types.d.ts.map +1 -0
  498. package/dist/src/components/flow/connectors.d.ts +35 -0
  499. package/dist/src/components/flow/connectors.d.ts.map +1 -0
  500. package/dist/src/components/flow/diagram.d.ts +62 -0
  501. package/dist/src/components/flow/diagram.d.ts.map +1 -0
  502. package/dist/src/components/flow/index.d.ts +26 -0
  503. package/dist/src/components/flow/index.d.ts.map +1 -0
  504. package/dist/src/components/flow/node.d.ts +52 -0
  505. package/dist/src/components/flow/node.d.ts.map +1 -0
  506. package/dist/src/components/flow/parallel.d.ts +5 -0
  507. package/dist/src/components/flow/parallel.d.ts.map +1 -0
  508. package/dist/src/components/flow/use-children.d.ts +69 -0
  509. package/dist/src/components/flow/use-children.d.ts.map +1 -0
  510. package/dist/src/components/grid/grid.d.ts +135 -0
  511. package/dist/src/components/grid/grid.d.ts.map +1 -0
  512. package/dist/src/components/grid/index.d.ts +2 -0
  513. package/dist/src/components/grid/index.d.ts.map +1 -0
  514. package/dist/src/components/input/index.d.ts +4 -0
  515. package/dist/src/components/input/index.d.ts.map +1 -0
  516. package/dist/src/components/input/input-area.d.ts +65 -0
  517. package/dist/src/components/input/input-area.d.ts.map +1 -0
  518. package/dist/src/components/input/input-group.d.ts +39 -0
  519. package/dist/src/components/input/input-group.d.ts.map +1 -0
  520. package/dist/src/components/input/input.d.ts +172 -0
  521. package/dist/src/components/input/input.d.ts.map +1 -0
  522. package/dist/src/components/label/index.d.ts +2 -0
  523. package/dist/src/components/label/index.d.ts.map +1 -0
  524. package/dist/src/components/label/label.d.ts +67 -0
  525. package/dist/src/components/label/label.d.ts.map +1 -0
  526. package/dist/src/components/layer-card/index.d.ts +2 -0
  527. package/dist/src/components/layer-card/index.d.ts.map +1 -0
  528. package/dist/src/components/layer-card/layer-card.d.ts +29 -0
  529. package/dist/src/components/layer-card/layer-card.d.ts.map +1 -0
  530. package/dist/src/components/link/index.d.ts +2 -0
  531. package/dist/src/components/link/index.d.ts.map +1 -0
  532. package/dist/src/components/link/link.d.ts +55 -0
  533. package/dist/src/components/link/link.d.ts.map +1 -0
  534. package/dist/src/components/loader/index.d.ts +3 -0
  535. package/dist/src/components/loader/index.d.ts.map +1 -0
  536. package/dist/src/components/loader/loader.d.ts +65 -0
  537. package/dist/src/components/loader/loader.d.ts.map +1 -0
  538. package/dist/src/components/loader/skeleton-line.d.ts +10 -0
  539. package/dist/src/components/loader/skeleton-line.d.ts.map +1 -0
  540. package/dist/src/components/menubar/index.d.ts +3 -0
  541. package/dist/src/components/menubar/index.d.ts.map +1 -0
  542. package/dist/src/components/menubar/menubar.d.ts +66 -0
  543. package/dist/src/components/menubar/menubar.d.ts.map +1 -0
  544. package/dist/src/components/menubar/use-menu-navigation.d.ts +8 -0
  545. package/dist/src/components/menubar/use-menu-navigation.d.ts.map +1 -0
  546. package/dist/src/components/meter/index.d.ts +2 -0
  547. package/dist/src/components/meter/index.d.ts.map +1 -0
  548. package/dist/src/components/meter/meter.d.ts +44 -0
  549. package/dist/src/components/meter/meter.d.ts.map +1 -0
  550. package/dist/src/components/pagination/index.d.ts +2 -0
  551. package/dist/src/components/pagination/index.d.ts.map +1 -0
  552. package/dist/src/components/pagination/pagination.d.ts +60 -0
  553. package/dist/src/components/pagination/pagination.d.ts.map +1 -0
  554. package/dist/src/components/popover/index.d.ts +3 -0
  555. package/dist/src/components/popover/index.d.ts.map +1 -0
  556. package/dist/src/components/popover/popover.d.ts +138 -0
  557. package/dist/src/components/popover/popover.d.ts.map +1 -0
  558. package/dist/src/components/radio/index.d.ts +2 -0
  559. package/dist/src/components/radio/index.d.ts.map +1 -0
  560. package/dist/src/components/radio/radio.d.ts +163 -0
  561. package/dist/src/components/radio/radio.d.ts.map +1 -0
  562. package/dist/src/components/select/index.d.ts +2 -0
  563. package/dist/src/components/select/index.d.ts.map +1 -0
  564. package/dist/src/components/select/select.d.ts +150 -0
  565. package/dist/src/components/select/select.d.ts.map +1 -0
  566. package/dist/src/components/sensitive-input/index.d.ts +2 -0
  567. package/dist/src/components/sensitive-input/index.d.ts.map +1 -0
  568. package/dist/src/components/sensitive-input/sensitive-input.d.ts +94 -0
  569. package/dist/src/components/sensitive-input/sensitive-input.d.ts.map +1 -0
  570. package/dist/src/components/sidebar/index.d.ts +2 -0
  571. package/dist/src/components/sidebar/index.d.ts.map +1 -0
  572. package/dist/src/components/sidebar/sidebar.d.ts +556 -0
  573. package/dist/src/components/sidebar/sidebar.d.ts.map +1 -0
  574. package/dist/src/components/signalflare-ai-logo/index.d.ts +2 -0
  575. package/dist/src/components/signalflare-ai-logo/index.d.ts.map +1 -0
  576. package/dist/src/components/signalflare-ai-logo/signalflare-ai-logo.d.ts +171 -0
  577. package/dist/src/components/signalflare-ai-logo/signalflare-ai-logo.d.ts.map +1 -0
  578. package/dist/src/components/surface/index.d.ts +2 -0
  579. package/dist/src/components/surface/index.d.ts.map +1 -0
  580. package/dist/src/components/surface/surface.d.ts +60 -0
  581. package/dist/src/components/surface/surface.d.ts.map +1 -0
  582. package/dist/src/components/switch/index.d.ts +2 -0
  583. package/dist/src/components/switch/index.d.ts.map +1 -0
  584. package/dist/src/components/switch/switch.d.ts +169 -0
  585. package/dist/src/components/switch/switch.d.ts.map +1 -0
  586. package/dist/src/components/table/index.d.ts +2 -0
  587. package/dist/src/components/table/index.d.ts.map +1 -0
  588. package/dist/src/components/table/table.d.ts +89 -0
  589. package/dist/src/components/table/table.d.ts.map +1 -0
  590. package/dist/src/components/tabs/index.d.ts +3 -0
  591. package/dist/src/components/tabs/index.d.ts.map +1 -0
  592. package/dist/src/components/tabs/tabs.d.ts +105 -0
  593. package/dist/src/components/tabs/tabs.d.ts.map +1 -0
  594. package/dist/src/components/text/index.d.ts +2 -0
  595. package/dist/src/components/text/index.d.ts.map +1 -0
  596. package/dist/src/components/text/text.d.ts +181 -0
  597. package/dist/src/components/text/text.d.ts.map +1 -0
  598. package/dist/src/components/theme-toggle/index.d.ts +2 -0
  599. package/dist/src/components/theme-toggle/index.d.ts.map +1 -0
  600. package/dist/src/components/theme-toggle/theme-toggle.d.ts +68 -0
  601. package/dist/src/components/theme-toggle/theme-toggle.d.ts.map +1 -0
  602. package/dist/src/components/toast/index.d.ts +5 -0
  603. package/dist/src/components/toast/index.d.ts.map +1 -0
  604. package/dist/src/components/toast/toast.d.ts +152 -0
  605. package/dist/src/components/toast/toast.d.ts.map +1 -0
  606. package/dist/src/components/tooltip/index.d.ts +2 -0
  607. package/dist/src/components/tooltip/index.d.ts.map +1 -0
  608. package/dist/src/components/tooltip/tooltip.d.ts +82 -0
  609. package/dist/src/components/tooltip/tooltip.d.ts.map +1 -0
  610. package/dist/src/components/use-agent-harness/index.d.ts +2 -0
  611. package/dist/src/components/use-agent-harness/index.d.ts.map +1 -0
  612. package/dist/src/components/use-agent-harness/use-agent-harness.d.ts +642 -0
  613. package/dist/src/components/use-agent-harness/use-agent-harness.d.ts.map +1 -0
  614. package/dist/src/genui/genui.d.ts +17 -0
  615. package/dist/src/genui/genui.d.ts.map +1 -0
  616. package/dist/src/genui/index.d.ts +19 -0
  617. package/dist/src/genui/index.d.ts.map +1 -0
  618. package/dist/src/index.d.ts +102 -0
  619. package/dist/src/index.d.ts.map +1 -0
  620. package/dist/src/lib/utils.d.ts +2 -0
  621. package/dist/src/lib/utils.d.ts.map +1 -0
  622. package/dist/src/primitives/accordion.d.ts +13 -0
  623. package/dist/src/primitives/accordion.d.ts.map +1 -0
  624. package/dist/src/primitives/alert-dialog.d.ts +13 -0
  625. package/dist/src/primitives/alert-dialog.d.ts.map +1 -0
  626. package/dist/src/primitives/autocomplete.d.ts +13 -0
  627. package/dist/src/primitives/autocomplete.d.ts.map +1 -0
  628. package/dist/src/primitives/avatar.d.ts +13 -0
  629. package/dist/src/primitives/avatar.d.ts.map +1 -0
  630. package/dist/src/primitives/button.d.ts +13 -0
  631. package/dist/src/primitives/button.d.ts.map +1 -0
  632. package/dist/src/primitives/checkbox-group.d.ts +13 -0
  633. package/dist/src/primitives/checkbox-group.d.ts.map +1 -0
  634. package/dist/src/primitives/checkbox.d.ts +13 -0
  635. package/dist/src/primitives/checkbox.d.ts.map +1 -0
  636. package/dist/src/primitives/collapsible.d.ts +13 -0
  637. package/dist/src/primitives/collapsible.d.ts.map +1 -0
  638. package/dist/src/primitives/combobox.d.ts +13 -0
  639. package/dist/src/primitives/combobox.d.ts.map +1 -0
  640. package/dist/src/primitives/context-menu.d.ts +13 -0
  641. package/dist/src/primitives/context-menu.d.ts.map +1 -0
  642. package/dist/src/primitives/csp-provider.d.ts +13 -0
  643. package/dist/src/primitives/csp-provider.d.ts.map +1 -0
  644. package/dist/src/primitives/dialog.d.ts +13 -0
  645. package/dist/src/primitives/dialog.d.ts.map +1 -0
  646. package/dist/src/primitives/direction-provider.d.ts +13 -0
  647. package/dist/src/primitives/direction-provider.d.ts.map +1 -0
  648. package/dist/src/primitives/drawer.d.ts +13 -0
  649. package/dist/src/primitives/drawer.d.ts.map +1 -0
  650. package/dist/src/primitives/field.d.ts +13 -0
  651. package/dist/src/primitives/field.d.ts.map +1 -0
  652. package/dist/src/primitives/fieldset.d.ts +13 -0
  653. package/dist/src/primitives/fieldset.d.ts.map +1 -0
  654. package/dist/src/primitives/form.d.ts +13 -0
  655. package/dist/src/primitives/form.d.ts.map +1 -0
  656. package/dist/src/primitives/index.d.ts +54 -0
  657. package/dist/src/primitives/index.d.ts.map +1 -0
  658. package/dist/src/primitives/input.d.ts +13 -0
  659. package/dist/src/primitives/input.d.ts.map +1 -0
  660. package/dist/src/primitives/menu.d.ts +13 -0
  661. package/dist/src/primitives/menu.d.ts.map +1 -0
  662. package/dist/src/primitives/menubar.d.ts +13 -0
  663. package/dist/src/primitives/menubar.d.ts.map +1 -0
  664. package/dist/src/primitives/meter.d.ts +13 -0
  665. package/dist/src/primitives/meter.d.ts.map +1 -0
  666. package/dist/src/primitives/navigation-menu.d.ts +13 -0
  667. package/dist/src/primitives/navigation-menu.d.ts.map +1 -0
  668. package/dist/src/primitives/number-field.d.ts +13 -0
  669. package/dist/src/primitives/number-field.d.ts.map +1 -0
  670. package/dist/src/primitives/popover.d.ts +13 -0
  671. package/dist/src/primitives/popover.d.ts.map +1 -0
  672. package/dist/src/primitives/preview-card.d.ts +13 -0
  673. package/dist/src/primitives/preview-card.d.ts.map +1 -0
  674. package/dist/src/primitives/progress.d.ts +13 -0
  675. package/dist/src/primitives/progress.d.ts.map +1 -0
  676. package/dist/src/primitives/radio-group.d.ts +13 -0
  677. package/dist/src/primitives/radio-group.d.ts.map +1 -0
  678. package/dist/src/primitives/radio.d.ts +13 -0
  679. package/dist/src/primitives/radio.d.ts.map +1 -0
  680. package/dist/src/primitives/scroll-area.d.ts +13 -0
  681. package/dist/src/primitives/scroll-area.d.ts.map +1 -0
  682. package/dist/src/primitives/select.d.ts +13 -0
  683. package/dist/src/primitives/select.d.ts.map +1 -0
  684. package/dist/src/primitives/separator.d.ts +13 -0
  685. package/dist/src/primitives/separator.d.ts.map +1 -0
  686. package/dist/src/primitives/slider.d.ts +13 -0
  687. package/dist/src/primitives/slider.d.ts.map +1 -0
  688. package/dist/src/primitives/switch.d.ts +13 -0
  689. package/dist/src/primitives/switch.d.ts.map +1 -0
  690. package/dist/src/primitives/tabs.d.ts +13 -0
  691. package/dist/src/primitives/tabs.d.ts.map +1 -0
  692. package/dist/src/primitives/toast.d.ts +13 -0
  693. package/dist/src/primitives/toast.d.ts.map +1 -0
  694. package/dist/src/primitives/toggle-group.d.ts +13 -0
  695. package/dist/src/primitives/toggle-group.d.ts.map +1 -0
  696. package/dist/src/primitives/toggle.d.ts +13 -0
  697. package/dist/src/primitives/toggle.d.ts.map +1 -0
  698. package/dist/src/primitives/toolbar.d.ts +13 -0
  699. package/dist/src/primitives/toolbar.d.ts.map +1 -0
  700. package/dist/src/primitives/tooltip.d.ts +13 -0
  701. package/dist/src/primitives/tooltip.d.ts.map +1 -0
  702. package/dist/src/registry/index.d.ts +8 -0
  703. package/dist/src/registry/index.d.ts.map +1 -0
  704. package/dist/src/registry/types.d.ts +191 -0
  705. package/dist/src/registry/types.d.ts.map +1 -0
  706. package/dist/src/utils/cn.d.ts +4 -0
  707. package/dist/src/utils/cn.d.ts.map +1 -0
  708. package/dist/src/utils/highlight-to-react.d.ts +12 -0
  709. package/dist/src/utils/highlight-to-react.d.ts.map +1 -0
  710. package/dist/src/utils/index.d.ts +3 -0
  711. package/dist/src/utils/index.d.ts.map +1 -0
  712. package/dist/src/utils/link-provider.d.ts +12 -0
  713. package/dist/src/utils/link-provider.d.ts.map +1 -0
  714. package/dist/src/utils/prop-examples.d.ts +36 -0
  715. package/dist/src/utils/prop-examples.d.ts.map +1 -0
  716. package/dist/styles/sf-binding.css +255 -0
  717. package/dist/styles/sf-standalone.css +2 -0
  718. package/dist/styles/sf.css +596 -0
  719. package/dist/styles/theme-fedramp.css +22 -0
  720. package/dist/styles/theme-minimal.css +127 -0
  721. package/dist/styles/theme-navigator.css +137 -0
  722. package/dist/styles/theme-sf.css +191 -0
  723. package/dist/surface-BduI7Ehl.js +18 -0
  724. package/dist/surface-BduI7Ehl.js.map +1 -0
  725. package/dist/switch-CzZBRBL7.js +169 -0
  726. package/dist/switch-CzZBRBL7.js.map +1 -0
  727. package/dist/table-CIMx0Oq0.js +200 -0
  728. package/dist/table-CIMx0Oq0.js.map +1 -0
  729. package/dist/tabs-1cHrYoel.js +54 -0
  730. package/dist/tabs-1cHrYoel.js.map +1 -0
  731. package/dist/text-KJmGkwnf.js +103 -0
  732. package/dist/text-KJmGkwnf.js.map +1 -0
  733. package/dist/theme-toggle-Dpgnoj_Q.js +129 -0
  734. package/dist/theme-toggle-Dpgnoj_Q.js.map +1 -0
  735. package/dist/toast-Nw28a5Cx.js +161 -0
  736. package/dist/toast-Nw28a5Cx.js.map +1 -0
  737. package/dist/tooltip-Cb7QW-7H.js +79 -0
  738. package/dist/tooltip-Cb7QW-7H.js.map +1 -0
  739. package/dist/use-agent-harness-DZzcn96L.js +929 -0
  740. package/dist/use-agent-harness-DZzcn96L.js.map +1 -0
  741. package/dist/utils.js +4 -0
  742. package/package.json +620 -0
  743. package/scripts/component-registry/cache.ts +124 -0
  744. package/scripts/component-registry/discovery.ts +464 -0
  745. package/scripts/component-registry/example-cleanup.ts +168 -0
  746. package/scripts/component-registry/index.test.ts +678 -0
  747. package/scripts/component-registry/index.ts +931 -0
  748. package/scripts/component-registry/markdown-generator.ts +222 -0
  749. package/scripts/component-registry/metadata.ts +653 -0
  750. package/scripts/component-registry/props-filter.ts +313 -0
  751. package/scripts/component-registry/schema-generator.ts +332 -0
  752. package/scripts/component-registry/sub-components.ts +350 -0
  753. package/scripts/component-registry/types.ts +156 -0
  754. package/scripts/component-registry/utils.ts +280 -0
  755. package/scripts/component-registry/variant-parser.ts +262 -0
  756. package/scripts/css-build.ts +117 -0
  757. package/scripts/generate-primitives.ts +178 -0
  758. package/scripts/theme-generator/config.ts +538 -0
  759. package/scripts/theme-generator/generate-css.ts +256 -0
  760. package/scripts/theme-generator/index.ts +161 -0
  761. package/scripts/theme-generator/migrate.ts +584 -0
  762. package/scripts/theme-generator/types.ts +86 -0
  763. package/skills/component-selection/SKILL.md +64 -0
  764. package/skills/installing-blocks/SKILL.md +47 -0
  765. package/skills/theming-and-tokens/SKILL.md +62 -0
@@ -0,0 +1,618 @@
1
+ "use client";
2
+ import { t as cn } from "./cn-YROP2_ox.js";
3
+ import { forwardRef, useEffect, useMemo, useRef } from "react";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ //#region src/components/chart/color.ts
6
+ /**
7
+ * Categorical colors for light mode — used when assigning colors to data series
8
+ * by index (e.g. the first series gets Blue, the second gets Violet, etc.).
9
+ */
10
+ var ChartCategoricalLightColors = /* @__PURE__ */ function(ChartCategoricalLightColors) {
11
+ ChartCategoricalLightColors["Blue"] = "#086FFF";
12
+ ChartCategoricalLightColors["Violet"] = "#CF7EE9";
13
+ ChartCategoricalLightColors["Cyan"] = "#73CEE6";
14
+ ChartCategoricalLightColors["Indigo"] = "#5B5FEF";
15
+ ChartCategoricalLightColors["LightBlue"] = "#82B6FF";
16
+ ChartCategoricalLightColors["Pink"] = "#F5609F";
17
+ ChartCategoricalLightColors["Indigo3"] = "#C2BDF3";
18
+ ChartCategoricalLightColors["Violet2"] = "#8D1EB1";
19
+ ChartCategoricalLightColors["Violet3"] = "#EBCAF6";
20
+ ChartCategoricalLightColors["Indigo2"] = "#7366E4";
21
+ return ChartCategoricalLightColors;
22
+ }(ChartCategoricalLightColors || {});
23
+ /**
24
+ * Categorical colors for dark mode — same hues as the light palette but with
25
+ * `E6` alpha (90% opacity) appended to soften contrast on dark backgrounds.
26
+ */
27
+ var ChartCategoricalDarkColors = /* @__PURE__ */ function(ChartCategoricalDarkColors) {
28
+ ChartCategoricalDarkColors["Blue"] = "#086FFFE6";
29
+ ChartCategoricalDarkColors["Violet"] = "#CF7EE9E6";
30
+ ChartCategoricalDarkColors["Cyan"] = "#73CEE6E6";
31
+ ChartCategoricalDarkColors["Indigo"] = "#5B5FEFE6";
32
+ ChartCategoricalDarkColors["LightBlue"] = "#82B6FFE6";
33
+ ChartCategoricalDarkColors["Pink"] = "#F5609FE6";
34
+ ChartCategoricalDarkColors["Indigo3"] = "#C2BDF3E6";
35
+ ChartCategoricalDarkColors["Violet2"] = "#8D1EB1E6";
36
+ ChartCategoricalDarkColors["Violet3"] = "#EBCAF6E6";
37
+ ChartCategoricalDarkColors["Indigo2"] = "#7366E4E6";
38
+ return ChartCategoricalDarkColors;
39
+ }(ChartCategoricalDarkColors || {});
40
+ /**
41
+ * Semantic colors for light mode — used to convey meaning (status, severity)
42
+ * rather than just distinguishing series. Use via `ChartPalette.semantic()`.
43
+ */
44
+ var ChartSemanticLightColors = /* @__PURE__ */ function(ChartSemanticLightColors) {
45
+ ChartSemanticLightColors["Attention"] = "#FC574A";
46
+ ChartSemanticLightColors["Warning"] = "#F8A054";
47
+ ChartSemanticLightColors["Neutral"] = "#82B6FF";
48
+ ChartSemanticLightColors["NeutralLight"] = "#B9D6FF";
49
+ ChartSemanticLightColors["Disabled"] = "#B6B6B6";
50
+ ChartSemanticLightColors["DisabledLight"] = "#D9D9D9";
51
+ return ChartSemanticLightColors;
52
+ }(ChartSemanticLightColors || {});
53
+ /**
54
+ * Semantic colors for dark mode — same meanings as the light palette but with
55
+ * `E6` alpha (90% opacity) for dark backgrounds.
56
+ */
57
+ var ChartSemanticDarkColors = /* @__PURE__ */ function(ChartSemanticDarkColors) {
58
+ ChartSemanticDarkColors["Attention"] = "#FC574AE6";
59
+ ChartSemanticDarkColors["Warning"] = "#F8A054E6";
60
+ ChartSemanticDarkColors["Neutral"] = "#82B6FFE6";
61
+ ChartSemanticDarkColors["NeutralLight"] = "#B9D6FFE6";
62
+ ChartSemanticDarkColors["Disabled"] = "#B6B6B6E6";
63
+ ChartSemanticDarkColors["DisabledLight"] = "#D9D9D9E6";
64
+ return ChartSemanticDarkColors;
65
+ }(ChartSemanticDarkColors || {});
66
+ /**
67
+ * Ordered list of categorical colors for light mode, indexed by series position.
68
+ * Used as the default ECharts color palette when `isDarkMode` is `false`.
69
+ */
70
+ var CHART_LIGHT_COLORS = [
71
+ ChartCategoricalLightColors.Blue,
72
+ ChartCategoricalLightColors.Violet,
73
+ ChartCategoricalLightColors.Cyan,
74
+ ChartCategoricalLightColors.Indigo,
75
+ ChartCategoricalLightColors.LightBlue,
76
+ ChartCategoricalLightColors.Pink,
77
+ ChartCategoricalLightColors.Indigo3,
78
+ ChartCategoricalLightColors.Violet2,
79
+ ChartCategoricalLightColors.Violet3,
80
+ ChartCategoricalLightColors.Indigo2
81
+ ];
82
+ /**
83
+ * Ordered list of categorical colors for dark mode, indexed by series position.
84
+ * Used as the default ECharts color palette when `isDarkMode` is `true`.
85
+ */
86
+ var CHART_DARK_COLORS = [
87
+ ChartCategoricalDarkColors.Blue,
88
+ ChartCategoricalDarkColors.Violet,
89
+ ChartCategoricalDarkColors.Cyan,
90
+ ChartCategoricalDarkColors.Indigo,
91
+ ChartCategoricalDarkColors.LightBlue,
92
+ ChartCategoricalDarkColors.Pink,
93
+ ChartCategoricalDarkColors.Indigo3,
94
+ ChartCategoricalDarkColors.Violet2,
95
+ ChartCategoricalDarkColors.Violet3,
96
+ ChartCategoricalDarkColors.Indigo2
97
+ ];
98
+ /**
99
+ * Returns the hex color for a named semantic value (status, severity, etc.).
100
+ *
101
+ * @example
102
+ * ```ts
103
+ * ChartPalette.semantic("Attention") // "#FC574A" (light)
104
+ * ChartPalette.semantic("Warning", true) // "#F8A054E6" (dark)
105
+ * ```
106
+ */
107
+ function semantic(name, isDarkMode = false) {
108
+ return isDarkMode ? ChartSemanticDarkColors[name] : ChartSemanticLightColors[name];
109
+ }
110
+ /**
111
+ * Returns the categorical color for a given series index.
112
+ * Wraps around via modulo when `index` exceeds the palette length (10 colors).
113
+ *
114
+ * @example
115
+ * ```ts
116
+ * ChartPalette.color(0) // Blue (light)
117
+ * ChartPalette.color(0, true) // Blue with E6 alpha (dark)
118
+ * ChartPalette.color(10) // wraps back to Blue
119
+ * ```
120
+ */
121
+ function color(index, isDarkMode = false) {
122
+ return isDarkMode ? CHART_DARK_COLORS[index % CHART_DARK_COLORS.length] : CHART_LIGHT_COLORS[index % CHART_LIGHT_COLORS.length];
123
+ }
124
+ /**
125
+ * Utilities for resolving SignalFlare chart colors by semantic name or series index.
126
+ * Both functions accept an `isDarkMode` flag and return the appropriate hex color.
127
+ */
128
+ var ChartPalette = {
129
+ semantic,
130
+ color
131
+ };
132
+ //#endregion
133
+ //#region src/components/chart/echart.tsx
134
+ /**
135
+ * Chart — a low-level wrapper around [Apache ECharts](https://echarts.apache.org).
136
+ *
137
+ * Manages the ECharts instance lifecycle (init, option updates, event binding,
138
+ * resize observation, and disposal). Exposes the raw `echarts.ECharts` instance
139
+ * via `ref` for imperative access when needed.
140
+ *
141
+ * Prefer `TimeseriesChart` for time-series data; use this component when you
142
+ * need full control over the ECharts option object.
143
+ *
144
+ * @example
145
+ * ```tsx
146
+ * import * as echarts from "echarts/core";
147
+ * import { BarChart } from "echarts/charts";
148
+ * import { GridComponent } from "echarts/components";
149
+ * import { CanvasRenderer } from "echarts/renderers";
150
+ *
151
+ * echarts.use([BarChart, GridComponent, CanvasRenderer]);
152
+ *
153
+ * <Chart
154
+ * echarts={echarts}
155
+ * options={{ xAxis: { data: ["A", "B"] }, yAxis: {}, series: [{ type: "bar", data: [1, 2] }] }}
156
+ * />
157
+ * ```
158
+ */
159
+ var Chart = forwardRef(function Chart({ echarts, options, optionUpdateBehavior, className, isDarkMode, height = 350, onEvents }, ref) {
160
+ const elRef = useRef(null);
161
+ const chartRef = useRef(null);
162
+ const handlersRef = useRef({});
163
+ const wrappersRef = useRef({});
164
+ const boundEventsRef = useRef(/* @__PURE__ */ new Set());
165
+ useEffect(() => {
166
+ if (!elRef.current) return;
167
+ const chart = echarts.init(elRef.current, isDarkMode ? "dark" : { color: isDarkMode ? CHART_DARK_COLORS : CHART_LIGHT_COLORS });
168
+ chartRef.current = chart;
169
+ if (typeof ref === "function") ref(chart);
170
+ else if (ref) ref.current = chart;
171
+ return () => {
172
+ for (const event of boundEventsRef.current) {
173
+ const wrapper = wrappersRef.current[event];
174
+ if (wrapper) chart.off(event, wrapper);
175
+ }
176
+ boundEventsRef.current.clear();
177
+ if (typeof ref === "function") ref(null);
178
+ else if (ref) ref.current = null;
179
+ chartRef.current = null;
180
+ chart.dispose();
181
+ };
182
+ }, [elRef, isDarkMode]);
183
+ useEffect(() => {
184
+ const chart = chartRef.current;
185
+ if (!chart) return;
186
+ chart.setOption(options, {
187
+ notMerge: false,
188
+ lazyUpdate: true,
189
+ ...optionUpdateBehavior
190
+ });
191
+ }, [
192
+ isDarkMode,
193
+ optionUpdateBehavior,
194
+ options
195
+ ]);
196
+ useEffect(() => {
197
+ handlersRef.current = onEvents ?? {};
198
+ }, [onEvents]);
199
+ useEffect(() => {
200
+ const chart = chartRef.current;
201
+ if (!chart) return;
202
+ const nextBound = /* @__PURE__ */ new Set();
203
+ for (const [event, handler] of Object.entries(onEvents ?? {})) {
204
+ if (typeof handler !== "function") continue;
205
+ nextBound.add(event);
206
+ if (!wrappersRef.current[event]) wrappersRef.current[event] = (params) => {
207
+ handlersRef.current[event]?.(params);
208
+ };
209
+ if (!boundEventsRef.current.has(event)) chart.on(event, wrappersRef.current[event]);
210
+ }
211
+ for (const event of boundEventsRef.current) {
212
+ if (nextBound.has(event)) continue;
213
+ const wrapper = wrappersRef.current[event];
214
+ if (wrapper) chart.off(event, wrapper);
215
+ }
216
+ boundEventsRef.current = nextBound;
217
+ }, [
218
+ echarts,
219
+ isDarkMode,
220
+ onEvents
221
+ ]);
222
+ useEffect(() => {
223
+ const chart = chartRef.current;
224
+ const el = elRef.current;
225
+ if (!chart || !el) return;
226
+ let isInitial = true;
227
+ const ro = new ResizeObserver(() => {
228
+ if (isInitial) {
229
+ isInitial = false;
230
+ return;
231
+ }
232
+ chart.resize();
233
+ });
234
+ ro.observe(el);
235
+ return () => ro.disconnect();
236
+ }, []);
237
+ return /* @__PURE__ */ jsx("div", {
238
+ ref: elRef,
239
+ className: cn("w-full", className),
240
+ style: { height },
241
+ tabIndex: options.aria?.enabled ? 0 : void 0,
242
+ role: options.aria?.enabled ? "img" : void 0
243
+ });
244
+ });
245
+ Chart.displayName = "Chart";
246
+ //#endregion
247
+ //#region src/components/chart/timeseries-chart.tsx
248
+ /**
249
+ * TimeseriesChart — a time-series line or bar chart.
250
+ *
251
+ * Built on `Chart` (Apache ECharts) with opinionated defaults for time-series data:
252
+ * a time-typed x-axis, dashed lines for incomplete data periods, brush-based
253
+ * time range selection, and automatic tooltip deduplication.
254
+ *
255
+ * @example
256
+ * ```tsx
257
+ * import * as echarts from "echarts/core";
258
+ * import { LineChart } from "echarts/charts";
259
+ * import { GridComponent, TooltipComponent, BrushComponent, ToolboxComponent } from "echarts/components";
260
+ * import { CanvasRenderer } from "echarts/renderers";
261
+ *
262
+ * echarts.use([LineChart, GridComponent, TooltipComponent, BrushComponent, ToolboxComponent, CanvasRenderer]);
263
+ *
264
+ * const [range, setRange] = useState<[number, number]>();
265
+ *
266
+ * <TimeseriesChart
267
+ * echarts={echarts}
268
+ * data={[{ name: "Requests", data: [[Date.now(), 42]], color: "#086FFF" }]}
269
+ * xAxisName="Time"
270
+ * xAxisTickFormat={(ts) => new Date(ts).toLocaleTimeString()}
271
+ * yAxisName="Count"
272
+ * yAxisTickFormat={(value) => `${value / 1000}k`}
273
+ * tooltipValueFormat={(value) => `${value.toFixed(2)} req/s`}
274
+ * onTimeRangeChange={(from, to) => setRange([from, to])}
275
+ * />
276
+ * ```
277
+ */
278
+ function TimeseriesChart({ echarts, type = "line", data, xAxisName, xAxisTickCount, xAxisTickFormat, yAxisTickFormat, yAxisTickLabelFormat, yAxisName, yAxisTickCount, tooltipValueFormat, onTimeRangeChange, height = 350, incomplete, isDarkMode, gradient, loading, ariaDescription }) {
279
+ const chartRef = useRef(null);
280
+ const incompleteBefore = incomplete?.before;
281
+ const incompleteAfter = incomplete?.after;
282
+ const options = useMemo(() => {
283
+ const transformSeries = [];
284
+ const seriesType = type === "bar" ? {
285
+ type: "bar",
286
+ stack: "total"
287
+ } : {
288
+ type: "line",
289
+ showSymbol: false
290
+ };
291
+ for (const s of data) {
292
+ const incompleteBeforePoints = incompleteBefore && type === "line" ? s.data.filter((point) => point[0] <= incompleteBefore) : [];
293
+ const incompleteAfterPoints = incompleteAfter && type === "line" ? s.data.filter((point) => point[0] >= incompleteAfter) : [];
294
+ const completePoints = incompleteBeforePoints.length > 0 || incompleteAfterPoints.length > 0 ? s.data.slice(Math.max(0, incompleteBeforePoints.length - 1), Math.max(0, s.data.length - incompleteAfterPoints.length + 1)) : s.data;
295
+ const areaStyle = gradient && type === "line" ? { color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
296
+ offset: 0,
297
+ color: colorWithOpacity(s.color, .4)
298
+ }, {
299
+ offset: 1,
300
+ color: colorWithOpacity(s.color, 0)
301
+ }]) } : void 0;
302
+ transformSeries.push({
303
+ data: completePoints,
304
+ color: s.color,
305
+ name: s.name,
306
+ emphasis: { focus: "series" },
307
+ ...areaStyle ? { areaStyle } : {},
308
+ ...seriesType
309
+ });
310
+ const incompleteSeriesConfig = {
311
+ color: s.color,
312
+ name: s.name,
313
+ type: "line",
314
+ lineStyle: { type: "dashed" },
315
+ showSymbol: false,
316
+ emphasis: { focus: "series" }
317
+ };
318
+ if (incompleteBeforePoints.length > 0) transformSeries.push({
319
+ ...incompleteSeriesConfig,
320
+ data: incompleteBeforePoints
321
+ });
322
+ if (incompleteAfterPoints.length > 0) transformSeries.push({
323
+ ...incompleteSeriesConfig,
324
+ data: incompleteAfterPoints
325
+ });
326
+ }
327
+ return {
328
+ aria: {
329
+ enabled: true,
330
+ ...ariaDescription && { label: { description: ariaDescription } }
331
+ },
332
+ brush: {
333
+ snapToData: true,
334
+ xAxisIndex: "all",
335
+ brushType: "lineX",
336
+ brushMode: "single",
337
+ outOfBrush: { colorAlpha: .3 },
338
+ brushStyle: {
339
+ borderWidth: 1,
340
+ color: "rgba(120,140,180,0.3)",
341
+ borderColor: "rgba(120,140,180,0.8)"
342
+ }
343
+ },
344
+ tooltip: {
345
+ trigger: "axis",
346
+ axisPointer: { type: "shadow" },
347
+ formatter: (params) => {
348
+ const items = Array.isArray(params) ? params : [params];
349
+ const seenNames = /* @__PURE__ */ new Set();
350
+ const filteredParams = items.filter((param) => {
351
+ if (seenNames.has(param.seriesName)) return false;
352
+ seenNames.add(param.seriesName);
353
+ return true;
354
+ });
355
+ const first = filteredParams[0];
356
+ const ts = first?.value?.[0] ?? first?.axisValue;
357
+ return `${ts != null ? `<div style="font-weight:600;margin-bottom:4px;">${formatTimestamp(ts)}</div>` : ""}${filteredParams.map((param) => {
358
+ const value = param?.value?.[1];
359
+ const formatFn = tooltipValueFormat ?? yAxisTickLabelFormat;
360
+ return `${param.marker} ${param.seriesName}: <strong>${formatFn ? formatFn(value) : value}</strong>`;
361
+ }).join("<br/>")}`;
362
+ }
363
+ },
364
+ backgroundColor: "transparent",
365
+ toolbox: { show: false },
366
+ xAxis: {
367
+ name: xAxisName,
368
+ nameLocation: "middle",
369
+ nameGap: 30,
370
+ type: "time",
371
+ splitLine: { show: false },
372
+ axisLine: { show: false },
373
+ splitNumber: xAxisTickCount ?? 5,
374
+ ...xAxisTickFormat && { axisLabel: { formatter: (value) => xAxisTickFormat(value) } }
375
+ },
376
+ yAxis: {
377
+ name: yAxisName,
378
+ nameLocation: "middle",
379
+ nameGap: 40,
380
+ type: "value",
381
+ axisTick: { show: true },
382
+ axisLabel: {
383
+ margin: 15,
384
+ ...yAxisTickFormat && { formatter: (value) => yAxisTickFormat(value) }
385
+ },
386
+ splitLine: {
387
+ show: true,
388
+ lineStyle: {
389
+ type: "dashed",
390
+ width: 1
391
+ }
392
+ },
393
+ splitNumber: yAxisTickCount
394
+ },
395
+ grid: {
396
+ left: yAxisName ? 30 : 24,
397
+ right: 24,
398
+ top: 24,
399
+ bottom: xAxisName ? 30 : 24
400
+ },
401
+ series: transformSeries
402
+ };
403
+ }, [
404
+ data,
405
+ xAxisName,
406
+ xAxisTickCount,
407
+ xAxisTickFormat,
408
+ yAxisTickFormat,
409
+ yAxisTickLabelFormat,
410
+ yAxisName,
411
+ yAxisTickCount,
412
+ tooltipValueFormat,
413
+ incompleteBefore,
414
+ incompleteAfter,
415
+ type,
416
+ gradient,
417
+ echarts,
418
+ ariaDescription
419
+ ]);
420
+ const events = useMemo(() => {
421
+ if (!onTimeRangeChange) return {};
422
+ return { brushend: (params) => {
423
+ const range = params.areas[0].coordRange;
424
+ onTimeRangeChange(range[0], range[1]);
425
+ chartRef.current?.dispatchAction({
426
+ type: "brush",
427
+ areas: []
428
+ });
429
+ } };
430
+ }, [onTimeRangeChange]);
431
+ const hasTimeRangeCallback = !!onTimeRangeChange;
432
+ useEffect(() => {
433
+ const chart = chartRef.current;
434
+ if (chart && hasTimeRangeCallback) {
435
+ chart.dispatchAction({
436
+ type: "takeGlobalCursor",
437
+ key: "brush",
438
+ brushOption: {
439
+ brushType: "lineX",
440
+ brushMode: "single"
441
+ }
442
+ });
443
+ return () => {
444
+ chart.dispatchAction({
445
+ type: "takeGlobalCursor",
446
+ key: "brush",
447
+ brushOption: { brushType: false }
448
+ });
449
+ };
450
+ }
451
+ }, [
452
+ chartRef,
453
+ hasTimeRangeCallback,
454
+ loading
455
+ ]);
456
+ return /* @__PURE__ */ jsxs("div", {
457
+ className: "relative w-full",
458
+ style: { height },
459
+ children: [loading && /* @__PURE__ */ jsx(ChartWaveLoader, {
460
+ height,
461
+ isDarkMode
462
+ }), !loading && /* @__PURE__ */ jsx(Chart, {
463
+ echarts,
464
+ ref: chartRef,
465
+ options,
466
+ height,
467
+ isDarkMode,
468
+ onEvents: events
469
+ })]
470
+ });
471
+ }
472
+ /**
473
+ * Animated sine-wave skeleton shown while `TimeseriesChart` is in `loading` state.
474
+ * Renders multiple staggered wave paths that sweep continuously left-to-right,
475
+ * mimicking the motion of live time-series data being drawn.
476
+ */
477
+ function ChartWaveLoader({ height, isDarkMode }) {
478
+ const mid = height / 2;
479
+ const amp = Math.min(height * .12, 28);
480
+ const period = 400;
481
+ const steps = 120;
482
+ const points = [];
483
+ for (let i = 0; i <= steps; i++) {
484
+ const x = -period + i / steps * period * 3;
485
+ const y = mid + Math.sin(i / steps * 2 * Math.PI * 3) * amp;
486
+ points.push(`${i === 0 ? "M" : "L"}${x.toFixed(2)},${y.toFixed(2)}`);
487
+ }
488
+ const d = points.join(" ");
489
+ const strokeColor = isDarkMode ? "rgba(255,255,255,0.5)" : "rgba(0,0,0,0.2)";
490
+ return /* @__PURE__ */ jsxs("div", {
491
+ "aria-hidden": "true",
492
+ className: "absolute inset-0 overflow-hidden",
493
+ style: { height },
494
+ children: [/* @__PURE__ */ jsx("style", { children: `@keyframes sf-chart-wave{from{transform:translateX(0)}to{transform:translateX(${period}px)}}` }), /* @__PURE__ */ jsx("svg", {
495
+ width: "100%",
496
+ height,
497
+ viewBox: `0 0 ${period} ${height}`,
498
+ preserveAspectRatio: "none",
499
+ className: "w-full animate-pulse",
500
+ children: /* @__PURE__ */ jsx("path", {
501
+ d,
502
+ fill: "none",
503
+ stroke: strokeColor,
504
+ strokeWidth: "2",
505
+ style: {
506
+ animation: `sf-chart-wave 2.4s linear infinite`,
507
+ transformOrigin: "0 0"
508
+ }
509
+ })
510
+ })]
511
+ });
512
+ }
513
+ /**
514
+ * Returns an `rgba(r, g, b, alpha)` string for any hex or rgb(a) color input,
515
+ * replacing whatever opacity was already present with the given `alpha` (0–1).
516
+ *
517
+ * Handles:
518
+ * - 6-digit hex: `#RRGGBB`
519
+ * - 8-digit hex: `#RRGGBBAA` ← strips existing alpha
520
+ * - 3-digit hex: `#RGB`
521
+ * - `rgb(r, g, b)`
522
+ * - `rgba(r, g, b, a)` ← replaces existing alpha
523
+ */
524
+ function colorWithOpacity(color, alpha) {
525
+ const a = Math.max(0, Math.min(1, alpha));
526
+ const rgbMatch = color.match(/rgba?\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)/i);
527
+ if (rgbMatch) return `rgba(${rgbMatch[1]}, ${rgbMatch[2]}, ${rgbMatch[3]}, ${a})`;
528
+ let hex = color.replace(/^#/, "");
529
+ if (hex.length === 3) hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];
530
+ if (hex.length === 8) hex = hex.slice(0, 6);
531
+ return `rgba(${Number.parseInt(hex.slice(0, 2), 16)}, ${Number.parseInt(hex.slice(2, 4), 16)}, ${Number.parseInt(hex.slice(4, 6), 16)}, ${a})`;
532
+ }
533
+ /** Zero-pads a number to two digits (e.g. `5` → `"05"`) */
534
+ function pad(n) {
535
+ return n.toString().padStart(2, "0");
536
+ }
537
+ /**
538
+ * Formats a timestamp as `"YYYY-MM-DD HH:mm:ss"` for use in chart tooltips.
539
+ * Accepts a Unix timestamp in milliseconds, an ISO date string, or a `Date` object.
540
+ */
541
+ function formatTimestamp(ts) {
542
+ const d = new Date(ts);
543
+ return `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())} ${pad(d.getHours())}:${pad(d.getMinutes())}:${pad(d.getSeconds())}`;
544
+ }
545
+ //#endregion
546
+ //#region src/components/chart/legend.tsx
547
+ /**
548
+ * Large legend item — stacked layout with a colored dot + series name on top
549
+ * and a large value with an optional small unit below. Use for prominent
550
+ * single-metric displays such as dashboard cards.
551
+ */
552
+ function LargeItem({ color, value, name, unit, inactive }) {
553
+ return /* @__PURE__ */ jsxs("div", {
554
+ className: "inline-flex flex-col gap-2 min-w-42 py-2",
555
+ children: [/* @__PURE__ */ jsxs("div", {
556
+ className: "flex items-center gap-2",
557
+ children: [/* @__PURE__ */ jsx("span", {
558
+ className: cn("size-2 rounded-full inline-block", { "opacity-50": inactive }),
559
+ style: { backgroundColor: color }
560
+ }), /* @__PURE__ */ jsx("span", {
561
+ className: cn("text-xs", { "opacity-50": inactive }),
562
+ children: name
563
+ })]
564
+ }), /* @__PURE__ */ jsxs("div", {
565
+ className: "flex items-baseline gap-0.5",
566
+ children: [/* @__PURE__ */ jsx("span", {
567
+ className: cn("text-lg font-medium leading-none", { "opacity-50": inactive }),
568
+ children: value
569
+ }), unit && /* @__PURE__ */ jsx("span", {
570
+ className: cn("text-xs text-sf-subtle leading-none", { "opacity-50": inactive }),
571
+ children: unit
572
+ })]
573
+ })]
574
+ });
575
+ }
576
+ /**
577
+ * Small legend item — inline layout with a colored dot, series name, and value
578
+ * on a single row. Use for compact legends below or beside a chart.
579
+ */
580
+ function SmallItem({ color, value, name, inactive }) {
581
+ return /* @__PURE__ */ jsxs("div", {
582
+ className: "inline-flex items-center gap-2",
583
+ children: [
584
+ /* @__PURE__ */ jsx("span", {
585
+ className: cn("size-2 rounded-full inline-block", { "opacity-50": inactive }),
586
+ style: { backgroundColor: color }
587
+ }),
588
+ /* @__PURE__ */ jsx("span", {
589
+ className: cn("text-xs", { "opacity-50": inactive }),
590
+ children: name
591
+ }),
592
+ /* @__PURE__ */ jsx("span", {
593
+ className: cn("text-xs font-medium", { "opacity-50": inactive }),
594
+ children: value
595
+ })
596
+ ]
597
+ });
598
+ }
599
+ /**
600
+ * ChartLegend — pre-built legend item components for use alongside a chart.
601
+ *
602
+ * - `ChartLegend.SmallItem` — compact inline layout; suited for multi-series legends
603
+ * - `ChartLegend.LargeItem` — stacked layout with a large value; suited for single-metric cards
604
+ *
605
+ * @example
606
+ * ```tsx
607
+ * <ChartLegend.SmallItem name="Requests" color="#086FFF" value="1,234" />
608
+ * <ChartLegend.LargeItem name="Latency" color="#CF7EE9" value="42" unit="ms" inactive />
609
+ * ```
610
+ */
611
+ var ChartLegend = {
612
+ SmallItem,
613
+ LargeItem
614
+ };
615
+ //#endregion
616
+ export { ChartPalette as i, TimeseriesChart as n, Chart as r, ChartLegend as t };
617
+
618
+ //# sourceMappingURL=chart-Bes4MN3C.js.map