@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,52 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }"use client";
2
+
3
+
4
+ var _chunkKWLSBTB2cjs = require('../chunk-KWLSBTB2.cjs');
5
+
6
+ // src/primitives/panel-section.tsx
7
+ var _react = require('react');
8
+ var _jsxruntime = require('react/jsx-runtime');
9
+ var borders = {
10
+ none: "",
11
+ top: "border-t",
12
+ bottom: "border-b"
13
+ };
14
+ var paddings = {
15
+ none: "",
16
+ compact: "px-[22px] py-[18px]",
17
+ default: "px-[26px] py-[26px]"
18
+ };
19
+ var PanelSection = _react.forwardRef.call(void 0,
20
+ function PanelSection2({ as, border = "none", padding = "default", paddingX = "none", paddingTop = "none", paddingBottom = "none", paddingY = "none", surface = "default", layout = "block", gap = "none", shrink = true, className, ...props }, ref) {
21
+ const Component = _nullishCoalesce(as, () => ( "section"));
22
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
23
+ Component,
24
+ {
25
+ ref,
26
+ className: _chunkKWLSBTB2cjs.cn.call(void 0,
27
+ borders[border],
28
+ paddings[padding],
29
+ paddingX === "md" && "px-[22px]",
30
+ paddingX === "lg" && "px-[26px]",
31
+ paddingTop === "sm" && "pt-2",
32
+ paddingTop === "md" && "pt-3",
33
+ paddingTop === "lg" && "pt-5",
34
+ paddingBottom === "xs" && "pb-1",
35
+ paddingBottom === "sm" && "pb-2",
36
+ paddingBottom === "md" && "pb-3",
37
+ paddingBottom === "lg" && "pb-4",
38
+ paddingY === "xl" && "py-12",
39
+ surface === "muted" && "bg-muted/40",
40
+ layout === "row" && "flex",
41
+ gap === "sm" && "gap-2",
42
+ !shrink && "shrink-0",
43
+ className
44
+ ),
45
+ ...props
46
+ }
47
+ );
48
+ }
49
+ );
50
+
51
+
52
+ exports.PanelSection = PanelSection;
@@ -0,0 +1,20 @@
1
+ import * as React from 'react';
2
+ import { HTMLAttributes, ElementType } from 'react';
3
+
4
+ interface PanelSectionProps extends HTMLAttributes<HTMLElement> {
5
+ as?: ElementType;
6
+ border?: "none" | "top" | "bottom";
7
+ padding?: "none" | "compact" | "default";
8
+ paddingX?: "none" | "md" | "lg";
9
+ paddingTop?: "none" | "sm" | "md" | "lg";
10
+ paddingBottom?: "none" | "xs" | "sm" | "md" | "lg";
11
+ paddingY?: "none" | "xl";
12
+ surface?: "default" | "muted";
13
+ layout?: "block" | "row";
14
+ gap?: "none" | "sm";
15
+ shrink?: boolean;
16
+ }
17
+ /** A consistently padded, optionally divided section inside a panel or drawer. */
18
+ declare const PanelSection: React.ForwardRefExoticComponent<PanelSectionProps & React.RefAttributes<HTMLElement>>;
19
+
20
+ export { PanelSection, type PanelSectionProps };
@@ -0,0 +1,20 @@
1
+ import * as React from 'react';
2
+ import { HTMLAttributes, ElementType } from 'react';
3
+
4
+ interface PanelSectionProps extends HTMLAttributes<HTMLElement> {
5
+ as?: ElementType;
6
+ border?: "none" | "top" | "bottom";
7
+ padding?: "none" | "compact" | "default";
8
+ paddingX?: "none" | "md" | "lg";
9
+ paddingTop?: "none" | "sm" | "md" | "lg";
10
+ paddingBottom?: "none" | "xs" | "sm" | "md" | "lg";
11
+ paddingY?: "none" | "xl";
12
+ surface?: "default" | "muted";
13
+ layout?: "block" | "row";
14
+ gap?: "none" | "sm";
15
+ shrink?: boolean;
16
+ }
17
+ /** A consistently padded, optionally divided section inside a panel or drawer. */
18
+ declare const PanelSection: React.ForwardRefExoticComponent<PanelSectionProps & React.RefAttributes<HTMLElement>>;
19
+
20
+ export { PanelSection, type PanelSectionProps };
@@ -0,0 +1,52 @@
1
+ "use client";
2
+ import {
3
+ cn
4
+ } from "../chunk-G6SRSWXB.js";
5
+
6
+ // src/primitives/panel-section.tsx
7
+ import { forwardRef } from "react";
8
+ import { jsx } from "react/jsx-runtime";
9
+ var borders = {
10
+ none: "",
11
+ top: "border-t",
12
+ bottom: "border-b"
13
+ };
14
+ var paddings = {
15
+ none: "",
16
+ compact: "px-[22px] py-[18px]",
17
+ default: "px-[26px] py-[26px]"
18
+ };
19
+ var PanelSection = forwardRef(
20
+ function PanelSection2({ as, border = "none", padding = "default", paddingX = "none", paddingTop = "none", paddingBottom = "none", paddingY = "none", surface = "default", layout = "block", gap = "none", shrink = true, className, ...props }, ref) {
21
+ const Component = as ?? "section";
22
+ return /* @__PURE__ */ jsx(
23
+ Component,
24
+ {
25
+ ref,
26
+ className: cn(
27
+ borders[border],
28
+ paddings[padding],
29
+ paddingX === "md" && "px-[22px]",
30
+ paddingX === "lg" && "px-[26px]",
31
+ paddingTop === "sm" && "pt-2",
32
+ paddingTop === "md" && "pt-3",
33
+ paddingTop === "lg" && "pt-5",
34
+ paddingBottom === "xs" && "pb-1",
35
+ paddingBottom === "sm" && "pb-2",
36
+ paddingBottom === "md" && "pb-3",
37
+ paddingBottom === "lg" && "pb-4",
38
+ paddingY === "xl" && "py-12",
39
+ surface === "muted" && "bg-muted/40",
40
+ layout === "row" && "flex",
41
+ gap === "sm" && "gap-2",
42
+ !shrink && "shrink-0",
43
+ className
44
+ ),
45
+ ...props
46
+ }
47
+ );
48
+ }
49
+ );
50
+ export {
51
+ PanelSection
52
+ };
@@ -0,0 +1,57 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
+
3
+
4
+
5
+
6
+ var _chunkWABCLRBRcjs = require('../chunk-WABCLRBR.cjs');
7
+
8
+
9
+ var _chunkKWLSBTB2cjs = require('../chunk-KWLSBTB2.cjs');
10
+
11
+ // src/primitives/person-avatar.tsx
12
+ var _jsxruntime = require('react/jsx-runtime');
13
+ function initials(name) {
14
+ const words = name.trim().split(/\s+/).filter(Boolean);
15
+ const first = words[0];
16
+ if (!first) return "?";
17
+ const last = words[words.length - 1];
18
+ if (words.length === 1 || !last) return first.slice(0, 2).toUpperCase();
19
+ return (first.charAt(0) + last.charAt(0)).toUpperCase();
20
+ }
21
+ function PersonAvatar({
22
+ name,
23
+ photoUrl,
24
+ size,
25
+ className,
26
+ fallbackClassName,
27
+ fallbackSize = "default"
28
+ }) {
29
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
30
+ _chunkWABCLRBRcjs.Avatar,
31
+ {
32
+ className: _chunkKWLSBTB2cjs.cn.call(void 0, "shrink-0 overflow-hidden rounded-full bg-muted", className),
33
+ style: size != null ? { width: size, height: size } : void 0,
34
+ children: [
35
+ photoUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36
+ _chunkWABCLRBRcjs.AvatarImage,
37
+ {
38
+ src: photoUrl,
39
+ alt: name,
40
+ className: "h-full w-full object-cover"
41
+ }
42
+ ) : null,
43
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
44
+ _chunkWABCLRBRcjs.AvatarFallback,
45
+ {
46
+ className: _chunkKWLSBTB2cjs.cn.call(void 0, "h-full w-full font-medium", fallbackSize === "default" ? "text-xs" : "text-xl", fallbackClassName),
47
+ children: initials(name)
48
+ }
49
+ )
50
+ ]
51
+ }
52
+ );
53
+ }
54
+
55
+
56
+
57
+ exports.PersonAvatar = PersonAvatar; exports.initials = initials;
@@ -0,0 +1,33 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ /**
4
+ * "Ada Lovelace" → "AL", "acme" → "AC". Two characters, first and last word.
5
+ *
6
+ * Exported so every surface that shows a person derives initials the same
7
+ * way, including for empty names and single words.
8
+ */
9
+ declare function initials(name: string): string;
10
+ interface PersonAvatarProps {
11
+ name: string;
12
+ /** Real photo, when one exists. */
13
+ photoUrl?: string | null;
14
+ /**
15
+ * Pixel size. Omit it to size with `className` instead — an inline style
16
+ * would beat a utility class, so this is only applied when given.
17
+ */
18
+ size?: number;
19
+ className?: string;
20
+ /** Class for the initials fallback — e.g. a smaller type scale. */
21
+ fallbackClassName?: string;
22
+ fallbackSize?: "default" | "xl";
23
+ }
24
+ /**
25
+ * A person's avatar: their photo if we have one, their initials if we don't.
26
+ *
27
+ * Deliberately no synthetic-avatar service and no generated colour tile: a
28
+ * coloured tile masks a missing photo by pretending to be one, while plain
29
+ * initials make a missing photo obvious.
30
+ */
31
+ declare function PersonAvatar({ name, photoUrl, size, className, fallbackClassName, fallbackSize, }: PersonAvatarProps): react_jsx_runtime.JSX.Element;
32
+
33
+ export { PersonAvatar, type PersonAvatarProps, initials };
@@ -0,0 +1,33 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ /**
4
+ * "Ada Lovelace" → "AL", "acme" → "AC". Two characters, first and last word.
5
+ *
6
+ * Exported so every surface that shows a person derives initials the same
7
+ * way, including for empty names and single words.
8
+ */
9
+ declare function initials(name: string): string;
10
+ interface PersonAvatarProps {
11
+ name: string;
12
+ /** Real photo, when one exists. */
13
+ photoUrl?: string | null;
14
+ /**
15
+ * Pixel size. Omit it to size with `className` instead — an inline style
16
+ * would beat a utility class, so this is only applied when given.
17
+ */
18
+ size?: number;
19
+ className?: string;
20
+ /** Class for the initials fallback — e.g. a smaller type scale. */
21
+ fallbackClassName?: string;
22
+ fallbackSize?: "default" | "xl";
23
+ }
24
+ /**
25
+ * A person's avatar: their photo if we have one, their initials if we don't.
26
+ *
27
+ * Deliberately no synthetic-avatar service and no generated colour tile: a
28
+ * coloured tile masks a missing photo by pretending to be one, while plain
29
+ * initials make a missing photo obvious.
30
+ */
31
+ declare function PersonAvatar({ name, photoUrl, size, className, fallbackClassName, fallbackSize, }: PersonAvatarProps): react_jsx_runtime.JSX.Element;
32
+
33
+ export { PersonAvatar, type PersonAvatarProps, initials };
@@ -0,0 +1,57 @@
1
+ "use client";
2
+ import {
3
+ Avatar,
4
+ AvatarFallback,
5
+ AvatarImage
6
+ } from "../chunk-3OWGL4Q2.js";
7
+ import {
8
+ cn
9
+ } from "../chunk-G6SRSWXB.js";
10
+
11
+ // src/primitives/person-avatar.tsx
12
+ import { jsx, jsxs } from "react/jsx-runtime";
13
+ function initials(name) {
14
+ const words = name.trim().split(/\s+/).filter(Boolean);
15
+ const first = words[0];
16
+ if (!first) return "?";
17
+ const last = words[words.length - 1];
18
+ if (words.length === 1 || !last) return first.slice(0, 2).toUpperCase();
19
+ return (first.charAt(0) + last.charAt(0)).toUpperCase();
20
+ }
21
+ function PersonAvatar({
22
+ name,
23
+ photoUrl,
24
+ size,
25
+ className,
26
+ fallbackClassName,
27
+ fallbackSize = "default"
28
+ }) {
29
+ return /* @__PURE__ */ jsxs(
30
+ Avatar,
31
+ {
32
+ className: cn("shrink-0 overflow-hidden rounded-full bg-muted", className),
33
+ style: size != null ? { width: size, height: size } : void 0,
34
+ children: [
35
+ photoUrl ? /* @__PURE__ */ jsx(
36
+ AvatarImage,
37
+ {
38
+ src: photoUrl,
39
+ alt: name,
40
+ className: "h-full w-full object-cover"
41
+ }
42
+ ) : null,
43
+ /* @__PURE__ */ jsx(
44
+ AvatarFallback,
45
+ {
46
+ className: cn("h-full w-full font-medium", fallbackSize === "default" ? "text-xs" : "text-xl", fallbackClassName),
47
+ children: initials(name)
48
+ }
49
+ )
50
+ ]
51
+ }
52
+ );
53
+ }
54
+ export {
55
+ PersonAvatar,
56
+ initials
57
+ };
@@ -0,0 +1,69 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";
2
+
3
+
4
+ var _chunkKWLSBTB2cjs = require('../chunk-KWLSBTB2.cjs');
5
+
6
+ // src/primitives/phone.tsx
7
+ var _react = require('react');
8
+ var _lucidereact = require('lucide-react');
9
+
10
+
11
+ var _libphonenumberjs = require('libphonenumber-js');
12
+ var _jsxruntime = require('react/jsx-runtime');
13
+ function formatPhone(value, { format = "international", country } = {}) {
14
+ const raw = (_nullishCoalesce(value, () => ( ""))).trim();
15
+ const parsed = raw ? _libphonenumberjs.parsePhoneNumberFromString.call(void 0, raw, country) : void 0;
16
+ if (!parsed) {
17
+ return {
18
+ display: raw,
19
+ href: `tel:${raw.replace(/[^\d+]/g, "")}`,
20
+ valid: false
21
+ };
22
+ }
23
+ const display = format === "national" ? parsed.formatNational() : format === "e164" ? parsed.number : parsed.formatInternational();
24
+ return { display, href: `tel:${parsed.number}`, valid: true };
25
+ }
26
+ function isValidPhone(value, country) {
27
+ const parsed = _optionalChain([value, 'optionalAccess', _ => _.trim, 'call', _2 => _2()]) ? _libphonenumberjs.parsePhoneNumberFromString.call(void 0, value.trim(), country) : void 0;
28
+ return _nullishCoalesce(_optionalChain([parsed, 'optionalAccess', _3 => _3.isValid, 'call', _4 => _4()]), () => ( false));
29
+ }
30
+ var Phone = _react.forwardRef.call(void 0, function Phone2({
31
+ value,
32
+ format = "international",
33
+ country,
34
+ link = true,
35
+ icon = false,
36
+ tone = "inherit",
37
+ className,
38
+ ...props
39
+ }, ref) {
40
+ const { display, href } = formatPhone(value, { format, country });
41
+ const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
42
+ icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Phone, { className: "h-3.5 w-3.5 shrink-0 opacity-70", "aria-hidden": true }),
43
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "tabular-nums", children: display })
44
+ ] });
45
+ const classes = _chunkKWLSBTB2cjs.cn.call(void 0,
46
+ "inline-flex items-center gap-1.5",
47
+ link && "hover:underline underline-offset-4",
48
+ tone === "primary" && "text-primary",
49
+ className
50
+ );
51
+ if (!link) {
52
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { ref, className: classes, ...props, children: body });
53
+ }
54
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
55
+ "a",
56
+ {
57
+ ref,
58
+ href,
59
+ className: classes,
60
+ ...props,
61
+ children: body
62
+ }
63
+ );
64
+ });
65
+
66
+
67
+
68
+
69
+ exports.Phone = Phone; exports.formatPhone = formatPhone; exports.isValidPhone = isValidPhone;
@@ -0,0 +1,50 @@
1
+ import * as React from 'react';
2
+ import { HTMLAttributes } from 'react';
3
+ import { CountryCode } from 'libphonenumber-js';
4
+
5
+ /**
6
+ * Phone — render a phone number the way a human reads it.
7
+ *
8
+ * Stored numbers are usually raw E.164 ("+447700900123"); this groups
9
+ * them by country ("+44 7700 900123") via libphonenumber-js and links
10
+ * to `tel:` for one-tap calling. Falls back to the raw value (still as a
11
+ * tel link) when the number can't be parsed, so it never hides data.
12
+ */
13
+ type PhoneFormat = "international" | "national" | "e164";
14
+ interface FormatPhoneOptions {
15
+ /** Output style. Defaults to "international" ("+44 7700 900123"). */
16
+ format?: PhoneFormat;
17
+ /**
18
+ * Region hint for numbers stored without a leading "+", e.g. "GB",
19
+ * "US". Ignored once a number carries its own country code.
20
+ */
21
+ country?: CountryCode;
22
+ }
23
+ interface FormattedPhone {
24
+ /** Human-readable string for display. */
25
+ display: string;
26
+ /** `tel:` href (E.164 when parseable, else digits-only). */
27
+ href: string;
28
+ /** Whether libphonenumber could parse it as a valid number. */
29
+ valid: boolean;
30
+ }
31
+ /** Format a raw phone string for display + a `tel:` href. Pure. */
32
+ declare function formatPhone(value: string, { format, country }?: FormatPhoneOptions): FormattedPhone;
33
+ /** True when the value parses as a valid phone number. */
34
+ declare function isValidPhone(value: string, country?: CountryCode): boolean;
35
+ interface PhoneProps extends Omit<HTMLAttributes<HTMLElement>, "children"> {
36
+ /** Raw phone string (E.164 or local). */
37
+ value: string;
38
+ /** Output style. Defaults to "international". */
39
+ format?: PhoneFormat;
40
+ /** Region hint for numbers without a country code (e.g. "GB"). */
41
+ country?: CountryCode;
42
+ /** Render as a `tel:` link. Defaults to true. */
43
+ link?: boolean;
44
+ /** Show a small phone icon before the number. Defaults to false. */
45
+ icon?: boolean;
46
+ tone?: "inherit" | "primary";
47
+ }
48
+ declare const Phone: React.ForwardRefExoticComponent<PhoneProps & React.RefAttributes<HTMLElement>>;
49
+
50
+ export { type FormatPhoneOptions, type FormattedPhone, Phone, type PhoneFormat, type PhoneProps, formatPhone, isValidPhone };
@@ -0,0 +1,50 @@
1
+ import * as React from 'react';
2
+ import { HTMLAttributes } from 'react';
3
+ import { CountryCode } from 'libphonenumber-js';
4
+
5
+ /**
6
+ * Phone — render a phone number the way a human reads it.
7
+ *
8
+ * Stored numbers are usually raw E.164 ("+447700900123"); this groups
9
+ * them by country ("+44 7700 900123") via libphonenumber-js and links
10
+ * to `tel:` for one-tap calling. Falls back to the raw value (still as a
11
+ * tel link) when the number can't be parsed, so it never hides data.
12
+ */
13
+ type PhoneFormat = "international" | "national" | "e164";
14
+ interface FormatPhoneOptions {
15
+ /** Output style. Defaults to "international" ("+44 7700 900123"). */
16
+ format?: PhoneFormat;
17
+ /**
18
+ * Region hint for numbers stored without a leading "+", e.g. "GB",
19
+ * "US". Ignored once a number carries its own country code.
20
+ */
21
+ country?: CountryCode;
22
+ }
23
+ interface FormattedPhone {
24
+ /** Human-readable string for display. */
25
+ display: string;
26
+ /** `tel:` href (E.164 when parseable, else digits-only). */
27
+ href: string;
28
+ /** Whether libphonenumber could parse it as a valid number. */
29
+ valid: boolean;
30
+ }
31
+ /** Format a raw phone string for display + a `tel:` href. Pure. */
32
+ declare function formatPhone(value: string, { format, country }?: FormatPhoneOptions): FormattedPhone;
33
+ /** True when the value parses as a valid phone number. */
34
+ declare function isValidPhone(value: string, country?: CountryCode): boolean;
35
+ interface PhoneProps extends Omit<HTMLAttributes<HTMLElement>, "children"> {
36
+ /** Raw phone string (E.164 or local). */
37
+ value: string;
38
+ /** Output style. Defaults to "international". */
39
+ format?: PhoneFormat;
40
+ /** Region hint for numbers without a country code (e.g. "GB"). */
41
+ country?: CountryCode;
42
+ /** Render as a `tel:` link. Defaults to true. */
43
+ link?: boolean;
44
+ /** Show a small phone icon before the number. Defaults to false. */
45
+ icon?: boolean;
46
+ tone?: "inherit" | "primary";
47
+ }
48
+ declare const Phone: React.ForwardRefExoticComponent<PhoneProps & React.RefAttributes<HTMLElement>>;
49
+
50
+ export { type FormatPhoneOptions, type FormattedPhone, Phone, type PhoneFormat, type PhoneProps, formatPhone, isValidPhone };
@@ -0,0 +1,69 @@
1
+ "use client";
2
+ import {
3
+ cn
4
+ } from "../chunk-G6SRSWXB.js";
5
+
6
+ // src/primitives/phone.tsx
7
+ import { forwardRef } from "react";
8
+ import { Phone as PhoneIcon } from "lucide-react";
9
+ import {
10
+ parsePhoneNumberFromString
11
+ } from "libphonenumber-js";
12
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
13
+ function formatPhone(value, { format = "international", country } = {}) {
14
+ const raw = (value ?? "").trim();
15
+ const parsed = raw ? parsePhoneNumberFromString(raw, country) : void 0;
16
+ if (!parsed) {
17
+ return {
18
+ display: raw,
19
+ href: `tel:${raw.replace(/[^\d+]/g, "")}`,
20
+ valid: false
21
+ };
22
+ }
23
+ const display = format === "national" ? parsed.formatNational() : format === "e164" ? parsed.number : parsed.formatInternational();
24
+ return { display, href: `tel:${parsed.number}`, valid: true };
25
+ }
26
+ function isValidPhone(value, country) {
27
+ const parsed = value?.trim() ? parsePhoneNumberFromString(value.trim(), country) : void 0;
28
+ return parsed?.isValid() ?? false;
29
+ }
30
+ var Phone = forwardRef(function Phone2({
31
+ value,
32
+ format = "international",
33
+ country,
34
+ link = true,
35
+ icon = false,
36
+ tone = "inherit",
37
+ className,
38
+ ...props
39
+ }, ref) {
40
+ const { display, href } = formatPhone(value, { format, country });
41
+ const body = /* @__PURE__ */ jsxs(Fragment, { children: [
42
+ icon && /* @__PURE__ */ jsx(PhoneIcon, { className: "h-3.5 w-3.5 shrink-0 opacity-70", "aria-hidden": true }),
43
+ /* @__PURE__ */ jsx("span", { className: "tabular-nums", children: display })
44
+ ] });
45
+ const classes = cn(
46
+ "inline-flex items-center gap-1.5",
47
+ link && "hover:underline underline-offset-4",
48
+ tone === "primary" && "text-primary",
49
+ className
50
+ );
51
+ if (!link) {
52
+ return /* @__PURE__ */ jsx("span", { ref, className: classes, ...props, children: body });
53
+ }
54
+ return /* @__PURE__ */ jsx(
55
+ "a",
56
+ {
57
+ ref,
58
+ href,
59
+ className: classes,
60
+ ...props,
61
+ children: body
62
+ }
63
+ );
64
+ });
65
+ export {
66
+ Phone,
67
+ formatPhone,
68
+ isValidPhone
69
+ };
@@ -0,0 +1,12 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
+
3
+
4
+
5
+
6
+ var _chunkWNXVGUBFcjs = require('../chunk-WNXVGUBF.cjs');
7
+ require('../chunk-KWLSBTB2.cjs');
8
+
9
+
10
+
11
+
12
+ exports.Popover = _chunkWNXVGUBFcjs.Popover; exports.PopoverContent = _chunkWNXVGUBFcjs.PopoverContent; exports.PopoverTrigger = _chunkWNXVGUBFcjs.PopoverTrigger;
@@ -0,0 +1,14 @@
1
+ import * as PopoverPrimitive from '@radix-ui/react-popover';
2
+ import * as React from 'react';
3
+
4
+ declare const Popover: React.FC<PopoverPrimitive.PopoverProps>;
5
+ declare const PopoverTrigger: React.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & React.RefAttributes<HTMLButtonElement>>;
6
+ interface PopoverContentProps extends React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> {
7
+ width?: "default" | "trigger" | "sm" | "score" | "lg";
8
+ minWidth?: "none" | "sm";
9
+ padding?: "none" | "compact" | "default";
10
+ spacing?: "none" | "compact";
11
+ }
12
+ declare const PopoverContent: React.ForwardRefExoticComponent<PopoverContentProps & React.RefAttributes<HTMLDivElement>>;
13
+
14
+ export { Popover, PopoverContent, type PopoverContentProps, PopoverTrigger };
@@ -0,0 +1,14 @@
1
+ import * as PopoverPrimitive from '@radix-ui/react-popover';
2
+ import * as React from 'react';
3
+
4
+ declare const Popover: React.FC<PopoverPrimitive.PopoverProps>;
5
+ declare const PopoverTrigger: React.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & React.RefAttributes<HTMLButtonElement>>;
6
+ interface PopoverContentProps extends React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> {
7
+ width?: "default" | "trigger" | "sm" | "score" | "lg";
8
+ minWidth?: "none" | "sm";
9
+ padding?: "none" | "compact" | "default";
10
+ spacing?: "none" | "compact";
11
+ }
12
+ declare const PopoverContent: React.ForwardRefExoticComponent<PopoverContentProps & React.RefAttributes<HTMLDivElement>>;
13
+
14
+ export { Popover, PopoverContent, type PopoverContentProps, PopoverTrigger };
@@ -0,0 +1,12 @@
1
+ "use client";
2
+ import {
3
+ Popover,
4
+ PopoverContent,
5
+ PopoverTrigger
6
+ } from "../chunk-YG7FBJRM.js";
7
+ import "../chunk-G6SRSWXB.js";
8
+ export {
9
+ Popover,
10
+ PopoverContent,
11
+ PopoverTrigger
12
+ };
@@ -0,0 +1,31 @@
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/progress.tsx
7
+ var _reactprogress = require('@radix-ui/react-progress'); var ProgressPrimitive = _interopRequireWildcard(_reactprogress);
8
+ var _react = require('react'); var React = _interopRequireWildcard(_react);
9
+ var _jsxruntime = require('react/jsx-runtime');
10
+ var Progress = React.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11
+ ProgressPrimitive.Root,
12
+ {
13
+ ref,
14
+ className: _chunkKWLSBTB2cjs.cn.call(void 0,
15
+ "relative h-4 w-full overflow-hidden rounded-full bg-muted",
16
+ className
17
+ ),
18
+ ...props,
19
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20
+ ProgressPrimitive.Indicator,
21
+ {
22
+ className: "h-full w-full flex-1 bg-primary transition-all",
23
+ style: { transform: `translateX(-${100 - (value || 0)}%)` }
24
+ }
25
+ )
26
+ }
27
+ ));
28
+ Progress.displayName = ProgressPrimitive.Root.displayName;
29
+
30
+
31
+ exports.Progress = Progress;
@@ -0,0 +1,6 @@
1
+ import * as ProgressPrimitive from '@radix-ui/react-progress';
2
+ import * as React from 'react';
3
+
4
+ declare const Progress: React.ForwardRefExoticComponent<Omit<ProgressPrimitive.ProgressProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
5
+
6
+ export { Progress };