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