@epicbagel/saas-kit 0.0.0-stage → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (659) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +108 -2
  3. package/THIRD_PARTY_NOTICES.md +53 -0
  4. package/dist/chunk-23UMHZ4S.cjs +124 -0
  5. package/dist/chunk-2AU7ZRGX.cjs +96 -0
  6. package/dist/chunk-2BHI5ZWJ.cjs +117 -0
  7. package/dist/chunk-2BTDBZYN.cjs +154 -0
  8. package/dist/chunk-2HTYXBDU.cjs +34 -0
  9. package/dist/chunk-2HV2KKOE.cjs +38 -0
  10. package/dist/chunk-2KFZQJH5.cjs +29 -0
  11. package/dist/chunk-2XDFTB2W.cjs +35 -0
  12. package/dist/chunk-32Q4XOTU.cjs +204 -0
  13. package/dist/chunk-35YMAIEL.js +135 -0
  14. package/dist/chunk-373W6VAD.cjs +82 -0
  15. package/dist/chunk-3BZ4CQHW.js +94 -0
  16. package/dist/chunk-3OWGL4Q2.js +65 -0
  17. package/dist/chunk-3QT5VYZ3.js +141 -0
  18. package/dist/chunk-42RTTHND.js +29 -0
  19. package/dist/chunk-4HWCNRK4.js +117 -0
  20. package/dist/chunk-4LXN6GLZ.cjs +44 -0
  21. package/dist/chunk-4NN7EA3W.js +222 -0
  22. package/dist/chunk-62UTAG2C.js +152 -0
  23. package/dist/chunk-667ZCM4X.cjs +72 -0
  24. package/dist/chunk-6FC65AZQ.js +38 -0
  25. package/dist/chunk-6RVPQGYS.js +181 -0
  26. package/dist/chunk-6T2EULKN.cjs +42 -0
  27. package/dist/chunk-6V4XMQ6D.js +118 -0
  28. package/dist/chunk-7CRDYV3C.js +137 -0
  29. package/dist/chunk-B765DSRG.cjs +66 -0
  30. package/dist/chunk-BEJJN2SY.cjs +73 -0
  31. package/dist/chunk-BGLGRUPP.cjs +31 -0
  32. package/dist/chunk-CS7DM3NV.js +98 -0
  33. package/dist/chunk-CTYOW3V2.cjs +59 -0
  34. package/dist/chunk-D4ZL2OEQ.js +61 -0
  35. package/dist/chunk-DFB4ILN6.cjs +137 -0
  36. package/dist/chunk-E2TQMDO7.js +34 -0
  37. package/dist/chunk-EIY5LLSP.js +82 -0
  38. package/dist/chunk-EJP2L5QV.cjs +74 -0
  39. package/dist/chunk-ELPV44S6.cjs +44 -0
  40. package/dist/chunk-EOUO3ORO.cjs +244 -0
  41. package/dist/chunk-EZCKWTH7.js +204 -0
  42. package/dist/chunk-F366BHWH.js +116 -0
  43. package/dist/chunk-F73ONTCK.js +73 -0
  44. package/dist/chunk-F7JHSZNT.js +73 -0
  45. package/dist/chunk-FJLINIC6.js +48 -0
  46. package/dist/chunk-FLPYZNWZ.js +124 -0
  47. package/dist/chunk-FNDBM67K.cjs +61 -0
  48. package/dist/chunk-G54TQV2R.cjs +222 -0
  49. package/dist/chunk-G6SRSWXB.js +32 -0
  50. package/dist/chunk-G76JANB4.js +138 -0
  51. package/dist/chunk-GFG2R5BZ.js +132 -0
  52. package/dist/chunk-GL5CV4FF.js +59 -0
  53. package/dist/chunk-GMJWBGTJ.js +34 -0
  54. package/dist/chunk-GRZMUGT6.cjs +94 -0
  55. package/dist/chunk-GXHGMI3Z.cjs +48 -0
  56. package/dist/chunk-H2O6NMLZ.js +52 -0
  57. package/dist/chunk-H2UFRLLN.cjs +100 -0
  58. package/dist/chunk-H7TETFLB.js +39 -0
  59. package/dist/chunk-HAC32ALJ.js +244 -0
  60. package/dist/chunk-HQRWRRZJ.js +179 -0
  61. package/dist/chunk-HRLP4BHJ.js +510 -0
  62. package/dist/chunk-HYSWE75T.js +67 -0
  63. package/dist/chunk-HYTILYE5.js +31 -0
  64. package/dist/chunk-I5UQSBBZ.cjs +118 -0
  65. package/dist/chunk-I6GUOEBO.cjs +61 -0
  66. package/dist/chunk-IH3COANJ.cjs +510 -0
  67. package/dist/chunk-INNGGLMZ.js +44 -0
  68. package/dist/chunk-IQZLUT2Y.cjs +34 -0
  69. package/dist/chunk-IW4ZIXXG.js +66 -0
  70. package/dist/chunk-J3GQXM37.js +61 -0
  71. package/dist/chunk-J6NXDZR5.js +145 -0
  72. package/dist/chunk-JH4GAGOQ.cjs +34 -0
  73. package/dist/chunk-JZOBIPFC.js +96 -0
  74. package/dist/chunk-KENBU3NV.cjs +27 -0
  75. package/dist/chunk-KGFL3VWY.cjs +62 -0
  76. package/dist/chunk-KN4RPX35.js +36 -0
  77. package/dist/chunk-KWLSBTB2.cjs +34 -0
  78. package/dist/chunk-L4DH72UF.cjs +179 -0
  79. package/dist/chunk-LELBCBDT.cjs +52 -0
  80. package/dist/chunk-LELFPLTE.js +55 -0
  81. package/dist/chunk-LI5EOSQG.js +171 -0
  82. package/dist/chunk-LIE6W3QT.js +42 -0
  83. package/dist/chunk-MHYAVXOE.js +159 -0
  84. package/dist/chunk-MLHNYRFX.js +411 -0
  85. package/dist/chunk-NBUWGRQO.js +31 -0
  86. package/dist/chunk-NE3ZVJ6G.cjs +67 -0
  87. package/dist/chunk-NQK5ZWC7.cjs +31 -0
  88. package/dist/chunk-NW3OWKBN.js +57 -0
  89. package/dist/chunk-OICAYRVH.js +34 -0
  90. package/dist/chunk-PIU5SSUV.js +25 -0
  91. package/dist/chunk-PNWNU6JW.cjs +171 -0
  92. package/dist/chunk-PPX2VPGI.cjs +138 -0
  93. package/dist/chunk-PQUSJEXL.cjs +51 -0
  94. package/dist/chunk-QD63LB2F.js +62 -0
  95. package/dist/chunk-QMA3WVB7.js +51 -0
  96. package/dist/chunk-QNZYQLNP.js +125 -0
  97. package/dist/chunk-R35FT53G.cjs +25 -0
  98. package/dist/chunk-R3DQS6U4.cjs +135 -0
  99. package/dist/chunk-R4AIM3BQ.js +72 -0
  100. package/dist/chunk-R5L4CM6V.cjs +202 -0
  101. package/dist/chunk-RIWLAMME.cjs +159 -0
  102. package/dist/chunk-RRRD5EUI.js +202 -0
  103. package/dist/chunk-RSFEKQDR.cjs +181 -0
  104. package/dist/chunk-SGW4FWBX.cjs +411 -0
  105. package/dist/chunk-SUB4BAYE.cjs +73 -0
  106. package/dist/chunk-T2ZFSPE4.cjs +36 -0
  107. package/dist/chunk-THWIJG5C.js +73 -0
  108. package/dist/chunk-U2NES7VR.cjs +32 -0
  109. package/dist/chunk-V4LE2HWP.js +166 -0
  110. package/dist/chunk-V4YWTRLD.cjs +116 -0
  111. package/dist/chunk-V5SPFLKW.cjs +145 -0
  112. package/dist/chunk-V7542UGX.js +31 -0
  113. package/dist/chunk-VBPPFC7X.cjs +66 -0
  114. package/dist/chunk-VGTINL5Q.cjs +39 -0
  115. package/dist/chunk-VKIGJNJR.cjs +57 -0
  116. package/dist/chunk-VY5U4VGV.js +27 -0
  117. package/dist/chunk-W5HPHEE7.cjs +31 -0
  118. package/dist/chunk-W5I4FN7G.cjs +78 -0
  119. package/dist/chunk-WABCLRBR.cjs +65 -0
  120. package/dist/chunk-WDXEJDMO.cjs +141 -0
  121. package/dist/chunk-WNXVGUBF.cjs +40 -0
  122. package/dist/chunk-WQJKUKBL.cjs +125 -0
  123. package/dist/chunk-XABXUP6L.cjs +132 -0
  124. package/dist/chunk-XAPPU3MD.js +35 -0
  125. package/dist/chunk-XLIAY56V.cjs +55 -0
  126. package/dist/chunk-YEW65ASC.js +66 -0
  127. package/dist/chunk-YG7FBJRM.js +40 -0
  128. package/dist/chunk-YWAQRAXP.js +78 -0
  129. package/dist/chunk-YYFVG5A6.cjs +152 -0
  130. package/dist/chunk-Z45YKVAM.js +154 -0
  131. package/dist/chunk-ZAITUDYD.cjs +166 -0
  132. package/dist/chunk-ZRLUUZHK.js +32 -0
  133. package/dist/chunk-ZWZAAGQF.js +44 -0
  134. package/dist/hooks/use-copy-to-clipboard.cjs +7 -0
  135. package/dist/hooks/use-copy-to-clipboard.d.cts +12 -0
  136. package/dist/hooks/use-copy-to-clipboard.d.ts +12 -0
  137. package/dist/hooks/use-copy-to-clipboard.js +7 -0
  138. package/dist/hooks/use-layout-preference.cjs +51 -0
  139. package/dist/hooks/use-layout-preference.d.cts +10 -0
  140. package/dist/hooks/use-layout-preference.d.ts +10 -0
  141. package/dist/hooks/use-layout-preference.js +51 -0
  142. package/dist/hooks/use-mobile.cjs +7 -0
  143. package/dist/hooks/use-mobile.d.cts +3 -0
  144. package/dist/hooks/use-mobile.d.ts +3 -0
  145. package/dist/hooks/use-mobile.js +7 -0
  146. package/dist/lib/date-utils.cjs +15 -0
  147. package/dist/lib/date-utils.d.cts +16 -0
  148. package/dist/lib/date-utils.d.ts +16 -0
  149. package/dist/lib/date-utils.js +14 -0
  150. package/dist/lib/filter-types.cjs +161 -0
  151. package/dist/lib/filter-types.d.cts +60 -0
  152. package/dist/lib/filter-types.d.ts +60 -0
  153. package/dist/lib/filter-types.js +160 -0
  154. package/dist/lib/neutral-theme.cjs +238 -0
  155. package/dist/lib/neutral-theme.d.cts +92 -0
  156. package/dist/lib/neutral-theme.d.ts +92 -0
  157. package/dist/lib/neutral-theme.js +236 -0
  158. package/dist/lib/status-colors.cjs +18 -0
  159. package/dist/lib/status-colors.d.cts +76 -0
  160. package/dist/lib/status-colors.d.ts +76 -0
  161. package/dist/lib/status-colors.js +17 -0
  162. package/dist/lib/utils.cjs +9 -0
  163. package/dist/lib/utils.d.cts +9 -0
  164. package/dist/lib/utils.d.ts +9 -0
  165. package/dist/lib/utils.js +8 -0
  166. package/dist/primitives/action-dock.cjs +8 -0
  167. package/dist/primitives/action-dock.d.cts +10 -0
  168. package/dist/primitives/action-dock.d.ts +10 -0
  169. package/dist/primitives/action-dock.js +8 -0
  170. package/dist/primitives/activity-feed.cjs +177 -0
  171. package/dist/primitives/activity-feed.d.cts +78 -0
  172. package/dist/primitives/activity-feed.d.ts +78 -0
  173. package/dist/primitives/activity-feed.js +177 -0
  174. package/dist/primitives/activity-log.cjs +79 -0
  175. package/dist/primitives/activity-log.d.cts +55 -0
  176. package/dist/primitives/activity-log.d.ts +55 -0
  177. package/dist/primitives/activity-log.js +79 -0
  178. package/dist/primitives/agent-comment.cjs +39 -0
  179. package/dist/primitives/agent-comment.d.cts +33 -0
  180. package/dist/primitives/agent-comment.d.ts +33 -0
  181. package/dist/primitives/agent-comment.js +39 -0
  182. package/dist/primitives/alert-dialog.cjs +30 -0
  183. package/dist/primitives/alert-dialog.d.cts +23 -0
  184. package/dist/primitives/alert-dialog.d.ts +23 -0
  185. package/dist/primitives/alert-dialog.js +30 -0
  186. package/dist/primitives/alert.cjs +12 -0
  187. package/dist/primitives/alert.d.cts +26 -0
  188. package/dist/primitives/alert.d.ts +26 -0
  189. package/dist/primitives/alert.js +12 -0
  190. package/dist/primitives/anchor-target.cjs +13 -0
  191. package/dist/primitives/anchor-target.d.cts +7 -0
  192. package/dist/primitives/anchor-target.d.ts +7 -0
  193. package/dist/primitives/anchor-target.js +13 -0
  194. package/dist/primitives/anchor.cjs +35 -0
  195. package/dist/primitives/anchor.d.cts +16 -0
  196. package/dist/primitives/anchor.d.ts +16 -0
  197. package/dist/primitives/anchor.js +35 -0
  198. package/dist/primitives/archive-confirmation-dialog.cjs +50 -0
  199. package/dist/primitives/archive-confirmation-dialog.d.cts +12 -0
  200. package/dist/primitives/archive-confirmation-dialog.d.ts +12 -0
  201. package/dist/primitives/archive-confirmation-dialog.js +50 -0
  202. package/dist/primitives/aspect-ratio.cjs +8 -0
  203. package/dist/primitives/aspect-ratio.d.cts +6 -0
  204. package/dist/primitives/aspect-ratio.d.ts +6 -0
  205. package/dist/primitives/aspect-ratio.js +8 -0
  206. package/dist/primitives/attachment.cjs +25 -0
  207. package/dist/primitives/attachment.d.cts +28 -0
  208. package/dist/primitives/attachment.d.ts +28 -0
  209. package/dist/primitives/attachment.js +25 -0
  210. package/dist/primitives/avatar.cjs +12 -0
  211. package/dist/primitives/avatar.d.cts +22 -0
  212. package/dist/primitives/avatar.d.ts +22 -0
  213. package/dist/primitives/avatar.js +12 -0
  214. package/dist/primitives/badge.cjs +10 -0
  215. package/dist/primitives/badge.d.cts +27 -0
  216. package/dist/primitives/badge.d.ts +27 -0
  217. package/dist/primitives/badge.js +10 -0
  218. package/dist/primitives/board-view-internals.cjs +16 -0
  219. package/dist/primitives/board-view-internals.d.cts +33 -0
  220. package/dist/primitives/board-view-internals.d.ts +33 -0
  221. package/dist/primitives/board-view-internals.js +16 -0
  222. package/dist/primitives/board-view.cjs +108 -0
  223. package/dist/primitives/board-view.d.cts +39 -0
  224. package/dist/primitives/board-view.d.ts +39 -0
  225. package/dist/primitives/board-view.js +108 -0
  226. package/dist/primitives/browser-preview.cjs +62 -0
  227. package/dist/primitives/browser-preview.d.cts +41 -0
  228. package/dist/primitives/browser-preview.d.ts +41 -0
  229. package/dist/primitives/browser-preview.js +62 -0
  230. package/dist/primitives/bubble.cjs +14 -0
  231. package/dist/primitives/bubble.d.cts +21 -0
  232. package/dist/primitives/bubble.d.ts +21 -0
  233. package/dist/primitives/bubble.js +14 -0
  234. package/dist/primitives/button.cjs +10 -0
  235. package/dist/primitives/button.d.cts +32 -0
  236. package/dist/primitives/button.d.ts +32 -0
  237. package/dist/primitives/button.js +10 -0
  238. package/dist/primitives/calendar.cjs +11 -0
  239. package/dist/primitives/calendar.d.cts +13 -0
  240. package/dist/primitives/calendar.d.ts +13 -0
  241. package/dist/primitives/calendar.js +11 -0
  242. package/dist/primitives/call-card.cjs +195 -0
  243. package/dist/primitives/call-card.d.cts +86 -0
  244. package/dist/primitives/call-card.d.ts +86 -0
  245. package/dist/primitives/call-card.js +195 -0
  246. package/dist/primitives/callout.cjs +8 -0
  247. package/dist/primitives/callout.d.cts +41 -0
  248. package/dist/primitives/callout.d.ts +41 -0
  249. package/dist/primitives/callout.js +8 -0
  250. package/dist/primitives/card.cjs +18 -0
  251. package/dist/primitives/card.d.cts +55 -0
  252. package/dist/primitives/card.d.ts +55 -0
  253. package/dist/primitives/card.js +18 -0
  254. package/dist/primitives/chat.cjs +864 -0
  255. package/dist/primitives/chat.d.cts +326 -0
  256. package/dist/primitives/chat.d.ts +326 -0
  257. package/dist/primitives/chat.js +864 -0
  258. package/dist/primitives/checkbox.cjs +8 -0
  259. package/dist/primitives/checkbox.d.cts +20 -0
  260. package/dist/primitives/checkbox.d.ts +20 -0
  261. package/dist/primitives/checkbox.js +8 -0
  262. package/dist/primitives/chip-tabs.cjs +10 -0
  263. package/dist/primitives/chip-tabs.d.cts +39 -0
  264. package/dist/primitives/chip-tabs.d.ts +39 -0
  265. package/dist/primitives/chip-tabs.js +10 -0
  266. package/dist/primitives/code-block.cjs +56 -0
  267. package/dist/primitives/code-block.d.cts +35 -0
  268. package/dist/primitives/code-block.d.ts +35 -0
  269. package/dist/primitives/code-block.js +56 -0
  270. package/dist/primitives/collapsible-section.cjs +69 -0
  271. package/dist/primitives/collapsible-section.d.cts +24 -0
  272. package/dist/primitives/collapsible-section.d.ts +24 -0
  273. package/dist/primitives/collapsible-section.js +69 -0
  274. package/dist/primitives/collapsible.cjs +12 -0
  275. package/dist/primitives/collapsible.d.cts +14 -0
  276. package/dist/primitives/collapsible.d.ts +14 -0
  277. package/dist/primitives/collapsible.js +12 -0
  278. package/dist/primitives/compact-app-shell.cjs +40 -0
  279. package/dist/primitives/compact-app-shell.d.cts +12 -0
  280. package/dist/primitives/compact-app-shell.d.ts +12 -0
  281. package/dist/primitives/compact-app-shell.js +40 -0
  282. package/dist/primitives/compact-log.cjs +39 -0
  283. package/dist/primitives/compact-log.d.cts +19 -0
  284. package/dist/primitives/compact-log.d.ts +19 -0
  285. package/dist/primitives/compact-log.js +39 -0
  286. package/dist/primitives/confirm-bar.cjs +101 -0
  287. package/dist/primitives/confirm-bar.d.cts +60 -0
  288. package/dist/primitives/confirm-bar.d.ts +60 -0
  289. package/dist/primitives/confirm-bar.js +101 -0
  290. package/dist/primitives/connection-status-bar.cjs +243 -0
  291. package/dist/primitives/connection-status-bar.d.cts +52 -0
  292. package/dist/primitives/connection-status-bar.d.ts +52 -0
  293. package/dist/primitives/connection-status-bar.js +243 -0
  294. package/dist/primitives/connection.cjs +206 -0
  295. package/dist/primitives/connection.d.cts +126 -0
  296. package/dist/primitives/connection.d.ts +126 -0
  297. package/dist/primitives/connection.js +206 -0
  298. package/dist/primitives/contact-header.cjs +60 -0
  299. package/dist/primitives/contact-header.d.cts +54 -0
  300. package/dist/primitives/contact-header.d.ts +54 -0
  301. package/dist/primitives/contact-header.js +60 -0
  302. package/dist/primitives/copy-button.cjs +10 -0
  303. package/dist/primitives/copy-button.d.cts +21 -0
  304. package/dist/primitives/copy-button.d.ts +21 -0
  305. package/dist/primitives/copy-button.js +10 -0
  306. package/dist/primitives/count-badge.cjs +9 -0
  307. package/dist/primitives/count-badge.d.cts +21 -0
  308. package/dist/primitives/count-badge.d.ts +21 -0
  309. package/dist/primitives/count-badge.js +9 -0
  310. package/dist/primitives/decision-actions.cjs +66 -0
  311. package/dist/primitives/decision-actions.d.cts +31 -0
  312. package/dist/primitives/decision-actions.d.ts +31 -0
  313. package/dist/primitives/decision-actions.js +66 -0
  314. package/dist/primitives/definition-list.cjs +65 -0
  315. package/dist/primitives/definition-list.d.cts +23 -0
  316. package/dist/primitives/definition-list.d.ts +23 -0
  317. package/dist/primitives/definition-list.js +65 -0
  318. package/dist/primitives/delete-confirmation-dialog.cjs +11 -0
  319. package/dist/primitives/delete-confirmation-dialog.d.cts +23 -0
  320. package/dist/primitives/delete-confirmation-dialog.d.ts +23 -0
  321. package/dist/primitives/delete-confirmation-dialog.js +11 -0
  322. package/dist/primitives/dialog.cjs +26 -0
  323. package/dist/primitives/dialog.d.cts +44 -0
  324. package/dist/primitives/dialog.d.ts +44 -0
  325. package/dist/primitives/dialog.js +26 -0
  326. package/dist/primitives/drawer.cjs +26 -0
  327. package/dist/primitives/drawer.d.cts +36 -0
  328. package/dist/primitives/drawer.d.ts +36 -0
  329. package/dist/primitives/drawer.js +26 -0
  330. package/dist/primitives/dropdown-menu.cjs +36 -0
  331. package/dist/primitives/dropdown-menu.d.cts +34 -0
  332. package/dist/primitives/dropdown-menu.d.ts +34 -0
  333. package/dist/primitives/dropdown-menu.js +36 -0
  334. package/dist/primitives/editable-list.cjs +108 -0
  335. package/dist/primitives/editable-list.d.cts +23 -0
  336. package/dist/primitives/editable-list.d.ts +23 -0
  337. package/dist/primitives/editable-list.js +108 -0
  338. package/dist/primitives/empty-state.cjs +9 -0
  339. package/dist/primitives/empty-state.d.cts +54 -0
  340. package/dist/primitives/empty-state.d.ts +54 -0
  341. package/dist/primitives/empty-state.js +9 -0
  342. package/dist/primitives/eyebrow.cjs +8 -0
  343. package/dist/primitives/eyebrow.d.cts +21 -0
  344. package/dist/primitives/eyebrow.d.ts +21 -0
  345. package/dist/primitives/eyebrow.js +8 -0
  346. package/dist/primitives/feature-empty-state.cjs +133 -0
  347. package/dist/primitives/feature-empty-state.d.cts +42 -0
  348. package/dist/primitives/feature-empty-state.d.ts +42 -0
  349. package/dist/primitives/feature-empty-state.js +133 -0
  350. package/dist/primitives/field.cjs +260 -0
  351. package/dist/primitives/field.d.cts +43 -0
  352. package/dist/primitives/field.d.ts +43 -0
  353. package/dist/primitives/field.js +260 -0
  354. package/dist/primitives/file-dropzone.cjs +12 -0
  355. package/dist/primitives/file-dropzone.d.cts +36 -0
  356. package/dist/primitives/file-dropzone.d.ts +36 -0
  357. package/dist/primitives/file-dropzone.js +12 -0
  358. package/dist/primitives/filter-bar.cjs +20 -0
  359. package/dist/primitives/filter-bar.d.cts +25 -0
  360. package/dist/primitives/filter-bar.d.ts +25 -0
  361. package/dist/primitives/filter-bar.js +20 -0
  362. package/dist/primitives/flex-item.cjs +34 -0
  363. package/dist/primitives/flex-item.d.cts +18 -0
  364. package/dist/primitives/flex-item.d.ts +18 -0
  365. package/dist/primitives/flex-item.js +34 -0
  366. package/dist/primitives/grid.cjs +47 -0
  367. package/dist/primitives/grid.d.cts +18 -0
  368. package/dist/primitives/grid.d.ts +18 -0
  369. package/dist/primitives/grid.js +47 -0
  370. package/dist/primitives/heading.cjs +8 -0
  371. package/dist/primitives/heading.d.cts +28 -0
  372. package/dist/primitives/heading.d.ts +28 -0
  373. package/dist/primitives/heading.js +8 -0
  374. package/dist/primitives/hidden-control.cjs +13 -0
  375. package/dist/primitives/hidden-control.d.cts +7 -0
  376. package/dist/primitives/hidden-control.d.ts +7 -0
  377. package/dist/primitives/hidden-control.js +13 -0
  378. package/dist/primitives/icon.cjs +8 -0
  379. package/dist/primitives/icon.d.cts +22 -0
  380. package/dist/primitives/icon.d.ts +22 -0
  381. package/dist/primitives/icon.js +8 -0
  382. package/dist/primitives/image.cjs +52 -0
  383. package/dist/primitives/image.d.cts +21 -0
  384. package/dist/primitives/image.d.ts +21 -0
  385. package/dist/primitives/image.js +52 -0
  386. package/dist/primitives/inline-code.cjs +34 -0
  387. package/dist/primitives/inline-code.d.cts +15 -0
  388. package/dist/primitives/inline-code.d.ts +15 -0
  389. package/dist/primitives/inline-code.js +34 -0
  390. package/dist/primitives/input-group.cjs +21 -0
  391. package/dist/primitives/input-group.d.cts +20 -0
  392. package/dist/primitives/input-group.d.ts +20 -0
  393. package/dist/primitives/input-group.js +21 -0
  394. package/dist/primitives/input.cjs +8 -0
  395. package/dist/primitives/input.d.cts +23 -0
  396. package/dist/primitives/input.d.ts +23 -0
  397. package/dist/primitives/input.js +8 -0
  398. package/dist/primitives/inset.cjs +20 -0
  399. package/dist/primitives/inset.d.cts +12 -0
  400. package/dist/primitives/inset.d.ts +12 -0
  401. package/dist/primitives/inset.js +20 -0
  402. package/dist/primitives/interactive-card.cjs +11 -0
  403. package/dist/primitives/interactive-card.d.cts +68 -0
  404. package/dist/primitives/interactive-card.d.ts +68 -0
  405. package/dist/primitives/interactive-card.js +11 -0
  406. package/dist/primitives/item.cjs +197 -0
  407. package/dist/primitives/item.d.cts +28 -0
  408. package/dist/primitives/item.d.ts +28 -0
  409. package/dist/primitives/item.js +197 -0
  410. package/dist/primitives/label.cjs +8 -0
  411. package/dist/primitives/label.d.cts +12 -0
  412. package/dist/primitives/label.d.ts +12 -0
  413. package/dist/primitives/label.js +8 -0
  414. package/dist/primitives/lazy-markdown.cjs +10 -0
  415. package/dist/primitives/lazy-markdown.d.cts +20 -0
  416. package/dist/primitives/lazy-markdown.d.ts +20 -0
  417. package/dist/primitives/lazy-markdown.js +10 -0
  418. package/dist/primitives/line-break.cjs +10 -0
  419. package/dist/primitives/line-break.d.cts +6 -0
  420. package/dist/primitives/line-break.d.ts +6 -0
  421. package/dist/primitives/line-break.js +10 -0
  422. package/dist/primitives/list.cjs +68 -0
  423. package/dist/primitives/list.d.cts +35 -0
  424. package/dist/primitives/list.d.ts +35 -0
  425. package/dist/primitives/list.js +68 -0
  426. package/dist/primitives/load-more-button.cjs +10 -0
  427. package/dist/primitives/load-more-button.d.cts +42 -0
  428. package/dist/primitives/load-more-button.d.ts +42 -0
  429. package/dist/primitives/load-more-button.js +10 -0
  430. package/dist/primitives/loading.cjs +10 -0
  431. package/dist/primitives/loading.d.cts +5 -0
  432. package/dist/primitives/loading.d.ts +5 -0
  433. package/dist/primitives/loading.js +10 -0
  434. package/dist/primitives/markdown.cjs +17 -0
  435. package/dist/primitives/markdown.d.cts +32 -0
  436. package/dist/primitives/markdown.d.ts +32 -0
  437. package/dist/primitives/markdown.js +17 -0
  438. package/dist/primitives/marker.cjs +14 -0
  439. package/dist/primitives/marker.d.cts +15 -0
  440. package/dist/primitives/marker.d.ts +15 -0
  441. package/dist/primitives/marker.js +14 -0
  442. package/dist/primitives/message-scroller.cjs +26 -0
  443. package/dist/primitives/message-scroller.d.cts +16 -0
  444. package/dist/primitives/message-scroller.d.ts +16 -0
  445. package/dist/primitives/message-scroller.js +26 -0
  446. package/dist/primitives/message.cjs +18 -0
  447. package/dist/primitives/message.d.cts +13 -0
  448. package/dist/primitives/message.d.ts +13 -0
  449. package/dist/primitives/message.js +18 -0
  450. package/dist/primitives/native-select.cjs +33 -0
  451. package/dist/primitives/native-select.d.cts +15 -0
  452. package/dist/primitives/native-select.d.ts +15 -0
  453. package/dist/primitives/native-select.js +33 -0
  454. package/dist/primitives/page-header-actions.cjs +11 -0
  455. package/dist/primitives/page-header-actions.d.cts +49 -0
  456. package/dist/primitives/page-header-actions.d.ts +49 -0
  457. package/dist/primitives/page-header-actions.js +11 -0
  458. package/dist/primitives/page-header.cjs +72 -0
  459. package/dist/primitives/page-header.d.cts +40 -0
  460. package/dist/primitives/page-header.d.ts +40 -0
  461. package/dist/primitives/page-header.js +72 -0
  462. package/dist/primitives/page-shell.cjs +46 -0
  463. package/dist/primitives/page-shell.d.cts +44 -0
  464. package/dist/primitives/page-shell.d.ts +44 -0
  465. package/dist/primitives/page-shell.js +46 -0
  466. package/dist/primitives/page-tabs.cjs +63 -0
  467. package/dist/primitives/page-tabs.d.cts +28 -0
  468. package/dist/primitives/page-tabs.d.ts +28 -0
  469. package/dist/primitives/page-tabs.js +63 -0
  470. package/dist/primitives/panel-section.cjs +52 -0
  471. package/dist/primitives/panel-section.d.cts +20 -0
  472. package/dist/primitives/panel-section.d.ts +20 -0
  473. package/dist/primitives/panel-section.js +52 -0
  474. package/dist/primitives/person-avatar.cjs +57 -0
  475. package/dist/primitives/person-avatar.d.cts +33 -0
  476. package/dist/primitives/person-avatar.d.ts +33 -0
  477. package/dist/primitives/person-avatar.js +57 -0
  478. package/dist/primitives/phone.cjs +69 -0
  479. package/dist/primitives/phone.d.cts +50 -0
  480. package/dist/primitives/phone.d.ts +50 -0
  481. package/dist/primitives/phone.js +69 -0
  482. package/dist/primitives/popover.cjs +12 -0
  483. package/dist/primitives/popover.d.cts +14 -0
  484. package/dist/primitives/popover.d.ts +14 -0
  485. package/dist/primitives/popover.js +12 -0
  486. package/dist/primitives/progress.cjs +31 -0
  487. package/dist/primitives/progress.d.cts +6 -0
  488. package/dist/primitives/progress.d.ts +6 -0
  489. package/dist/primitives/progress.js +31 -0
  490. package/dist/primitives/quick-filters.cjs +10 -0
  491. package/dist/primitives/quick-filters.d.cts +36 -0
  492. package/dist/primitives/quick-filters.d.ts +36 -0
  493. package/dist/primitives/quick-filters.js +10 -0
  494. package/dist/primitives/radio-group.cjs +46 -0
  495. package/dist/primitives/radio-group.d.cts +7 -0
  496. package/dist/primitives/radio-group.d.ts +7 -0
  497. package/dist/primitives/radio-group.js +46 -0
  498. package/dist/primitives/resource-card.cjs +104 -0
  499. package/dist/primitives/resource-card.d.cts +93 -0
  500. package/dist/primitives/resource-card.d.ts +93 -0
  501. package/dist/primitives/resource-card.js +104 -0
  502. package/dist/primitives/resource-list.cjs +28 -0
  503. package/dist/primitives/resource-list.d.cts +103 -0
  504. package/dist/primitives/resource-list.d.ts +103 -0
  505. package/dist/primitives/resource-list.js +28 -0
  506. package/dist/primitives/responsive-dialog.cjs +142 -0
  507. package/dist/primitives/responsive-dialog.d.cts +56 -0
  508. package/dist/primitives/responsive-dialog.d.ts +56 -0
  509. package/dist/primitives/responsive-dialog.js +142 -0
  510. package/dist/primitives/responsive-view.cjs +29 -0
  511. package/dist/primitives/responsive-view.d.cts +10 -0
  512. package/dist/primitives/responsive-view.d.ts +10 -0
  513. package/dist/primitives/responsive-view.js +29 -0
  514. package/dist/primitives/rich-text.cjs +8 -0
  515. package/dist/primitives/rich-text.d.cts +14 -0
  516. package/dist/primitives/rich-text.d.ts +14 -0
  517. package/dist/primitives/rich-text.js +8 -0
  518. package/dist/primitives/scroll-area.cjs +10 -0
  519. package/dist/primitives/scroll-area.d.cts +13 -0
  520. package/dist/primitives/scroll-area.d.ts +13 -0
  521. package/dist/primitives/scroll-area.js +10 -0
  522. package/dist/primitives/section-header.cjs +51 -0
  523. package/dist/primitives/section-header.d.cts +22 -0
  524. package/dist/primitives/section-header.d.ts +22 -0
  525. package/dist/primitives/section-header.js +51 -0
  526. package/dist/primitives/section.cjs +39 -0
  527. package/dist/primitives/section.d.cts +22 -0
  528. package/dist/primitives/section.d.ts +22 -0
  529. package/dist/primitives/section.js +39 -0
  530. package/dist/primitives/select.cjs +26 -0
  531. package/dist/primitives/select.d.cts +25 -0
  532. package/dist/primitives/select.d.ts +25 -0
  533. package/dist/primitives/select.js +26 -0
  534. package/dist/primitives/selection-overlay.cjs +24 -0
  535. package/dist/primitives/selection-overlay.d.cts +7 -0
  536. package/dist/primitives/selection-overlay.d.ts +7 -0
  537. package/dist/primitives/selection-overlay.js +24 -0
  538. package/dist/primitives/sentiment-dot.cjs +15 -0
  539. package/dist/primitives/sentiment-dot.d.cts +42 -0
  540. package/dist/primitives/sentiment-dot.d.ts +42 -0
  541. package/dist/primitives/sentiment-dot.js +15 -0
  542. package/dist/primitives/separator.cjs +8 -0
  543. package/dist/primitives/separator.d.cts +9 -0
  544. package/dist/primitives/separator.d.ts +9 -0
  545. package/dist/primitives/separator.js +8 -0
  546. package/dist/primitives/sheet.cjs +27 -0
  547. package/dist/primitives/sheet.d.cts +48 -0
  548. package/dist/primitives/sheet.d.ts +48 -0
  549. package/dist/primitives/sheet.js +27 -0
  550. package/dist/primitives/skeleton.cjs +8 -0
  551. package/dist/primitives/skeleton.d.cts +15 -0
  552. package/dist/primitives/skeleton.d.ts +15 -0
  553. package/dist/primitives/skeleton.js +8 -0
  554. package/dist/primitives/spacer.cjs +20 -0
  555. package/dist/primitives/spacer.d.cts +11 -0
  556. package/dist/primitives/spacer.d.ts +11 -0
  557. package/dist/primitives/spacer.js +20 -0
  558. package/dist/primitives/spinner.cjs +23 -0
  559. package/dist/primitives/spinner.d.cts +6 -0
  560. package/dist/primitives/spinner.d.ts +6 -0
  561. package/dist/primitives/spinner.js +23 -0
  562. package/dist/primitives/split-action-button.cjs +95 -0
  563. package/dist/primitives/split-action-button.d.cts +41 -0
  564. package/dist/primitives/split-action-button.d.ts +41 -0
  565. package/dist/primitives/split-action-button.js +95 -0
  566. package/dist/primitives/stack.cjs +8 -0
  567. package/dist/primitives/stack.d.cts +63 -0
  568. package/dist/primitives/stack.d.ts +63 -0
  569. package/dist/primitives/stack.js +8 -0
  570. package/dist/primitives/status-badge.cjs +9 -0
  571. package/dist/primitives/status-badge.d.cts +20 -0
  572. package/dist/primitives/status-badge.d.ts +20 -0
  573. package/dist/primitives/status-badge.js +9 -0
  574. package/dist/primitives/status-icon-tile.cjs +32 -0
  575. package/dist/primitives/status-icon-tile.d.cts +12 -0
  576. package/dist/primitives/status-icon-tile.d.ts +12 -0
  577. package/dist/primitives/status-icon-tile.js +32 -0
  578. package/dist/primitives/status-icon.cjs +8 -0
  579. package/dist/primitives/status-icon.d.cts +18 -0
  580. package/dist/primitives/status-icon.d.ts +18 -0
  581. package/dist/primitives/status-icon.js +8 -0
  582. package/dist/primitives/status-panel.cjs +83 -0
  583. package/dist/primitives/status-panel.d.cts +25 -0
  584. package/dist/primitives/status-panel.d.ts +25 -0
  585. package/dist/primitives/status-panel.js +83 -0
  586. package/dist/primitives/suggestion.cjs +11 -0
  587. package/dist/primitives/suggestion.d.cts +19 -0
  588. package/dist/primitives/suggestion.d.ts +19 -0
  589. package/dist/primitives/suggestion.js +11 -0
  590. package/dist/primitives/switch-field.cjs +44 -0
  591. package/dist/primitives/switch-field.d.cts +17 -0
  592. package/dist/primitives/switch-field.d.ts +17 -0
  593. package/dist/primitives/switch-field.js +44 -0
  594. package/dist/primitives/switch.cjs +8 -0
  595. package/dist/primitives/switch.d.cts +6 -0
  596. package/dist/primitives/switch.d.ts +6 -0
  597. package/dist/primitives/switch.js +8 -0
  598. package/dist/primitives/tabs.cjs +14 -0
  599. package/dist/primitives/tabs.d.cts +36 -0
  600. package/dist/primitives/tabs.d.ts +36 -0
  601. package/dist/primitives/tabs.js +14 -0
  602. package/dist/primitives/tag-input.cjs +90 -0
  603. package/dist/primitives/tag-input.d.cts +13 -0
  604. package/dist/primitives/tag-input.d.ts +13 -0
  605. package/dist/primitives/tag-input.js +90 -0
  606. package/dist/primitives/text.cjs +8 -0
  607. package/dist/primitives/text.d.cts +51 -0
  608. package/dist/primitives/text.d.ts +51 -0
  609. package/dist/primitives/text.js +8 -0
  610. package/dist/primitives/textarea.cjs +8 -0
  611. package/dist/primitives/textarea.d.cts +12 -0
  612. package/dist/primitives/textarea.d.ts +12 -0
  613. package/dist/primitives/textarea.js +8 -0
  614. package/dist/primitives/thinking-screen.cjs +87 -0
  615. package/dist/primitives/thinking-screen.d.cts +46 -0
  616. package/dist/primitives/thinking-screen.d.ts +46 -0
  617. package/dist/primitives/thinking-screen.js +87 -0
  618. package/dist/primitives/timeline.cjs +13 -0
  619. package/dist/primitives/timeline.d.cts +54 -0
  620. package/dist/primitives/timeline.d.ts +54 -0
  621. package/dist/primitives/timeline.js +13 -0
  622. package/dist/primitives/toggle-group.cjs +51 -0
  623. package/dist/primitives/toggle-group.d.cts +18 -0
  624. package/dist/primitives/toggle-group.d.ts +18 -0
  625. package/dist/primitives/toggle-group.js +51 -0
  626. package/dist/primitives/toggle.cjs +10 -0
  627. package/dist/primitives/toggle.d.cts +15 -0
  628. package/dist/primitives/toggle.d.ts +15 -0
  629. package/dist/primitives/toggle.js +10 -0
  630. package/dist/primitives/tooltip.cjs +14 -0
  631. package/dist/primitives/tooltip.d.cts +9 -0
  632. package/dist/primitives/tooltip.d.ts +9 -0
  633. package/dist/primitives/tooltip.js +14 -0
  634. package/dist/primitives/trace.cjs +23 -0
  635. package/dist/primitives/trace.d.cts +22 -0
  636. package/dist/primitives/trace.d.ts +22 -0
  637. package/dist/primitives/trace.js +23 -0
  638. package/dist/primitives/voice-dictation-button.cjs +10 -0
  639. package/dist/primitives/voice-dictation-button.d.cts +41 -0
  640. package/dist/primitives/voice-dictation-button.d.ts +41 -0
  641. package/dist/primitives/voice-dictation-button.js +10 -0
  642. package/package.json +1366 -3
  643. package/src/styles/components/attachment.css +61 -0
  644. package/src/styles/components/bubble.css +81 -0
  645. package/src/styles/components/marker.css +27 -0
  646. package/src/styles/components/message-scroller.css +11 -0
  647. package/src/styles/components/message.css +29 -0
  648. package/src/styles/components.css +6 -0
  649. package/src/styles/globals.css +10 -0
  650. package/src/styles/keyframes.css +26 -0
  651. package/src/styles/palette.gen.css +150 -0
  652. package/src/styles/shadcn.css +631 -0
  653. package/src/styles/source.css +4 -0
  654. package/src/styles/tokens/base.css +36 -0
  655. package/src/styles/tokens/container.css +9 -0
  656. package/src/styles/tokens/forms.css +61 -0
  657. package/src/styles/tokens/theme.css +93 -0
  658. package/src/styles/tokens.css +17 -0
  659. package/src/styles/utilities.css +10 -0
@@ -0,0 +1,60 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
+
3
+
4
+ var _chunkKWLSBTB2cjs = require('../chunk-KWLSBTB2.cjs');
5
+
6
+ // src/primitives/contact-header.tsx
7
+ var _jsxruntime = require('react/jsx-runtime');
8
+ function ContactHeader({
9
+ avatar,
10
+ name,
11
+ status,
12
+ meta,
13
+ actions,
14
+ onClose,
15
+ closeLabel = "Close",
16
+ className,
17
+ spacing = "default"
18
+ }) {
19
+ const hasTrailing = !!actions || !!onClose;
20
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkKWLSBTB2cjs.cn.call(void 0, "flex items-start gap-4", spacing === "default" && "mb-6", className), children: [
21
+ avatar && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", children: avatar }),
22
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
23
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start justify-between gap-3", children: [
24
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "min-w-0 text-xl font-semibold tracking-tight md:text-2xl", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "inline-flex min-w-0 max-w-full items-center gap-2", children: [
25
+ name,
26
+ status
27
+ ] }) }),
28
+ hasTrailing && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-1.5", children: [
29
+ actions,
30
+ onClose && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31
+ "button",
32
+ {
33
+ type: "button",
34
+ onClick: onClose,
35
+ "aria-label": closeLabel,
36
+ className: "inline-flex h-8 w-8 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",
37
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38
+ "svg",
39
+ {
40
+ viewBox: "0 0 24 24",
41
+ fill: "none",
42
+ stroke: "currentColor",
43
+ strokeWidth: "2",
44
+ strokeLinecap: "round",
45
+ className: "h-4 w-4",
46
+ "aria-hidden": true,
47
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "M18 6 6 18M6 6l12 12" })
48
+ }
49
+ )
50
+ }
51
+ )
52
+ ] })
53
+ ] }),
54
+ meta && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-1.5 flex flex-wrap items-center gap-1.5", children: meta })
55
+ ] })
56
+ ] });
57
+ }
58
+
59
+
60
+ exports.ContactHeader = ContactHeader;
@@ -0,0 +1,54 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode } from 'react';
3
+
4
+ interface ContactHeaderProps {
5
+ /** Avatar or avatar uploader. Sized by the caller; 44–48px reads best. */
6
+ avatar?: ReactNode;
7
+ /** The person's name — plain text, or an inline editor. */
8
+ name: ReactNode;
9
+ /**
10
+ * A marker that belongs ON the name line: an unread dot, a "needs contact"
11
+ * indicator, a verification tick. Kept out of `meta` so it can't be pushed
12
+ * onto the second line when the chips wrap.
13
+ */
14
+ status?: ReactNode;
15
+ /**
16
+ * Secondary identity under the name — role and company, typically as chips
17
+ * or inline editors. Wraps freely.
18
+ */
19
+ meta?: ReactNode;
20
+ /** Reach-out controls. Sits on the name line, right-aligned. */
21
+ actions?: ReactNode;
22
+ /** Renders a close control alongside the actions. Omit outside a panel. */
23
+ onClose?: () => void;
24
+ closeLabel?: string;
25
+ className?: string;
26
+ spacing?: "none" | "default";
27
+ }
28
+ /**
29
+ * The identity block at the top of a contact view — avatar, name, role and
30
+ * company, and the ways to reach them.
31
+ *
32
+ * Exists because composing this from a page header goes subtly wrong. A page
33
+ * header IS a row: title left, actions right, `justify-between` between them. Put it
34
+ * in a column beside an avatar and that row collapses to the column's width,
35
+ * so the actions have nowhere to go but underneath — a third stacked band with
36
+ * a lone icon in it, and a wide empty gutter to the right of the name. Its
37
+ * page-level `text-3xl` and `mb-6` are tuned for a route heading, not for
38
+ * sitting next to a 44px avatar.
39
+ *
40
+ * So this owns the whole composition instead:
41
+ * - one row: avatar, then a column of (name + actions) over (meta)
42
+ * - the actions share the name's line, which is what closes the gutter and
43
+ * removes the orphaned band
44
+ * - the close control joins the actions, so there's a single right-hand
45
+ * cluster rather than a × floating in the corner
46
+ * - the name steps down to text-xl/2xl — a contact is the subject of a
47
+ * panel, not the title of a page
48
+ *
49
+ * Every slot is a ReactNode, so the same header serves a read-only card and a
50
+ * fully editable detail view without knowing which it is.
51
+ */
52
+ declare function ContactHeader({ avatar, name, status, meta, actions, onClose, closeLabel, className, spacing, }: ContactHeaderProps): react_jsx_runtime.JSX.Element;
53
+
54
+ export { ContactHeader, type ContactHeaderProps };
@@ -0,0 +1,54 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode } from 'react';
3
+
4
+ interface ContactHeaderProps {
5
+ /** Avatar or avatar uploader. Sized by the caller; 44–48px reads best. */
6
+ avatar?: ReactNode;
7
+ /** The person's name — plain text, or an inline editor. */
8
+ name: ReactNode;
9
+ /**
10
+ * A marker that belongs ON the name line: an unread dot, a "needs contact"
11
+ * indicator, a verification tick. Kept out of `meta` so it can't be pushed
12
+ * onto the second line when the chips wrap.
13
+ */
14
+ status?: ReactNode;
15
+ /**
16
+ * Secondary identity under the name — role and company, typically as chips
17
+ * or inline editors. Wraps freely.
18
+ */
19
+ meta?: ReactNode;
20
+ /** Reach-out controls. Sits on the name line, right-aligned. */
21
+ actions?: ReactNode;
22
+ /** Renders a close control alongside the actions. Omit outside a panel. */
23
+ onClose?: () => void;
24
+ closeLabel?: string;
25
+ className?: string;
26
+ spacing?: "none" | "default";
27
+ }
28
+ /**
29
+ * The identity block at the top of a contact view — avatar, name, role and
30
+ * company, and the ways to reach them.
31
+ *
32
+ * Exists because composing this from a page header goes subtly wrong. A page
33
+ * header IS a row: title left, actions right, `justify-between` between them. Put it
34
+ * in a column beside an avatar and that row collapses to the column's width,
35
+ * so the actions have nowhere to go but underneath — a third stacked band with
36
+ * a lone icon in it, and a wide empty gutter to the right of the name. Its
37
+ * page-level `text-3xl` and `mb-6` are tuned for a route heading, not for
38
+ * sitting next to a 44px avatar.
39
+ *
40
+ * So this owns the whole composition instead:
41
+ * - one row: avatar, then a column of (name + actions) over (meta)
42
+ * - the actions share the name's line, which is what closes the gutter and
43
+ * removes the orphaned band
44
+ * - the close control joins the actions, so there's a single right-hand
45
+ * cluster rather than a × floating in the corner
46
+ * - the name steps down to text-xl/2xl — a contact is the subject of a
47
+ * panel, not the title of a page
48
+ *
49
+ * Every slot is a ReactNode, so the same header serves a read-only card and a
50
+ * fully editable detail view without knowing which it is.
51
+ */
52
+ declare function ContactHeader({ avatar, name, status, meta, actions, onClose, closeLabel, className, spacing, }: ContactHeaderProps): react_jsx_runtime.JSX.Element;
53
+
54
+ export { ContactHeader, type ContactHeaderProps };
@@ -0,0 +1,60 @@
1
+ "use client";
2
+ import {
3
+ cn
4
+ } from "../chunk-G6SRSWXB.js";
5
+
6
+ // src/primitives/contact-header.tsx
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ function ContactHeader({
9
+ avatar,
10
+ name,
11
+ status,
12
+ meta,
13
+ actions,
14
+ onClose,
15
+ closeLabel = "Close",
16
+ className,
17
+ spacing = "default"
18
+ }) {
19
+ const hasTrailing = !!actions || !!onClose;
20
+ return /* @__PURE__ */ jsxs("div", { className: cn("flex items-start gap-4", spacing === "default" && "mb-6", className), children: [
21
+ avatar && /* @__PURE__ */ jsx("div", { className: "shrink-0", children: avatar }),
22
+ /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
23
+ /* @__PURE__ */ jsxs("div", { className: "flex items-start justify-between gap-3", children: [
24
+ /* @__PURE__ */ jsx("h1", { className: "min-w-0 text-xl font-semibold tracking-tight md:text-2xl", children: /* @__PURE__ */ jsxs("span", { className: "inline-flex min-w-0 max-w-full items-center gap-2", children: [
25
+ name,
26
+ status
27
+ ] }) }),
28
+ hasTrailing && /* @__PURE__ */ jsxs("div", { className: "flex shrink-0 items-center gap-1.5", children: [
29
+ actions,
30
+ onClose && /* @__PURE__ */ jsx(
31
+ "button",
32
+ {
33
+ type: "button",
34
+ onClick: onClose,
35
+ "aria-label": closeLabel,
36
+ className: "inline-flex h-8 w-8 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",
37
+ children: /* @__PURE__ */ jsx(
38
+ "svg",
39
+ {
40
+ viewBox: "0 0 24 24",
41
+ fill: "none",
42
+ stroke: "currentColor",
43
+ strokeWidth: "2",
44
+ strokeLinecap: "round",
45
+ className: "h-4 w-4",
46
+ "aria-hidden": true,
47
+ children: /* @__PURE__ */ jsx("path", { d: "M18 6 6 18M6 6l12 12" })
48
+ }
49
+ )
50
+ }
51
+ )
52
+ ] })
53
+ ] }),
54
+ meta && /* @__PURE__ */ jsx("div", { className: "mt-1.5 flex flex-wrap items-center gap-1.5", children: meta })
55
+ ] })
56
+ ] });
57
+ }
58
+ export {
59
+ ContactHeader
60
+ };
@@ -0,0 +1,10 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
+
3
+
4
+ var _chunkVKIGJNJRcjs = require('../chunk-VKIGJNJR.cjs');
5
+ require('../chunk-L4DH72UF.cjs');
6
+ require('../chunk-4LXN6GLZ.cjs');
7
+ require('../chunk-KWLSBTB2.cjs');
8
+
9
+
10
+ exports.CopyButton = _chunkVKIGJNJRcjs.CopyButton;
@@ -0,0 +1,21 @@
1
+ import * as React from 'react';
2
+ import { ReactNode } from 'react';
3
+ import { ButtonProps } from './button.cjs';
4
+ import 'class-variance-authority/types';
5
+ import 'class-variance-authority';
6
+
7
+ interface CopyButtonProps extends Omit<ButtonProps, "onClick" | "children"> {
8
+ /** The text to copy when clicked. */
9
+ text: string;
10
+ /** Optional label shown next to the icon. Omit for an icon-only button. */
11
+ label?: ReactNode;
12
+ /** Label shown after a successful copy. Defaults to `label`. */
13
+ copiedLabel?: ReactNode;
14
+ /** ms before the success state reverts. Defaults to 2000. */
15
+ resetAfter?: number;
16
+ /** Fired after `navigator.clipboard.writeText` resolves with success/failure. */
17
+ onCopied?: (success: boolean) => void;
18
+ }
19
+ declare const CopyButton: React.ForwardRefExoticComponent<CopyButtonProps & React.RefAttributes<HTMLButtonElement>>;
20
+
21
+ export { CopyButton, type CopyButtonProps };
@@ -0,0 +1,21 @@
1
+ import * as React from 'react';
2
+ import { ReactNode } from 'react';
3
+ import { ButtonProps } from './button.js';
4
+ import 'class-variance-authority/types';
5
+ import 'class-variance-authority';
6
+
7
+ interface CopyButtonProps extends Omit<ButtonProps, "onClick" | "children"> {
8
+ /** The text to copy when clicked. */
9
+ text: string;
10
+ /** Optional label shown next to the icon. Omit for an icon-only button. */
11
+ label?: ReactNode;
12
+ /** Label shown after a successful copy. Defaults to `label`. */
13
+ copiedLabel?: ReactNode;
14
+ /** ms before the success state reverts. Defaults to 2000. */
15
+ resetAfter?: number;
16
+ /** Fired after `navigator.clipboard.writeText` resolves with success/failure. */
17
+ onCopied?: (success: boolean) => void;
18
+ }
19
+ declare const CopyButton: React.ForwardRefExoticComponent<CopyButtonProps & React.RefAttributes<HTMLButtonElement>>;
20
+
21
+ export { CopyButton, type CopyButtonProps };
@@ -0,0 +1,10 @@
1
+ "use client";
2
+ import {
3
+ CopyButton
4
+ } from "../chunk-NW3OWKBN.js";
5
+ import "../chunk-HQRWRRZJ.js";
6
+ import "../chunk-ZWZAAGQF.js";
7
+ import "../chunk-G6SRSWXB.js";
8
+ export {
9
+ CopyButton
10
+ };
@@ -0,0 +1,9 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
+
3
+
4
+ var _chunkVGTINL5Qcjs = require('../chunk-VGTINL5Q.cjs');
5
+ require('../chunk-I6GUOEBO.cjs');
6
+ require('../chunk-KWLSBTB2.cjs');
7
+
8
+
9
+ exports.CountBadge = _chunkVGTINL5Qcjs.CountBadge;
@@ -0,0 +1,21 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { BadgeProps } from './badge.cjs';
3
+ import 'class-variance-authority/types';
4
+ import 'class-variance-authority';
5
+ import 'react';
6
+
7
+ interface CountBadgeProps extends Omit<BadgeProps, "as" | "children" | "size" | "shrink"> {
8
+ /** Theme colour. Defaults to destructive; use secondary for neutral totals. */
9
+ variant?: BadgeProps["variant"];
10
+ /** Number or compact count label, for example `12`, `9+`, or `…`. */
11
+ value: number | string;
12
+ }
13
+ /**
14
+ * Compact numeric status badge with stable geometry.
15
+ *
16
+ * A single character is a true 20px circle. Longer values grow horizontally
17
+ * while retaining a 20px height, centred text, and tabular numerals.
18
+ */
19
+ declare function CountBadge({ value, variant, className, ...props }: CountBadgeProps): react_jsx_runtime.JSX.Element;
20
+
21
+ export { CountBadge, type CountBadgeProps };
@@ -0,0 +1,21 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { BadgeProps } from './badge.js';
3
+ import 'class-variance-authority/types';
4
+ import 'class-variance-authority';
5
+ import 'react';
6
+
7
+ interface CountBadgeProps extends Omit<BadgeProps, "as" | "children" | "size" | "shrink"> {
8
+ /** Theme colour. Defaults to destructive; use secondary for neutral totals. */
9
+ variant?: BadgeProps["variant"];
10
+ /** Number or compact count label, for example `12`, `9+`, or `…`. */
11
+ value: number | string;
12
+ }
13
+ /**
14
+ * Compact numeric status badge with stable geometry.
15
+ *
16
+ * A single character is a true 20px circle. Longer values grow horizontally
17
+ * while retaining a 20px height, centred text, and tabular numerals.
18
+ */
19
+ declare function CountBadge({ value, variant, className, ...props }: CountBadgeProps): react_jsx_runtime.JSX.Element;
20
+
21
+ export { CountBadge, type CountBadgeProps };
@@ -0,0 +1,9 @@
1
+ "use client";
2
+ import {
3
+ CountBadge
4
+ } from "../chunk-H7TETFLB.js";
5
+ import "../chunk-D4ZL2OEQ.js";
6
+ import "../chunk-G6SRSWXB.js";
7
+ export {
8
+ CountBadge
9
+ };
@@ -0,0 +1,66 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
+ "use client";
3
+
4
+
5
+ var _chunkRSFEKQDRcjs = require('../chunk-RSFEKQDR.cjs');
6
+
7
+
8
+ var _chunkL4DH72UFcjs = require('../chunk-L4DH72UF.cjs');
9
+
10
+
11
+ var _chunkKWLSBTB2cjs = require('../chunk-KWLSBTB2.cjs');
12
+
13
+ // src/primitives/decision-actions.tsx
14
+ var _jsxruntime = require('react/jsx-runtime');
15
+ function DecisionActions({
16
+ options,
17
+ value,
18
+ onChange,
19
+ disabled = false,
20
+ ariaLabel = "Decision",
21
+ trailing,
22
+ layout = "inline"
23
+ }) {
24
+ const fill = layout === "fill";
25
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
26
+ _chunkRSFEKQDRcjs.Stack,
27
+ {
28
+ direction: "horizontal",
29
+ gap: "sm",
30
+ align: "center",
31
+ wrap: !fill,
32
+ grow: fill,
33
+ width: fill ? "full" : "auto",
34
+ role: "group",
35
+ "aria-label": ariaLabel,
36
+ children: [
37
+ options.map((option) => {
38
+ const selected = option.value === value;
39
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
40
+ _chunkL4DH72UFcjs.Button,
41
+ {
42
+ type: "button",
43
+ size: "compact",
44
+ grow: fill,
45
+ className: _chunkKWLSBTB2cjs.cn.call(void 0,
46
+ "h-auto",
47
+ fill ? "min-h-11 px-5 py-2.5" : "px-4 py-2",
48
+ selected && "border border-transparent"
49
+ ),
50
+ variant: selected ? "default" : "outline",
51
+ disabled,
52
+ "aria-pressed": selected,
53
+ onClick: () => onChange(option.value),
54
+ children: option.label
55
+ },
56
+ option.value
57
+ );
58
+ }),
59
+ trailing
60
+ ]
61
+ }
62
+ );
63
+ }
64
+
65
+
66
+ exports.DecisionActions = DecisionActions;
@@ -0,0 +1,31 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode } from 'react';
3
+
4
+ interface DecisionActionOption<TValue extends string = string> {
5
+ value: TValue;
6
+ label: ReactNode;
7
+ }
8
+ interface DecisionActionsProps<TValue extends string = string> {
9
+ options: readonly DecisionActionOption<TValue>[];
10
+ value?: TValue;
11
+ onChange: (value: TValue) => void;
12
+ disabled?: boolean;
13
+ ariaLabel?: string;
14
+ trailing?: ReactNode;
15
+ /**
16
+ * `inline` keeps a compact cluster. `fill` gives every decision equal space
17
+ * inside a persistent action bar without increasing the label typography.
18
+ */
19
+ layout?: "inline" | "fill";
20
+ }
21
+ /**
22
+ * Roomy, reusable controls for choosing a review disposition.
23
+ *
24
+ * These keep the compact label typography and visual scale while increasing
25
+ * only the inset between the label and its border. Keeping that distinction
26
+ * here prevents products from conflating a padding request with rescaling the
27
+ * entire control.
28
+ */
29
+ declare function DecisionActions<TValue extends string>({ options, value, onChange, disabled, ariaLabel, trailing, layout, }: DecisionActionsProps<TValue>): react_jsx_runtime.JSX.Element;
30
+
31
+ export { type DecisionActionOption, DecisionActions, type DecisionActionsProps };
@@ -0,0 +1,31 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode } from 'react';
3
+
4
+ interface DecisionActionOption<TValue extends string = string> {
5
+ value: TValue;
6
+ label: ReactNode;
7
+ }
8
+ interface DecisionActionsProps<TValue extends string = string> {
9
+ options: readonly DecisionActionOption<TValue>[];
10
+ value?: TValue;
11
+ onChange: (value: TValue) => void;
12
+ disabled?: boolean;
13
+ ariaLabel?: string;
14
+ trailing?: ReactNode;
15
+ /**
16
+ * `inline` keeps a compact cluster. `fill` gives every decision equal space
17
+ * inside a persistent action bar without increasing the label typography.
18
+ */
19
+ layout?: "inline" | "fill";
20
+ }
21
+ /**
22
+ * Roomy, reusable controls for choosing a review disposition.
23
+ *
24
+ * These keep the compact label typography and visual scale while increasing
25
+ * only the inset between the label and its border. Keeping that distinction
26
+ * here prevents products from conflating a padding request with rescaling the
27
+ * entire control.
28
+ */
29
+ declare function DecisionActions<TValue extends string>({ options, value, onChange, disabled, ariaLabel, trailing, layout, }: DecisionActionsProps<TValue>): react_jsx_runtime.JSX.Element;
30
+
31
+ export { type DecisionActionOption, DecisionActions, type DecisionActionsProps };
@@ -0,0 +1,66 @@
1
+ "use client";
2
+ "use client";
3
+ import {
4
+ Stack
5
+ } from "../chunk-6RVPQGYS.js";
6
+ import {
7
+ Button
8
+ } from "../chunk-HQRWRRZJ.js";
9
+ import {
10
+ cn
11
+ } from "../chunk-G6SRSWXB.js";
12
+
13
+ // src/primitives/decision-actions.tsx
14
+ import { jsx, jsxs } from "react/jsx-runtime";
15
+ function DecisionActions({
16
+ options,
17
+ value,
18
+ onChange,
19
+ disabled = false,
20
+ ariaLabel = "Decision",
21
+ trailing,
22
+ layout = "inline"
23
+ }) {
24
+ const fill = layout === "fill";
25
+ return /* @__PURE__ */ jsxs(
26
+ Stack,
27
+ {
28
+ direction: "horizontal",
29
+ gap: "sm",
30
+ align: "center",
31
+ wrap: !fill,
32
+ grow: fill,
33
+ width: fill ? "full" : "auto",
34
+ role: "group",
35
+ "aria-label": ariaLabel,
36
+ children: [
37
+ options.map((option) => {
38
+ const selected = option.value === value;
39
+ return /* @__PURE__ */ jsx(
40
+ Button,
41
+ {
42
+ type: "button",
43
+ size: "compact",
44
+ grow: fill,
45
+ className: cn(
46
+ "h-auto",
47
+ fill ? "min-h-11 px-5 py-2.5" : "px-4 py-2",
48
+ selected && "border border-transparent"
49
+ ),
50
+ variant: selected ? "default" : "outline",
51
+ disabled,
52
+ "aria-pressed": selected,
53
+ onClick: () => onChange(option.value),
54
+ children: option.label
55
+ },
56
+ option.value
57
+ );
58
+ }),
59
+ trailing
60
+ ]
61
+ }
62
+ );
63
+ }
64
+ export {
65
+ DecisionActions
66
+ };
@@ -0,0 +1,65 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
+
3
+
4
+ var _chunkKWLSBTB2cjs = require('../chunk-KWLSBTB2.cjs');
5
+
6
+ // src/primitives/definition-list.tsx
7
+ var _react = require('react');
8
+ var _classvarianceauthority = require('class-variance-authority');
9
+ var _jsxruntime = require('react/jsx-runtime');
10
+ var definitionListVariants = _classvarianceauthority.cva.call(void 0, "", {
11
+ variants: {
12
+ variant: {
13
+ divided: "divide-y",
14
+ plain: "space-y-1"
15
+ }
16
+ },
17
+ defaultVariants: {
18
+ variant: "divided"
19
+ }
20
+ });
21
+ var DefinitionList = _react.forwardRef.call(void 0,
22
+ function DefinitionList2({ variant, inset = "none", className, ...rest }, ref) {
23
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24
+ "dl",
25
+ {
26
+ ref,
27
+ className: _chunkKWLSBTB2cjs.cn.call(void 0, definitionListVariants({ variant }), inset === "lg" && "px-5", className),
28
+ ...rest
29
+ }
30
+ );
31
+ }
32
+ );
33
+ function DefinitionItem({
34
+ label,
35
+ children,
36
+ valueClassName,
37
+ className
38
+ }) {
39
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
40
+ "div",
41
+ {
42
+ className: _chunkKWLSBTB2cjs.cn.call(void 0,
43
+ "flex items-baseline justify-between gap-2 py-2.5 text-sm",
44
+ className
45
+ ),
46
+ children: [
47
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "dt", { className: "text-muted-foreground", children: label }),
48
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
49
+ "dd",
50
+ {
51
+ className: _chunkKWLSBTB2cjs.cn.call(void 0,
52
+ "text-right font-medium text-foreground/90 max-w-[60%] break-words",
53
+ valueClassName
54
+ ),
55
+ children
56
+ }
57
+ )
58
+ ]
59
+ }
60
+ );
61
+ }
62
+
63
+
64
+
65
+ exports.DefinitionItem = DefinitionItem; exports.DefinitionList = DefinitionList;
@@ -0,0 +1,23 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import { ReactNode, HTMLAttributes } from 'react';
4
+ import * as class_variance_authority_types from 'class-variance-authority/types';
5
+ import { VariantProps } from 'class-variance-authority';
6
+
7
+ declare const definitionListVariants: (props?: ({
8
+ variant?: "plain" | "divided" | null | undefined;
9
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
10
+ interface DefinitionListProps extends HTMLAttributes<HTMLDListElement>, VariantProps<typeof definitionListVariants> {
11
+ inset?: "none" | "lg";
12
+ }
13
+ declare const DefinitionList: React.ForwardRefExoticComponent<DefinitionListProps & React.RefAttributes<HTMLDListElement>>;
14
+ interface DefinitionItemProps {
15
+ label: ReactNode;
16
+ children: ReactNode;
17
+ /** Width-bound the value so long strings wrap rather than push the label. */
18
+ valueClassName?: string;
19
+ className?: string;
20
+ }
21
+ declare function DefinitionItem({ label, children, valueClassName, className, }: DefinitionItemProps): react_jsx_runtime.JSX.Element;
22
+
23
+ export { DefinitionItem, type DefinitionItemProps, DefinitionList, type DefinitionListProps };