@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,171 @@
|
|
|
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 _chunkL4DH72UFcjs = require('./chunk-L4DH72UF.cjs');
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
var _chunkKWLSBTB2cjs = require('./chunk-KWLSBTB2.cjs');
|
|
8
|
+
|
|
9
|
+
// src/primitives/quick-filters.tsx
|
|
10
|
+
var _jsxruntime = require('react/jsx-runtime');
|
|
11
|
+
function definedKeys(obj) {
|
|
12
|
+
return Object.keys(obj).filter((k) => obj[k] !== void 0 && obj[k] !== null);
|
|
13
|
+
}
|
|
14
|
+
function valuesEqual(a, b) {
|
|
15
|
+
if (typeof a === "object" && typeof b === "object") {
|
|
16
|
+
return JSON.stringify(a) === JSON.stringify(b);
|
|
17
|
+
}
|
|
18
|
+
return a === b;
|
|
19
|
+
}
|
|
20
|
+
function areFiltersEqual(filters1, filters2) {
|
|
21
|
+
const keys1 = definedKeys(filters1);
|
|
22
|
+
const keys2 = definedKeys(filters2);
|
|
23
|
+
if (keys1.length !== keys2.length) return false;
|
|
24
|
+
return keys1.every((key) => valuesEqual(filters1[key], filters2[key]));
|
|
25
|
+
}
|
|
26
|
+
function Shell({
|
|
27
|
+
showLabel,
|
|
28
|
+
appearance,
|
|
29
|
+
className,
|
|
30
|
+
children
|
|
31
|
+
}) {
|
|
32
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
33
|
+
"div",
|
|
34
|
+
{
|
|
35
|
+
className: _chunkKWLSBTB2cjs.cn.call(void 0,
|
|
36
|
+
"flex items-center gap-3",
|
|
37
|
+
showLabel && "justify-between",
|
|
38
|
+
appearance === "underline" ? "border-b border-border" : "rounded-md bg-muted/50 p-3",
|
|
39
|
+
className
|
|
40
|
+
),
|
|
41
|
+
children: [
|
|
42
|
+
showLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
43
|
+
"span",
|
|
44
|
+
{
|
|
45
|
+
className: _chunkKWLSBTB2cjs.cn.call(void 0,
|
|
46
|
+
"text-sm font-medium text-muted-foreground",
|
|
47
|
+
appearance === "underline" && "py-3"
|
|
48
|
+
),
|
|
49
|
+
children: "Quick filters:"
|
|
50
|
+
}
|
|
51
|
+
),
|
|
52
|
+
children
|
|
53
|
+
]
|
|
54
|
+
}
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
function QuickFilters({
|
|
58
|
+
quickFilters,
|
|
59
|
+
activeFilters,
|
|
60
|
+
onFilterClick,
|
|
61
|
+
showLabel = true,
|
|
62
|
+
appearance = "surface",
|
|
63
|
+
className = ""
|
|
64
|
+
}) {
|
|
65
|
+
if (!quickFilters || quickFilters.length === 0) {
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
const hasGroups = quickFilters.some((f) => f.group !== void 0);
|
|
69
|
+
if (!hasGroups) {
|
|
70
|
+
const isActive2 = (qf) => areFiltersEqual(activeFilters, qf.filters);
|
|
71
|
+
const handleClick2 = (qf) => isActive2(qf) ? onFilterClick({}) : onFilterClick(qf.filters);
|
|
72
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Shell, { showLabel, appearance, className, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkKWLSBTB2cjs.cn.call(void 0, "flex items-center flex-wrap", appearance === "underline" ? "gap-6" : "gap-2"), children: quickFilters.map((filter) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
73
|
+
_chunkL4DH72UFcjs.Button,
|
|
74
|
+
{
|
|
75
|
+
variant: appearance === "underline" ? "ghost" : isActive2(filter) ? "default" : "outline",
|
|
76
|
+
size: "sm",
|
|
77
|
+
onClick: () => handleClick2(filter),
|
|
78
|
+
"aria-pressed": isActive2(filter),
|
|
79
|
+
className: _chunkKWLSBTB2cjs.cn.call(void 0,
|
|
80
|
+
"h-8",
|
|
81
|
+
appearance === "underline" && "-mb-px h-11 rounded-none border-b-2 px-0 hover:bg-transparent",
|
|
82
|
+
appearance === "underline" && (isActive2(filter) ? "border-primary text-foreground" : "border-transparent text-muted-foreground hover:text-foreground")
|
|
83
|
+
),
|
|
84
|
+
children: filter.label
|
|
85
|
+
},
|
|
86
|
+
filter.id
|
|
87
|
+
)) }) });
|
|
88
|
+
}
|
|
89
|
+
const effGroup = (f) => _nullishCoalesce(f.group, () => ( f.id));
|
|
90
|
+
const order = [];
|
|
91
|
+
const byGroup = /* @__PURE__ */ new Map();
|
|
92
|
+
for (const f of quickFilters) {
|
|
93
|
+
const g = effGroup(f);
|
|
94
|
+
if (!byGroup.has(g)) {
|
|
95
|
+
byGroup.set(g, []);
|
|
96
|
+
order.push(g);
|
|
97
|
+
}
|
|
98
|
+
byGroup.get(g).push(f);
|
|
99
|
+
}
|
|
100
|
+
const ownedKeys = (g) => {
|
|
101
|
+
const keys = /* @__PURE__ */ new Set();
|
|
102
|
+
for (const f of byGroup.get(g)) for (const k of definedKeys(f.filters)) keys.add(k);
|
|
103
|
+
return [...keys];
|
|
104
|
+
};
|
|
105
|
+
const isActive = (f) => {
|
|
106
|
+
const keys = definedKeys(f.filters);
|
|
107
|
+
if (keys.length === 0) {
|
|
108
|
+
return ownedKeys(effGroup(f)).every(
|
|
109
|
+
(k) => activeFilters[k] === void 0 || activeFilters[k] === null
|
|
110
|
+
);
|
|
111
|
+
}
|
|
112
|
+
return keys.every((k) => valuesEqual(activeFilters[k], f.filters[k]));
|
|
113
|
+
};
|
|
114
|
+
const handleClick = (f) => {
|
|
115
|
+
const base = { ...activeFilters };
|
|
116
|
+
for (const k of ownedKeys(effGroup(f))) delete base[k];
|
|
117
|
+
onFilterClick(isActive(f) ? base : { ...base, ...f.filters });
|
|
118
|
+
};
|
|
119
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Shell, { showLabel, appearance, className, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkKWLSBTB2cjs.cn.call(void 0, "flex items-center flex-wrap", appearance === "underline" ? "gap-6" : "gap-2"), children: order.map((g) => {
|
|
120
|
+
const fs = byGroup.get(g);
|
|
121
|
+
if (fs.length === 1) {
|
|
122
|
+
const filter = fs[0];
|
|
123
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
124
|
+
_chunkL4DH72UFcjs.Button,
|
|
125
|
+
{
|
|
126
|
+
variant: appearance === "underline" ? "ghost" : isActive(filter) ? "default" : "outline",
|
|
127
|
+
size: "sm",
|
|
128
|
+
onClick: () => handleClick(filter),
|
|
129
|
+
"aria-pressed": isActive(filter),
|
|
130
|
+
className: _chunkKWLSBTB2cjs.cn.call(void 0,
|
|
131
|
+
"h-8",
|
|
132
|
+
appearance === "underline" && "-mb-px h-11 rounded-none border-b-2 px-0 hover:bg-transparent",
|
|
133
|
+
appearance === "underline" && (isActive(filter) ? "border-primary text-foreground" : "border-transparent text-muted-foreground hover:text-foreground")
|
|
134
|
+
),
|
|
135
|
+
children: filter.label
|
|
136
|
+
},
|
|
137
|
+
filter.id
|
|
138
|
+
);
|
|
139
|
+
}
|
|
140
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
141
|
+
"div",
|
|
142
|
+
{
|
|
143
|
+
className: _chunkKWLSBTB2cjs.cn.call(void 0,
|
|
144
|
+
"inline-flex items-center",
|
|
145
|
+
appearance === "underline" ? "gap-6" : "gap-1 rounded-md border p-0.5"
|
|
146
|
+
),
|
|
147
|
+
children: fs.map((filter) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
148
|
+
_chunkL4DH72UFcjs.Button,
|
|
149
|
+
{
|
|
150
|
+
variant: appearance === "underline" ? "ghost" : isActive(filter) ? "default" : "ghost",
|
|
151
|
+
size: "sm",
|
|
152
|
+
onClick: () => handleClick(filter),
|
|
153
|
+
"aria-pressed": isActive(filter),
|
|
154
|
+
className: _chunkKWLSBTB2cjs.cn.call(void 0,
|
|
155
|
+
"h-7",
|
|
156
|
+
appearance === "underline" && "-mb-px h-11 rounded-none border-b-2 px-0 hover:bg-transparent",
|
|
157
|
+
appearance === "underline" && (isActive(filter) ? "border-primary text-foreground" : "border-transparent text-muted-foreground hover:text-foreground")
|
|
158
|
+
),
|
|
159
|
+
children: filter.label
|
|
160
|
+
},
|
|
161
|
+
filter.id
|
|
162
|
+
))
|
|
163
|
+
},
|
|
164
|
+
g
|
|
165
|
+
);
|
|
166
|
+
}) }) });
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
exports.QuickFilters = QuickFilters;
|
|
@@ -0,0 +1,138 @@
|
|
|
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/sheet.tsx
|
|
7
|
+
var _reactdialog = require('@radix-ui/react-dialog'); var SheetPrimitive = _interopRequireWildcard(_reactdialog);
|
|
8
|
+
var _classvarianceauthority = require('class-variance-authority');
|
|
9
|
+
var _react = require('react'); var React = _interopRequireWildcard(_react);
|
|
10
|
+
var _lucidereact = require('lucide-react');
|
|
11
|
+
var _jsxruntime = require('react/jsx-runtime');
|
|
12
|
+
var Sheet = SheetPrimitive.Root;
|
|
13
|
+
var SheetTrigger = SheetPrimitive.Trigger;
|
|
14
|
+
var SheetClose = SheetPrimitive.Close;
|
|
15
|
+
var SheetPortal = SheetPrimitive.Portal;
|
|
16
|
+
var SheetOverlay = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
17
|
+
SheetPrimitive.Overlay,
|
|
18
|
+
{
|
|
19
|
+
className: _chunkKWLSBTB2cjs.cn.call(void 0,
|
|
20
|
+
"fixed inset-0 z-50 bg-black/30 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
21
|
+
className
|
|
22
|
+
),
|
|
23
|
+
...props,
|
|
24
|
+
ref
|
|
25
|
+
}
|
|
26
|
+
));
|
|
27
|
+
SheetOverlay.displayName = SheetPrimitive.Overlay.displayName;
|
|
28
|
+
var sheetVariants = _classvarianceauthority.cva.call(void 0,
|
|
29
|
+
"fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500 flex flex-col overflow-hidden",
|
|
30
|
+
{
|
|
31
|
+
variants: {
|
|
32
|
+
side: {
|
|
33
|
+
top: "inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",
|
|
34
|
+
bottom: "inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",
|
|
35
|
+
left: "inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",
|
|
36
|
+
right: "inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
defaultVariants: {
|
|
40
|
+
side: "right"
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
);
|
|
44
|
+
var SheetContent = React.forwardRef(({ side = "right", className, children, hideClose, width = "default", padding = "default", overflow = "hidden", ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, SheetPortal, { children: [
|
|
45
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, SheetOverlay, {}),
|
|
46
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
47
|
+
SheetPrimitive.Content,
|
|
48
|
+
{
|
|
49
|
+
ref,
|
|
50
|
+
className: _chunkKWLSBTB2cjs.cn.call(void 0,
|
|
51
|
+
sheetVariants({ side }),
|
|
52
|
+
width === "xl" && "w-full sm:max-w-xl",
|
|
53
|
+
width === "full" && "w-full max-w-none sm:max-w-none",
|
|
54
|
+
padding === "none" && "p-0",
|
|
55
|
+
overflow === "y-auto" && "overflow-y-auto",
|
|
56
|
+
className
|
|
57
|
+
),
|
|
58
|
+
...props,
|
|
59
|
+
children: [
|
|
60
|
+
children,
|
|
61
|
+
!hideClose && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, SheetPrimitive.Close, { "aria-label": "Close", className: "absolute right-2 top-2 inline-flex h-[44px] w-[44px] items-center justify-center rounded-md text-muted-foreground ring-offset-background transition-colors hover:bg-accent hover:text-foreground focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
|
|
62
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.X, { className: "h-[20px] w-[20px]" }),
|
|
63
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", children: "Close" })
|
|
64
|
+
] })
|
|
65
|
+
]
|
|
66
|
+
}
|
|
67
|
+
)
|
|
68
|
+
] }));
|
|
69
|
+
SheetContent.displayName = SheetPrimitive.Content.displayName;
|
|
70
|
+
var SheetHeader = ({
|
|
71
|
+
className,
|
|
72
|
+
padding = "none",
|
|
73
|
+
border = "none",
|
|
74
|
+
shrink = true,
|
|
75
|
+
align = "responsive",
|
|
76
|
+
paddingEnd = "none",
|
|
77
|
+
...props
|
|
78
|
+
}) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
79
|
+
"div",
|
|
80
|
+
{
|
|
81
|
+
className: _chunkKWLSBTB2cjs.cn.call(void 0,
|
|
82
|
+
"flex flex-col space-y-2 text-center sm:text-left",
|
|
83
|
+
padding === "compact" && "px-4 py-3",
|
|
84
|
+
border === "bottom" && "border-b",
|
|
85
|
+
!shrink && "shrink-0",
|
|
86
|
+
align === "start" && "text-left",
|
|
87
|
+
paddingEnd === "lg" && "pr-6",
|
|
88
|
+
className
|
|
89
|
+
),
|
|
90
|
+
...props
|
|
91
|
+
}
|
|
92
|
+
);
|
|
93
|
+
SheetHeader.displayName = "SheetHeader";
|
|
94
|
+
var SheetFooter = ({
|
|
95
|
+
className,
|
|
96
|
+
...props
|
|
97
|
+
}) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
98
|
+
"div",
|
|
99
|
+
{
|
|
100
|
+
className: _chunkKWLSBTB2cjs.cn.call(void 0,
|
|
101
|
+
"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
|
|
102
|
+
className
|
|
103
|
+
),
|
|
104
|
+
...props
|
|
105
|
+
}
|
|
106
|
+
);
|
|
107
|
+
SheetFooter.displayName = "SheetFooter";
|
|
108
|
+
var SheetTitle = React.forwardRef(({ className, display = "block", ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
109
|
+
SheetPrimitive.Title,
|
|
110
|
+
{
|
|
111
|
+
ref,
|
|
112
|
+
className: _chunkKWLSBTB2cjs.cn.call(void 0, "text-lg font-semibold text-foreground", display === "inline-flex" && "inline-flex items-center gap-2", className),
|
|
113
|
+
...props
|
|
114
|
+
}
|
|
115
|
+
));
|
|
116
|
+
SheetTitle.displayName = SheetPrimitive.Title.displayName;
|
|
117
|
+
var SheetDescription = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
118
|
+
SheetPrimitive.Description,
|
|
119
|
+
{
|
|
120
|
+
ref,
|
|
121
|
+
className: _chunkKWLSBTB2cjs.cn.call(void 0, "text-sm text-muted-foreground", className),
|
|
122
|
+
...props
|
|
123
|
+
}
|
|
124
|
+
));
|
|
125
|
+
SheetDescription.displayName = SheetPrimitive.Description.displayName;
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription;
|
|
@@ -0,0 +1,51 @@
|
|
|
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/input.tsx
|
|
7
|
+
var _react = require('react'); var React = _interopRequireWildcard(_react);
|
|
8
|
+
var _jsxruntime = require('react/jsx-runtime');
|
|
9
|
+
var Input = React.forwardRef(
|
|
10
|
+
({ className, type, selectOnFocus, font = "sans", textSize = "default", controlSize = "default", surface = "default", grow = false, marginTop = "none", tone = "default", controlWidth = "full", shrink = true, weight = "normal", onFocus, ...props }, ref) => {
|
|
11
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
12
|
+
"input",
|
|
13
|
+
{
|
|
14
|
+
type,
|
|
15
|
+
"data-slot": "input",
|
|
16
|
+
className: _chunkKWLSBTB2cjs.cn.call(void 0,
|
|
17
|
+
"flex w-full rounded-md px-3 py-2 ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 transition-colors",
|
|
18
|
+
surface === "default" && "border border-input bg-background enabled:hover:border-muted-foreground/30 enabled:hover:bg-accent/10",
|
|
19
|
+
surface === "ghost" && "border-0 bg-transparent shadow-none",
|
|
20
|
+
controlSize === "default" && "h-11 px-4",
|
|
21
|
+
controlSize === "sm" && "h-9",
|
|
22
|
+
controlSize === "lg" && "h-12 px-4 py-3",
|
|
23
|
+
font === "mono" && "font-mono",
|
|
24
|
+
textSize === "default" && "text-[16px] md:text-sm",
|
|
25
|
+
// iOS Safari zooms focused form controls below 16px. Keep every
|
|
26
|
+
// input at the base size on mobile, even when a compact desktop
|
|
27
|
+
// treatment is requested.
|
|
28
|
+
textSize === "xs" && "text-[16px] md:text-xs",
|
|
29
|
+
grow && "flex-1",
|
|
30
|
+
marginTop === "xs" && "mt-1",
|
|
31
|
+
tone === "muted" && "text-muted-foreground",
|
|
32
|
+
controlWidth === "compact" && "w-32",
|
|
33
|
+
!shrink && "shrink-0",
|
|
34
|
+
weight === "medium" && "font-medium",
|
|
35
|
+
className
|
|
36
|
+
),
|
|
37
|
+
ref,
|
|
38
|
+
onFocus: (e) => {
|
|
39
|
+
if (selectOnFocus) e.currentTarget.select();
|
|
40
|
+
_optionalChain([onFocus, 'optionalCall', _ => _(e)]);
|
|
41
|
+
},
|
|
42
|
+
...props
|
|
43
|
+
}
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
);
|
|
47
|
+
Input.displayName = "Input";
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
exports.Input = Input;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
CountBadge
|
|
4
|
+
} from "./chunk-H7TETFLB.js";
|
|
5
|
+
import {
|
|
6
|
+
cn
|
|
7
|
+
} from "./chunk-G6SRSWXB.js";
|
|
8
|
+
|
|
9
|
+
// src/primitives/chip-tabs.tsx
|
|
10
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
11
|
+
function ChipTabs({
|
|
12
|
+
items,
|
|
13
|
+
value,
|
|
14
|
+
onChange,
|
|
15
|
+
size = "sm",
|
|
16
|
+
variant = "soft",
|
|
17
|
+
trailing,
|
|
18
|
+
className,
|
|
19
|
+
marginBottom = "none",
|
|
20
|
+
placement = "inline",
|
|
21
|
+
disabled = false,
|
|
22
|
+
guidedValue
|
|
23
|
+
}) {
|
|
24
|
+
const padClass = size === "xs" ? "px-1.5 py-0.5" : size === "md" ? "px-3.5 py-2" : "px-2 py-1";
|
|
25
|
+
const textClass = size === "xs" ? "text-[11px]" : size === "md" ? "text-sm" : "text-xs";
|
|
26
|
+
const gapClass = size === "md" ? "gap-2" : "gap-1";
|
|
27
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("flex items-center", gapClass, marginBottom === "lg" && "mb-6", placement === "panel" && "border-b px-3 py-2", className), children: [
|
|
28
|
+
/* @__PURE__ */ jsx("div", { className: cn("flex min-w-0 flex-wrap", gapClass), children: items.map((item) => {
|
|
29
|
+
const active = item.id === value;
|
|
30
|
+
return /* @__PURE__ */ jsxs(
|
|
31
|
+
"button",
|
|
32
|
+
{
|
|
33
|
+
type: "button",
|
|
34
|
+
disabled,
|
|
35
|
+
onClick: () => onChange(item.id),
|
|
36
|
+
className: cn(
|
|
37
|
+
"rounded-md transition-colors inline-flex items-center gap-1 disabled:pointer-events-none disabled:opacity-60",
|
|
38
|
+
textClass,
|
|
39
|
+
padClass,
|
|
40
|
+
variant === "outline" && "border",
|
|
41
|
+
item.id === guidedValue && "ring-2 ring-destructive/60 ring-offset-2 ring-offset-background animate-pulse-once motion-reduce:animate-none",
|
|
42
|
+
active && variant === "soft" && "bg-accent text-accent-foreground font-medium",
|
|
43
|
+
!active && variant === "soft" && "text-muted-foreground hover:bg-accent/50",
|
|
44
|
+
active && variant === "outline" && "border-primary bg-primary/10 text-foreground font-medium",
|
|
45
|
+
!active && variant === "outline" && "border-muted-foreground/50 bg-background text-muted-foreground hover:border-foreground/60 hover:text-foreground"
|
|
46
|
+
),
|
|
47
|
+
children: [
|
|
48
|
+
item.icon,
|
|
49
|
+
item.label,
|
|
50
|
+
item.count != null && item.count > 0 && /* @__PURE__ */ jsx(CountBadge, { value: item.count, variant: "secondary" })
|
|
51
|
+
]
|
|
52
|
+
},
|
|
53
|
+
item.id
|
|
54
|
+
);
|
|
55
|
+
}) }),
|
|
56
|
+
trailing && /* @__PURE__ */ jsx("div", { className: "ml-auto flex items-center gap-1", children: trailing })
|
|
57
|
+
] });
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export {
|
|
61
|
+
ChipTabs
|
|
62
|
+
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
cn
|
|
4
|
+
} from "./chunk-G6SRSWXB.js";
|
|
5
|
+
|
|
6
|
+
// src/primitives/input.tsx
|
|
7
|
+
import * as React from "react";
|
|
8
|
+
import { jsx } from "react/jsx-runtime";
|
|
9
|
+
var Input = React.forwardRef(
|
|
10
|
+
({ className, type, selectOnFocus, font = "sans", textSize = "default", controlSize = "default", surface = "default", grow = false, marginTop = "none", tone = "default", controlWidth = "full", shrink = true, weight = "normal", onFocus, ...props }, ref) => {
|
|
11
|
+
return /* @__PURE__ */ jsx(
|
|
12
|
+
"input",
|
|
13
|
+
{
|
|
14
|
+
type,
|
|
15
|
+
"data-slot": "input",
|
|
16
|
+
className: cn(
|
|
17
|
+
"flex w-full rounded-md px-3 py-2 ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 transition-colors",
|
|
18
|
+
surface === "default" && "border border-input bg-background enabled:hover:border-muted-foreground/30 enabled:hover:bg-accent/10",
|
|
19
|
+
surface === "ghost" && "border-0 bg-transparent shadow-none",
|
|
20
|
+
controlSize === "default" && "h-11 px-4",
|
|
21
|
+
controlSize === "sm" && "h-9",
|
|
22
|
+
controlSize === "lg" && "h-12 px-4 py-3",
|
|
23
|
+
font === "mono" && "font-mono",
|
|
24
|
+
textSize === "default" && "text-[16px] md:text-sm",
|
|
25
|
+
// iOS Safari zooms focused form controls below 16px. Keep every
|
|
26
|
+
// input at the base size on mobile, even when a compact desktop
|
|
27
|
+
// treatment is requested.
|
|
28
|
+
textSize === "xs" && "text-[16px] md:text-xs",
|
|
29
|
+
grow && "flex-1",
|
|
30
|
+
marginTop === "xs" && "mt-1",
|
|
31
|
+
tone === "muted" && "text-muted-foreground",
|
|
32
|
+
controlWidth === "compact" && "w-32",
|
|
33
|
+
!shrink && "shrink-0",
|
|
34
|
+
weight === "medium" && "font-medium",
|
|
35
|
+
className
|
|
36
|
+
),
|
|
37
|
+
ref,
|
|
38
|
+
onFocus: (e) => {
|
|
39
|
+
if (selectOnFocus) e.currentTarget.select();
|
|
40
|
+
onFocus?.(e);
|
|
41
|
+
},
|
|
42
|
+
...props
|
|
43
|
+
}
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
);
|
|
47
|
+
Input.displayName = "Input";
|
|
48
|
+
|
|
49
|
+
export {
|
|
50
|
+
Input
|
|
51
|
+
};
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
DropdownMenu,
|
|
4
|
+
DropdownMenuContent,
|
|
5
|
+
DropdownMenuItem,
|
|
6
|
+
DropdownMenuSeparator,
|
|
7
|
+
DropdownMenuSub,
|
|
8
|
+
DropdownMenuSubContent,
|
|
9
|
+
DropdownMenuSubTrigger,
|
|
10
|
+
DropdownMenuTrigger
|
|
11
|
+
} from "./chunk-V4LE2HWP.js";
|
|
12
|
+
import {
|
|
13
|
+
Button
|
|
14
|
+
} from "./chunk-HQRWRRZJ.js";
|
|
15
|
+
import {
|
|
16
|
+
cn
|
|
17
|
+
} from "./chunk-G6SRSWXB.js";
|
|
18
|
+
|
|
19
|
+
// src/primitives/page-header-actions.tsx
|
|
20
|
+
import { Fragment } from "react";
|
|
21
|
+
import { ChevronDown } from "lucide-react";
|
|
22
|
+
import { Fragment as Fragment2, jsx, jsxs } from "react/jsx-runtime";
|
|
23
|
+
function MenuActionContent({ action }) {
|
|
24
|
+
return /* @__PURE__ */ jsxs(Fragment2, { children: [
|
|
25
|
+
action.icon,
|
|
26
|
+
/* @__PURE__ */ jsxs("span", { className: "flex min-w-0 flex-col gap-0.5", children: [
|
|
27
|
+
/* @__PURE__ */ jsx("span", { children: action.label }),
|
|
28
|
+
action.description && /* @__PURE__ */ jsx("span", { className: "text-xs font-normal leading-snug text-muted-foreground", children: action.description })
|
|
29
|
+
] })
|
|
30
|
+
] });
|
|
31
|
+
}
|
|
32
|
+
function MenuActions({ actions }) {
|
|
33
|
+
return actions.map((action) => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
34
|
+
action.separatorBefore && /* @__PURE__ */ jsx(DropdownMenuSeparator, {}),
|
|
35
|
+
action.items?.length ? /* @__PURE__ */ jsxs(DropdownMenuSub, { children: [
|
|
36
|
+
/* @__PURE__ */ jsx(DropdownMenuSubTrigger, { disabled: action.disabled, children: /* @__PURE__ */ jsx(MenuActionContent, { action }) }),
|
|
37
|
+
/* @__PURE__ */ jsx(DropdownMenuSubContent, { children: /* @__PURE__ */ jsx(MenuActions, { actions: action.items }) })
|
|
38
|
+
] }) : /* @__PURE__ */ jsx(
|
|
39
|
+
DropdownMenuItem,
|
|
40
|
+
{
|
|
41
|
+
disabled: action.disabled,
|
|
42
|
+
tone: action.tone,
|
|
43
|
+
onSelect: action.onSelect,
|
|
44
|
+
className: action.description ? "items-start" : void 0,
|
|
45
|
+
children: /* @__PURE__ */ jsx(MenuActionContent, { action })
|
|
46
|
+
}
|
|
47
|
+
)
|
|
48
|
+
] }, action.id));
|
|
49
|
+
}
|
|
50
|
+
function PageHeaderActions({
|
|
51
|
+
actions,
|
|
52
|
+
mobileLabel = "Actions",
|
|
53
|
+
mobileAriaLabel,
|
|
54
|
+
className
|
|
55
|
+
}) {
|
|
56
|
+
if (actions.length === 0) return null;
|
|
57
|
+
const priorityFor = (action) => {
|
|
58
|
+
if (action.priority) return action.priority;
|
|
59
|
+
if (action.variant === "default") return "primary";
|
|
60
|
+
if (["quiet", "ghost", "ghost-destructive", "link", "link-muted"].includes(action.variant ?? "")) {
|
|
61
|
+
return "tertiary";
|
|
62
|
+
}
|
|
63
|
+
return "secondary";
|
|
64
|
+
};
|
|
65
|
+
const hasPrimaryAction = actions.some((action) => priorityFor(action) === "primary");
|
|
66
|
+
const desktopActions = hasPrimaryAction ? actions.map((action, index) => ({ action, index })).sort((left, right) => {
|
|
67
|
+
const rank = { tertiary: 0, secondary: 1, primary: 2 };
|
|
68
|
+
return rank[priorityFor(left.action)] - rank[priorityFor(right.action)] || left.index - right.index;
|
|
69
|
+
}).map(({ action }) => action) : actions;
|
|
70
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("shrink-0", className), children: [
|
|
71
|
+
/* @__PURE__ */ jsx(
|
|
72
|
+
"div",
|
|
73
|
+
{
|
|
74
|
+
className: "hidden items-center gap-2 sm:flex",
|
|
75
|
+
"data-slot": "page-header-actions-desktop",
|
|
76
|
+
children: desktopActions.map(
|
|
77
|
+
(action) => action.items?.length ? /* @__PURE__ */ jsxs(DropdownMenu, { children: [
|
|
78
|
+
/* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
|
|
79
|
+
Button,
|
|
80
|
+
{
|
|
81
|
+
type: "button",
|
|
82
|
+
size: "sm",
|
|
83
|
+
variant: action.variant ?? "outline",
|
|
84
|
+
disabled: action.disabled,
|
|
85
|
+
title: action.title,
|
|
86
|
+
children: [
|
|
87
|
+
action.icon,
|
|
88
|
+
action.label,
|
|
89
|
+
/* @__PURE__ */ jsx(ChevronDown, { "aria-hidden": "true" })
|
|
90
|
+
]
|
|
91
|
+
}
|
|
92
|
+
) }),
|
|
93
|
+
/* @__PURE__ */ jsx(DropdownMenuContent, { align: "end", width: "compact", children: /* @__PURE__ */ jsx(MenuActions, { actions: action.items }) })
|
|
94
|
+
] }, action.id) : /* @__PURE__ */ jsxs(
|
|
95
|
+
Button,
|
|
96
|
+
{
|
|
97
|
+
type: "button",
|
|
98
|
+
size: "sm",
|
|
99
|
+
variant: action.variant ?? "outline",
|
|
100
|
+
disabled: action.disabled,
|
|
101
|
+
title: action.title,
|
|
102
|
+
onClick: action.onSelect,
|
|
103
|
+
children: [
|
|
104
|
+
action.icon,
|
|
105
|
+
action.label
|
|
106
|
+
]
|
|
107
|
+
},
|
|
108
|
+
action.id
|
|
109
|
+
)
|
|
110
|
+
)
|
|
111
|
+
}
|
|
112
|
+
),
|
|
113
|
+
/* @__PURE__ */ jsx("div", { className: "sm:hidden", "data-slot": "page-header-actions-mobile", children: /* @__PURE__ */ jsxs(DropdownMenu, { children: [
|
|
114
|
+
/* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(Button, { type: "button", size: "sm", variant: "outline", "aria-label": mobileAriaLabel, children: [
|
|
115
|
+
mobileLabel,
|
|
116
|
+
/* @__PURE__ */ jsx(ChevronDown, { "aria-hidden": "true" })
|
|
117
|
+
] }) }),
|
|
118
|
+
/* @__PURE__ */ jsx(DropdownMenuContent, { align: "end", width: "compact", children: /* @__PURE__ */ jsx(MenuActions, { actions }) })
|
|
119
|
+
] }) })
|
|
120
|
+
] });
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
export {
|
|
124
|
+
PageHeaderActions
|
|
125
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
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
|
+
// src/hooks/use-mobile.tsx
|
|
4
|
+
var _react = require('react'); var React = _interopRequireWildcard(_react);
|
|
5
|
+
var MOBILE_BREAKPOINT = 768;
|
|
6
|
+
function useIsMobile() {
|
|
7
|
+
const [isMobile, setIsMobile] = React.useState(
|
|
8
|
+
void 0
|
|
9
|
+
);
|
|
10
|
+
React.useEffect(() => {
|
|
11
|
+
if (typeof window === "undefined") return;
|
|
12
|
+
const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
|
|
13
|
+
const onChange = () => {
|
|
14
|
+
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
|
|
15
|
+
};
|
|
16
|
+
mql.addEventListener("change", onChange);
|
|
17
|
+
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
|
|
18
|
+
return () => mql.removeEventListener("change", onChange);
|
|
19
|
+
}, []);
|
|
20
|
+
return !!isMobile;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
exports.useIsMobile = useIsMobile;
|