@exegia/corpora-ui 0.29.0 → 1.0.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 (704) hide show
  1. package/README.md +33 -11
  2. package/dist-lib/index.js +13006 -7914
  3. package/dist-lib/index.js.map +1 -1
  4. package/dist-lib/src/components/atoms/_layout.d.ts +4 -0
  5. package/dist-lib/src/components/atoms/avatar/base.d.ts +2 -0
  6. package/dist-lib/src/components/atoms/avatar/index.d.ts +2 -0
  7. package/dist-lib/src/components/atoms/avatar/types.d.ts +20 -0
  8. package/dist-lib/src/components/atoms/avatar/utils.d.ts +13 -0
  9. package/dist-lib/src/components/atoms/avatar/verified.d.ts +1 -0
  10. package/dist-lib/src/components/atoms/background/index.d.ts +6 -0
  11. package/dist-lib/src/components/atoms/background/texture.d.ts +2 -0
  12. package/dist-lib/src/components/atoms/background/type.d.ts +7 -0
  13. package/dist-lib/src/components/atoms/background/utils.d.ts +4 -0
  14. package/dist-lib/src/components/atoms/bubble/actions.d.ts +7 -0
  15. package/dist-lib/src/components/atoms/bubble/context.d.ts +4 -0
  16. package/dist-lib/src/components/atoms/bubble/default.d.ts +3 -0
  17. package/dist-lib/src/components/atoms/bubble/header.d.ts +8 -0
  18. package/dist-lib/src/components/atoms/bubble/index.d.ts +16 -0
  19. package/dist-lib/src/components/atoms/bubble/message.d.ts +3 -0
  20. package/dist-lib/src/components/atoms/bubble/reactions.d.ts +14 -0
  21. package/dist-lib/src/components/atoms/bubble/types.d.ts +59 -0
  22. package/dist-lib/src/components/atoms/bubble/utils.d.ts +13 -0
  23. package/dist-lib/src/components/atoms/chip.d.ts +15 -0
  24. package/dist-lib/src/components/atoms/index.d.ts +15 -0
  25. package/dist-lib/src/components/atoms/loader.d.ts +8 -0
  26. package/dist-lib/src/components/atoms/reference.d.ts +7 -0
  27. package/dist-lib/src/components/atoms/text/default.d.ts +1144 -0
  28. package/dist-lib/src/components/atoms/text/heading.d.ts +4 -0
  29. package/dist-lib/src/components/atoms/text/index.d.ts +21 -0
  30. package/dist-lib/src/components/atoms/text/label.d.ts +2 -0
  31. package/dist-lib/src/components/atoms/text/paragraph.d.ts +4 -0
  32. package/dist-lib/src/components/atoms/text/span.d.ts +3 -0
  33. package/dist-lib/src/components/atoms/text/types.d.ts +23 -0
  34. package/dist-lib/src/components/atoms/text/utils.d.ts +4 -0
  35. package/dist-lib/src/components/atoms/text-selection/click-popover.d.ts +3 -0
  36. package/dist-lib/src/components/atoms/text-selection/index.d.ts +6 -0
  37. package/dist-lib/src/components/atoms/text-selection/popover.d.ts +3 -0
  38. package/dist-lib/src/components/atoms/text-selection/selection-atom.d.ts +30 -0
  39. package/dist-lib/src/components/atoms/text-selection/selection.d.ts +3 -0
  40. package/dist-lib/src/components/atoms/text-selection/types.d.ts +90 -0
  41. package/dist-lib/src/components/atoms/text-selection/use-selection.d.ts +7 -0
  42. package/dist-lib/src/components/atoms/types.d.ts +17 -0
  43. package/dist-lib/src/components/blocks/auth/auth-flow-block.story.d.ts +3 -0
  44. package/dist-lib/src/components/blocks/auth/code-auth-block.story.d.ts +3 -0
  45. package/dist-lib/src/components/blocks/auth/forgot-password-block.story.d.ts +3 -0
  46. package/dist-lib/src/components/blocks/auth/linked-accounts-block.story.d.ts +3 -0
  47. package/dist-lib/src/components/blocks/auth/login-block.story.d.ts +3 -0
  48. package/dist-lib/src/components/blocks/auth/onboarding-block.story.d.ts +3 -0
  49. package/dist-lib/src/components/blocks/auth/passkey-manager-block.story.d.ts +3 -0
  50. package/dist-lib/src/components/blocks/auth/passkey-sign-in-block.story.d.ts +3 -0
  51. package/dist-lib/src/components/blocks/auth/signup-block.story.d.ts +3 -0
  52. package/dist-lib/src/components/blocks/auth/update-password-block.story.d.ts +3 -0
  53. package/dist-lib/src/components/blocks/chat/banners.d.ts +13 -0
  54. package/dist-lib/src/components/blocks/chat/base.d.ts +10 -0
  55. package/dist-lib/src/components/blocks/chat/base.story.d.ts +3 -0
  56. package/dist-lib/src/components/blocks/chat/header.d.ts +4 -0
  57. package/dist-lib/src/components/blocks/chat/index.d.ts +13 -0
  58. package/dist-lib/src/components/blocks/chat/recommendation-stack.d.ts +13 -0
  59. package/dist-lib/src/components/blocks/chat/shared.d.ts +8 -0
  60. package/dist-lib/src/components/blocks/chat/suggested-prompts.d.ts +3 -0
  61. package/dist-lib/src/components/blocks/chat/types.d.ts +64 -0
  62. package/dist-lib/src/components/blocks/chat/version-history-record.d.ts +3 -0
  63. package/dist-lib/{components → src/components}/blocks/profile/profile-card-block.d.ts +2 -7
  64. package/dist-lib/src/components/blocks/profile/profile-card-block.story.d.ts +3 -0
  65. package/dist-lib/{components → src/components}/blocks/profile/type.d.ts +2 -2
  66. package/dist-lib/src/components/blocks/scaffold/scaffold-root.story.d.ts +3 -0
  67. package/dist-lib/src/components/blocks/shell/shell-layout.story.d.ts +3 -0
  68. package/dist-lib/src/components/composed/action-bar/action.d.ts +18 -0
  69. package/dist-lib/src/components/composed/action-bar/emojis.d.ts +10 -0
  70. package/dist-lib/src/components/composed/action-bar/index.d.ts +12 -0
  71. package/dist-lib/src/components/composed/action-bar/toolbar.d.ts +2 -0
  72. package/dist-lib/src/components/composed/action-bar/types.d.ts +55 -0
  73. package/dist-lib/src/components/composed/action-bar/utils.d.ts +57 -0
  74. package/dist-lib/src/components/composed/ai/avatar.d.ts +1 -0
  75. package/dist-lib/src/components/composed/ai/index.d.ts +17 -0
  76. package/dist-lib/src/components/composed/ai/message.d.ts +7 -0
  77. package/dist-lib/src/components/composed/ai/research-answer.d.ts +30 -0
  78. package/dist-lib/src/components/composed/ai/shared.d.ts +19 -0
  79. package/dist-lib/src/components/composed/ai/streaming-text.d.ts +26 -0
  80. package/dist-lib/src/components/composed/ai/suggested-prompt.d.ts +35 -0
  81. package/dist-lib/src/components/composed/ai/types.d.ts +66 -0
  82. package/dist-lib/src/components/composed/attachment.story.d.ts +3 -0
  83. package/dist-lib/src/components/composed/chart.story.d.ts +3 -0
  84. package/dist-lib/src/components/composed/chat/__tests__/attachment.test.d.ts +1 -0
  85. package/dist-lib/src/components/composed/chat/__tests__/beautiful-ui.test.d.ts +1 -0
  86. package/dist-lib/src/components/composed/chat/__tests__/chart.test.d.ts +1 -0
  87. package/dist-lib/src/components/composed/chat/__tests__/code-block.test.d.ts +1 -0
  88. package/dist-lib/src/components/composed/chat/__tests__/composer-attachments.test.d.ts +1 -0
  89. package/dist-lib/src/components/composed/chat/__tests__/composer.test.d.ts +1 -0
  90. package/dist-lib/src/components/composed/chat/__tests__/flowchart.test.d.ts +1 -0
  91. package/dist-lib/src/components/composed/chat/__tests__/markdown.test.d.ts +1 -0
  92. package/dist-lib/src/components/composed/chat/actions.d.ts +2 -0
  93. package/dist-lib/src/components/composed/chat/attachment.d.ts +62 -0
  94. package/dist-lib/src/components/composed/chat/chart.d.ts +41 -0
  95. package/dist-lib/src/components/composed/chat/code-block.d.ts +26 -0
  96. package/dist-lib/src/components/composed/chat/composer/add-button.d.ts +5 -0
  97. package/dist-lib/src/components/composed/chat/composer/base.d.ts +8 -0
  98. package/dist-lib/src/components/composed/chat/composer/command-menu.d.ts +2 -0
  99. package/dist-lib/src/components/composed/chat/composer/hooks.d.ts +9 -0
  100. package/dist-lib/src/components/composed/chat/composer/index.d.ts +10 -0
  101. package/dist-lib/src/components/composed/chat/composer/send-button.d.ts +3 -0
  102. package/dist-lib/src/components/composed/chat/composer/suggestions.d.ts +7 -0
  103. package/dist-lib/src/components/composed/chat/composer/utils.d.ts +19 -0
  104. package/dist-lib/src/components/composed/chat/context-cards.d.ts +27 -0
  105. package/dist-lib/src/components/composed/chat/filter-table.d.ts +40 -0
  106. package/dist-lib/src/components/composed/chat/flowchart/chart-node.d.ts +2 -0
  107. package/dist-lib/src/components/composed/chat/flowchart/connector.d.ts +2 -0
  108. package/dist-lib/src/components/composed/chat/flowchart/constant.d.ts +15 -0
  109. package/dist-lib/src/components/composed/chat/flowchart/default.d.ts +7 -0
  110. package/dist-lib/src/components/composed/chat/flowchart/edge-toolbar.d.ts +9 -0
  111. package/dist-lib/src/components/composed/chat/flowchart/hooks.d.ts +290 -0
  112. package/dist-lib/src/components/composed/chat/flowchart/index.d.ts +11 -0
  113. package/dist-lib/src/components/composed/chat/flowchart/step-body.d.ts +6 -0
  114. package/dist-lib/src/components/composed/chat/flowchart/types.d.ts +91 -0
  115. package/dist-lib/src/components/composed/chat/flowchart/utils.d.ts +64 -0
  116. package/dist-lib/src/components/composed/chat/hint.d.ts +6 -0
  117. package/dist-lib/src/components/composed/chat/index.d.ts +15 -0
  118. package/dist-lib/src/components/composed/chat/insight-cards.d.ts +54 -0
  119. package/dist-lib/src/components/composed/chat/markdown-atom.d.ts +7 -0
  120. package/dist-lib/src/components/composed/chat/markdown.d.ts +22 -0
  121. package/dist-lib/src/components/composed/chat/recommendation/checkbox.d.ts +15 -0
  122. package/dist-lib/src/components/composed/chat/recommendation/constant.d.ts +6 -0
  123. package/dist-lib/src/components/composed/chat/recommendation/default.d.ts +7 -0
  124. package/dist-lib/src/components/composed/chat/recommendation/group.d.ts +8 -0
  125. package/dist-lib/src/components/composed/chat/recommendation/index.d.ts +15 -0
  126. package/dist-lib/src/components/composed/chat/recommendation/item.d.ts +12 -0
  127. package/dist-lib/src/components/composed/chat/recommendation/types.d.ts +53 -0
  128. package/dist-lib/src/components/composed/chat/records-table.d.ts +38 -0
  129. package/dist-lib/src/components/composed/chat/type.d.ts +86 -0
  130. package/dist-lib/src/components/composed/code-block.story.d.ts +3 -0
  131. package/dist-lib/src/components/composed/context-cards.story.d.ts +3 -0
  132. package/dist-lib/src/components/composed/emoji-action-bar.story.d.ts +3 -0
  133. package/dist-lib/src/components/composed/filter-table.story.d.ts +7 -0
  134. package/dist-lib/src/components/composed/flowchart.story.d.ts +3 -0
  135. package/dist-lib/src/components/composed/insight-cards.story.d.ts +3 -0
  136. package/dist-lib/src/components/composed/logo.story.d.ts +3 -0
  137. package/dist-lib/src/components/composed/markdown.story.d.ts +3 -0
  138. package/dist-lib/src/components/composed/password-input.story.d.ts +7 -0
  139. package/dist-lib/src/components/composed/reader/applied-mark.d.ts +3 -0
  140. package/dist-lib/src/components/composed/reader/apply-toast.d.ts +3 -0
  141. package/dist-lib/src/components/composed/reader/index.d.ts +7 -0
  142. package/dist-lib/src/components/composed/reader/selection-highlight.d.ts +3 -0
  143. package/dist-lib/src/components/composed/reader/selection-popover.d.ts +9 -0
  144. package/dist-lib/src/components/composed/reader/type.d.ts +40 -0
  145. package/dist-lib/src/components/composed/recommendation-card.story.d.ts +3 -0
  146. package/dist-lib/src/components/composed/records-table.story.d.ts +3 -0
  147. package/dist-lib/src/components/composed/research-answer.story.d.ts +3 -0
  148. package/dist-lib/src/components/composed/social-providers.story.d.ts +3 -0
  149. package/dist-lib/src/components/composed/streaming-text.story.d.ts +3 -0
  150. package/dist-lib/src/components/composed/tree/__tests__/tree-atom.test.d.ts +1 -0
  151. package/dist-lib/src/components/composed/tree/__tests__/tree.test.d.ts +1 -0
  152. package/dist-lib/src/components/composed/tree/__tests__/use-tree.test.d.ts +1 -0
  153. package/dist-lib/src/components/composed/tree.story.d.ts +6 -0
  154. package/dist-lib/src/components/composed/user/index.d.ts +11 -0
  155. package/dist-lib/src/components/composed/user/info.d.ts +12 -0
  156. package/dist-lib/src/components/composed/user/message.d.ts +3 -0
  157. package/dist-lib/src/components/composed/user/pill.d.ts +10 -0
  158. package/dist-lib/src/components/composed/user/types.d.ts +20 -0
  159. package/dist-lib/src/components/composed/user/utils.d.ts +1 -0
  160. package/dist-lib/src/components/composed/user.story.d.ts +8 -0
  161. package/dist-lib/src/components/composed/verse/__tests__/verse.test.d.ts +1 -0
  162. package/dist-lib/src/components/composed/verse/index.d.ts +2 -0
  163. package/dist-lib/src/components/composed/verse/types.d.ts +18 -0
  164. package/dist-lib/src/components/composed/verse/verse.d.ts +5 -0
  165. package/dist-lib/src/components/composed/verse.story.d.ts +3 -0
  166. package/dist-lib/src/components/docs/atoms-gallery.d.ts +3 -0
  167. package/dist-lib/{components → src/components}/docs/demo-controls.d.ts +3 -10
  168. package/dist-lib/src/components/docs/hero.d.ts +5 -0
  169. package/dist-lib/src/components/docs/mermaid.d.ts +3 -0
  170. package/dist-lib/src/components/icons/__tests__/icons.test.d.ts +1 -0
  171. package/dist-lib/src/components/motion/index.d.ts +1 -0
  172. package/dist-lib/src/components/ui/accordion.d.ts +7 -0
  173. package/dist-lib/src/components/ui/alert-dialog.d.ts +20 -0
  174. package/dist-lib/src/components/ui/alert.d.ts +10 -0
  175. package/dist-lib/src/components/ui/autocomplete.d.ts +34 -0
  176. package/dist-lib/src/components/ui/avatar.d.ts +11 -0
  177. package/dist-lib/src/components/ui/avatar.story.d.ts +7 -0
  178. package/dist-lib/src/components/ui/badge.d.ts +14 -0
  179. package/dist-lib/src/components/ui/bubble.story.d.ts +7 -0
  180. package/dist-lib/{components → src/components}/ui/button.d.ts +1 -1
  181. package/dist-lib/src/components/ui/button.story.d.ts +8 -0
  182. package/dist-lib/src/components/ui/card.story.d.ts +9 -0
  183. package/dist-lib/src/components/ui/chat/__tests__/segmented-toggle.test.d.ts +1 -0
  184. package/dist-lib/src/components/ui/chat/avatar-handle.d.ts +13 -0
  185. package/dist-lib/src/components/ui/chat/badges.d.ts +29 -0
  186. package/dist-lib/src/components/ui/chat/buttons.d.ts +29 -0
  187. package/dist-lib/src/components/ui/chat/chips.d.ts +48 -0
  188. package/dist-lib/src/components/ui/chat/dot.d.ts +30 -0
  189. package/dist-lib/src/components/ui/chat/icon-button.d.ts +18 -0
  190. package/dist-lib/src/components/ui/chat/icon-tile.d.ts +20 -0
  191. package/dist-lib/src/components/ui/chat/index.d.ts +12 -0
  192. package/dist-lib/src/components/ui/chat/inline-source.d.ts +20 -0
  193. package/dist-lib/src/components/ui/chat/segmented-toggle.d.ts +20 -0
  194. package/dist-lib/src/components/ui/chat/tag.d.ts +21 -0
  195. package/dist-lib/src/components/ui/chat/thumbnail.d.ts +13 -0
  196. package/dist-lib/src/components/ui/chat/waveform.d.ts +13 -0
  197. package/dist-lib/src/components/ui/chat-atoms.story.d.ts +22 -0
  198. package/dist-lib/src/components/ui/checkbox.story.d.ts +7 -0
  199. package/dist-lib/src/components/ui/collapsible.d.ts +6 -0
  200. package/dist-lib/src/components/ui/command.d.ts +25 -0
  201. package/dist-lib/src/components/ui/context-menu.d.ts +42 -0
  202. package/dist-lib/src/components/ui/emoji-picker.d.ts +7 -0
  203. package/dist-lib/src/components/ui/field.story.d.ts +7 -0
  204. package/dist-lib/src/components/ui/file-icons.story.d.ts +7 -0
  205. package/dist-lib/src/components/ui/frame.story.d.ts +9 -0
  206. package/dist-lib/{components → src/components}/ui/glasscn/glass-container.d.ts +7 -2
  207. package/dist-lib/src/components/ui/input-group.story.d.ts +7 -0
  208. package/dist-lib/src/components/ui/input.story.d.ts +9 -0
  209. package/dist-lib/src/components/ui/kbd.d.ts +3 -0
  210. package/dist-lib/src/components/ui/label.story.d.ts +9 -0
  211. package/dist-lib/src/components/ui/menu-command.d.ts +37 -0
  212. package/dist-lib/src/components/ui/menu-command.story.d.ts +7 -0
  213. package/dist-lib/src/components/ui/otp-field.story.d.ts +9 -0
  214. package/dist-lib/src/components/ui/password-input.story.d.ts +3 -0
  215. package/dist-lib/src/components/ui/popover-glass.d.ts +32 -0
  216. package/dist-lib/src/components/ui/popover.d.ts +18 -0
  217. package/dist-lib/src/components/ui/preview-card.d.ts +11 -0
  218. package/dist-lib/src/components/ui/reference.story.d.ts +10 -0
  219. package/dist-lib/src/components/ui/scroll-area.d.ts +11 -0
  220. package/dist-lib/{components → src/components}/ui/select.d.ts +1 -1
  221. package/dist-lib/src/components/ui/separator.story.d.ts +7 -0
  222. package/dist-lib/src/components/ui/tabs.d.ts +15 -0
  223. package/dist-lib/src/components/ui/text.story.d.ts +9 -0
  224. package/dist-lib/src/components/ui/textarea.story.d.ts +7 -0
  225. package/dist-lib/src/components/ui/toast.d.ts +15 -0
  226. package/dist-lib/src/components/ui/toolbar.d.ts +9 -0
  227. package/dist-lib/src/components/ui/tooltip.d.ts +14 -0
  228. package/dist-lib/{index.d.ts → src/index.d.ts} +13 -4
  229. package/dist-lib/{lib → src/lib}/ease.d.ts +9 -0
  230. package/dist-lib/src/lib/hooks/use-mobile.d.ts +1 -0
  231. package/dist-lib/src/lib/keyed-atom.d.ts +14 -0
  232. package/dist-lib/src/lib/segmented-control.d.ts +8 -0
  233. package/dist-lib/src/lib/utils.test.d.ts +1 -0
  234. package/package.json +40 -21
  235. package/src/assets/css/base.css +62 -0
  236. package/src/assets/css/chat.css +229 -0
  237. package/src/assets/css/shadows.css +157 -0
  238. package/src/assets/css/theme.css +321 -0
  239. package/src/components/AGENTS.md +0 -0
  240. package/src/components/atoms/_layout.tsx +9 -0
  241. package/src/components/atoms/avatar/base.tsx +70 -0
  242. package/src/components/atoms/avatar/index.ts +3 -0
  243. package/src/components/atoms/avatar/types.ts +24 -0
  244. package/src/components/atoms/avatar/utils.ts +54 -0
  245. package/src/components/atoms/avatar/verified.tsx +16 -0
  246. package/src/components/atoms/background/index.ts +8 -0
  247. package/src/components/atoms/background/texture.tsx +29 -0
  248. package/src/components/atoms/background/type.ts +10 -0
  249. package/src/components/atoms/background/utils.ts +13 -0
  250. package/src/components/atoms/bubble/__tests__/bubble.test.tsx +138 -0
  251. package/src/components/atoms/bubble/__tests__/reference.test.tsx +25 -0
  252. package/src/components/atoms/bubble/actions.tsx +28 -0
  253. package/src/components/atoms/bubble/context.ts +11 -0
  254. package/src/components/atoms/bubble/default.tsx +46 -0
  255. package/src/components/atoms/bubble/header.tsx +34 -0
  256. package/src/components/atoms/bubble/index.ts +37 -0
  257. package/src/components/atoms/bubble/message.tsx +25 -0
  258. package/src/components/atoms/bubble/reactions.tsx +194 -0
  259. package/src/components/atoms/bubble/types.ts +79 -0
  260. package/src/components/atoms/bubble/utils.ts +46 -0
  261. package/src/components/atoms/chip.tsx +61 -0
  262. package/src/components/atoms/index.ts +52 -0
  263. package/src/components/atoms/loader.tsx +42 -0
  264. package/src/components/atoms/reference.tsx +41 -0
  265. package/src/components/atoms/text/__tests__/text.test.tsx +47 -0
  266. package/src/components/atoms/text/default.tsx +59 -0
  267. package/src/components/atoms/text/heading.tsx +61 -0
  268. package/src/components/atoms/text/index.ts +24 -0
  269. package/src/components/atoms/text/label.tsx +16 -0
  270. package/src/components/atoms/text/paragraph.tsx +58 -0
  271. package/src/components/atoms/text/span.tsx +15 -0
  272. package/src/components/atoms/text/types.ts +31 -0
  273. package/src/components/atoms/text/utils.ts +16 -0
  274. package/src/components/atoms/text-selection/__tests__/click-popover.test.tsx +61 -0
  275. package/src/components/atoms/text-selection/__tests__/text-selection.test.tsx +90 -0
  276. package/src/components/atoms/text-selection/click-popover.tsx +62 -0
  277. package/src/components/atoms/text-selection/index.ts +30 -0
  278. package/src/components/atoms/text-selection/popover.tsx +100 -0
  279. package/src/components/atoms/text-selection/selection-atom.ts +51 -0
  280. package/src/components/atoms/text-selection/selection.tsx +56 -0
  281. package/src/components/atoms/text-selection/types.ts +125 -0
  282. package/src/components/atoms/text-selection/use-selection.ts +84 -0
  283. package/src/components/atoms/types.ts +18 -0
  284. package/src/components/blocks/auth/__tests__/auth-flow-block.test.tsx +1 -1
  285. package/src/components/blocks/auth/__tests__/auth-state-atom.test.tsx +1 -1
  286. package/src/components/blocks/auth/auth-flow-block.story.tsx +17 -0
  287. package/src/components/blocks/auth/code-auth-block.story.tsx +20 -0
  288. package/src/components/blocks/auth/forgot-password-block.story.tsx +14 -0
  289. package/src/components/blocks/auth/linked-accounts-block.story.tsx +23 -0
  290. package/src/components/blocks/auth/linked-accounts-block.tsx +1 -1
  291. package/src/components/blocks/auth/login-block.story.tsx +18 -0
  292. package/src/components/blocks/auth/onboarding/profile-step.tsx +1 -1
  293. package/src/components/blocks/auth/onboarding-block.story.tsx +14 -0
  294. package/src/components/blocks/auth/passkey-manager-block.story.tsx +18 -0
  295. package/src/components/blocks/auth/passkey-manager-block.tsx +2 -2
  296. package/src/components/blocks/auth/passkey-sign-in-block.story.tsx +14 -0
  297. package/src/components/blocks/auth/signup-block.story.tsx +18 -0
  298. package/src/components/blocks/auth/update-password-block.story.tsx +14 -0
  299. package/src/components/blocks/chat/__tests__/ai-panel.test.tsx +65 -0
  300. package/src/components/blocks/chat/banners.tsx +69 -0
  301. package/src/components/blocks/chat/base.story.tsx +19 -0
  302. package/src/components/blocks/chat/base.tsx +84 -0
  303. package/src/components/blocks/chat/header.tsx +60 -0
  304. package/src/components/blocks/chat/index.ts +39 -0
  305. package/src/components/blocks/chat/recommendation-stack.tsx +43 -0
  306. package/src/components/blocks/chat/shared.tsx +27 -0
  307. package/src/components/blocks/chat/suggested-prompts.tsx +45 -0
  308. package/src/components/blocks/chat/types.ts +81 -0
  309. package/src/components/blocks/chat/version-history-record.tsx +37 -0
  310. package/src/components/blocks/nav/sidebar/__tests__/ai-sidebar-atom.test.tsx +1 -1
  311. package/src/components/blocks/nav/sidebar/sidebar-row.tsx +2 -2
  312. package/src/components/blocks/nav/sidebar/use-ai-sidebar.ts +193 -190
  313. package/src/components/blocks/profile/__tests__/profile-card-block.test.tsx +208 -176
  314. package/src/components/blocks/profile/profile-card-block.story.tsx +18 -0
  315. package/src/components/blocks/profile/profile-card-block.tsx +15 -17
  316. package/src/components/blocks/profile/type.ts +3 -5
  317. package/src/components/blocks/profile/use-profile-card.ts +17 -11
  318. package/src/components/blocks/scaffold/scaffold-canvas.tsx +4 -1
  319. package/src/components/blocks/scaffold/scaffold-root.story.tsx +36 -0
  320. package/src/components/blocks/scaffold/scaffold-root.tsx +9 -6
  321. package/src/components/blocks/scaffold/utils.ts +1 -1
  322. package/src/components/blocks/shell/__tests__/shell-fit-atom.test.tsx +4 -4
  323. package/src/components/blocks/shell/__tests__/shell-layout.test.tsx +3 -3
  324. package/src/components/blocks/shell/animated-panel-inset.tsx +1 -1
  325. package/src/components/blocks/shell/shell-layout.story.tsx +19 -0
  326. package/src/components/blocks/shell/shell-layout.tsx +1 -1
  327. package/src/components/blocks/shell/use-shell-fit-state.ts +2 -2
  328. package/src/components/blocks/shell/use-shell-fit.ts +2 -2
  329. package/src/components/blocks/shell/use-shell-panels.ts +3 -3
  330. package/src/components/composed/action-bar/__tests__/action-bar.test.tsx +96 -0
  331. package/src/components/composed/action-bar/action.tsx +80 -0
  332. package/src/components/composed/action-bar/emojis.tsx +97 -0
  333. package/src/components/composed/action-bar/index.ts +24 -0
  334. package/src/components/composed/action-bar/toolbar.tsx +60 -0
  335. package/src/components/composed/action-bar/types.ts +58 -0
  336. package/src/components/composed/action-bar/utils.ts +141 -0
  337. package/src/components/composed/ai/__tests__/ai.test.tsx +67 -0
  338. package/src/components/composed/ai/avatar.tsx +20 -0
  339. package/src/components/composed/ai/index.ts +36 -0
  340. package/src/components/composed/ai/message.tsx +49 -0
  341. package/src/components/composed/ai/research-answer.tsx +157 -0
  342. package/src/components/composed/ai/shared.tsx +94 -0
  343. package/src/components/composed/ai/streaming-text.tsx +94 -0
  344. package/src/components/composed/ai/suggested-prompt.tsx +183 -0
  345. package/src/components/composed/ai/types.ts +81 -0
  346. package/src/components/composed/attachment.story.tsx +52 -0
  347. package/src/components/composed/chart.story.tsx +46 -0
  348. package/src/components/composed/chat/__tests__/attachment.test.tsx +45 -0
  349. package/src/components/composed/chat/__tests__/beautiful-ui.test.tsx +57 -0
  350. package/src/components/composed/chat/__tests__/chart.test.tsx +29 -0
  351. package/src/components/composed/chat/__tests__/code-block.test.tsx +12 -0
  352. package/src/components/composed/chat/__tests__/composer-attachments.test.tsx +53 -0
  353. package/src/components/composed/chat/__tests__/composer.test.tsx +81 -0
  354. package/src/components/composed/chat/__tests__/flowchart.test.tsx +132 -0
  355. package/src/components/composed/chat/__tests__/markdown.test.tsx +25 -0
  356. package/src/components/composed/chat/actions.tsx +81 -0
  357. package/src/components/composed/chat/attachment.tsx +228 -0
  358. package/src/components/composed/chat/chart.tsx +193 -0
  359. package/src/components/composed/chat/code-block.tsx +123 -0
  360. package/src/components/composed/chat/composer/add-button.tsx +22 -0
  361. package/src/components/composed/chat/composer/base.tsx +248 -0
  362. package/src/components/composed/chat/composer/command-menu.tsx +42 -0
  363. package/src/components/composed/chat/composer/hooks.ts +29 -0
  364. package/src/components/composed/chat/composer/index.ts +19 -0
  365. package/src/components/composed/chat/composer/send-button.tsx +44 -0
  366. package/src/components/composed/chat/composer/suggestions.tsx +115 -0
  367. package/src/components/composed/chat/composer/utils.ts +74 -0
  368. package/src/components/composed/chat/context-cards.tsx +63 -0
  369. package/src/components/composed/chat/filter-table.tsx +119 -0
  370. package/src/components/composed/chat/flowchart/chart-node.tsx +162 -0
  371. package/src/components/composed/chat/flowchart/connector.tsx +32 -0
  372. package/src/components/composed/chat/flowchart/constant.ts +26 -0
  373. package/src/components/composed/chat/flowchart/default.tsx +230 -0
  374. package/src/components/composed/chat/flowchart/edge-toolbar.tsx +73 -0
  375. package/src/components/composed/chat/flowchart/hooks.tsx +345 -0
  376. package/src/components/composed/chat/flowchart/index.ts +14 -0
  377. package/src/components/composed/chat/flowchart/step-body.tsx +82 -0
  378. package/src/components/composed/chat/flowchart/types.ts +89 -0
  379. package/src/components/composed/chat/flowchart/utils.ts +78 -0
  380. package/src/components/composed/chat/hint.tsx +59 -0
  381. package/src/components/composed/chat/index.ts +96 -0
  382. package/src/components/composed/chat/insight-cards.tsx +199 -0
  383. package/src/components/composed/chat/markdown-atom.ts +15 -0
  384. package/src/components/composed/chat/markdown.tsx +213 -0
  385. package/src/components/composed/chat/recommendation/checkbox.tsx +133 -0
  386. package/src/components/composed/chat/recommendation/constant.ts +25 -0
  387. package/src/components/composed/chat/recommendation/default.tsx +25 -0
  388. package/src/components/composed/chat/recommendation/group.tsx +43 -0
  389. package/src/components/composed/chat/recommendation/index.ts +19 -0
  390. package/src/components/composed/chat/recommendation/item.tsx +244 -0
  391. package/src/components/composed/chat/recommendation/types.ts +65 -0
  392. package/src/components/composed/chat/records-table.tsx +128 -0
  393. package/src/components/composed/chat/type.ts +126 -0
  394. package/src/components/composed/code-block.story.tsx +29 -0
  395. package/src/components/composed/context-cards.story.tsx +30 -0
  396. package/src/components/composed/emoji-action-bar.story.tsx +20 -0
  397. package/src/components/composed/filter-table.story.tsx +58 -0
  398. package/src/components/composed/flowchart.story.tsx +24 -0
  399. package/src/components/composed/insight-cards.story.tsx +51 -0
  400. package/src/components/composed/logo.story.tsx +21 -0
  401. package/src/components/composed/logo.tsx +24 -12
  402. package/src/components/composed/markdown.story.tsx +21 -0
  403. package/src/components/composed/password-input.story.tsx +38 -0
  404. package/src/components/composed/reader/applied-mark.tsx +32 -0
  405. package/src/components/composed/reader/apply-toast.tsx +49 -0
  406. package/src/components/composed/reader/index.ts +10 -0
  407. package/src/components/composed/reader/selection-highlight.tsx +26 -0
  408. package/src/components/composed/reader/selection-popover.tsx +149 -0
  409. package/src/components/composed/reader/type.ts +48 -0
  410. package/src/components/composed/recommendation-card.story.tsx +32 -0
  411. package/src/components/composed/records-table.story.tsx +46 -0
  412. package/src/components/composed/research-answer.story.tsx +32 -0
  413. package/src/components/composed/social-providers.story.tsx +24 -0
  414. package/src/components/composed/streaming-text.story.tsx +24 -0
  415. package/src/components/composed/tree/__tests__/tree-atom.test.tsx +1 -1
  416. package/src/components/composed/tree/__tests__/tree.test.tsx +1 -1
  417. package/src/components/composed/tree/tree-node.tsx +1 -1
  418. package/src/components/composed/tree/use-tree.ts +20 -16
  419. package/src/components/composed/tree.story.tsx +31 -0
  420. package/src/components/composed/user/index.ts +14 -0
  421. package/src/components/composed/user/info.tsx +48 -0
  422. package/src/components/composed/user/message.tsx +10 -0
  423. package/src/components/composed/user/pill.tsx +20 -0
  424. package/src/components/composed/user/types.ts +27 -0
  425. package/src/components/composed/user/utils.ts +0 -0
  426. package/src/components/composed/user.story.tsx +29 -0
  427. package/src/components/composed/verse/__tests__/verse.test.tsx +57 -0
  428. package/src/components/composed/verse/index.ts +2 -0
  429. package/src/components/composed/verse/types.ts +24 -0
  430. package/src/components/composed/verse/verse.tsx +100 -0
  431. package/src/components/composed/verse.story.tsx +21 -0
  432. package/src/components/docs/atoms-gallery.tsx +286 -0
  433. package/src/components/docs/code-block.tsx +2 -0
  434. package/src/components/docs/demo-controls.tsx +20 -20
  435. package/src/components/docs/hero.tsx +198 -0
  436. package/src/components/docs/mermaid.tsx +55 -0
  437. package/src/components/ui/accordion.tsx +68 -0
  438. package/src/components/ui/alert-dialog.tsx +167 -0
  439. package/src/components/ui/alert.tsx +84 -0
  440. package/src/components/ui/autocomplete.tsx +303 -0
  441. package/src/components/ui/avatar.story.tsx +33 -0
  442. package/src/components/ui/avatar.tsx +81 -24
  443. package/src/components/ui/badge.tsx +73 -24
  444. package/src/components/ui/bubble.story.tsx +45 -0
  445. package/src/components/ui/button-group.tsx +4 -4
  446. package/src/components/ui/button.story.tsx +62 -0
  447. package/src/components/ui/button.tsx +3 -3
  448. package/src/components/ui/card.story.tsx +36 -0
  449. package/src/components/ui/card.tsx +2 -2
  450. package/src/components/ui/chat/__tests__/segmented-toggle.test.tsx +27 -0
  451. package/src/components/ui/chat/avatar-handle.tsx +30 -0
  452. package/src/components/ui/chat/badges.tsx +85 -0
  453. package/src/components/ui/chat/buttons.tsx +94 -0
  454. package/src/components/ui/chat/chips.tsx +106 -0
  455. package/src/components/ui/chat/dot.tsx +81 -0
  456. package/src/components/ui/chat/icon-button.tsx +43 -0
  457. package/src/components/ui/chat/icon-tile.tsx +33 -0
  458. package/src/components/ui/chat/index.ts +12 -0
  459. package/src/components/ui/chat/inline-source.tsx +94 -0
  460. package/src/components/ui/chat/segmented-toggle.tsx +99 -0
  461. package/src/components/ui/chat/tag.tsx +61 -0
  462. package/src/components/ui/chat/thumbnail.tsx +31 -0
  463. package/src/components/ui/chat/waveform.tsx +30 -0
  464. package/src/components/ui/chat-atoms.story.tsx +94 -0
  465. package/src/components/ui/checkbox.story.tsx +30 -0
  466. package/src/components/ui/collapsible.tsx +42 -0
  467. package/src/components/ui/command.tsx +263 -0
  468. package/src/components/ui/context-menu.tsx +342 -0
  469. package/src/components/ui/emoji-picker.tsx +161 -0
  470. package/src/components/ui/field.story.tsx +32 -0
  471. package/src/components/ui/file-icons.story.tsx +24 -0
  472. package/src/components/ui/frame.story.tsx +32 -0
  473. package/src/components/ui/frame.tsx +2 -2
  474. package/src/components/ui/glasscn/glass-container.tsx +9 -3
  475. package/src/components/ui/glasscn/liquid-glass.tsx +5 -5
  476. package/src/components/ui/group.tsx +1 -1
  477. package/src/components/ui/input-group.story.tsx +27 -0
  478. package/src/components/ui/input-group.tsx +1 -1
  479. package/src/components/ui/input.story.tsx +42 -0
  480. package/src/components/ui/input.tsx +1 -1
  481. package/src/components/ui/kbd.tsx +32 -0
  482. package/src/components/ui/label.story.tsx +32 -0
  483. package/src/components/ui/menu-command.story.tsx +37 -0
  484. package/src/components/ui/menu-command.tsx +128 -0
  485. package/src/components/ui/otp-field.story.tsx +35 -0
  486. package/src/components/ui/otp-field.tsx +1 -1
  487. package/src/components/ui/password-input.story.tsx +19 -0
  488. package/src/components/ui/popover-glass.tsx +161 -0
  489. package/src/components/ui/popover.tsx +120 -0
  490. package/src/components/ui/preview-card.tsx +61 -0
  491. package/src/components/ui/reference.story.tsx +33 -0
  492. package/src/components/ui/scroll-area.tsx +80 -0
  493. package/src/components/ui/select.tsx +1 -1
  494. package/src/components/ui/separator.story.tsx +34 -0
  495. package/src/components/ui/tabs.tsx +120 -0
  496. package/src/components/ui/text.story.tsx +31 -0
  497. package/src/components/ui/textarea.story.tsx +34 -0
  498. package/src/components/ui/textarea.tsx +1 -1
  499. package/src/components/ui/toast.tsx +325 -0
  500. package/src/components/ui/toolbar.tsx +92 -0
  501. package/src/components/ui/tooltip.tsx +40 -39
  502. package/src/index.css +6 -250
  503. package/src/index.ts +25 -31
  504. package/src/lib/ease.ts +11 -0
  505. package/src/lib/hooks/use-mobile.ts +21 -0
  506. package/src/lib/keyed-atom.ts +60 -0
  507. package/src/lib/segmented-control.ts +42 -0
  508. package/src/{state → lib/state}/exegia-provider.tsx +5 -1
  509. package/src/lib/utils.ts +93 -1
  510. package/dist-lib/components/beste/piece/browser-frame.d.ts +0 -2
  511. package/dist-lib/components/beste/piece/type.d.ts +0 -9
  512. package/dist-lib/components/beste/piece/utils.d.ts +0 -3
  513. package/dist-lib/components/composed/user-avatar.d.ts +0 -7
  514. package/dist-lib/components/docs/component-preview.d.ts +0 -10
  515. package/dist-lib/components/docs/props-table.d.ts +0 -4
  516. package/dist-lib/components/ui/avatar.d.ts +0 -6
  517. package/dist-lib/components/ui/badge.d.ts +0 -7
  518. package/dist-lib/components/ui/tooltip.d.ts +0 -6
  519. package/dist-lib/components/user-avatar/audio-wave.d.ts +0 -2
  520. package/dist-lib/components/user-avatar/component.d.ts +0 -3
  521. package/dist-lib/components/user-avatar/fallback.d.ts +0 -5
  522. package/dist-lib/components/user-avatar/index.d.ts +0 -18
  523. package/dist-lib/components/user-avatar/presence-badge.d.ts +0 -16
  524. package/dist-lib/components/user-avatar/type.d.ts +0 -79
  525. package/dist-lib/components/user-avatar/use-user-avatar-state.d.ts +0 -26
  526. package/dist-lib/components/user-avatar/use-user-avatar.d.ts +0 -37
  527. package/dist-lib/components/user-avatar/user-avatar-atom.d.ts +0 -64
  528. package/dist-lib/components/user-avatar/utils.d.ts +0 -24
  529. package/src/components/beste/piece/browser-frame.tsx +0 -58
  530. package/src/components/beste/piece/type.ts +0 -11
  531. package/src/components/beste/piece/utils.ts +0 -21
  532. package/src/components/composed/__tests__/user-avatar.test.tsx +0 -85
  533. package/src/components/composed/user-avatar.tsx +0 -13
  534. package/src/components/docs/component-preview.tsx +0 -34
  535. package/src/components/docs/props-table.tsx +0 -35
  536. package/src/components/user-avatar/__tests__/user-avatar.test.tsx +0 -286
  537. package/src/components/user-avatar/audio-wave.tsx +0 -22
  538. package/src/components/user-avatar/component.tsx +0 -182
  539. package/src/components/user-avatar/fallback.tsx +0 -28
  540. package/src/components/user-avatar/index.ts +0 -34
  541. package/src/components/user-avatar/presence-badge.tsx +0 -56
  542. package/src/components/user-avatar/type.ts +0 -93
  543. package/src/components/user-avatar/use-user-avatar-state.ts +0 -60
  544. package/src/components/user-avatar/use-user-avatar.ts +0 -180
  545. package/src/components/user-avatar/user-avatar-atom.ts +0 -218
  546. package/src/components/user-avatar/utils.ts +0 -102
  547. /package/dist-lib/{components/blocks/auth/__tests__/auth-flow-block.test.d.ts → src/components/atoms/bubble/__tests__/bubble.test.d.ts} +0 -0
  548. /package/dist-lib/{components/blocks/auth/__tests__/auth-state-atom.test.d.ts → src/components/atoms/bubble/__tests__/reference.test.d.ts} +0 -0
  549. /package/dist-lib/{components/blocks/auth/__tests__/passkey-manager-block.test.d.ts → src/components/atoms/text/__tests__/text.test.d.ts} +0 -0
  550. /package/dist-lib/{components/blocks/auth/__tests__/linked-accounts-block.test.d.ts → src/components/atoms/text-selection/__tests__/click-popover.test.d.ts} +0 -0
  551. /package/dist-lib/{components/blocks/auth/__tests__/onboarding-block.test.d.ts → src/components/atoms/text-selection/__tests__/text-selection.test.d.ts} +0 -0
  552. /package/dist-lib/{components/blocks/auth/__tests__/passkey-sign-in-block.test.d.ts → src/components/blocks/auth/__tests__/auth-flow-block.test.d.ts} +0 -0
  553. /package/dist-lib/{components/blocks/auth/__tests__/signup-block.test.d.ts → src/components/blocks/auth/__tests__/auth-state-atom.test.d.ts} +0 -0
  554. /package/dist-lib/{components/blocks/auth/__tests__/update-password-block.test.d.ts → src/components/blocks/auth/__tests__/linked-accounts-block.test.d.ts} +0 -0
  555. /package/dist-lib/{components/blocks/nav/sidebar/__tests__/ai-sidebar-atom.test.d.ts → src/components/blocks/auth/__tests__/onboarding-block.test.d.ts} +0 -0
  556. /package/dist-lib/{components/blocks/nav/sidebar/__tests__/ai-sidebar.test.d.ts → src/components/blocks/auth/__tests__/passkey-manager-block.test.d.ts} +0 -0
  557. /package/dist-lib/{components/blocks/nav/sidebar/__tests__/use-ai-sidebar.test.d.ts → src/components/blocks/auth/__tests__/passkey-sign-in-block.test.d.ts} +0 -0
  558. /package/dist-lib/{components/blocks/profile/__tests__/profile-card-block.test.d.ts → src/components/blocks/auth/__tests__/signup-block.test.d.ts} +0 -0
  559. /package/dist-lib/{components/blocks/scaffold/__tests__/scaffold-atom.test.d.ts → src/components/blocks/auth/__tests__/update-password-block.test.d.ts} +0 -0
  560. /package/dist-lib/{components → src/components}/blocks/auth/auth-flow-atom.d.ts +0 -0
  561. /package/dist-lib/{components → src/components}/blocks/auth/auth-flow-block.d.ts +0 -0
  562. /package/dist-lib/{components → src/components}/blocks/auth/auth-session-atom.d.ts +0 -0
  563. /package/dist-lib/{components → src/components}/blocks/auth/auth-shell.d.ts +0 -0
  564. /package/dist-lib/{components → src/components}/blocks/auth/auth-state-type.d.ts +0 -0
  565. /package/dist-lib/{components → src/components}/blocks/auth/auth-state.d.ts +0 -0
  566. /package/dist-lib/{components → src/components}/blocks/auth/code-auth-block.d.ts +0 -0
  567. /package/dist-lib/{components → src/components}/blocks/auth/forgot-password-block.d.ts +0 -0
  568. /package/dist-lib/{components → src/components}/blocks/auth/linked-accounts-block.d.ts +0 -0
  569. /package/dist-lib/{components → src/components}/blocks/auth/login-block.d.ts +0 -0
  570. /package/dist-lib/{components → src/components}/blocks/auth/onboarding/profile-step.d.ts +0 -0
  571. /package/dist-lib/{components → src/components}/blocks/auth/onboarding-block.d.ts +0 -0
  572. /package/dist-lib/{components → src/components}/blocks/auth/passkey-manager-block.d.ts +0 -0
  573. /package/dist-lib/{components → src/components}/blocks/auth/passkey-sign-in-block.d.ts +0 -0
  574. /package/dist-lib/{components → src/components}/blocks/auth/signup-block.d.ts +0 -0
  575. /package/dist-lib/{components → src/components}/blocks/auth/update-password-block.d.ts +0 -0
  576. /package/dist-lib/{components → src/components}/blocks/auth/use-auth-state.d.ts +0 -0
  577. /package/dist-lib/{components/blocks/scaffold/__tests__/scaffold.test.d.ts → src/components/blocks/chat/__tests__/ai-panel.test.d.ts} +0 -0
  578. /package/dist-lib/{components → src/components}/blocks/layout.d.ts +0 -0
  579. /package/dist-lib/{components/blocks/shell/__tests__/shell-fit-atom.test.d.ts → src/components/blocks/nav/sidebar/__tests__/ai-sidebar-atom.test.d.ts} +0 -0
  580. /package/dist-lib/{components/blocks/shell/__tests__/shell-layout.test.d.ts → src/components/blocks/nav/sidebar/__tests__/ai-sidebar.test.d.ts} +0 -0
  581. /package/dist-lib/{components/blocks/shell/__tests__/shell-metrics.test.d.ts → src/components/blocks/nav/sidebar/__tests__/use-ai-sidebar.test.d.ts} +0 -0
  582. /package/dist-lib/{components → src/components}/blocks/nav/sidebar/ai-sidebar-atom.d.ts +0 -0
  583. /package/dist-lib/{components → src/components}/blocks/nav/sidebar/ai-sidebar.d.ts +0 -0
  584. /package/dist-lib/{components → src/components}/blocks/nav/sidebar/index.d.ts +0 -0
  585. /package/dist-lib/{components → src/components}/blocks/nav/sidebar/marquee-label.d.ts +0 -0
  586. /package/dist-lib/{components → src/components}/blocks/nav/sidebar/sidebar-context.d.ts +0 -0
  587. /package/dist-lib/{components → src/components}/blocks/nav/sidebar/sidebar-icon.d.ts +0 -0
  588. /package/dist-lib/{components → src/components}/blocks/nav/sidebar/sidebar-row.d.ts +0 -0
  589. /package/dist-lib/{components → src/components}/blocks/nav/sidebar/type.d.ts +0 -0
  590. /package/dist-lib/{components → src/components}/blocks/nav/sidebar/use-ai-sidebar-state.d.ts +0 -0
  591. /package/dist-lib/{components → src/components}/blocks/nav/sidebar/use-ai-sidebar.d.ts +0 -0
  592. /package/dist-lib/{components → src/components}/blocks/nav/sidebar/utils.d.ts +0 -0
  593. /package/dist-lib/{components/composed/__tests__/logo.test.d.ts → src/components/blocks/profile/__tests__/profile-card-block.test.d.ts} +0 -0
  594. /package/dist-lib/{components → src/components}/blocks/profile/index.d.ts +0 -0
  595. /package/dist-lib/{components → src/components}/blocks/profile/profile-card-atom.d.ts +0 -0
  596. /package/dist-lib/{components → src/components}/blocks/profile/use-profile-card-state.d.ts +0 -0
  597. /package/dist-lib/{components → src/components}/blocks/profile/use-profile-card.d.ts +0 -0
  598. /package/dist-lib/{components/composed/__tests__/user-avatar.test.d.ts → src/components/blocks/scaffold/__tests__/scaffold-atom.test.d.ts} +0 -0
  599. /package/dist-lib/{components/composed/tree/__tests__/tree-atom.test.d.ts → src/components/blocks/scaffold/__tests__/scaffold.test.d.ts} +0 -0
  600. /package/dist-lib/{components → src/components}/blocks/scaffold/constants.d.ts +0 -0
  601. /package/dist-lib/{components → src/components}/blocks/scaffold/index.d.ts +0 -0
  602. /package/dist-lib/{components → src/components}/blocks/scaffold/panel-close-button.d.ts +0 -0
  603. /package/dist-lib/{components → src/components}/blocks/scaffold/panel-menu-button.d.ts +0 -0
  604. /package/dist-lib/{components → src/components}/blocks/scaffold/scaffold-actions.d.ts +0 -0
  605. /package/dist-lib/{components → src/components}/blocks/scaffold/scaffold-atom.d.ts +0 -0
  606. /package/dist-lib/{components → src/components}/blocks/scaffold/scaffold-canvas.d.ts +0 -0
  607. /package/dist-lib/{components → src/components}/blocks/scaffold/scaffold-context.d.ts +0 -0
  608. /package/dist-lib/{components → src/components}/blocks/scaffold/scaffold-inspector.d.ts +0 -0
  609. /package/dist-lib/{components → src/components}/blocks/scaffold/scaffold-main.d.ts +0 -0
  610. /package/dist-lib/{components → src/components}/blocks/scaffold/scaffold-panel.d.ts +0 -0
  611. /package/dist-lib/{components → src/components}/blocks/scaffold/scaffold-root.d.ts +0 -0
  612. /package/dist-lib/{components → src/components}/blocks/scaffold/scaffold-sidebar.d.ts +0 -0
  613. /package/dist-lib/{components → src/components}/blocks/scaffold/scaffold-sub-panel.d.ts +0 -0
  614. /package/dist-lib/{components → src/components}/blocks/scaffold/scaffold-tab.d.ts +0 -0
  615. /package/dist-lib/{components → src/components}/blocks/scaffold/type.d.ts +0 -0
  616. /package/dist-lib/{components → src/components}/blocks/scaffold/use-scaffold-state.d.ts +0 -0
  617. /package/dist-lib/{components → src/components}/blocks/scaffold/use-scaffold.d.ts +0 -0
  618. /package/dist-lib/{components → src/components}/blocks/scaffold/utils.d.ts +0 -0
  619. /package/dist-lib/{components/composed/tree/__tests__/tree.test.d.ts → src/components/blocks/shell/__tests__/shell-fit-atom.test.d.ts} +0 -0
  620. /package/dist-lib/{components/composed/tree/__tests__/use-tree.test.d.ts → src/components/blocks/shell/__tests__/shell-layout.test.d.ts} +0 -0
  621. /package/dist-lib/{components/icons/__tests__/icons.test.d.ts → src/components/blocks/shell/__tests__/shell-metrics.test.d.ts} +0 -0
  622. /package/dist-lib/{components → src/components}/blocks/shell/animated-panel-inset.d.ts +0 -0
  623. /package/dist-lib/{components → src/components}/blocks/shell/animated-panel-provider.d.ts +0 -0
  624. /package/dist-lib/{components → src/components}/blocks/shell/animated-panel-trigger.d.ts +0 -0
  625. /package/dist-lib/{components → src/components}/blocks/shell/animated-panel.d.ts +0 -0
  626. /package/dist-lib/{components → src/components}/blocks/shell/index.d.ts +0 -0
  627. /package/dist-lib/{components → src/components}/blocks/shell/shell-fit-atom.d.ts +0 -0
  628. /package/dist-lib/{components → src/components}/blocks/shell/shell-layout.d.ts +0 -0
  629. /package/dist-lib/{components → src/components}/blocks/shell/shell-metrics.d.ts +0 -0
  630. /package/dist-lib/{components → src/components}/blocks/shell/type.d.ts +0 -0
  631. /package/dist-lib/{components → src/components}/blocks/shell/use-shell-fit-state.d.ts +0 -0
  632. /package/dist-lib/{components → src/components}/blocks/shell/use-shell-fit.d.ts +0 -0
  633. /package/dist-lib/{components → src/components}/blocks/shell/use-shell-panels.d.ts +0 -0
  634. /package/dist-lib/{components → src/components}/blocks/shell/utils.d.ts +0 -0
  635. /package/dist-lib/{components/motion/index.d.ts → src/components/composed/__tests__/logo.test.d.ts} +0 -0
  636. /package/dist-lib/{components/user-avatar/__tests__/user-avatar.test.d.ts → src/components/composed/action-bar/__tests__/action-bar.test.d.ts} +0 -0
  637. /package/dist-lib/{lib/utils.test.d.ts → src/components/composed/ai/__tests__/ai.test.d.ts} +0 -0
  638. /package/dist-lib/{components → src/components}/composed/logo.d.ts +0 -0
  639. /package/dist-lib/{components → src/components}/composed/password-input.d.ts +0 -0
  640. /package/dist-lib/{components → src/components}/composed/social-providers.d.ts +0 -0
  641. /package/dist-lib/{components → src/components}/composed/tree/constants.d.ts +0 -0
  642. /package/dist-lib/{components → src/components}/composed/tree/index.d.ts +0 -0
  643. /package/dist-lib/{components → src/components}/composed/tree/tree-atom.d.ts +0 -0
  644. /package/dist-lib/{components → src/components}/composed/tree/tree-context.d.ts +0 -0
  645. /package/dist-lib/{components → src/components}/composed/tree/tree-node.d.ts +0 -0
  646. /package/dist-lib/{components → src/components}/composed/tree/tree.d.ts +0 -0
  647. /package/dist-lib/{components → src/components}/composed/tree/type.d.ts +0 -0
  648. /package/dist-lib/{components → src/components}/composed/tree/use-tree-dnd.d.ts +0 -0
  649. /package/dist-lib/{components → src/components}/composed/tree/use-tree-state.d.ts +0 -0
  650. /package/dist-lib/{components → src/components}/composed/tree/use-tree.d.ts +0 -0
  651. /package/dist-lib/{components → src/components}/composed/tree/utils.d.ts +0 -0
  652. /package/dist-lib/{components → src/components}/docs/code-block.d.ts +0 -0
  653. /package/dist-lib/{components → src/components}/icons/file-badge-cfm.d.ts +0 -0
  654. /package/dist-lib/{components → src/components}/icons/file-badge-corpus.d.ts +0 -0
  655. /package/dist-lib/{components → src/components}/icons/file-badge-pdf.d.ts +0 -0
  656. /package/dist-lib/{components → src/components}/icons/file-badge-tei.d.ts +0 -0
  657. /package/dist-lib/{components → src/components}/icons/file-badge-tf.d.ts +0 -0
  658. /package/dist-lib/{components → src/components}/icons/file-badge-txt.d.ts +0 -0
  659. /package/dist-lib/{components → src/components}/icons/file-badge-xml.d.ts +0 -0
  660. /package/dist-lib/{components → src/components}/icons/file-wordmark-cfm.d.ts +0 -0
  661. /package/dist-lib/{components → src/components}/icons/file-wordmark-corpus.d.ts +0 -0
  662. /package/dist-lib/{components → src/components}/icons/file-wordmark-pdf.d.ts +0 -0
  663. /package/dist-lib/{components → src/components}/icons/file-wordmark-tei.d.ts +0 -0
  664. /package/dist-lib/{components → src/components}/icons/file-wordmark-tf.d.ts +0 -0
  665. /package/dist-lib/{components → src/components}/icons/file-wordmark-txt.d.ts +0 -0
  666. /package/dist-lib/{components → src/components}/icons/file-wordmark-xml.d.ts +0 -0
  667. /package/dist-lib/{components → src/components}/icons/index.d.ts +0 -0
  668. /package/dist-lib/{components → src/components}/icons/types.d.ts +0 -0
  669. /package/dist-lib/{components → src/components}/motion/overflow-actions.d.ts +0 -0
  670. /package/dist-lib/{components → src/components}/motion/popover-morph.d.ts +0 -0
  671. /package/dist-lib/{components → src/components}/motion/popover-position.d.ts +0 -0
  672. /package/dist-lib/{components → src/components}/motion/shared-layout-bg.d.ts +0 -0
  673. /package/dist-lib/{components → src/components}/theme-provider.d.ts +0 -0
  674. /package/dist-lib/{components → src/components}/ui/button-group.d.ts +0 -0
  675. /package/dist-lib/{components → src/components}/ui/card.d.ts +0 -0
  676. /package/dist-lib/{components → src/components}/ui/checkbox.d.ts +0 -0
  677. /package/dist-lib/{components → src/components}/ui/field.d.ts +0 -0
  678. /package/dist-lib/{components → src/components}/ui/frame.d.ts +0 -0
  679. /package/dist-lib/{components → src/components}/ui/glasscn/glass-button-group.d.ts +0 -0
  680. /package/dist-lib/{components → src/components}/ui/glasscn/glass-button.d.ts +0 -0
  681. /package/dist-lib/{components → src/components}/ui/glasscn/glass-separator.d.ts +0 -0
  682. /package/dist-lib/{components → src/components}/ui/glasscn/liquid-glass.d.ts +0 -0
  683. /package/dist-lib/{components → src/components}/ui/group.d.ts +0 -0
  684. /package/dist-lib/{components → src/components}/ui/input-group.d.ts +0 -0
  685. /package/dist-lib/{components → src/components}/ui/input.d.ts +0 -0
  686. /package/dist-lib/{components → src/components}/ui/label.d.ts +0 -0
  687. /package/dist-lib/{components → src/components}/ui/menu.d.ts +0 -0
  688. /package/dist-lib/{components → src/components}/ui/otp-field.d.ts +0 -0
  689. /package/dist-lib/{components → src/components}/ui/separator.d.ts +0 -0
  690. /package/dist-lib/{components → src/components}/ui/sheet.d.ts +0 -0
  691. /package/dist-lib/{components → src/components}/ui/skeleton.d.ts +0 -0
  692. /package/dist-lib/{components → src/components}/ui/spinner.d.ts +0 -0
  693. /package/dist-lib/{components → src/components}/ui/switch.d.ts +0 -0
  694. /package/dist-lib/{components → src/components}/ui/textarea.d.ts +0 -0
  695. /package/dist-lib/{lib → src/lib}/auth-accent.d.ts +0 -0
  696. /package/dist-lib/{lib → src/lib}/glass-variants.d.ts +0 -0
  697. /package/dist-lib/{lib → src/lib}/hooks/use-hover-capable.d.ts +0 -0
  698. /package/dist-lib/{lib → src/lib}/sound.d.ts +0 -0
  699. /package/dist-lib/{state → src/lib/state}/exegia-provider.d.ts +0 -0
  700. /package/dist-lib/{state → src/lib/state}/index.d.ts +0 -0
  701. /package/dist-lib/{state → src/lib/state}/store.d.ts +0 -0
  702. /package/dist-lib/{lib → src/lib}/utils.d.ts +0 -0
  703. /package/src/{state → lib/state}/index.ts +0 -0
  704. /package/src/{state → lib/state}/store.ts +0 -0
@@ -0,0 +1,57 @@
1
+ import { ComponentType } from 'react';
2
+ import { Tooltip } from '@base-ui/react/tooltip';
3
+ import { ActionBarSegment, ActionEntry, ActionItemsByGroup, ActionKey, ActionMap, EmojiActionBarProps } from './types';
4
+ import { Emoji } from 'frimousse';
5
+ export declare const tooltipHandle: Tooltip.Handle<ComponentType>;
6
+ export declare const isSeparator: (key: string) => boolean;
7
+ /**
8
+ * Splits `actions` into render-ready segments at every `separator-*` key.
9
+ *
10
+ * Order comes from the map's insertion order (see `ActionMap`) — the grouping
11
+ * is positional, so actions written before a separator group ahead of it.
12
+ * Empty groups are dropped, which is what keeps a leading, trailing or
13
+ * doubled separator from rendering a `ToolbarGroup` with nothing in it.
14
+ */
15
+ export declare const useActionBar: ({ actions, }: {
16
+ actions: ActionMap<ActionKey>;
17
+ }) => {
18
+ segments: ActionBarSegment[];
19
+ entries: ActionEntry[];
20
+ hasGroups: boolean;
21
+ groupsCount: number;
22
+ separatorCount: number;
23
+ actionItemsByGroup: ActionItemsByGroup;
24
+ };
25
+ /**
26
+ * The quick row. frimousse has no way to render a subset — `EmojiPicker.Root`
27
+ * takes `columns`/`skinTone`/`locale`/`emojiVersion`/`emojibaseUrl`/`sticky`
28
+ * and nothing else, and its list is virtualized on fixed-height rows, so a
29
+ * custom `Emoji` component that returns null leaves holes rather than a short
30
+ * row. A fixed list is the only way to show just these, and it costs no
31
+ * network request — the CDN fetch only happens if "More" is opened.
32
+ */
33
+ export declare const QUICK_REACTIONS: readonly Emoji[];
34
+ /**
35
+ * Hook for managing the emoji picker state and actions.
36
+ *
37
+ * @param props - The emoji picker props.
38
+ * @returns The emoji picker state and actions.
39
+ *
40
+ * @example
41
+ * ```tsx
42
+ * const { isFullPicker, quickReactions, actions, togglePicker, selectEmoji } = useEmojiPicker({ onEmojiSelect });
43
+ * ```
44
+ */
45
+ export declare const useEmojiPicker: ({ onEmojiSelect, reactions, hideMore, }: EmojiActionBarProps) => {
46
+ isFullPicker: boolean;
47
+ quickReactions: readonly {
48
+ emoji: string;
49
+ label: string;
50
+ }[];
51
+ actions: readonly {
52
+ emoji: string;
53
+ label: string;
54
+ }[];
55
+ togglePicker: () => void;
56
+ selectEmoji: (emoji: Emoji) => void;
57
+ };
@@ -0,0 +1 @@
1
+ export declare const Avatar: () => import("react").JSX.Element;
@@ -0,0 +1,17 @@
1
+ import { Message } from './message';
2
+ import { StreamingText } from './streaming-text';
3
+ import { ResearchAnswer } from './research-answer';
4
+ import { SuggestedPrompt } from './suggested-prompt';
5
+ export type { SuggestedPromptProps } from './suggested-prompt';
6
+ export { accentRing, accentSolid, accentText, agentText, ghostMuted, glassCard, mutedText, surface, } from './shared';
7
+ export { type StreamingTextProps, type StreamingToken } from './streaming-text';
8
+ export type { ResearchAnswerProps } from './research-answer';
9
+ export type { AISuggestionBase, DiffRow, ReferenceBase, SuggestionState, } from './types';
10
+ declare const AI: {
11
+ Message: typeof Message;
12
+ Avatar: () => import("react").JSX.Element;
13
+ StreamingText: typeof StreamingText;
14
+ SuggestedPrompt: typeof SuggestedPrompt;
15
+ ResearchAnswer: typeof ResearchAnswer;
16
+ };
17
+ export default AI;
@@ -0,0 +1,7 @@
1
+ import { AIMessageProps, AIMessageType } from './types';
2
+ /**
3
+ * An agent turn: author row, prose body and — when the model proposed
4
+ * changes — a "Suggestions" disclosure that fans the cards out below with a
5
+ * staggered spring.
6
+ */
7
+ export declare function Message<T extends AIMessageType>({ children, isStreaming, className, AttachedContent, type, contentProps, ...props }: AIMessageProps<T>): React.ReactElement;
@@ -0,0 +1,30 @@
1
+ import type * as React from "react";
2
+ export interface ResearchReference {
3
+ /** Pill label, e.g. "Iliad · Homer corpus". */
4
+ label: React.ReactNode;
5
+ /** Preview-card content shown on hover. */
6
+ favicon?: string;
7
+ title?: React.ReactNode;
8
+ description?: React.ReactNode;
9
+ href?: string;
10
+ }
11
+ export interface ResearchAnswerProps extends Omit<React.ComponentPropsWithoutRef<"div">, "content"> {
12
+ kicker?: React.ReactNode;
13
+ /** "Answered from 3 passages · 0.8 s" */
14
+ kickerSub?: React.ReactNode;
15
+ content: React.ReactNode;
16
+ source?: React.ReactNode | ResearchReference;
17
+ date?: React.ReactNode;
18
+ authors?: React.ReactNode | ResearchReference;
19
+ onCopyCitation?: () => void;
20
+ onShare?: () => void;
21
+ /** TODO(spec 003): the design shows the control only; behaviour is the caller's. */
22
+ onAddToList?: () => void;
23
+ bare?: boolean;
24
+ }
25
+ /**
26
+ * Research answer card: kicker, content, Source / Date / Author(s) meta, actions.
27
+ *
28
+ * @sketch "Component / Research Answer"
29
+ */
30
+ export declare function ResearchAnswer({ kicker, kickerSub, content, source, date, authors, onCopyCitation, onShare, onAddToList, bare, className, ...props }: ResearchAnswerProps): React.ReactElement;
@@ -0,0 +1,19 @@
1
+ import { Variants } from 'motion';
2
+ import type * as React from "react";
3
+ export declare const accentText = "text-amber-600 dark:text-amber-300/90";
4
+ export declare const accentRing = "ring-offset-0 focus-visible:ring-amber-400/40";
5
+ export declare const accentSolid: string;
6
+ export declare const agentText = "text-violet-600 dark:text-violet-400";
7
+ export declare const ghostMuted: string;
8
+ export declare const mutedText = "text-[13px] leading-5 text-muted-foreground";
9
+ export declare const surface = "border bg-popover text-popover-foreground shadow-lg";
10
+ /** The AI spark — the accent-coloured ✦ that marks every AI affordance. */
11
+ export declare function AiIcon({ className, }: {
12
+ className?: string;
13
+ }): React.ReactElement;
14
+ export declare function CloseIcon(): React.ReactElement;
15
+ export declare const glassCard = "rounded-md border-0 border-t-2 border-t-white/70 bg-neutral-200/45 shadow-none backdrop-blur-[3px] backdrop-saturate-125 before:hidden dark:border-t-neutral-700 dark:bg-neutral-800/50";
16
+ export declare const LIST_VARIANTS: Variants;
17
+ export declare const ITEM_VARIANTS: Variants;
18
+ /** Children.toArray, but looking through fragments so `<>{a}{b}</>` counts two. */
19
+ export declare function flattenChildren(children: React.ReactNode): React.ReactNode[];
@@ -0,0 +1,26 @@
1
+ import * as React from "react";
2
+ /** A word, or an inline citation; extra fields turn the chip into a hover preview. */
3
+ export type StreamingToken = {
4
+ text: string;
5
+ } | {
6
+ cite: string;
7
+ favicon?: string;
8
+ title?: string;
9
+ description?: string;
10
+ href?: string;
11
+ };
12
+ export interface StreamingTextProps extends React.ComponentPropsWithoutRef<"div"> {
13
+ /** Paragraphs, each a token list; a string is split on spaces. */
14
+ paragraphs: (string | StreamingToken[])[];
15
+ /** Reveal words over time and show the caret. */
16
+ streaming?: boolean;
17
+ /** Reveal gap in ms; defaults to the --stream-gap token (60ms). */
18
+ wordMs?: number;
19
+ }
20
+ /**
21
+ * Streamed answer: paragraphs with inline source previews and a caret.
22
+ * Actions, sources and follow-ups belong to the host.
23
+ *
24
+ * @sketch "Component / Streaming Text"
25
+ */
26
+ export declare function StreamingText({ paragraphs, streaming, wordMs, className, ...props }: StreamingTextProps): React.ReactElement;
@@ -0,0 +1,35 @@
1
+ import { HTMLMotionProps } from 'motion/react';
2
+ import type * as React from "react";
3
+ export interface SuggestedPromptProps extends Omit<HTMLMotionProps<"button">, "children" | "onSelect"> {
4
+ /** The prompt itself — what the person would have typed. */
5
+ children: React.ReactNode;
6
+ onSelect?: () => void;
7
+ /**
8
+ * Shared-layout id. Give the resulting message bubble the same id and the
9
+ * row flies into it when this one unmounts.
10
+ */
11
+ layoutId?: string;
12
+ }
13
+ /**
14
+ * One suggested prompt: a violet spark, the prompt, and a `+` marking that
15
+ * picking it drops the prompt into the thread. The whole row is the control —
16
+ * the `+` is an affordance, not a second action.
17
+ */
18
+ export declare function SuggestedPrompt({ children, onSelect, layoutId, className, ...props }: SuggestedPromptProps): React.ReactElement;
19
+ export interface SuggestedPromptsProps extends Omit<HTMLMotionProps<"div">, "children"> {
20
+ /** The `SuggestedPrompt` rows. */
21
+ children: React.ReactNode;
22
+ /** Overrides the count derived from `children`. */
23
+ count?: number;
24
+ /** Names the disclosure. `Suggestions (n)` by default. */
25
+ label?: (count: number) => React.ReactNode;
26
+ defaultOpen?: boolean;
27
+ open?: boolean;
28
+ onOpenChange?: (open: boolean) => void;
29
+ }
30
+ /**
31
+ * The "Suggestions (n)" disclosure above the composer: a chevron that swings
32
+ * from left (folded) to down (open) and a panel of prompts that fans out
33
+ * beneath it, its bottom edge tucked behind the composer pill.
34
+ */
35
+ export declare function SuggestedPrompts({ children, count, label, defaultOpen, open: openProp, onOpenChange, className, ...props }: SuggestedPromptsProps): React.ReactElement | null;
@@ -0,0 +1,66 @@
1
+ import { ChartProps, ComposerSuggestionsProps, MarkdownProps, RecommendationStackProps, ResearchAnswerProps, UserType } from '../../../index';
2
+ import type * as React from "react";
3
+ export type SuggestionState = "accepted" | "rejected" | "pending";
4
+ export interface DiffRow {
5
+ type: "add" | "remove";
6
+ value: React.ReactNode;
7
+ field?: string;
8
+ }
9
+ /** A word, or an inline citation; extra fields turn the chip into a hover preview. */
10
+ export type StreamingToken = {
11
+ text: string;
12
+ } | {
13
+ cite: string;
14
+ favicon?: string;
15
+ title?: string;
16
+ description?: string;
17
+ href?: string;
18
+ };
19
+ export interface StreamingTextProps extends React.ComponentPropsWithoutRef<"div"> {
20
+ /** Paragraphs, each a token list; a string is split on spaces. */
21
+ paragraphs: (string | StreamingToken[])[];
22
+ /** Reveal words over time and show the caret. */
23
+ streaming?: boolean;
24
+ /** Reveal gap in ms; defaults to the --stream-gap token (60ms). */
25
+ wordMs?: number;
26
+ }
27
+ /** Kind → props map for message content; the source of truth for `AIContentProps`. */
28
+ export interface AIContentPropsMap {
29
+ markdown: MarkdownProps;
30
+ research: ResearchAnswerProps;
31
+ chart: ChartProps;
32
+ suggestion: ComposerSuggestionsProps;
33
+ recommendation: RecommendationStackProps;
34
+ }
35
+ export type AIMessageType = keyof AIContentPropsMap;
36
+ /** Discriminated union of `{ kind } & props`, distributed over `T`. */
37
+ export type AIContentProps<T extends AIMessageType = AIMessageType> = {
38
+ [K in T]: {
39
+ kind: K;
40
+ } & AIContentPropsMap[K];
41
+ }[T];
42
+ export interface AIMessageProps<T extends AIMessageType = AIMessageType> {
43
+ /** Identity shown in the header. */
44
+ user?: UserType;
45
+ type: T;
46
+ thinking?: boolean;
47
+ /** Replaces the default `User.Info` identity row in the header. */
48
+ AttachedContent?: React.ComponentType<AIContentProps<T>>;
49
+ /** Props forwarded to `AttachedContent`, typed by `type`. */
50
+ contentProps?: AIContentPropsMap[T];
51
+ children?: React.ReactNode;
52
+ isStreaming?: boolean;
53
+ className?: string;
54
+ }
55
+ export interface ReferenceBase {
56
+ id: string;
57
+ title?: string;
58
+ url?: string;
59
+ }
60
+ export interface AISuggestionBase {
61
+ heading: string;
62
+ description?: string | React.ReactNode;
63
+ state?: SuggestionState;
64
+ updatedAt?: string;
65
+ references?: ReferenceBase[] | ReferenceBase;
66
+ }
@@ -0,0 +1,3 @@
1
+ import { Attachment } from './chat/attachment';
2
+ export declare const story: import('@fumadocs/story/vite/client').Story<typeof Attachment>;
3
+ export declare const Preview: import('react').FC;
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+ export declare const story: import('@fumadocs/story/vite/client').Story<FC<Pick<import('./chat').ChartProps, "data" | "title" | "type" | "subtitle" | "series" | "headerless" | "plotHeight">>>;
3
+ export declare const Preview: FC;
@@ -0,0 +1,2 @@
1
+ import { IBubbleActionsProps, TBubbleActionKey } from './type';
2
+ export declare function Actions<K extends TBubbleActionKey = TBubbleActionKey>({ actions, size, onClick, }: IBubbleActionsProps<K>): import("react").JSX.Element;
@@ -0,0 +1,62 @@
1
+ import type * as React from "react";
2
+ export type AttachmentKind = "document" | "image" | "media" | "text-selection" | "chat-reply" | "username-handle" | "url-link";
3
+ export type AttachmentVariant = "default" | "preview";
4
+ interface AttachmentBase {
5
+ id?: string;
6
+ className?: string;
7
+ style?: React.CSSProperties;
8
+ /** `default` is the 240×52 composer chip; `preview` the in-bubble rendering. */
9
+ variant?: AttachmentVariant;
10
+ /** Primary line of the chip (file name, handle, URL, source…). */
11
+ title: React.ReactNode;
12
+ /** Secondary line of the chip ("PDF · 2.4 MB", "Link · fetching preview"…). */
13
+ meta?: React.ReactNode;
14
+ /** Fires from the chip's ✕. Omit (or pass `removable={false}`) to hide it. */
15
+ onRemove?: () => void;
16
+ removable?: boolean;
17
+ }
18
+ export type AttachmentProps = AttachmentBase & ({
19
+ kind: "document";
20
+ onAction?: () => void;
21
+ actionIcon?: React.ReactNode;
22
+ } | {
23
+ kind: "image";
24
+ src?: string;
25
+ alt?: string;
26
+ } | {
27
+ kind: "media";
28
+ src?: string;
29
+ poster?: string;
30
+ duration?: React.ReactNode;
31
+ audio?: boolean;
32
+ onPlay?: () => void;
33
+ waveform?: number[];
34
+ } | {
35
+ kind: "text-selection";
36
+ quote?: React.ReactNode;
37
+ } | {
38
+ kind: "chat-reply";
39
+ author?: React.ReactNode;
40
+ time?: React.ReactNode;
41
+ body?: React.ReactNode;
42
+ } | {
43
+ kind: "username-handle";
44
+ src?: string;
45
+ initials?: string;
46
+ } | {
47
+ kind: "url-link";
48
+ src?: string;
49
+ domain?: React.ReactNode;
50
+ description?: React.ReactNode;
51
+ favicon?: string;
52
+ href?: string;
53
+ });
54
+ /**
55
+ * One attachment in every shape the chat needs — a composer chip before
56
+ * sending (`variant="default"`) or the rendering inside a bubble
57
+ * (`variant="preview"`).
58
+ *
59
+ * @sketch "Component / Attachment / {Image, Media, Document, Text Selection, Chat Reply, Username Handle, URL Link} / {Default, Preview}", "Component / Attachment / Media / Preview Audio"
60
+ */
61
+ export declare function Attachment(props: AttachmentProps): React.ReactElement;
62
+ export {};
@@ -0,0 +1,41 @@
1
+ import type * as React from "react";
2
+ export type ChartType = "pie" | "area" | "line" | "bar";
3
+ export interface ChartSeries {
4
+ /** Key into each data row. */
5
+ key: string;
6
+ label: React.ReactNode;
7
+ /** Defaults to `var(--chart-series-N)` by position. */
8
+ color?: string;
9
+ /** Renders a value in the legend and tooltip (`v => \`${v}%\``). */
10
+ format?: (value: number) => React.ReactNode;
11
+ }
12
+ export type ChartDatum = {
13
+ label: string;
14
+ [key: string]: string | number;
15
+ };
16
+ export interface ChartProps extends Omit<React.ComponentPropsWithoutRef<"div">, "title"> {
17
+ type: ChartType;
18
+ title?: React.ReactNode;
19
+ subtitle?: React.ReactNode;
20
+ /** Pill text; defaults to the capitalised type. */
21
+ badge?: React.ReactNode;
22
+ data: ChartDatum[];
23
+ /** Series to plot; pie uses the first one. */
24
+ series: ChartSeries[];
25
+ /** Pie only: big number and caption in the donut's centre. */
26
+ center?: {
27
+ value: React.ReactNode;
28
+ label?: React.ReactNode;
29
+ };
30
+ /** Drop the title row (InsightCards embeds a bare plot). */
31
+ headerless?: boolean;
32
+ /** Plot height in px; the card is 244 tall with the header. */
33
+ plotHeight?: number;
34
+ }
35
+ /**
36
+ * 320×244 chart card: title, subtitle, type pill, plot, x labels, legend.
37
+ * Series colours are the `--chart-series-*` tokens, grid is `--chart-grid`.
38
+ *
39
+ * @sketch "Component / Chart / {Pie, Area, Line, Bar}"
40
+ */
41
+ export declare function Chart({ type, title, subtitle, badge, data, series, center, headerless, plotHeight, className, ...props }: ChartProps): React.ReactElement;
@@ -0,0 +1,26 @@
1
+ import * as React from "react";
2
+ export interface CodeDiffLine {
3
+ type?: "add" | "remove" | "context";
4
+ text: string;
5
+ }
6
+ export interface CodeBlockProps extends Omit<React.ComponentPropsWithoutRef<"div">, "onCopy"> {
7
+ filename?: React.ReactNode;
8
+ code: string;
9
+ /** Optional diff view; when absent the toggle is hidden. */
10
+ diff?: CodeDiffLine[];
11
+ view?: "code" | "diff";
12
+ defaultView?: "code" | "diff";
13
+ onViewChange?: (view: "code" | "diff") => void;
14
+ onCopy?: (code: string) => void;
15
+ /** Extra keywords for the tokenizer. */
16
+ keywords?: string[];
17
+ }
18
+ /** Minimal highlighter: string literals and keywords only, as in the design. */
19
+ export declare function tokenize(line: string, keywords: ReadonlySet<string>): React.ReactNode[];
20
+ /**
21
+ * Code card: filename header, Code | Diff toggle, Copy; gutter line numbers
22
+ * and keyword / string tinting from the `--code-*` tokens.
23
+ *
24
+ * @sketch "Component / Code Block"
25
+ */
26
+ export declare function CodeBlock({ filename, code, diff, view, defaultView, onViewChange, onCopy, keywords, className, ...props }: CodeBlockProps): React.ReactElement;
@@ -0,0 +1,5 @@
1
+ import { ButtonProps } from '../../../ui/button';
2
+ import { PopoverTriggerState } from '@base-ui/react';
3
+ export declare function AddButton({ state, ...props }: ButtonProps & {
4
+ state: PopoverTriggerState;
5
+ }): import("react").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { IComposerProps } from '../type';
2
+ import type * as React from "react";
3
+ /**
4
+ * Prompt field with two shapes: a pill at rest showing the "⌘ + ↵" hint,
5
+ * that squares off into a taller field on focus with the attach and Send
6
+ * controls springing in along its bottom edge.
7
+ */
8
+ export declare function Composer({ value, onValueChange, composerId, attachments: seedAttachments, isStreaming, disabled, safetyNote, expanded, placeholder, SubmitButton, ComposerMenu, Suggestions, defaultValue, onSubmit, onStop, className, }: IComposerProps): React.ReactElement;
@@ -0,0 +1,2 @@
1
+ import { IComposerMenuProps } from '../type';
2
+ export declare function CommandMenu({ items, onCommand, }: IComposerMenuProps): React.ReactElement;
@@ -0,0 +1,9 @@
1
+ import { ComposerAttachment } from '../type';
2
+ /** Read the tray of one composer. */
3
+ export declare function useComposerAttachments(composerId: string): ComposerAttachment[];
4
+ /** Write-only tray actions; never re-renders the caller when the tray changes. */
5
+ export declare function useComposerAttachmentActions(composerId: string): {
6
+ add: (item: ComposerAttachment) => void;
7
+ remove: (itemId: string) => void;
8
+ clear: () => void;
9
+ };
@@ -0,0 +1,10 @@
1
+ import { Composer } from './base';
2
+ export type * from '../type';
3
+ export { Composer };
4
+ export { SendButton } from './send-button';
5
+ export { AddButton } from './add-button';
6
+ export { CommandMenu } from './command-menu';
7
+ export { SuggestedPrompts } from './suggestions';
8
+ export { addComposerAttachmentAtom, clearComposerAttachmentsAtom, composerAttachmentsAtom, removeComposerAttachmentAtom, removeComposerInstance, } from './utils';
9
+ export { useComposerAttachmentActions, useComposerAttachments } from './hooks';
10
+ export default Composer;
@@ -0,0 +1,3 @@
1
+ import { ButtonProps } from '../../../ui/button';
2
+ import { IComposerSubmitButtonProps } from '../type';
3
+ export declare function SendButton({ isStreaming, isExpanded, disabled, onStop, ...props }: IComposerSubmitButtonProps & ButtonProps): React.ReactElement;
@@ -0,0 +1,7 @@
1
+ import { SuggestedPromptsProps } from '../type';
2
+ /**
3
+ * The "Suggestions (n)" disclosure above the composer: a chevron that swings
4
+ * from left (folded) to down (open) and a panel of prompts that fans out
5
+ * beneath it, its bottom edge tucked behind the composer pill.
6
+ */
7
+ export declare function SuggestedPrompts({ children, count, label, defaultOpen, open: openProp, onOpenChange, className, ...props }: SuggestedPromptsProps): React.ReactElement | null;
@@ -0,0 +1,19 @@
1
+ import { ComposerAttachment } from '../type';
2
+ import { Variants } from 'motion';
3
+ export declare const composerAttachmentsAtom: import('../../../../lib/keyed-atom').Family<import('jotai').PrimitiveAtom<ComposerAttachment[]> & {
4
+ init: ComposerAttachment[];
5
+ }>;
6
+ export declare const addComposerAttachmentAtom: import('../../../../lib/keyed-atom').Family<import('jotai').WritableAtom<null, [item: ComposerAttachment], void> & {
7
+ init: null;
8
+ }>;
9
+ export declare const removeComposerAttachmentAtom: import('../../../../lib/keyed-atom').Family<import('jotai').WritableAtom<null, [itemId: string], void> & {
10
+ init: null;
11
+ }>;
12
+ export declare const clearComposerAttachmentsAtom: import('../../../../lib/keyed-atom').Family<import('jotai').WritableAtom<null, [], void> & {
13
+ init: null;
14
+ }>;
15
+ export declare const removeComposerInstance: (id: string) => void;
16
+ /** Children.toArray, but looking through fragments so `<>{a}{b}</>` counts two. */
17
+ export declare function flattenChildren(children: React.ReactNode): React.ReactNode[];
18
+ export declare const LIST_VARIANTS: Variants;
19
+ export declare const ITEM_VARIANTS: Variants;
@@ -0,0 +1,27 @@
1
+ import type * as React from "react";
2
+ export interface ContextCard {
3
+ id?: string;
4
+ title: React.ReactNode;
5
+ /** "290 characters" */
6
+ meta?: React.ReactNode;
7
+ snippet: React.ReactNode;
8
+ file?: {
9
+ name: React.ReactNode;
10
+ type: string;
11
+ };
12
+ icon?: React.ReactNode;
13
+ }
14
+ export interface ContextCardsProps extends React.ComponentPropsWithoutRef<"div"> {
15
+ header?: React.ReactNode;
16
+ cards: ContextCard[];
17
+ /** Count pill; defaults to `cards.length`. */
18
+ count?: React.ReactNode;
19
+ onOpen?: (card: ContextCard, index: number) => void;
20
+ }
21
+ /**
22
+ * Retrieved chunks: header with a count pill, then one card per chunk with
23
+ * title, character count, snippet and the source file pill.
24
+ *
25
+ * @sketch "Component / Context Cards"
26
+ */
27
+ export declare function ContextCards({ header, cards, count, onOpen, className, ...props }: ContextCardsProps): React.ReactElement;
@@ -0,0 +1,40 @@
1
+ import { DotTone } from '../../ui/chat';
2
+ import * as React from "react";
3
+ /** Active filter id, keyed by `tableId`; `null` means "All". */
4
+ export declare const filterTableFilterAtom: import('../../../lib/keyed-atom').Family<import('jotai').PrimitiveAtom<string | null> & {
5
+ init: string | null;
6
+ }>;
7
+ export declare const removeFilterTableInstance: (id: string) => void;
8
+ export interface FilterTableStatus {
9
+ id: string;
10
+ label: React.ReactNode;
11
+ tone: DotTone;
12
+ }
13
+ export interface FilterTableColumn<Row> {
14
+ key: keyof Row & string;
15
+ header: React.ReactNode;
16
+ className?: string;
17
+ }
18
+ export interface FilterTableProps<Row extends {
19
+ id: string;
20
+ status: string;
21
+ }> extends React.ComponentPropsWithoutRef<"div"> {
22
+ tableId?: string;
23
+ statuses: FilterTableStatus[];
24
+ columns: FilterTableColumn<Row>[];
25
+ /** Column key rendered with the status dot (defaults to "status"). */
26
+ statusKey?: keyof Row & string;
27
+ rows: Row[];
28
+ allLabel?: React.ReactNode;
29
+ filter?: string | null;
30
+ onFilterChange?: (filter: string | null) => void;
31
+ }
32
+ /**
33
+ * Status filter pills over a compact task table.
34
+ *
35
+ * @sketch "Component / Filter Table"
36
+ */
37
+ export declare function FilterTable<Row extends {
38
+ id: string;
39
+ status: string;
40
+ }>({ tableId, statuses, columns, statusKey, rows, allLabel, filter, onFilterChange, className, ...props }: FilterTableProps<Row>): React.ReactElement;
@@ -0,0 +1,2 @@
1
+ import { ChartNodeProps } from './types';
2
+ export declare function ChartNode({ node, index, onRef, children }: ChartNodeProps): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { ConnectorProps } from './types';
2
+ export declare function Connector({ edge, isLit, selected, onPick, strokeWidth, ...props }: ConnectorProps): import("react").JSX.Element;
@@ -0,0 +1,15 @@
1
+ export declare const PAD_Y = 24;
2
+ export declare const ROW_GAP = 64;
3
+ export declare const PILL_OFFSET = 30;
4
+ export declare const SNAP_RADIUS = 40;
5
+ export declare const PURPLE = "#9a5cff";
6
+ export declare const AMBER = "#f09a2f";
7
+ export declare const EST_H: Record<string, number>;
8
+ export declare const PROPERTIES: string[];
9
+ export declare const FLAVORS: {
10
+ name: string;
11
+ tag: string;
12
+ }[];
13
+ export declare const TOPPINGS: {
14
+ name: string;
15
+ }[];
@@ -0,0 +1,7 @@
1
+ import { FlowchartProps } from './types';
2
+ /**
3
+ * Dot-grid canvas of draggable, selectable step cards joined by bezier connectors.
4
+ *
5
+ * @sketch "Component / Flowchart"
6
+ */
7
+ export default function Flowchart({ steps, edges, readOnly, zoomable, height, onDrag, onAdd, onRemove, onEdgeRemove, onEdgeConnect, onEdgeChange, onRename, onDuplicate, className, children }: FlowchartProps): import("react").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { Edge } from './types';
2
+ import { Point } from './utils';
3
+ /** Floats at a selected connector's midpoint: stroke widths, colours, disconnect. */
4
+ export declare function EdgeToolbar({ edge, at, onChange, onRemove, }: {
5
+ edge: Edge;
6
+ at: Point;
7
+ onChange?: (id: string, patch: Pick<Edge, "strokeWidth" | "color">) => void;
8
+ onRemove?: (id: string) => void;
9
+ }): import("react").JSX.Element;