@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
@@ -0,0 +1,925 @@
1
+ import { t as e } from "./utils-BO0qfoA6.js";
2
+ import { a as t, d as n, g as r } from "./ease-C9At8rnB.js";
3
+ import { t as i } from "./button-CIRkQXA6.js";
4
+ import { n as a, t as o } from "./liquid-glass-BihU6nMl.js";
5
+ import { LucideAppWindow as s, LucideArrowUpDown as c, LucideChevronDown as l, LucideEyeOff as u, LucidePlus as d, LucideX as f } from "lucide-react";
6
+ import * as p from "react";
7
+ import { useEffect as m, useId as h, useMemo as g, useState as _ } from "react";
8
+ import { atom as v, useAtomValue as y, useSetAtom as b } from "jotai";
9
+ import { AnimatePresence as x, motion as S, useReducedMotion as C } from "motion/react";
10
+ import { jsx as w, jsxs as T } from "react/jsx-runtime";
11
+ import "@base-ui/react/merge-props";
12
+ import "@base-ui/react/use-render";
13
+ import { cva as E } from "class-variance-authority";
14
+ import { RiCloseLine as D } from "@remixicon/react";
15
+ import { More as O } from "iconsax-reactjs";
16
+ //#region src/components/blocks/scaffold/constants.ts
17
+ var k = 64, A = 272, j = 3, ee = 320, M = 8, N = 10, te = 52, ne = 52, re = 10, ie = 4e3, P = .3, F = [
18
+ .22,
19
+ 1,
20
+ .36,
21
+ 1
22
+ ];
23
+ //#endregion
24
+ //#region src/components/blocks/scaffold/utils.ts
25
+ function ae(e) {
26
+ if (e === null) return 3;
27
+ let t = Math.floor((e + 8) / 328);
28
+ return Math.max(1, Math.min(3, t));
29
+ }
30
+ var I = {
31
+ visibleOrder: [],
32
+ autoHidden: [],
33
+ userHidden: []
34
+ };
35
+ function oe(e, t, n) {
36
+ let r = new Set(t), i = e.visibleOrder.filter((e) => r.has(e)), a = e.autoHidden.filter((e) => r.has(e)), o = e.userHidden.filter((e) => r.has(e)), s = /* @__PURE__ */ new Set([
37
+ ...i,
38
+ ...a,
39
+ ...o
40
+ ]);
41
+ for (let e of t) s.has(e) || i.push(e);
42
+ for (; i.length > n && i.length > 1;) a.push(i.shift());
43
+ for (; i.length < n && a.length > 0;) i.push(a.pop());
44
+ return i.join(" ") === e.visibleOrder.join(" ") && a.join(" ") === e.autoHidden.join(" ") && o.join(" ") === e.userHidden.join(" ") ? e : {
45
+ visibleOrder: i,
46
+ autoHidden: a,
47
+ userHidden: o
48
+ };
49
+ }
50
+ var se = "bezel-lit-t-2 bezel-lit-blur-2 bezel-lit/57 bezel-dim-b-2 bezel-dim-blur-3 bezel-dim/11 dark:bezel-lit-blur-3 dark:bezel-lit/14 dark:bezel-dim/78";
51
+ `${se}`;
52
+ var ce = "transition-[opacity,scale,box-shadow] duration-200 ease-smooth-out hover:text-neutral-900 hover:shadow-md active:scale-97 dark:bg-neutral-800/95 dark:text-neutral-300 dark:inset-ring-white/10 dark:hover:text-white motion-reduce:transition-none motion-reduce:active:scale-100 z-20", le = "opacity-0 scale-95 group-hover/panel:opacity-100 group-hover/panel:scale-100 focus-visible:opacity-100 focus-visible:scale-100 pointer-coarse:opacity-100 pointer-coarse:scale-100", ue = {
53
+ hidden: {
54
+ opacity: 0,
55
+ filter: "blur(4px)"
56
+ },
57
+ visible: {
58
+ opacity: 1,
59
+ filter: "blur(0px)"
60
+ },
61
+ exit: {
62
+ opacity: 0,
63
+ filter: "blur(4px)",
64
+ transition: {
65
+ duration: .18,
66
+ ease: t
67
+ }
68
+ }
69
+ }, de = {
70
+ card: `bg-neutral-50 dark:bg-neutral-900 rounded-md ${se}`,
71
+ subtle: "bg-neutral-100 dark:bg-neutral-800",
72
+ inset: "bg-neutral-200 dark:bg-neutral-700"
73
+ };
74
+ //#endregion
75
+ //#region src/components/blocks/scaffold/panel-close-button.tsx
76
+ function fe({ onClick: t, label: n, sound: r = !0, className: i }) {
77
+ return /* @__PURE__ */ w("button", {
78
+ id: "scaffold-panel-close-button",
79
+ "aria-label": n,
80
+ className: e(ce, le, "absolute top-4 right-3.5 z-10", i),
81
+ "data-cuelume-press": r ? "" : void 0,
82
+ "data-cuelume-release": r ? "" : void 0,
83
+ "data-slot": "scaffold-panel-close",
84
+ onClick: t,
85
+ type: "button",
86
+ children: /* @__PURE__ */ w(D, {
87
+ "aria-hidden": !0,
88
+ className: "size-4"
89
+ })
90
+ });
91
+ }
92
+ //#endregion
93
+ //#region src/components/ui/button-group.tsx
94
+ var pe = E("flex w-fit items-stretch *:focus-visible:relative *:focus-visible:z-10 has-[>[data-slot=button-group]]:gap-2 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-md [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1", {
95
+ variants: { orientation: {
96
+ horizontal: "*:data-slot:rounded-r-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-r-md! [&>[data-slot]~[data-slot]]:rounded-l-none [&>[data-slot]~[data-slot]]:border-l-0",
97
+ vertical: "flex-col *:data-slot:rounded-b-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-b-md! [&>[data-slot]~[data-slot]]:rounded-t-none [&>[data-slot]~[data-slot]]:border-t-0"
98
+ } },
99
+ defaultVariants: { orientation: "horizontal" }
100
+ });
101
+ function me({ className: t, orientation: n, ...r }) {
102
+ return /* @__PURE__ */ w(S.div, {
103
+ role: "group",
104
+ "data-slot": "button-group",
105
+ "data-orientation": n,
106
+ className: e(pe({ orientation: n }), t),
107
+ ...r
108
+ });
109
+ }
110
+ //#endregion
111
+ //#region src/components/ui/glasscn/glass-button-group.tsx
112
+ function he({ className: t, glassVariant: n = "liquid-refract", children: r, ...i }) {
113
+ return /* @__PURE__ */ T(me, {
114
+ "data-slot": "glass-button-group",
115
+ "data-glass-variant": n,
116
+ className: e("relative isolate rounded-lg", t),
117
+ ...i,
118
+ children: [/* @__PURE__ */ w(o, { glassVariant: n }), r]
119
+ });
120
+ }
121
+ //#endregion
122
+ //#region src/lib/hooks/use-hover-capable.ts
123
+ function ge() {
124
+ let [e, t] = _(!1);
125
+ return m(() => {
126
+ if (typeof window > "u" || !window.matchMedia) return;
127
+ let e = window.matchMedia("(hover: hover) and (pointer: fine)"), n = () => t(e.matches);
128
+ return n(), e.addEventListener?.("change", n), () => e.removeEventListener?.("change", n);
129
+ }, []), e;
130
+ }
131
+ //#endregion
132
+ //#region src/components/blocks/scaffold/panel-menu-button.tsx
133
+ var _e = "grid transition-[grid-template-columns,opacity] duration-300 ease-smooth-out motion-reduce:transition-none";
134
+ function ve({ onClick: t, onExpand: n, onCloseSecondary: r, secondaryExpanded: a = !1, swapped: o = !1, label: s, sound: u = !0, className: d }) {
135
+ let m = ge(), h = p.useId(), g = p.useRef(null), _ = p.useRef(null), [v, y] = p.useState(!1), b = p.useRef(void 0), x = p.useRef(0), S = p.useRef(!1);
136
+ p.useEffect(() => () => clearTimeout(b.current), []);
137
+ let C = p.useCallback(() => {
138
+ clearTimeout(b.current);
139
+ }, []), E = p.useCallback(() => {
140
+ m && (clearTimeout(b.current), b.current = setTimeout(() => {
141
+ g.current?.contains(document.activeElement) || y(!1);
142
+ }, ie));
143
+ }, [m]);
144
+ p.useEffect(() => {
145
+ if (!v || !m) return;
146
+ let e = document.documentElement;
147
+ return e.addEventListener("pointerleave", E), window.addEventListener("blur", E), () => {
148
+ e.removeEventListener("pointerleave", E), window.removeEventListener("blur", E);
149
+ };
150
+ }, [
151
+ v,
152
+ m,
153
+ E
154
+ ]), p.useEffect(() => {
155
+ v && S.current && (S.current = !1, _.current?.querySelector("button")?.focus());
156
+ }, [v]);
157
+ let D = () => {
158
+ x.current = Date.now() + 600, y(!1);
159
+ }, k = (e) => {
160
+ e?.(), D();
161
+ };
162
+ return /* @__PURE__ */ T(he, {
163
+ ref: g,
164
+ onPointerEnter: C,
165
+ onPointerLeave: E,
166
+ glassVariant: "subtle",
167
+ "data-expanded": v ? "" : void 0,
168
+ className: e(ce, le, "group/menu absolute top-1/2 z-10 -translate-y-1/2", d),
169
+ children: [/* @__PURE__ */ w("div", {
170
+ "aria-hidden": v || void 0,
171
+ inert: v || void 0,
172
+ className: e(_e, "grid-cols-[1fr] opacity-100 group-data-expanded/menu:grid-cols-[0fr] group-data-expanded/menu:opacity-0"),
173
+ children: /* @__PURE__ */ w("div", {
174
+ className: "flex min-w-0 overflow-hidden",
175
+ children: /* @__PURE__ */ w(i, {
176
+ id: "scaffold-panel-menu-toggle-button",
177
+ "aria-label": s,
178
+ "aria-expanded": v,
179
+ "aria-controls": h,
180
+ size: "icon-sm",
181
+ variant: "ghost",
182
+ sound: u,
183
+ className: "size-8 sm:size-7",
184
+ "data-slot": "scaffold-panel-menu-toggle",
185
+ onClick: () => {
186
+ g.current?.contains(document.activeElement) && (S.current = !0), y(!0);
187
+ },
188
+ onPointerEnter: () => {
189
+ !m || Date.now() < x.current || (C(), y(!0));
190
+ },
191
+ children: /* @__PURE__ */ w(O, { size: 16 })
192
+ })
193
+ })
194
+ }), /* @__PURE__ */ w("div", {
195
+ id: h,
196
+ ref: _,
197
+ "aria-hidden": !v || void 0,
198
+ inert: !v || void 0,
199
+ className: e(_e, "grid-cols-[0fr] opacity-0 group-data-expanded/menu:grid-cols-[1fr] group-data-expanded/menu:opacity-100"),
200
+ children: /* @__PURE__ */ T("div", {
201
+ className: "flex min-w-0 overflow-hidden",
202
+ children: [
203
+ /* @__PURE__ */ T(i, {
204
+ id: "scaffold-panel-menu-expand",
205
+ size: "sm",
206
+ variant: "ghost",
207
+ sound: u,
208
+ "data-slot": "scaffold-panel-menu-expand",
209
+ className: "rounded-r-none",
210
+ onClick: () => k(n),
211
+ children: [/* @__PURE__ */ w(l, {
212
+ size: 16,
213
+ className: e(a !== o && "rotate-180")
214
+ }), "Expand"]
215
+ }),
216
+ /* @__PURE__ */ T(i, {
217
+ id: "scaffold-panel-menu-swap",
218
+ size: "sm",
219
+ variant: "ghost",
220
+ sound: u,
221
+ "data-slot": "scaffold-panel-menu-swap",
222
+ className: e("border-l-0", r ? "rounded-none" : "rounded-l-none"),
223
+ onClick: () => k(t),
224
+ children: [/* @__PURE__ */ w(c, { size: 16 }), "Swap"]
225
+ }),
226
+ r && /* @__PURE__ */ T(i, {
227
+ id: "scaffold-panel-menu-close",
228
+ size: "sm",
229
+ variant: "ghost",
230
+ sound: u,
231
+ "data-slot": "scaffold-panel-menu-close",
232
+ className: "rounded-l-none border-l-0",
233
+ onClick: () => k(r),
234
+ children: [/* @__PURE__ */ w(f, { size: 16 }), "Close"]
235
+ })
236
+ ]
237
+ })
238
+ })]
239
+ });
240
+ }
241
+ //#endregion
242
+ //#region src/components/blocks/scaffold/scaffold-atom.ts
243
+ var ye = { controlsInspector: !1 }, be = {}, xe = [], Se = [];
244
+ function L(e) {
245
+ let t = /* @__PURE__ */ new Map(), n = ((n) => {
246
+ let r = t.get(n);
247
+ return r === void 0 && (r = e(n), t.set(n, r)), r;
248
+ });
249
+ return n.remove = (e) => {
250
+ t.delete(e);
251
+ }, Se.push(n), n;
252
+ }
253
+ function R(e, t) {
254
+ return L((n) => {
255
+ let r = v(t);
256
+ return r.debugLabel = `scaffold/${n}/${e}`, r;
257
+ });
258
+ }
259
+ function Ce(e, t) {
260
+ return L((n) => {
261
+ let r = v((e) => t(e, n));
262
+ return r.debugLabel = `scaffold/${n}/${e}`, r;
263
+ });
264
+ }
265
+ function z(e, t) {
266
+ return L((n) => {
267
+ let r = v(null, (e, r, ...i) => t(e, r, n, ...i));
268
+ return r.debugLabel = `scaffold/${n}/${e}`, r;
269
+ });
270
+ }
271
+ function we(e, t) {
272
+ let n = /* @__PURE__ */ new Map();
273
+ return Se.push({ remove: (e) => {
274
+ n.delete(e);
275
+ } }), (r, i) => {
276
+ let a = n.get(r);
277
+ a === void 0 && (a = /* @__PURE__ */ new Map(), n.set(r, a));
278
+ let o = a.get(i);
279
+ if (o === void 0) {
280
+ let n = v((e) => t(e, r, i));
281
+ n.debugLabel = `scaffold/${r}/${i}/${e}`, a.set(i, n), o = n;
282
+ }
283
+ return o;
284
+ };
285
+ }
286
+ var B = R("inspectorOpen", !1), V = R("panelIds", xe), H = R("measuredCapacity", null), U = R("visibility", I), W = R("hoveredPanelId", null), Te = R("config", ye), Ee = R("handlers", be), G = Ce("panelCapacity", (e, t) => e(H(t)) ?? 3), De = Ce("hiddenPanelIds", (e, t) => {
287
+ let n = e(U(t));
288
+ return [...n.autoHidden, ...n.userHidden];
289
+ }), Oe = we("hidden", (e, t, n) => {
290
+ if (n === "") return !1;
291
+ let r = e(U(t));
292
+ return r.autoHidden.includes(n) || r.userHidden.includes(n);
293
+ }), ke = we("dimmed", (e, t, n) => {
294
+ if (n === "") return !1;
295
+ let r = e(W(t));
296
+ return r !== null && r !== n;
297
+ }), K = R("panel-layouts", {}), Ae = R("active-resize", null), q = R("inspector-width", null), je = z("resize-inspector", (e, t, n, r) => {
298
+ Number.isFinite(r) && t(q(n), Math.max(180, r));
299
+ }), J = z("update-panel-layout", (e, t, n, r, i) => {
300
+ let a = e(K(n)), o = { ...i };
301
+ o.width !== void 0 && Number.isFinite(o.width) && t(Ae(n), r), o.width !== void 0 && (o.width = Number.isFinite(o.width) ? Math.max(320, o.width) : void 0), o.secondarySize !== void 0 && (o.secondarySize = Number.isFinite(o.secondarySize) ? Math.max(56, o.secondarySize) : void 0), t(K(n), {
302
+ ...a,
303
+ [r]: {
304
+ ...a[r],
305
+ ...o
306
+ }
307
+ });
308
+ }), Me = Ce("state", (e, t) => ({
309
+ inspectorOpen: e(B(t)),
310
+ inspectorWidth: e(q(t)),
311
+ panelLayouts: e(K(t)),
312
+ panelCapacity: e(G(t)),
313
+ hiddenPanelIds: e(De(t)),
314
+ hoveredPanelId: e(W(t))
315
+ }));
316
+ function Ne(e, t, n) {
317
+ let r = e(U(n)), i = oe(r, e(V(n)), e(G(n)));
318
+ i !== r && t(U(n), i);
319
+ }
320
+ var Y = z("setInspectorOpen", (e, t, n, r) => {
321
+ e(B(n)) !== r && (e(Te(n)).controlsInspector || t(B(n), r), e(Ee(n)).onInspectorOpenChange?.(r));
322
+ }), X = z("toggleInspector", (e, t, n) => {
323
+ t(Y(n), !e(B(n)));
324
+ }), Z = z("togglePanel", (e, t, n, r) => {
325
+ let i = e(V(n));
326
+ if (!i.includes(r)) return;
327
+ let a = e(U(n)), o = a.autoHidden.includes(r) || a.userHidden.includes(r);
328
+ if (!o && a.visibleOrder.length <= 1) return;
329
+ let s = o ? {
330
+ visibleOrder: [...a.visibleOrder, r],
331
+ autoHidden: a.autoHidden.filter((e) => e !== r),
332
+ userHidden: a.userHidden.filter((e) => e !== r)
333
+ } : {
334
+ visibleOrder: a.visibleOrder.filter((e) => e !== r),
335
+ autoHidden: a.autoHidden,
336
+ userHidden: [...a.userHidden, r]
337
+ };
338
+ t(U(n), oe(s, i, e(G(n))));
339
+ }), Pe = z("setPanelHovered", (e, t, n, r, i) => {
340
+ let a = e(W(n));
341
+ if (i) {
342
+ a !== r && t(W(n), r);
343
+ return;
344
+ }
345
+ a === r && t(W(n), null);
346
+ }), Fe = z("registerPanelIds", (e, t, n, r) => {
347
+ let i = e(V(n));
348
+ i.length === r.length && i.every((e, t) => e === r[t]) || (t(V(n), [...r]), Ne(e, t, n));
349
+ }), Ie = z("measureCanvas", (e, t, n, r) => {
350
+ let i = ae(r);
351
+ e(H(n)) !== i && (t(H(n), i), Ne(e, t, n));
352
+ }), Le = z("projectProps", (e, t, n, r, i) => {
353
+ t(Te(n), r), r.controlsInspector && i !== void 0 && t(B(n), i);
354
+ }), Re = z("setHandlers", (e, t, n, r) => {
355
+ t(Ee(n), r);
356
+ }), ze = z("seedInspector", (e, t, n, r) => {
357
+ t(B(n), r);
358
+ }), Be = z("reset", (e, t, n) => {
359
+ t(B(n), !1), t(q(n), null), t(K(n), {}), t(Ae(n), null), t(V(n), xe), t(H(n), null), t(U(n), I), t(W(n), null), t(Te(n), ye), t(Ee(n), be);
360
+ });
361
+ function Ve(e) {
362
+ for (let t of Se) t.remove(e);
363
+ }
364
+ //#endregion
365
+ //#region src/components/blocks/scaffold/scaffold-context.ts
366
+ var He = p.createContext(null);
367
+ function Q() {
368
+ let e = p.useContext(He);
369
+ if (!e) throw Error("useScaffoldContext must be used within <Scaffold.Root>");
370
+ return e;
371
+ }
372
+ //#endregion
373
+ //#region src/components/blocks/scaffold/scaffold-actions.tsx
374
+ function Ue({ onAdd: t, addLabel: r = "Panel", addIcon: a, sound: o = !0, className: s, children: c, ...l }) {
375
+ let { scaffoldId: u, inspectorWidth: f } = Q(), p = y(B(u)), m = C(), h = m ? { duration: 0 } : n;
376
+ return /* @__PURE__ */ w(S.div, {
377
+ id: "scaffold-actions",
378
+ animate: { x: p ? -(f + 10) : 0 },
379
+ className: e("sticky inline-flex h-12 items-center gap-0.5", "justify-end", s),
380
+ "data-slot": "scaffold-actions",
381
+ initial: !1,
382
+ transition: {
383
+ duration: m ? 0 : P,
384
+ ease: F
385
+ },
386
+ ...l,
387
+ children: /* @__PURE__ */ w(S.div, {
388
+ layout: !0,
389
+ transition: h,
390
+ className: "flex items-center gap-1.5",
391
+ children: /* @__PURE__ */ T(x, {
392
+ mode: "popLayout",
393
+ initial: !1,
394
+ children: [t && /* @__PURE__ */ w(S.div, {
395
+ layout: !0,
396
+ animate: m ? { opacity: 1 } : "visible",
397
+ className: "flex shrink-0",
398
+ exit: m ? { opacity: 0 } : "exit",
399
+ initial: m ? { opacity: 0 } : "hidden",
400
+ transition: h,
401
+ variants: ue,
402
+ children: /* @__PURE__ */ T(i, {
403
+ onClick: t,
404
+ size: "sm",
405
+ sound: o,
406
+ variant: "ghost",
407
+ className: "h-full gap-2 rounded-sm py-1.5 pr-3 pl-2",
408
+ children: [a ?? /* @__PURE__ */ w(d, { className: "stroke-2" }), r]
409
+ })
410
+ }, "scaffold-add"), c]
411
+ })
412
+ })
413
+ });
414
+ }
415
+ //#endregion
416
+ //#region src/components/blocks/scaffold/scaffold-canvas.tsx
417
+ function $(e) {
418
+ if (!p.isValidElement(e)) return;
419
+ let t = e.props.id;
420
+ return typeof t == "string" ? t : void 0;
421
+ }
422
+ function We({ className: t, children: n, ...r }) {
423
+ let { scaffoldId: i } = Q(), a = y(K(i)), o = y(Ae(i)), s = y(De(i)), c = b(Fe(i)), l = b(Ie(i)), [u, d] = p.useState(0), f = p.useRef(null);
424
+ p.useLayoutEffect(() => {
425
+ let e = f.current;
426
+ if (!e || typeof ResizeObserver > "u") return;
427
+ let t = new ResizeObserver(([e]) => {
428
+ l(e.contentRect.width), d(e.contentRect.width);
429
+ });
430
+ return t.observe(e), () => t.disconnect();
431
+ }, [l]);
432
+ let m = p.Children.toArray(n), h = m.map($).filter((e) => e !== void 0), g = h.join(" ");
433
+ p.useEffect(() => {
434
+ c(h);
435
+ }, [g, c]);
436
+ let _ = m.filter((e) => {
437
+ let t = $(e);
438
+ return t === void 0 || !s.includes(t);
439
+ }), v = _.length > 2 ? _[Math.floor(_.length / 2)] : [..._].reverse().find((e) => $(e) !== o) ?? _.at(-1), x = _.length, S = u > 0 ? (u - Math.max(0, x - 1) * 8) / Math.max(1, x) : 320, C = _.filter((e) => e !== v), T = $(v) === o ? a[o ?? ""]?.width ?? 320 : 320, E = Math.max(320, Math.min(T, u - Math.max(0, x - 1) * 328)), D = Math.max(0, u - Math.max(0, x - 1) * 8 - (x - 1) * 320 - E), O = C.reduce((e, t) => e + Math.max(0, (a[$(t) ?? ""]?.width ?? S) - 320), 0), k = $(v) === o, A = O > 0 && (k || O > D) ? D / O : 1, j = new Map(C.map((e) => [e, 320 + (k && O === 0 ? D / Math.max(1, C.length) : Math.max(0, (a[$(e) ?? ""]?.width ?? S) - 320) * A)]));
440
+ return /* @__PURE__ */ w("div", {
441
+ className: e("min-h-0 gap-2 relative flex w-full flex-1", t),
442
+ "data-slot": "scaffold-canvas",
443
+ "data-motion-panels-fill": "",
444
+ ref: f,
445
+ ...r,
446
+ children: m.map((e) => {
447
+ if (!p.isValidElement(e)) return e;
448
+ let t = !_.includes(e);
449
+ return p.cloneElement(e, {
450
+ _panelHidden: t,
451
+ _panelFill: e === v,
452
+ _panelEnd: m.indexOf(e) < m.indexOf(v),
453
+ _panelMax: Math.max(320, u - Math.max(0, x - 1) * 8 - 320 - C.filter((t) => t !== e).reduce((e, t) => e + (j.get(t) ?? 320), 0)),
454
+ _panelWidth: j.get(e) ?? S
455
+ });
456
+ })
457
+ });
458
+ }
459
+ //#endregion
460
+ //#region src/components/ui/glasscn/glass-container.tsx
461
+ var Ge = {
462
+ clear: [
463
+ "[--sidebar:rgba(255,255,255,0.18)]",
464
+ "[--sidebar-foreground:oklch(0.145_0_0)]",
465
+ "[--sidebar-accent:rgba(255,255,255,0.48)]",
466
+ "[--sidebar-accent-foreground:oklch(0.145_0_0)]",
467
+ "[--sidebar-border:rgba(255,255,255,0.34)]",
468
+ "[--sidebar-ring:rgba(255,255,255,0.38)]",
469
+ "dark:[--sidebar:rgba(0,0,0,0.28)]",
470
+ "dark:[--sidebar-foreground:oklch(0.985_0_0)]",
471
+ "dark:[--sidebar-accent:rgba(255,255,255,0.1)]",
472
+ "dark:[--sidebar-accent-foreground:oklch(0.985_0_0)]",
473
+ "dark:[--sidebar-border:rgba(255,255,255,0.12)]",
474
+ "dark:[--sidebar-ring:rgba(255,255,255,0.16)]"
475
+ ].join(" "),
476
+ frosted: [
477
+ "[--sidebar:rgba(255,255,255,0.4)]",
478
+ "[--sidebar-foreground:oklch(0.145_0_0)]",
479
+ "[--sidebar-accent:rgba(255,255,255,0.62)]",
480
+ "[--sidebar-accent-foreground:oklch(0.145_0_0)]",
481
+ "[--sidebar-border:rgba(255,255,255,0.3)]",
482
+ "[--sidebar-ring:rgba(255,255,255,0.32)]",
483
+ "dark:[--sidebar:rgba(0,0,0,0.38)]",
484
+ "dark:[--sidebar-foreground:oklch(0.985_0_0)]",
485
+ "dark:[--sidebar-accent:rgba(255,255,255,0.14)]",
486
+ "dark:[--sidebar-accent-foreground:oklch(0.985_0_0)]",
487
+ "dark:[--sidebar-border:rgba(255,255,255,0.1)]",
488
+ "dark:[--sidebar-ring:rgba(255,255,255,0.14)]"
489
+ ].join(" "),
490
+ subtle: [
491
+ "[--sidebar:rgba(255,255,255,0.14)]",
492
+ "[--sidebar-foreground:oklch(0.145_0_0)]",
493
+ "[--sidebar-accent:rgba(255,255,255,0.28)]",
494
+ "[--sidebar-accent-foreground:oklch(0.145_0_0)]",
495
+ "[--sidebar-border:rgba(0,0,0,0.05)]",
496
+ "[--sidebar-ring:rgba(255,255,255,0.28)]",
497
+ "dark:[--sidebar:rgba(255,255,255,0.05)]",
498
+ "dark:[--sidebar-foreground:oklch(0.985_0_0)]",
499
+ "dark:[--sidebar-accent:rgba(255,255,255,0.08)]",
500
+ "dark:[--sidebar-accent-foreground:oklch(0.985_0_0)]",
501
+ "dark:[--sidebar-border:rgba(255,255,255,0.08)]",
502
+ "dark:[--sidebar-ring:rgba(255,255,255,0.12)]"
503
+ ].join(" "),
504
+ liquid: [
505
+ "[--sidebar:rgba(255,255,255,0.22)]",
506
+ "[--sidebar-foreground:oklch(0.145_0_0)]",
507
+ "[--sidebar-accent:rgba(255,255,255,0.55)]",
508
+ "[--sidebar-accent-foreground:oklch(0.145_0_0)]",
509
+ "[--sidebar-border:rgba(255,255,255,0.42)]",
510
+ "[--sidebar-ring:rgba(255,255,255,0.45)]",
511
+ "dark:[--sidebar:rgba(255,255,255,0.06)]",
512
+ "dark:[--sidebar-foreground:oklch(0.985_0_0)]",
513
+ "dark:[--sidebar-accent:rgba(255,255,255,0.12)]",
514
+ "dark:[--sidebar-accent-foreground:oklch(0.985_0_0)]",
515
+ "dark:[--sidebar-border:rgba(255,255,255,0.16)]",
516
+ "dark:[--sidebar-ring:rgba(255,255,255,0.20)]"
517
+ ].join(" "),
518
+ "liquid-refract": [
519
+ "[--sidebar:rgba(255,255,255,0.18)]",
520
+ "[--sidebar-foreground:oklch(0.145_0_0)]",
521
+ "[--sidebar-accent:rgba(255,255,255,0.48)]",
522
+ "[--sidebar-accent-foreground:oklch(0.145_0_0)]",
523
+ "[--sidebar-border:rgba(255,255,255,0.34)]",
524
+ "[--sidebar-ring:rgba(255,255,255,0.38)]",
525
+ "dark:[--sidebar-foreground:oklch(0.985_0_0)]",
526
+ "dark:[--sidebar-accent:rgba(255,255,255,0.12)]",
527
+ "dark:[--sidebar-accent-foreground:oklch(0.985_0_0)]",
528
+ "dark:[--sidebar-border:rgba(255,255,255,0.15)]",
529
+ "dark:[--sidebar-ring:rgba(255,255,255,0.18)]"
530
+ ].join(" ")
531
+ };
532
+ function Ke({ glassVariant: t = "liquid-refract", className: n, ...r }) {
533
+ return /* @__PURE__ */ w(a, {
534
+ glassVariant: t,
535
+ className: e("rounded-[1.75rem]", Ge[t], n),
536
+ ...r
537
+ });
538
+ }
539
+ //#endregion
540
+ //#region src/components/blocks/scaffold/scaffold-inspector.tsx
541
+ function qe({ children: t, name: n = "Inspector", className: a, ...o }) {
542
+ let { scaffoldId: s, inspectorWidth: c } = Q(), l = y(B(s)), u = b(X(s)), d = C(), m = b(je(s)), h = b(Y(s)), [g, _] = p.useState(Infinity), { panelRef: v, gripRef: x } = r({
543
+ size: Math.min(c, g),
544
+ minSize: 180,
545
+ maxSize: "90%",
546
+ defaultSize: 272,
547
+ collapsed: !l,
548
+ overshoot: !1,
549
+ onSizeChange: (e) => m(Number(e)),
550
+ onCollapsedChange: (e) => h(!e),
551
+ transition: d ? { duration: 0 } : {
552
+ duration: P,
553
+ ease: F
554
+ }
555
+ });
556
+ p.useLayoutEffect(() => {
557
+ let e = v.current?.parentElement;
558
+ if (!e) return;
559
+ let t = () => {
560
+ e.clientWidth && _(e.clientWidth * .9);
561
+ };
562
+ t();
563
+ let n = new ResizeObserver(t);
564
+ return n.observe(e), () => n.disconnect();
565
+ }, [v]);
566
+ let E = c + 10 + 12;
567
+ return /* @__PURE__ */ T(S.aside, {
568
+ id: "scaffold-inspector",
569
+ ref: v,
570
+ animate: { x: l ? 0 : E },
571
+ "aria-hidden": !l || void 0,
572
+ "aria-label": n,
573
+ className: e("right-0 my-2 w-96 absolute z-20 flex h-full max-h-[calc(100%-0.5rem)] flex-col", !l && "pointer-events-none", a),
574
+ "data-slot": "scaffold-inspector",
575
+ inert: !l || void 0,
576
+ initial: !1,
577
+ role: "complementary",
578
+ style: { overflow: l ? void 0 : "clip" },
579
+ transition: {
580
+ duration: d ? 0 : P,
581
+ ease: F
582
+ },
583
+ ...o,
584
+ children: [/* @__PURE__ */ w("div", {
585
+ ref: x,
586
+ role: "separator",
587
+ "aria-label": "Resize inspector",
588
+ "aria-orientation": "vertical",
589
+ tabIndex: l ? 0 : -1,
590
+ className: "inset-y-0 -left-1 w-2 absolute z-30 cursor-col-resize touch-none focus-visible:outline-2 focus-visible:outline-ring"
591
+ }), /* @__PURE__ */ T(Ke, {
592
+ className: e("bg-neutral-50/20 dark:bg-black/5 flex flex-1 flex-col rounded-md", se),
593
+ glassVariant: "subtle",
594
+ children: [/* @__PURE__ */ T("div", {
595
+ id: "scaffold-inspector-header",
596
+ className: "h-12 gap-2 pr-3 pl-4 flex items-center justify-between border-b",
597
+ children: [/* @__PURE__ */ w("span", {
598
+ className: "text-base font-normal text-card-foreground/70",
599
+ children: n
600
+ }), /* @__PURE__ */ w(i, {
601
+ size: "icon-xs",
602
+ variant: "glass",
603
+ glassVariant: "subtle",
604
+ className: "scale-85",
605
+ "aria-label": "Close inspector",
606
+ onClick: u,
607
+ children: /* @__PURE__ */ w(f, { className: "stroke-3" })
608
+ })]
609
+ }), t]
610
+ })]
611
+ });
612
+ }
613
+ //#endregion
614
+ //#region src/components/blocks/scaffold/scaffold-main.tsx
615
+ function Je({ className: t, children: n, ...r }) {
616
+ return /* @__PURE__ */ w("div", {
617
+ id: "scaffold-main",
618
+ className: e("relative flex min-w-0 flex-1 flex-col", t),
619
+ "data-slot": "scaffold-main",
620
+ ...r,
621
+ children: n
622
+ });
623
+ }
624
+ //#endregion
625
+ //#region src/components/blocks/scaffold/scaffold-sub-panel.tsx
626
+ function Ye({ panelId: t = "", swapped: n = !1, className: i, children: a, variant: o = "card", primary: s = !1, expanded: c, ...l }) {
627
+ let u = C(), d = c ?? s, { scaffoldId: f } = Q(), m = y(K(f)), h = b(J(f)), [g, _] = p.useState(400), { panelRef: v, gripRef: x } = r({
628
+ orientation: "vertical",
629
+ enabled: !s,
630
+ size: d ? Math.min(m[t]?.secondarySize ?? g - 64, Math.max(56, g - 64)) : 56,
631
+ minSize: 56,
632
+ maxSize: Math.max(56, g - 64),
633
+ defaultSize: 56,
634
+ overshoot: !1,
635
+ transition: u ? { duration: 0 } : {
636
+ duration: P,
637
+ ease: F
638
+ },
639
+ onSizeChange: (e) => h(t, {
640
+ secondarySize: Number(e),
641
+ secondaryExpanded: Number(e) > 56
642
+ })
643
+ });
644
+ return p.useLayoutEffect(() => {
645
+ let e = v.current?.parentElement;
646
+ if (!e) return;
647
+ let t = () => _(e.clientHeight || 400);
648
+ t();
649
+ let n = new ResizeObserver(t);
650
+ return n.observe(e), () => n.disconnect();
651
+ }, [v]), /* @__PURE__ */ T(S.div, {
652
+ layout: "position",
653
+ ref: (e) => {
654
+ v.current = e;
655
+ },
656
+ "data-motion-panels-fill": s ? "" : void 0,
657
+ id: `scaffold-sub-panel-${o}`,
658
+ initial: !1,
659
+ style: {
660
+ flex: s ? "1 1 0%" : "0 0 auto",
661
+ minHeight: s ? 56 : 0
662
+ },
663
+ transition: u ? { duration: 0 } : {
664
+ duration: P,
665
+ ease: F
666
+ },
667
+ className: e("relative flex w-full flex-col", de[o], s ? "overflow-clip" : "", i),
668
+ "data-slot": `scaffold-sub-panel-${o}`,
669
+ "data-expanded": d ? "" : void 0,
670
+ ...l,
671
+ children: [!s && /* @__PURE__ */ w("div", {
672
+ ref: x,
673
+ role: "separator",
674
+ "aria-label": "Resize secondary panel",
675
+ "aria-orientation": "horizontal",
676
+ tabIndex: 0,
677
+ onKeyDown: (e) => {
678
+ e.key === "Enter" && (e.preventDefault(), h(t, { secondaryExpanded: !d }));
679
+ },
680
+ className: e("inset-x-0 h-2 absolute z-10 cursor-row-resize touch-none focus-visible:outline-2 focus-visible:outline-ring", n ? "-bottom-1" : "-top-1")
681
+ }), a]
682
+ });
683
+ }
684
+ //#endregion
685
+ //#region src/components/blocks/scaffold/scaffold-panel.tsx
686
+ function Xe({ id: t, _panelHidden: n = !1, _panelFill: i = !0, _panelWidth: a = 320, _panelMax: o = 640, _panelEnd: s = !0, children: c, SecondaryPanel: l, onSwap: u, onCloseSecondary: d, name: f, swapLabel: p = "Swap panel content", sound: m = !0, className: g }) {
687
+ let { scaffoldId: _ } = Q(), v = C(), x = y(ke(_, t ?? "")), E = {
688
+ duration: v ? 0 : P,
689
+ ease: F
690
+ }, D = h(), O = t ?? D, k = y(K(_)), A = b(J(_)), j = b(Z(_)), ee = k[O] ?? {}, M = ee.swapped ?? !1, N = ee.secondaryExpanded ?? !1, te = () => {
691
+ A(O, { swapped: !M }), u?.();
692
+ }, ne = () => A(O, { secondaryExpanded: !N }), { panelRef: re, gripRef: ie } = r({
693
+ size: a,
694
+ minSize: 320,
695
+ maxSize: o,
696
+ enabled: !i,
697
+ collapsed: n,
698
+ overshoot: !1,
699
+ transition: E,
700
+ onSizeChange: (e) => A(O, { width: Number(e) }),
701
+ onCollapsedChange: t ? (e) => {
702
+ e !== n && j(t);
703
+ } : void 0
704
+ }), ae = /* @__PURE__ */ w(Ye, {
705
+ id: "top",
706
+ expanded: !N,
707
+ primary: !0,
708
+ panelId: O,
709
+ children: c
710
+ }, "top"), I = l ? /* @__PURE__ */ w(Ye, {
711
+ id: "bottom",
712
+ expanded: N,
713
+ panelId: O,
714
+ swapped: M,
715
+ children: l
716
+ }, "bottom") : null, oe = (u || d) && l && /* @__PURE__ */ w(S.div, {
717
+ layout: "position",
718
+ "data-motion-panels-separator": "",
719
+ transition: E,
720
+ className: "h-2 relative flex items-center justify-center",
721
+ children: /* @__PURE__ */ w(ve, {
722
+ label: p,
723
+ onClick: te,
724
+ onExpand: ne,
725
+ onCloseSecondary: d,
726
+ secondaryExpanded: N,
727
+ swapped: M,
728
+ sound: m
729
+ })
730
+ }, "seam");
731
+ return /* @__PURE__ */ T(S.section, {
732
+ initial: !1,
733
+ id: t ?? "scaffold-panel",
734
+ ref: re,
735
+ "data-motion-panels-fill": i ? "" : void 0,
736
+ "data-motion-panels-separator": n ? "" : void 0,
737
+ "aria-hidden": n || void 0,
738
+ inert: n || void 0,
739
+ animate: { opacity: x ? .35 : 1 },
740
+ style: {
741
+ flex: i ? "1 1 0%" : "0 0 auto",
742
+ minWidth: 0,
743
+ marginRight: n ? -8 : 0,
744
+ overflow: n ? "clip" : void 0
745
+ },
746
+ "aria-label": f,
747
+ className: e("group/panel min-w-0 relative flex", "flex-col", g),
748
+ "data-slot": "scaffold-panel",
749
+ "data-dimmed": x ? "" : void 0,
750
+ "data-swapped": M ? "" : void 0,
751
+ transition: E,
752
+ children: [
753
+ !i && /* @__PURE__ */ w("div", {
754
+ ref: ie,
755
+ role: "separator",
756
+ "aria-label": `Resize ${f ?? "panel"}`,
757
+ "aria-orientation": "vertical",
758
+ tabIndex: n ? -1 : 0,
759
+ className: e("inset-y-0 w-2 absolute z-10 cursor-col-resize touch-none focus-visible:outline-2 focus-visible:outline-ring", s ? "-right-1" : "-left-1")
760
+ }),
761
+ M ? I : ae,
762
+ oe,
763
+ M ? ae : I
764
+ ]
765
+ });
766
+ }
767
+ //#endregion
768
+ //#region src/components/blocks/scaffold/scaffold-root.tsx
769
+ function Ze({ scaffoldId: t, inspectorOpen: n, defaultInspectorOpen: r, onInspectorOpenChange: i, inspectorWidth: a = 272, className: o, children: s, ...c }) {
770
+ let l = p.useId(), u = t ?? l, d = n !== void 0, f = p.useMemo(() => ({ controlsInspector: d }), [d]), m = p.useMemo(() => ({ onInspectorOpenChange: i }), [i]), h = b(Le(u)), g = b(Re(u)), _ = b(ze(u)), [v] = p.useState(() => n ?? r ?? !1);
771
+ p.useEffect(() => {
772
+ d || _(v);
773
+ }, []), p.useEffect(() => {
774
+ g(m);
775
+ }, [g, m]), p.useEffect(() => {
776
+ h(f, n);
777
+ }, [
778
+ h,
779
+ f,
780
+ n
781
+ ]), p.useEffect(() => {
782
+ if (t === void 0) return () => Ve(u);
783
+ }, [t, u]);
784
+ let x = y(q(u)), S = p.useMemo(() => ({
785
+ scaffoldId: u,
786
+ inspectorWidth: x ?? a
787
+ }), [
788
+ u,
789
+ a,
790
+ x
791
+ ]);
792
+ return /* @__PURE__ */ w(He.Provider, {
793
+ value: S,
794
+ children: /* @__PURE__ */ w("div", {
795
+ id: "scaffold-root",
796
+ className: e("pr-2 pb-2 relative isolate flex size-full flex-1 overflow-clip", "bg-linear-to-tr/increasing from-neutral-200 via-neutral-100 to-stone-200 dark:from-neutral-900 dark:via-neutral-950 dark:to-stone-950", o),
797
+ "data-slot": "scaffold",
798
+ ...c,
799
+ children: s
800
+ })
801
+ });
802
+ }
803
+ //#endregion
804
+ //#region src/components/blocks/scaffold/scaffold-sidebar.tsx
805
+ function Qe({ className: t, children: n, ...r }) {
806
+ return /* @__PURE__ */ w("nav", {
807
+ id: "scaffold-sidebar",
808
+ "aria-label": "Primary",
809
+ className: e("flex h-full min-w-12 shrink-0 flex-col items-center gap-1 overflow-y-auto pt-10 pb-2", t),
810
+ "data-slot": "scaffold-sidebar",
811
+ ...r,
812
+ children: n
813
+ });
814
+ }
815
+ //#endregion
816
+ //#region src/components/blocks/scaffold/scaffold-tab.tsx
817
+ function $e({ children: t, panelId: r, onClose: a, closeLabel: o = "Close panel", sound: c = !0, className: l, ...d }) {
818
+ let { scaffoldId: m } = Q(), h = y(Oe(m, r ?? "")), g = b(Z(m)), _ = b(Pe(m)), v = C(), x = v ? { duration: 0 } : n;
819
+ return p.useEffect(() => {
820
+ if (r !== void 0) return () => _(r, !1);
821
+ }, [r, _]), /* @__PURE__ */ T(he, {
822
+ layout: !0,
823
+ animate: v ? {
824
+ opacity: 1,
825
+ width: "auto"
826
+ } : "visible",
827
+ "data-slot": "scaffold-tab",
828
+ "data-panel-hidden": h ? "" : void 0,
829
+ onPointerEnter: r === void 0 ? void 0 : () => _(r, !0),
830
+ onPointerLeave: r === void 0 ? void 0 : () => _(r, !1),
831
+ exit: v ? {
832
+ opacity: 0,
833
+ width: 0
834
+ } : "exit",
835
+ initial: v ? {
836
+ opacity: 0,
837
+ width: 0
838
+ } : "hidden",
839
+ transition: x,
840
+ variants: ue,
841
+ glassVariant: "subtle",
842
+ className: e("h-full rounded-sm", l),
843
+ ...d,
844
+ children: [/* @__PURE__ */ T(i, {
845
+ "aria-pressed": r === void 0 ? void 0 : !h,
846
+ onClick: r === void 0 ? void 0 : () => g(r),
847
+ size: "sm",
848
+ sound: c,
849
+ variant: "ghost",
850
+ className: e("gap-2.5 rounded-sm pl-2", a && "pr-2", h && "text-muted-foreground/70"),
851
+ children: [w(h ? u : s, { size: 16 }), t]
852
+ }), a && /* @__PURE__ */ w(i, {
853
+ "aria-label": o,
854
+ onClick: a,
855
+ size: "icon-sm",
856
+ sound: c,
857
+ variant: "ghost",
858
+ className: "self-center rounded-none!",
859
+ children: /* @__PURE__ */ w(f, { size: 16 })
860
+ })]
861
+ });
862
+ }
863
+ //#endregion
864
+ //#region src/components/blocks/scaffold/use-scaffold.ts
865
+ function et({ scaffoldId: e, defaultInspectorOpen: t, onInspectorChange: n } = {}) {
866
+ let r = h(), i = e ?? r, a = y(B(i)), o = b(Y(i)), s = b(X(i));
867
+ return m(() => {
868
+ if (e === void 0) return () => Ve(i);
869
+ }, [e, i]), {
870
+ scaffoldId: i,
871
+ inspectorOpen: a,
872
+ setInspectorOpen: o,
873
+ toggleInspector: s,
874
+ providerProps: g(() => ({
875
+ scaffoldId: i,
876
+ defaultInspectorOpen: t,
877
+ onInspectorOpenChange: n
878
+ }), [
879
+ i,
880
+ t,
881
+ n
882
+ ])
883
+ };
884
+ }
885
+ //#endregion
886
+ //#region src/components/blocks/scaffold/use-scaffold-state.ts
887
+ function tt(e) {
888
+ return y(Me(e));
889
+ }
890
+ function nt(e) {
891
+ let t = b(Y(e)), n = b(X(e)), r = b(Z(e)), i = b(J(e)), a = b(je(e)), o = b(Be(e));
892
+ return g(() => ({
893
+ setInspectorOpen: t,
894
+ toggleInspector: n,
895
+ togglePanel: r,
896
+ reset: o,
897
+ resizeInspector: a,
898
+ resizePanel: (e, t) => i(e, { width: t }),
899
+ resizeSecondaryPanel: (e, t) => i(e, { secondarySize: t }),
900
+ setSecondaryExpanded: (e, t) => i(e, { secondaryExpanded: t }),
901
+ setPanelSwapped: (e, t) => i(e, { swapped: t })
902
+ }), [
903
+ t,
904
+ n,
905
+ r,
906
+ o,
907
+ a,
908
+ i
909
+ ]);
910
+ }
911
+ //#endregion
912
+ //#region src/components/blocks/scaffold/index.ts
913
+ var rt = {
914
+ Root: Ze,
915
+ Sidebar: Qe,
916
+ Main: Je,
917
+ Actions: Ue,
918
+ Canvas: We,
919
+ Panel: Xe,
920
+ Tab: $e,
921
+ Inspector: qe,
922
+ SubPanel: Ye
923
+ };
924
+ //#endregion
925
+ export { J as A, j as B, ke as C, Y as D, Me as E, N as F, ee as H, te as I, A as L, fe as M, M as N, X as O, F as P, ie as R, G as S, K as T, ne as U, re as V, k as W, je as _, $e as a, B as b, Xe as c, Ke as d, We as f, Be as g, Ve as h, et as i, ve as j, Z as k, Je as l, Q as m, nt as n, Qe as o, Ue as p, tt as r, Ze as s, rt as t, qe as u, De as v, Oe as w, q as x, W as y, P as z };