@exegia/corpora-ui 3.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 (587) hide show
  1. package/README.md +20 -0
  2. package/dist-lib/button-CIRkQXA6.js +152 -0
  3. package/dist-lib/button.js +3 -0
  4. package/dist-lib/card.js +150 -0
  5. package/dist-lib/components/atoms/text/default.d.ts +2 -1143
  6. package/dist-lib/components/blocks/shell/index.d.ts +1 -0
  7. package/dist-lib/components/ui/badge.d.ts +2 -2
  8. package/dist-lib/components/ui/button.d.ts +2 -2
  9. package/dist-lib/components/ui/glasscn/lazy-glass-surface.d.ts +6 -0
  10. package/dist-lib/components/ui/modal.d.ts +10 -0
  11. package/dist-lib/components/ui/overlays.d.ts +4 -0
  12. package/dist-lib/components/ui/select.d.ts +1 -1
  13. package/dist-lib/components/ui/toast.d.ts +2 -0
  14. package/dist-lib/ease-C9At8rnB.js +120 -0
  15. package/dist-lib/exegia-provider-DNTuLljX.js +124 -0
  16. package/dist-lib/index.css +3 -0
  17. package/dist-lib/index.d.ts +3 -0
  18. package/dist-lib/index.js +6482 -8894
  19. package/dist-lib/input.js +28 -0
  20. package/dist-lib/label.js +19 -0
  21. package/dist-lib/lib/segmented-control.d.ts +1 -1
  22. package/dist-lib/lib/state/exegia-provider.d.ts +17 -8
  23. package/dist-lib/lib/state/index.d.ts +2 -0
  24. package/dist-lib/lib/state/portal-context.d.ts +5 -0
  25. package/dist-lib/lib/state/sound-loading.d.ts +4 -0
  26. package/dist-lib/liquid-glass-BihU6nMl.js +50 -0
  27. package/dist-lib/modal-DLaOK-s1.js +82 -0
  28. package/dist-lib/overlays.js +3 -0
  29. package/dist-lib/rolldown-runtime-Dy4uBu1J.js +11 -0
  30. package/dist-lib/scaffold-Qv4hs5Pf.js +925 -0
  31. package/dist-lib/scaffold.js +2 -0
  32. package/dist-lib/shell-BQ9cjIEu.js +722 -0
  33. package/dist-lib/shell.js +2 -0
  34. package/dist-lib/sound-knGH4lj-.js +19 -0
  35. package/dist-lib/state.js +2 -0
  36. package/dist-lib/toast-CataVXHN.js +193 -0
  37. package/dist-lib/utils-BO0qfoA6.js +61 -0
  38. package/package.json +64 -23
  39. package/dist-lib/components/atoms/_layout.d.ts +0 -4
  40. package/dist-lib/components/atoms/bubble/__tests__/bubble.test.d.ts +0 -1
  41. package/dist-lib/components/atoms/bubble/__tests__/reference.test.d.ts +0 -1
  42. package/dist-lib/components/atoms/text/__tests__/text.test.d.ts +0 -1
  43. package/dist-lib/components/atoms/text-selection/__tests__/click-popover.test.d.ts +0 -1
  44. package/dist-lib/components/atoms/text-selection/__tests__/text-selection.test.d.ts +0 -1
  45. package/dist-lib/components/blocks/auth/__tests__/auth-flow-block.test.d.ts +0 -1
  46. package/dist-lib/components/blocks/auth/__tests__/auth-state-atom.test.d.ts +0 -1
  47. package/dist-lib/components/blocks/auth/__tests__/linked-accounts-block.test.d.ts +0 -1
  48. package/dist-lib/components/blocks/auth/__tests__/onboarding-block.test.d.ts +0 -1
  49. package/dist-lib/components/blocks/auth/__tests__/passkey-manager-block.test.d.ts +0 -1
  50. package/dist-lib/components/blocks/auth/__tests__/passkey-sign-in-block.test.d.ts +0 -1
  51. package/dist-lib/components/blocks/auth/__tests__/signup-block.test.d.ts +0 -1
  52. package/dist-lib/components/blocks/auth/__tests__/update-password-block.test.d.ts +0 -1
  53. package/dist-lib/components/blocks/chat/__tests__/ai-panel.test.d.ts +0 -1
  54. package/dist-lib/components/blocks/profile/__tests__/profile-card-block.test.d.ts +0 -1
  55. package/dist-lib/components/blocks/scaffold/__tests__/scaffold-atom.test.d.ts +0 -1
  56. package/dist-lib/components/blocks/scaffold/__tests__/scaffold.test.d.ts +0 -1
  57. package/dist-lib/components/blocks/shell/__tests__/shell-fit-atom.test.d.ts +0 -1
  58. package/dist-lib/components/blocks/shell/__tests__/shell-layout.test.d.ts +0 -1
  59. package/dist-lib/components/blocks/shell/__tests__/shell-metrics.test.d.ts +0 -1
  60. package/dist-lib/components/blocks/sidebar/__tests__/ai-sidebar-atom.test.d.ts +0 -1
  61. package/dist-lib/components/blocks/sidebar/__tests__/ai-sidebar.test.d.ts +0 -1
  62. package/dist-lib/components/blocks/sidebar/__tests__/use-ai-sidebar.test.d.ts +0 -1
  63. package/dist-lib/components/composed/__tests__/logo.test.d.ts +0 -1
  64. package/dist-lib/components/composed/action-bar/__tests__/action-bar.test.d.ts +0 -1
  65. package/dist-lib/components/composed/ai/__tests__/ai.test.d.ts +0 -1
  66. package/dist-lib/components/composed/chat/__tests__/attachment.test.d.ts +0 -1
  67. package/dist-lib/components/composed/chat/__tests__/beautiful-ui.test.d.ts +0 -1
  68. package/dist-lib/components/composed/chat/__tests__/chart.test.d.ts +0 -1
  69. package/dist-lib/components/composed/chat/__tests__/code-block.test.d.ts +0 -1
  70. package/dist-lib/components/composed/chat/__tests__/composer-attachments.test.d.ts +0 -1
  71. package/dist-lib/components/composed/chat/__tests__/composer.test.d.ts +0 -1
  72. package/dist-lib/components/composed/chat/__tests__/flowchart.test.d.ts +0 -1
  73. package/dist-lib/components/composed/chat/__tests__/glass-material.test.d.ts +0 -1
  74. package/dist-lib/components/composed/chat/__tests__/markdown.test.d.ts +0 -1
  75. package/dist-lib/components/composed/chat/__tests__/menu-command.test.d.ts +0 -1
  76. package/dist-lib/components/composed/chat/__tests__/recommendation.test.d.ts +0 -1
  77. package/dist-lib/components/composed/tree/__tests__/tree-atom.test.d.ts +0 -1
  78. package/dist-lib/components/composed/tree/__tests__/tree.test.d.ts +0 -1
  79. package/dist-lib/components/composed/tree/__tests__/use-tree.test.d.ts +0 -1
  80. package/dist-lib/components/composed/user/__tests__/message.test.d.ts +0 -1
  81. package/dist-lib/components/composed/verse/__tests__/verse.test.d.ts +0 -1
  82. package/dist-lib/components/docs/atoms-gallery.d.ts +0 -12
  83. package/dist-lib/components/docs/block-demo-stage.d.ts +0 -7
  84. package/dist-lib/components/docs/blocks-gallery.d.ts +0 -2
  85. package/dist-lib/components/docs/browser.d.ts +0 -10
  86. package/dist-lib/components/docs/code-block.d.ts +0 -4
  87. package/dist-lib/components/docs/components-gallery.d.ts +0 -2
  88. package/dist-lib/components/docs/demo-controls.d.ts +0 -21
  89. package/dist-lib/components/docs/hero.d.ts +0 -5
  90. package/dist-lib/components/docs/mermaid.d.ts +0 -3
  91. package/dist-lib/components/icons/__tests__/icons.test.d.ts +0 -1
  92. package/dist-lib/components/stories/attachment.story.d.ts +0 -11
  93. package/dist-lib/components/stories/auth-flow-block.story.d.ts +0 -2
  94. package/dist-lib/components/stories/avatar.story.d.ts +0 -6
  95. package/dist-lib/components/stories/base.story.d.ts +0 -6
  96. package/dist-lib/components/stories/bubble.story.d.ts +0 -6
  97. package/dist-lib/components/stories/button.story.d.ts +0 -9
  98. package/dist-lib/components/stories/card.story.d.ts +0 -8
  99. package/dist-lib/components/stories/chart.story.d.ts +0 -71
  100. package/dist-lib/components/stories/checkbox.story.d.ts +0 -6
  101. package/dist-lib/components/stories/code-auth-block.story.d.ts +0 -2
  102. package/dist-lib/components/stories/code-block.story.d.ts +0 -12
  103. package/dist-lib/components/stories/composed-password-input.story.d.ts +0 -6
  104. package/dist-lib/components/stories/context-cards.story.d.ts +0 -3
  105. package/dist-lib/components/stories/emoji-action-bar.story.d.ts +0 -3
  106. package/dist-lib/components/stories/field.story.d.ts +0 -6
  107. package/dist-lib/components/stories/file-icons.story.d.ts +0 -5
  108. package/dist-lib/components/stories/filter-table.story.d.ts +0 -21
  109. package/dist-lib/components/stories/flowchart.story.d.ts +0 -3
  110. package/dist-lib/components/stories/forgot-password-block.story.d.ts +0 -2
  111. package/dist-lib/components/stories/frame.story.d.ts +0 -8
  112. package/dist-lib/components/stories/index.d.ts +0 -54
  113. package/dist-lib/components/stories/input-group.story.d.ts +0 -6
  114. package/dist-lib/components/stories/input.story.d.ts +0 -8
  115. package/dist-lib/components/stories/insight-cards.story.d.ts +0 -74
  116. package/dist-lib/components/stories/label.story.d.ts +0 -8
  117. package/dist-lib/components/stories/linked-accounts-block.story.d.ts +0 -2
  118. package/dist-lib/components/stories/login-block.story.d.ts +0 -2
  119. package/dist-lib/components/stories/logo.story.d.ts +0 -3
  120. package/dist-lib/components/stories/markdown.story.d.ts +0 -7
  121. package/dist-lib/components/stories/menu-command.story.d.ts +0 -13
  122. package/dist-lib/components/stories/onboarding-block.story.d.ts +0 -2
  123. package/dist-lib/components/stories/otp-field.story.d.ts +0 -8
  124. package/dist-lib/components/stories/passkey-manager-block.story.d.ts +0 -2
  125. package/dist-lib/components/stories/passkey-sign-in-block.story.d.ts +0 -2
  126. package/dist-lib/components/stories/password-input.story.d.ts +0 -9
  127. package/dist-lib/components/stories/profile-card-block.story.d.ts +0 -6
  128. package/dist-lib/components/stories/recommendation-card.story.d.ts +0 -3
  129. package/dist-lib/components/stories/records-table.story.d.ts +0 -23
  130. package/dist-lib/components/stories/reference.story.d.ts +0 -9
  131. package/dist-lib/components/stories/research-answer.story.d.ts +0 -10
  132. package/dist-lib/components/stories/scaffold-root.story.d.ts +0 -6
  133. package/dist-lib/components/stories/separator.story.d.ts +0 -6
  134. package/dist-lib/components/stories/shell-layout.story.d.ts +0 -2
  135. package/dist-lib/components/stories/signup-block.story.d.ts +0 -2
  136. package/dist-lib/components/stories/social-providers.story.d.ts +0 -3
  137. package/dist-lib/components/stories/streaming-text.story.d.ts +0 -3
  138. package/dist-lib/components/stories/text.story.d.ts +0 -8
  139. package/dist-lib/components/stories/textarea.story.d.ts +0 -6
  140. package/dist-lib/components/stories/tree.story.d.ts +0 -4
  141. package/dist-lib/components/stories/update-password-block.story.d.ts +0 -2
  142. package/dist-lib/components/stories/user.story.d.ts +0 -8
  143. package/dist-lib/components/stories/verse.story.d.ts +0 -6
  144. package/dist-lib/components/ui/chat/__tests__/segmented-toggle.test.d.ts +0 -1
  145. package/dist-lib/index.js.map +0 -1
  146. package/dist-lib/lib/state/__tests__/sound.test.d.ts +0 -1
  147. package/dist-lib/lib/utils.test.d.ts +0 -1
  148. package/src/assets/css/base.css +0 -62
  149. package/src/assets/css/chat.css +0 -229
  150. package/src/assets/css/shadows.css +0 -157
  151. package/src/assets/css/theme.css +0 -321
  152. package/src/components/AGENTS.md +0 -0
  153. package/src/components/atoms/_layout.tsx +0 -9
  154. package/src/components/atoms/avatar/base.tsx +0 -70
  155. package/src/components/atoms/avatar/index.ts +0 -10
  156. package/src/components/atoms/avatar/types.ts +0 -24
  157. package/src/components/atoms/avatar/utils.ts +0 -54
  158. package/src/components/atoms/avatar/verified.tsx +0 -16
  159. package/src/components/atoms/background/index.ts +0 -8
  160. package/src/components/atoms/background/texture.tsx +0 -29
  161. package/src/components/atoms/background/type.ts +0 -10
  162. package/src/components/atoms/background/utils.ts +0 -13
  163. package/src/components/atoms/bubble/__tests__/bubble.test.tsx +0 -193
  164. package/src/components/atoms/bubble/__tests__/reference.test.tsx +0 -25
  165. package/src/components/atoms/bubble/actions.tsx +0 -28
  166. package/src/components/atoms/bubble/context.ts +0 -11
  167. package/src/components/atoms/bubble/default.tsx +0 -46
  168. package/src/components/atoms/bubble/header.tsx +0 -36
  169. package/src/components/atoms/bubble/index.ts +0 -37
  170. package/src/components/atoms/bubble/message.tsx +0 -32
  171. package/src/components/atoms/bubble/reactions.tsx +0 -191
  172. package/src/components/atoms/bubble/types.ts +0 -82
  173. package/src/components/atoms/bubble/utils.ts +0 -46
  174. package/src/components/atoms/chip.tsx +0 -61
  175. package/src/components/atoms/field.tsx +0 -43
  176. package/src/components/atoms/index.ts +0 -26
  177. package/src/components/atoms/loader.tsx +0 -33
  178. package/src/components/atoms/reference.tsx +0 -41
  179. package/src/components/atoms/text/__tests__/text.test.tsx +0 -47
  180. package/src/components/atoms/text/default.tsx +0 -59
  181. package/src/components/atoms/text/heading.tsx +0 -58
  182. package/src/components/atoms/text/index.ts +0 -28
  183. package/src/components/atoms/text/label.tsx +0 -16
  184. package/src/components/atoms/text/paragraph.tsx +0 -55
  185. package/src/components/atoms/text/span.tsx +0 -14
  186. package/src/components/atoms/text/types.ts +0 -41
  187. package/src/components/atoms/text/utils.ts +0 -16
  188. package/src/components/atoms/text-selection/__tests__/click-popover.test.tsx +0 -61
  189. package/src/components/atoms/text-selection/__tests__/text-selection.test.tsx +0 -90
  190. package/src/components/atoms/text-selection/click-popover.tsx +0 -62
  191. package/src/components/atoms/text-selection/index.ts +0 -30
  192. package/src/components/atoms/text-selection/popover.tsx +0 -103
  193. package/src/components/atoms/text-selection/selection-atom.ts +0 -51
  194. package/src/components/atoms/text-selection/selection.tsx +0 -56
  195. package/src/components/atoms/text-selection/types.ts +0 -125
  196. package/src/components/atoms/text-selection/use-selection.ts +0 -84
  197. package/src/components/atoms/types.ts +0 -46
  198. package/src/components/blocks/.gitkeep +0 -0
  199. package/src/components/blocks/auth/__tests__/auth-flow-block.test.tsx +0 -183
  200. package/src/components/blocks/auth/__tests__/auth-state-atom.test.tsx +0 -247
  201. package/src/components/blocks/auth/__tests__/linked-accounts-block.test.tsx +0 -128
  202. package/src/components/blocks/auth/__tests__/onboarding-block.test.tsx +0 -183
  203. package/src/components/blocks/auth/__tests__/passkey-manager-block.test.tsx +0 -131
  204. package/src/components/blocks/auth/__tests__/passkey-sign-in-block.test.tsx +0 -59
  205. package/src/components/blocks/auth/__tests__/signup-block.test.tsx +0 -176
  206. package/src/components/blocks/auth/__tests__/update-password-block.test.tsx +0 -95
  207. package/src/components/blocks/auth/auth-flow-atom.ts +0 -238
  208. package/src/components/blocks/auth/auth-flow-block.tsx +0 -211
  209. package/src/components/blocks/auth/auth-session-atom.ts +0 -82
  210. package/src/components/blocks/auth/auth-shell.tsx +0 -265
  211. package/src/components/blocks/auth/auth-state.ts +0 -40
  212. package/src/components/blocks/auth/code-auth-block.tsx +0 -176
  213. package/src/components/blocks/auth/forgot-password-block.tsx +0 -112
  214. package/src/components/blocks/auth/linked-accounts-block.tsx +0 -203
  215. package/src/components/blocks/auth/login-block.tsx +0 -217
  216. package/src/components/blocks/auth/onboarding/profile-step.tsx +0 -216
  217. package/src/components/blocks/auth/onboarding-block.tsx +0 -183
  218. package/src/components/blocks/auth/passkey-manager-block.tsx +0 -316
  219. package/src/components/blocks/auth/passkey-sign-in-block.tsx +0 -67
  220. package/src/components/blocks/auth/signup-block.tsx +0 -256
  221. package/src/components/blocks/auth/type.ts +0 -436
  222. package/src/components/blocks/auth/update-password-block.tsx +0 -139
  223. package/src/components/blocks/auth/use-auth-state.ts +0 -127
  224. package/src/components/blocks/chat/__tests__/ai-panel.test.tsx +0 -65
  225. package/src/components/blocks/chat/banners.tsx +0 -61
  226. package/src/components/blocks/chat/base.tsx +0 -84
  227. package/src/components/blocks/chat/header.tsx +0 -60
  228. package/src/components/blocks/chat/index.ts +0 -37
  229. package/src/components/blocks/chat/recommendation-stack.tsx +0 -41
  230. package/src/components/blocks/chat/shared.tsx +0 -27
  231. package/src/components/blocks/chat/suggested-prompts.tsx +0 -45
  232. package/src/components/blocks/chat/type.ts +0 -96
  233. package/src/components/blocks/chat/version-history-record.tsx +0 -37
  234. package/src/components/blocks/layout.ts +0 -35
  235. package/src/components/blocks/profile/__tests__/profile-card-block.test.tsx +0 -362
  236. package/src/components/blocks/profile/index.ts +0 -28
  237. package/src/components/blocks/profile/profile-card-atom.ts +0 -247
  238. package/src/components/blocks/profile/profile-card-block.tsx +0 -369
  239. package/src/components/blocks/profile/type.ts +0 -93
  240. package/src/components/blocks/profile/use-profile-card-state.ts +0 -67
  241. package/src/components/blocks/profile/use-profile-card.ts +0 -132
  242. package/src/components/blocks/scaffold/__tests__/scaffold-atom.test.tsx +0 -236
  243. package/src/components/blocks/scaffold/__tests__/scaffold.test.tsx +0 -524
  244. package/src/components/blocks/scaffold/constants.ts +0 -39
  245. package/src/components/blocks/scaffold/index.ts +0 -60
  246. package/src/components/blocks/scaffold/panel-close-button.tsx +0 -36
  247. package/src/components/blocks/scaffold/panel-menu-button.tsx +0 -221
  248. package/src/components/blocks/scaffold/scaffold-actions.tsx +0 -92
  249. package/src/components/blocks/scaffold/scaffold-atom.ts +0 -427
  250. package/src/components/blocks/scaffold/scaffold-canvas.tsx +0 -162
  251. package/src/components/blocks/scaffold/scaffold-context.ts +0 -20
  252. package/src/components/blocks/scaffold/scaffold-inspector.tsx +0 -137
  253. package/src/components/blocks/scaffold/scaffold-main.tsx +0 -28
  254. package/src/components/blocks/scaffold/scaffold-panel.tsx +0 -186
  255. package/src/components/blocks/scaffold/scaffold-root.tsx +0 -120
  256. package/src/components/blocks/scaffold/scaffold-sidebar.tsx +0 -31
  257. package/src/components/blocks/scaffold/scaffold-sub-panel.tsx +0 -122
  258. package/src/components/blocks/scaffold/scaffold-tab.tsx +0 -108
  259. package/src/components/blocks/scaffold/type.ts +0 -264
  260. package/src/components/blocks/scaffold/use-scaffold-state.ts +0 -85
  261. package/src/components/blocks/scaffold/use-scaffold.ts +0 -59
  262. package/src/components/blocks/scaffold/utils.ts +0 -112
  263. package/src/components/blocks/shell/__tests__/shell-fit-atom.test.tsx +0 -362
  264. package/src/components/blocks/shell/__tests__/shell-layout.test.tsx +0 -596
  265. package/src/components/blocks/shell/__tests__/shell-metrics.test.ts +0 -154
  266. package/src/components/blocks/shell/animated-panel-inset.tsx +0 -27
  267. package/src/components/blocks/shell/animated-panel-provider.tsx +0 -269
  268. package/src/components/blocks/shell/animated-panel-trigger.tsx +0 -51
  269. package/src/components/blocks/shell/animated-panel.tsx +0 -180
  270. package/src/components/blocks/shell/index.ts +0 -30
  271. package/src/components/blocks/shell/shell-fit-atom.ts +0 -246
  272. package/src/components/blocks/shell/shell-layout.tsx +0 -139
  273. package/src/components/blocks/shell/shell-metrics.ts +0 -133
  274. package/src/components/blocks/shell/shell-panel-atom.ts +0 -74
  275. package/src/components/blocks/shell/type.ts +0 -361
  276. package/src/components/blocks/shell/use-shell-fit-state.ts +0 -49
  277. package/src/components/blocks/shell/use-shell-fit.ts +0 -153
  278. package/src/components/blocks/shell/use-shell-panels.ts +0 -126
  279. package/src/components/blocks/shell/utils.ts +0 -187
  280. package/src/components/blocks/sidebar/__tests__/ai-sidebar-atom.test.tsx +0 -325
  281. package/src/components/blocks/sidebar/__tests__/ai-sidebar.test.tsx +0 -93
  282. package/src/components/blocks/sidebar/__tests__/use-ai-sidebar.test.tsx +0 -310
  283. package/src/components/blocks/sidebar/ai-sidebar-atom.ts +0 -698
  284. package/src/components/blocks/sidebar/ai-sidebar.tsx +0 -150
  285. package/src/components/blocks/sidebar/index.ts +0 -67
  286. package/src/components/blocks/sidebar/marquee-label.tsx +0 -59
  287. package/src/components/blocks/sidebar/sidebar-context.ts +0 -15
  288. package/src/components/blocks/sidebar/sidebar-icon.tsx +0 -14
  289. package/src/components/blocks/sidebar/sidebar-row.tsx +0 -378
  290. package/src/components/blocks/sidebar/type.ts +0 -294
  291. package/src/components/blocks/sidebar/use-ai-sidebar-state.ts +0 -123
  292. package/src/components/blocks/sidebar/use-ai-sidebar.ts +0 -619
  293. package/src/components/blocks/sidebar/utils.ts +0 -170
  294. package/src/components/blocks/types.ts +0 -6
  295. package/src/components/composed/.gitkeep +0 -0
  296. package/src/components/composed/__tests__/logo.test.tsx +0 -60
  297. package/src/components/composed/action-bar/__tests__/action-bar.test.tsx +0 -125
  298. package/src/components/composed/action-bar/action.tsx +0 -77
  299. package/src/components/composed/action-bar/emojis.tsx +0 -97
  300. package/src/components/composed/action-bar/index.ts +0 -24
  301. package/src/components/composed/action-bar/toolbar.tsx +0 -66
  302. package/src/components/composed/action-bar/types.ts +0 -58
  303. package/src/components/composed/action-bar/utils.ts +0 -140
  304. package/src/components/composed/ai/__tests__/ai.test.tsx +0 -66
  305. package/src/components/composed/ai/avatar.tsx +0 -19
  306. package/src/components/composed/ai/index.ts +0 -36
  307. package/src/components/composed/ai/message.tsx +0 -49
  308. package/src/components/composed/ai/research-answer.tsx +0 -157
  309. package/src/components/composed/ai/shared.tsx +0 -94
  310. package/src/components/composed/ai/streaming-text.tsx +0 -94
  311. package/src/components/composed/ai/suggested-prompt.tsx +0 -183
  312. package/src/components/composed/ai/types.ts +0 -81
  313. package/src/components/composed/chat/__tests__/attachment.test.tsx +0 -218
  314. package/src/components/composed/chat/__tests__/beautiful-ui.test.tsx +0 -57
  315. package/src/components/composed/chat/__tests__/chart.test.tsx +0 -316
  316. package/src/components/composed/chat/__tests__/code-block.test.tsx +0 -12
  317. package/src/components/composed/chat/__tests__/composer-attachments.test.tsx +0 -101
  318. package/src/components/composed/chat/__tests__/composer.test.tsx +0 -248
  319. package/src/components/composed/chat/__tests__/flowchart.test.tsx +0 -145
  320. package/src/components/composed/chat/__tests__/glass-material.test.tsx +0 -54
  321. package/src/components/composed/chat/__tests__/markdown.test.tsx +0 -25
  322. package/src/components/composed/chat/__tests__/menu-command.test.tsx +0 -35
  323. package/src/components/composed/chat/__tests__/recommendation.test.tsx +0 -43
  324. package/src/components/composed/chat/actions.tsx +0 -81
  325. package/src/components/composed/chat/attachment-file.ts +0 -82
  326. package/src/components/composed/chat/attachment.tsx +0 -498
  327. package/src/components/composed/chat/chart/chart-atom.ts +0 -55
  328. package/src/components/composed/chat/chart/chart-context.ts +0 -9
  329. package/src/components/composed/chat/chart/chart-legend.tsx +0 -75
  330. package/src/components/composed/chat/chart/chart-plot.tsx +0 -233
  331. package/src/components/composed/chat/chart/chart-root.tsx +0 -229
  332. package/src/components/composed/chat/chart/chart-tooltip.tsx +0 -74
  333. package/src/components/composed/chat/chart/constants.ts +0 -8
  334. package/src/components/composed/chat/chart/evilcharts/README.md +0 -8
  335. package/src/components/composed/chat/chart/evilcharts/echarts-area-chart.tsx +0 -2358
  336. package/src/components/composed/chat/chart/evilcharts/echarts-bar-chart.tsx +0 -2261
  337. package/src/components/composed/chat/chart/evilcharts/echarts-brush.tsx +0 -233
  338. package/src/components/composed/chat/chart/evilcharts/echarts-chart.tsx +0 -214
  339. package/src/components/composed/chat/chart/evilcharts/echarts-dot.tsx +0 -111
  340. package/src/components/composed/chat/chart/evilcharts/echarts-legend.tsx +0 -131
  341. package/src/components/composed/chat/chart/evilcharts/echarts-line-chart.tsx +0 -2112
  342. package/src/components/composed/chat/chart/evilcharts/echarts-pie-chart.tsx +0 -1235
  343. package/src/components/composed/chat/chart/evilcharts/echarts-tooltip.tsx +0 -125
  344. package/src/components/composed/chat/chart/index.ts +0 -13
  345. package/src/components/composed/chat/chart/type.ts +0 -88
  346. package/src/components/composed/chat/chart/use-chart-state.ts +0 -22
  347. package/src/components/composed/chat/chart/use-chart.ts +0 -70
  348. package/src/components/composed/chat/chart/utils.ts +0 -47
  349. package/src/components/composed/chat/chart.tsx +0 -3
  350. package/src/components/composed/chat/code-block.tsx +0 -123
  351. package/src/components/composed/chat/composer/add-button.tsx +0 -29
  352. package/src/components/composed/chat/composer/base.tsx +0 -573
  353. package/src/components/composed/chat/composer/command-menu.tsx +0 -47
  354. package/src/components/composed/chat/composer/hooks.ts +0 -29
  355. package/src/components/composed/chat/composer/index.ts +0 -19
  356. package/src/components/composed/chat/composer/send-button.tsx +0 -36
  357. package/src/components/composed/chat/composer/suggestions.tsx +0 -115
  358. package/src/components/composed/chat/composer/use-dictation.ts +0 -123
  359. package/src/components/composed/chat/composer/utils.ts +0 -74
  360. package/src/components/composed/chat/context-cards.tsx +0 -63
  361. package/src/components/composed/chat/filter-table.tsx +0 -119
  362. package/src/components/composed/chat/flowchart/chart-node.tsx +0 -162
  363. package/src/components/composed/chat/flowchart/connector.tsx +0 -32
  364. package/src/components/composed/chat/flowchart/constant.ts +0 -26
  365. package/src/components/composed/chat/flowchart/default.tsx +0 -230
  366. package/src/components/composed/chat/flowchart/edge-toolbar.tsx +0 -73
  367. package/src/components/composed/chat/flowchart/hooks.tsx +0 -347
  368. package/src/components/composed/chat/flowchart/index.ts +0 -14
  369. package/src/components/composed/chat/flowchart/step-body.tsx +0 -82
  370. package/src/components/composed/chat/flowchart/types.ts +0 -89
  371. package/src/components/composed/chat/flowchart/utils.ts +0 -78
  372. package/src/components/composed/chat/hint.tsx +0 -59
  373. package/src/components/composed/chat/index.ts +0 -92
  374. package/src/components/composed/chat/insight-cards.tsx +0 -199
  375. package/src/components/composed/chat/markdown-atom.ts +0 -15
  376. package/src/components/composed/chat/markdown.tsx +0 -213
  377. package/src/components/composed/chat/recommendation/checkbox.tsx +0 -122
  378. package/src/components/composed/chat/recommendation/constant.ts +0 -54
  379. package/src/components/composed/chat/recommendation/default.tsx +0 -25
  380. package/src/components/composed/chat/recommendation/group.tsx +0 -36
  381. package/src/components/composed/chat/recommendation/index.ts +0 -17
  382. package/src/components/composed/chat/recommendation/item.tsx +0 -215
  383. package/src/components/composed/chat/recommendation/types.ts +0 -76
  384. package/src/components/composed/chat/records-table.tsx +0 -130
  385. package/src/components/composed/chat/type.ts +0 -157
  386. package/src/components/composed/logo.tsx +0 -171
  387. package/src/components/composed/password-input.tsx +0 -179
  388. package/src/components/composed/reader/applied-mark.tsx +0 -32
  389. package/src/components/composed/reader/apply-toast.tsx +0 -49
  390. package/src/components/composed/reader/index.ts +0 -10
  391. package/src/components/composed/reader/selection-highlight.tsx +0 -26
  392. package/src/components/composed/reader/selection-popover.tsx +0 -149
  393. package/src/components/composed/reader/type.ts +0 -48
  394. package/src/components/composed/social-providers.tsx +0 -154
  395. package/src/components/composed/tree/CLAUDE.md +0 -145
  396. package/src/components/composed/tree/__tests__/tree-atom.test.tsx +0 -217
  397. package/src/components/composed/tree/__tests__/tree.test.tsx +0 -522
  398. package/src/components/composed/tree/__tests__/use-tree.test.tsx +0 -333
  399. package/src/components/composed/tree/constants.ts +0 -55
  400. package/src/components/composed/tree/index.ts +0 -51
  401. package/src/components/composed/tree/tree-atom.ts +0 -590
  402. package/src/components/composed/tree/tree-context.ts +0 -13
  403. package/src/components/composed/tree/tree-node.tsx +0 -496
  404. package/src/components/composed/tree/tree.tsx +0 -233
  405. package/src/components/composed/tree/type.ts +0 -322
  406. package/src/components/composed/tree/use-tree-dnd.ts +0 -179
  407. package/src/components/composed/tree/use-tree-state.ts +0 -105
  408. package/src/components/composed/tree/use-tree.ts +0 -311
  409. package/src/components/composed/tree/utils.ts +0 -172
  410. package/src/components/composed/types.ts +0 -9
  411. package/src/components/composed/user/__tests__/message.test.tsx +0 -79
  412. package/src/components/composed/user/index.ts +0 -14
  413. package/src/components/composed/user/info.tsx +0 -56
  414. package/src/components/composed/user/message.tsx +0 -36
  415. package/src/components/composed/user/pill.tsx +0 -20
  416. package/src/components/composed/user/types.ts +0 -47
  417. package/src/components/composed/user/utils.ts +0 -0
  418. package/src/components/composed/verse/__tests__/verse.test.tsx +0 -57
  419. package/src/components/composed/verse/index.ts +0 -2
  420. package/src/components/composed/verse/types.ts +0 -24
  421. package/src/components/composed/verse/verse.tsx +0 -100
  422. package/src/components/docs/atoms-gallery.tsx +0 -286
  423. package/src/components/docs/block-demo-stage.tsx +0 -38
  424. package/src/components/docs/blocks-gallery.tsx +0 -224
  425. package/src/components/docs/browser.tsx +0 -87
  426. package/src/components/docs/code-block.tsx +0 -10
  427. package/src/components/docs/components-gallery.tsx +0 -182
  428. package/src/components/docs/demo-controls.tsx +0 -142
  429. package/src/components/docs/hero.tsx +0 -197
  430. package/src/components/docs/mermaid.tsx +0 -55
  431. package/src/components/icons/README.md +0 -91
  432. package/src/components/icons/__tests__/icons.test.tsx +0 -58
  433. package/src/components/icons/file-badge-cfm.tsx +0 -615
  434. package/src/components/icons/file-badge-corpus.tsx +0 -604
  435. package/src/components/icons/file-badge-pdf.tsx +0 -570
  436. package/src/components/icons/file-badge-tei.tsx +0 -524
  437. package/src/components/icons/file-badge-tf.tsx +0 -620
  438. package/src/components/icons/file-badge-txt.tsx +0 -607
  439. package/src/components/icons/file-badge-xml.tsx +0 -576
  440. package/src/components/icons/file-wordmark-cfm.tsx +0 -424
  441. package/src/components/icons/file-wordmark-corpus.tsx +0 -454
  442. package/src/components/icons/file-wordmark-pdf.tsx +0 -470
  443. package/src/components/icons/file-wordmark-tei.tsx +0 -424
  444. package/src/components/icons/file-wordmark-tf.tsx +0 -406
  445. package/src/components/icons/file-wordmark-txt.tsx +0 -421
  446. package/src/components/icons/file-wordmark-xml.tsx +0 -424
  447. package/src/components/icons/index.ts +0 -16
  448. package/src/components/icons/types.ts +0 -8
  449. package/src/components/motion/index.ts +0 -0
  450. package/src/components/motion/overflow-actions.tsx +0 -376
  451. package/src/components/motion/popover-morph.tsx +0 -292
  452. package/src/components/motion/popover-position.ts +0 -86
  453. package/src/components/motion/shared-layout-bg.tsx +0 -151
  454. package/src/components/stories/attachment.story.tsx +0 -40
  455. package/src/components/stories/auth-flow-block.story.tsx +0 -17
  456. package/src/components/stories/avatar.story.tsx +0 -33
  457. package/src/components/stories/base.story.tsx +0 -70
  458. package/src/components/stories/bubble.story.tsx +0 -61
  459. package/src/components/stories/button.story.tsx +0 -32
  460. package/src/components/stories/card.story.tsx +0 -36
  461. package/src/components/stories/chart.story.tsx +0 -69
  462. package/src/components/stories/checkbox.story.tsx +0 -30
  463. package/src/components/stories/code-auth-block.story.tsx +0 -20
  464. package/src/components/stories/code-block.story.tsx +0 -35
  465. package/src/components/stories/composed-password-input.story.tsx +0 -41
  466. package/src/components/stories/context-cards.story.tsx +0 -30
  467. package/src/components/stories/emoji-action-bar.story.tsx +0 -20
  468. package/src/components/stories/field.story.tsx +0 -32
  469. package/src/components/stories/file-icons.story.tsx +0 -20
  470. package/src/components/stories/filter-table.story.tsx +0 -63
  471. package/src/components/stories/flowchart.story.tsx +0 -25
  472. package/src/components/stories/forgot-password-block.story.tsx +0 -14
  473. package/src/components/stories/frame.story.tsx +0 -32
  474. package/src/components/stories/index.ts +0 -57
  475. package/src/components/stories/input-group.story.tsx +0 -27
  476. package/src/components/stories/input.story.tsx +0 -42
  477. package/src/components/stories/insight-cards.story.tsx +0 -67
  478. package/src/components/stories/label.story.tsx +0 -32
  479. package/src/components/stories/linked-accounts-block.story.tsx +0 -23
  480. package/src/components/stories/login-block.story.tsx +0 -18
  481. package/src/components/stories/logo.story.tsx +0 -21
  482. package/src/components/stories/markdown.story.tsx +0 -31
  483. package/src/components/stories/menu-command.story.tsx +0 -43
  484. package/src/components/stories/onboarding-block.story.tsx +0 -14
  485. package/src/components/stories/otp-field.story.tsx +0 -35
  486. package/src/components/stories/passkey-manager-block.story.tsx +0 -18
  487. package/src/components/stories/passkey-sign-in-block.story.tsx +0 -15
  488. package/src/components/stories/password-input.story.tsx +0 -35
  489. package/src/components/stories/profile-card-block.story.tsx +0 -29
  490. package/src/components/stories/recommendation-card.story.tsx +0 -37
  491. package/src/components/stories/records-table.story.tsx +0 -52
  492. package/src/components/stories/reference.story.tsx +0 -33
  493. package/src/components/stories/research-answer.story.tsx +0 -32
  494. package/src/components/stories/scaffold-root.story.tsx +0 -47
  495. package/src/components/stories/separator.story.tsx +0 -37
  496. package/src/components/stories/shell-layout.story.tsx +0 -19
  497. package/src/components/stories/signup-block.story.tsx +0 -18
  498. package/src/components/stories/social-providers.story.tsx +0 -26
  499. package/src/components/stories/streaming-text.story.tsx +0 -25
  500. package/src/components/stories/text.story.tsx +0 -31
  501. package/src/components/stories/textarea.story.tsx +0 -34
  502. package/src/components/stories/tree.story.tsx +0 -31
  503. package/src/components/stories/update-password-block.story.tsx +0 -14
  504. package/src/components/stories/user.story.tsx +0 -32
  505. package/src/components/stories/verse.story.tsx +0 -42
  506. package/src/components/theme-provider.tsx +0 -230
  507. package/src/components/types.ts +0 -106
  508. package/src/components/ui/accordion.tsx +0 -68
  509. package/src/components/ui/alert-dialog.tsx +0 -167
  510. package/src/components/ui/alert.tsx +0 -84
  511. package/src/components/ui/autocomplete.tsx +0 -303
  512. package/src/components/ui/avatar.tsx +0 -109
  513. package/src/components/ui/badge.tsx +0 -101
  514. package/src/components/ui/button-group.tsx +0 -88
  515. package/src/components/ui/button.tsx +0 -192
  516. package/src/components/ui/card.tsx +0 -253
  517. package/src/components/ui/chat/__tests__/segmented-toggle.test.tsx +0 -27
  518. package/src/components/ui/chat/avatar-handle.tsx +0 -30
  519. package/src/components/ui/chat/badges.tsx +0 -85
  520. package/src/components/ui/chat/buttons.tsx +0 -94
  521. package/src/components/ui/chat/chips.tsx +0 -106
  522. package/src/components/ui/chat/dot.tsx +0 -81
  523. package/src/components/ui/chat/icon-button.tsx +0 -43
  524. package/src/components/ui/chat/icon-tile.tsx +0 -33
  525. package/src/components/ui/chat/index.ts +0 -12
  526. package/src/components/ui/chat/inline-source.tsx +0 -94
  527. package/src/components/ui/chat/segmented-toggle.tsx +0 -99
  528. package/src/components/ui/chat/tag.tsx +0 -61
  529. package/src/components/ui/chat/thumbnail.tsx +0 -31
  530. package/src/components/ui/chat/waveform.tsx +0 -30
  531. package/src/components/ui/checkbox.tsx +0 -83
  532. package/src/components/ui/collapsible.tsx +0 -42
  533. package/src/components/ui/command.tsx +0 -263
  534. package/src/components/ui/context-menu.tsx +0 -342
  535. package/src/components/ui/emoji-picker.tsx +0 -161
  536. package/src/components/ui/field.tsx +0 -89
  537. package/src/components/ui/frame.tsx +0 -87
  538. package/src/components/ui/glasscn/glass-button-group.tsx +0 -34
  539. package/src/components/ui/glasscn/glass-button.tsx +0 -25
  540. package/src/components/ui/glasscn/glass-container.tsx +0 -94
  541. package/src/components/ui/glasscn/glass-separator.tsx +0 -39
  542. package/src/components/ui/glasscn/liquid-glass.tsx +0 -59
  543. package/src/components/ui/group.tsx +0 -92
  544. package/src/components/ui/input-group.tsx +0 -105
  545. package/src/components/ui/input.tsx +0 -70
  546. package/src/components/ui/kbd.tsx +0 -32
  547. package/src/components/ui/label.tsx +0 -36
  548. package/src/components/ui/menu-command.tsx +0 -156
  549. package/src/components/ui/menu.tsx +0 -352
  550. package/src/components/ui/otp-field.tsx +0 -88
  551. package/src/components/ui/popover-glass.tsx +0 -158
  552. package/src/components/ui/popover.tsx +0 -120
  553. package/src/components/ui/preview-card.tsx +0 -61
  554. package/src/components/ui/scroll-area.tsx +0 -80
  555. package/src/components/ui/select.tsx +0 -257
  556. package/src/components/ui/separator.tsx +0 -23
  557. package/src/components/ui/sheet.tsx +0 -135
  558. package/src/components/ui/skeleton.tsx +0 -18
  559. package/src/components/ui/spinner.tsx +0 -17
  560. package/src/components/ui/switch.tsx +0 -30
  561. package/src/components/ui/tabs.tsx +0 -120
  562. package/src/components/ui/textarea.tsx +0 -58
  563. package/src/components/ui/toast.tsx +0 -325
  564. package/src/components/ui/toolbar.tsx +0 -92
  565. package/src/components/ui/tooltip.tsx +0 -67
  566. package/src/index.css +0 -10
  567. package/src/index.ts +0 -102
  568. package/src/lib/attachment-content.ts +0 -28
  569. package/src/lib/auth-accent.ts +0 -49
  570. package/src/lib/ease.ts +0 -90
  571. package/src/lib/glass-variants.ts +0 -22
  572. package/src/lib/hooks/use-hover-capable.ts +0 -23
  573. package/src/lib/hooks/use-mobile.ts +0 -21
  574. package/src/lib/keyed-atom.ts +0 -60
  575. package/src/lib/segmented-control.ts +0 -42
  576. package/src/lib/sound.ts +0 -39
  577. package/src/lib/specular.ts +0 -10
  578. package/src/lib/state/__tests__/sound.test.tsx +0 -53
  579. package/src/lib/state/exegia-provider.tsx +0 -83
  580. package/src/lib/state/index.ts +0 -4
  581. package/src/lib/state/store.ts +0 -19
  582. package/src/lib/use-motion-panel.ts +0 -78
  583. package/src/lib/utils.test.ts +0 -22
  584. package/src/lib/utils.ts +0 -100
  585. package/src/specular.js +0 -4
  586. /package/{src/components/composed/chat/composer → dist-lib}/BEAUTIFUL-UI-LICENSE.txt +0 -0
  587. /package/{src/components/composed/chat/chart/evilcharts/LICENSE → dist-lib/EVILCHARTS-LICENSE.txt} +0 -0
@@ -1,182 +0,0 @@
1
- "use client"
2
-
3
- import AI from "@/components/composed/ai"
4
- import { PasswordInput } from "@/components/composed/password-input"
5
- import { SocialProviders } from "@/components/composed/social-providers"
6
- import {
7
- Chart,
8
- ContextCards,
9
- RecommendationCard,
10
- } from "@/components/composed/chat"
11
- import User from "@/components/composed/user"
12
- import { Verse } from "@/components/composed/verse"
13
-
14
- import { GalleryTile } from "./atoms-gallery"
15
-
16
- const COVERAGE = [
17
- { label: "Iliad", value: 79 },
18
- { label: "Odyssey", value: 72 },
19
- { label: "Hesiod", value: 61 },
20
- ]
21
-
22
- export function ComponentsGallery() {
23
- return (
24
- <div className="not-prose gap-4 md:auto-rows-[minmax(11rem,auto)] md:grid-cols-4 grid grid-cols-1">
25
- <GalleryTile
26
- index={0}
27
- href="/composed/research-answer"
28
- name="Research answer"
29
- blurb="Grounded answers with source metadata and actions"
30
- className="md:col-span-2 md:row-span-2"
31
- >
32
- <div className="flex justify-center">
33
- <AI.ResearchAnswer
34
- kickerSub="Answered from 3 passages · 0.8 s"
35
- content="Apollo’s plague forces an assembly—the first boundary of the poem."
36
- source="Iliad · Homer corpus"
37
- date="c. 750 BCE"
38
- authors="Homer · M. L. West"
39
- />
40
- </div>
41
- </GalleryTile>
42
-
43
- <GalleryTile
44
- index={1}
45
- href="/composed/password-input"
46
- name="Password Input"
47
- blurb="Visibility controls and live strength feedback"
48
- className="md:col-span-2"
49
- >
50
- <div className="max-w-sm mx-auto">
51
- <PasswordInput
52
- aria-label="Example password"
53
- defaultValue="Iliad2026"
54
- showStrength
55
- sound={false}
56
- />
57
- </div>
58
- </GalleryTile>
59
-
60
- <GalleryTile
61
- index={2}
62
- href="/composed/user"
63
- name="User"
64
- blurb="Identity rows, roles, presence and mentions"
65
- >
66
- <div className="flex justify-center">
67
- <User.Info
68
- description="Corpus editor"
69
- user={{
70
- firstName: "Jenny",
71
- lastName: "Hamilton",
72
- role: "Editor",
73
- status: "online",
74
- }}
75
- variant="info"
76
- />
77
- </div>
78
- </GalleryTile>
79
-
80
- <GalleryTile
81
- index={3}
82
- href="/composed/social-providers"
83
- name="Social Providers"
84
- blurb="Provider actions in compact or stacked layouts"
85
- >
86
- <SocialProviders
87
- layout="row"
88
- providers={["google", "apple", "github"]}
89
- />
90
- </GalleryTile>
91
-
92
- <GalleryTile
93
- index={4}
94
- href="/composed/verse"
95
- name="Verse"
96
- blurb="Corpus text with references and inline annotations"
97
- className="md:col-span-2"
98
- >
99
- <div className="max-w-lg mx-auto text-center">
100
- <Verse chapter="1:1" href="/composed/verse" size="large">
101
- Sing, goddess, the anger of Peleus&apos; son Achilles.
102
- </Verse>
103
- </div>
104
- </GalleryTile>
105
-
106
- <GalleryTile
107
- index={5}
108
- href="/composed/chart"
109
- name="Chart"
110
- blurb="Token-aware corpus data visualizations"
111
- className="md:col-span-2"
112
- >
113
- <div className="flex justify-center">
114
- <Chart
115
- className="w-full max-w-[360px]"
116
- type="bar"
117
- title="Lemma coverage"
118
- subtitle="Resolved tokens"
119
- data={COVERAGE}
120
- series={[
121
- {
122
- key: "value",
123
- label: "Coverage",
124
- format: (value) => `${value}%`,
125
- },
126
- ]}
127
- plotHeight={100}
128
- />
129
- </div>
130
- </GalleryTile>
131
-
132
- <GalleryTile
133
- index={6}
134
- href="/composed/recommendation-card"
135
- name="Recommendation card"
136
- blurb="Human-in-the-loop review with confidence signals"
137
- className="md:col-span-2 md:row-span-2"
138
- stageClassName="items-start"
139
- >
140
- <RecommendationCard
141
- acceptLabel="Apply fix"
142
- confidence="high"
143
- description="Change label from paragraph to p on"
144
- entity={{ name: "node p-17", initials: "P" }}
145
- leadTime="2 min"
146
- title="Fix the label mismatch?"
147
- />
148
- </GalleryTile>
149
-
150
- <GalleryTile
151
- index={7}
152
- href="/composed/context-cards"
153
- name="Context cards"
154
- blurb="Retrieved passages with compact source metadata"
155
- className="md:col-span-2 md:row-span-2"
156
- stageClassName="items-start"
157
- >
158
- <div className="flex justify-center">
159
- <ContextCards
160
- count={32}
161
- cards={[
162
- {
163
- title: "Iliad 1.1",
164
- meta: "290 characters",
165
- snippet: "Sing, goddess, the anger of Achilles.",
166
- file: { name: "iliad.txt", type: "TXT" },
167
- },
168
- {
169
- title: "Iliad 1.12",
170
- meta: "184 characters",
171
- snippet: "Apollo came down from Olympus in anger.",
172
- file: { name: "iliad.xml", type: "XML" },
173
- },
174
- ]}
175
- />
176
- </div>
177
- </GalleryTile>
178
- </div>
179
- )
180
- }
181
-
182
- export default ComponentsGallery
@@ -1,142 +0,0 @@
1
- "use client"
2
-
3
- import type * as React from "react"
4
-
5
- import { Card, CardContent } from "@/components/ui/card"
6
- import { Field, FieldLabel } from "@/components/ui/field"
7
- import { Switch } from "@/components/ui/switch"
8
- import {
9
- Select,
10
- SelectContent,
11
- SelectItem,
12
- SelectTrigger,
13
- SelectValue,
14
- } from "@/components/ui/select"
15
-
16
- /** Lightweight controls for docs demos; never part of the npm surface. */
17
- export function DemoSelect<T extends string>({
18
- label,
19
- value,
20
- options,
21
- onChange,
22
- }: {
23
- label?: string
24
- value: T
25
- options: readonly T[]
26
- onChange: (value: T) => void
27
- }) {
28
- const items = options.map((option) => ({
29
- label: option,
30
- value: option,
31
- }))
32
-
33
- return (
34
- <Field className="ml-0 flex w-full flex-1 flex-row items-center justify-between text-muted-foreground">
35
- {label ? (
36
- <FieldLabel className="ml-0 capitalize">{label}</FieldLabel>
37
- ) : null}
38
- <Select
39
- items={items}
40
- onValueChange={(next) => onChange(next as T)}
41
- value={value}
42
- >
43
- <SelectTrigger
44
- className="h-7 min-w-0 text-xs rounded-sm capitalize"
45
- size="sm"
46
- >
47
- <SelectValue />
48
- </SelectTrigger>
49
- <SelectContent>
50
- {items.map((item) => (
51
- <SelectItem key={item.value} value={item.value}>
52
- {item.label}
53
- </SelectItem>
54
- ))}
55
- </SelectContent>
56
- </Select>
57
- </Field>
58
- )
59
- }
60
-
61
- /** Stand-in brand mark for demos of a block's logo slot. */
62
- export function DemoBrandMark() {
63
- return (
64
- <svg
65
- aria-label="Example logo"
66
- role="img"
67
- viewBox="0 0 32 32"
68
- className="text-foreground"
69
- >
70
- <rect
71
- x="2"
72
- y="2"
73
- width="28"
74
- height="28"
75
- rx="9"
76
- fill="none"
77
- stroke="currentColor"
78
- strokeWidth="2.5"
79
- />
80
- <path
81
- d="M11 20.5V11.5h4.5a3.5 3.5 0 0 1 0 7H11"
82
- fill="none"
83
- stroke="currentColor"
84
- strokeWidth="2.5"
85
- strokeLinecap="round"
86
- strokeLinejoin="round"
87
- />
88
- </svg>
89
- )
90
- }
91
-
92
- export function DemoToggle({
93
- label,
94
- checked,
95
- onChange,
96
- }: {
97
- label: string
98
- checked: boolean
99
- onChange: (checked: boolean) => void
100
- }) {
101
- return (
102
- <Field className="ml-0 w-full">
103
- <FieldLabel className="ml-0 w-full justify-between capitalize">
104
- {label}
105
- <Switch
106
- checked={checked}
107
- onCheckedChange={(value) => onChange(value)}
108
- />
109
- </FieldLabel>
110
- </Field>
111
- )
112
- }
113
-
114
- /** Standard layout for live examples. */
115
- export function DemoStage({
116
- controls,
117
- children,
118
- canvasClassName,
119
- }: {
120
- controls?: React.ReactNode
121
- children: React.ReactNode
122
- canvasClassName?: string
123
- }) {
124
- return (
125
- <div className="not-prose relative flex w-full flex-col items-center">
126
- {controls ? (
127
- <Card className="top-3 right-3 min-w-48 shadow-lg absolute z-20 rounded-lg">
128
- <CardContent className="gap-2 flex flex-col items-start">
129
- {controls}
130
- </CardContent>
131
- </Card>
132
- ) : null}
133
- <div
134
- className={
135
- canvasClassName ?? "min-h-24 flex w-full items-center justify-center"
136
- }
137
- >
138
- {children}
139
- </div>
140
- </div>
141
- )
142
- }
@@ -1,197 +0,0 @@
1
- "use client"
2
-
3
- import * as React from "react"
4
- import { motion, useReducedMotion } from "motion/react"
5
- import { Search } from "lucide-react"
6
-
7
- import { Bubble } from "@/components/atoms"
8
- import AI from "@/components/composed/ai"
9
- import {
10
- Flowchart,
11
- RecommendationCard,
12
- type TStepNode,
13
- } from "@/components/composed/chat"
14
- import { Verse, VerseNote, VerseSpan } from "@/components/composed/verse"
15
- import {
16
- InputGroup,
17
- InputGroupAddon,
18
- InputGroupInput,
19
- } from "@/components/ui/input-group"
20
- import { Kbd } from "@/components/ui/kbd"
21
- import { cn } from "@/lib/utils"
22
-
23
- /** Docs landing hero: centered copy with live atoms floating behind it.
24
- * Never part of the npm surface. */
25
-
26
- const EASE = [0.32, 0.72, 0, 1] as const
27
-
28
- const FLOW_NODES: TStepNode[] = [
29
- {
30
- id: "corpus",
31
- row: 0,
32
- x: 0.5,
33
- w: 220,
34
- kind: { label: "Corpus", hue: "var(--tag-purple-text)" },
35
- hue: "var(--tag-purple-text)",
36
- title: "Iliad",
37
- caption: "Homer · Greek epic corpus",
38
- },
39
- {
40
- id: "passage",
41
- row: 1,
42
- x: 0.5,
43
- w: 240,
44
- kind: { label: "Passage", hue: "var(--tag-amber-text)" },
45
- hue: "var(--tag-amber-text)",
46
- title: "Book 1 · line 1",
47
- caption: "Opening invocation",
48
- },
49
- {
50
- id: "text-node",
51
- row: 2,
52
- x: 0.5,
53
- w: 260,
54
- kind: { label: "Text node", hue: "var(--tag-green-text)" },
55
- hue: "var(--tag-green-text)",
56
- title: "μῆνιν ἄειδε, θεά",
57
- caption: "node l-1 · 18 characters",
58
- },
59
- ]
60
- const FLOW_EDGES = [
61
- { id: "a", source: "corpus", target: "passage" },
62
- { id: "b", source: "passage", target: "text-node" },
63
- ]
64
-
65
- function Note({ label, children }: { label: string; children: React.ReactNode }) {
66
- return (
67
- <div className="grid gap-1">
68
- <p className="text-[8px] font-medium tracking-[0.14em] text-muted-foreground uppercase">
69
- {label}
70
- </p>
71
- <p className="text-sm text-foreground">{children}</p>
72
- </div>
73
- )
74
- }
75
-
76
- function Float({
77
- className,
78
- delay = 0,
79
- children,
80
- }: {
81
- className: string
82
- delay?: number
83
- children: React.ReactNode
84
- }) {
85
- const reduced = useReducedMotion()
86
- return (
87
- <motion.div
88
- aria-hidden
89
- initial={{ opacity: 0, y: 24, filter: "blur(8px)" }}
90
- animate={{
91
- opacity: 1,
92
- filter: "blur(0px)",
93
- y: reduced ? 0 : [0, -10, 0],
94
- }}
95
- transition={{
96
- opacity: { duration: 1, delay, ease: EASE },
97
- filter: { duration: 1, delay, ease: EASE },
98
- y: reduced
99
- ? { duration: 1, delay, ease: EASE }
100
- : { duration: 7 + delay * 4, delay, repeat: Infinity, ease: "easeInOut" },
101
- }}
102
- className={cn(
103
- "pointer-events-none absolute hidden select-none rounded-lg bg-background/80 p-3 shadow-md ring-1 ring-black/[0.06] backdrop-blur-sm md:block dark:bg-card/80 dark:ring-white/[0.08]",
104
- className
105
- )}
106
- >
107
- {children}
108
- </motion.div>
109
- )
110
- }
111
-
112
- export function Hero({ children }: { children: React.ReactNode }) {
113
- return (
114
- <section className="not-prose relative -mx-4 overflow-hidden px-4 py-24 md:py-36">
115
- {/* Floating atoms — decorative, fades to the page edges. */}
116
- <div
117
- aria-hidden
118
- className="absolute inset-0 [mask-image:radial-gradient(70%_70%_at_50%_50%,black_30%,transparent_100%)]"
119
- >
120
- <Float className="top-6 left-[3%] w-72 opacity-80" delay={0.1}>
121
- <Verse chapter="1:1" href="#" size="small">
122
- In the beginning{" "}
123
- <VerseSpan
124
- popover={
125
- <Note label="Term">
126
- Hebrew <em>bereshit</em> — the opening word of the corpus.
127
- </Note>
128
- }
129
- >
130
- God created
131
- </VerseSpan>{" "}
132
- the heavens and the <VerseSpan>earth</VerseSpan>
133
- <VerseNote popover={<Note label="Note a">Some manuscripts differ.</Note>}>
134
- a
135
- </VerseNote>
136
- .
137
- </Verse>
138
- </Float>
139
- <Float className="top-4 right-[3%] w-80 opacity-80" delay={0.3}>
140
- <AI.ResearchAnswer
141
- kickerSub="Answered from 3 passages · 0.8 s"
142
- content="The quarrel opens when Agamemnon refuses Chryses’ ransom. Apollo’s plague follows — the first boundary of the poem (¶12, RC003)."
143
- source="Iliad · Homer corpus"
144
- date="c. 750 BCE"
145
- authors="Homer · M. L. West"
146
- />
147
- </Float>
148
- <Float className="top-[35%] left-[1%] w-[28rem] opacity-70 [&_*]:pointer-events-none" delay={0.5}>
149
- <div className="origin-top-left scale-[0.82]">
150
- <Flowchart.Root steps={FLOW_NODES} edges={FLOW_EDGES} readOnly />
151
- </div>
152
- </Float>
153
- <Float className="top-[46%] right-[4%] w-60 opacity-60" delay={0.7}>
154
- <InputGroup>
155
- <InputGroupAddon>
156
- <Search strokeWidth={1.5} />
157
- </InputGroupAddon>
158
- <InputGroupInput placeholder="Search the corpus" readOnly />
159
- <InputGroupAddon align="inline-end">
160
- <Kbd>⌘K</Kbd>
161
- </InputGroupAddon>
162
- </InputGroup>
163
- </Float>
164
- <Float className="bottom-2 left-[24%] w-64 opacity-70" delay={0.9}>
165
- <Bubble variant="ai" continued>
166
- <Bubble.Header>
167
- <AI.Avatar />
168
- </Bubble.Header>
169
- <Bubble.Message>
170
- The boundary is valid. Node p-17 has a label mismatch.
171
- </Bubble.Message>
172
- </Bubble>
173
- </Float>
174
- <Float className="bottom-4 right-[4%] w-[26rem] opacity-70" delay={1.1}>
175
- <RecommendationCard
176
- title="Validate the Iliad corpus before the walker runs?"
177
- description="Check otype, oslots and section features in"
178
- entity={{ name: "Iliad · Homer corpus", initials: "I" }}
179
- leadTime="2 min"
180
- confidence="high"
181
- />
182
- </Float>
183
- </div>
184
-
185
- <motion.div
186
- initial={{ opacity: 0, y: 16 }}
187
- animate={{ opacity: 1, y: 0 }}
188
- transition={{ duration: 0.8, ease: EASE }}
189
- className="relative mx-auto flex max-w-3xl flex-col items-center gap-6 text-center"
190
- >
191
- {children}
192
- </motion.div>
193
- </section>
194
- )
195
- }
196
-
197
- export default Hero
@@ -1,55 +0,0 @@
1
- "use client"
2
-
3
- import { use, useEffect, useId, useState } from "react"
4
- import { useTheme } from "next-themes"
5
-
6
- const cache = new Map<string, Promise<unknown>>()
7
-
8
- function cachePromise<T>(key: string, create: () => Promise<T>) {
9
- const cached = cache.get(key)
10
- if (cached) return cached as Promise<T>
11
-
12
- const promise = create()
13
- cache.set(key, promise)
14
- return promise
15
- }
16
-
17
- export function Mermaid({ chart }: { chart: string }) {
18
- const [mounted, setMounted] = useState(false)
19
-
20
- useEffect(() => {
21
- const frame = requestAnimationFrame(() => setMounted(true))
22
- return () => cancelAnimationFrame(frame)
23
- }, [])
24
-
25
- return mounted ? <MermaidContent chart={chart} /> : null
26
- }
27
-
28
- function MermaidContent({ chart }: { chart: string }) {
29
- const id = useId()
30
- const { resolvedTheme } = useTheme()
31
- const { default: mermaid } = use(
32
- cachePromise("mermaid", () => import("mermaid"))
33
- )
34
-
35
- mermaid.initialize({
36
- startOnLoad: false,
37
- securityLevel: "strict",
38
- fontFamily: "inherit",
39
- theme: resolvedTheme === "dark" ? "dark" : "default",
40
- })
41
-
42
- const { svg, bindFunctions } = use(
43
- cachePromise(`${chart}-${resolvedTheme}`, () => mermaid.render(id, chart))
44
- )
45
-
46
- return (
47
- <div
48
- className="my-6 p-4 flex justify-center overflow-x-auto rounded-lg border bg-card"
49
- ref={(container) => {
50
- if (container) bindFunctions?.(container)
51
- }}
52
- dangerouslySetInnerHTML={{ __html: svg }}
53
- />
54
- )
55
- }
@@ -1,91 +0,0 @@
1
- # Corpora file icons
2
-
3
- Fourteen React SVG components covering seven file formats in two visual families.
4
- Every icon carries **both** a light and a dark artwork layer and picks one with
5
- Tailwind's `dark` variant — no props, no context, no JavaScript.
6
-
7
- Generated from `exegia-prod.sketch` → page `icons`, then simplified (dead defs
8
- removed, light/dark-identical defs shared, ids stripped). Do not hand-edit the
9
- `.tsx` files; regenerate them from Sketch instead (see
10
- [Regenerating](#regenerating)).
11
-
12
- ## Usage
13
-
14
- ```tsx
15
- import { FileBadgeTei, FileWordmarkPdf } from '@/components/icons';
16
-
17
- <FileBadgeTei /> // 64×64, follows the app's dark class
18
- <FileBadgeTei size={128} /> // any size
19
- <FileWordmarkPdf title={null} /> // decorative: aria-hidden, no accessible name
20
- <FileBadgeTei title="TEI source file" /> // custom accessible name
21
- <FileBadgeTei className="shrink-0" /> // merged with the internal class
22
- ```
23
-
24
- All remaining props are forwarded to the root `<svg>`.
25
-
26
- ## Components
27
-
28
- | Format | Badge | Wordmark |
29
- | --- | --- | --- |
30
- | TEI | `FileBadgeTei` | `FileWordmarkTei` |
31
- | XML | `FileBadgeXml` | `FileWordmarkXml` |
32
- | TXT | `FileBadgeTxt` | `FileWordmarkTxt` |
33
- | TF | `FileBadgeTf` | `FileWordmarkTf` |
34
- | CFM | `FileBadgeCfm` | `FileWordmarkCfm` |
35
- | PDF | `FileBadgePdf` | `FileWordmarkPdf` |
36
- | Corpus | `FileBadgeCorpus` | `FileWordmarkCorpus` |
37
-
38
- **Badge** — colour-coded pill overlapping the left edge of the sheet.
39
- **Wordmark** — `.EXT` set along the bottom of the sheet.
40
-
41
- ## Theming
42
-
43
- Each icon renders two `<g data-theme-layer>` groups and shows exactly one via
44
- Tailwind's `dark` variant: the light layer is `dark:hidden`, the dark layer
45
- `hidden dark:inline`. Whatever drives `dark:` in the app drives the icons —
46
- here that is `@custom-variant dark (&:is(.dark *))` in `index.css`, so the
47
- icons follow the `.dark` class exactly like every other component, with no
48
- inline stylesheet and no media query of their own.
49
-
50
- To force a theme on one subtree, scope the class:
51
-
52
- ```tsx
53
- <div className="dark">
54
- <FileBadgeTei /> {/* dark artwork regardless of the app theme */}
55
- </div>
56
- ```
57
-
58
- Because the switch is pure CSS it is SSR-safe and cannot flash the wrong theme
59
- on hydration. The `data-theme-layer` attributes stay on the groups as styling
60
- and test hooks.
61
-
62
- ## Notes
63
-
64
- - **Text is outlined.** Labels are vector paths, not live `<text>`, so the
65
- icons do not depend on *TikTok Sans Display* being installed.
66
- - **IDs are namespaced** per component and per theme layer (`tei-badge-l-…`),
67
- so gradients and filters never collide when several icons share a page.
68
- Only referenced defs carry ids; decorative group ids were stripped.
69
- - **Both layers ship in every component,** but defs that are identical in
70
- both themes (sheet geometry, badge plates, label glyphs) exist once and are
71
- referenced from both layers — a `<defs>` entry resolves regardless of which
72
- layer it sits in, hidden or not. Theme-specific gradients and filters stay
73
- per layer, so the two themes remain pixel-faithful to Sketch.
74
- - **Filter regions were widened** to the SVG default (`-50% / 200%`). Sketch
75
- exports tight regions such as `height="76.2%"` that clip real geometry in
76
- spec-compliant renderers — the third sheet line disappears without this.
77
-
78
- ## Regenerating
79
-
80
- 1. In Sketch, edit the symbols on the `icons` page of `exegia-prod`.
81
- 2. Re-export each symbol to SVG, and export each label inside an exact-size
82
- bounding box to PDF (the PDF round-trip is what outlines the type).
83
- 3. Run the generator, which splices the outlined labels into the SVG, namespaces
84
- the IDs, widens the filter regions and emits the `.tsx` files.
85
- 4. Run `bun scripts/simplify-icons.mjs` (from `react/`), which swaps the layer
86
- switching onto Tailwind's `dark` variant, drops dead and duplicated defs,
87
- strips unreferenced ids and default-value attributes, and verifies that
88
- every remaining `url(#…)` / `href="#…"` reference resolves.
89
-
90
- Colours are driven by the `file/*` swatches in the Sketch document, so a palette
91
- change there propagates to every symbol before export.