@epicbagel/saas-kit 0.0.0-stage → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (580) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +71 -2
  3. package/THIRD_PARTY_NOTICES.md +47 -0
  4. package/dist/chunk-23UMHZ4S.cjs +124 -0
  5. package/dist/chunk-2BHI5ZWJ.cjs +117 -0
  6. package/dist/chunk-2HTYXBDU.cjs +34 -0
  7. package/dist/chunk-2XDFTB2W.cjs +35 -0
  8. package/dist/chunk-35YMAIEL.js +135 -0
  9. package/dist/chunk-373W6VAD.cjs +82 -0
  10. package/dist/chunk-3BZ4CQHW.js +94 -0
  11. package/dist/chunk-3OWGL4Q2.js +65 -0
  12. package/dist/chunk-3QT5VYZ3.js +141 -0
  13. package/dist/chunk-4HWCNRK4.js +117 -0
  14. package/dist/chunk-4LXN6GLZ.cjs +44 -0
  15. package/dist/chunk-4NN7EA3W.js +222 -0
  16. package/dist/chunk-62UTAG2C.js +152 -0
  17. package/dist/chunk-667ZCM4X.cjs +72 -0
  18. package/dist/chunk-6RVPQGYS.js +181 -0
  19. package/dist/chunk-6T2EULKN.cjs +42 -0
  20. package/dist/chunk-7CRDYV3C.js +137 -0
  21. package/dist/chunk-BEJJN2SY.cjs +73 -0
  22. package/dist/chunk-BGLGRUPP.cjs +31 -0
  23. package/dist/chunk-CS7DM3NV.js +98 -0
  24. package/dist/chunk-CTYOW3V2.cjs +59 -0
  25. package/dist/chunk-D4ZL2OEQ.js +61 -0
  26. package/dist/chunk-DFB4ILN6.cjs +137 -0
  27. package/dist/chunk-E2TQMDO7.js +34 -0
  28. package/dist/chunk-EIY5LLSP.js +82 -0
  29. package/dist/chunk-EJP2L5QV.cjs +74 -0
  30. package/dist/chunk-F73ONTCK.js +73 -0
  31. package/dist/chunk-F7JHSZNT.js +73 -0
  32. package/dist/chunk-FJLINIC6.js +48 -0
  33. package/dist/chunk-FLPYZNWZ.js +124 -0
  34. package/dist/chunk-FNDBM67K.cjs +61 -0
  35. package/dist/chunk-G54TQV2R.cjs +222 -0
  36. package/dist/chunk-G6SRSWXB.js +32 -0
  37. package/dist/chunk-G76JANB4.js +138 -0
  38. package/dist/chunk-GL5CV4FF.js +59 -0
  39. package/dist/chunk-GMJWBGTJ.js +34 -0
  40. package/dist/chunk-GRZMUGT6.cjs +94 -0
  41. package/dist/chunk-GXHGMI3Z.cjs +48 -0
  42. package/dist/chunk-H2O6NMLZ.js +52 -0
  43. package/dist/chunk-H2UFRLLN.cjs +100 -0
  44. package/dist/chunk-H7TETFLB.js +39 -0
  45. package/dist/chunk-HQRWRRZJ.js +179 -0
  46. package/dist/chunk-HYSWE75T.js +67 -0
  47. package/dist/chunk-HYTILYE5.js +31 -0
  48. package/dist/chunk-I6GUOEBO.cjs +61 -0
  49. package/dist/chunk-IQZLUT2Y.cjs +34 -0
  50. package/dist/chunk-J3GQXM37.js +61 -0
  51. package/dist/chunk-J6NXDZR5.js +145 -0
  52. package/dist/chunk-JH4GAGOQ.cjs +34 -0
  53. package/dist/chunk-KGFL3VWY.cjs +62 -0
  54. package/dist/chunk-KN4RPX35.js +36 -0
  55. package/dist/chunk-KWLSBTB2.cjs +34 -0
  56. package/dist/chunk-L4DH72UF.cjs +179 -0
  57. package/dist/chunk-LELBCBDT.cjs +52 -0
  58. package/dist/chunk-LELFPLTE.js +55 -0
  59. package/dist/chunk-LI5EOSQG.js +171 -0
  60. package/dist/chunk-LIE6W3QT.js +42 -0
  61. package/dist/chunk-MLHNYRFX.js +411 -0
  62. package/dist/chunk-NBUWGRQO.js +31 -0
  63. package/dist/chunk-NE3ZVJ6G.cjs +67 -0
  64. package/dist/chunk-NQK5ZWC7.cjs +31 -0
  65. package/dist/chunk-NW3OWKBN.js +57 -0
  66. package/dist/chunk-OICAYRVH.js +34 -0
  67. package/dist/chunk-PIU5SSUV.js +25 -0
  68. package/dist/chunk-PNWNU6JW.cjs +171 -0
  69. package/dist/chunk-PPX2VPGI.cjs +138 -0
  70. package/dist/chunk-PQUSJEXL.cjs +51 -0
  71. package/dist/chunk-QD63LB2F.js +62 -0
  72. package/dist/chunk-QMA3WVB7.js +51 -0
  73. package/dist/chunk-QNZYQLNP.js +125 -0
  74. package/dist/chunk-R35FT53G.cjs +25 -0
  75. package/dist/chunk-R3DQS6U4.cjs +135 -0
  76. package/dist/chunk-R4AIM3BQ.js +72 -0
  77. package/dist/chunk-R5L4CM6V.cjs +202 -0
  78. package/dist/chunk-RRRD5EUI.js +202 -0
  79. package/dist/chunk-RSFEKQDR.cjs +181 -0
  80. package/dist/chunk-RWWOFWLP.cjs +510 -0
  81. package/dist/chunk-SGW4FWBX.cjs +411 -0
  82. package/dist/chunk-T2ZFSPE4.cjs +36 -0
  83. package/dist/chunk-U2NES7VR.cjs +32 -0
  84. package/dist/chunk-UGF2K6NR.js +510 -0
  85. package/dist/chunk-V4LE2HWP.js +166 -0
  86. package/dist/chunk-V5SPFLKW.cjs +145 -0
  87. package/dist/chunk-V7542UGX.js +31 -0
  88. package/dist/chunk-VBPPFC7X.cjs +66 -0
  89. package/dist/chunk-VGTINL5Q.cjs +39 -0
  90. package/dist/chunk-VKIGJNJR.cjs +57 -0
  91. package/dist/chunk-W5HPHEE7.cjs +31 -0
  92. package/dist/chunk-W5I4FN7G.cjs +78 -0
  93. package/dist/chunk-WABCLRBR.cjs +65 -0
  94. package/dist/chunk-WDXEJDMO.cjs +141 -0
  95. package/dist/chunk-WNXVGUBF.cjs +40 -0
  96. package/dist/chunk-WQJKUKBL.cjs +125 -0
  97. package/dist/chunk-XAPPU3MD.js +35 -0
  98. package/dist/chunk-XLIAY56V.cjs +55 -0
  99. package/dist/chunk-YEW65ASC.js +66 -0
  100. package/dist/chunk-YG7FBJRM.js +40 -0
  101. package/dist/chunk-YWAQRAXP.js +78 -0
  102. package/dist/chunk-YYFVG5A6.cjs +152 -0
  103. package/dist/chunk-ZAITUDYD.cjs +166 -0
  104. package/dist/chunk-ZRLUUZHK.js +32 -0
  105. package/dist/chunk-ZWZAAGQF.js +44 -0
  106. package/dist/hooks/use-copy-to-clipboard.cjs +7 -0
  107. package/dist/hooks/use-copy-to-clipboard.d.cts +12 -0
  108. package/dist/hooks/use-copy-to-clipboard.d.ts +12 -0
  109. package/dist/hooks/use-copy-to-clipboard.js +7 -0
  110. package/dist/hooks/use-layout-preference.cjs +51 -0
  111. package/dist/hooks/use-layout-preference.d.cts +10 -0
  112. package/dist/hooks/use-layout-preference.d.ts +10 -0
  113. package/dist/hooks/use-layout-preference.js +51 -0
  114. package/dist/hooks/use-mobile.cjs +7 -0
  115. package/dist/hooks/use-mobile.d.cts +3 -0
  116. package/dist/hooks/use-mobile.d.ts +3 -0
  117. package/dist/hooks/use-mobile.js +7 -0
  118. package/dist/lib/date-utils.cjs +15 -0
  119. package/dist/lib/date-utils.d.cts +16 -0
  120. package/dist/lib/date-utils.d.ts +16 -0
  121. package/dist/lib/date-utils.js +14 -0
  122. package/dist/lib/filter-types.cjs +161 -0
  123. package/dist/lib/filter-types.d.cts +60 -0
  124. package/dist/lib/filter-types.d.ts +60 -0
  125. package/dist/lib/filter-types.js +160 -0
  126. package/dist/lib/neutral-theme.cjs +238 -0
  127. package/dist/lib/neutral-theme.d.cts +92 -0
  128. package/dist/lib/neutral-theme.d.ts +92 -0
  129. package/dist/lib/neutral-theme.js +236 -0
  130. package/dist/lib/status-colors.cjs +18 -0
  131. package/dist/lib/status-colors.d.cts +76 -0
  132. package/dist/lib/status-colors.d.ts +76 -0
  133. package/dist/lib/status-colors.js +17 -0
  134. package/dist/lib/utils.cjs +9 -0
  135. package/dist/lib/utils.d.cts +9 -0
  136. package/dist/lib/utils.d.ts +9 -0
  137. package/dist/lib/utils.js +8 -0
  138. package/dist/primitives/activity-feed.cjs +177 -0
  139. package/dist/primitives/activity-feed.d.cts +78 -0
  140. package/dist/primitives/activity-feed.d.ts +78 -0
  141. package/dist/primitives/activity-feed.js +177 -0
  142. package/dist/primitives/activity-log.cjs +79 -0
  143. package/dist/primitives/activity-log.d.cts +55 -0
  144. package/dist/primitives/activity-log.d.ts +55 -0
  145. package/dist/primitives/activity-log.js +79 -0
  146. package/dist/primitives/agent-comment.cjs +39 -0
  147. package/dist/primitives/agent-comment.d.cts +33 -0
  148. package/dist/primitives/agent-comment.d.ts +33 -0
  149. package/dist/primitives/agent-comment.js +39 -0
  150. package/dist/primitives/alert-dialog.cjs +30 -0
  151. package/dist/primitives/alert-dialog.d.cts +23 -0
  152. package/dist/primitives/alert-dialog.d.ts +23 -0
  153. package/dist/primitives/alert-dialog.js +30 -0
  154. package/dist/primitives/alert.cjs +12 -0
  155. package/dist/primitives/alert.d.cts +26 -0
  156. package/dist/primitives/alert.d.ts +26 -0
  157. package/dist/primitives/alert.js +12 -0
  158. package/dist/primitives/anchor-target.cjs +13 -0
  159. package/dist/primitives/anchor-target.d.cts +7 -0
  160. package/dist/primitives/anchor-target.d.ts +7 -0
  161. package/dist/primitives/anchor-target.js +13 -0
  162. package/dist/primitives/anchor.cjs +35 -0
  163. package/dist/primitives/anchor.d.cts +16 -0
  164. package/dist/primitives/anchor.d.ts +16 -0
  165. package/dist/primitives/anchor.js +35 -0
  166. package/dist/primitives/archive-confirmation-dialog.cjs +50 -0
  167. package/dist/primitives/archive-confirmation-dialog.d.cts +12 -0
  168. package/dist/primitives/archive-confirmation-dialog.d.ts +12 -0
  169. package/dist/primitives/archive-confirmation-dialog.js +50 -0
  170. package/dist/primitives/aspect-ratio.cjs +8 -0
  171. package/dist/primitives/aspect-ratio.d.cts +6 -0
  172. package/dist/primitives/aspect-ratio.d.ts +6 -0
  173. package/dist/primitives/aspect-ratio.js +8 -0
  174. package/dist/primitives/attachment.cjs +203 -0
  175. package/dist/primitives/attachment.d.cts +28 -0
  176. package/dist/primitives/attachment.d.ts +28 -0
  177. package/dist/primitives/attachment.js +203 -0
  178. package/dist/primitives/avatar.cjs +12 -0
  179. package/dist/primitives/avatar.d.cts +22 -0
  180. package/dist/primitives/avatar.d.ts +22 -0
  181. package/dist/primitives/avatar.js +12 -0
  182. package/dist/primitives/badge.cjs +10 -0
  183. package/dist/primitives/badge.d.cts +27 -0
  184. package/dist/primitives/badge.d.ts +27 -0
  185. package/dist/primitives/badge.js +10 -0
  186. package/dist/primitives/board-view-internals.cjs +16 -0
  187. package/dist/primitives/board-view-internals.d.cts +33 -0
  188. package/dist/primitives/board-view-internals.d.ts +33 -0
  189. package/dist/primitives/board-view-internals.js +16 -0
  190. package/dist/primitives/board-view.cjs +108 -0
  191. package/dist/primitives/board-view.d.cts +39 -0
  192. package/dist/primitives/board-view.d.ts +39 -0
  193. package/dist/primitives/board-view.js +108 -0
  194. package/dist/primitives/browser-preview.cjs +62 -0
  195. package/dist/primitives/browser-preview.d.cts +41 -0
  196. package/dist/primitives/browser-preview.d.ts +41 -0
  197. package/dist/primitives/browser-preview.js +62 -0
  198. package/dist/primitives/button.cjs +10 -0
  199. package/dist/primitives/button.d.cts +32 -0
  200. package/dist/primitives/button.d.ts +32 -0
  201. package/dist/primitives/button.js +10 -0
  202. package/dist/primitives/calendar.cjs +11 -0
  203. package/dist/primitives/calendar.d.cts +13 -0
  204. package/dist/primitives/calendar.d.ts +13 -0
  205. package/dist/primitives/calendar.js +11 -0
  206. package/dist/primitives/call-card.cjs +195 -0
  207. package/dist/primitives/call-card.d.cts +86 -0
  208. package/dist/primitives/call-card.d.ts +86 -0
  209. package/dist/primitives/call-card.js +195 -0
  210. package/dist/primitives/callout.cjs +8 -0
  211. package/dist/primitives/callout.d.cts +41 -0
  212. package/dist/primitives/callout.d.ts +41 -0
  213. package/dist/primitives/callout.js +8 -0
  214. package/dist/primitives/card.cjs +18 -0
  215. package/dist/primitives/card.d.cts +55 -0
  216. package/dist/primitives/card.d.ts +55 -0
  217. package/dist/primitives/card.js +18 -0
  218. package/dist/primitives/checkbox.cjs +8 -0
  219. package/dist/primitives/checkbox.d.cts +20 -0
  220. package/dist/primitives/checkbox.d.ts +20 -0
  221. package/dist/primitives/checkbox.js +8 -0
  222. package/dist/primitives/chip-tabs.cjs +10 -0
  223. package/dist/primitives/chip-tabs.d.cts +39 -0
  224. package/dist/primitives/chip-tabs.d.ts +39 -0
  225. package/dist/primitives/chip-tabs.js +10 -0
  226. package/dist/primitives/code-block.cjs +56 -0
  227. package/dist/primitives/code-block.d.cts +35 -0
  228. package/dist/primitives/code-block.d.ts +35 -0
  229. package/dist/primitives/code-block.js +56 -0
  230. package/dist/primitives/collapsible-section.cjs +69 -0
  231. package/dist/primitives/collapsible-section.d.cts +24 -0
  232. package/dist/primitives/collapsible-section.d.ts +24 -0
  233. package/dist/primitives/collapsible-section.js +69 -0
  234. package/dist/primitives/collapsible.cjs +12 -0
  235. package/dist/primitives/collapsible.d.cts +14 -0
  236. package/dist/primitives/collapsible.d.ts +14 -0
  237. package/dist/primitives/collapsible.js +12 -0
  238. package/dist/primitives/compact-app-shell.cjs +40 -0
  239. package/dist/primitives/compact-app-shell.d.cts +12 -0
  240. package/dist/primitives/compact-app-shell.d.ts +12 -0
  241. package/dist/primitives/compact-app-shell.js +40 -0
  242. package/dist/primitives/compact-log.cjs +39 -0
  243. package/dist/primitives/compact-log.d.cts +19 -0
  244. package/dist/primitives/compact-log.d.ts +19 -0
  245. package/dist/primitives/compact-log.js +39 -0
  246. package/dist/primitives/confirm-bar.cjs +101 -0
  247. package/dist/primitives/confirm-bar.d.cts +60 -0
  248. package/dist/primitives/confirm-bar.d.ts +60 -0
  249. package/dist/primitives/confirm-bar.js +101 -0
  250. package/dist/primitives/connection-status-bar.cjs +243 -0
  251. package/dist/primitives/connection-status-bar.d.cts +52 -0
  252. package/dist/primitives/connection-status-bar.d.ts +52 -0
  253. package/dist/primitives/connection-status-bar.js +243 -0
  254. package/dist/primitives/connection.cjs +206 -0
  255. package/dist/primitives/connection.d.cts +126 -0
  256. package/dist/primitives/connection.d.ts +126 -0
  257. package/dist/primitives/connection.js +206 -0
  258. package/dist/primitives/contact-header.cjs +60 -0
  259. package/dist/primitives/contact-header.d.cts +54 -0
  260. package/dist/primitives/contact-header.d.ts +54 -0
  261. package/dist/primitives/contact-header.js +60 -0
  262. package/dist/primitives/copy-button.cjs +10 -0
  263. package/dist/primitives/copy-button.d.cts +21 -0
  264. package/dist/primitives/copy-button.d.ts +21 -0
  265. package/dist/primitives/copy-button.js +10 -0
  266. package/dist/primitives/count-badge.cjs +9 -0
  267. package/dist/primitives/count-badge.d.cts +21 -0
  268. package/dist/primitives/count-badge.d.ts +21 -0
  269. package/dist/primitives/count-badge.js +9 -0
  270. package/dist/primitives/decision-actions.cjs +66 -0
  271. package/dist/primitives/decision-actions.d.cts +31 -0
  272. package/dist/primitives/decision-actions.d.ts +31 -0
  273. package/dist/primitives/decision-actions.js +66 -0
  274. package/dist/primitives/definition-list.cjs +65 -0
  275. package/dist/primitives/definition-list.d.cts +23 -0
  276. package/dist/primitives/definition-list.d.ts +23 -0
  277. package/dist/primitives/definition-list.js +65 -0
  278. package/dist/primitives/delete-confirmation-dialog.cjs +11 -0
  279. package/dist/primitives/delete-confirmation-dialog.d.cts +23 -0
  280. package/dist/primitives/delete-confirmation-dialog.d.ts +23 -0
  281. package/dist/primitives/delete-confirmation-dialog.js +11 -0
  282. package/dist/primitives/dialog.cjs +26 -0
  283. package/dist/primitives/dialog.d.cts +44 -0
  284. package/dist/primitives/dialog.d.ts +44 -0
  285. package/dist/primitives/dialog.js +26 -0
  286. package/dist/primitives/drawer.cjs +26 -0
  287. package/dist/primitives/drawer.d.cts +36 -0
  288. package/dist/primitives/drawer.d.ts +36 -0
  289. package/dist/primitives/drawer.js +26 -0
  290. package/dist/primitives/dropdown-menu.cjs +36 -0
  291. package/dist/primitives/dropdown-menu.d.cts +34 -0
  292. package/dist/primitives/dropdown-menu.d.ts +34 -0
  293. package/dist/primitives/dropdown-menu.js +36 -0
  294. package/dist/primitives/editable-list.cjs +108 -0
  295. package/dist/primitives/editable-list.d.cts +23 -0
  296. package/dist/primitives/editable-list.d.ts +23 -0
  297. package/dist/primitives/editable-list.js +108 -0
  298. package/dist/primitives/empty-state.cjs +9 -0
  299. package/dist/primitives/empty-state.d.cts +54 -0
  300. package/dist/primitives/empty-state.d.ts +54 -0
  301. package/dist/primitives/empty-state.js +9 -0
  302. package/dist/primitives/eyebrow.cjs +8 -0
  303. package/dist/primitives/eyebrow.d.cts +21 -0
  304. package/dist/primitives/eyebrow.d.ts +21 -0
  305. package/dist/primitives/eyebrow.js +8 -0
  306. package/dist/primitives/feature-empty-state.cjs +133 -0
  307. package/dist/primitives/feature-empty-state.d.cts +42 -0
  308. package/dist/primitives/feature-empty-state.d.ts +42 -0
  309. package/dist/primitives/feature-empty-state.js +133 -0
  310. package/dist/primitives/field.cjs +260 -0
  311. package/dist/primitives/field.d.cts +43 -0
  312. package/dist/primitives/field.d.ts +43 -0
  313. package/dist/primitives/field.js +260 -0
  314. package/dist/primitives/file-dropzone.cjs +118 -0
  315. package/dist/primitives/file-dropzone.d.cts +36 -0
  316. package/dist/primitives/file-dropzone.d.ts +36 -0
  317. package/dist/primitives/file-dropzone.js +118 -0
  318. package/dist/primitives/filter-bar.cjs +20 -0
  319. package/dist/primitives/filter-bar.d.cts +25 -0
  320. package/dist/primitives/filter-bar.d.ts +25 -0
  321. package/dist/primitives/filter-bar.js +20 -0
  322. package/dist/primitives/flex-item.cjs +34 -0
  323. package/dist/primitives/flex-item.d.cts +18 -0
  324. package/dist/primitives/flex-item.d.ts +18 -0
  325. package/dist/primitives/flex-item.js +34 -0
  326. package/dist/primitives/grid.cjs +47 -0
  327. package/dist/primitives/grid.d.cts +18 -0
  328. package/dist/primitives/grid.d.ts +18 -0
  329. package/dist/primitives/grid.js +47 -0
  330. package/dist/primitives/heading.cjs +8 -0
  331. package/dist/primitives/heading.d.cts +28 -0
  332. package/dist/primitives/heading.d.ts +28 -0
  333. package/dist/primitives/heading.js +8 -0
  334. package/dist/primitives/hidden-control.cjs +13 -0
  335. package/dist/primitives/hidden-control.d.cts +7 -0
  336. package/dist/primitives/hidden-control.d.ts +7 -0
  337. package/dist/primitives/hidden-control.js +13 -0
  338. package/dist/primitives/icon.cjs +8 -0
  339. package/dist/primitives/icon.d.cts +22 -0
  340. package/dist/primitives/icon.d.ts +22 -0
  341. package/dist/primitives/icon.js +8 -0
  342. package/dist/primitives/image.cjs +52 -0
  343. package/dist/primitives/image.d.cts +21 -0
  344. package/dist/primitives/image.d.ts +21 -0
  345. package/dist/primitives/image.js +52 -0
  346. package/dist/primitives/inline-code.cjs +34 -0
  347. package/dist/primitives/inline-code.d.cts +15 -0
  348. package/dist/primitives/inline-code.d.ts +15 -0
  349. package/dist/primitives/inline-code.js +34 -0
  350. package/dist/primitives/input.cjs +8 -0
  351. package/dist/primitives/input.d.cts +23 -0
  352. package/dist/primitives/input.d.ts +23 -0
  353. package/dist/primitives/input.js +8 -0
  354. package/dist/primitives/inset.cjs +20 -0
  355. package/dist/primitives/inset.d.cts +12 -0
  356. package/dist/primitives/inset.d.ts +12 -0
  357. package/dist/primitives/inset.js +20 -0
  358. package/dist/primitives/interactive-card.cjs +11 -0
  359. package/dist/primitives/interactive-card.d.cts +68 -0
  360. package/dist/primitives/interactive-card.d.ts +68 -0
  361. package/dist/primitives/interactive-card.js +11 -0
  362. package/dist/primitives/label.cjs +8 -0
  363. package/dist/primitives/label.d.cts +12 -0
  364. package/dist/primitives/label.d.ts +12 -0
  365. package/dist/primitives/label.js +8 -0
  366. package/dist/primitives/line-break.cjs +10 -0
  367. package/dist/primitives/line-break.d.cts +6 -0
  368. package/dist/primitives/line-break.d.ts +6 -0
  369. package/dist/primitives/line-break.js +10 -0
  370. package/dist/primitives/list.cjs +68 -0
  371. package/dist/primitives/list.d.cts +35 -0
  372. package/dist/primitives/list.d.ts +35 -0
  373. package/dist/primitives/list.js +68 -0
  374. package/dist/primitives/load-more-button.cjs +10 -0
  375. package/dist/primitives/load-more-button.d.cts +42 -0
  376. package/dist/primitives/load-more-button.d.ts +42 -0
  377. package/dist/primitives/load-more-button.js +10 -0
  378. package/dist/primitives/loading.cjs +10 -0
  379. package/dist/primitives/loading.d.cts +5 -0
  380. package/dist/primitives/loading.d.ts +5 -0
  381. package/dist/primitives/loading.js +10 -0
  382. package/dist/primitives/message.cjs +95 -0
  383. package/dist/primitives/message.d.cts +13 -0
  384. package/dist/primitives/message.d.ts +13 -0
  385. package/dist/primitives/message.js +95 -0
  386. package/dist/primitives/native-select.cjs +33 -0
  387. package/dist/primitives/native-select.d.cts +15 -0
  388. package/dist/primitives/native-select.d.ts +15 -0
  389. package/dist/primitives/native-select.js +33 -0
  390. package/dist/primitives/page-header-actions.cjs +11 -0
  391. package/dist/primitives/page-header-actions.d.cts +49 -0
  392. package/dist/primitives/page-header-actions.d.ts +49 -0
  393. package/dist/primitives/page-header-actions.js +11 -0
  394. package/dist/primitives/page-header.cjs +72 -0
  395. package/dist/primitives/page-header.d.cts +40 -0
  396. package/dist/primitives/page-header.d.ts +40 -0
  397. package/dist/primitives/page-header.js +72 -0
  398. package/dist/primitives/page-shell.cjs +46 -0
  399. package/dist/primitives/page-shell.d.cts +44 -0
  400. package/dist/primitives/page-shell.d.ts +44 -0
  401. package/dist/primitives/page-shell.js +46 -0
  402. package/dist/primitives/page-tabs.cjs +63 -0
  403. package/dist/primitives/page-tabs.d.cts +28 -0
  404. package/dist/primitives/page-tabs.d.ts +28 -0
  405. package/dist/primitives/page-tabs.js +63 -0
  406. package/dist/primitives/panel-section.cjs +52 -0
  407. package/dist/primitives/panel-section.d.cts +20 -0
  408. package/dist/primitives/panel-section.d.ts +20 -0
  409. package/dist/primitives/panel-section.js +52 -0
  410. package/dist/primitives/person-avatar.cjs +57 -0
  411. package/dist/primitives/person-avatar.d.cts +33 -0
  412. package/dist/primitives/person-avatar.d.ts +33 -0
  413. package/dist/primitives/person-avatar.js +57 -0
  414. package/dist/primitives/phone.cjs +69 -0
  415. package/dist/primitives/phone.d.cts +50 -0
  416. package/dist/primitives/phone.d.ts +50 -0
  417. package/dist/primitives/phone.js +69 -0
  418. package/dist/primitives/popover.cjs +12 -0
  419. package/dist/primitives/popover.d.cts +14 -0
  420. package/dist/primitives/popover.d.ts +14 -0
  421. package/dist/primitives/popover.js +12 -0
  422. package/dist/primitives/progress.cjs +31 -0
  423. package/dist/primitives/progress.d.cts +6 -0
  424. package/dist/primitives/progress.d.ts +6 -0
  425. package/dist/primitives/progress.js +31 -0
  426. package/dist/primitives/quick-filters.cjs +10 -0
  427. package/dist/primitives/quick-filters.d.cts +36 -0
  428. package/dist/primitives/quick-filters.d.ts +36 -0
  429. package/dist/primitives/quick-filters.js +10 -0
  430. package/dist/primitives/radio-group.cjs +46 -0
  431. package/dist/primitives/radio-group.d.cts +7 -0
  432. package/dist/primitives/radio-group.d.ts +7 -0
  433. package/dist/primitives/radio-group.js +46 -0
  434. package/dist/primitives/resource-card.cjs +104 -0
  435. package/dist/primitives/resource-card.d.cts +93 -0
  436. package/dist/primitives/resource-card.d.ts +93 -0
  437. package/dist/primitives/resource-card.js +104 -0
  438. package/dist/primitives/resource-list.cjs +28 -0
  439. package/dist/primitives/resource-list.d.cts +103 -0
  440. package/dist/primitives/resource-list.d.ts +103 -0
  441. package/dist/primitives/resource-list.js +28 -0
  442. package/dist/primitives/responsive-dialog.cjs +142 -0
  443. package/dist/primitives/responsive-dialog.d.cts +56 -0
  444. package/dist/primitives/responsive-dialog.d.ts +56 -0
  445. package/dist/primitives/responsive-dialog.js +142 -0
  446. package/dist/primitives/responsive-view.cjs +29 -0
  447. package/dist/primitives/responsive-view.d.cts +10 -0
  448. package/dist/primitives/responsive-view.d.ts +10 -0
  449. package/dist/primitives/responsive-view.js +29 -0
  450. package/dist/primitives/rich-text.cjs +43 -0
  451. package/dist/primitives/rich-text.d.cts +14 -0
  452. package/dist/primitives/rich-text.d.ts +14 -0
  453. package/dist/primitives/rich-text.js +43 -0
  454. package/dist/primitives/scroll-area.cjs +10 -0
  455. package/dist/primitives/scroll-area.d.cts +13 -0
  456. package/dist/primitives/scroll-area.d.ts +13 -0
  457. package/dist/primitives/scroll-area.js +10 -0
  458. package/dist/primitives/section-header.cjs +51 -0
  459. package/dist/primitives/section-header.d.cts +22 -0
  460. package/dist/primitives/section-header.d.ts +22 -0
  461. package/dist/primitives/section-header.js +51 -0
  462. package/dist/primitives/section.cjs +39 -0
  463. package/dist/primitives/section.d.cts +22 -0
  464. package/dist/primitives/section.d.ts +22 -0
  465. package/dist/primitives/section.js +39 -0
  466. package/dist/primitives/select.cjs +26 -0
  467. package/dist/primitives/select.d.cts +25 -0
  468. package/dist/primitives/select.d.ts +25 -0
  469. package/dist/primitives/select.js +26 -0
  470. package/dist/primitives/selection-overlay.cjs +24 -0
  471. package/dist/primitives/selection-overlay.d.cts +7 -0
  472. package/dist/primitives/selection-overlay.d.ts +7 -0
  473. package/dist/primitives/selection-overlay.js +24 -0
  474. package/dist/primitives/sentiment-dot.cjs +15 -0
  475. package/dist/primitives/sentiment-dot.d.cts +42 -0
  476. package/dist/primitives/sentiment-dot.d.ts +42 -0
  477. package/dist/primitives/sentiment-dot.js +15 -0
  478. package/dist/primitives/separator.cjs +8 -0
  479. package/dist/primitives/separator.d.cts +9 -0
  480. package/dist/primitives/separator.d.ts +9 -0
  481. package/dist/primitives/separator.js +8 -0
  482. package/dist/primitives/sheet.cjs +27 -0
  483. package/dist/primitives/sheet.d.cts +48 -0
  484. package/dist/primitives/sheet.d.ts +48 -0
  485. package/dist/primitives/sheet.js +27 -0
  486. package/dist/primitives/skeleton.cjs +8 -0
  487. package/dist/primitives/skeleton.d.cts +15 -0
  488. package/dist/primitives/skeleton.d.ts +15 -0
  489. package/dist/primitives/skeleton.js +8 -0
  490. package/dist/primitives/spacer.cjs +20 -0
  491. package/dist/primitives/spacer.d.cts +11 -0
  492. package/dist/primitives/spacer.d.ts +11 -0
  493. package/dist/primitives/spacer.js +20 -0
  494. package/dist/primitives/split-action-button.cjs +95 -0
  495. package/dist/primitives/split-action-button.d.cts +41 -0
  496. package/dist/primitives/split-action-button.d.ts +41 -0
  497. package/dist/primitives/split-action-button.js +95 -0
  498. package/dist/primitives/stack.cjs +8 -0
  499. package/dist/primitives/stack.d.cts +63 -0
  500. package/dist/primitives/stack.d.ts +63 -0
  501. package/dist/primitives/stack.js +8 -0
  502. package/dist/primitives/status-badge.cjs +9 -0
  503. package/dist/primitives/status-badge.d.cts +20 -0
  504. package/dist/primitives/status-badge.d.ts +20 -0
  505. package/dist/primitives/status-badge.js +9 -0
  506. package/dist/primitives/status-icon-tile.cjs +32 -0
  507. package/dist/primitives/status-icon-tile.d.cts +12 -0
  508. package/dist/primitives/status-icon-tile.d.ts +12 -0
  509. package/dist/primitives/status-icon-tile.js +32 -0
  510. package/dist/primitives/status-icon.cjs +8 -0
  511. package/dist/primitives/status-icon.d.cts +18 -0
  512. package/dist/primitives/status-icon.d.ts +18 -0
  513. package/dist/primitives/status-icon.js +8 -0
  514. package/dist/primitives/status-panel.cjs +83 -0
  515. package/dist/primitives/status-panel.d.cts +25 -0
  516. package/dist/primitives/status-panel.d.ts +25 -0
  517. package/dist/primitives/status-panel.js +83 -0
  518. package/dist/primitives/switch-field.cjs +44 -0
  519. package/dist/primitives/switch-field.d.cts +17 -0
  520. package/dist/primitives/switch-field.d.ts +17 -0
  521. package/dist/primitives/switch-field.js +44 -0
  522. package/dist/primitives/switch.cjs +8 -0
  523. package/dist/primitives/switch.d.cts +6 -0
  524. package/dist/primitives/switch.d.ts +6 -0
  525. package/dist/primitives/switch.js +8 -0
  526. package/dist/primitives/tabs.cjs +14 -0
  527. package/dist/primitives/tabs.d.cts +36 -0
  528. package/dist/primitives/tabs.d.ts +36 -0
  529. package/dist/primitives/tabs.js +14 -0
  530. package/dist/primitives/tag-input.cjs +90 -0
  531. package/dist/primitives/tag-input.d.cts +13 -0
  532. package/dist/primitives/tag-input.d.ts +13 -0
  533. package/dist/primitives/tag-input.js +90 -0
  534. package/dist/primitives/text.cjs +8 -0
  535. package/dist/primitives/text.d.cts +51 -0
  536. package/dist/primitives/text.d.ts +51 -0
  537. package/dist/primitives/text.js +8 -0
  538. package/dist/primitives/textarea.cjs +37 -0
  539. package/dist/primitives/textarea.d.cts +12 -0
  540. package/dist/primitives/textarea.d.ts +12 -0
  541. package/dist/primitives/textarea.js +37 -0
  542. package/dist/primitives/thinking-screen.cjs +87 -0
  543. package/dist/primitives/thinking-screen.d.cts +46 -0
  544. package/dist/primitives/thinking-screen.d.ts +46 -0
  545. package/dist/primitives/thinking-screen.js +87 -0
  546. package/dist/primitives/timeline.cjs +13 -0
  547. package/dist/primitives/timeline.d.cts +54 -0
  548. package/dist/primitives/timeline.d.ts +54 -0
  549. package/dist/primitives/timeline.js +13 -0
  550. package/dist/primitives/toggle-group.cjs +51 -0
  551. package/dist/primitives/toggle-group.d.cts +18 -0
  552. package/dist/primitives/toggle-group.d.ts +18 -0
  553. package/dist/primitives/toggle-group.js +51 -0
  554. package/dist/primitives/toggle.cjs +10 -0
  555. package/dist/primitives/toggle.d.cts +15 -0
  556. package/dist/primitives/toggle.d.ts +15 -0
  557. package/dist/primitives/toggle.js +10 -0
  558. package/dist/primitives/tooltip.cjs +14 -0
  559. package/dist/primitives/tooltip.d.cts +9 -0
  560. package/dist/primitives/tooltip.d.ts +9 -0
  561. package/dist/primitives/tooltip.js +14 -0
  562. package/dist/primitives/voice-dictation-button.cjs +244 -0
  563. package/dist/primitives/voice-dictation-button.d.cts +41 -0
  564. package/dist/primitives/voice-dictation-button.d.ts +41 -0
  565. package/dist/primitives/voice-dictation-button.js +244 -0
  566. package/package.json +1243 -3
  567. package/src/styles/components/attachment.css +61 -0
  568. package/src/styles/components/message.css +29 -0
  569. package/src/styles/components.css +3 -0
  570. package/src/styles/globals.css +10 -0
  571. package/src/styles/keyframes.css +26 -0
  572. package/src/styles/palette.gen.css +150 -0
  573. package/src/styles/shadcn.css +631 -0
  574. package/src/styles/source.css +4 -0
  575. package/src/styles/tokens/base.css +36 -0
  576. package/src/styles/tokens/container.css +9 -0
  577. package/src/styles/tokens/forms.css +61 -0
  578. package/src/styles/tokens/theme.css +93 -0
  579. package/src/styles/tokens.css +17 -0
  580. package/src/styles/utilities.css +9 -0
@@ -0,0 +1,51 @@
1
+ import * as React from 'react';
2
+ import { HTMLAttributes, ElementType } from 'react';
3
+
4
+ /**
5
+ * Text — body / paragraph primitive.
6
+ *
7
+ * One canonical body scale. Consumers render <Text variant="muted"> instead
8
+ * of typing `<p className="text-sm text-muted-foreground">` ad hoc.
9
+ *
10
+ * `variant` controls the visual treatment. Default is paragraph body
11
+ * text. `muted` greys the text (descriptions, captions). `lead` is a
12
+ * larger paragraph for hero/intro copy. `small` is for meta text
13
+ * (timestamps, counts).
14
+ */
15
+ type TextVariant = "default" | "muted" | "lead" | "small" | "caption" | "micro" | "eyebrow" | "inherit";
16
+ interface TextProps extends HTMLAttributes<HTMLElement> {
17
+ variant?: TextVariant;
18
+ size?: "inherit" | "micro" | "xs" | "sm" | "base" | "lg";
19
+ tone?: "inherit" | "muted" | "subtle" | "soft" | "primary" | "success" | "warning" | "destructive";
20
+ weight?: "normal" | "medium" | "semibold";
21
+ display?: "inline" | "block" | "inline-flex";
22
+ truncate?: boolean;
23
+ grow?: boolean;
24
+ minWidth?: "auto" | "zero";
25
+ font?: "sans" | "mono";
26
+ align?: "start" | "center" | "end";
27
+ transform?: "none" | "uppercase" | "capitalize";
28
+ whitespace?: "normal" | "pre-wrap" | "pre-line" | "nowrap";
29
+ marginTop?: "none" | "tight" | "xs" | "sm" | "md" | "lg";
30
+ marginBottom?: "none" | "xs" | "sm" | "md" | "lg";
31
+ marginStart?: "none" | "sm";
32
+ padding?: "none" | "md";
33
+ paddingY?: "none" | "sm" | "lg";
34
+ marginEnd?: "none" | "xs" | "md";
35
+ italic?: boolean;
36
+ shrink?: boolean;
37
+ lineClamp?: 1 | 2 | 3;
38
+ responsiveVisibility?: "always" | "desktop";
39
+ opacity?: "full" | "soft";
40
+ marginTopNegative?: "none" | "xs";
41
+ paddingX?: "none" | "sm" | "md";
42
+ numeric?: "normal" | "tabular";
43
+ leading?: "normal" | "none" | "snug";
44
+ decoration?: "none" | "line-through";
45
+ maxWidth?: "none" | "sm" | "md" | "lg";
46
+ /** Override the rendered tag. Defaults to <p>. */
47
+ as?: ElementType;
48
+ }
49
+ declare const Text: React.ForwardRefExoticComponent<TextProps & React.RefAttributes<HTMLElement>>;
50
+
51
+ export { Text, type TextVariant };
@@ -0,0 +1,8 @@
1
+ "use client";
2
+ import {
3
+ Text
4
+ } from "../chunk-EIY5LLSP.js";
5
+ import "../chunk-G6SRSWXB.js";
6
+ export {
7
+ Text
8
+ };
@@ -0,0 +1,37 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }"use client";
2
+
3
+
4
+ var _chunkKWLSBTB2cjs = require('../chunk-KWLSBTB2.cjs');
5
+
6
+ // src/primitives/textarea.tsx
7
+ var _react = require('react'); var React = _interopRequireWildcard(_react);
8
+ var _jsxruntime = require('react/jsx-runtime');
9
+ var Textarea = React.forwardRef(
10
+ ({ className, textSize = "sm", resize = "vertical", grow = false, font = "sans", height = "auto", ...props }, ref) => {
11
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12
+ "textarea",
13
+ {
14
+ "data-slot": "textarea",
15
+ className: _chunkKWLSBTB2cjs.cn.call(void 0,
16
+ "flex min-h-[80px] w-full rounded-md border bg-background px-3 py-2 ring-offset-background placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
17
+ // Entered text keeps the iOS-safe floor. The shared stylesheet sizes
18
+ // placeholder copy independently at the compact 14px base scale.
19
+ textSize === "sm" ? "text-[16px] md:text-sm" : "text-[16px] md:text-xs",
20
+ resize === "none" && "resize-none",
21
+ grow && "flex-1",
22
+ font === "mono" && "font-mono",
23
+ height === "panel" && "h-32",
24
+ height === "editor" && "h-72",
25
+ height === "editor-lg" && "h-80",
26
+ className
27
+ ),
28
+ ref,
29
+ ...props
30
+ }
31
+ );
32
+ }
33
+ );
34
+ Textarea.displayName = "Textarea";
35
+
36
+
37
+ exports.Textarea = Textarea;
@@ -0,0 +1,12 @@
1
+ import * as React from 'react';
2
+
3
+ interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {
4
+ textSize?: "sm" | "xs";
5
+ resize?: "vertical" | "none";
6
+ grow?: boolean;
7
+ font?: "sans" | "mono";
8
+ height?: "auto" | "panel" | "editor" | "editor-lg";
9
+ }
10
+ declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
11
+
12
+ export { Textarea, type TextareaProps };
@@ -0,0 +1,12 @@
1
+ import * as React from 'react';
2
+
3
+ interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {
4
+ textSize?: "sm" | "xs";
5
+ resize?: "vertical" | "none";
6
+ grow?: boolean;
7
+ font?: "sans" | "mono";
8
+ height?: "auto" | "panel" | "editor" | "editor-lg";
9
+ }
10
+ declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
11
+
12
+ export { Textarea, type TextareaProps };
@@ -0,0 +1,37 @@
1
+ "use client";
2
+ import {
3
+ cn
4
+ } from "../chunk-G6SRSWXB.js";
5
+
6
+ // src/primitives/textarea.tsx
7
+ import * as React from "react";
8
+ import { jsx } from "react/jsx-runtime";
9
+ var Textarea = React.forwardRef(
10
+ ({ className, textSize = "sm", resize = "vertical", grow = false, font = "sans", height = "auto", ...props }, ref) => {
11
+ return /* @__PURE__ */ jsx(
12
+ "textarea",
13
+ {
14
+ "data-slot": "textarea",
15
+ className: cn(
16
+ "flex min-h-[80px] w-full rounded-md border bg-background px-3 py-2 ring-offset-background placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
17
+ // Entered text keeps the iOS-safe floor. The shared stylesheet sizes
18
+ // placeholder copy independently at the compact 14px base scale.
19
+ textSize === "sm" ? "text-[16px] md:text-sm" : "text-[16px] md:text-xs",
20
+ resize === "none" && "resize-none",
21
+ grow && "flex-1",
22
+ font === "mono" && "font-mono",
23
+ height === "panel" && "h-32",
24
+ height === "editor" && "h-72",
25
+ height === "editor-lg" && "h-80",
26
+ className
27
+ ),
28
+ ref,
29
+ ...props
30
+ }
31
+ );
32
+ }
33
+ );
34
+ Textarea.displayName = "Textarea";
35
+ export {
36
+ Textarea
37
+ };
@@ -0,0 +1,87 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }"use client";
2
+ "use client";
3
+
4
+
5
+ var _chunkKWLSBTB2cjs = require('../chunk-KWLSBTB2.cjs');
6
+
7
+ // src/primitives/thinking-screen.tsx
8
+ var _react = require('react');
9
+ var _reactdom = require('react-dom');
10
+ var _lucidereact = require('lucide-react');
11
+ var _jsxruntime = require('react/jsx-runtime');
12
+ function ThinkingScreen({
13
+ open,
14
+ messages,
15
+ icon,
16
+ rotateMs = 2200,
17
+ brand,
18
+ backdropClassName
19
+ }) {
20
+ const list = Array.isArray(messages) ? messages : messages ? [messages] : ["Thinking\u2026"];
21
+ const [idx, setIdx] = _react.useState.call(void 0, 0);
22
+ _react.useEffect.call(void 0, () => {
23
+ if (!open) {
24
+ setIdx(0);
25
+ return;
26
+ }
27
+ if (list.length <= 1) return;
28
+ const id = setInterval(
29
+ () => setIdx((i) => (i + 1) % list.length),
30
+ rotateMs
31
+ );
32
+ return () => clearInterval(id);
33
+ }, [open, list.length, rotateMs]);
34
+ if (!open || typeof document === "undefined") return null;
35
+ return _reactdom.createPortal.call(void 0,
36
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
37
+ "div",
38
+ {
39
+ role: "status",
40
+ "aria-live": "polite",
41
+ "aria-label": list[idx],
42
+ className: _chunkKWLSBTB2cjs.cn.call(void 0,
43
+ "fixed inset-0 z-[200] flex flex-col items-center justify-center bg-background/95 backdrop-blur-sm animate-in fade-in duration-200",
44
+ backdropClassName
45
+ ),
46
+ children: [
47
+ brand && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute top-6 left-1/2 -translate-x-1/2 text-xs tracking-[0.25em] uppercase text-muted-foreground font-mono", children: brand }),
48
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-center gap-7 px-8", children: [
49
+ _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DefaultThinkingIcon, {}))),
50
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
51
+ "div",
52
+ {
53
+ className: "min-h-[1.5rem] text-base text-foreground/80 font-mono text-center animate-in fade-in duration-500",
54
+ children: list[idx]
55
+ },
56
+ idx
57
+ )
58
+ ] })
59
+ ]
60
+ }
61
+ ),
62
+ document.body
63
+ );
64
+ }
65
+ function DefaultThinkingIcon() {
66
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative h-24 w-24 grid place-items-center", children: [
67
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
68
+ "div",
69
+ {
70
+ "aria-hidden": true,
71
+ className: "absolute inset-0 rounded-full border border-foreground/15 animate-spin",
72
+ style: { animationDuration: "4s" },
73
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2 h-2 w-2 rounded-full bg-foreground" })
74
+ }
75
+ ),
76
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
77
+ _lucidereact.Sparkles,
78
+ {
79
+ "aria-hidden": true,
80
+ className: "h-9 w-9 text-foreground animate-pulse"
81
+ }
82
+ )
83
+ ] });
84
+ }
85
+
86
+
87
+ exports.ThinkingScreen = ThinkingScreen;
@@ -0,0 +1,46 @@
1
+ import * as React from 'react';
2
+ import { ReactNode } from 'react';
3
+
4
+ interface ThinkingScreenProps {
5
+ /** Whether the takeover is visible. */
6
+ open: boolean;
7
+ /**
8
+ * Short stage labels rotated through while open. Pass one string
9
+ * for a static label, or several for ~2s rotation. Keep them brief
10
+ * (≤8 words) — this is a hold screen, not a story.
11
+ */
12
+ messages?: string | string[];
13
+ /**
14
+ * Override the centered icon. Default is a sparkle with a single
15
+ * orbiting dot — minimal, on-brand for AI moments.
16
+ */
17
+ icon?: ReactNode;
18
+ /** Rotation interval in ms. Default 2200. */
19
+ rotateMs?: number;
20
+ /**
21
+ * Small brand label rendered above the icon — consumer's app name,
22
+ * a logo mark, or anything else that pins the takeover to *this*
23
+ * product rather than feeling generic.
24
+ */
25
+ brand?: ReactNode;
26
+ /** Override the backdrop class. Default: bg-background/95 + blur-sm. */
27
+ backdropClassName?: string;
28
+ }
29
+ /**
30
+ * Full-screen modal "AI is thinking" takeover. Use during async work
31
+ * the user shouldn't try to interact with — typically a chat → AI →
32
+ * draft pipeline where leaving the chat UI visible reads as "I can
33
+ * keep typing" even though anything you type would be lost.
34
+ *
35
+ * Renders via portal at z-200 with a subtle backdrop blur-sm. The
36
+ * rotating message line gives a sense of progress without committing
37
+ * to specific stages — pick a short, light set of strings that fits
38
+ * your app's voice ("Reading your week…", "Finding decent slots…").
39
+ *
40
+ * Brand slot is intentionally small and uppercase — it locates the
41
+ * takeover in the user's mental map ("oh, this is the booking app
42
+ * doing AI things") without dominating the screen.
43
+ */
44
+ declare function ThinkingScreen({ open, messages, icon, rotateMs, brand, backdropClassName, }: ThinkingScreenProps): React.ReactPortal | null;
45
+
46
+ export { ThinkingScreen, type ThinkingScreenProps };
@@ -0,0 +1,46 @@
1
+ import * as React from 'react';
2
+ import { ReactNode } from 'react';
3
+
4
+ interface ThinkingScreenProps {
5
+ /** Whether the takeover is visible. */
6
+ open: boolean;
7
+ /**
8
+ * Short stage labels rotated through while open. Pass one string
9
+ * for a static label, or several for ~2s rotation. Keep them brief
10
+ * (≤8 words) — this is a hold screen, not a story.
11
+ */
12
+ messages?: string | string[];
13
+ /**
14
+ * Override the centered icon. Default is a sparkle with a single
15
+ * orbiting dot — minimal, on-brand for AI moments.
16
+ */
17
+ icon?: ReactNode;
18
+ /** Rotation interval in ms. Default 2200. */
19
+ rotateMs?: number;
20
+ /**
21
+ * Small brand label rendered above the icon — consumer's app name,
22
+ * a logo mark, or anything else that pins the takeover to *this*
23
+ * product rather than feeling generic.
24
+ */
25
+ brand?: ReactNode;
26
+ /** Override the backdrop class. Default: bg-background/95 + blur-sm. */
27
+ backdropClassName?: string;
28
+ }
29
+ /**
30
+ * Full-screen modal "AI is thinking" takeover. Use during async work
31
+ * the user shouldn't try to interact with — typically a chat → AI →
32
+ * draft pipeline where leaving the chat UI visible reads as "I can
33
+ * keep typing" even though anything you type would be lost.
34
+ *
35
+ * Renders via portal at z-200 with a subtle backdrop blur-sm. The
36
+ * rotating message line gives a sense of progress without committing
37
+ * to specific stages — pick a short, light set of strings that fits
38
+ * your app's voice ("Reading your week…", "Finding decent slots…").
39
+ *
40
+ * Brand slot is intentionally small and uppercase — it locates the
41
+ * takeover in the user's mental map ("oh, this is the booking app
42
+ * doing AI things") without dominating the screen.
43
+ */
44
+ declare function ThinkingScreen({ open, messages, icon, rotateMs, brand, backdropClassName, }: ThinkingScreenProps): React.ReactPortal | null;
45
+
46
+ export { ThinkingScreen, type ThinkingScreenProps };
@@ -0,0 +1,87 @@
1
+ "use client";
2
+ "use client";
3
+ import {
4
+ cn
5
+ } from "../chunk-G6SRSWXB.js";
6
+
7
+ // src/primitives/thinking-screen.tsx
8
+ import { useEffect, useState } from "react";
9
+ import { createPortal } from "react-dom";
10
+ import { Sparkles } from "lucide-react";
11
+ import { jsx, jsxs } from "react/jsx-runtime";
12
+ function ThinkingScreen({
13
+ open,
14
+ messages,
15
+ icon,
16
+ rotateMs = 2200,
17
+ brand,
18
+ backdropClassName
19
+ }) {
20
+ const list = Array.isArray(messages) ? messages : messages ? [messages] : ["Thinking\u2026"];
21
+ const [idx, setIdx] = useState(0);
22
+ useEffect(() => {
23
+ if (!open) {
24
+ setIdx(0);
25
+ return;
26
+ }
27
+ if (list.length <= 1) return;
28
+ const id = setInterval(
29
+ () => setIdx((i) => (i + 1) % list.length),
30
+ rotateMs
31
+ );
32
+ return () => clearInterval(id);
33
+ }, [open, list.length, rotateMs]);
34
+ if (!open || typeof document === "undefined") return null;
35
+ return createPortal(
36
+ /* @__PURE__ */ jsxs(
37
+ "div",
38
+ {
39
+ role: "status",
40
+ "aria-live": "polite",
41
+ "aria-label": list[idx],
42
+ className: cn(
43
+ "fixed inset-0 z-[200] flex flex-col items-center justify-center bg-background/95 backdrop-blur-sm animate-in fade-in duration-200",
44
+ backdropClassName
45
+ ),
46
+ children: [
47
+ brand && /* @__PURE__ */ jsx("div", { className: "absolute top-6 left-1/2 -translate-x-1/2 text-xs tracking-[0.25em] uppercase text-muted-foreground font-mono", children: brand }),
48
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-7 px-8", children: [
49
+ icon ?? /* @__PURE__ */ jsx(DefaultThinkingIcon, {}),
50
+ /* @__PURE__ */ jsx(
51
+ "div",
52
+ {
53
+ className: "min-h-[1.5rem] text-base text-foreground/80 font-mono text-center animate-in fade-in duration-500",
54
+ children: list[idx]
55
+ },
56
+ idx
57
+ )
58
+ ] })
59
+ ]
60
+ }
61
+ ),
62
+ document.body
63
+ );
64
+ }
65
+ function DefaultThinkingIcon() {
66
+ return /* @__PURE__ */ jsxs("div", { className: "relative h-24 w-24 grid place-items-center", children: [
67
+ /* @__PURE__ */ jsx(
68
+ "div",
69
+ {
70
+ "aria-hidden": true,
71
+ className: "absolute inset-0 rounded-full border border-foreground/15 animate-spin",
72
+ style: { animationDuration: "4s" },
73
+ children: /* @__PURE__ */ jsx("span", { className: "absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2 h-2 w-2 rounded-full bg-foreground" })
74
+ }
75
+ ),
76
+ /* @__PURE__ */ jsx(
77
+ Sparkles,
78
+ {
79
+ "aria-hidden": true,
80
+ className: "h-9 w-9 text-foreground animate-pulse"
81
+ }
82
+ )
83
+ ] });
84
+ }
85
+ export {
86
+ ThinkingScreen
87
+ };
@@ -0,0 +1,13 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
+
3
+
4
+
5
+
6
+ var _chunkGRZMUGT6cjs = require('../chunk-GRZMUGT6.cjs');
7
+ require('../chunk-BGLGRUPP.cjs');
8
+ require('../chunk-KWLSBTB2.cjs');
9
+
10
+
11
+
12
+
13
+ exports.Timeline = _chunkGRZMUGT6cjs.Timeline; exports.TimelineMarker = _chunkGRZMUGT6cjs.TimelineMarker; exports.TimelineRow = _chunkGRZMUGT6cjs.TimelineRow;
@@ -0,0 +1,54 @@
1
+ import * as React$1 from 'react';
2
+ import { ReactNode, HTMLAttributes, ElementType } from 'react';
3
+ import * as react_jsx_runtime from 'react/jsx-runtime';
4
+
5
+ interface TimelineProps {
6
+ children: ReactNode;
7
+ /** Vertical spacing between rows. Defaults to `space-y-2`. */
8
+ spacing?: "tight" | "normal" | "loose";
9
+ className?: string;
10
+ }
11
+ declare function Timeline({ children, spacing, className }: TimelineProps): react_jsx_runtime.JSX.Element;
12
+ interface TimelineMarkerProps extends HTMLAttributes<HTMLSpanElement> {
13
+ active?: boolean;
14
+ placement?: "inline" | "guide";
15
+ tone?: "neutral" | "info" | "success" | "accent" | "destructive";
16
+ }
17
+ /** Small current/past marker for timeline lists, including guide-line layouts. */
18
+ declare const TimelineMarker: React$1.ForwardRefExoticComponent<TimelineMarkerProps & React$1.RefAttributes<HTMLSpanElement>>;
19
+ interface TimelineRowProps {
20
+ /**
21
+ * Status drives the leading icon via `<StatusIcon>`. Pass `icon` to
22
+ * override entirely.
23
+ */
24
+ status?: string;
25
+ /** Override the leading visual. */
26
+ icon?: ReactNode;
27
+ /** Primary line (title or headline). */
28
+ title: ReactNode;
29
+ /** Optional secondary line (subtitle, meta, kind). */
30
+ subtitle?: ReactNode;
31
+ /** Right-aligned timestamp. */
32
+ timestamp?: ReactNode;
33
+ /** Optional error message rendered below the body in destructive tone. */
34
+ error?: ReactNode;
35
+ /**
36
+ * Extra content below the body, rendered inside the text column so it
37
+ * aligns under the title rather than beside the icon. Use for
38
+ * expandable detail, inline actions, a nested list.
39
+ */
40
+ children?: ReactNode;
41
+ /** Add hover styling and pointer cursor for clickable rows. */
42
+ interactive?: boolean;
43
+ /** Render as a different element — `a`, `button`, etc. Defaults to `div`. */
44
+ as?: ElementType;
45
+ className?: string;
46
+ onClick?: (e: React.MouseEvent) => void;
47
+ /** Pass-through for anchor href when `as="a"`. */
48
+ href?: string;
49
+ surface?: "muted" | "transparent";
50
+ radius?: "md" | "none";
51
+ }
52
+ declare const TimelineRow: React$1.ForwardRefExoticComponent<TimelineRowProps & React$1.RefAttributes<HTMLElement>>;
53
+
54
+ export { Timeline, TimelineMarker, type TimelineMarkerProps, type TimelineProps, TimelineRow, type TimelineRowProps };
@@ -0,0 +1,54 @@
1
+ import * as React$1 from 'react';
2
+ import { ReactNode, HTMLAttributes, ElementType } from 'react';
3
+ import * as react_jsx_runtime from 'react/jsx-runtime';
4
+
5
+ interface TimelineProps {
6
+ children: ReactNode;
7
+ /** Vertical spacing between rows. Defaults to `space-y-2`. */
8
+ spacing?: "tight" | "normal" | "loose";
9
+ className?: string;
10
+ }
11
+ declare function Timeline({ children, spacing, className }: TimelineProps): react_jsx_runtime.JSX.Element;
12
+ interface TimelineMarkerProps extends HTMLAttributes<HTMLSpanElement> {
13
+ active?: boolean;
14
+ placement?: "inline" | "guide";
15
+ tone?: "neutral" | "info" | "success" | "accent" | "destructive";
16
+ }
17
+ /** Small current/past marker for timeline lists, including guide-line layouts. */
18
+ declare const TimelineMarker: React$1.ForwardRefExoticComponent<TimelineMarkerProps & React$1.RefAttributes<HTMLSpanElement>>;
19
+ interface TimelineRowProps {
20
+ /**
21
+ * Status drives the leading icon via `<StatusIcon>`. Pass `icon` to
22
+ * override entirely.
23
+ */
24
+ status?: string;
25
+ /** Override the leading visual. */
26
+ icon?: ReactNode;
27
+ /** Primary line (title or headline). */
28
+ title: ReactNode;
29
+ /** Optional secondary line (subtitle, meta, kind). */
30
+ subtitle?: ReactNode;
31
+ /** Right-aligned timestamp. */
32
+ timestamp?: ReactNode;
33
+ /** Optional error message rendered below the body in destructive tone. */
34
+ error?: ReactNode;
35
+ /**
36
+ * Extra content below the body, rendered inside the text column so it
37
+ * aligns under the title rather than beside the icon. Use for
38
+ * expandable detail, inline actions, a nested list.
39
+ */
40
+ children?: ReactNode;
41
+ /** Add hover styling and pointer cursor for clickable rows. */
42
+ interactive?: boolean;
43
+ /** Render as a different element — `a`, `button`, etc. Defaults to `div`. */
44
+ as?: ElementType;
45
+ className?: string;
46
+ onClick?: (e: React.MouseEvent) => void;
47
+ /** Pass-through for anchor href when `as="a"`. */
48
+ href?: string;
49
+ surface?: "muted" | "transparent";
50
+ radius?: "md" | "none";
51
+ }
52
+ declare const TimelineRow: React$1.ForwardRefExoticComponent<TimelineRowProps & React$1.RefAttributes<HTMLElement>>;
53
+
54
+ export { Timeline, TimelineMarker, type TimelineMarkerProps, type TimelineProps, TimelineRow, type TimelineRowProps };
@@ -0,0 +1,13 @@
1
+ "use client";
2
+ import {
3
+ Timeline,
4
+ TimelineMarker,
5
+ TimelineRow
6
+ } from "../chunk-3BZ4CQHW.js";
7
+ import "../chunk-V7542UGX.js";
8
+ import "../chunk-G6SRSWXB.js";
9
+ export {
10
+ Timeline,
11
+ TimelineMarker,
12
+ TimelineRow
13
+ };
@@ -0,0 +1,51 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }"use client";
2
+
3
+
4
+ var _chunkGXHGMI3Zcjs = require('../chunk-GXHGMI3Z.cjs');
5
+
6
+
7
+ var _chunkKWLSBTB2cjs = require('../chunk-KWLSBTB2.cjs');
8
+
9
+ // src/primitives/toggle-group.tsx
10
+ var _react = require('react'); var React = _interopRequireWildcard(_react);
11
+ var _reacttogglegroup = require('@radix-ui/react-toggle-group'); var ToggleGroupPrimitive = _interopRequireWildcard(_reacttogglegroup);
12
+ var _jsxruntime = require('react/jsx-runtime');
13
+ var ToggleGroupContext = React.createContext({
14
+ size: "default",
15
+ variant: "default"
16
+ });
17
+ var ToggleGroup = React.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18
+ ToggleGroupPrimitive.Root,
19
+ {
20
+ ref,
21
+ className: _chunkKWLSBTB2cjs.cn.call(void 0, "flex items-center justify-center gap-1", className),
22
+ ...props,
23
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ToggleGroupContext.Provider, { value: { variant, size }, children })
24
+ }
25
+ ));
26
+ ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
27
+ var ToggleGroupItem = React.forwardRef(({ className, children, variant, size, grow = false, textSize = "inherit", ...props }, ref) => {
28
+ const context = React.useContext(ToggleGroupContext);
29
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30
+ ToggleGroupPrimitive.Item,
31
+ {
32
+ ref,
33
+ className: _chunkKWLSBTB2cjs.cn.call(void 0,
34
+ _chunkGXHGMI3Zcjs.toggleVariants.call(void 0, {
35
+ variant: context.variant || variant,
36
+ size: context.size || size
37
+ }),
38
+ grow && "flex-1",
39
+ textSize === "xs" && "text-xs",
40
+ className
41
+ ),
42
+ ...props,
43
+ children
44
+ }
45
+ );
46
+ });
47
+ ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
48
+
49
+
50
+
51
+ exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem;
@@ -0,0 +1,18 @@
1
+ import * as class_variance_authority_types from 'class-variance-authority/types';
2
+ import * as React from 'react';
3
+ import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';
4
+ import { VariantProps } from 'class-variance-authority';
5
+
6
+ declare const ToggleGroup: React.ForwardRefExoticComponent<((Omit<ToggleGroupPrimitive.ToggleGroupSingleProps & React.RefAttributes<HTMLDivElement>, "ref"> | Omit<ToggleGroupPrimitive.ToggleGroupMultipleProps & React.RefAttributes<HTMLDivElement>, "ref">) & VariantProps<(props?: ({
7
+ variant?: "default" | "outline" | null | undefined;
8
+ size?: "icon" | "sm" | "lg" | "default" | "icon-lg" | "avatar" | "chip" | null | undefined;
9
+ } & class_variance_authority_types.ClassProp) | undefined) => string>) & React.RefAttributes<HTMLDivElement>>;
10
+ declare const ToggleGroupItem: React.ForwardRefExoticComponent<Omit<ToggleGroupPrimitive.ToggleGroupItemProps & React.RefAttributes<HTMLButtonElement>, "ref"> & VariantProps<(props?: ({
11
+ variant?: "default" | "outline" | null | undefined;
12
+ size?: "icon" | "sm" | "lg" | "default" | "icon-lg" | "avatar" | "chip" | null | undefined;
13
+ } & class_variance_authority_types.ClassProp) | undefined) => string> & {
14
+ grow?: boolean;
15
+ textSize?: "inherit" | "xs";
16
+ } & React.RefAttributes<HTMLButtonElement>>;
17
+
18
+ export { ToggleGroup, ToggleGroupItem };
@@ -0,0 +1,18 @@
1
+ import * as class_variance_authority_types from 'class-variance-authority/types';
2
+ import * as React from 'react';
3
+ import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';
4
+ import { VariantProps } from 'class-variance-authority';
5
+
6
+ declare const ToggleGroup: React.ForwardRefExoticComponent<((Omit<ToggleGroupPrimitive.ToggleGroupSingleProps & React.RefAttributes<HTMLDivElement>, "ref"> | Omit<ToggleGroupPrimitive.ToggleGroupMultipleProps & React.RefAttributes<HTMLDivElement>, "ref">) & VariantProps<(props?: ({
7
+ variant?: "default" | "outline" | null | undefined;
8
+ size?: "icon" | "sm" | "lg" | "default" | "icon-lg" | "avatar" | "chip" | null | undefined;
9
+ } & class_variance_authority_types.ClassProp) | undefined) => string>) & React.RefAttributes<HTMLDivElement>>;
10
+ declare const ToggleGroupItem: React.ForwardRefExoticComponent<Omit<ToggleGroupPrimitive.ToggleGroupItemProps & React.RefAttributes<HTMLButtonElement>, "ref"> & VariantProps<(props?: ({
11
+ variant?: "default" | "outline" | null | undefined;
12
+ size?: "icon" | "sm" | "lg" | "default" | "icon-lg" | "avatar" | "chip" | null | undefined;
13
+ } & class_variance_authority_types.ClassProp) | undefined) => string> & {
14
+ grow?: boolean;
15
+ textSize?: "inherit" | "xs";
16
+ } & React.RefAttributes<HTMLButtonElement>>;
17
+
18
+ export { ToggleGroup, ToggleGroupItem };