@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.
- package/LICENSE +21 -0
- package/README.md +71 -2
- package/THIRD_PARTY_NOTICES.md +47 -0
- package/dist/chunk-23UMHZ4S.cjs +124 -0
- package/dist/chunk-2BHI5ZWJ.cjs +117 -0
- package/dist/chunk-2HTYXBDU.cjs +34 -0
- package/dist/chunk-2XDFTB2W.cjs +35 -0
- package/dist/chunk-35YMAIEL.js +135 -0
- package/dist/chunk-373W6VAD.cjs +82 -0
- package/dist/chunk-3BZ4CQHW.js +94 -0
- package/dist/chunk-3OWGL4Q2.js +65 -0
- package/dist/chunk-3QT5VYZ3.js +141 -0
- package/dist/chunk-4HWCNRK4.js +117 -0
- package/dist/chunk-4LXN6GLZ.cjs +44 -0
- package/dist/chunk-4NN7EA3W.js +222 -0
- package/dist/chunk-62UTAG2C.js +152 -0
- package/dist/chunk-667ZCM4X.cjs +72 -0
- package/dist/chunk-6RVPQGYS.js +181 -0
- package/dist/chunk-6T2EULKN.cjs +42 -0
- package/dist/chunk-7CRDYV3C.js +137 -0
- package/dist/chunk-BEJJN2SY.cjs +73 -0
- package/dist/chunk-BGLGRUPP.cjs +31 -0
- package/dist/chunk-CS7DM3NV.js +98 -0
- package/dist/chunk-CTYOW3V2.cjs +59 -0
- package/dist/chunk-D4ZL2OEQ.js +61 -0
- package/dist/chunk-DFB4ILN6.cjs +137 -0
- package/dist/chunk-E2TQMDO7.js +34 -0
- package/dist/chunk-EIY5LLSP.js +82 -0
- package/dist/chunk-EJP2L5QV.cjs +74 -0
- package/dist/chunk-F73ONTCK.js +73 -0
- package/dist/chunk-F7JHSZNT.js +73 -0
- package/dist/chunk-FJLINIC6.js +48 -0
- package/dist/chunk-FLPYZNWZ.js +124 -0
- package/dist/chunk-FNDBM67K.cjs +61 -0
- package/dist/chunk-G54TQV2R.cjs +222 -0
- package/dist/chunk-G6SRSWXB.js +32 -0
- package/dist/chunk-G76JANB4.js +138 -0
- package/dist/chunk-GL5CV4FF.js +59 -0
- package/dist/chunk-GMJWBGTJ.js +34 -0
- package/dist/chunk-GRZMUGT6.cjs +94 -0
- package/dist/chunk-GXHGMI3Z.cjs +48 -0
- package/dist/chunk-H2O6NMLZ.js +52 -0
- package/dist/chunk-H2UFRLLN.cjs +100 -0
- package/dist/chunk-H7TETFLB.js +39 -0
- package/dist/chunk-HQRWRRZJ.js +179 -0
- package/dist/chunk-HYSWE75T.js +67 -0
- package/dist/chunk-HYTILYE5.js +31 -0
- package/dist/chunk-I6GUOEBO.cjs +61 -0
- package/dist/chunk-IQZLUT2Y.cjs +34 -0
- package/dist/chunk-J3GQXM37.js +61 -0
- package/dist/chunk-J6NXDZR5.js +145 -0
- package/dist/chunk-JH4GAGOQ.cjs +34 -0
- package/dist/chunk-KGFL3VWY.cjs +62 -0
- package/dist/chunk-KN4RPX35.js +36 -0
- package/dist/chunk-KWLSBTB2.cjs +34 -0
- package/dist/chunk-L4DH72UF.cjs +179 -0
- package/dist/chunk-LELBCBDT.cjs +52 -0
- package/dist/chunk-LELFPLTE.js +55 -0
- package/dist/chunk-LI5EOSQG.js +171 -0
- package/dist/chunk-LIE6W3QT.js +42 -0
- package/dist/chunk-MLHNYRFX.js +411 -0
- package/dist/chunk-NBUWGRQO.js +31 -0
- package/dist/chunk-NE3ZVJ6G.cjs +67 -0
- package/dist/chunk-NQK5ZWC7.cjs +31 -0
- package/dist/chunk-NW3OWKBN.js +57 -0
- package/dist/chunk-OICAYRVH.js +34 -0
- package/dist/chunk-PIU5SSUV.js +25 -0
- package/dist/chunk-PNWNU6JW.cjs +171 -0
- package/dist/chunk-PPX2VPGI.cjs +138 -0
- package/dist/chunk-PQUSJEXL.cjs +51 -0
- package/dist/chunk-QD63LB2F.js +62 -0
- package/dist/chunk-QMA3WVB7.js +51 -0
- package/dist/chunk-QNZYQLNP.js +125 -0
- package/dist/chunk-R35FT53G.cjs +25 -0
- package/dist/chunk-R3DQS6U4.cjs +135 -0
- package/dist/chunk-R4AIM3BQ.js +72 -0
- package/dist/chunk-R5L4CM6V.cjs +202 -0
- package/dist/chunk-RRRD5EUI.js +202 -0
- package/dist/chunk-RSFEKQDR.cjs +181 -0
- package/dist/chunk-RWWOFWLP.cjs +510 -0
- package/dist/chunk-SGW4FWBX.cjs +411 -0
- package/dist/chunk-T2ZFSPE4.cjs +36 -0
- package/dist/chunk-U2NES7VR.cjs +32 -0
- package/dist/chunk-UGF2K6NR.js +510 -0
- package/dist/chunk-V4LE2HWP.js +166 -0
- package/dist/chunk-V5SPFLKW.cjs +145 -0
- package/dist/chunk-V7542UGX.js +31 -0
- package/dist/chunk-VBPPFC7X.cjs +66 -0
- package/dist/chunk-VGTINL5Q.cjs +39 -0
- package/dist/chunk-VKIGJNJR.cjs +57 -0
- package/dist/chunk-W5HPHEE7.cjs +31 -0
- package/dist/chunk-W5I4FN7G.cjs +78 -0
- package/dist/chunk-WABCLRBR.cjs +65 -0
- package/dist/chunk-WDXEJDMO.cjs +141 -0
- package/dist/chunk-WNXVGUBF.cjs +40 -0
- package/dist/chunk-WQJKUKBL.cjs +125 -0
- package/dist/chunk-XAPPU3MD.js +35 -0
- package/dist/chunk-XLIAY56V.cjs +55 -0
- package/dist/chunk-YEW65ASC.js +66 -0
- package/dist/chunk-YG7FBJRM.js +40 -0
- package/dist/chunk-YWAQRAXP.js +78 -0
- package/dist/chunk-YYFVG5A6.cjs +152 -0
- package/dist/chunk-ZAITUDYD.cjs +166 -0
- package/dist/chunk-ZRLUUZHK.js +32 -0
- package/dist/chunk-ZWZAAGQF.js +44 -0
- package/dist/hooks/use-copy-to-clipboard.cjs +7 -0
- package/dist/hooks/use-copy-to-clipboard.d.cts +12 -0
- package/dist/hooks/use-copy-to-clipboard.d.ts +12 -0
- package/dist/hooks/use-copy-to-clipboard.js +7 -0
- package/dist/hooks/use-layout-preference.cjs +51 -0
- package/dist/hooks/use-layout-preference.d.cts +10 -0
- package/dist/hooks/use-layout-preference.d.ts +10 -0
- package/dist/hooks/use-layout-preference.js +51 -0
- package/dist/hooks/use-mobile.cjs +7 -0
- package/dist/hooks/use-mobile.d.cts +3 -0
- package/dist/hooks/use-mobile.d.ts +3 -0
- package/dist/hooks/use-mobile.js +7 -0
- package/dist/lib/date-utils.cjs +15 -0
- package/dist/lib/date-utils.d.cts +16 -0
- package/dist/lib/date-utils.d.ts +16 -0
- package/dist/lib/date-utils.js +14 -0
- package/dist/lib/filter-types.cjs +161 -0
- package/dist/lib/filter-types.d.cts +60 -0
- package/dist/lib/filter-types.d.ts +60 -0
- package/dist/lib/filter-types.js +160 -0
- package/dist/lib/neutral-theme.cjs +238 -0
- package/dist/lib/neutral-theme.d.cts +92 -0
- package/dist/lib/neutral-theme.d.ts +92 -0
- package/dist/lib/neutral-theme.js +236 -0
- package/dist/lib/status-colors.cjs +18 -0
- package/dist/lib/status-colors.d.cts +76 -0
- package/dist/lib/status-colors.d.ts +76 -0
- package/dist/lib/status-colors.js +17 -0
- package/dist/lib/utils.cjs +9 -0
- package/dist/lib/utils.d.cts +9 -0
- package/dist/lib/utils.d.ts +9 -0
- package/dist/lib/utils.js +8 -0
- package/dist/primitives/activity-feed.cjs +177 -0
- package/dist/primitives/activity-feed.d.cts +78 -0
- package/dist/primitives/activity-feed.d.ts +78 -0
- package/dist/primitives/activity-feed.js +177 -0
- package/dist/primitives/activity-log.cjs +79 -0
- package/dist/primitives/activity-log.d.cts +55 -0
- package/dist/primitives/activity-log.d.ts +55 -0
- package/dist/primitives/activity-log.js +79 -0
- package/dist/primitives/agent-comment.cjs +39 -0
- package/dist/primitives/agent-comment.d.cts +33 -0
- package/dist/primitives/agent-comment.d.ts +33 -0
- package/dist/primitives/agent-comment.js +39 -0
- package/dist/primitives/alert-dialog.cjs +30 -0
- package/dist/primitives/alert-dialog.d.cts +23 -0
- package/dist/primitives/alert-dialog.d.ts +23 -0
- package/dist/primitives/alert-dialog.js +30 -0
- package/dist/primitives/alert.cjs +12 -0
- package/dist/primitives/alert.d.cts +26 -0
- package/dist/primitives/alert.d.ts +26 -0
- package/dist/primitives/alert.js +12 -0
- package/dist/primitives/anchor-target.cjs +13 -0
- package/dist/primitives/anchor-target.d.cts +7 -0
- package/dist/primitives/anchor-target.d.ts +7 -0
- package/dist/primitives/anchor-target.js +13 -0
- package/dist/primitives/anchor.cjs +35 -0
- package/dist/primitives/anchor.d.cts +16 -0
- package/dist/primitives/anchor.d.ts +16 -0
- package/dist/primitives/anchor.js +35 -0
- package/dist/primitives/archive-confirmation-dialog.cjs +50 -0
- package/dist/primitives/archive-confirmation-dialog.d.cts +12 -0
- package/dist/primitives/archive-confirmation-dialog.d.ts +12 -0
- package/dist/primitives/archive-confirmation-dialog.js +50 -0
- package/dist/primitives/aspect-ratio.cjs +8 -0
- package/dist/primitives/aspect-ratio.d.cts +6 -0
- package/dist/primitives/aspect-ratio.d.ts +6 -0
- package/dist/primitives/aspect-ratio.js +8 -0
- package/dist/primitives/attachment.cjs +203 -0
- package/dist/primitives/attachment.d.cts +28 -0
- package/dist/primitives/attachment.d.ts +28 -0
- package/dist/primitives/attachment.js +203 -0
- package/dist/primitives/avatar.cjs +12 -0
- package/dist/primitives/avatar.d.cts +22 -0
- package/dist/primitives/avatar.d.ts +22 -0
- package/dist/primitives/avatar.js +12 -0
- package/dist/primitives/badge.cjs +10 -0
- package/dist/primitives/badge.d.cts +27 -0
- package/dist/primitives/badge.d.ts +27 -0
- package/dist/primitives/badge.js +10 -0
- package/dist/primitives/board-view-internals.cjs +16 -0
- package/dist/primitives/board-view-internals.d.cts +33 -0
- package/dist/primitives/board-view-internals.d.ts +33 -0
- package/dist/primitives/board-view-internals.js +16 -0
- package/dist/primitives/board-view.cjs +108 -0
- package/dist/primitives/board-view.d.cts +39 -0
- package/dist/primitives/board-view.d.ts +39 -0
- package/dist/primitives/board-view.js +108 -0
- package/dist/primitives/browser-preview.cjs +62 -0
- package/dist/primitives/browser-preview.d.cts +41 -0
- package/dist/primitives/browser-preview.d.ts +41 -0
- package/dist/primitives/browser-preview.js +62 -0
- package/dist/primitives/button.cjs +10 -0
- package/dist/primitives/button.d.cts +32 -0
- package/dist/primitives/button.d.ts +32 -0
- package/dist/primitives/button.js +10 -0
- package/dist/primitives/calendar.cjs +11 -0
- package/dist/primitives/calendar.d.cts +13 -0
- package/dist/primitives/calendar.d.ts +13 -0
- package/dist/primitives/calendar.js +11 -0
- package/dist/primitives/call-card.cjs +195 -0
- package/dist/primitives/call-card.d.cts +86 -0
- package/dist/primitives/call-card.d.ts +86 -0
- package/dist/primitives/call-card.js +195 -0
- package/dist/primitives/callout.cjs +8 -0
- package/dist/primitives/callout.d.cts +41 -0
- package/dist/primitives/callout.d.ts +41 -0
- package/dist/primitives/callout.js +8 -0
- package/dist/primitives/card.cjs +18 -0
- package/dist/primitives/card.d.cts +55 -0
- package/dist/primitives/card.d.ts +55 -0
- package/dist/primitives/card.js +18 -0
- package/dist/primitives/checkbox.cjs +8 -0
- package/dist/primitives/checkbox.d.cts +20 -0
- package/dist/primitives/checkbox.d.ts +20 -0
- package/dist/primitives/checkbox.js +8 -0
- package/dist/primitives/chip-tabs.cjs +10 -0
- package/dist/primitives/chip-tabs.d.cts +39 -0
- package/dist/primitives/chip-tabs.d.ts +39 -0
- package/dist/primitives/chip-tabs.js +10 -0
- package/dist/primitives/code-block.cjs +56 -0
- package/dist/primitives/code-block.d.cts +35 -0
- package/dist/primitives/code-block.d.ts +35 -0
- package/dist/primitives/code-block.js +56 -0
- package/dist/primitives/collapsible-section.cjs +69 -0
- package/dist/primitives/collapsible-section.d.cts +24 -0
- package/dist/primitives/collapsible-section.d.ts +24 -0
- package/dist/primitives/collapsible-section.js +69 -0
- package/dist/primitives/collapsible.cjs +12 -0
- package/dist/primitives/collapsible.d.cts +14 -0
- package/dist/primitives/collapsible.d.ts +14 -0
- package/dist/primitives/collapsible.js +12 -0
- package/dist/primitives/compact-app-shell.cjs +40 -0
- package/dist/primitives/compact-app-shell.d.cts +12 -0
- package/dist/primitives/compact-app-shell.d.ts +12 -0
- package/dist/primitives/compact-app-shell.js +40 -0
- package/dist/primitives/compact-log.cjs +39 -0
- package/dist/primitives/compact-log.d.cts +19 -0
- package/dist/primitives/compact-log.d.ts +19 -0
- package/dist/primitives/compact-log.js +39 -0
- package/dist/primitives/confirm-bar.cjs +101 -0
- package/dist/primitives/confirm-bar.d.cts +60 -0
- package/dist/primitives/confirm-bar.d.ts +60 -0
- package/dist/primitives/confirm-bar.js +101 -0
- package/dist/primitives/connection-status-bar.cjs +243 -0
- package/dist/primitives/connection-status-bar.d.cts +52 -0
- package/dist/primitives/connection-status-bar.d.ts +52 -0
- package/dist/primitives/connection-status-bar.js +243 -0
- package/dist/primitives/connection.cjs +206 -0
- package/dist/primitives/connection.d.cts +126 -0
- package/dist/primitives/connection.d.ts +126 -0
- package/dist/primitives/connection.js +206 -0
- package/dist/primitives/contact-header.cjs +60 -0
- package/dist/primitives/contact-header.d.cts +54 -0
- package/dist/primitives/contact-header.d.ts +54 -0
- package/dist/primitives/contact-header.js +60 -0
- package/dist/primitives/copy-button.cjs +10 -0
- package/dist/primitives/copy-button.d.cts +21 -0
- package/dist/primitives/copy-button.d.ts +21 -0
- package/dist/primitives/copy-button.js +10 -0
- package/dist/primitives/count-badge.cjs +9 -0
- package/dist/primitives/count-badge.d.cts +21 -0
- package/dist/primitives/count-badge.d.ts +21 -0
- package/dist/primitives/count-badge.js +9 -0
- package/dist/primitives/decision-actions.cjs +66 -0
- package/dist/primitives/decision-actions.d.cts +31 -0
- package/dist/primitives/decision-actions.d.ts +31 -0
- package/dist/primitives/decision-actions.js +66 -0
- package/dist/primitives/definition-list.cjs +65 -0
- package/dist/primitives/definition-list.d.cts +23 -0
- package/dist/primitives/definition-list.d.ts +23 -0
- package/dist/primitives/definition-list.js +65 -0
- package/dist/primitives/delete-confirmation-dialog.cjs +11 -0
- package/dist/primitives/delete-confirmation-dialog.d.cts +23 -0
- package/dist/primitives/delete-confirmation-dialog.d.ts +23 -0
- package/dist/primitives/delete-confirmation-dialog.js +11 -0
- package/dist/primitives/dialog.cjs +26 -0
- package/dist/primitives/dialog.d.cts +44 -0
- package/dist/primitives/dialog.d.ts +44 -0
- package/dist/primitives/dialog.js +26 -0
- package/dist/primitives/drawer.cjs +26 -0
- package/dist/primitives/drawer.d.cts +36 -0
- package/dist/primitives/drawer.d.ts +36 -0
- package/dist/primitives/drawer.js +26 -0
- package/dist/primitives/dropdown-menu.cjs +36 -0
- package/dist/primitives/dropdown-menu.d.cts +34 -0
- package/dist/primitives/dropdown-menu.d.ts +34 -0
- package/dist/primitives/dropdown-menu.js +36 -0
- package/dist/primitives/editable-list.cjs +108 -0
- package/dist/primitives/editable-list.d.cts +23 -0
- package/dist/primitives/editable-list.d.ts +23 -0
- package/dist/primitives/editable-list.js +108 -0
- package/dist/primitives/empty-state.cjs +9 -0
- package/dist/primitives/empty-state.d.cts +54 -0
- package/dist/primitives/empty-state.d.ts +54 -0
- package/dist/primitives/empty-state.js +9 -0
- package/dist/primitives/eyebrow.cjs +8 -0
- package/dist/primitives/eyebrow.d.cts +21 -0
- package/dist/primitives/eyebrow.d.ts +21 -0
- package/dist/primitives/eyebrow.js +8 -0
- package/dist/primitives/feature-empty-state.cjs +133 -0
- package/dist/primitives/feature-empty-state.d.cts +42 -0
- package/dist/primitives/feature-empty-state.d.ts +42 -0
- package/dist/primitives/feature-empty-state.js +133 -0
- package/dist/primitives/field.cjs +260 -0
- package/dist/primitives/field.d.cts +43 -0
- package/dist/primitives/field.d.ts +43 -0
- package/dist/primitives/field.js +260 -0
- package/dist/primitives/file-dropzone.cjs +118 -0
- package/dist/primitives/file-dropzone.d.cts +36 -0
- package/dist/primitives/file-dropzone.d.ts +36 -0
- package/dist/primitives/file-dropzone.js +118 -0
- package/dist/primitives/filter-bar.cjs +20 -0
- package/dist/primitives/filter-bar.d.cts +25 -0
- package/dist/primitives/filter-bar.d.ts +25 -0
- package/dist/primitives/filter-bar.js +20 -0
- package/dist/primitives/flex-item.cjs +34 -0
- package/dist/primitives/flex-item.d.cts +18 -0
- package/dist/primitives/flex-item.d.ts +18 -0
- package/dist/primitives/flex-item.js +34 -0
- package/dist/primitives/grid.cjs +47 -0
- package/dist/primitives/grid.d.cts +18 -0
- package/dist/primitives/grid.d.ts +18 -0
- package/dist/primitives/grid.js +47 -0
- package/dist/primitives/heading.cjs +8 -0
- package/dist/primitives/heading.d.cts +28 -0
- package/dist/primitives/heading.d.ts +28 -0
- package/dist/primitives/heading.js +8 -0
- package/dist/primitives/hidden-control.cjs +13 -0
- package/dist/primitives/hidden-control.d.cts +7 -0
- package/dist/primitives/hidden-control.d.ts +7 -0
- package/dist/primitives/hidden-control.js +13 -0
- package/dist/primitives/icon.cjs +8 -0
- package/dist/primitives/icon.d.cts +22 -0
- package/dist/primitives/icon.d.ts +22 -0
- package/dist/primitives/icon.js +8 -0
- package/dist/primitives/image.cjs +52 -0
- package/dist/primitives/image.d.cts +21 -0
- package/dist/primitives/image.d.ts +21 -0
- package/dist/primitives/image.js +52 -0
- package/dist/primitives/inline-code.cjs +34 -0
- package/dist/primitives/inline-code.d.cts +15 -0
- package/dist/primitives/inline-code.d.ts +15 -0
- package/dist/primitives/inline-code.js +34 -0
- package/dist/primitives/input.cjs +8 -0
- package/dist/primitives/input.d.cts +23 -0
- package/dist/primitives/input.d.ts +23 -0
- package/dist/primitives/input.js +8 -0
- package/dist/primitives/inset.cjs +20 -0
- package/dist/primitives/inset.d.cts +12 -0
- package/dist/primitives/inset.d.ts +12 -0
- package/dist/primitives/inset.js +20 -0
- package/dist/primitives/interactive-card.cjs +11 -0
- package/dist/primitives/interactive-card.d.cts +68 -0
- package/dist/primitives/interactive-card.d.ts +68 -0
- package/dist/primitives/interactive-card.js +11 -0
- package/dist/primitives/label.cjs +8 -0
- package/dist/primitives/label.d.cts +12 -0
- package/dist/primitives/label.d.ts +12 -0
- package/dist/primitives/label.js +8 -0
- package/dist/primitives/line-break.cjs +10 -0
- package/dist/primitives/line-break.d.cts +6 -0
- package/dist/primitives/line-break.d.ts +6 -0
- package/dist/primitives/line-break.js +10 -0
- package/dist/primitives/list.cjs +68 -0
- package/dist/primitives/list.d.cts +35 -0
- package/dist/primitives/list.d.ts +35 -0
- package/dist/primitives/list.js +68 -0
- package/dist/primitives/load-more-button.cjs +10 -0
- package/dist/primitives/load-more-button.d.cts +42 -0
- package/dist/primitives/load-more-button.d.ts +42 -0
- package/dist/primitives/load-more-button.js +10 -0
- package/dist/primitives/loading.cjs +10 -0
- package/dist/primitives/loading.d.cts +5 -0
- package/dist/primitives/loading.d.ts +5 -0
- package/dist/primitives/loading.js +10 -0
- package/dist/primitives/message.cjs +95 -0
- package/dist/primitives/message.d.cts +13 -0
- package/dist/primitives/message.d.ts +13 -0
- package/dist/primitives/message.js +95 -0
- package/dist/primitives/native-select.cjs +33 -0
- package/dist/primitives/native-select.d.cts +15 -0
- package/dist/primitives/native-select.d.ts +15 -0
- package/dist/primitives/native-select.js +33 -0
- package/dist/primitives/page-header-actions.cjs +11 -0
- package/dist/primitives/page-header-actions.d.cts +49 -0
- package/dist/primitives/page-header-actions.d.ts +49 -0
- package/dist/primitives/page-header-actions.js +11 -0
- package/dist/primitives/page-header.cjs +72 -0
- package/dist/primitives/page-header.d.cts +40 -0
- package/dist/primitives/page-header.d.ts +40 -0
- package/dist/primitives/page-header.js +72 -0
- package/dist/primitives/page-shell.cjs +46 -0
- package/dist/primitives/page-shell.d.cts +44 -0
- package/dist/primitives/page-shell.d.ts +44 -0
- package/dist/primitives/page-shell.js +46 -0
- package/dist/primitives/page-tabs.cjs +63 -0
- package/dist/primitives/page-tabs.d.cts +28 -0
- package/dist/primitives/page-tabs.d.ts +28 -0
- package/dist/primitives/page-tabs.js +63 -0
- package/dist/primitives/panel-section.cjs +52 -0
- package/dist/primitives/panel-section.d.cts +20 -0
- package/dist/primitives/panel-section.d.ts +20 -0
- package/dist/primitives/panel-section.js +52 -0
- package/dist/primitives/person-avatar.cjs +57 -0
- package/dist/primitives/person-avatar.d.cts +33 -0
- package/dist/primitives/person-avatar.d.ts +33 -0
- package/dist/primitives/person-avatar.js +57 -0
- package/dist/primitives/phone.cjs +69 -0
- package/dist/primitives/phone.d.cts +50 -0
- package/dist/primitives/phone.d.ts +50 -0
- package/dist/primitives/phone.js +69 -0
- package/dist/primitives/popover.cjs +12 -0
- package/dist/primitives/popover.d.cts +14 -0
- package/dist/primitives/popover.d.ts +14 -0
- package/dist/primitives/popover.js +12 -0
- package/dist/primitives/progress.cjs +31 -0
- package/dist/primitives/progress.d.cts +6 -0
- package/dist/primitives/progress.d.ts +6 -0
- package/dist/primitives/progress.js +31 -0
- package/dist/primitives/quick-filters.cjs +10 -0
- package/dist/primitives/quick-filters.d.cts +36 -0
- package/dist/primitives/quick-filters.d.ts +36 -0
- package/dist/primitives/quick-filters.js +10 -0
- package/dist/primitives/radio-group.cjs +46 -0
- package/dist/primitives/radio-group.d.cts +7 -0
- package/dist/primitives/radio-group.d.ts +7 -0
- package/dist/primitives/radio-group.js +46 -0
- package/dist/primitives/resource-card.cjs +104 -0
- package/dist/primitives/resource-card.d.cts +93 -0
- package/dist/primitives/resource-card.d.ts +93 -0
- package/dist/primitives/resource-card.js +104 -0
- package/dist/primitives/resource-list.cjs +28 -0
- package/dist/primitives/resource-list.d.cts +103 -0
- package/dist/primitives/resource-list.d.ts +103 -0
- package/dist/primitives/resource-list.js +28 -0
- package/dist/primitives/responsive-dialog.cjs +142 -0
- package/dist/primitives/responsive-dialog.d.cts +56 -0
- package/dist/primitives/responsive-dialog.d.ts +56 -0
- package/dist/primitives/responsive-dialog.js +142 -0
- package/dist/primitives/responsive-view.cjs +29 -0
- package/dist/primitives/responsive-view.d.cts +10 -0
- package/dist/primitives/responsive-view.d.ts +10 -0
- package/dist/primitives/responsive-view.js +29 -0
- package/dist/primitives/rich-text.cjs +43 -0
- package/dist/primitives/rich-text.d.cts +14 -0
- package/dist/primitives/rich-text.d.ts +14 -0
- package/dist/primitives/rich-text.js +43 -0
- package/dist/primitives/scroll-area.cjs +10 -0
- package/dist/primitives/scroll-area.d.cts +13 -0
- package/dist/primitives/scroll-area.d.ts +13 -0
- package/dist/primitives/scroll-area.js +10 -0
- package/dist/primitives/section-header.cjs +51 -0
- package/dist/primitives/section-header.d.cts +22 -0
- package/dist/primitives/section-header.d.ts +22 -0
- package/dist/primitives/section-header.js +51 -0
- package/dist/primitives/section.cjs +39 -0
- package/dist/primitives/section.d.cts +22 -0
- package/dist/primitives/section.d.ts +22 -0
- package/dist/primitives/section.js +39 -0
- package/dist/primitives/select.cjs +26 -0
- package/dist/primitives/select.d.cts +25 -0
- package/dist/primitives/select.d.ts +25 -0
- package/dist/primitives/select.js +26 -0
- package/dist/primitives/selection-overlay.cjs +24 -0
- package/dist/primitives/selection-overlay.d.cts +7 -0
- package/dist/primitives/selection-overlay.d.ts +7 -0
- package/dist/primitives/selection-overlay.js +24 -0
- package/dist/primitives/sentiment-dot.cjs +15 -0
- package/dist/primitives/sentiment-dot.d.cts +42 -0
- package/dist/primitives/sentiment-dot.d.ts +42 -0
- package/dist/primitives/sentiment-dot.js +15 -0
- package/dist/primitives/separator.cjs +8 -0
- package/dist/primitives/separator.d.cts +9 -0
- package/dist/primitives/separator.d.ts +9 -0
- package/dist/primitives/separator.js +8 -0
- package/dist/primitives/sheet.cjs +27 -0
- package/dist/primitives/sheet.d.cts +48 -0
- package/dist/primitives/sheet.d.ts +48 -0
- package/dist/primitives/sheet.js +27 -0
- package/dist/primitives/skeleton.cjs +8 -0
- package/dist/primitives/skeleton.d.cts +15 -0
- package/dist/primitives/skeleton.d.ts +15 -0
- package/dist/primitives/skeleton.js +8 -0
- package/dist/primitives/spacer.cjs +20 -0
- package/dist/primitives/spacer.d.cts +11 -0
- package/dist/primitives/spacer.d.ts +11 -0
- package/dist/primitives/spacer.js +20 -0
- package/dist/primitives/split-action-button.cjs +95 -0
- package/dist/primitives/split-action-button.d.cts +41 -0
- package/dist/primitives/split-action-button.d.ts +41 -0
- package/dist/primitives/split-action-button.js +95 -0
- package/dist/primitives/stack.cjs +8 -0
- package/dist/primitives/stack.d.cts +63 -0
- package/dist/primitives/stack.d.ts +63 -0
- package/dist/primitives/stack.js +8 -0
- package/dist/primitives/status-badge.cjs +9 -0
- package/dist/primitives/status-badge.d.cts +20 -0
- package/dist/primitives/status-badge.d.ts +20 -0
- package/dist/primitives/status-badge.js +9 -0
- package/dist/primitives/status-icon-tile.cjs +32 -0
- package/dist/primitives/status-icon-tile.d.cts +12 -0
- package/dist/primitives/status-icon-tile.d.ts +12 -0
- package/dist/primitives/status-icon-tile.js +32 -0
- package/dist/primitives/status-icon.cjs +8 -0
- package/dist/primitives/status-icon.d.cts +18 -0
- package/dist/primitives/status-icon.d.ts +18 -0
- package/dist/primitives/status-icon.js +8 -0
- package/dist/primitives/status-panel.cjs +83 -0
- package/dist/primitives/status-panel.d.cts +25 -0
- package/dist/primitives/status-panel.d.ts +25 -0
- package/dist/primitives/status-panel.js +83 -0
- package/dist/primitives/switch-field.cjs +44 -0
- package/dist/primitives/switch-field.d.cts +17 -0
- package/dist/primitives/switch-field.d.ts +17 -0
- package/dist/primitives/switch-field.js +44 -0
- package/dist/primitives/switch.cjs +8 -0
- package/dist/primitives/switch.d.cts +6 -0
- package/dist/primitives/switch.d.ts +6 -0
- package/dist/primitives/switch.js +8 -0
- package/dist/primitives/tabs.cjs +14 -0
- package/dist/primitives/tabs.d.cts +36 -0
- package/dist/primitives/tabs.d.ts +36 -0
- package/dist/primitives/tabs.js +14 -0
- package/dist/primitives/tag-input.cjs +90 -0
- package/dist/primitives/tag-input.d.cts +13 -0
- package/dist/primitives/tag-input.d.ts +13 -0
- package/dist/primitives/tag-input.js +90 -0
- package/dist/primitives/text.cjs +8 -0
- package/dist/primitives/text.d.cts +51 -0
- package/dist/primitives/text.d.ts +51 -0
- package/dist/primitives/text.js +8 -0
- package/dist/primitives/textarea.cjs +37 -0
- package/dist/primitives/textarea.d.cts +12 -0
- package/dist/primitives/textarea.d.ts +12 -0
- package/dist/primitives/textarea.js +37 -0
- package/dist/primitives/thinking-screen.cjs +87 -0
- package/dist/primitives/thinking-screen.d.cts +46 -0
- package/dist/primitives/thinking-screen.d.ts +46 -0
- package/dist/primitives/thinking-screen.js +87 -0
- package/dist/primitives/timeline.cjs +13 -0
- package/dist/primitives/timeline.d.cts +54 -0
- package/dist/primitives/timeline.d.ts +54 -0
- package/dist/primitives/timeline.js +13 -0
- package/dist/primitives/toggle-group.cjs +51 -0
- package/dist/primitives/toggle-group.d.cts +18 -0
- package/dist/primitives/toggle-group.d.ts +18 -0
- package/dist/primitives/toggle-group.js +51 -0
- package/dist/primitives/toggle.cjs +10 -0
- package/dist/primitives/toggle.d.cts +15 -0
- package/dist/primitives/toggle.d.ts +15 -0
- package/dist/primitives/toggle.js +10 -0
- package/dist/primitives/tooltip.cjs +14 -0
- package/dist/primitives/tooltip.d.cts +9 -0
- package/dist/primitives/tooltip.d.ts +9 -0
- package/dist/primitives/tooltip.js +14 -0
- package/dist/primitives/voice-dictation-button.cjs +244 -0
- package/dist/primitives/voice-dictation-button.d.cts +41 -0
- package/dist/primitives/voice-dictation-button.d.ts +41 -0
- package/dist/primitives/voice-dictation-button.js +244 -0
- package/package.json +1243 -3
- package/src/styles/components/attachment.css +61 -0
- package/src/styles/components/message.css +29 -0
- package/src/styles/components.css +3 -0
- package/src/styles/globals.css +10 -0
- package/src/styles/keyframes.css +26 -0
- package/src/styles/palette.gen.css +150 -0
- package/src/styles/shadcn.css +631 -0
- package/src/styles/source.css +4 -0
- package/src/styles/tokens/base.css +36 -0
- package/src/styles/tokens/container.css +9 -0
- package/src/styles/tokens/forms.css +61 -0
- package/src/styles/tokens/theme.css +93 -0
- package/src/styles/tokens.css +17 -0
- 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,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
|
+
};
|