@exegia/corpora-ui 2.0.0 → 3.1.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 (588) hide show
  1. package/README.md +20 -0
  2. package/dist-lib/EVILCHARTS-LICENSE.txt +21 -0
  3. package/dist-lib/button-CIRkQXA6.js +152 -0
  4. package/dist-lib/button.js +3 -0
  5. package/dist-lib/card.js +150 -0
  6. package/dist-lib/components/atoms/text/default.d.ts +2 -1143
  7. package/dist-lib/components/blocks/shell/index.d.ts +1 -0
  8. package/dist-lib/components/composed/chat/chart/chart-atom.d.ts +30 -0
  9. package/dist-lib/components/composed/chat/chart/chart-context.d.ts +2 -0
  10. package/dist-lib/components/composed/chat/chart/chart-legend.d.ts +4 -0
  11. package/dist-lib/components/composed/chat/chart/chart-plot.d.ts +3 -0
  12. package/dist-lib/components/composed/chat/chart/chart-root.d.ts +3 -0
  13. package/dist-lib/components/composed/chat/chart/chart-tooltip.d.ts +4 -0
  14. package/dist-lib/components/composed/chat/chart/constants.d.ts +3 -0
  15. package/dist-lib/components/composed/chat/chart/evilcharts/echarts-area-chart.d.ts +93 -0
  16. package/dist-lib/components/composed/chat/chart/evilcharts/echarts-bar-chart.d.ts +86 -0
  17. package/dist-lib/components/composed/chat/chart/evilcharts/echarts-brush.d.ts +65 -0
  18. package/dist-lib/components/composed/chat/chart/evilcharts/echarts-chart.d.ts +44 -0
  19. package/dist-lib/components/composed/chat/chart/evilcharts/echarts-dot.d.ts +16 -0
  20. package/dist-lib/components/composed/chat/chart/evilcharts/echarts-legend.d.ts +24 -0
  21. package/dist-lib/components/composed/chat/chart/evilcharts/echarts-line-chart.d.ts +90 -0
  22. package/dist-lib/components/composed/chat/chart/evilcharts/echarts-pie-chart.d.ts +73 -0
  23. package/dist-lib/components/composed/chat/chart/evilcharts/echarts-tooltip.d.ts +29 -0
  24. package/dist-lib/components/composed/chat/chart/index.d.ts +6 -0
  25. package/dist-lib/components/composed/chat/chart/type.d.ts +80 -0
  26. package/dist-lib/components/composed/chat/chart/use-chart-state.d.ts +3 -0
  27. package/dist-lib/components/composed/chat/chart/use-chart.d.ts +6 -0
  28. package/dist-lib/components/composed/chat/chart/utils.d.ts +5 -0
  29. package/dist-lib/components/composed/chat/chart.d.ts +1 -44
  30. package/dist-lib/components/composed/chat/index.d.ts +1 -1
  31. package/dist-lib/components/ui/badge.d.ts +2 -2
  32. package/dist-lib/components/ui/button.d.ts +2 -2
  33. package/dist-lib/components/ui/glasscn/lazy-glass-surface.d.ts +6 -0
  34. package/dist-lib/components/ui/modal.d.ts +10 -0
  35. package/dist-lib/components/ui/overlays.d.ts +4 -0
  36. package/dist-lib/components/ui/select.d.ts +1 -1
  37. package/dist-lib/components/ui/toast.d.ts +2 -0
  38. package/dist-lib/ease-C9At8rnB.js +120 -0
  39. package/dist-lib/exegia-provider-DNTuLljX.js +124 -0
  40. package/dist-lib/index.css +3 -0
  41. package/dist-lib/index.d.ts +3 -0
  42. package/dist-lib/index.js +10283 -8224
  43. package/dist-lib/input.js +28 -0
  44. package/dist-lib/label.js +19 -0
  45. package/dist-lib/lib/segmented-control.d.ts +1 -1
  46. package/dist-lib/lib/state/exegia-provider.d.ts +17 -8
  47. package/dist-lib/lib/state/index.d.ts +2 -0
  48. package/dist-lib/lib/state/portal-context.d.ts +5 -0
  49. package/dist-lib/lib/state/sound-loading.d.ts +4 -0
  50. package/dist-lib/liquid-glass-BihU6nMl.js +50 -0
  51. package/dist-lib/modal-DLaOK-s1.js +82 -0
  52. package/dist-lib/overlays.js +3 -0
  53. package/dist-lib/rolldown-runtime-Dy4uBu1J.js +11 -0
  54. package/dist-lib/scaffold-Qv4hs5Pf.js +925 -0
  55. package/dist-lib/scaffold.js +2 -0
  56. package/dist-lib/shell-BQ9cjIEu.js +722 -0
  57. package/dist-lib/shell.js +2 -0
  58. package/dist-lib/sound-knGH4lj-.js +19 -0
  59. package/dist-lib/state.js +2 -0
  60. package/dist-lib/toast-CataVXHN.js +193 -0
  61. package/dist-lib/utils-BO0qfoA6.js +61 -0
  62. package/package.json +65 -23
  63. package/dist-lib/components/atoms/_layout.d.ts +0 -4
  64. package/dist-lib/components/atoms/bubble/__tests__/bubble.test.d.ts +0 -1
  65. package/dist-lib/components/atoms/bubble/__tests__/reference.test.d.ts +0 -1
  66. package/dist-lib/components/atoms/text/__tests__/text.test.d.ts +0 -1
  67. package/dist-lib/components/atoms/text-selection/__tests__/click-popover.test.d.ts +0 -1
  68. package/dist-lib/components/atoms/text-selection/__tests__/text-selection.test.d.ts +0 -1
  69. package/dist-lib/components/blocks/auth/__tests__/auth-flow-block.test.d.ts +0 -1
  70. package/dist-lib/components/blocks/auth/__tests__/auth-state-atom.test.d.ts +0 -1
  71. package/dist-lib/components/blocks/auth/__tests__/linked-accounts-block.test.d.ts +0 -1
  72. package/dist-lib/components/blocks/auth/__tests__/onboarding-block.test.d.ts +0 -1
  73. package/dist-lib/components/blocks/auth/__tests__/passkey-manager-block.test.d.ts +0 -1
  74. package/dist-lib/components/blocks/auth/__tests__/passkey-sign-in-block.test.d.ts +0 -1
  75. package/dist-lib/components/blocks/auth/__tests__/signup-block.test.d.ts +0 -1
  76. package/dist-lib/components/blocks/auth/__tests__/update-password-block.test.d.ts +0 -1
  77. package/dist-lib/components/blocks/chat/__tests__/ai-panel.test.d.ts +0 -1
  78. package/dist-lib/components/blocks/profile/__tests__/profile-card-block.test.d.ts +0 -1
  79. package/dist-lib/components/blocks/scaffold/__tests__/scaffold-atom.test.d.ts +0 -1
  80. package/dist-lib/components/blocks/scaffold/__tests__/scaffold.test.d.ts +0 -1
  81. package/dist-lib/components/blocks/shell/__tests__/shell-fit-atom.test.d.ts +0 -1
  82. package/dist-lib/components/blocks/shell/__tests__/shell-layout.test.d.ts +0 -1
  83. package/dist-lib/components/blocks/shell/__tests__/shell-metrics.test.d.ts +0 -1
  84. package/dist-lib/components/blocks/sidebar/__tests__/ai-sidebar-atom.test.d.ts +0 -1
  85. package/dist-lib/components/blocks/sidebar/__tests__/ai-sidebar.test.d.ts +0 -1
  86. package/dist-lib/components/blocks/sidebar/__tests__/use-ai-sidebar.test.d.ts +0 -1
  87. package/dist-lib/components/composed/__tests__/logo.test.d.ts +0 -1
  88. package/dist-lib/components/composed/action-bar/__tests__/action-bar.test.d.ts +0 -1
  89. package/dist-lib/components/composed/ai/__tests__/ai.test.d.ts +0 -1
  90. package/dist-lib/components/composed/chat/__tests__/attachment.test.d.ts +0 -1
  91. package/dist-lib/components/composed/chat/__tests__/beautiful-ui.test.d.ts +0 -1
  92. package/dist-lib/components/composed/chat/__tests__/chart.test.d.ts +0 -1
  93. package/dist-lib/components/composed/chat/__tests__/code-block.test.d.ts +0 -1
  94. package/dist-lib/components/composed/chat/__tests__/composer-attachments.test.d.ts +0 -1
  95. package/dist-lib/components/composed/chat/__tests__/composer.test.d.ts +0 -1
  96. package/dist-lib/components/composed/chat/__tests__/flowchart.test.d.ts +0 -1
  97. package/dist-lib/components/composed/chat/__tests__/glass-material.test.d.ts +0 -1
  98. package/dist-lib/components/composed/chat/__tests__/markdown.test.d.ts +0 -1
  99. package/dist-lib/components/composed/chat/__tests__/menu-command.test.d.ts +0 -1
  100. package/dist-lib/components/composed/chat/__tests__/recommendation.test.d.ts +0 -1
  101. package/dist-lib/components/composed/tree/__tests__/tree-atom.test.d.ts +0 -1
  102. package/dist-lib/components/composed/tree/__tests__/tree.test.d.ts +0 -1
  103. package/dist-lib/components/composed/tree/__tests__/use-tree.test.d.ts +0 -1
  104. package/dist-lib/components/composed/user/__tests__/message.test.d.ts +0 -1
  105. package/dist-lib/components/composed/verse/__tests__/verse.test.d.ts +0 -1
  106. package/dist-lib/components/docs/atoms-gallery.d.ts +0 -12
  107. package/dist-lib/components/docs/block-demo-stage.d.ts +0 -7
  108. package/dist-lib/components/docs/blocks-gallery.d.ts +0 -2
  109. package/dist-lib/components/docs/browser.d.ts +0 -10
  110. package/dist-lib/components/docs/code-block.d.ts +0 -4
  111. package/dist-lib/components/docs/components-gallery.d.ts +0 -2
  112. package/dist-lib/components/docs/demo-controls.d.ts +0 -21
  113. package/dist-lib/components/docs/hero.d.ts +0 -5
  114. package/dist-lib/components/docs/mermaid.d.ts +0 -3
  115. package/dist-lib/components/icons/__tests__/icons.test.d.ts +0 -1
  116. package/dist-lib/components/stories/attachment.story.d.ts +0 -11
  117. package/dist-lib/components/stories/auth-flow-block.story.d.ts +0 -2
  118. package/dist-lib/components/stories/avatar.story.d.ts +0 -6
  119. package/dist-lib/components/stories/base.story.d.ts +0 -6
  120. package/dist-lib/components/stories/bubble.story.d.ts +0 -6
  121. package/dist-lib/components/stories/button.story.d.ts +0 -9
  122. package/dist-lib/components/stories/card.story.d.ts +0 -8
  123. package/dist-lib/components/stories/chart.story.d.ts +0 -34
  124. package/dist-lib/components/stories/checkbox.story.d.ts +0 -6
  125. package/dist-lib/components/stories/code-auth-block.story.d.ts +0 -2
  126. package/dist-lib/components/stories/code-block.story.d.ts +0 -12
  127. package/dist-lib/components/stories/composed-password-input.story.d.ts +0 -6
  128. package/dist-lib/components/stories/context-cards.story.d.ts +0 -3
  129. package/dist-lib/components/stories/emoji-action-bar.story.d.ts +0 -3
  130. package/dist-lib/components/stories/field.story.d.ts +0 -6
  131. package/dist-lib/components/stories/file-icons.story.d.ts +0 -5
  132. package/dist-lib/components/stories/filter-table.story.d.ts +0 -21
  133. package/dist-lib/components/stories/flowchart.story.d.ts +0 -3
  134. package/dist-lib/components/stories/forgot-password-block.story.d.ts +0 -2
  135. package/dist-lib/components/stories/frame.story.d.ts +0 -8
  136. package/dist-lib/components/stories/index.d.ts +0 -54
  137. package/dist-lib/components/stories/input-group.story.d.ts +0 -6
  138. package/dist-lib/components/stories/input.story.d.ts +0 -8
  139. package/dist-lib/components/stories/insight-cards.story.d.ts +0 -45
  140. package/dist-lib/components/stories/label.story.d.ts +0 -8
  141. package/dist-lib/components/stories/linked-accounts-block.story.d.ts +0 -2
  142. package/dist-lib/components/stories/login-block.story.d.ts +0 -2
  143. package/dist-lib/components/stories/logo.story.d.ts +0 -3
  144. package/dist-lib/components/stories/markdown.story.d.ts +0 -7
  145. package/dist-lib/components/stories/menu-command.story.d.ts +0 -13
  146. package/dist-lib/components/stories/onboarding-block.story.d.ts +0 -2
  147. package/dist-lib/components/stories/otp-field.story.d.ts +0 -8
  148. package/dist-lib/components/stories/passkey-manager-block.story.d.ts +0 -2
  149. package/dist-lib/components/stories/passkey-sign-in-block.story.d.ts +0 -2
  150. package/dist-lib/components/stories/password-input.story.d.ts +0 -9
  151. package/dist-lib/components/stories/profile-card-block.story.d.ts +0 -6
  152. package/dist-lib/components/stories/recommendation-card.story.d.ts +0 -3
  153. package/dist-lib/components/stories/records-table.story.d.ts +0 -23
  154. package/dist-lib/components/stories/reference.story.d.ts +0 -9
  155. package/dist-lib/components/stories/research-answer.story.d.ts +0 -10
  156. package/dist-lib/components/stories/scaffold-root.story.d.ts +0 -6
  157. package/dist-lib/components/stories/separator.story.d.ts +0 -6
  158. package/dist-lib/components/stories/shell-layout.story.d.ts +0 -2
  159. package/dist-lib/components/stories/signup-block.story.d.ts +0 -2
  160. package/dist-lib/components/stories/social-providers.story.d.ts +0 -3
  161. package/dist-lib/components/stories/streaming-text.story.d.ts +0 -3
  162. package/dist-lib/components/stories/text.story.d.ts +0 -8
  163. package/dist-lib/components/stories/textarea.story.d.ts +0 -6
  164. package/dist-lib/components/stories/tree.story.d.ts +0 -4
  165. package/dist-lib/components/stories/update-password-block.story.d.ts +0 -2
  166. package/dist-lib/components/stories/user.story.d.ts +0 -8
  167. package/dist-lib/components/stories/verse.story.d.ts +0 -6
  168. package/dist-lib/components/ui/chat/__tests__/segmented-toggle.test.d.ts +0 -1
  169. package/dist-lib/index.js.map +0 -1
  170. package/dist-lib/lib/state/__tests__/sound.test.d.ts +0 -1
  171. package/dist-lib/lib/utils.test.d.ts +0 -1
  172. package/src/assets/css/base.css +0 -62
  173. package/src/assets/css/chat.css +0 -229
  174. package/src/assets/css/shadows.css +0 -157
  175. package/src/assets/css/theme.css +0 -321
  176. package/src/components/AGENTS.md +0 -0
  177. package/src/components/atoms/_layout.tsx +0 -9
  178. package/src/components/atoms/avatar/base.tsx +0 -70
  179. package/src/components/atoms/avatar/index.ts +0 -10
  180. package/src/components/atoms/avatar/types.ts +0 -24
  181. package/src/components/atoms/avatar/utils.ts +0 -54
  182. package/src/components/atoms/avatar/verified.tsx +0 -16
  183. package/src/components/atoms/background/index.ts +0 -8
  184. package/src/components/atoms/background/texture.tsx +0 -29
  185. package/src/components/atoms/background/type.ts +0 -10
  186. package/src/components/atoms/background/utils.ts +0 -13
  187. package/src/components/atoms/bubble/__tests__/bubble.test.tsx +0 -193
  188. package/src/components/atoms/bubble/__tests__/reference.test.tsx +0 -25
  189. package/src/components/atoms/bubble/actions.tsx +0 -28
  190. package/src/components/atoms/bubble/context.ts +0 -11
  191. package/src/components/atoms/bubble/default.tsx +0 -46
  192. package/src/components/atoms/bubble/header.tsx +0 -36
  193. package/src/components/atoms/bubble/index.ts +0 -37
  194. package/src/components/atoms/bubble/message.tsx +0 -32
  195. package/src/components/atoms/bubble/reactions.tsx +0 -191
  196. package/src/components/atoms/bubble/types.ts +0 -82
  197. package/src/components/atoms/bubble/utils.ts +0 -46
  198. package/src/components/atoms/chip.tsx +0 -61
  199. package/src/components/atoms/field.tsx +0 -43
  200. package/src/components/atoms/index.ts +0 -26
  201. package/src/components/atoms/loader.tsx +0 -33
  202. package/src/components/atoms/reference.tsx +0 -41
  203. package/src/components/atoms/text/__tests__/text.test.tsx +0 -47
  204. package/src/components/atoms/text/default.tsx +0 -59
  205. package/src/components/atoms/text/heading.tsx +0 -58
  206. package/src/components/atoms/text/index.ts +0 -28
  207. package/src/components/atoms/text/label.tsx +0 -16
  208. package/src/components/atoms/text/paragraph.tsx +0 -55
  209. package/src/components/atoms/text/span.tsx +0 -14
  210. package/src/components/atoms/text/types.ts +0 -41
  211. package/src/components/atoms/text/utils.ts +0 -16
  212. package/src/components/atoms/text-selection/__tests__/click-popover.test.tsx +0 -61
  213. package/src/components/atoms/text-selection/__tests__/text-selection.test.tsx +0 -90
  214. package/src/components/atoms/text-selection/click-popover.tsx +0 -62
  215. package/src/components/atoms/text-selection/index.ts +0 -30
  216. package/src/components/atoms/text-selection/popover.tsx +0 -103
  217. package/src/components/atoms/text-selection/selection-atom.ts +0 -51
  218. package/src/components/atoms/text-selection/selection.tsx +0 -56
  219. package/src/components/atoms/text-selection/types.ts +0 -125
  220. package/src/components/atoms/text-selection/use-selection.ts +0 -84
  221. package/src/components/atoms/types.ts +0 -46
  222. package/src/components/blocks/.gitkeep +0 -0
  223. package/src/components/blocks/auth/__tests__/auth-flow-block.test.tsx +0 -183
  224. package/src/components/blocks/auth/__tests__/auth-state-atom.test.tsx +0 -247
  225. package/src/components/blocks/auth/__tests__/linked-accounts-block.test.tsx +0 -128
  226. package/src/components/blocks/auth/__tests__/onboarding-block.test.tsx +0 -183
  227. package/src/components/blocks/auth/__tests__/passkey-manager-block.test.tsx +0 -131
  228. package/src/components/blocks/auth/__tests__/passkey-sign-in-block.test.tsx +0 -59
  229. package/src/components/blocks/auth/__tests__/signup-block.test.tsx +0 -176
  230. package/src/components/blocks/auth/__tests__/update-password-block.test.tsx +0 -95
  231. package/src/components/blocks/auth/auth-flow-atom.ts +0 -238
  232. package/src/components/blocks/auth/auth-flow-block.tsx +0 -211
  233. package/src/components/blocks/auth/auth-session-atom.ts +0 -82
  234. package/src/components/blocks/auth/auth-shell.tsx +0 -265
  235. package/src/components/blocks/auth/auth-state.ts +0 -40
  236. package/src/components/blocks/auth/code-auth-block.tsx +0 -176
  237. package/src/components/blocks/auth/forgot-password-block.tsx +0 -112
  238. package/src/components/blocks/auth/linked-accounts-block.tsx +0 -203
  239. package/src/components/blocks/auth/login-block.tsx +0 -217
  240. package/src/components/blocks/auth/onboarding/profile-step.tsx +0 -216
  241. package/src/components/blocks/auth/onboarding-block.tsx +0 -183
  242. package/src/components/blocks/auth/passkey-manager-block.tsx +0 -316
  243. package/src/components/blocks/auth/passkey-sign-in-block.tsx +0 -67
  244. package/src/components/blocks/auth/signup-block.tsx +0 -256
  245. package/src/components/blocks/auth/type.ts +0 -436
  246. package/src/components/blocks/auth/update-password-block.tsx +0 -139
  247. package/src/components/blocks/auth/use-auth-state.ts +0 -127
  248. package/src/components/blocks/chat/__tests__/ai-panel.test.tsx +0 -65
  249. package/src/components/blocks/chat/banners.tsx +0 -61
  250. package/src/components/blocks/chat/base.tsx +0 -84
  251. package/src/components/blocks/chat/header.tsx +0 -60
  252. package/src/components/blocks/chat/index.ts +0 -37
  253. package/src/components/blocks/chat/recommendation-stack.tsx +0 -41
  254. package/src/components/blocks/chat/shared.tsx +0 -27
  255. package/src/components/blocks/chat/suggested-prompts.tsx +0 -45
  256. package/src/components/blocks/chat/type.ts +0 -96
  257. package/src/components/blocks/chat/version-history-record.tsx +0 -37
  258. package/src/components/blocks/layout.ts +0 -35
  259. package/src/components/blocks/profile/__tests__/profile-card-block.test.tsx +0 -362
  260. package/src/components/blocks/profile/index.ts +0 -28
  261. package/src/components/blocks/profile/profile-card-atom.ts +0 -247
  262. package/src/components/blocks/profile/profile-card-block.tsx +0 -369
  263. package/src/components/blocks/profile/type.ts +0 -93
  264. package/src/components/blocks/profile/use-profile-card-state.ts +0 -67
  265. package/src/components/blocks/profile/use-profile-card.ts +0 -132
  266. package/src/components/blocks/scaffold/__tests__/scaffold-atom.test.tsx +0 -236
  267. package/src/components/blocks/scaffold/__tests__/scaffold.test.tsx +0 -524
  268. package/src/components/blocks/scaffold/constants.ts +0 -39
  269. package/src/components/blocks/scaffold/index.ts +0 -60
  270. package/src/components/blocks/scaffold/panel-close-button.tsx +0 -36
  271. package/src/components/blocks/scaffold/panel-menu-button.tsx +0 -221
  272. package/src/components/blocks/scaffold/scaffold-actions.tsx +0 -92
  273. package/src/components/blocks/scaffold/scaffold-atom.ts +0 -427
  274. package/src/components/blocks/scaffold/scaffold-canvas.tsx +0 -162
  275. package/src/components/blocks/scaffold/scaffold-context.ts +0 -20
  276. package/src/components/blocks/scaffold/scaffold-inspector.tsx +0 -137
  277. package/src/components/blocks/scaffold/scaffold-main.tsx +0 -28
  278. package/src/components/blocks/scaffold/scaffold-panel.tsx +0 -186
  279. package/src/components/blocks/scaffold/scaffold-root.tsx +0 -120
  280. package/src/components/blocks/scaffold/scaffold-sidebar.tsx +0 -31
  281. package/src/components/blocks/scaffold/scaffold-sub-panel.tsx +0 -122
  282. package/src/components/blocks/scaffold/scaffold-tab.tsx +0 -108
  283. package/src/components/blocks/scaffold/type.ts +0 -264
  284. package/src/components/blocks/scaffold/use-scaffold-state.ts +0 -85
  285. package/src/components/blocks/scaffold/use-scaffold.ts +0 -59
  286. package/src/components/blocks/scaffold/utils.ts +0 -112
  287. package/src/components/blocks/shell/__tests__/shell-fit-atom.test.tsx +0 -362
  288. package/src/components/blocks/shell/__tests__/shell-layout.test.tsx +0 -596
  289. package/src/components/blocks/shell/__tests__/shell-metrics.test.ts +0 -154
  290. package/src/components/blocks/shell/animated-panel-inset.tsx +0 -27
  291. package/src/components/blocks/shell/animated-panel-provider.tsx +0 -269
  292. package/src/components/blocks/shell/animated-panel-trigger.tsx +0 -51
  293. package/src/components/blocks/shell/animated-panel.tsx +0 -180
  294. package/src/components/blocks/shell/index.ts +0 -30
  295. package/src/components/blocks/shell/shell-fit-atom.ts +0 -246
  296. package/src/components/blocks/shell/shell-layout.tsx +0 -139
  297. package/src/components/blocks/shell/shell-metrics.ts +0 -133
  298. package/src/components/blocks/shell/shell-panel-atom.ts +0 -74
  299. package/src/components/blocks/shell/type.ts +0 -361
  300. package/src/components/blocks/shell/use-shell-fit-state.ts +0 -49
  301. package/src/components/blocks/shell/use-shell-fit.ts +0 -153
  302. package/src/components/blocks/shell/use-shell-panels.ts +0 -126
  303. package/src/components/blocks/shell/utils.ts +0 -187
  304. package/src/components/blocks/sidebar/__tests__/ai-sidebar-atom.test.tsx +0 -325
  305. package/src/components/blocks/sidebar/__tests__/ai-sidebar.test.tsx +0 -93
  306. package/src/components/blocks/sidebar/__tests__/use-ai-sidebar.test.tsx +0 -310
  307. package/src/components/blocks/sidebar/ai-sidebar-atom.ts +0 -698
  308. package/src/components/blocks/sidebar/ai-sidebar.tsx +0 -150
  309. package/src/components/blocks/sidebar/index.ts +0 -67
  310. package/src/components/blocks/sidebar/marquee-label.tsx +0 -59
  311. package/src/components/blocks/sidebar/sidebar-context.ts +0 -15
  312. package/src/components/blocks/sidebar/sidebar-icon.tsx +0 -14
  313. package/src/components/blocks/sidebar/sidebar-row.tsx +0 -378
  314. package/src/components/blocks/sidebar/type.ts +0 -294
  315. package/src/components/blocks/sidebar/use-ai-sidebar-state.ts +0 -123
  316. package/src/components/blocks/sidebar/use-ai-sidebar.ts +0 -619
  317. package/src/components/blocks/sidebar/utils.ts +0 -170
  318. package/src/components/blocks/types.ts +0 -6
  319. package/src/components/composed/.gitkeep +0 -0
  320. package/src/components/composed/__tests__/logo.test.tsx +0 -60
  321. package/src/components/composed/action-bar/__tests__/action-bar.test.tsx +0 -125
  322. package/src/components/composed/action-bar/action.tsx +0 -77
  323. package/src/components/composed/action-bar/emojis.tsx +0 -97
  324. package/src/components/composed/action-bar/index.ts +0 -24
  325. package/src/components/composed/action-bar/toolbar.tsx +0 -66
  326. package/src/components/composed/action-bar/types.ts +0 -58
  327. package/src/components/composed/action-bar/utils.ts +0 -140
  328. package/src/components/composed/ai/__tests__/ai.test.tsx +0 -66
  329. package/src/components/composed/ai/avatar.tsx +0 -19
  330. package/src/components/composed/ai/index.ts +0 -36
  331. package/src/components/composed/ai/message.tsx +0 -49
  332. package/src/components/composed/ai/research-answer.tsx +0 -157
  333. package/src/components/composed/ai/shared.tsx +0 -94
  334. package/src/components/composed/ai/streaming-text.tsx +0 -94
  335. package/src/components/composed/ai/suggested-prompt.tsx +0 -183
  336. package/src/components/composed/ai/types.ts +0 -81
  337. package/src/components/composed/chat/__tests__/attachment.test.tsx +0 -218
  338. package/src/components/composed/chat/__tests__/beautiful-ui.test.tsx +0 -57
  339. package/src/components/composed/chat/__tests__/chart.test.tsx +0 -62
  340. package/src/components/composed/chat/__tests__/code-block.test.tsx +0 -12
  341. package/src/components/composed/chat/__tests__/composer-attachments.test.tsx +0 -101
  342. package/src/components/composed/chat/__tests__/composer.test.tsx +0 -248
  343. package/src/components/composed/chat/__tests__/flowchart.test.tsx +0 -145
  344. package/src/components/composed/chat/__tests__/glass-material.test.tsx +0 -54
  345. package/src/components/composed/chat/__tests__/markdown.test.tsx +0 -25
  346. package/src/components/composed/chat/__tests__/menu-command.test.tsx +0 -35
  347. package/src/components/composed/chat/__tests__/recommendation.test.tsx +0 -43
  348. package/src/components/composed/chat/actions.tsx +0 -81
  349. package/src/components/composed/chat/attachment-file.ts +0 -82
  350. package/src/components/composed/chat/attachment.tsx +0 -498
  351. package/src/components/composed/chat/chart.tsx +0 -401
  352. package/src/components/composed/chat/code-block.tsx +0 -123
  353. package/src/components/composed/chat/composer/add-button.tsx +0 -29
  354. package/src/components/composed/chat/composer/base.tsx +0 -573
  355. package/src/components/composed/chat/composer/command-menu.tsx +0 -47
  356. package/src/components/composed/chat/composer/hooks.ts +0 -29
  357. package/src/components/composed/chat/composer/index.ts +0 -19
  358. package/src/components/composed/chat/composer/send-button.tsx +0 -36
  359. package/src/components/composed/chat/composer/suggestions.tsx +0 -115
  360. package/src/components/composed/chat/composer/use-dictation.ts +0 -123
  361. package/src/components/composed/chat/composer/utils.ts +0 -74
  362. package/src/components/composed/chat/context-cards.tsx +0 -63
  363. package/src/components/composed/chat/filter-table.tsx +0 -119
  364. package/src/components/composed/chat/flowchart/chart-node.tsx +0 -162
  365. package/src/components/composed/chat/flowchart/connector.tsx +0 -32
  366. package/src/components/composed/chat/flowchart/constant.ts +0 -26
  367. package/src/components/composed/chat/flowchart/default.tsx +0 -230
  368. package/src/components/composed/chat/flowchart/edge-toolbar.tsx +0 -73
  369. package/src/components/composed/chat/flowchart/hooks.tsx +0 -347
  370. package/src/components/composed/chat/flowchart/index.ts +0 -14
  371. package/src/components/composed/chat/flowchart/step-body.tsx +0 -82
  372. package/src/components/composed/chat/flowchart/types.ts +0 -89
  373. package/src/components/composed/chat/flowchart/utils.ts +0 -78
  374. package/src/components/composed/chat/hint.tsx +0 -59
  375. package/src/components/composed/chat/index.ts +0 -98
  376. package/src/components/composed/chat/insight-cards.tsx +0 -199
  377. package/src/components/composed/chat/markdown-atom.ts +0 -15
  378. package/src/components/composed/chat/markdown.tsx +0 -213
  379. package/src/components/composed/chat/recommendation/checkbox.tsx +0 -122
  380. package/src/components/composed/chat/recommendation/constant.ts +0 -54
  381. package/src/components/composed/chat/recommendation/default.tsx +0 -25
  382. package/src/components/composed/chat/recommendation/group.tsx +0 -36
  383. package/src/components/composed/chat/recommendation/index.ts +0 -17
  384. package/src/components/composed/chat/recommendation/item.tsx +0 -215
  385. package/src/components/composed/chat/recommendation/types.ts +0 -76
  386. package/src/components/composed/chat/records-table.tsx +0 -130
  387. package/src/components/composed/chat/type.ts +0 -157
  388. package/src/components/composed/logo.tsx +0 -171
  389. package/src/components/composed/password-input.tsx +0 -179
  390. package/src/components/composed/reader/applied-mark.tsx +0 -32
  391. package/src/components/composed/reader/apply-toast.tsx +0 -49
  392. package/src/components/composed/reader/index.ts +0 -10
  393. package/src/components/composed/reader/selection-highlight.tsx +0 -26
  394. package/src/components/composed/reader/selection-popover.tsx +0 -149
  395. package/src/components/composed/reader/type.ts +0 -48
  396. package/src/components/composed/social-providers.tsx +0 -154
  397. package/src/components/composed/tree/CLAUDE.md +0 -145
  398. package/src/components/composed/tree/__tests__/tree-atom.test.tsx +0 -217
  399. package/src/components/composed/tree/__tests__/tree.test.tsx +0 -522
  400. package/src/components/composed/tree/__tests__/use-tree.test.tsx +0 -333
  401. package/src/components/composed/tree/constants.ts +0 -55
  402. package/src/components/composed/tree/index.ts +0 -51
  403. package/src/components/composed/tree/tree-atom.ts +0 -590
  404. package/src/components/composed/tree/tree-context.ts +0 -13
  405. package/src/components/composed/tree/tree-node.tsx +0 -496
  406. package/src/components/composed/tree/tree.tsx +0 -233
  407. package/src/components/composed/tree/type.ts +0 -322
  408. package/src/components/composed/tree/use-tree-dnd.ts +0 -179
  409. package/src/components/composed/tree/use-tree-state.ts +0 -105
  410. package/src/components/composed/tree/use-tree.ts +0 -311
  411. package/src/components/composed/tree/utils.ts +0 -172
  412. package/src/components/composed/types.ts +0 -9
  413. package/src/components/composed/user/__tests__/message.test.tsx +0 -79
  414. package/src/components/composed/user/index.ts +0 -14
  415. package/src/components/composed/user/info.tsx +0 -56
  416. package/src/components/composed/user/message.tsx +0 -36
  417. package/src/components/composed/user/pill.tsx +0 -20
  418. package/src/components/composed/user/types.ts +0 -47
  419. package/src/components/composed/user/utils.ts +0 -0
  420. package/src/components/composed/verse/__tests__/verse.test.tsx +0 -57
  421. package/src/components/composed/verse/index.ts +0 -2
  422. package/src/components/composed/verse/types.ts +0 -24
  423. package/src/components/composed/verse/verse.tsx +0 -100
  424. package/src/components/docs/atoms-gallery.tsx +0 -286
  425. package/src/components/docs/block-demo-stage.tsx +0 -38
  426. package/src/components/docs/blocks-gallery.tsx +0 -224
  427. package/src/components/docs/browser.tsx +0 -87
  428. package/src/components/docs/code-block.tsx +0 -10
  429. package/src/components/docs/components-gallery.tsx +0 -182
  430. package/src/components/docs/demo-controls.tsx +0 -142
  431. package/src/components/docs/hero.tsx +0 -197
  432. package/src/components/docs/mermaid.tsx +0 -55
  433. package/src/components/icons/README.md +0 -91
  434. package/src/components/icons/__tests__/icons.test.tsx +0 -58
  435. package/src/components/icons/file-badge-cfm.tsx +0 -615
  436. package/src/components/icons/file-badge-corpus.tsx +0 -604
  437. package/src/components/icons/file-badge-pdf.tsx +0 -570
  438. package/src/components/icons/file-badge-tei.tsx +0 -524
  439. package/src/components/icons/file-badge-tf.tsx +0 -620
  440. package/src/components/icons/file-badge-txt.tsx +0 -607
  441. package/src/components/icons/file-badge-xml.tsx +0 -576
  442. package/src/components/icons/file-wordmark-cfm.tsx +0 -424
  443. package/src/components/icons/file-wordmark-corpus.tsx +0 -454
  444. package/src/components/icons/file-wordmark-pdf.tsx +0 -470
  445. package/src/components/icons/file-wordmark-tei.tsx +0 -424
  446. package/src/components/icons/file-wordmark-tf.tsx +0 -406
  447. package/src/components/icons/file-wordmark-txt.tsx +0 -421
  448. package/src/components/icons/file-wordmark-xml.tsx +0 -424
  449. package/src/components/icons/index.ts +0 -16
  450. package/src/components/icons/types.ts +0 -8
  451. package/src/components/motion/index.ts +0 -0
  452. package/src/components/motion/overflow-actions.tsx +0 -376
  453. package/src/components/motion/popover-morph.tsx +0 -292
  454. package/src/components/motion/popover-position.ts +0 -86
  455. package/src/components/motion/shared-layout-bg.tsx +0 -151
  456. package/src/components/stories/attachment.story.tsx +0 -40
  457. package/src/components/stories/auth-flow-block.story.tsx +0 -17
  458. package/src/components/stories/avatar.story.tsx +0 -33
  459. package/src/components/stories/base.story.tsx +0 -70
  460. package/src/components/stories/bubble.story.tsx +0 -61
  461. package/src/components/stories/button.story.tsx +0 -32
  462. package/src/components/stories/card.story.tsx +0 -36
  463. package/src/components/stories/chart.story.tsx +0 -54
  464. package/src/components/stories/checkbox.story.tsx +0 -30
  465. package/src/components/stories/code-auth-block.story.tsx +0 -20
  466. package/src/components/stories/code-block.story.tsx +0 -35
  467. package/src/components/stories/composed-password-input.story.tsx +0 -41
  468. package/src/components/stories/context-cards.story.tsx +0 -30
  469. package/src/components/stories/emoji-action-bar.story.tsx +0 -20
  470. package/src/components/stories/field.story.tsx +0 -32
  471. package/src/components/stories/file-icons.story.tsx +0 -20
  472. package/src/components/stories/filter-table.story.tsx +0 -63
  473. package/src/components/stories/flowchart.story.tsx +0 -25
  474. package/src/components/stories/forgot-password-block.story.tsx +0 -14
  475. package/src/components/stories/frame.story.tsx +0 -32
  476. package/src/components/stories/index.ts +0 -57
  477. package/src/components/stories/input-group.story.tsx +0 -27
  478. package/src/components/stories/input.story.tsx +0 -42
  479. package/src/components/stories/insight-cards.story.tsx +0 -67
  480. package/src/components/stories/label.story.tsx +0 -32
  481. package/src/components/stories/linked-accounts-block.story.tsx +0 -23
  482. package/src/components/stories/login-block.story.tsx +0 -18
  483. package/src/components/stories/logo.story.tsx +0 -21
  484. package/src/components/stories/markdown.story.tsx +0 -31
  485. package/src/components/stories/menu-command.story.tsx +0 -43
  486. package/src/components/stories/onboarding-block.story.tsx +0 -14
  487. package/src/components/stories/otp-field.story.tsx +0 -35
  488. package/src/components/stories/passkey-manager-block.story.tsx +0 -18
  489. package/src/components/stories/passkey-sign-in-block.story.tsx +0 -15
  490. package/src/components/stories/password-input.story.tsx +0 -35
  491. package/src/components/stories/profile-card-block.story.tsx +0 -29
  492. package/src/components/stories/recommendation-card.story.tsx +0 -37
  493. package/src/components/stories/records-table.story.tsx +0 -52
  494. package/src/components/stories/reference.story.tsx +0 -33
  495. package/src/components/stories/research-answer.story.tsx +0 -32
  496. package/src/components/stories/scaffold-root.story.tsx +0 -47
  497. package/src/components/stories/separator.story.tsx +0 -37
  498. package/src/components/stories/shell-layout.story.tsx +0 -19
  499. package/src/components/stories/signup-block.story.tsx +0 -18
  500. package/src/components/stories/social-providers.story.tsx +0 -26
  501. package/src/components/stories/streaming-text.story.tsx +0 -25
  502. package/src/components/stories/text.story.tsx +0 -31
  503. package/src/components/stories/textarea.story.tsx +0 -34
  504. package/src/components/stories/tree.story.tsx +0 -31
  505. package/src/components/stories/update-password-block.story.tsx +0 -14
  506. package/src/components/stories/user.story.tsx +0 -32
  507. package/src/components/stories/verse.story.tsx +0 -42
  508. package/src/components/theme-provider.tsx +0 -230
  509. package/src/components/types.ts +0 -106
  510. package/src/components/ui/accordion.tsx +0 -68
  511. package/src/components/ui/alert-dialog.tsx +0 -167
  512. package/src/components/ui/alert.tsx +0 -84
  513. package/src/components/ui/autocomplete.tsx +0 -303
  514. package/src/components/ui/avatar.tsx +0 -109
  515. package/src/components/ui/badge.tsx +0 -101
  516. package/src/components/ui/button-group.tsx +0 -88
  517. package/src/components/ui/button.tsx +0 -192
  518. package/src/components/ui/card.tsx +0 -253
  519. package/src/components/ui/chat/__tests__/segmented-toggle.test.tsx +0 -27
  520. package/src/components/ui/chat/avatar-handle.tsx +0 -30
  521. package/src/components/ui/chat/badges.tsx +0 -85
  522. package/src/components/ui/chat/buttons.tsx +0 -94
  523. package/src/components/ui/chat/chips.tsx +0 -106
  524. package/src/components/ui/chat/dot.tsx +0 -81
  525. package/src/components/ui/chat/icon-button.tsx +0 -43
  526. package/src/components/ui/chat/icon-tile.tsx +0 -33
  527. package/src/components/ui/chat/index.ts +0 -12
  528. package/src/components/ui/chat/inline-source.tsx +0 -94
  529. package/src/components/ui/chat/segmented-toggle.tsx +0 -99
  530. package/src/components/ui/chat/tag.tsx +0 -61
  531. package/src/components/ui/chat/thumbnail.tsx +0 -31
  532. package/src/components/ui/chat/waveform.tsx +0 -30
  533. package/src/components/ui/checkbox.tsx +0 -83
  534. package/src/components/ui/collapsible.tsx +0 -42
  535. package/src/components/ui/command.tsx +0 -263
  536. package/src/components/ui/context-menu.tsx +0 -342
  537. package/src/components/ui/emoji-picker.tsx +0 -161
  538. package/src/components/ui/field.tsx +0 -89
  539. package/src/components/ui/frame.tsx +0 -87
  540. package/src/components/ui/glasscn/glass-button-group.tsx +0 -34
  541. package/src/components/ui/glasscn/glass-button.tsx +0 -25
  542. package/src/components/ui/glasscn/glass-container.tsx +0 -94
  543. package/src/components/ui/glasscn/glass-separator.tsx +0 -39
  544. package/src/components/ui/glasscn/liquid-glass.tsx +0 -59
  545. package/src/components/ui/group.tsx +0 -92
  546. package/src/components/ui/input-group.tsx +0 -105
  547. package/src/components/ui/input.tsx +0 -70
  548. package/src/components/ui/kbd.tsx +0 -32
  549. package/src/components/ui/label.tsx +0 -36
  550. package/src/components/ui/menu-command.tsx +0 -156
  551. package/src/components/ui/menu.tsx +0 -352
  552. package/src/components/ui/otp-field.tsx +0 -88
  553. package/src/components/ui/popover-glass.tsx +0 -158
  554. package/src/components/ui/popover.tsx +0 -120
  555. package/src/components/ui/preview-card.tsx +0 -61
  556. package/src/components/ui/scroll-area.tsx +0 -80
  557. package/src/components/ui/select.tsx +0 -257
  558. package/src/components/ui/separator.tsx +0 -23
  559. package/src/components/ui/sheet.tsx +0 -135
  560. package/src/components/ui/skeleton.tsx +0 -18
  561. package/src/components/ui/spinner.tsx +0 -17
  562. package/src/components/ui/switch.tsx +0 -30
  563. package/src/components/ui/tabs.tsx +0 -120
  564. package/src/components/ui/textarea.tsx +0 -58
  565. package/src/components/ui/toast.tsx +0 -325
  566. package/src/components/ui/toolbar.tsx +0 -92
  567. package/src/components/ui/tooltip.tsx +0 -67
  568. package/src/index.css +0 -10
  569. package/src/index.ts +0 -102
  570. package/src/lib/attachment-content.ts +0 -28
  571. package/src/lib/auth-accent.ts +0 -49
  572. package/src/lib/ease.ts +0 -90
  573. package/src/lib/glass-variants.ts +0 -22
  574. package/src/lib/hooks/use-hover-capable.ts +0 -23
  575. package/src/lib/hooks/use-mobile.ts +0 -21
  576. package/src/lib/keyed-atom.ts +0 -60
  577. package/src/lib/segmented-control.ts +0 -42
  578. package/src/lib/sound.ts +0 -39
  579. package/src/lib/specular.ts +0 -10
  580. package/src/lib/state/__tests__/sound.test.tsx +0 -53
  581. package/src/lib/state/exegia-provider.tsx +0 -83
  582. package/src/lib/state/index.ts +0 -4
  583. package/src/lib/state/store.ts +0 -19
  584. package/src/lib/use-motion-panel.ts +0 -78
  585. package/src/lib/utils.test.ts +0 -22
  586. package/src/lib/utils.ts +0 -100
  587. package/src/specular.js +0 -4
  588. /package/{src/components/composed/chat/composer → dist-lib}/BEAUTIFUL-UI-LICENSE.txt +0 -0
@@ -1,67 +0,0 @@
1
- "use client";
2
-
3
- import { Tooltip as TooltipPrimitive } from "@base-ui/react/tooltip";
4
- import type React from "react";
5
- import { cn } from "@/lib/utils";
6
-
7
- export const TooltipCreateHandle: typeof TooltipPrimitive.createHandle =
8
- TooltipPrimitive.createHandle;
9
-
10
- export const TooltipProvider: typeof TooltipPrimitive.Provider =
11
- TooltipPrimitive.Provider;
12
-
13
- export const Tooltip: typeof TooltipPrimitive.Root = TooltipPrimitive.Root;
14
-
15
- export function TooltipTrigger(
16
- props: TooltipPrimitive.Trigger.Props,
17
- ): React.ReactElement {
18
- return <TooltipPrimitive.Trigger data-slot="tooltip-trigger" {...props} />;
19
- }
20
-
21
- export function TooltipPopup({
22
- className,
23
- align = "center",
24
- sideOffset = 4,
25
- side = "top",
26
- anchor,
27
- children,
28
- portalProps,
29
- ...props
30
- }: TooltipPrimitive.Popup.Props & {
31
- align?: TooltipPrimitive.Positioner.Props["align"];
32
- side?: TooltipPrimitive.Positioner.Props["side"];
33
- sideOffset?: TooltipPrimitive.Positioner.Props["sideOffset"];
34
- anchor?: TooltipPrimitive.Positioner.Props["anchor"];
35
- portalProps?: TooltipPrimitive.Portal.Props;
36
- }): React.ReactElement {
37
- return (
38
- <TooltipPrimitive.Portal {...portalProps}>
39
- <TooltipPrimitive.Positioner
40
- align={align}
41
- anchor={anchor}
42
- className="z-50 h-(--positioner-height) w-(--positioner-width) max-w-(--available-width) transition-[top,left,right,bottom,transform] data-instant:transition-none"
43
- data-slot="tooltip-positioner"
44
- side={side}
45
- sideOffset={sideOffset}
46
- >
47
- <TooltipPrimitive.Popup
48
- className={cn(
49
- "relative flex h-(--popup-height,auto) w-(--popup-width,auto) origin-(--transform-origin) text-balance rounded-md border bg-popover not-dark:bg-clip-padding text-popover-foreground text-xs shadow-md/5 transition-[width,height,scale,opacity] before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-md)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] data-ending-style:scale-98 data-starting-style:scale-98 data-ending-style:opacity-0 data-starting-style:opacity-0 data-instant:duration-0 dark:before:shadow-[0_-1px_--theme(--color-white/6%)]",
50
- className,
51
- )}
52
- data-slot="tooltip-popup"
53
- {...props}
54
- >
55
- <TooltipPrimitive.Viewport
56
- className="relative size-full overflow-clip px-(--viewport-inline-padding) py-1 [--viewport-inline-padding:--spacing(2)] data-instant:transition-none **:data-current:data-ending-style:opacity-0 **:data-current:data-starting-style:opacity-0 **:data-previous:data-ending-style:opacity-0 **:data-previous:data-starting-style:opacity-0 **:data-current:w-[calc(var(--popup-width)-2*var(--viewport-inline-padding)-2px)] **:data-previous:w-[calc(var(--popup-width)-2*var(--viewport-inline-padding)-2px)] **:data-previous:truncate **:data-current:opacity-100 **:data-previous:opacity-100 **:data-current:transition-opacity **:data-previous:transition-opacity"
57
- data-slot="tooltip-viewport"
58
- >
59
- {children}
60
- </TooltipPrimitive.Viewport>
61
- </TooltipPrimitive.Popup>
62
- </TooltipPrimitive.Positioner>
63
- </TooltipPrimitive.Portal>
64
- );
65
- }
66
-
67
- export { TooltipPrimitive, TooltipPopup as TooltipContent };
package/src/index.css DELETED
@@ -1,10 +0,0 @@
1
- @import "./assets/css/theme.css";
2
- @import "./assets/css/base.css";
3
- @import "./assets/css/shadows.css";
4
- @import "./assets/css/chat.css";
5
-
6
- @import "@fontsource-variable/inter";
7
- @import "@fontsource-variable/figtree";
8
- @import "motion-icons-react/style.css";
9
-
10
- @plugin "./specular.js";
package/src/index.ts DELETED
@@ -1,102 +0,0 @@
1
- /**
2
- * npm library entry point (`@corpora/ui`).
3
- *
4
- * Export every published component here — atoms from `components/ui`,
5
- * compositions from `components/composed`, blocks from `components/blocks`.
6
- * The docs site (main.tsx + routes.tsx + pages/) is NOT part of the package.
7
- */
8
-
9
- // atoms
10
- export * from "./components/atoms"
11
- // ui/avatar: named, not `export *` — the atoms barrel above owns the bare
12
- // `Avatar` name (the composed identity disc); these are the raw primitives.
13
- export {
14
- AvatarBadge,
15
- AvatarFallback,
16
- AvatarGroup,
17
- AvatarGroupCount,
18
- AvatarImage,
19
- } from "./components/ui/avatar"
20
- export * from "./components/ui/button"
21
- export * from "./components/ui/card"
22
- export * from "./components/ui/checkbox"
23
- export * from "./components/ui/field"
24
- export * from "./components/ui/frame"
25
- export * from "./components/ui/input"
26
- export * from "./components/ui/input-group"
27
- export * from "./components/ui/label"
28
- export * from "./components/ui/menu"
29
- export * from "./components/ui/menu-command"
30
- export * from "./components/ui/context-menu"
31
- export * from "./components/ui/toast"
32
- export * from "./components/ui/otp-field"
33
- export * from "./components/ui/separator"
34
- export * from "./components/ui/skeleton"
35
- export * from "./components/ui/spinner"
36
- export * from "./components/ui/textarea"
37
-
38
- // icons
39
- export * from "./components/icons"
40
-
41
- // components
42
- export * from "./components/composed/ai"
43
- export * from "./components/composed/logo"
44
- export * from "./components/composed/password-input"
45
- export * from "./components/composed/social-providers"
46
- export * from "./components/composed/reader"
47
- export * from "./components/composed/tree"
48
- export { default as User } from "./components/composed/user"
49
- export type { IUserMessageProps, TUserInfoProps, TUserPillProps } from "./components/composed/user/types"
50
- export * from "./components/composed/verse"
51
- // The old `components/user-avatar` module was removed (92f029c); the avatar
52
- // now lives in `components/atoms/avatar` and flows through the atoms barrel.
53
-
54
- // blocks
55
- export * from "./components/blocks/auth/auth-shell"
56
- export * from "./components/blocks/auth/auth-flow-block"
57
- export * from "./components/blocks/auth/auth-state"
58
- export * from "./components/blocks/auth/code-auth-block"
59
- export * from "./components/blocks/auth/forgot-password-block"
60
- export * from "./components/blocks/auth/linked-accounts-block"
61
- export * from "./components/blocks/auth/login-block"
62
- export * from "./components/blocks/auth/onboarding-block"
63
- export * from "./components/blocks/auth/passkey-manager-block"
64
- export * from "./components/blocks/auth/passkey-sign-in-block"
65
- export * from "./components/blocks/auth/signup-block"
66
- export * from "./components/blocks/auth/update-password-block"
67
- export * from "./components/blocks/sidebar"
68
- export * from "./components/blocks/shell"
69
- export { default as ShellLayout } from "./components/blocks/shell"
70
- export * from "./components/blocks/scaffold"
71
- export { default as Layout } from "./components/blocks/layout"
72
- export * from "./components/blocks/profile"
73
-
74
- // motion primitives
75
- export * from "./components/motion/shared-layout-bg"
76
-
77
- // state
78
- export * from "./lib/state"
79
-
80
- // The v0.17 sidebar monolith became the shell block's AnimatedPanel parts.
81
- // `blocks/shell` above already exports every part under its new name; these
82
- // aliases keep the published AnimatedSidebar* names working for consumers.
83
- // `MobileSidebar` is intentionally absent — AnimatedPanel carries a TODO for
84
- // the replacement mobile experience.
85
- export {
86
- AnimatedPanel as AnimatedSidebar,
87
- AnimatedPanelProvider as AnimatedSidebarProvider,
88
- AnimatedPanelTrigger as AnimatedSidebarTrigger,
89
- AnimatedPanelInset as AnimatedSidebarInset,
90
- } from "./components/blocks/shell"
91
-
92
- // lib
93
- export * from "./lib/auth-accent"
94
- export * from "./lib/ease"
95
- export * from "./lib/sound"
96
- export * from "./lib/utils"
97
-
98
- // chat (exegia-ui Sketch library)
99
- export * from "./components/ui/chat"
100
- export * from "./components/composed/chat"
101
- export * from "./components/blocks/chat"
102
- export * from "./lib/keyed-atom"
@@ -1,28 +0,0 @@
1
- import { Children, Fragment, isValidElement, type ReactNode } from "react"
2
-
3
- /** Shared marker keeps the bubble atom independent of the composed attachment. */
4
- export const ATTACHMENT_CONTENT = Symbol.for("corpora-ui.attachment")
5
-
6
- function contentNodes(children: ReactNode): ReactNode[] {
7
- return Children.toArray(children).flatMap((child) =>
8
- isValidElement<{ children?: ReactNode }>(child) && child.type === Fragment
9
- ? contentNodes(child.props.children)
10
- : typeof child === "string" && !child.trim()
11
- ? []
12
- : [child]
13
- )
14
- }
15
-
16
- export function containsOnlyAttachments(children: ReactNode): boolean {
17
- const nodes = contentNodes(children)
18
- return (
19
- nodes.length > 0 &&
20
- nodes.every(
21
- (child) =>
22
- isValidElement(child) &&
23
- Boolean(
24
- (child.type as { [ATTACHMENT_CONTENT]?: boolean })[ATTACHMENT_CONTENT]
25
- )
26
- )
27
- )
28
- }
@@ -1,49 +0,0 @@
1
- /**
2
- * Brand accents for the auth blocks.
3
- *
4
- * An accent is a set of custom properties set on the AuthCard root plus one
5
- * class string applied to the card's primary action. Splitting it this way
6
- * keeps the accent inheritable — anything else inside the card can opt into
7
- * `var(--auth-accent)` without the shell knowing about it.
8
- */
9
-
10
- /** Brand accents available to the auth blocks. */
11
- export type TAuthAccent = "corpora" | "exegia";
12
-
13
- /**
14
- * Custom properties an accent contributes, set on the AuthCard root.
15
- *
16
- * The gradient lives in `--auth-accent-image` because `background-color` can't
17
- * hold one; `--auth-accent` sits underneath as the solid that paints wherever
18
- * the image is `none`. Foregrounds are fixed rather than themed — the accent
19
- * itself is a constant, so its contrast pair has to be too (white on the
20
- * corpora yellow fails badly).
21
- */
22
- export const authAccentVars: Record<TAuthAccent, Record<string, string>> = {
23
- corpora: {
24
- "--auth-accent": "#E8B124",
25
- "--auth-accent-image": "none",
26
- "--auth-accent-foreground": "oklch(0.145 0 0)",
27
- },
28
- exegia: {
29
- "--auth-accent": "#3B0080",
30
- "--auth-accent-image":
31
- "linear-gradient(44deg in oklab, rgba(29,0,202,0.66) 3%, #3B0080 37%, rgba(36,0,72,0.86) 98%)",
32
- "--auth-accent-foreground": "oklch(0.985 0 0)",
33
- },
34
- };
35
-
36
- /**
37
- * Applied to the primary action inside an accented AuthCard, after the button
38
- * cva output so tailwind-merge lets it win over `bg-primary`. The hover and
39
- * pressed background entries are required: `hover:bg-primary/90` lives in a
40
- * different modifier group from `bg-*` and would otherwise survive and repaint
41
- * the button on hover.
42
- *
43
- * Hover uses `brightness` rather than a background tween because the button's
44
- * `transition-property` list is shared with its press/size animations — adding
45
- * `filter` to it means restating the whole list and its per-property
46
- * durations. The trade is an instant hover change instead of a 150ms one.
47
- */
48
- export const authAccentActionStyles =
49
- "border-transparent bg-[var(--auth-accent)] bg-[image:var(--auth-accent-image)] text-[var(--auth-accent-foreground)] shadow-none hover:bg-[var(--auth-accent)] hover:brightness-110 data-pressed:bg-[var(--auth-accent)] data-pressed:brightness-110 *:data-[slot=button-loading-indicator]:text-[var(--auth-accent-foreground)]";
package/src/lib/ease.ts DELETED
@@ -1,90 +0,0 @@
1
- import type { Transition, Variants } from "motion/react"
2
-
3
- export const EASE_OUT = [0.16, 1, 0.3, 1] as const;
4
- export const EASE_IN_OUT = [0.77, 0, 0.175, 1] as const;
5
- export const EASE_DRAWER = [0.32, 0.72, 0, 1] as const;
6
-
7
- /** CSS string form of EASE_OUT for inline style transitions. */
8
- export const EASE_OUT_CSS = "cubic-bezier(0.16, 1, 0.3, 1)";
9
- export const EASE_IN_OUT_MOTION = { type: "spring", stiffness: 300, damping: 30, mass: 0.6 } as const;
10
-
11
- /** Press feedback on buttons and other tappable surfaces. */
12
- export const SPRING_PRESS = {
13
- type: "spring",
14
- stiffness: 500,
15
- damping: 30,
16
- mass: 0.6,
17
- } as const;
18
-
19
- /** Content swaps — label/icon slots trading places inside a control. */
20
- export const SPRING_SWAP = {
21
- type: "spring",
22
- stiffness: 460,
23
- damping: 30,
24
- mass: 0.55,
25
- } as const;
26
-
27
- /** Overlay panel entrances — modals and sheets summoned by pointer. */
28
- export const SPRING_PANEL = {
29
- type: "spring",
30
- stiffness: 420,
31
- damping: 40,
32
- mass: 0.5,
33
- } as const;
34
-
35
- /** Shared-layout glides — pills, indicators and panels morphing between positions. */
36
- export const SPRING_LAYOUT = {
37
- type: "spring",
38
- stiffness: 360,
39
- damping: 32,
40
- mass: 0.6,
41
- } as const;
42
-
43
- /** Cursor-follow physics for decorative mouse tracking (magnetic, tilt, dock). */
44
- export const SPRING_MOUSE = {
45
- stiffness: 200,
46
- damping: 15,
47
- mass: 0.3,
48
- } as const;
49
-
50
- /** Dragged handles and fills (sliders) — critically damped `useSpring` config,
51
- * so the value follows the pointer butterily and never rebounds off an end. */
52
- export const SPRING_GLIDE = {
53
- stiffness: 700,
54
- damping: 50,
55
- mass: 0.5,
56
- } as const;
57
-
58
-
59
- // This needs a softer layout spring than the app defaults, so the overflow group
60
- // stays visually attached to the toggle while entering and leaving.
61
- export const SHELL_TRANSITION: Transition = {
62
- type: "spring",
63
- stiffness: 220,
64
- damping: 17,
65
- mass: 0.85,
66
- };
67
-
68
- export const BOUNCE_IN_OUT: Transition = {
69
- type: "spring",
70
- stiffness: 300,
71
- damping: 20,
72
- mass: 0.50,
73
- } as const;
74
-
75
- export const ICON_VARIANTS: Variants = {
76
- hidden: { opacity: 0, filter: "blur(3px)" },
77
- visible: {
78
- opacity: 1,
79
- filter: "blur(0px)",
80
- transition: { duration: 0.18, ease: EASE_OUT },
81
- },
82
- exit: {
83
- opacity: 0,
84
- filter: "blur(3px)",
85
- transition: { duration: 0.18, ease: EASE_OUT },
86
- },
87
- };
88
-
89
- /** Strong ease-out for pop-ins, row entrances and panel expands. Matches `--ease-out-strong`. */
90
- export const EASE_OUT_STRONG = [0.23, 1, 0.32, 1] as const;
@@ -1,22 +0,0 @@
1
- import type { GlassOptics } from "@samasante/liquid-glass"
2
-
3
- export type TFrostGlassVariant = "clear" | "frosted" | "subtle" | "liquid" | "liquid-refract"
4
- export type TFrostGlassVariantProp = { glassVariant?: TFrostGlassVariant }
5
- export const liquidRefractStyles = "bg-transparent border-0 shadow-none"
6
-
7
- /** Tints only; refraction, frost, and edge lighting belong to the library. */
8
- export const glassVariantStyles: Record<TFrostGlassVariant, string> = {
9
- clear: "bg-white/25 dark:bg-black/25",
10
- frosted: "bg-white/55 dark:bg-black/35",
11
- subtle: "bg-white/30 dark:bg-white/6",
12
- liquid: "bg-white/10 dark:bg-white/4",
13
- "liquid-refract": "bg-white/8 dark:bg-white/4",
14
- }
15
-
16
- export const glassVariantOptics: Record<TFrostGlassVariant, Partial<GlassOptics>> = {
17
- clear: { frost: 2, saturate: 1.9, strength: 0.08 },
18
- frosted: { frost: 16, saturate: 1.6, strength: 0.08 },
19
- subtle: { frost: 4, saturate: 1.5, strength: 0.04 },
20
- liquid: { frost: 4, saturate: 1.8, strength: 0.14 },
21
- "liquid-refract": { frost: 2, saturate: 1.5, strength: 0.14 },
22
- }
@@ -1,23 +0,0 @@
1
- "use client";
2
-
3
- import { useEffect, useState } from "react";
4
-
5
- /**
6
- * Returns true only on devices that have a true hover (mouse / trackpad).
7
- * Touch devices fire phantom `:hover` on tap that sticks until tap-elsewhere
8
- * — gate hover-only effects (scale lifts, magnetic pulls) behind this.
9
- */
10
- export function useHoverCapable() {
11
- const [canHover, setCanHover] = useState(false);
12
-
13
- useEffect(() => {
14
- if (typeof window === "undefined" || !window.matchMedia) return;
15
- const mq = window.matchMedia("(hover: hover) and (pointer: fine)");
16
- const update = () => setCanHover(mq.matches);
17
- update();
18
- mq.addEventListener?.("change", update);
19
- return () => mq.removeEventListener?.("change", update);
20
- }, []);
21
-
22
- return canHover;
23
- }
@@ -1,21 +0,0 @@
1
- import * as React from "react"
2
-
3
- const MOBILE_BREAKPOINT = 768
4
-
5
- function subscribe(onStoreChange: () => void) {
6
- const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`)
7
- mql.addEventListener("change", onStoreChange)
8
- return () => mql.removeEventListener("change", onStoreChange)
9
- }
10
-
11
- function getSnapshot() {
12
- return window.innerWidth < MOBILE_BREAKPOINT
13
- }
14
-
15
- function getServerSnapshot() {
16
- return false
17
- }
18
-
19
- export function useIsMobile() {
20
- return React.useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot)
21
- }
@@ -1,60 +0,0 @@
1
- /**
2
- * String-keyed Jotai atom families for the chat components.
3
- *
4
- * `jotai/utils`' `atomFamily` is deprecated for Jotai v3, so the library keeps
5
- * a tiny in-house family: one cache per family, a `remove(id)` that lets the
6
- * store drop an instance, and a per-feature registry so `removeInstance(id)`
7
- * clears every family of that feature at once. `tree`, `scaffold` and the AI
8
- * sidebar carry their own copies of this shape; new chat state uses this one.
9
- */
10
- import { atom } from "jotai"
11
- import type { Getter, Setter } from "jotai"
12
-
13
- export type TFamily<AtomType> = ((id: string) => AtomType) & { remove: (id: string) => void }
14
-
15
- export function createKeyedFamilies(feature: string) {
16
- const families: { remove: (id: string) => void }[] = []
17
-
18
- function keyed<AtomType>(create: (id: string) => AtomType): TFamily<AtomType> {
19
- const cache = new Map<string, AtomType>()
20
- const family = ((id: string) => {
21
- let instance = cache.get(id)
22
- if (instance === undefined) {
23
- instance = create(id)
24
- cache.set(id, instance)
25
- }
26
- return instance
27
- }) as TFamily<AtomType>
28
- family.remove = (id) => {
29
- cache.delete(id)
30
- }
31
- families.push(family)
32
- return family
33
- }
34
-
35
- function stateFamily<Value>(name: string, initialValue: Value) {
36
- return keyed((id) => {
37
- const instance = atom(initialValue)
38
- instance.debugLabel = `${feature}/${id}/${name}`
39
- return instance
40
- })
41
- }
42
-
43
- function actionFamily<Args extends unknown[]>(
44
- name: string,
45
- write: (get: Getter, set: Setter, id: string, ...args: Args) => void
46
- ) {
47
- return keyed((id) => {
48
- const instance = atom(null, (get, set, ...args: Args) => write(get, set, id, ...args))
49
- instance.debugLabel = `${feature}/${id}/${name}`
50
- return instance
51
- })
52
- }
53
-
54
- /** Drop every atom of one instance so the store can release its state. */
55
- function removeInstance(id: string): void {
56
- for (const family of families) family.remove(id)
57
- }
58
-
59
- return { keyed, stateFamily, actionFamily, removeInstance }
60
- }
@@ -1,42 +0,0 @@
1
- import { cva } from "class-variance-authority";
2
-
3
- export type TSegmentedControlSize = "default" | "lg" | "sm" | "xs";
4
-
5
- export const segmentedControlItemSizeClassNames: Record<
6
- TSegmentedControlSize,
7
- string
8
- > = {
9
- default: "h-8.5 px-[calc(--spacing(2.5)-1px)] sm:h-7.5",
10
- lg: "h-9.5 px-[calc(--spacing(3)-1px)] sm:h-8.5",
11
- sm: "h-7.5 px-[calc(--spacing(2)-1px)] sm:h-6.5",
12
- xs: "h-6.5 px-[calc(--spacing(1.5)-1px)] sm:h-5.5",
13
- };
14
-
15
- export const segmentedControlRootClassName =
16
- "relative z-0 flex w-fit items-center justify-center gap-0.5 rounded-lg bg-muted p-0.5";
17
-
18
- export const segmentedControlItemLayoutClassName =
19
- "gap-1.5 [&_svg:not([class*='opacity-'])]:opacity-80 [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:-mx-0.5 [&_svg]:shrink-0";
20
-
21
- export const segmentedControlItemVariants = cva(
22
- [
23
- "relative inline-flex shrink-0 cursor-pointer select-none items-center justify-center whitespace-nowrap rounded-md border border-transparent font-medium text-base text-muted-foreground/72 outline-2 outline-transparent transition-[outline-color] hover:bg-transparent hover:text-muted-foreground focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-64 data-disabled:pointer-events-none data-disabled:opacity-64 sm:text-sm",
24
- segmentedControlItemLayoutClassName,
25
- ],
26
- {
27
- defaultVariants: {
28
- size: "default",
29
- },
30
- variants: {
31
- size: segmentedControlItemSizeClassNames,
32
- state: {
33
- checked:
34
- "data-checked:bg-background data-checked:text-foreground data-checked:shadow-sm/5 dark:data-checked:bg-input",
35
- current:
36
- "aria-[current=page]:bg-background aria-[current=page]:text-foreground aria-[current=page]:shadow-sm/5 dark:aria-[current=page]:bg-input",
37
- pressed:
38
- "data-pressed:bg-background data-pressed:text-foreground data-pressed:shadow-sm/5 dark:data-pressed:bg-input",
39
- },
40
- },
41
- },
42
- );
package/src/lib/sound.ts DELETED
@@ -1,39 +0,0 @@
1
- /**
2
- * Interaction sound for the library, powered by cuelume (Web Audio synthesis,
3
- * zero runtime deps, SSR-safe).
4
- *
5
- * Components only emit inert `data-cuelume-*` attributes — nothing plays
6
- * until the consuming app opts in once:
7
- *
8
- * import { bindSounds } from "@corpora/ui"
9
- * bindSounds()
10
- *
11
- * The app owns preferences via setSoundEnabled / setSoundVolume.
12
- */
13
- import { bind, play } from "cuelume";
14
- import type { SoundName } from "cuelume";
15
-
16
- let bound = false;
17
-
18
- /** Opt into interaction sound. Delegated and idempotent (see cuelume bind). */
19
- export function bindSounds(root?: ParentNode): void {
20
- bound = true;
21
- bind(root);
22
- }
23
-
24
- /**
25
- * Imperative cue used by library components for keyboard-driven interactions
26
- * the data attributes can't cover (OTP typing, visibility toggles, …).
27
- * No-op until the app has opted in via bindSounds().
28
- */
29
- export function playCue(name: SoundName, options?: { volume?: number }): void {
30
- if (bound) play(name, options);
31
- }
32
-
33
- export {
34
- play as playSound,
35
- setEnabled as setSoundEnabled,
36
- setVolume as setSoundVolume,
37
- sounds,
38
- } from "cuelume";
39
- export type { SoundName };
@@ -1,10 +0,0 @@
1
- import { defineSurfaces } from "@exegia/specular"
2
-
3
- export const surfaces = defineSurfaces({
4
- bezel: {
5
- layers: {
6
- lit: { color: "#fff" },
7
- dim: { color: "#000" },
8
- },
9
- },
10
- })
@@ -1,53 +0,0 @@
1
- import { expect, mock, test } from "bun:test"
2
- import { fireEvent, render, screen } from "@testing-library/react"
3
-
4
- import { Button } from "@/components/ui/button"
5
- import { playCue } from "@/lib/sound"
6
- import { ExegiaProvider } from "../exegia-provider"
7
-
8
- test("sound opt-in connects delegated and imperative cues to Web Audio", () => {
9
- const original = Object.getOwnPropertyDescriptor(window, "AudioContext")
10
- const requestedAudio = mock(() => {})
11
- // Stop at the browser audio boundary: no real speakers are needed by tests.
12
- class UnavailableAudioContext {
13
- constructor() {
14
- requestedAudio()
15
- throw new Error("Audio device unavailable in test")
16
- }
17
- }
18
- Object.defineProperty(window, "AudioContext", {
19
- configurable: true,
20
- value: UnavailableAudioContext,
21
- })
22
-
23
- try {
24
- const view = render(
25
- <ExegiaProvider>
26
- <Button>Audible</Button>
27
- </ExegiaProvider>
28
- )
29
- fireEvent.pointerDown(screen.getByRole("button", { name: "Audible" }))
30
- playCue("tick")
31
- expect(requestedAudio).not.toHaveBeenCalled()
32
-
33
- view.rerender(
34
- <ExegiaProvider sound>
35
- <Button>Audible</Button>
36
- <Button sound={false}>Silent</Button>
37
- </ExegiaProvider>
38
- )
39
- fireEvent.pointerDown(screen.getByRole("button", { name: "Audible" }))
40
- expect(requestedAudio).toHaveBeenCalledTimes(1)
41
- fireEvent.pointerUp(screen.getByRole("button", { name: "Audible" }))
42
- expect(requestedAudio).toHaveBeenCalledTimes(2)
43
- playCue("tick")
44
- expect(requestedAudio).toHaveBeenCalledTimes(3)
45
-
46
- fireEvent.pointerDown(screen.getByRole("button", { name: "Silent" }))
47
- fireEvent.pointerUp(screen.getByRole("button", { name: "Silent" }))
48
- expect(requestedAudio).toHaveBeenCalledTimes(3)
49
- } finally {
50
- if (original) Object.defineProperty(window, "AudioContext", original)
51
- else Reflect.deleteProperty(window, "AudioContext")
52
- }
53
- })