@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,49 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
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 PageHeaderAction {
8
+ /** Stable identity used when rendering the action in both layouts. */
9
+ id: string;
10
+ label: ReactNode;
11
+ icon?: ReactNode;
12
+ onSelect?: () => void;
13
+ /** Optional nested actions. Desktop renders a menu button; mobile nests it inside Actions. */
14
+ items?: PageHeaderAction[];
15
+ /** Optional supporting copy shown when the action appears in a menu. */
16
+ description?: ReactNode;
17
+ disabled?: boolean;
18
+ /** Button treatment used in the expanded desktop layout. */
19
+ variant?: ButtonProps["variant"];
20
+ /**
21
+ * Visual hierarchy in the expanded desktop layout. Primary actions are
22
+ * always placed at the far right. When omitted, hierarchy is inferred from
23
+ * the button variant.
24
+ */
25
+ priority?: "primary" | "secondary" | "tertiary";
26
+ /** Semantic treatment used in the collapsed mobile menu. */
27
+ tone?: "default" | "muted" | "destructive";
28
+ /** Visually separates destructive or lower-priority actions in the menu. */
29
+ separatorBefore?: boolean;
30
+ title?: string;
31
+ }
32
+ interface PageHeaderActionsProps {
33
+ actions: PageHeaderAction[];
34
+ /** Visible label for the collapsed mobile trigger. */
35
+ mobileLabel?: ReactNode;
36
+ /** Accessible label when `mobileLabel` is not plain text. */
37
+ mobileAriaLabel?: string;
38
+ className?: string;
39
+ }
40
+ /**
41
+ * Responsive action cluster designed for `PageHeader`.
42
+ *
43
+ * Desktop keeps every action visible for fast scanning. Mobile collapses the
44
+ * same action definitions into one menu so page titles retain useful space.
45
+ * Status and other non-interactive metadata should remain beside the title.
46
+ */
47
+ declare function PageHeaderActions({ actions, mobileLabel, mobileAriaLabel, className, }: PageHeaderActionsProps): react_jsx_runtime.JSX.Element | null;
48
+
49
+ export { type PageHeaderAction, PageHeaderActions, type PageHeaderActionsProps };
@@ -0,0 +1,11 @@
1
+ "use client";
2
+ "use client";
3
+ import {
4
+ PageHeaderActions
5
+ } from "../chunk-QNZYQLNP.js";
6
+ import "../chunk-V4LE2HWP.js";
7
+ import "../chunk-HQRWRRZJ.js";
8
+ import "../chunk-G6SRSWXB.js";
9
+ export {
10
+ PageHeaderActions
11
+ };
@@ -0,0 +1,72 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
+
3
+
4
+ var _chunkKWLSBTB2cjs = require('../chunk-KWLSBTB2.cjs');
5
+
6
+ // src/primitives/page-header.tsx
7
+ var _jsxruntime = require('react/jsx-runtime');
8
+ function PageHeader({
9
+ eyebrow,
10
+ title,
11
+ description,
12
+ children,
13
+ size = "default",
14
+ actionsLayout = "inline",
15
+ spacing = "default",
16
+ responsiveVisibility = "always",
17
+ className
18
+ }) {
19
+ const display = size === "display";
20
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
21
+ "div",
22
+ {
23
+ className: _chunkKWLSBTB2cjs.cn.call(void 0,
24
+ "flex items-start justify-between gap-4",
25
+ spacing === "default" && (display ? "mb-8 md:mb-10" : "mb-6"),
26
+ spacing === "compact" && "mb-4",
27
+ display && "flex-col gap-6 sm:flex-row sm:gap-4",
28
+ actionsLayout === "responsive" && "flex-wrap gap-y-3 [&>div:last-child]:w-full [&>div:last-child]:justify-end sm:[&>div:last-child]:w-auto",
29
+ responsiveVisibility === "desktop" && "hidden md:flex",
30
+ className
31
+ ),
32
+ children: [
33
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkKWLSBTB2cjs.cn.call(void 0, "min-w-0 flex-1", display ? "space-y-2" : "space-y-1.5"), children: [
34
+ eyebrow && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-mono text-xs uppercase tracking-widest text-muted-foreground", children: eyebrow }),
35
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36
+ "h1",
37
+ {
38
+ className: _chunkKWLSBTB2cjs.cn.call(void 0,
39
+ "font-semibold tracking-tight",
40
+ size === "display" ? "text-4xl leading-none md:text-6xl md:leading-none" : "text-2xl md:text-3xl"
41
+ ),
42
+ children: title
43
+ }
44
+ ),
45
+ description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46
+ "p",
47
+ {
48
+ className: _chunkKWLSBTB2cjs.cn.call(void 0,
49
+ "max-w-[72ch] text-muted-foreground",
50
+ size === "display" ? "text-base md:text-lg" : "text-sm"
51
+ ),
52
+ children: description
53
+ }
54
+ )
55
+ ] }),
56
+ children && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
57
+ "div",
58
+ {
59
+ className: _chunkKWLSBTB2cjs.cn.call(void 0,
60
+ "flex shrink-0 items-center gap-2",
61
+ size === "display" ? "w-full flex-wrap sm:mt-0.5 sm:w-auto sm:flex-nowrap md:mt-1" : "mt-1"
62
+ ),
63
+ children
64
+ }
65
+ )
66
+ ]
67
+ }
68
+ );
69
+ }
70
+
71
+
72
+ exports.PageHeader = PageHeader;
@@ -0,0 +1,40 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode } from 'react';
3
+
4
+ interface PageHeaderProps {
5
+ eyebrow?: ReactNode;
6
+ title: ReactNode;
7
+ description?: ReactNode;
8
+ /**
9
+ * Action area on the right — typically a primary CTA ("New event")
10
+ * or a small cluster of secondary controls.
11
+ */
12
+ children?: ReactNode;
13
+ /**
14
+ * Visual scale. `display` gives index and overview pages an editorial
15
+ * anchor without changing the compact default used by existing apps.
16
+ */
17
+ size?: "default" | "display";
18
+ className?: string;
19
+ actionsLayout?: "inline" | "responsive";
20
+ spacing?: "default" | "compact" | "none";
21
+ /** Hide the page-level header when `AppLayout` already supplies mobile context. */
22
+ responsiveVisibility?: "always" | "desktop";
23
+ }
24
+ /**
25
+ * Page-level heading used at the top of every dashboard route.
26
+ *
27
+ * Typography (page-level, deliberately a step heavier than section
28
+ * headings):
29
+ * - title: text-2xl on mobile, text-3xl on desktop, semibold
30
+ * - eyebrow: small mono uppercase, used for breadcrumb-style context
31
+ * ("client · session 2", "overview")
32
+ * - description: text-sm muted, capped at 72ch for readability
33
+ *
34
+ * Layout: the compact default remains a single row. The opt-in display
35
+ * scale stacks actions on narrow screens so the larger heading keeps its
36
+ * intended measure, then returns them to the right on larger viewports.
37
+ */
38
+ declare function PageHeader({ eyebrow, title, description, children, size, actionsLayout, spacing, responsiveVisibility, className, }: PageHeaderProps): react_jsx_runtime.JSX.Element;
39
+
40
+ export { PageHeader };
@@ -0,0 +1,40 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode } from 'react';
3
+
4
+ interface PageHeaderProps {
5
+ eyebrow?: ReactNode;
6
+ title: ReactNode;
7
+ description?: ReactNode;
8
+ /**
9
+ * Action area on the right — typically a primary CTA ("New event")
10
+ * or a small cluster of secondary controls.
11
+ */
12
+ children?: ReactNode;
13
+ /**
14
+ * Visual scale. `display` gives index and overview pages an editorial
15
+ * anchor without changing the compact default used by existing apps.
16
+ */
17
+ size?: "default" | "display";
18
+ className?: string;
19
+ actionsLayout?: "inline" | "responsive";
20
+ spacing?: "default" | "compact" | "none";
21
+ /** Hide the page-level header when `AppLayout` already supplies mobile context. */
22
+ responsiveVisibility?: "always" | "desktop";
23
+ }
24
+ /**
25
+ * Page-level heading used at the top of every dashboard route.
26
+ *
27
+ * Typography (page-level, deliberately a step heavier than section
28
+ * headings):
29
+ * - title: text-2xl on mobile, text-3xl on desktop, semibold
30
+ * - eyebrow: small mono uppercase, used for breadcrumb-style context
31
+ * ("client · session 2", "overview")
32
+ * - description: text-sm muted, capped at 72ch for readability
33
+ *
34
+ * Layout: the compact default remains a single row. The opt-in display
35
+ * scale stacks actions on narrow screens so the larger heading keeps its
36
+ * intended measure, then returns them to the right on larger viewports.
37
+ */
38
+ declare function PageHeader({ eyebrow, title, description, children, size, actionsLayout, spacing, responsiveVisibility, className, }: PageHeaderProps): react_jsx_runtime.JSX.Element;
39
+
40
+ export { PageHeader };
@@ -0,0 +1,72 @@
1
+ "use client";
2
+ import {
3
+ cn
4
+ } from "../chunk-G6SRSWXB.js";
5
+
6
+ // src/primitives/page-header.tsx
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ function PageHeader({
9
+ eyebrow,
10
+ title,
11
+ description,
12
+ children,
13
+ size = "default",
14
+ actionsLayout = "inline",
15
+ spacing = "default",
16
+ responsiveVisibility = "always",
17
+ className
18
+ }) {
19
+ const display = size === "display";
20
+ return /* @__PURE__ */ jsxs(
21
+ "div",
22
+ {
23
+ className: cn(
24
+ "flex items-start justify-between gap-4",
25
+ spacing === "default" && (display ? "mb-8 md:mb-10" : "mb-6"),
26
+ spacing === "compact" && "mb-4",
27
+ display && "flex-col gap-6 sm:flex-row sm:gap-4",
28
+ actionsLayout === "responsive" && "flex-wrap gap-y-3 [&>div:last-child]:w-full [&>div:last-child]:justify-end sm:[&>div:last-child]:w-auto",
29
+ responsiveVisibility === "desktop" && "hidden md:flex",
30
+ className
31
+ ),
32
+ children: [
33
+ /* @__PURE__ */ jsxs("div", { className: cn("min-w-0 flex-1", display ? "space-y-2" : "space-y-1.5"), children: [
34
+ eyebrow && /* @__PURE__ */ jsx("p", { className: "font-mono text-xs uppercase tracking-widest text-muted-foreground", children: eyebrow }),
35
+ /* @__PURE__ */ jsx(
36
+ "h1",
37
+ {
38
+ className: cn(
39
+ "font-semibold tracking-tight",
40
+ size === "display" ? "text-4xl leading-none md:text-6xl md:leading-none" : "text-2xl md:text-3xl"
41
+ ),
42
+ children: title
43
+ }
44
+ ),
45
+ description && /* @__PURE__ */ jsx(
46
+ "p",
47
+ {
48
+ className: cn(
49
+ "max-w-[72ch] text-muted-foreground",
50
+ size === "display" ? "text-base md:text-lg" : "text-sm"
51
+ ),
52
+ children: description
53
+ }
54
+ )
55
+ ] }),
56
+ children && /* @__PURE__ */ jsx(
57
+ "div",
58
+ {
59
+ className: cn(
60
+ "flex shrink-0 items-center gap-2",
61
+ size === "display" ? "w-full flex-wrap sm:mt-0.5 sm:w-auto sm:flex-nowrap md:mt-1" : "mt-1"
62
+ ),
63
+ children
64
+ }
65
+ )
66
+ ]
67
+ }
68
+ );
69
+ }
70
+ export {
71
+ PageHeader
72
+ };
@@ -0,0 +1,46 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
+
3
+
4
+ var _chunkKWLSBTB2cjs = require('../chunk-KWLSBTB2.cjs');
5
+
6
+ // src/primitives/page-shell.tsx
7
+ var _react = require('react');
8
+ var _jsxruntime = require('react/jsx-runtime');
9
+ var widthStyles = {
10
+ narrow: "max-w-3xl",
11
+ wide: "max-w-5xl",
12
+ full: "max-w-none"
13
+ };
14
+ var paddingStyles = {
15
+ none: "",
16
+ base: "px-4 md:px-6",
17
+ relaxed: "px-6 md:px-10",
18
+ spacious: "px-6 md:px-10 xl:px-16"
19
+ };
20
+ var PageShell = _react.forwardRef.call(void 0,
21
+ function PageShell2({ width = "full", padding = "base", spacing = "default", bottomInset = "default", minHeight = "none", align = "start", printMode = "default", mobileTreatment = "page", as = "main", className, ...props }, ref) {
22
+ const Tag = as;
23
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24
+ Tag,
25
+ {
26
+ ref,
27
+ className: _chunkKWLSBTB2cjs.cn.call(void 0,
28
+ "mx-auto w-full pt-6 md:pt-8 mb-28",
29
+ spacing === "default" ? "space-y-6" : "space-y-4",
30
+ widthStyles[width],
31
+ paddingStyles[padding],
32
+ bottomInset === "action" && "pb-32",
33
+ minHeight === "content" && "min-h-[70vh]",
34
+ align === "center" && "flex items-center",
35
+ printMode === "compact" && "print:my-0 print:pt-0",
36
+ mobileTreatment === "application" && "mb-0 flex min-h-[calc(100svh-4rem)] flex-1 flex-col space-y-0 px-0 pt-0 md:mb-28 md:block md:min-h-0 md:pt-8",
37
+ className
38
+ ),
39
+ ...props
40
+ }
41
+ );
42
+ }
43
+ );
44
+
45
+
46
+ exports.PageShell = PageShell;
@@ -0,0 +1,44 @@
1
+ import * as React from 'react';
2
+ import { HTMLAttributes } from 'react';
3
+
4
+ /**
5
+ * PageShell — outer wrapper for every dashboard route.
6
+ *
7
+ * Controls two independent concerns:
8
+ * - **width**: how wide the content column stretches.
9
+ * `"full"` (default) fills whatever parent constrains it —
10
+ * when nested inside `DashboardShell` that means the shell's
11
+ * column width, so you don't double-constrain.
12
+ * - **padding**: horizontal inset. Set once per app for consistency
13
+ * across all pages — every page in an app should use the same
14
+ * level. `"base"` (default) is compact (px-4 → px-6 at md).
15
+ * `"relaxed"` adds more breathing room (px-6 → px-10 at md).
16
+ *
17
+ * Vertical rhythm (`py-6 md:py-8`) and section gap (`space-y-6`)
18
+ * are always included.
19
+ */
20
+ type PageShellWidth = "narrow" | "wide" | "full";
21
+ type PageShellPadding = "none" | "base" | "relaxed" | "spacious";
22
+ interface PageShellProps extends HTMLAttributes<HTMLElement> {
23
+ width?: PageShellWidth;
24
+ /**
25
+ * Horizontal padding level. Set per-app for consistency — every
26
+ * page should use the same value. Defaults to `"base"`.
27
+ */
28
+ padding?: PageShellPadding;
29
+ /** Override the rendered tag (default <main>). */
30
+ as?: "main" | "div" | "section" | "article";
31
+ spacing?: "default" | "compact";
32
+ bottomInset?: "default" | "action";
33
+ minHeight?: "none" | "content";
34
+ align?: "start" | "center";
35
+ printMode?: "default" | "compact";
36
+ /**
37
+ * Let a mobile-first workspace own the viewport below `AppLayout`'s
38
+ * header. Desktop keeps the normal page rhythm and configured padding.
39
+ */
40
+ mobileTreatment?: "page" | "application";
41
+ }
42
+ declare const PageShell: React.ForwardRefExoticComponent<PageShellProps & React.RefAttributes<HTMLElement>>;
43
+
44
+ export { PageShell };
@@ -0,0 +1,44 @@
1
+ import * as React from 'react';
2
+ import { HTMLAttributes } from 'react';
3
+
4
+ /**
5
+ * PageShell — outer wrapper for every dashboard route.
6
+ *
7
+ * Controls two independent concerns:
8
+ * - **width**: how wide the content column stretches.
9
+ * `"full"` (default) fills whatever parent constrains it —
10
+ * when nested inside `DashboardShell` that means the shell's
11
+ * column width, so you don't double-constrain.
12
+ * - **padding**: horizontal inset. Set once per app for consistency
13
+ * across all pages — every page in an app should use the same
14
+ * level. `"base"` (default) is compact (px-4 → px-6 at md).
15
+ * `"relaxed"` adds more breathing room (px-6 → px-10 at md).
16
+ *
17
+ * Vertical rhythm (`py-6 md:py-8`) and section gap (`space-y-6`)
18
+ * are always included.
19
+ */
20
+ type PageShellWidth = "narrow" | "wide" | "full";
21
+ type PageShellPadding = "none" | "base" | "relaxed" | "spacious";
22
+ interface PageShellProps extends HTMLAttributes<HTMLElement> {
23
+ width?: PageShellWidth;
24
+ /**
25
+ * Horizontal padding level. Set per-app for consistency — every
26
+ * page should use the same value. Defaults to `"base"`.
27
+ */
28
+ padding?: PageShellPadding;
29
+ /** Override the rendered tag (default <main>). */
30
+ as?: "main" | "div" | "section" | "article";
31
+ spacing?: "default" | "compact";
32
+ bottomInset?: "default" | "action";
33
+ minHeight?: "none" | "content";
34
+ align?: "start" | "center";
35
+ printMode?: "default" | "compact";
36
+ /**
37
+ * Let a mobile-first workspace own the viewport below `AppLayout`'s
38
+ * header. Desktop keeps the normal page rhythm and configured padding.
39
+ */
40
+ mobileTreatment?: "page" | "application";
41
+ }
42
+ declare const PageShell: React.ForwardRefExoticComponent<PageShellProps & React.RefAttributes<HTMLElement>>;
43
+
44
+ export { PageShell };
@@ -0,0 +1,46 @@
1
+ "use client";
2
+ import {
3
+ cn
4
+ } from "../chunk-G6SRSWXB.js";
5
+
6
+ // src/primitives/page-shell.tsx
7
+ import { forwardRef } from "react";
8
+ import { jsx } from "react/jsx-runtime";
9
+ var widthStyles = {
10
+ narrow: "max-w-3xl",
11
+ wide: "max-w-5xl",
12
+ full: "max-w-none"
13
+ };
14
+ var paddingStyles = {
15
+ none: "",
16
+ base: "px-4 md:px-6",
17
+ relaxed: "px-6 md:px-10",
18
+ spacious: "px-6 md:px-10 xl:px-16"
19
+ };
20
+ var PageShell = forwardRef(
21
+ function PageShell2({ width = "full", padding = "base", spacing = "default", bottomInset = "default", minHeight = "none", align = "start", printMode = "default", mobileTreatment = "page", as = "main", className, ...props }, ref) {
22
+ const Tag = as;
23
+ return /* @__PURE__ */ jsx(
24
+ Tag,
25
+ {
26
+ ref,
27
+ className: cn(
28
+ "mx-auto w-full pt-6 md:pt-8 mb-28",
29
+ spacing === "default" ? "space-y-6" : "space-y-4",
30
+ widthStyles[width],
31
+ paddingStyles[padding],
32
+ bottomInset === "action" && "pb-32",
33
+ minHeight === "content" && "min-h-[70vh]",
34
+ align === "center" && "flex items-center",
35
+ printMode === "compact" && "print:my-0 print:pt-0",
36
+ mobileTreatment === "application" && "mb-0 flex min-h-[calc(100svh-4rem)] flex-1 flex-col space-y-0 px-0 pt-0 md:mb-28 md:block md:min-h-0 md:pt-8",
37
+ className
38
+ ),
39
+ ...props
40
+ }
41
+ );
42
+ }
43
+ );
44
+ export {
45
+ PageShell
46
+ };
@@ -0,0 +1,63 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
+ "use client";
3
+
4
+
5
+
6
+
7
+ var _chunkDFB4ILN6cjs = require('../chunk-DFB4ILN6.cjs');
8
+
9
+
10
+ var _chunkKWLSBTB2cjs = require('../chunk-KWLSBTB2.cjs');
11
+
12
+ // src/primitives/page-tabs.tsx
13
+ var _jsxruntime = require('react/jsx-runtime');
14
+ function PageTabs({
15
+ value,
16
+ onValueChange,
17
+ items,
18
+ ariaLabel,
19
+ layout = "equal",
20
+ className
21
+ }) {
22
+ if (items.length === 0) return null;
23
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24
+ _chunkDFB4ILN6cjs.Tabs,
25
+ {
26
+ value,
27
+ onValueChange: (next) => onValueChange(next),
28
+ className,
29
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30
+ _chunkDFB4ILN6cjs.TabsList,
31
+ {
32
+ "aria-label": ariaLabel,
33
+ scrollable: layout === "scroll",
34
+ width: "full",
35
+ className: _chunkKWLSBTB2cjs.cn.call(void 0,
36
+ "w-full",
37
+ layout === "equal" ? "grid h-auto p-1.5" : "justify-start"
38
+ ),
39
+ style: layout === "equal" ? { gridTemplateColumns: `repeat(${items.length}, minmax(0, 1fr))` } : void 0,
40
+ children: items.map((item) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
41
+ _chunkDFB4ILN6cjs.TabsTrigger,
42
+ {
43
+ value: item.value,
44
+ className: _chunkKWLSBTB2cjs.cn.call(void 0,
45
+ layout === "equal" && "min-h-11 gap-2 text-sm sm:text-base",
46
+ layout === "scroll" && "shrink-0 gap-2"
47
+ ),
48
+ children: [
49
+ item.icon,
50
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: item.label }),
51
+ item.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: item.badge })
52
+ ]
53
+ },
54
+ item.value
55
+ ))
56
+ }
57
+ )
58
+ }
59
+ );
60
+ }
61
+
62
+
63
+ exports.PageTabs = PageTabs;
@@ -0,0 +1,28 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode } from 'react';
3
+
4
+ interface PageTabItem<TValue extends string = string> {
5
+ value: TValue;
6
+ label: ReactNode;
7
+ icon?: ReactNode;
8
+ badge?: ReactNode;
9
+ }
10
+ interface PageTabsProps<TValue extends string = string> {
11
+ value: TValue;
12
+ onValueChange: (value: TValue) => void;
13
+ items: PageTabItem<TValue>[];
14
+ ariaLabel: string;
15
+ /** Equal-width sibling views by default; `scroll` keeps larger sets readable. */
16
+ layout?: "equal" | "scroll";
17
+ className?: string;
18
+ }
19
+ /**
20
+ * Full-width secondary navigation for switching sibling page views.
21
+ *
22
+ * Unlike compact `Tabs`, this deliberately owns the whole content width and
23
+ * gives each destination an equal, touch-friendly target. Route handling is
24
+ * consumer-owned through `onValueChange`, keeping the primitive router-agnostic.
25
+ */
26
+ declare function PageTabs<TValue extends string = string>({ value, onValueChange, items, ariaLabel, layout, className, }: PageTabsProps<TValue>): react_jsx_runtime.JSX.Element | null;
27
+
28
+ export { type PageTabItem, PageTabs, type PageTabsProps };
@@ -0,0 +1,28 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode } from 'react';
3
+
4
+ interface PageTabItem<TValue extends string = string> {
5
+ value: TValue;
6
+ label: ReactNode;
7
+ icon?: ReactNode;
8
+ badge?: ReactNode;
9
+ }
10
+ interface PageTabsProps<TValue extends string = string> {
11
+ value: TValue;
12
+ onValueChange: (value: TValue) => void;
13
+ items: PageTabItem<TValue>[];
14
+ ariaLabel: string;
15
+ /** Equal-width sibling views by default; `scroll` keeps larger sets readable. */
16
+ layout?: "equal" | "scroll";
17
+ className?: string;
18
+ }
19
+ /**
20
+ * Full-width secondary navigation for switching sibling page views.
21
+ *
22
+ * Unlike compact `Tabs`, this deliberately owns the whole content width and
23
+ * gives each destination an equal, touch-friendly target. Route handling is
24
+ * consumer-owned through `onValueChange`, keeping the primitive router-agnostic.
25
+ */
26
+ declare function PageTabs<TValue extends string = string>({ value, onValueChange, items, ariaLabel, layout, className, }: PageTabsProps<TValue>): react_jsx_runtime.JSX.Element | null;
27
+
28
+ export { type PageTabItem, PageTabs, type PageTabsProps };
@@ -0,0 +1,63 @@
1
+ "use client";
2
+ "use client";
3
+ import {
4
+ Tabs,
5
+ TabsList,
6
+ TabsTrigger
7
+ } from "../chunk-7CRDYV3C.js";
8
+ import {
9
+ cn
10
+ } from "../chunk-G6SRSWXB.js";
11
+
12
+ // src/primitives/page-tabs.tsx
13
+ import { jsx, jsxs } from "react/jsx-runtime";
14
+ function PageTabs({
15
+ value,
16
+ onValueChange,
17
+ items,
18
+ ariaLabel,
19
+ layout = "equal",
20
+ className
21
+ }) {
22
+ if (items.length === 0) return null;
23
+ return /* @__PURE__ */ jsx(
24
+ Tabs,
25
+ {
26
+ value,
27
+ onValueChange: (next) => onValueChange(next),
28
+ className,
29
+ children: /* @__PURE__ */ jsx(
30
+ TabsList,
31
+ {
32
+ "aria-label": ariaLabel,
33
+ scrollable: layout === "scroll",
34
+ width: "full",
35
+ className: cn(
36
+ "w-full",
37
+ layout === "equal" ? "grid h-auto p-1.5" : "justify-start"
38
+ ),
39
+ style: layout === "equal" ? { gridTemplateColumns: `repeat(${items.length}, minmax(0, 1fr))` } : void 0,
40
+ children: items.map((item) => /* @__PURE__ */ jsxs(
41
+ TabsTrigger,
42
+ {
43
+ value: item.value,
44
+ className: cn(
45
+ layout === "equal" && "min-h-11 gap-2 text-sm sm:text-base",
46
+ layout === "scroll" && "shrink-0 gap-2"
47
+ ),
48
+ children: [
49
+ item.icon,
50
+ /* @__PURE__ */ jsx("span", { className: "truncate", children: item.label }),
51
+ item.badge && /* @__PURE__ */ jsx("span", { className: "shrink-0", children: item.badge })
52
+ ]
53
+ },
54
+ item.value
55
+ ))
56
+ }
57
+ )
58
+ }
59
+ );
60
+ }
61
+ export {
62
+ PageTabs
63
+ };