@epicbagel/saas-kit 0.0.0-stage → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +108 -2
- package/THIRD_PARTY_NOTICES.md +53 -0
- package/dist/chunk-23UMHZ4S.cjs +124 -0
- package/dist/chunk-2AU7ZRGX.cjs +96 -0
- package/dist/chunk-2BHI5ZWJ.cjs +117 -0
- package/dist/chunk-2BTDBZYN.cjs +154 -0
- package/dist/chunk-2HTYXBDU.cjs +34 -0
- package/dist/chunk-2HV2KKOE.cjs +38 -0
- package/dist/chunk-2KFZQJH5.cjs +29 -0
- package/dist/chunk-2XDFTB2W.cjs +35 -0
- package/dist/chunk-32Q4XOTU.cjs +204 -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-42RTTHND.js +29 -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-6FC65AZQ.js +38 -0
- package/dist/chunk-6RVPQGYS.js +181 -0
- package/dist/chunk-6T2EULKN.cjs +42 -0
- package/dist/chunk-6V4XMQ6D.js +118 -0
- package/dist/chunk-7CRDYV3C.js +137 -0
- package/dist/chunk-B765DSRG.cjs +66 -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-ELPV44S6.cjs +44 -0
- package/dist/chunk-EOUO3ORO.cjs +244 -0
- package/dist/chunk-EZCKWTH7.js +204 -0
- package/dist/chunk-F366BHWH.js +116 -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-GFG2R5BZ.js +132 -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-HAC32ALJ.js +244 -0
- package/dist/chunk-HQRWRRZJ.js +179 -0
- package/dist/chunk-HRLP4BHJ.js +510 -0
- package/dist/chunk-HYSWE75T.js +67 -0
- package/dist/chunk-HYTILYE5.js +31 -0
- package/dist/chunk-I5UQSBBZ.cjs +118 -0
- package/dist/chunk-I6GUOEBO.cjs +61 -0
- package/dist/chunk-IH3COANJ.cjs +510 -0
- package/dist/chunk-INNGGLMZ.js +44 -0
- package/dist/chunk-IQZLUT2Y.cjs +34 -0
- package/dist/chunk-IW4ZIXXG.js +66 -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-JZOBIPFC.js +96 -0
- package/dist/chunk-KENBU3NV.cjs +27 -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-MHYAVXOE.js +159 -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-RIWLAMME.cjs +159 -0
- package/dist/chunk-RRRD5EUI.js +202 -0
- package/dist/chunk-RSFEKQDR.cjs +181 -0
- package/dist/chunk-SGW4FWBX.cjs +411 -0
- package/dist/chunk-SUB4BAYE.cjs +73 -0
- package/dist/chunk-T2ZFSPE4.cjs +36 -0
- package/dist/chunk-THWIJG5C.js +73 -0
- package/dist/chunk-U2NES7VR.cjs +32 -0
- package/dist/chunk-V4LE2HWP.js +166 -0
- package/dist/chunk-V4YWTRLD.cjs +116 -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-VY5U4VGV.js +27 -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-XABXUP6L.cjs +132 -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-Z45YKVAM.js +154 -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/action-dock.cjs +8 -0
- package/dist/primitives/action-dock.d.cts +10 -0
- package/dist/primitives/action-dock.d.ts +10 -0
- package/dist/primitives/action-dock.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 +25 -0
- package/dist/primitives/attachment.d.cts +28 -0
- package/dist/primitives/attachment.d.ts +28 -0
- package/dist/primitives/attachment.js +25 -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/bubble.cjs +14 -0
- package/dist/primitives/bubble.d.cts +21 -0
- package/dist/primitives/bubble.d.ts +21 -0
- package/dist/primitives/bubble.js +14 -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/chat.cjs +864 -0
- package/dist/primitives/chat.d.cts +326 -0
- package/dist/primitives/chat.d.ts +326 -0
- package/dist/primitives/chat.js +864 -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 +12 -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 +12 -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-group.cjs +21 -0
- package/dist/primitives/input-group.d.cts +20 -0
- package/dist/primitives/input-group.d.ts +20 -0
- package/dist/primitives/input-group.js +21 -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/item.cjs +197 -0
- package/dist/primitives/item.d.cts +28 -0
- package/dist/primitives/item.d.ts +28 -0
- package/dist/primitives/item.js +197 -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/lazy-markdown.cjs +10 -0
- package/dist/primitives/lazy-markdown.d.cts +20 -0
- package/dist/primitives/lazy-markdown.d.ts +20 -0
- package/dist/primitives/lazy-markdown.js +10 -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/markdown.cjs +17 -0
- package/dist/primitives/markdown.d.cts +32 -0
- package/dist/primitives/markdown.d.ts +32 -0
- package/dist/primitives/markdown.js +17 -0
- package/dist/primitives/marker.cjs +14 -0
- package/dist/primitives/marker.d.cts +15 -0
- package/dist/primitives/marker.d.ts +15 -0
- package/dist/primitives/marker.js +14 -0
- package/dist/primitives/message-scroller.cjs +26 -0
- package/dist/primitives/message-scroller.d.cts +16 -0
- package/dist/primitives/message-scroller.d.ts +16 -0
- package/dist/primitives/message-scroller.js +26 -0
- package/dist/primitives/message.cjs +18 -0
- package/dist/primitives/message.d.cts +13 -0
- package/dist/primitives/message.d.ts +13 -0
- package/dist/primitives/message.js +18 -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 +8 -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 +8 -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/spinner.cjs +23 -0
- package/dist/primitives/spinner.d.cts +6 -0
- package/dist/primitives/spinner.d.ts +6 -0
- package/dist/primitives/spinner.js +23 -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/suggestion.cjs +11 -0
- package/dist/primitives/suggestion.d.cts +19 -0
- package/dist/primitives/suggestion.d.ts +19 -0
- package/dist/primitives/suggestion.js +11 -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 +8 -0
- package/dist/primitives/textarea.d.cts +12 -0
- package/dist/primitives/textarea.d.ts +12 -0
- package/dist/primitives/textarea.js +8 -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/trace.cjs +23 -0
- package/dist/primitives/trace.d.cts +22 -0
- package/dist/primitives/trace.d.ts +22 -0
- package/dist/primitives/trace.js +23 -0
- package/dist/primitives/voice-dictation-button.cjs +10 -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 +10 -0
- package/package.json +1366 -3
- package/src/styles/components/attachment.css +61 -0
- package/src/styles/components/bubble.css +81 -0
- package/src/styles/components/marker.css +27 -0
- package/src/styles/components/message-scroller.css +11 -0
- package/src/styles/components/message.css +29 -0
- package/src/styles/components.css +6 -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 +10 -0
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
cn
|
|
4
|
+
} from "./chunk-G6SRSWXB.js";
|
|
5
|
+
|
|
6
|
+
// src/primitives/tabs.tsx
|
|
7
|
+
import * as TabsPrimitive from "@radix-ui/react-tabs";
|
|
8
|
+
import {
|
|
9
|
+
forwardRef,
|
|
10
|
+
useCallback,
|
|
11
|
+
useEffect,
|
|
12
|
+
useImperativeHandle,
|
|
13
|
+
useRef,
|
|
14
|
+
useState
|
|
15
|
+
} from "react";
|
|
16
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
17
|
+
var Tabs = TabsPrimitive.Root;
|
|
18
|
+
var TabsList = forwardRef(
|
|
19
|
+
function TabsList2({
|
|
20
|
+
className,
|
|
21
|
+
responsiveGrid = false,
|
|
22
|
+
scrollable = false,
|
|
23
|
+
width = "auto",
|
|
24
|
+
marginBottom = "none",
|
|
25
|
+
...props
|
|
26
|
+
}, ref) {
|
|
27
|
+
const listRef = useRef(null);
|
|
28
|
+
const [overflow, setOverflow] = useState({ start: false, end: false });
|
|
29
|
+
useImperativeHandle(ref, () => listRef.current);
|
|
30
|
+
const updateOverflow = useCallback(() => {
|
|
31
|
+
const node = listRef.current;
|
|
32
|
+
if (!node) return;
|
|
33
|
+
const maxScrollLeft = Math.max(0, node.scrollWidth - node.clientWidth);
|
|
34
|
+
const next = {
|
|
35
|
+
start: node.scrollLeft > 1,
|
|
36
|
+
end: node.scrollLeft < maxScrollLeft - 1
|
|
37
|
+
};
|
|
38
|
+
setOverflow(
|
|
39
|
+
(current) => current.start === next.start && current.end === next.end ? current : next
|
|
40
|
+
);
|
|
41
|
+
}, []);
|
|
42
|
+
useEffect(() => {
|
|
43
|
+
const node = listRef.current;
|
|
44
|
+
if (!scrollable || !node) {
|
|
45
|
+
setOverflow({ start: false, end: false });
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
updateOverflow();
|
|
49
|
+
node.addEventListener("scroll", updateOverflow, { passive: true });
|
|
50
|
+
window.addEventListener("resize", updateOverflow);
|
|
51
|
+
const observer = typeof ResizeObserver === "undefined" ? null : new ResizeObserver(updateOverflow);
|
|
52
|
+
observer?.observe(node);
|
|
53
|
+
return () => {
|
|
54
|
+
node.removeEventListener("scroll", updateOverflow);
|
|
55
|
+
window.removeEventListener("resize", updateOverflow);
|
|
56
|
+
observer?.disconnect();
|
|
57
|
+
};
|
|
58
|
+
}, [scrollable, updateOverflow]);
|
|
59
|
+
const list = /* @__PURE__ */ jsx(
|
|
60
|
+
TabsPrimitive.List,
|
|
61
|
+
{
|
|
62
|
+
ref: listRef,
|
|
63
|
+
className: cn(
|
|
64
|
+
"min-h-10 h-auto items-center rounded-md bg-muted p-1 text-muted-foreground",
|
|
65
|
+
responsiveGrid ? "grid grid-cols-2 sm:grid-cols-4 [&>*]:min-w-0 [&>*]:whitespace-normal" : scrollable ? "flex max-w-full justify-start overflow-x-auto [scrollbar-width:none] [&::-webkit-scrollbar]:hidden" : "inline-flex justify-start",
|
|
66
|
+
width === "full" && "w-full",
|
|
67
|
+
marginBottom === "lg" && "mb-6",
|
|
68
|
+
className
|
|
69
|
+
),
|
|
70
|
+
...props
|
|
71
|
+
}
|
|
72
|
+
);
|
|
73
|
+
if (!scrollable || responsiveGrid) return list;
|
|
74
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("relative max-w-full", width === "full" && "w-full"), children: [
|
|
75
|
+
list,
|
|
76
|
+
overflow.start && /* @__PURE__ */ jsx(
|
|
77
|
+
"span",
|
|
78
|
+
{
|
|
79
|
+
"aria-hidden": "true",
|
|
80
|
+
"data-scroll-fade": "start",
|
|
81
|
+
className: "pointer-events-none absolute inset-y-1 left-0 z-10 w-10 rounded-l-md bg-linear-to-r from-muted to-transparent"
|
|
82
|
+
}
|
|
83
|
+
),
|
|
84
|
+
overflow.end && /* @__PURE__ */ jsx(
|
|
85
|
+
"span",
|
|
86
|
+
{
|
|
87
|
+
"aria-hidden": "true",
|
|
88
|
+
"data-scroll-fade": "end",
|
|
89
|
+
className: "pointer-events-none absolute inset-y-1 right-0 z-10 w-10 rounded-r-md bg-linear-to-l from-muted to-transparent"
|
|
90
|
+
}
|
|
91
|
+
)
|
|
92
|
+
] });
|
|
93
|
+
}
|
|
94
|
+
);
|
|
95
|
+
TabsList.displayName = TabsPrimitive.List.displayName;
|
|
96
|
+
var triggerPadding = {
|
|
97
|
+
sm: "px-2 py-1",
|
|
98
|
+
md: "px-3 py-1.5",
|
|
99
|
+
lg: "px-4 py-2",
|
|
100
|
+
xl: "px-6 py-3"
|
|
101
|
+
};
|
|
102
|
+
var TabsTrigger = forwardRef(({ className, padding = "xl", ...props }, ref) => /* @__PURE__ */ jsx(
|
|
103
|
+
TabsPrimitive.Trigger,
|
|
104
|
+
{
|
|
105
|
+
ref,
|
|
106
|
+
className: cn(
|
|
107
|
+
"inline-flex shrink-0 items-center justify-center gap-2 whitespace-nowrap rounded-sm text-sm font-medium ring-offset-background transition-all focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-xs",
|
|
108
|
+
triggerPadding[padding],
|
|
109
|
+
className
|
|
110
|
+
),
|
|
111
|
+
...props
|
|
112
|
+
}
|
|
113
|
+
));
|
|
114
|
+
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
|
|
115
|
+
var TabsContent = forwardRef(({ className, spacing = "none", marginTop = "default", ...props }, ref) => /* @__PURE__ */ jsx(
|
|
116
|
+
TabsPrimitive.Content,
|
|
117
|
+
{
|
|
118
|
+
ref,
|
|
119
|
+
className: cn(
|
|
120
|
+
marginTop === "default" ? "mt-2" : "mt-3",
|
|
121
|
+
"ring-offset-background focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
|
|
122
|
+
spacing === "compact" && "space-y-3",
|
|
123
|
+
spacing === "md" && "space-y-4",
|
|
124
|
+
spacing === "relaxed" && "space-y-6",
|
|
125
|
+
className
|
|
126
|
+
),
|
|
127
|
+
...props
|
|
128
|
+
}
|
|
129
|
+
));
|
|
130
|
+
TabsContent.displayName = TabsPrimitive.Content.displayName;
|
|
131
|
+
|
|
132
|
+
export {
|
|
133
|
+
Tabs,
|
|
134
|
+
TabsList,
|
|
135
|
+
TabsTrigger,
|
|
136
|
+
TabsContent
|
|
137
|
+
};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var _chunkKWLSBTB2cjs = require('./chunk-KWLSBTB2.cjs');
|
|
5
|
+
|
|
6
|
+
// src/primitives/marker.tsx
|
|
7
|
+
var _classvarianceauthority = require('class-variance-authority');
|
|
8
|
+
var _radixui = require('radix-ui');
|
|
9
|
+
var _jsxruntime = require('react/jsx-runtime');
|
|
10
|
+
var markerVariants = _classvarianceauthority.cva.call(void 0,
|
|
11
|
+
"cn-marker group/marker relative flex w-full items-center",
|
|
12
|
+
{
|
|
13
|
+
variants: {
|
|
14
|
+
variant: {
|
|
15
|
+
default: "cn-marker-variant-default",
|
|
16
|
+
separator: "cn-marker-variant-separator",
|
|
17
|
+
border: "cn-marker-variant-border"
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
);
|
|
22
|
+
function Marker({
|
|
23
|
+
className,
|
|
24
|
+
variant = "default",
|
|
25
|
+
asChild = false,
|
|
26
|
+
...props
|
|
27
|
+
}) {
|
|
28
|
+
const Comp = asChild ? _radixui.Slot.Root : "div";
|
|
29
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30
|
+
Comp,
|
|
31
|
+
{
|
|
32
|
+
"data-slot": "marker",
|
|
33
|
+
"data-variant": variant,
|
|
34
|
+
className: _chunkKWLSBTB2cjs.cn.call(void 0, markerVariants({ variant, className })),
|
|
35
|
+
...props
|
|
36
|
+
}
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
function MarkerIcon({ className, ...props }) {
|
|
40
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
41
|
+
"span",
|
|
42
|
+
{
|
|
43
|
+
"data-slot": "marker-icon",
|
|
44
|
+
"aria-hidden": "true",
|
|
45
|
+
className: _chunkKWLSBTB2cjs.cn.call(void 0, "cn-marker-icon shrink-0", className),
|
|
46
|
+
...props
|
|
47
|
+
}
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
function MarkerContent({ className, ...props }) {
|
|
51
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
52
|
+
"span",
|
|
53
|
+
{
|
|
54
|
+
"data-slot": "marker-content",
|
|
55
|
+
className: _chunkKWLSBTB2cjs.cn.call(void 0, "cn-marker-content min-w-0 wrap-break-word", className),
|
|
56
|
+
...props
|
|
57
|
+
}
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
exports.markerVariants = markerVariants; exports.Marker = Marker; exports.MarkerIcon = MarkerIcon; exports.MarkerContent = MarkerContent;
|
|
@@ -0,0 +1,73 @@
|
|
|
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/interactive-card.tsx
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
var _react = require('react');
|
|
10
|
+
var _jsxruntime = require('react/jsx-runtime');
|
|
11
|
+
function interactiveCardClass({
|
|
12
|
+
selected,
|
|
13
|
+
surface = "card",
|
|
14
|
+
borderWidth = "default"
|
|
15
|
+
} = {}) {
|
|
16
|
+
return _chunkKWLSBTB2cjs.cn.call(void 0,
|
|
17
|
+
"group relative w-full rounded-xl text-left",
|
|
18
|
+
borderWidth === "thin" ? "border" : "border-2",
|
|
19
|
+
surface === "subtle" ? "bg-muted/20" : "bg-card",
|
|
20
|
+
"transition-colors duration-150",
|
|
21
|
+
"hover:border-foreground/40",
|
|
22
|
+
"focus-visible:outline-hidden focus-visible:border-foreground/40",
|
|
23
|
+
"focus-visible:ring-2 focus-visible:ring-ring",
|
|
24
|
+
selected ? "border-primary" : "border-border"
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
var InteractiveCard = _react.forwardRef.call(void 0,
|
|
28
|
+
function InteractiveCard2({ as, selected, flat, clip, padding = "none", radius = "xl", joined = "none", border = "default", borderWidth = "default", display = "inline", textSize = "inherit", opacity = "full", surface = "card", indicator = "bar", className, onClick, onKeyDown, ...props }, ref) {
|
|
29
|
+
const Component = _nullishCoalesce(as, () => ( "button"));
|
|
30
|
+
const needsButtonSemantics = Component !== "button" && Component !== "a" && !!onClick;
|
|
31
|
+
const handleKeyDown = (event) => {
|
|
32
|
+
_optionalChain([onKeyDown, 'optionalCall', _ => _(event)]);
|
|
33
|
+
if (event.defaultPrevented || !needsButtonSemantics) return;
|
|
34
|
+
if (event.key === "Enter" || event.key === " ") {
|
|
35
|
+
event.preventDefault();
|
|
36
|
+
_optionalChain([onClick, 'optionalCall', _2 => _2(event)]);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
40
|
+
Component,
|
|
41
|
+
{
|
|
42
|
+
ref,
|
|
43
|
+
...Component === "button" ? { type: "button" } : {},
|
|
44
|
+
...needsButtonSemantics ? { role: "button", tabIndex: 0 } : {},
|
|
45
|
+
...selected !== void 0 ? { "aria-current": selected || void 0 } : {},
|
|
46
|
+
className: _chunkKWLSBTB2cjs.cn.call(void 0,
|
|
47
|
+
interactiveCardClass({ selected, flat, indicator, surface, borderWidth }),
|
|
48
|
+
clip && "overflow-hidden",
|
|
49
|
+
padding === "compact" && "p-3",
|
|
50
|
+
padding === "row" && "px-3 py-2",
|
|
51
|
+
padding === "comfortable" && "px-5 py-4",
|
|
52
|
+
padding === "roomy" && "p-5 md:p-6",
|
|
53
|
+
radius === "lg" && "rounded-lg",
|
|
54
|
+
radius === "none" && "rounded-none",
|
|
55
|
+
joined === "top" && "rounded-b-none rounded-t-xl",
|
|
56
|
+
border === "none" && "border-0",
|
|
57
|
+
display === "block" && "block",
|
|
58
|
+
textSize === "sm" && "text-sm",
|
|
59
|
+
opacity === "subdued" && "opacity-60",
|
|
60
|
+
className
|
|
61
|
+
),
|
|
62
|
+
onClick,
|
|
63
|
+
onKeyDown: handleKeyDown,
|
|
64
|
+
...props
|
|
65
|
+
}
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
);
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
exports.interactiveCardClass = interactiveCardClass; exports.InteractiveCard = InteractiveCard;
|
|
@@ -0,0 +1,31 @@
|
|
|
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/status-icon.tsx
|
|
7
|
+
var _lucidereact = require('lucide-react');
|
|
8
|
+
var _jsxruntime = require('react/jsx-runtime');
|
|
9
|
+
var STATUS_CONFIG = {
|
|
10
|
+
completed: { Icon: _lucidereact.CheckCircle2, className: "text-green-600 dark:text-green-400" },
|
|
11
|
+
failed: { Icon: _lucidereact.XCircle, className: "text-red-600 dark:text-red-400" },
|
|
12
|
+
cancelled: { Icon: _lucidereact.XCircle, className: "text-muted-foreground" },
|
|
13
|
+
pending: { Icon: _lucidereact.Clock, className: "text-muted-foreground" },
|
|
14
|
+
running: { Icon: _lucidereact.Loader2, className: "text-primary animate-spin" }
|
|
15
|
+
};
|
|
16
|
+
function StatusIcon({ status, iconMap, className }) {
|
|
17
|
+
const key = status === "completed" || status === "failed" || status === "cancelled" || status === "pending" ? status : "running";
|
|
18
|
+
const config = STATUS_CONFIG[key];
|
|
19
|
+
const Icon = _nullishCoalesce(_optionalChain([iconMap, 'optionalAccess', _ => _[key]]), () => ( config.Icon));
|
|
20
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21
|
+
Icon,
|
|
22
|
+
{
|
|
23
|
+
className: _chunkKWLSBTB2cjs.cn.call(void 0, "h-4 w-4 shrink-0 mt-0.5", config.className, className),
|
|
24
|
+
"aria-hidden": true
|
|
25
|
+
}
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
exports.StatusIcon = StatusIcon;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
// src/lib/date-utils.ts
|
|
2
|
+
import dayjs from "dayjs";
|
|
3
|
+
import utc from "dayjs/plugin/utc.js";
|
|
4
|
+
import timezone from "dayjs/plugin/timezone.js";
|
|
5
|
+
dayjs.extend(utc);
|
|
6
|
+
dayjs.extend(timezone);
|
|
7
|
+
function parseDate(value) {
|
|
8
|
+
if (!value) return null;
|
|
9
|
+
try {
|
|
10
|
+
if (typeof value === "string") {
|
|
11
|
+
if (/^\d+$/.test(value)) {
|
|
12
|
+
const num = parseInt(value);
|
|
13
|
+
return num > 1e10 ? dayjs(num) : dayjs.unix(num);
|
|
14
|
+
}
|
|
15
|
+
const parsed = dayjs(value);
|
|
16
|
+
return parsed.isValid() ? parsed : null;
|
|
17
|
+
}
|
|
18
|
+
if (typeof value === "number") {
|
|
19
|
+
return value > 1e10 ? dayjs(value) : dayjs.unix(value);
|
|
20
|
+
}
|
|
21
|
+
if (value instanceof Date) {
|
|
22
|
+
const parsed = dayjs(value);
|
|
23
|
+
return parsed.isValid() ? parsed : null;
|
|
24
|
+
}
|
|
25
|
+
return null;
|
|
26
|
+
} catch (error) {
|
|
27
|
+
console.error("Error parsing date:", error, value);
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function formatDate(value) {
|
|
32
|
+
const date = parseDate(value);
|
|
33
|
+
if (!date) return "\u2014";
|
|
34
|
+
try {
|
|
35
|
+
return date.format("DD MMM YYYY, HH:mm");
|
|
36
|
+
} catch (error) {
|
|
37
|
+
console.error("Error formatting date:", error);
|
|
38
|
+
return "\u2014";
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
function formatDateOnly(value) {
|
|
42
|
+
const date = parseDate(value);
|
|
43
|
+
if (!date) return "\u2014";
|
|
44
|
+
try {
|
|
45
|
+
return date.format("DD MMM YYYY");
|
|
46
|
+
} catch (error) {
|
|
47
|
+
console.error("Error formatting date:", error);
|
|
48
|
+
return "\u2014";
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
function formatTimeOnly(value) {
|
|
52
|
+
const date = parseDate(value);
|
|
53
|
+
if (!date) return "\u2014";
|
|
54
|
+
try {
|
|
55
|
+
return date.format("HH:mm");
|
|
56
|
+
} catch (error) {
|
|
57
|
+
console.error("Error formatting time:", error);
|
|
58
|
+
return "\u2014";
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
function formatRelative(value) {
|
|
62
|
+
const date = parseDate(value);
|
|
63
|
+
if (!date) return "\u2014";
|
|
64
|
+
const diffMs = Date.now() - date.valueOf();
|
|
65
|
+
if (diffMs < 6e4) return "just now";
|
|
66
|
+
const mins = Math.floor(diffMs / 6e4);
|
|
67
|
+
if (mins < 60) return `${mins}m ago`;
|
|
68
|
+
const hours = Math.floor(mins / 60);
|
|
69
|
+
if (hours < 24) return `${hours}h ago`;
|
|
70
|
+
const days = Math.floor(hours / 24);
|
|
71
|
+
if (days < 7) return `${days}d ago`;
|
|
72
|
+
return date.format("DD MMM YYYY");
|
|
73
|
+
}
|
|
74
|
+
function formatRelativeLong(value, now = /* @__PURE__ */ new Date()) {
|
|
75
|
+
const date = parseDate(value);
|
|
76
|
+
const reference = parseDate(now);
|
|
77
|
+
if (!date || !reference) return null;
|
|
78
|
+
const diffMs = Math.max(0, reference.valueOf() - date.valueOf());
|
|
79
|
+
const minutes = Math.floor(diffMs / 6e4);
|
|
80
|
+
if (minutes < 1) return "Just now";
|
|
81
|
+
if (minutes < 60) return `${minutes} ${minutes === 1 ? "minute" : "minutes"} ago`;
|
|
82
|
+
const hours = Math.floor(minutes / 60);
|
|
83
|
+
if (hours < 24) return `${hours} ${hours === 1 ? "hour" : "hours"} ago`;
|
|
84
|
+
const days = Math.floor(hours / 24);
|
|
85
|
+
if (days < 30) return `${days} ${days === 1 ? "day" : "days"} ago`;
|
|
86
|
+
const months = Math.floor(days / 30);
|
|
87
|
+
if (months < 12) return `${months} ${months === 1 ? "month" : "months"} ago`;
|
|
88
|
+
const years = Math.max(1, Math.floor(days / 365));
|
|
89
|
+
return `${years} ${years === 1 ? "year" : "years"} ago`;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export {
|
|
93
|
+
formatDate,
|
|
94
|
+
formatDateOnly,
|
|
95
|
+
formatTimeOnly,
|
|
96
|
+
formatRelative,
|
|
97
|
+
formatRelativeLong
|
|
98
|
+
};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var _chunkKWLSBTB2cjs = require('./chunk-KWLSBTB2.cjs');
|
|
5
|
+
|
|
6
|
+
// src/primitives/callout.tsx
|
|
7
|
+
var _jsxruntime = require('react/jsx-runtime');
|
|
8
|
+
var PADDING_CLASS = {
|
|
9
|
+
none: "",
|
|
10
|
+
sm: "p-2",
|
|
11
|
+
compact: "px-3 py-2",
|
|
12
|
+
md: "p-3",
|
|
13
|
+
lg: "p-4"
|
|
14
|
+
};
|
|
15
|
+
var POINTER_BASE = "before:absolute before:block before:h-3 before:w-3 before:rotate-45 before:border before:border-border before:bg-muted/40";
|
|
16
|
+
var POINTER_POSITION = {
|
|
17
|
+
// Top edge — visible half is the upper triangle. Keep top + left borders.
|
|
18
|
+
"top": "before:left-1/2 before:-translate-x-1/2 before:-top-[7px] before:border-r-0 before:border-b-0",
|
|
19
|
+
"top-left": "before:left-5 before:-top-[7px] before:border-r-0 before:border-b-0",
|
|
20
|
+
"top-right": "before:right-5 before:-top-[7px] before:border-r-0 before:border-b-0",
|
|
21
|
+
// Bottom edge — visible half is the lower triangle. Keep bottom + right.
|
|
22
|
+
"bottom": "before:left-1/2 before:-translate-x-1/2 before:-bottom-[7px] before:border-l-0 before:border-t-0",
|
|
23
|
+
"bottom-left": "before:left-5 before:-bottom-[7px] before:border-l-0 before:border-t-0",
|
|
24
|
+
"bottom-right": "before:right-5 before:-bottom-[7px] before:border-l-0 before:border-t-0",
|
|
25
|
+
// Left edge — keep left + bottom (form the left-pointing chevron).
|
|
26
|
+
"left": "before:top-1/2 before:-translate-y-1/2 before:-left-[7px] before:border-r-0 before:border-t-0",
|
|
27
|
+
// Right edge — keep top + right.
|
|
28
|
+
"right": "before:top-1/2 before:-translate-y-1/2 before:-right-[7px] before:border-l-0 before:border-b-0"
|
|
29
|
+
};
|
|
30
|
+
function Callout({
|
|
31
|
+
pointer,
|
|
32
|
+
padding = "md",
|
|
33
|
+
children,
|
|
34
|
+
className,
|
|
35
|
+
tone = "default",
|
|
36
|
+
marginBottom = "none",
|
|
37
|
+
textSize = "inherit"
|
|
38
|
+
}) {
|
|
39
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
40
|
+
"div",
|
|
41
|
+
{
|
|
42
|
+
className: _chunkKWLSBTB2cjs.cn.call(void 0,
|
|
43
|
+
"relative rounded-md border border-border bg-muted/40",
|
|
44
|
+
PADDING_CLASS[padding],
|
|
45
|
+
tone === "warning" && "border-l-2 border-amber-500 bg-amber-500/5",
|
|
46
|
+
marginBottom === "md" && "mb-3",
|
|
47
|
+
textSize === "micro" && "text-[11px]",
|
|
48
|
+
pointer && POINTER_BASE,
|
|
49
|
+
pointer && POINTER_POSITION[pointer],
|
|
50
|
+
className
|
|
51
|
+
),
|
|
52
|
+
children
|
|
53
|
+
}
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
exports.Callout = Callout;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
cn
|
|
4
|
+
} from "./chunk-G6SRSWXB.js";
|
|
5
|
+
|
|
6
|
+
// src/primitives/badge.tsx
|
|
7
|
+
import { cva } from "class-variance-authority";
|
|
8
|
+
import { jsx } from "react/jsx-runtime";
|
|
9
|
+
var badgeVariants = cva(
|
|
10
|
+
"inline-flex items-center rounded-full border border-border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 dark:border-border dark:focus:ring-ring",
|
|
11
|
+
{
|
|
12
|
+
variants: {
|
|
13
|
+
variant: {
|
|
14
|
+
default: "border-transparent bg-muted text-muted-foreground hover:bg-muted/80",
|
|
15
|
+
secondary: "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
16
|
+
destructive: "border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",
|
|
17
|
+
outline: "text-foreground",
|
|
18
|
+
// Semantic variants for status badges
|
|
19
|
+
success: "border-transparent bg-green-100 text-green-800 dark:bg-green-900/20 dark:text-green-400 hover:bg-green-100/80",
|
|
20
|
+
warning: "border-transparent bg-yellow-100 text-yellow-800 dark:bg-yellow-900/20 dark:text-yellow-400 hover:bg-yellow-100/80",
|
|
21
|
+
error: "border-transparent bg-red-100 text-red-800 dark:bg-red-900/20 dark:text-red-400 hover:bg-red-100/80",
|
|
22
|
+
info: "border-transparent bg-blue-100 text-blue-800 dark:bg-blue-900/20 dark:text-blue-400 hover:bg-blue-100/80",
|
|
23
|
+
neutral: "border-transparent bg-gray-100 text-gray-800 dark:bg-gray-800 dark:text-gray-300 hover:bg-gray-100/80"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
defaultVariants: {
|
|
27
|
+
variant: "default"
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
);
|
|
31
|
+
function Badge({ className, variant, weight = "semibold", gap = "xs", size = "default", padding = "default", shrink = false, interactive = false, marginStart = "none", transform = "none", shape = "pill", marginTop = "none", font = "sans", titleCase = "preserve", as, ...props }) {
|
|
32
|
+
const Component = as ?? "div";
|
|
33
|
+
return /* @__PURE__ */ jsx(Component, { "data-slot": "badge", "data-variant": variant ?? "default", "data-size": size, "data-padding": padding, "data-shape": shape, className: cn(
|
|
34
|
+
badgeVariants({ variant }),
|
|
35
|
+
weight === "normal" && "font-normal",
|
|
36
|
+
weight === "bold" && "font-bold",
|
|
37
|
+
gap === "xs" && "gap-1",
|
|
38
|
+
size === "compact" && "px-1.5 py-0.5 text-[11px] leading-none",
|
|
39
|
+
size === "micro" && "text-[10px]",
|
|
40
|
+
size === "micro-compact" && "px-1.5 py-0 text-[10px] leading-none",
|
|
41
|
+
size === "tiny" && "h-3.5 px-1 py-0 text-[9px]",
|
|
42
|
+
size === "counter" && "h-5 min-w-5 justify-center px-1.5",
|
|
43
|
+
size === "tile" && "h-8 w-8 justify-center p-0 text-sm",
|
|
44
|
+
size === "rule" && "px-3 py-1.5 text-sm",
|
|
45
|
+
padding === "roomy" && "px-3 py-1",
|
|
46
|
+
shrink && "shrink-0",
|
|
47
|
+
interactive && "cursor-pointer hover:bg-muted",
|
|
48
|
+
marginStart === "md" && "ml-2",
|
|
49
|
+
transform === "uppercase" && "uppercase tracking-wide",
|
|
50
|
+
shape === "rounded" && "rounded-md",
|
|
51
|
+
marginTop === "tight" && "mt-0.5",
|
|
52
|
+
font === "mono" && "font-mono",
|
|
53
|
+
titleCase === "capitalize" && "capitalize",
|
|
54
|
+
className
|
|
55
|
+
), ...props });
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export {
|
|
59
|
+
badgeVariants,
|
|
60
|
+
Badge
|
|
61
|
+
};
|
|
@@ -0,0 +1,137 @@
|
|
|
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; } } 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/tabs.tsx
|
|
7
|
+
var _reacttabs = require('@radix-ui/react-tabs'); var TabsPrimitive = _interopRequireWildcard(_reacttabs);
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
var _react = require('react');
|
|
16
|
+
var _jsxruntime = require('react/jsx-runtime');
|
|
17
|
+
var Tabs = TabsPrimitive.Root;
|
|
18
|
+
var TabsList = _react.forwardRef.call(void 0,
|
|
19
|
+
function TabsList2({
|
|
20
|
+
className,
|
|
21
|
+
responsiveGrid = false,
|
|
22
|
+
scrollable = false,
|
|
23
|
+
width = "auto",
|
|
24
|
+
marginBottom = "none",
|
|
25
|
+
...props
|
|
26
|
+
}, ref) {
|
|
27
|
+
const listRef = _react.useRef.call(void 0, null);
|
|
28
|
+
const [overflow, setOverflow] = _react.useState.call(void 0, { start: false, end: false });
|
|
29
|
+
_react.useImperativeHandle.call(void 0, ref, () => listRef.current);
|
|
30
|
+
const updateOverflow = _react.useCallback.call(void 0, () => {
|
|
31
|
+
const node = listRef.current;
|
|
32
|
+
if (!node) return;
|
|
33
|
+
const maxScrollLeft = Math.max(0, node.scrollWidth - node.clientWidth);
|
|
34
|
+
const next = {
|
|
35
|
+
start: node.scrollLeft > 1,
|
|
36
|
+
end: node.scrollLeft < maxScrollLeft - 1
|
|
37
|
+
};
|
|
38
|
+
setOverflow(
|
|
39
|
+
(current) => current.start === next.start && current.end === next.end ? current : next
|
|
40
|
+
);
|
|
41
|
+
}, []);
|
|
42
|
+
_react.useEffect.call(void 0, () => {
|
|
43
|
+
const node = listRef.current;
|
|
44
|
+
if (!scrollable || !node) {
|
|
45
|
+
setOverflow({ start: false, end: false });
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
updateOverflow();
|
|
49
|
+
node.addEventListener("scroll", updateOverflow, { passive: true });
|
|
50
|
+
window.addEventListener("resize", updateOverflow);
|
|
51
|
+
const observer = typeof ResizeObserver === "undefined" ? null : new ResizeObserver(updateOverflow);
|
|
52
|
+
_optionalChain([observer, 'optionalAccess', _ => _.observe, 'call', _2 => _2(node)]);
|
|
53
|
+
return () => {
|
|
54
|
+
node.removeEventListener("scroll", updateOverflow);
|
|
55
|
+
window.removeEventListener("resize", updateOverflow);
|
|
56
|
+
_optionalChain([observer, 'optionalAccess', _3 => _3.disconnect, 'call', _4 => _4()]);
|
|
57
|
+
};
|
|
58
|
+
}, [scrollable, updateOverflow]);
|
|
59
|
+
const list = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
60
|
+
TabsPrimitive.List,
|
|
61
|
+
{
|
|
62
|
+
ref: listRef,
|
|
63
|
+
className: _chunkKWLSBTB2cjs.cn.call(void 0,
|
|
64
|
+
"min-h-10 h-auto items-center rounded-md bg-muted p-1 text-muted-foreground",
|
|
65
|
+
responsiveGrid ? "grid grid-cols-2 sm:grid-cols-4 [&>*]:min-w-0 [&>*]:whitespace-normal" : scrollable ? "flex max-w-full justify-start overflow-x-auto [scrollbar-width:none] [&::-webkit-scrollbar]:hidden" : "inline-flex justify-start",
|
|
66
|
+
width === "full" && "w-full",
|
|
67
|
+
marginBottom === "lg" && "mb-6",
|
|
68
|
+
className
|
|
69
|
+
),
|
|
70
|
+
...props
|
|
71
|
+
}
|
|
72
|
+
);
|
|
73
|
+
if (!scrollable || responsiveGrid) return list;
|
|
74
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkKWLSBTB2cjs.cn.call(void 0, "relative max-w-full", width === "full" && "w-full"), children: [
|
|
75
|
+
list,
|
|
76
|
+
overflow.start && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
77
|
+
"span",
|
|
78
|
+
{
|
|
79
|
+
"aria-hidden": "true",
|
|
80
|
+
"data-scroll-fade": "start",
|
|
81
|
+
className: "pointer-events-none absolute inset-y-1 left-0 z-10 w-10 rounded-l-md bg-linear-to-r from-muted to-transparent"
|
|
82
|
+
}
|
|
83
|
+
),
|
|
84
|
+
overflow.end && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
85
|
+
"span",
|
|
86
|
+
{
|
|
87
|
+
"aria-hidden": "true",
|
|
88
|
+
"data-scroll-fade": "end",
|
|
89
|
+
className: "pointer-events-none absolute inset-y-1 right-0 z-10 w-10 rounded-r-md bg-linear-to-l from-muted to-transparent"
|
|
90
|
+
}
|
|
91
|
+
)
|
|
92
|
+
] });
|
|
93
|
+
}
|
|
94
|
+
);
|
|
95
|
+
TabsList.displayName = TabsPrimitive.List.displayName;
|
|
96
|
+
var triggerPadding = {
|
|
97
|
+
sm: "px-2 py-1",
|
|
98
|
+
md: "px-3 py-1.5",
|
|
99
|
+
lg: "px-4 py-2",
|
|
100
|
+
xl: "px-6 py-3"
|
|
101
|
+
};
|
|
102
|
+
var TabsTrigger = _react.forwardRef.call(void 0, ({ className, padding = "xl", ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
103
|
+
TabsPrimitive.Trigger,
|
|
104
|
+
{
|
|
105
|
+
ref,
|
|
106
|
+
className: _chunkKWLSBTB2cjs.cn.call(void 0,
|
|
107
|
+
"inline-flex shrink-0 items-center justify-center gap-2 whitespace-nowrap rounded-sm text-sm font-medium ring-offset-background transition-all focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-xs",
|
|
108
|
+
triggerPadding[padding],
|
|
109
|
+
className
|
|
110
|
+
),
|
|
111
|
+
...props
|
|
112
|
+
}
|
|
113
|
+
));
|
|
114
|
+
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
|
|
115
|
+
var TabsContent = _react.forwardRef.call(void 0, ({ className, spacing = "none", marginTop = "default", ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
116
|
+
TabsPrimitive.Content,
|
|
117
|
+
{
|
|
118
|
+
ref,
|
|
119
|
+
className: _chunkKWLSBTB2cjs.cn.call(void 0,
|
|
120
|
+
marginTop === "default" ? "mt-2" : "mt-3",
|
|
121
|
+
"ring-offset-background focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
|
|
122
|
+
spacing === "compact" && "space-y-3",
|
|
123
|
+
spacing === "md" && "space-y-4",
|
|
124
|
+
spacing === "relaxed" && "space-y-6",
|
|
125
|
+
className
|
|
126
|
+
),
|
|
127
|
+
...props
|
|
128
|
+
}
|
|
129
|
+
));
|
|
130
|
+
TabsContent.displayName = TabsPrimitive.Content.displayName;
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent;
|