@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,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The neutral palette, plus the token contract, colour maths and CSS
|
|
3
|
+
* rendering that every palette shares.
|
|
4
|
+
*
|
|
5
|
+
* Neutral is plain black and white with square corners. `pnpm gen:themes`
|
|
6
|
+
* renders it to `src/styles/palette.gen.css`, which `styles/tokens.css`
|
|
7
|
+
* imports, so a stylesheet built from tokens.css + utilities.css carries
|
|
8
|
+
* exactly one palette. `lib/themes` builds its default palette from the
|
|
9
|
+
* same `NEUTRAL` values, so the two cannot drift.
|
|
10
|
+
*
|
|
11
|
+
* Tokens are authored as **hex** because that is what a human can eyeball
|
|
12
|
+
* in review; `hexToHsl` converts them to the `H S% L%` triples the kit's
|
|
13
|
+
* `@theme` block wraps in `hsl()`.
|
|
14
|
+
*/
|
|
15
|
+
type ThemeMode = "light" | "dark";
|
|
16
|
+
/**
|
|
17
|
+
* Semantic tokens — the contract every theme must satisfy in full.
|
|
18
|
+
* These are the names the kit's `@theme` block (styles/tokens/theme.css)
|
|
19
|
+
* maps to Tailwind colours (`bg-background`, `text-muted-foreground`, …).
|
|
20
|
+
*
|
|
21
|
+
* `sidebar-background` (not `sidebar`) is the real name: the `@theme`
|
|
22
|
+
* block maps `--color-sidebar: hsl(var(--sidebar-background))`.
|
|
23
|
+
*/
|
|
24
|
+
declare const SEMANTIC_TOKENS: readonly ["background", "foreground", "card", "card-foreground", "popover", "popover-foreground", "primary", "primary-foreground", "secondary", "secondary-foreground", "muted", "muted-foreground", "accent", "accent-foreground", "destructive", "destructive-foreground", "border", "input", "ring", "chart-1", "chart-2", "chart-3", "chart-4", "chart-5", "sidebar-background", "sidebar-foreground", "sidebar-primary", "sidebar-primary-foreground", "sidebar-accent", "sidebar-accent-foreground", "sidebar-border", "sidebar-ring"];
|
|
25
|
+
type SemanticToken = (typeof SEMANTIC_TOKENS)[number];
|
|
26
|
+
/** Every semantic token, as a hex string (`#rrggbb`). */
|
|
27
|
+
type SemanticTokenMap = Record<SemanticToken, string>;
|
|
28
|
+
/** `#rrggbb` → `[r, g, b]`, each 0-255. */
|
|
29
|
+
declare function hexToRgb(hex: string): [number, number, number];
|
|
30
|
+
/**
|
|
31
|
+
* `#rrggbb` → the bare `H S% L%` triple the kit's CSS vars hold (they
|
|
32
|
+
* are wrapped in `hsl(...)` at the `@theme` layer, so the var itself
|
|
33
|
+
* must NOT include the function).
|
|
34
|
+
*/
|
|
35
|
+
declare function hexToHsl(hex: string): string;
|
|
36
|
+
/** WCAG relative luminance. */
|
|
37
|
+
declare function luminance(hex: string): number;
|
|
38
|
+
/** WCAG contrast ratio between two hex colours (1–21). */
|
|
39
|
+
declare function contrastRatio(a: string, b: string): number;
|
|
40
|
+
/**
|
|
41
|
+
* Pick whichever candidate reads best on `bg`. Used for the *-foreground
|
|
42
|
+
* tokens so a palette author can't accidentally ship white-on-yellow —
|
|
43
|
+
* the choice is computed, not eyeballed.
|
|
44
|
+
*/
|
|
45
|
+
declare function bestForeground(bg: string, candidates: string[]): string;
|
|
46
|
+
/** `--radius` for the neutral palette: square. */
|
|
47
|
+
declare const NEUTRAL_RADIUS = "0rem";
|
|
48
|
+
/** The neutral palette's semantic tokens, per mode, as hex. */
|
|
49
|
+
declare const NEUTRAL: Readonly<Record<ThemeMode, SemanticTokenMap>>;
|
|
50
|
+
/**
|
|
51
|
+
* The Tailwind colour name each token feeds, or null for tokens with no
|
|
52
|
+
* utility (the chart series are read directly as `var(--chart-1)`).
|
|
53
|
+
* Mirrors the kit's `@theme` block.
|
|
54
|
+
*/
|
|
55
|
+
declare function colorAlias(token: string): string | null;
|
|
56
|
+
interface PaletteDeclarationOptions {
|
|
57
|
+
/** Prefix for every line. */
|
|
58
|
+
indent?: string;
|
|
59
|
+
/** File named by the aliases comment in the generated CSS. */
|
|
60
|
+
aliasSource?: string;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* The declarations of one palette block: `--radius`, each token as an
|
|
64
|
+
* `H S% L%` triple, the `--sidebar` alias, then the Tailwind-facing
|
|
65
|
+
* aliases and the radius scale.
|
|
66
|
+
*/
|
|
67
|
+
declare function paletteDeclarations(tokens: Readonly<Record<string, string>>, names: readonly string[], radius: string, { indent, aliasSource }?: PaletteDeclarationOptions): string;
|
|
68
|
+
/**
|
|
69
|
+
* One rule: `selector { declarations }`, newline-terminated. `indent`
|
|
70
|
+
* prefixes each selector line and the closing brace, for a rule nested in
|
|
71
|
+
* a layer; the declarations carry their own indent.
|
|
72
|
+
*/
|
|
73
|
+
declare function paletteBlock(selector: string, declarations: string, indent?: string): string;
|
|
74
|
+
/** Rules wrapped in a cascade layer: `@layer <name> { … }`. */
|
|
75
|
+
declare function layerBlock(name: string, rules: readonly string[]): string;
|
|
76
|
+
/**
|
|
77
|
+
* `@layer base { :root { light } :root:where(.dark) { dark } }` — the shape
|
|
78
|
+
* of a default palette. Layered so that anything unlayered (a palette
|
|
79
|
+
* scoped by an attribute, a host's own `:root` overrides) wins on layer
|
|
80
|
+
* order, not on specificity or import order.
|
|
81
|
+
*
|
|
82
|
+
* Both halves sit on the root only, like the mode itself: an element
|
|
83
|
+
* further down that happens to carry `.dark` inherits the document's
|
|
84
|
+
* tokens rather than having the default palette re-declared on it, which
|
|
85
|
+
* would paint over whichever palette the document picked.
|
|
86
|
+
*/
|
|
87
|
+
declare function baseLayerPalette(light: string, dark: string, indent?: string): string;
|
|
88
|
+
declare const PALETTE_GENERATED_HEADER = "/* GENERATED FILE \u2014 do not edit.\n * Source: src/lib/neutral-theme.ts \u00B7 Regenerate: pnpm gen:themes\n *\n * The neutral palette: light on :root, dark when the root carries the\n * `.dark` class. It sits in `@layer base`, so any unlayered palette rule\n * or a host's own :root overrides wins on layer order alone. Imported by\n * tokens.css; every --color-* alias and the radius scale are re-declared\n * alongside the tokens they read.\n */";
|
|
89
|
+
/** `src/styles/palette.gen.css`: the neutral palette, light then dark. */
|
|
90
|
+
declare function renderPaletteCss(): string;
|
|
91
|
+
|
|
92
|
+
export { NEUTRAL, NEUTRAL_RADIUS, PALETTE_GENERATED_HEADER, type PaletteDeclarationOptions, SEMANTIC_TOKENS, type SemanticToken, type SemanticTokenMap, type ThemeMode, baseLayerPalette, bestForeground, colorAlias, contrastRatio, hexToHsl, hexToRgb, layerBlock, luminance, paletteBlock, paletteDeclarations, renderPaletteCss };
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
// src/lib/neutral-theme.ts
|
|
2
|
+
var SEMANTIC_TOKENS = [
|
|
3
|
+
"background",
|
|
4
|
+
"foreground",
|
|
5
|
+
"card",
|
|
6
|
+
"card-foreground",
|
|
7
|
+
"popover",
|
|
8
|
+
"popover-foreground",
|
|
9
|
+
"primary",
|
|
10
|
+
"primary-foreground",
|
|
11
|
+
"secondary",
|
|
12
|
+
"secondary-foreground",
|
|
13
|
+
"muted",
|
|
14
|
+
"muted-foreground",
|
|
15
|
+
"accent",
|
|
16
|
+
"accent-foreground",
|
|
17
|
+
"destructive",
|
|
18
|
+
"destructive-foreground",
|
|
19
|
+
"border",
|
|
20
|
+
"input",
|
|
21
|
+
"ring",
|
|
22
|
+
"chart-1",
|
|
23
|
+
"chart-2",
|
|
24
|
+
"chart-3",
|
|
25
|
+
"chart-4",
|
|
26
|
+
"chart-5",
|
|
27
|
+
"sidebar-background",
|
|
28
|
+
"sidebar-foreground",
|
|
29
|
+
"sidebar-primary",
|
|
30
|
+
"sidebar-primary-foreground",
|
|
31
|
+
"sidebar-accent",
|
|
32
|
+
"sidebar-accent-foreground",
|
|
33
|
+
"sidebar-border",
|
|
34
|
+
"sidebar-ring"
|
|
35
|
+
];
|
|
36
|
+
function hexToRgb(hex) {
|
|
37
|
+
const h = hex.replace("#", "").trim();
|
|
38
|
+
const full = h.length === 3 ? h.split("").map((c) => c + c).join("") : h;
|
|
39
|
+
if (!/^[0-9a-fA-F]{6}$/.test(full)) {
|
|
40
|
+
throw new Error(`Not a hex colour: ${hex}`);
|
|
41
|
+
}
|
|
42
|
+
return [
|
|
43
|
+
parseInt(full.slice(0, 2), 16),
|
|
44
|
+
parseInt(full.slice(2, 4), 16),
|
|
45
|
+
parseInt(full.slice(4, 6), 16)
|
|
46
|
+
];
|
|
47
|
+
}
|
|
48
|
+
function hexToHsl(hex) {
|
|
49
|
+
const [r255, g255, b255] = hexToRgb(hex);
|
|
50
|
+
const r = r255 / 255;
|
|
51
|
+
const g = g255 / 255;
|
|
52
|
+
const b = b255 / 255;
|
|
53
|
+
const max = Math.max(r, g, b);
|
|
54
|
+
const min = Math.min(r, g, b);
|
|
55
|
+
const l = (max + min) / 2;
|
|
56
|
+
const d = max - min;
|
|
57
|
+
let h = 0;
|
|
58
|
+
let s = 0;
|
|
59
|
+
if (d !== 0) {
|
|
60
|
+
s = d / (1 - Math.abs(2 * l - 1));
|
|
61
|
+
if (max === r) h = (g - b) / d % 6;
|
|
62
|
+
else if (max === g) h = (b - r) / d + 2;
|
|
63
|
+
else h = (r - g) / d + 4;
|
|
64
|
+
h *= 60;
|
|
65
|
+
if (h < 0) h += 360;
|
|
66
|
+
}
|
|
67
|
+
const round = (n) => Math.round(n * 10) / 10;
|
|
68
|
+
return `${round(h)} ${round(s * 100)}% ${round(l * 100)}%`;
|
|
69
|
+
}
|
|
70
|
+
function luminance(hex) {
|
|
71
|
+
const [r, g, b] = hexToRgb(hex).map((v) => {
|
|
72
|
+
const c = v / 255;
|
|
73
|
+
return c <= 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4);
|
|
74
|
+
});
|
|
75
|
+
return 0.2126 * r + 0.7152 * g + 0.0722 * b;
|
|
76
|
+
}
|
|
77
|
+
function contrastRatio(a, b) {
|
|
78
|
+
const la = luminance(a);
|
|
79
|
+
const lb = luminance(b);
|
|
80
|
+
const [hi, lo] = la > lb ? [la, lb] : [lb, la];
|
|
81
|
+
return (hi + 0.05) / (lo + 0.05);
|
|
82
|
+
}
|
|
83
|
+
function bestForeground(bg, candidates) {
|
|
84
|
+
let best = candidates[0];
|
|
85
|
+
let bestRatio = 0;
|
|
86
|
+
for (const c of candidates) {
|
|
87
|
+
const ratio = contrastRatio(bg, c);
|
|
88
|
+
if (ratio > bestRatio) {
|
|
89
|
+
best = c;
|
|
90
|
+
bestRatio = ratio;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return best;
|
|
94
|
+
}
|
|
95
|
+
var NEUTRAL_RADIUS = "0rem";
|
|
96
|
+
function neutral(mode) {
|
|
97
|
+
const light = mode === "light";
|
|
98
|
+
const danger = "#d71921";
|
|
99
|
+
const mono = light ? {
|
|
100
|
+
bg: "#ffffff",
|
|
101
|
+
fg: "#000000",
|
|
102
|
+
surface: "#f5f5f5",
|
|
103
|
+
subtle: "#666666",
|
|
104
|
+
border: "#e5e5e5",
|
|
105
|
+
sidebar: "#fafafa",
|
|
106
|
+
strong: "#333333"
|
|
107
|
+
} : {
|
|
108
|
+
bg: "#000000",
|
|
109
|
+
fg: "#ffffff",
|
|
110
|
+
surface: "#1a1a1a",
|
|
111
|
+
subtle: "#999999",
|
|
112
|
+
border: "#333333",
|
|
113
|
+
sidebar: "#0d0d0d",
|
|
114
|
+
strong: "#cccccc"
|
|
115
|
+
};
|
|
116
|
+
return {
|
|
117
|
+
background: mono.bg,
|
|
118
|
+
foreground: mono.fg,
|
|
119
|
+
card: mono.bg,
|
|
120
|
+
"card-foreground": mono.fg,
|
|
121
|
+
popover: mono.bg,
|
|
122
|
+
"popover-foreground": mono.fg,
|
|
123
|
+
primary: mono.fg,
|
|
124
|
+
"primary-foreground": mono.bg,
|
|
125
|
+
secondary: mono.surface,
|
|
126
|
+
"secondary-foreground": mono.fg,
|
|
127
|
+
muted: mono.surface,
|
|
128
|
+
"muted-foreground": mono.subtle,
|
|
129
|
+
accent: mono.surface,
|
|
130
|
+
"accent-foreground": mono.fg,
|
|
131
|
+
destructive: danger,
|
|
132
|
+
"destructive-foreground": bestForeground(danger, ["#ffffff", "#000000"]),
|
|
133
|
+
border: mono.border,
|
|
134
|
+
input: mono.border,
|
|
135
|
+
ring: mono.fg,
|
|
136
|
+
"chart-1": light ? "#333333" : "#cccccc",
|
|
137
|
+
"chart-2": light ? "#4d4d4d" : "#b3b3b3",
|
|
138
|
+
"chart-3": light ? "#666666" : "#999999",
|
|
139
|
+
"chart-4": light ? "#808080" : "#808080",
|
|
140
|
+
"chart-5": light ? "#999999" : "#666666",
|
|
141
|
+
"sidebar-background": mono.sidebar,
|
|
142
|
+
"sidebar-foreground": mono.fg,
|
|
143
|
+
"sidebar-primary": mono.fg,
|
|
144
|
+
"sidebar-primary-foreground": mono.bg,
|
|
145
|
+
"sidebar-accent": mono.surface,
|
|
146
|
+
"sidebar-accent-foreground": mono.fg,
|
|
147
|
+
"sidebar-border": mono.border,
|
|
148
|
+
"sidebar-ring": mono.border
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
var NEUTRAL = {
|
|
152
|
+
light: neutral("light"),
|
|
153
|
+
dark: neutral("dark")
|
|
154
|
+
};
|
|
155
|
+
function colorAlias(token) {
|
|
156
|
+
if (token.startsWith("chart-")) return null;
|
|
157
|
+
if (token === "sidebar-background") return "--color-sidebar";
|
|
158
|
+
return `--color-${token}`;
|
|
159
|
+
}
|
|
160
|
+
function paletteDeclarations(tokens, names, radius, { indent = " ", aliasSource = "neutral-theme.ts" } = {}) {
|
|
161
|
+
const value = (token) => {
|
|
162
|
+
const hex = tokens[token];
|
|
163
|
+
if (hex === void 0) throw new Error(`Missing token: ${token}`);
|
|
164
|
+
return hexToHsl(hex);
|
|
165
|
+
};
|
|
166
|
+
const lines = [`${indent}--radius: ${radius};`];
|
|
167
|
+
for (const token of names) {
|
|
168
|
+
lines.push(`${indent}--${token}: ${value(token)};`);
|
|
169
|
+
}
|
|
170
|
+
lines.push(`${indent}--sidebar: ${value("sidebar-background")};`);
|
|
171
|
+
lines.push(`${indent}/* Tailwind-facing aliases \u2014 see ${aliasSource} */`);
|
|
172
|
+
for (const token of names) {
|
|
173
|
+
const alias = colorAlias(token);
|
|
174
|
+
if (alias) lines.push(`${indent}${alias}: hsl(var(--${token}));`);
|
|
175
|
+
}
|
|
176
|
+
lines.push(`${indent}--radius-sm: calc(var(--radius) - 4px);`);
|
|
177
|
+
lines.push(`${indent}--radius-md: calc(var(--radius) - 2px);`);
|
|
178
|
+
lines.push(`${indent}--radius-lg: var(--radius);`);
|
|
179
|
+
lines.push(`${indent}--radius-xl: calc(var(--radius) + 4px);`);
|
|
180
|
+
lines.push(`${indent}--radius-2xl: calc(var(--radius) + 8px);`);
|
|
181
|
+
return lines.join("\n");
|
|
182
|
+
}
|
|
183
|
+
function paletteBlock(selector, declarations, indent = "") {
|
|
184
|
+
const head = selector.split("\n").map((line) => indent + line).join("\n");
|
|
185
|
+
return `${head} {
|
|
186
|
+
${declarations}
|
|
187
|
+
${indent}}
|
|
188
|
+
`;
|
|
189
|
+
}
|
|
190
|
+
function layerBlock(name, rules) {
|
|
191
|
+
return `@layer ${name} {
|
|
192
|
+
${rules.join("\n")}}
|
|
193
|
+
`;
|
|
194
|
+
}
|
|
195
|
+
var DARK_ROOT_SELECTOR = ":root:where(.dark)";
|
|
196
|
+
function baseLayerPalette(light, dark, indent = " ") {
|
|
197
|
+
return layerBlock("base", [
|
|
198
|
+
paletteBlock(":root", light, indent),
|
|
199
|
+
paletteBlock(DARK_ROOT_SELECTOR, dark, indent)
|
|
200
|
+
]);
|
|
201
|
+
}
|
|
202
|
+
var PALETTE_GENERATED_HEADER = `/* GENERATED FILE \u2014 do not edit.
|
|
203
|
+
* Source: src/lib/neutral-theme.ts \xB7 Regenerate: pnpm gen:themes
|
|
204
|
+
*
|
|
205
|
+
* The neutral palette: light on :root, dark when the root carries the
|
|
206
|
+
* \`.dark\` class. It sits in \`@layer base\`, so any unlayered palette rule
|
|
207
|
+
* or a host's own :root overrides wins on layer order alone. Imported by
|
|
208
|
+
* tokens.css; every --color-* alias and the radius scale are re-declared
|
|
209
|
+
* alongside the tokens they read.
|
|
210
|
+
*/`;
|
|
211
|
+
function renderPaletteCss() {
|
|
212
|
+
const declarations = (mode) => paletteDeclarations(NEUTRAL[mode], SEMANTIC_TOKENS, NEUTRAL_RADIUS, {
|
|
213
|
+
indent: " "
|
|
214
|
+
});
|
|
215
|
+
return [
|
|
216
|
+
PALETTE_GENERATED_HEADER,
|
|
217
|
+
baseLayerPalette(declarations("light"), declarations("dark"))
|
|
218
|
+
].join("\n");
|
|
219
|
+
}
|
|
220
|
+
export {
|
|
221
|
+
NEUTRAL,
|
|
222
|
+
NEUTRAL_RADIUS,
|
|
223
|
+
PALETTE_GENERATED_HEADER,
|
|
224
|
+
SEMANTIC_TOKENS,
|
|
225
|
+
baseLayerPalette,
|
|
226
|
+
bestForeground,
|
|
227
|
+
colorAlias,
|
|
228
|
+
contrastRatio,
|
|
229
|
+
hexToHsl,
|
|
230
|
+
hexToRgb,
|
|
231
|
+
layerBlock,
|
|
232
|
+
luminance,
|
|
233
|
+
paletteBlock,
|
|
234
|
+
paletteDeclarations,
|
|
235
|
+
renderPaletteCss
|
|
236
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
var _chunkEJP2L5QVcjs = require('../chunk-EJP2L5QV.cjs');
|
|
10
|
+
require('../chunk-KWLSBTB2.cjs');
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
exports.getStatusBadgeClasses = _chunkEJP2L5QVcjs.getStatusBadgeClasses; exports.getStatusColors = _chunkEJP2L5QVcjs.getStatusColors; exports.getStatusIconClasses = _chunkEJP2L5QVcjs.getStatusIconClasses; exports.getStatusTextClasses = _chunkEJP2L5QVcjs.getStatusTextClasses; exports.statusColors = _chunkEJP2L5QVcjs.statusColors; exports.statusFill = _chunkEJP2L5QVcjs.statusFill;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
declare const statusColors: {
|
|
2
|
+
readonly success: {
|
|
3
|
+
readonly bg: "bg-green-100 dark:bg-green-900/20";
|
|
4
|
+
readonly text: "text-green-800 dark:text-green-400";
|
|
5
|
+
readonly border: "border-green-200 dark:border-green-800";
|
|
6
|
+
readonly icon: "text-green-600 dark:text-green-400";
|
|
7
|
+
};
|
|
8
|
+
readonly warning: {
|
|
9
|
+
readonly bg: "bg-yellow-100 dark:bg-yellow-900/20";
|
|
10
|
+
readonly text: "text-yellow-800 dark:text-yellow-400";
|
|
11
|
+
readonly border: "border-yellow-200 dark:border-yellow-800";
|
|
12
|
+
readonly icon: "text-yellow-600 dark:text-yellow-400";
|
|
13
|
+
};
|
|
14
|
+
readonly error: {
|
|
15
|
+
readonly bg: "bg-red-100 dark:bg-red-900/20";
|
|
16
|
+
readonly text: "text-red-800 dark:text-red-400";
|
|
17
|
+
readonly border: "border-red-200 dark:border-red-800";
|
|
18
|
+
readonly icon: "text-red-600 dark:text-red-400";
|
|
19
|
+
};
|
|
20
|
+
readonly neutral: {
|
|
21
|
+
readonly bg: "bg-gray-100 dark:bg-gray-800";
|
|
22
|
+
readonly text: "text-gray-800 dark:text-gray-300";
|
|
23
|
+
readonly border: "border-gray-200 dark:border-gray-700";
|
|
24
|
+
readonly icon: "text-gray-600 dark:text-gray-400";
|
|
25
|
+
};
|
|
26
|
+
readonly info: {
|
|
27
|
+
readonly bg: "bg-blue-100 dark:bg-blue-900/20";
|
|
28
|
+
readonly text: "text-blue-800 dark:text-blue-400";
|
|
29
|
+
readonly border: "border-blue-200 dark:border-blue-800";
|
|
30
|
+
readonly icon: "text-blue-600 dark:text-blue-400";
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Solid fill classes for atomic indicators (dots, pill backgrounds).
|
|
35
|
+
* Distinct from `statusColors[*].bg` which is intentionally desaturated
|
|
36
|
+
* for surface tints.
|
|
37
|
+
*/
|
|
38
|
+
declare const statusFill: {
|
|
39
|
+
readonly success: "bg-emerald-500";
|
|
40
|
+
readonly warning: "bg-amber-500";
|
|
41
|
+
readonly error: "bg-red-500";
|
|
42
|
+
readonly neutral: "bg-gray-400";
|
|
43
|
+
readonly info: "bg-blue-500";
|
|
44
|
+
};
|
|
45
|
+
type StatusColorKey = keyof typeof statusColors;
|
|
46
|
+
declare function getStatusColors(status: StatusColorKey): {
|
|
47
|
+
readonly bg: "bg-green-100 dark:bg-green-900/20";
|
|
48
|
+
readonly text: "text-green-800 dark:text-green-400";
|
|
49
|
+
readonly border: "border-green-200 dark:border-green-800";
|
|
50
|
+
readonly icon: "text-green-600 dark:text-green-400";
|
|
51
|
+
} | {
|
|
52
|
+
readonly bg: "bg-yellow-100 dark:bg-yellow-900/20";
|
|
53
|
+
readonly text: "text-yellow-800 dark:text-yellow-400";
|
|
54
|
+
readonly border: "border-yellow-200 dark:border-yellow-800";
|
|
55
|
+
readonly icon: "text-yellow-600 dark:text-yellow-400";
|
|
56
|
+
} | {
|
|
57
|
+
readonly bg: "bg-red-100 dark:bg-red-900/20";
|
|
58
|
+
readonly text: "text-red-800 dark:text-red-400";
|
|
59
|
+
readonly border: "border-red-200 dark:border-red-800";
|
|
60
|
+
readonly icon: "text-red-600 dark:text-red-400";
|
|
61
|
+
} | {
|
|
62
|
+
readonly bg: "bg-gray-100 dark:bg-gray-800";
|
|
63
|
+
readonly text: "text-gray-800 dark:text-gray-300";
|
|
64
|
+
readonly border: "border-gray-200 dark:border-gray-700";
|
|
65
|
+
readonly icon: "text-gray-600 dark:text-gray-400";
|
|
66
|
+
} | {
|
|
67
|
+
readonly bg: "bg-blue-100 dark:bg-blue-900/20";
|
|
68
|
+
readonly text: "text-blue-800 dark:text-blue-400";
|
|
69
|
+
readonly border: "border-blue-200 dark:border-blue-800";
|
|
70
|
+
readonly icon: "text-blue-600 dark:text-blue-400";
|
|
71
|
+
};
|
|
72
|
+
declare function getStatusBadgeClasses(status: StatusColorKey, className?: string): string;
|
|
73
|
+
declare function getStatusTextClasses(status: StatusColorKey, className?: string): string;
|
|
74
|
+
declare function getStatusIconClasses(status: StatusColorKey, className?: string): string;
|
|
75
|
+
|
|
76
|
+
export { type StatusColorKey, getStatusBadgeClasses, getStatusColors, getStatusIconClasses, getStatusTextClasses, statusColors, statusFill };
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
declare const statusColors: {
|
|
2
|
+
readonly success: {
|
|
3
|
+
readonly bg: "bg-green-100 dark:bg-green-900/20";
|
|
4
|
+
readonly text: "text-green-800 dark:text-green-400";
|
|
5
|
+
readonly border: "border-green-200 dark:border-green-800";
|
|
6
|
+
readonly icon: "text-green-600 dark:text-green-400";
|
|
7
|
+
};
|
|
8
|
+
readonly warning: {
|
|
9
|
+
readonly bg: "bg-yellow-100 dark:bg-yellow-900/20";
|
|
10
|
+
readonly text: "text-yellow-800 dark:text-yellow-400";
|
|
11
|
+
readonly border: "border-yellow-200 dark:border-yellow-800";
|
|
12
|
+
readonly icon: "text-yellow-600 dark:text-yellow-400";
|
|
13
|
+
};
|
|
14
|
+
readonly error: {
|
|
15
|
+
readonly bg: "bg-red-100 dark:bg-red-900/20";
|
|
16
|
+
readonly text: "text-red-800 dark:text-red-400";
|
|
17
|
+
readonly border: "border-red-200 dark:border-red-800";
|
|
18
|
+
readonly icon: "text-red-600 dark:text-red-400";
|
|
19
|
+
};
|
|
20
|
+
readonly neutral: {
|
|
21
|
+
readonly bg: "bg-gray-100 dark:bg-gray-800";
|
|
22
|
+
readonly text: "text-gray-800 dark:text-gray-300";
|
|
23
|
+
readonly border: "border-gray-200 dark:border-gray-700";
|
|
24
|
+
readonly icon: "text-gray-600 dark:text-gray-400";
|
|
25
|
+
};
|
|
26
|
+
readonly info: {
|
|
27
|
+
readonly bg: "bg-blue-100 dark:bg-blue-900/20";
|
|
28
|
+
readonly text: "text-blue-800 dark:text-blue-400";
|
|
29
|
+
readonly border: "border-blue-200 dark:border-blue-800";
|
|
30
|
+
readonly icon: "text-blue-600 dark:text-blue-400";
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Solid fill classes for atomic indicators (dots, pill backgrounds).
|
|
35
|
+
* Distinct from `statusColors[*].bg` which is intentionally desaturated
|
|
36
|
+
* for surface tints.
|
|
37
|
+
*/
|
|
38
|
+
declare const statusFill: {
|
|
39
|
+
readonly success: "bg-emerald-500";
|
|
40
|
+
readonly warning: "bg-amber-500";
|
|
41
|
+
readonly error: "bg-red-500";
|
|
42
|
+
readonly neutral: "bg-gray-400";
|
|
43
|
+
readonly info: "bg-blue-500";
|
|
44
|
+
};
|
|
45
|
+
type StatusColorKey = keyof typeof statusColors;
|
|
46
|
+
declare function getStatusColors(status: StatusColorKey): {
|
|
47
|
+
readonly bg: "bg-green-100 dark:bg-green-900/20";
|
|
48
|
+
readonly text: "text-green-800 dark:text-green-400";
|
|
49
|
+
readonly border: "border-green-200 dark:border-green-800";
|
|
50
|
+
readonly icon: "text-green-600 dark:text-green-400";
|
|
51
|
+
} | {
|
|
52
|
+
readonly bg: "bg-yellow-100 dark:bg-yellow-900/20";
|
|
53
|
+
readonly text: "text-yellow-800 dark:text-yellow-400";
|
|
54
|
+
readonly border: "border-yellow-200 dark:border-yellow-800";
|
|
55
|
+
readonly icon: "text-yellow-600 dark:text-yellow-400";
|
|
56
|
+
} | {
|
|
57
|
+
readonly bg: "bg-red-100 dark:bg-red-900/20";
|
|
58
|
+
readonly text: "text-red-800 dark:text-red-400";
|
|
59
|
+
readonly border: "border-red-200 dark:border-red-800";
|
|
60
|
+
readonly icon: "text-red-600 dark:text-red-400";
|
|
61
|
+
} | {
|
|
62
|
+
readonly bg: "bg-gray-100 dark:bg-gray-800";
|
|
63
|
+
readonly text: "text-gray-800 dark:text-gray-300";
|
|
64
|
+
readonly border: "border-gray-200 dark:border-gray-700";
|
|
65
|
+
readonly icon: "text-gray-600 dark:text-gray-400";
|
|
66
|
+
} | {
|
|
67
|
+
readonly bg: "bg-blue-100 dark:bg-blue-900/20";
|
|
68
|
+
readonly text: "text-blue-800 dark:text-blue-400";
|
|
69
|
+
readonly border: "border-blue-200 dark:border-blue-800";
|
|
70
|
+
readonly icon: "text-blue-600 dark:text-blue-400";
|
|
71
|
+
};
|
|
72
|
+
declare function getStatusBadgeClasses(status: StatusColorKey, className?: string): string;
|
|
73
|
+
declare function getStatusTextClasses(status: StatusColorKey, className?: string): string;
|
|
74
|
+
declare function getStatusIconClasses(status: StatusColorKey, className?: string): string;
|
|
75
|
+
|
|
76
|
+
export { type StatusColorKey, getStatusBadgeClasses, getStatusColors, getStatusIconClasses, getStatusTextClasses, statusColors, statusFill };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getStatusBadgeClasses,
|
|
3
|
+
getStatusColors,
|
|
4
|
+
getStatusIconClasses,
|
|
5
|
+
getStatusTextClasses,
|
|
6
|
+
statusColors,
|
|
7
|
+
statusFill
|
|
8
|
+
} from "../chunk-F7JHSZNT.js";
|
|
9
|
+
import "../chunk-G6SRSWXB.js";
|
|
10
|
+
export {
|
|
11
|
+
getStatusBadgeClasses,
|
|
12
|
+
getStatusColors,
|
|
13
|
+
getStatusIconClasses,
|
|
14
|
+
getStatusTextClasses,
|
|
15
|
+
statusColors,
|
|
16
|
+
statusFill
|
|
17
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ClassValue } from 'clsx';
|
|
2
|
+
|
|
3
|
+
declare function cn(...inputs: ClassValue[]): string;
|
|
4
|
+
/**
|
|
5
|
+
* Generate initials from a name or email address.
|
|
6
|
+
*/
|
|
7
|
+
declare function generateInitials(name?: string, email?: string): string;
|
|
8
|
+
|
|
9
|
+
export { cn, generateInitials };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ClassValue } from 'clsx';
|
|
2
|
+
|
|
3
|
+
declare function cn(...inputs: ClassValue[]): string;
|
|
4
|
+
/**
|
|
5
|
+
* Generate initials from a name or email address.
|
|
6
|
+
*/
|
|
7
|
+
declare function generateInitials(name?: string, email?: string): string;
|
|
8
|
+
|
|
9
|
+
export { cn, generateInitials };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { HTMLAttributes } from 'react';
|
|
3
|
+
|
|
4
|
+
interface ActionDockProps extends HTMLAttributes<HTMLElement> {
|
|
5
|
+
shrink?: boolean;
|
|
6
|
+
}
|
|
7
|
+
/** In-flow action boundary for the bottom of a panel, drawer, or review card. */
|
|
8
|
+
declare const ActionDock: React.ForwardRefExoticComponent<ActionDockProps & React.RefAttributes<HTMLElement>>;
|
|
9
|
+
|
|
10
|
+
export { ActionDock, type ActionDockProps };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { HTMLAttributes } from 'react';
|
|
3
|
+
|
|
4
|
+
interface ActionDockProps extends HTMLAttributes<HTMLElement> {
|
|
5
|
+
shrink?: boolean;
|
|
6
|
+
}
|
|
7
|
+
/** In-flow action boundary for the bottom of a panel, drawer, or review card. */
|
|
8
|
+
declare const ActionDock: React.ForwardRefExoticComponent<ActionDockProps & React.RefAttributes<HTMLElement>>;
|
|
9
|
+
|
|
10
|
+
export { ActionDock, type ActionDockProps };
|