@particle-academy/react-fancy 5.12.0 → 5.13.1
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/dist/AudioViewer.types-VWhRx6XG.d.cts +22 -0
- package/dist/AudioViewer.types-VWhRx6XG.d.ts +22 -0
- package/dist/Card-BZ5F6-wd.d.cts +50 -0
- package/dist/Card-BZ5F6-wd.d.ts +50 -0
- package/dist/Carousel.context-Ba3gKZHQ.d.cts +61 -0
- package/dist/Carousel.context-Ba3gKZHQ.d.ts +61 -0
- package/dist/FieldMode.context-Bv_wuS8V.d.ts +74 -0
- package/dist/FieldMode.context-C28RH8GR.d.cts +74 -0
- package/dist/ImageViewer.types-BaqlDeuo.d.cts +55 -0
- package/dist/ImageViewer.types-BaqlDeuo.d.ts +55 -0
- package/dist/PdfViewer.types-_u6vboSl.d.cts +14 -0
- package/dist/PdfViewer.types-_u6vboSl.d.ts +14 -0
- package/dist/Timeline-7zHhIk3P.d.cts +73 -0
- package/dist/Timeline-Cvrd7N7-.d.ts +73 -0
- package/dist/VideoViewer.types-CTwS6PcM.d.cts +26 -0
- package/dist/VideoViewer.types-CTwS6PcM.d.ts +26 -0
- package/dist/accordion-panel.cjs +34 -0
- package/dist/accordion-panel.cjs.map +1 -0
- package/dist/accordion-panel.d.cts +186 -0
- package/dist/accordion-panel.d.ts +186 -0
- package/dist/accordion-panel.js +5 -0
- package/dist/accordion-panel.js.map +1 -0
- package/dist/accordion.cjs +17 -0
- package/dist/accordion.cjs.map +1 -0
- package/dist/accordion.d.cts +53 -0
- package/dist/accordion.d.ts +53 -0
- package/dist/accordion.js +4 -0
- package/dist/accordion.js.map +1 -0
- package/dist/audio-viewer.cjs +13 -0
- package/dist/audio-viewer.cjs.map +1 -0
- package/dist/audio-viewer.d.cts +14 -0
- package/dist/audio-viewer.d.ts +14 -0
- package/dist/audio-viewer.js +4 -0
- package/dist/audio-viewer.js.map +1 -0
- package/dist/autocomplete.cjs +20 -0
- package/dist/autocomplete.cjs.map +1 -0
- package/dist/autocomplete.d.cts +28 -0
- package/dist/autocomplete.d.ts +28 -0
- package/dist/autocomplete.js +11 -0
- package/dist/autocomplete.js.map +1 -0
- package/dist/avatar.cjs +13 -0
- package/dist/avatar.cjs.map +1 -0
- package/dist/avatar.d.cts +26 -0
- package/dist/avatar.d.ts +26 -0
- package/dist/avatar.js +4 -0
- package/dist/avatar.js.map +1 -0
- package/dist/badge.cjs +13 -0
- package/dist/badge.cjs.map +1 -0
- package/dist/badge.d.cts +18 -0
- package/dist/badge.d.ts +18 -0
- package/dist/badge.js +4 -0
- package/dist/badge.js.map +1 -0
- package/dist/brand.cjs +17 -0
- package/dist/brand.cjs.map +1 -0
- package/dist/brand.d.cts +43 -0
- package/dist/brand.d.ts +43 -0
- package/dist/brand.js +4 -0
- package/dist/brand.js.map +1 -0
- package/dist/breadcrumbs.cjs +15 -0
- package/dist/breadcrumbs.cjs.map +1 -0
- package/dist/breadcrumbs.d.cts +36 -0
- package/dist/breadcrumbs.d.ts +36 -0
- package/dist/breadcrumbs.js +6 -0
- package/dist/breadcrumbs.js.map +1 -0
- package/dist/button.cjs +20 -0
- package/dist/button.cjs.map +1 -0
- package/dist/button.d.cts +84 -0
- package/dist/button.d.ts +84 -0
- package/dist/button.js +7 -0
- package/dist/button.js.map +1 -0
- package/dist/calendar.cjs +13 -0
- package/dist/calendar.cjs.map +1 -0
- package/dist/calendar.d.cts +20 -0
- package/dist/calendar.d.ts +20 -0
- package/dist/calendar.js +4 -0
- package/dist/calendar.js.map +1 -0
- package/dist/callout.cjs +13 -0
- package/dist/callout.cjs.map +1 -0
- package/dist/callout.d.cts +16 -0
- package/dist/callout.d.ts +16 -0
- package/dist/callout.js +4 -0
- package/dist/callout.js.map +1 -0
- package/dist/card.cjs +29 -0
- package/dist/card.cjs.map +1 -0
- package/dist/card.d.cts +29 -0
- package/dist/card.d.ts +29 -0
- package/dist/card.js +4 -0
- package/dist/card.js.map +1 -0
- package/dist/carousel.cjs +34 -0
- package/dist/carousel.cjs.map +1 -0
- package/dist/carousel.d.cts +13 -0
- package/dist/carousel.d.ts +13 -0
- package/dist/carousel.js +5 -0
- package/dist/carousel.js.map +1 -0
- package/dist/chart.cjs +13 -0
- package/dist/chart.cjs.map +1 -0
- package/dist/chart.d.cts +140 -0
- package/dist/chart.d.ts +140 -0
- package/dist/chart.js +4 -0
- package/dist/chart.js.map +1 -0
- package/dist/chat-drawer.cjs +15 -0
- package/dist/chat-drawer.cjs.map +1 -0
- package/dist/chat-drawer.d.cts +63 -0
- package/dist/chat-drawer.d.ts +63 -0
- package/dist/chat-drawer.js +6 -0
- package/dist/chat-drawer.js.map +1 -0
- package/dist/checkbox-group.cjs +19 -0
- package/dist/checkbox-group.cjs.map +1 -0
- package/dist/checkbox-group.d.cts +18 -0
- package/dist/checkbox-group.d.ts +18 -0
- package/dist/checkbox-group.js +10 -0
- package/dist/checkbox-group.js.map +1 -0
- package/dist/checkbox.cjs +17 -0
- package/dist/checkbox.cjs.map +1 -0
- package/dist/checkbox.d.cts +16 -0
- package/dist/checkbox.d.ts +16 -0
- package/dist/checkbox.js +8 -0
- package/dist/checkbox.js.map +1 -0
- package/dist/chunk-2CNSZCVE.cjs +119 -0
- package/dist/chunk-2CNSZCVE.cjs.map +1 -0
- package/dist/chunk-2CYRAKWI.cjs +241 -0
- package/dist/chunk-2CYRAKWI.cjs.map +1 -0
- package/dist/chunk-2G3L4BLU.cjs +257 -0
- package/dist/chunk-2G3L4BLU.cjs.map +1 -0
- package/dist/chunk-2PELJ4VA.cjs +335 -0
- package/dist/chunk-2PELJ4VA.cjs.map +1 -0
- package/dist/chunk-2S7WRR5P.cjs +156 -0
- package/dist/chunk-2S7WRR5P.cjs.map +1 -0
- package/dist/chunk-32AJIHBZ.js +201 -0
- package/dist/chunk-32AJIHBZ.js.map +1 -0
- package/dist/chunk-3DJGPNUI.js +39 -0
- package/dist/chunk-3DJGPNUI.js.map +1 -0
- package/dist/chunk-3ETOEEVN.cjs +62 -0
- package/dist/chunk-3ETOEEVN.cjs.map +1 -0
- package/dist/chunk-3GRC5J2L.cjs +54 -0
- package/dist/chunk-3GRC5J2L.cjs.map +1 -0
- package/dist/chunk-3SQ34IQC.cjs +124 -0
- package/dist/chunk-3SQ34IQC.cjs.map +1 -0
- package/dist/chunk-3WGRVDQR.cjs +39 -0
- package/dist/chunk-3WGRVDQR.cjs.map +1 -0
- package/dist/chunk-3Z6ALUWP.cjs +13 -0
- package/dist/chunk-3Z6ALUWP.cjs.map +1 -0
- package/dist/chunk-45BBNJQD.js +2019 -0
- package/dist/chunk-45BBNJQD.js.map +1 -0
- package/dist/chunk-47TFRODY.cjs +107 -0
- package/dist/chunk-47TFRODY.cjs.map +1 -0
- package/dist/chunk-4DQ6HX27.cjs +187 -0
- package/dist/chunk-4DQ6HX27.cjs.map +1 -0
- package/dist/chunk-4UA45GB4.js +129 -0
- package/dist/chunk-4UA45GB4.js.map +1 -0
- package/dist/chunk-57FQGQJK.cjs +26 -0
- package/dist/chunk-57FQGQJK.cjs.map +1 -0
- package/dist/chunk-5FV6GMFP.cjs +4 -0
- package/dist/chunk-5FV6GMFP.cjs.map +1 -0
- package/dist/chunk-5HOQ2PHR.cjs +287 -0
- package/dist/chunk-5HOQ2PHR.cjs.map +1 -0
- package/dist/chunk-5I4PR2KV.cjs +131 -0
- package/dist/chunk-5I4PR2KV.cjs.map +1 -0
- package/dist/chunk-5OC6DUYT.js +139 -0
- package/dist/chunk-5OC6DUYT.js.map +1 -0
- package/dist/chunk-5QL7XT3N.js +80 -0
- package/dist/chunk-5QL7XT3N.js.map +1 -0
- package/dist/chunk-5U2DZ7AV.js +49 -0
- package/dist/chunk-5U2DZ7AV.js.map +1 -0
- package/dist/chunk-5UOQVGZC.cjs +930 -0
- package/dist/chunk-5UOQVGZC.cjs.map +1 -0
- package/dist/chunk-6BW5BQMN.cjs +57 -0
- package/dist/chunk-6BW5BQMN.cjs.map +1 -0
- package/dist/chunk-6FBFE66M.cjs +292 -0
- package/dist/chunk-6FBFE66M.cjs.map +1 -0
- package/dist/chunk-6FQGMVF2.js +25 -0
- package/dist/chunk-6FQGMVF2.js.map +1 -0
- package/dist/chunk-6GC5DMOK.cjs +141 -0
- package/dist/chunk-6GC5DMOK.cjs.map +1 -0
- package/dist/chunk-6H6OYLMJ.js +105 -0
- package/dist/chunk-6H6OYLMJ.js.map +1 -0
- package/dist/chunk-6L6LI2RL.cjs +37 -0
- package/dist/chunk-6L6LI2RL.cjs.map +1 -0
- package/dist/chunk-6MDZQIMZ.cjs +18 -0
- package/dist/chunk-6MDZQIMZ.cjs.map +1 -0
- package/dist/chunk-6OSHAP6L.cjs +110 -0
- package/dist/chunk-6OSHAP6L.cjs.map +1 -0
- package/dist/chunk-7AFEKDUS.js +202 -0
- package/dist/chunk-7AFEKDUS.js.map +1 -0
- package/dist/chunk-7C7VF4WY.cjs +155 -0
- package/dist/chunk-7C7VF4WY.cjs.map +1 -0
- package/dist/chunk-7NLKXBZ2.cjs +88 -0
- package/dist/chunk-7NLKXBZ2.cjs.map +1 -0
- package/dist/chunk-7XDKIZQE.js +382 -0
- package/dist/chunk-7XDKIZQE.js.map +1 -0
- package/dist/chunk-A22T6DKO.cjs +283 -0
- package/dist/chunk-A22T6DKO.cjs.map +1 -0
- package/dist/chunk-A3CNYKT3.js +197 -0
- package/dist/chunk-A3CNYKT3.js.map +1 -0
- package/dist/chunk-AC7M7JDO.cjs +199 -0
- package/dist/chunk-AC7M7JDO.cjs.map +1 -0
- package/dist/chunk-AGDW5ENV.js +37 -0
- package/dist/chunk-AGDW5ENV.js.map +1 -0
- package/dist/chunk-AIA5UNQ5.cjs +4 -0
- package/dist/chunk-AIA5UNQ5.cjs.map +1 -0
- package/dist/chunk-AKIUDPJU.js +119 -0
- package/dist/chunk-AKIUDPJU.js.map +1 -0
- package/dist/chunk-ANEX75DF.cjs +39 -0
- package/dist/chunk-ANEX75DF.cjs.map +1 -0
- package/dist/chunk-AOOBRPTE.cjs +142 -0
- package/dist/chunk-AOOBRPTE.cjs.map +1 -0
- package/dist/chunk-ARSQY4P7.cjs +101 -0
- package/dist/chunk-ARSQY4P7.cjs.map +1 -0
- package/dist/chunk-ATFXU6R6.js +122 -0
- package/dist/chunk-ATFXU6R6.js.map +1 -0
- package/dist/chunk-AUTW5O4W.js +3 -0
- package/dist/chunk-AUTW5O4W.js.map +1 -0
- package/dist/chunk-AVR5P4GA.cjs +832 -0
- package/dist/chunk-AVR5P4GA.cjs.map +1 -0
- package/dist/chunk-B3HVWXIQ.cjs +112 -0
- package/dist/chunk-B3HVWXIQ.cjs.map +1 -0
- package/dist/chunk-BEGDL2CD.js +81 -0
- package/dist/chunk-BEGDL2CD.js.map +1 -0
- package/dist/chunk-BFKCVSNK.cjs +80 -0
- package/dist/chunk-BFKCVSNK.cjs.map +1 -0
- package/dist/chunk-BPBI3WWQ.cjs +364 -0
- package/dist/chunk-BPBI3WWQ.cjs.map +1 -0
- package/dist/chunk-BYIY6BH2.js +927 -0
- package/dist/chunk-BYIY6BH2.js.map +1 -0
- package/dist/chunk-C4Z4S3CX.js +164 -0
- package/dist/chunk-C4Z4S3CX.js.map +1 -0
- package/dist/chunk-C5AZNBVB.js +153 -0
- package/dist/chunk-C5AZNBVB.js.map +1 -0
- package/dist/chunk-CFBK5RIZ.js +35 -0
- package/dist/chunk-CFBK5RIZ.js.map +1 -0
- package/dist/chunk-CHADHN6M.js +37 -0
- package/dist/chunk-CHADHN6M.js.map +1 -0
- package/dist/chunk-CPY7NHXM.js +88 -0
- package/dist/chunk-CPY7NHXM.js.map +1 -0
- package/dist/chunk-CS4GQXYY.js +131 -0
- package/dist/chunk-CS4GQXYY.js.map +1 -0
- package/dist/chunk-CTMJYV3O.js +99 -0
- package/dist/chunk-CTMJYV3O.js.map +1 -0
- package/dist/chunk-CZZH45GQ.cjs +122 -0
- package/dist/chunk-CZZH45GQ.cjs.map +1 -0
- package/dist/chunk-D4WM23Y4.js +109 -0
- package/dist/chunk-D4WM23Y4.js.map +1 -0
- package/dist/chunk-D7NAXQ2N.js +86 -0
- package/dist/chunk-D7NAXQ2N.js.map +1 -0
- package/dist/chunk-DJ3YM72H.cjs +353 -0
- package/dist/chunk-DJ3YM72H.cjs.map +1 -0
- package/dist/chunk-DOSSIU6S.cjs +162 -0
- package/dist/chunk-DOSSIU6S.cjs.map +1 -0
- package/dist/chunk-DSUHZO6T.js +11 -0
- package/dist/chunk-DSUHZO6T.js.map +1 -0
- package/dist/chunk-DTPGJNOI.js +204 -0
- package/dist/chunk-DTPGJNOI.js.map +1 -0
- package/dist/chunk-DV4IMAQW.js +100 -0
- package/dist/chunk-DV4IMAQW.js.map +1 -0
- package/dist/chunk-DWRMC2FN.cjs +95 -0
- package/dist/chunk-DWRMC2FN.cjs.map +1 -0
- package/dist/chunk-DZD2RJVD.js +47 -0
- package/dist/chunk-DZD2RJVD.js.map +1 -0
- package/dist/chunk-E4LFD44D.js +69 -0
- package/dist/chunk-E4LFD44D.js.map +1 -0
- package/dist/chunk-E7PHL3TD.cjs +144 -0
- package/dist/chunk-E7PHL3TD.cjs.map +1 -0
- package/dist/chunk-ECZ66DKF.js +522 -0
- package/dist/chunk-ECZ66DKF.js.map +1 -0
- package/dist/chunk-EERAEPQO.cjs +177 -0
- package/dist/chunk-EERAEPQO.cjs.map +1 -0
- package/dist/chunk-EIBW5YLS.js +52 -0
- package/dist/chunk-EIBW5YLS.js.map +1 -0
- package/dist/chunk-ESKVRRVA.js +56 -0
- package/dist/chunk-ESKVRRVA.js.map +1 -0
- package/dist/chunk-EVXDG2XN.js +108 -0
- package/dist/chunk-EVXDG2XN.js.map +1 -0
- package/dist/chunk-F6NEPU67.cjs +218 -0
- package/dist/chunk-F6NEPU67.cjs.map +1 -0
- package/dist/chunk-F6SCZCJE.js +176 -0
- package/dist/chunk-F6SCZCJE.js.map +1 -0
- package/dist/chunk-FA3D4GFC.cjs +323 -0
- package/dist/chunk-FA3D4GFC.cjs.map +1 -0
- package/dist/chunk-FCAV5IFW.js +63 -0
- package/dist/chunk-FCAV5IFW.js.map +1 -0
- package/dist/chunk-FVV76TRF.js +101 -0
- package/dist/chunk-FVV76TRF.js.map +1 -0
- package/dist/chunk-G2W7B3OG.js +420 -0
- package/dist/chunk-G2W7B3OG.js.map +1 -0
- package/dist/chunk-G34OBTU3.cjs +27 -0
- package/dist/chunk-G34OBTU3.cjs.map +1 -0
- package/dist/chunk-GFYSELJF.js +35 -0
- package/dist/chunk-GFYSELJF.js.map +1 -0
- package/dist/chunk-GIDW3SUE.cjs +59 -0
- package/dist/chunk-GIDW3SUE.cjs.map +1 -0
- package/dist/chunk-GKGL7F36.js +290 -0
- package/dist/chunk-GKGL7F36.js.map +1 -0
- package/dist/chunk-GKPCXPCD.js +262 -0
- package/dist/chunk-GKPCXPCD.js.map +1 -0
- package/dist/chunk-GZIUE4DE.js +117 -0
- package/dist/chunk-GZIUE4DE.js.map +1 -0
- package/dist/chunk-HAOYXGGJ.js +104 -0
- package/dist/chunk-HAOYXGGJ.js.map +1 -0
- package/dist/chunk-HBFVOHQC.cjs +102 -0
- package/dist/chunk-HBFVOHQC.cjs.map +1 -0
- package/dist/chunk-HG6XUJOT.js +328 -0
- package/dist/chunk-HG6XUJOT.js.map +1 -0
- package/dist/chunk-I6L7OP7G.cjs +203 -0
- package/dist/chunk-I6L7OP7G.cjs.map +1 -0
- package/dist/chunk-IE4CM2SN.js +122 -0
- package/dist/chunk-IE4CM2SN.js.map +1 -0
- package/dist/chunk-IF25CE6S.cjs +202 -0
- package/dist/chunk-IF25CE6S.cjs.map +1 -0
- package/dist/chunk-IF3T3ZCB.cjs +273 -0
- package/dist/chunk-IF3T3ZCB.cjs.map +1 -0
- package/dist/chunk-IF5LOWUL.js +273 -0
- package/dist/chunk-IF5LOWUL.js.map +1 -0
- package/dist/chunk-IGU5YXRV.cjs +138 -0
- package/dist/chunk-IGU5YXRV.cjs.map +1 -0
- package/dist/chunk-IGYIMS6J.js +174 -0
- package/dist/chunk-IGYIMS6J.js.map +1 -0
- package/dist/chunk-IJ4I55QQ.cjs +38 -0
- package/dist/chunk-IJ4I55QQ.cjs.map +1 -0
- package/dist/chunk-IXHZVFHX.cjs +44 -0
- package/dist/chunk-IXHZVFHX.cjs.map +1 -0
- package/dist/chunk-J2DI6RMR.cjs +115 -0
- package/dist/chunk-J2DI6RMR.cjs.map +1 -0
- package/dist/chunk-J3XS4HHX.js +230 -0
- package/dist/chunk-J3XS4HHX.js.map +1 -0
- package/dist/chunk-JCOBDDHF.js +118 -0
- package/dist/chunk-JCOBDDHF.js.map +1 -0
- package/dist/chunk-JHEM6IGT.cjs +49 -0
- package/dist/chunk-JHEM6IGT.cjs.map +1 -0
- package/dist/chunk-JIYP73OJ.js +169 -0
- package/dist/chunk-JIYP73OJ.js.map +1 -0
- package/dist/chunk-JKO2Y5SH.js +60 -0
- package/dist/chunk-JKO2Y5SH.js.map +1 -0
- package/dist/chunk-JPTWZ3RF.cjs +280 -0
- package/dist/chunk-JPTWZ3RF.cjs.map +1 -0
- package/dist/chunk-JXE5XID6.js +19 -0
- package/dist/chunk-JXE5XID6.js.map +1 -0
- package/dist/chunk-JXIBUIEY.cjs +144 -0
- package/dist/chunk-JXIBUIEY.cjs.map +1 -0
- package/dist/chunk-JYKZKSZJ.js +122 -0
- package/dist/chunk-JYKZKSZJ.js.map +1 -0
- package/dist/chunk-K2DZEYBF.js +321 -0
- package/dist/chunk-K2DZEYBF.js.map +1 -0
- package/dist/chunk-K7JGOQJG.js +55 -0
- package/dist/chunk-K7JGOQJG.js.map +1 -0
- package/dist/chunk-KC6QBKKB.cjs +173 -0
- package/dist/chunk-KC6QBKKB.cjs.map +1 -0
- package/dist/chunk-KE7KXY5C.cjs +233 -0
- package/dist/chunk-KE7KXY5C.cjs.map +1 -0
- package/dist/chunk-KICZTIZL.cjs +133 -0
- package/dist/chunk-KICZTIZL.cjs.map +1 -0
- package/dist/chunk-KJ22KE56.cjs +19 -0
- package/dist/chunk-KJ22KE56.cjs.map +1 -0
- package/dist/chunk-KUKYJZIU.cjs +179 -0
- package/dist/chunk-KUKYJZIU.cjs.map +1 -0
- package/dist/chunk-L3V3BYVS.cjs +15 -0
- package/dist/chunk-L3V3BYVS.cjs.map +1 -0
- package/dist/chunk-LNWO23PU.cjs +131 -0
- package/dist/chunk-LNWO23PU.cjs.map +1 -0
- package/dist/chunk-LPQVXTKV.js +36 -0
- package/dist/chunk-LPQVXTKV.js.map +1 -0
- package/dist/chunk-LZL2KD4P.cjs +207 -0
- package/dist/chunk-LZL2KD4P.cjs.map +1 -0
- package/dist/chunk-M24NCWBU.js +239 -0
- package/dist/chunk-M24NCWBU.js.map +1 -0
- package/dist/chunk-M7EEQPE7.js +137 -0
- package/dist/chunk-M7EEQPE7.js.map +1 -0
- package/dist/chunk-MDUSUJWY.cjs +31 -0
- package/dist/chunk-MDUSUJWY.cjs.map +1 -0
- package/dist/chunk-MGZE2QEM.cjs +51 -0
- package/dist/chunk-MGZE2QEM.cjs.map +1 -0
- package/dist/chunk-MILTPAF6.js +255 -0
- package/dist/chunk-MILTPAF6.js.map +1 -0
- package/dist/chunk-MQ6VGG62.js +113 -0
- package/dist/chunk-MQ6VGG62.js.map +1 -0
- package/dist/chunk-MYF2PDTU.js +137 -0
- package/dist/chunk-MYF2PDTU.js.map +1 -0
- package/dist/chunk-MZIU27UY.js +133 -0
- package/dist/chunk-MZIU27UY.js.map +1 -0
- package/dist/chunk-N7WQ53US.js +211 -0
- package/dist/chunk-N7WQ53US.js.map +1 -0
- package/dist/chunk-NBZC6LOB.cjs +43 -0
- package/dist/chunk-NBZC6LOB.cjs.map +1 -0
- package/dist/chunk-NH7NRRII.js +167 -0
- package/dist/chunk-NH7NRRII.js.map +1 -0
- package/dist/chunk-NLJGNPNN.js +284 -0
- package/dist/chunk-NLJGNPNN.js.map +1 -0
- package/dist/chunk-NNSNANNY.cjs +224 -0
- package/dist/chunk-NNSNANNY.cjs.map +1 -0
- package/dist/chunk-NPKE2IX6.js +154 -0
- package/dist/chunk-NPKE2IX6.js.map +1 -0
- package/dist/chunk-NRXK42LO.js +12 -0
- package/dist/chunk-NRXK42LO.js.map +1 -0
- package/dist/chunk-O432BDEO.js +160 -0
- package/dist/chunk-O432BDEO.js.map +1 -0
- package/dist/chunk-O4MKOSU2.js +29 -0
- package/dist/chunk-O4MKOSU2.js.map +1 -0
- package/dist/chunk-O5IO7TCO.cjs +4 -0
- package/dist/chunk-O5IO7TCO.cjs.map +1 -0
- package/dist/chunk-OL53XYHF.js +17 -0
- package/dist/chunk-OL53XYHF.js.map +1 -0
- package/dist/chunk-ORCXPDDG.js +3 -0
- package/dist/chunk-ORCXPDDG.js.map +1 -0
- package/dist/chunk-ORFHF6PT.cjs +172 -0
- package/dist/chunk-ORFHF6PT.cjs.map +1 -0
- package/dist/chunk-ORPYY2MO.cjs +124 -0
- package/dist/chunk-ORPYY2MO.cjs.map +1 -0
- package/dist/chunk-OUOEQZHY.cjs +27 -0
- package/dist/chunk-OUOEQZHY.cjs.map +1 -0
- package/dist/chunk-PBXYU4EV.cjs +121 -0
- package/dist/chunk-PBXYU4EV.cjs.map +1 -0
- package/dist/chunk-PH3WGR5P.cjs +82 -0
- package/dist/chunk-PH3WGR5P.cjs.map +1 -0
- package/dist/chunk-POZZY3D5.cjs +135 -0
- package/dist/chunk-POZZY3D5.cjs.map +1 -0
- package/dist/chunk-PPLR2DNC.cjs +41 -0
- package/dist/chunk-PPLR2DNC.cjs.map +1 -0
- package/dist/chunk-PQWQ5K6J.js +15 -0
- package/dist/chunk-PQWQ5K6J.js.map +1 -0
- package/dist/chunk-PRDWJ4AR.js +215 -0
- package/dist/chunk-PRDWJ4AR.js.map +1 -0
- package/dist/chunk-PRJSEZ5F.cjs +285 -0
- package/dist/chunk-PRJSEZ5F.cjs.map +1 -0
- package/dist/chunk-PVWPZYTR.js +830 -0
- package/dist/chunk-PVWPZYTR.js.map +1 -0
- package/dist/chunk-PYRMH34E.js +49 -0
- package/dist/chunk-PYRMH34E.js.map +1 -0
- package/dist/chunk-PZIAL4OP.cjs +524 -0
- package/dist/chunk-PZIAL4OP.cjs.map +1 -0
- package/dist/chunk-QFFC2DKK.js +56 -0
- package/dist/chunk-QFFC2DKK.js.map +1 -0
- package/dist/chunk-R55HE5C5.js +81 -0
- package/dist/chunk-R55HE5C5.js.map +1 -0
- package/dist/chunk-RA3P63XW.cjs +65 -0
- package/dist/chunk-RA3P63XW.cjs.map +1 -0
- package/dist/chunk-RES2GOQQ.js +139 -0
- package/dist/chunk-RES2GOQQ.js.map +1 -0
- package/dist/chunk-RGANGU7X.js +24 -0
- package/dist/chunk-RGANGU7X.js.map +1 -0
- package/dist/chunk-RID7CYGD.js +344 -0
- package/dist/chunk-RID7CYGD.js.map +1 -0
- package/dist/chunk-RM4QWJS3.js +200 -0
- package/dist/chunk-RM4QWJS3.js.map +1 -0
- package/dist/chunk-RNHIDZLE.cjs +103 -0
- package/dist/chunk-RNHIDZLE.cjs.map +1 -0
- package/dist/chunk-RNPFSVFN.js +24 -0
- package/dist/chunk-RNPFSVFN.js.map +1 -0
- package/dist/chunk-RR7BWUVP.cjs +58 -0
- package/dist/chunk-RR7BWUVP.cjs.map +1 -0
- package/dist/chunk-RXDRYWVD.cjs +21 -0
- package/dist/chunk-RXDRYWVD.cjs.map +1 -0
- package/dist/chunk-S3TRSECD.cjs +4 -0
- package/dist/chunk-S3TRSECD.cjs.map +1 -0
- package/dist/chunk-SCPHSBBU.cjs +83 -0
- package/dist/chunk-SCPHSBBU.cjs.map +1 -0
- package/dist/chunk-SKI33QNW.js +133 -0
- package/dist/chunk-SKI33QNW.js.map +1 -0
- package/dist/chunk-T6IXZZBQ.cjs +83 -0
- package/dist/chunk-T6IXZZBQ.cjs.map +1 -0
- package/dist/chunk-T6YELZPJ.cjs +90 -0
- package/dist/chunk-T6YELZPJ.cjs.map +1 -0
- package/dist/chunk-TECFGOV2.js +222 -0
- package/dist/chunk-TECFGOV2.js.map +1 -0
- package/dist/chunk-TJ66S5K6.js +3 -0
- package/dist/chunk-TJ66S5K6.js.map +1 -0
- package/dist/chunk-TVRCOKJQ.cjs +106 -0
- package/dist/chunk-TVRCOKJQ.cjs.map +1 -0
- package/dist/chunk-TXTRTTG7.cjs +51 -0
- package/dist/chunk-TXTRTTG7.cjs.map +1 -0
- package/dist/chunk-TZKZ2LUF.cjs +140 -0
- package/dist/chunk-TZKZ2LUF.cjs.map +1 -0
- package/dist/chunk-UCYAHLGM.js +142 -0
- package/dist/chunk-UCYAHLGM.js.map +1 -0
- package/dist/chunk-UH2YXQ2B.cjs +166 -0
- package/dist/chunk-UH2YXQ2B.cjs.map +1 -0
- package/dist/chunk-UWVVEB2N.js +55 -0
- package/dist/chunk-UWVVEB2N.js.map +1 -0
- package/dist/chunk-VBZZ4CMM.cjs +71 -0
- package/dist/chunk-VBZZ4CMM.cjs.map +1 -0
- package/dist/chunk-VE3EM4K2.cjs +57 -0
- package/dist/chunk-VE3EM4K2.cjs.map +1 -0
- package/dist/chunk-VNDOT3NK.cjs +426 -0
- package/dist/chunk-VNDOT3NK.cjs.map +1 -0
- package/dist/chunk-VXHFR5MV.js +3 -0
- package/dist/chunk-VXHFR5MV.js.map +1 -0
- package/dist/chunk-W2Q4OWHX.cjs +204 -0
- package/dist/chunk-W2Q4OWHX.cjs.map +1 -0
- package/dist/chunk-WEGL4S52.js +450 -0
- package/dist/chunk-WEGL4S52.js.map +1 -0
- package/dist/chunk-WHEXTDPV.js +41 -0
- package/dist/chunk-WHEXTDPV.js.map +1 -0
- package/dist/chunk-WT72KW5M.cjs +347 -0
- package/dist/chunk-WT72KW5M.cjs.map +1 -0
- package/dist/chunk-WVO2EKE6.cjs +101 -0
- package/dist/chunk-WVO2EKE6.cjs.map +1 -0
- package/dist/chunk-WXADO5TS.cjs +124 -0
- package/dist/chunk-WXADO5TS.cjs.map +1 -0
- package/dist/chunk-X36ZGYTF.js +281 -0
- package/dist/chunk-X36ZGYTF.js.map +1 -0
- package/dist/chunk-XBBEQLMY.cjs +214 -0
- package/dist/chunk-XBBEQLMY.cjs.map +1 -0
- package/dist/chunk-XCZZVRBY.cjs +2030 -0
- package/dist/chunk-XCZZVRBY.cjs.map +1 -0
- package/dist/chunk-XJXQG34J.js +77 -0
- package/dist/chunk-XJXQG34J.js.map +1 -0
- package/dist/chunk-XMBOZ73D.js +92 -0
- package/dist/chunk-XMBOZ73D.js.map +1 -0
- package/dist/chunk-XZYKPGSK.cjs +453 -0
- package/dist/chunk-XZYKPGSK.cjs.map +1 -0
- package/dist/chunk-YCZN4FWI.js +42 -0
- package/dist/chunk-YCZN4FWI.js.map +1 -0
- package/dist/chunk-YHXE274U.js +129 -0
- package/dist/chunk-YHXE274U.js.map +1 -0
- package/dist/chunk-YLGTDBB2.cjs +43 -0
- package/dist/chunk-YLGTDBB2.cjs.map +1 -0
- package/dist/chunk-YT42J4VQ.js +361 -0
- package/dist/chunk-YT42J4VQ.js.map +1 -0
- package/dist/chunk-YT6N44Z3.js +99 -0
- package/dist/chunk-YT6N44Z3.js.map +1 -0
- package/dist/chunk-YXC7QHNT.cjs +385 -0
- package/dist/chunk-YXC7QHNT.cjs.map +1 -0
- package/dist/chunk-ZFVSEO5Z.cjs +136 -0
- package/dist/chunk-ZFVSEO5Z.cjs.map +1 -0
- package/dist/chunk-ZLCVKYHY.js +344 -0
- package/dist/chunk-ZLCVKYHY.js.map +1 -0
- package/dist/chunk-ZNTEM7F2.js +184 -0
- package/dist/chunk-ZNTEM7F2.js.map +1 -0
- package/dist/chunk-ZT36VWIA.js +136 -0
- package/dist/chunk-ZT36VWIA.js.map +1 -0
- package/dist/chunk-ZWOEKDNI.js +281 -0
- package/dist/chunk-ZWOEKDNI.js.map +1 -0
- package/dist/code-view.cjs +13 -0
- package/dist/code-view.cjs.map +1 -0
- package/dist/code-view.d.cts +44 -0
- package/dist/code-view.d.ts +44 -0
- package/dist/code-view.js +4 -0
- package/dist/code-view.js.map +1 -0
- package/dist/color-picker.cjs +16 -0
- package/dist/color-picker.cjs.map +1 -0
- package/dist/color-picker.d.cts +20 -0
- package/dist/color-picker.d.ts +20 -0
- package/dist/color-picker.js +7 -0
- package/dist/color-picker.js.map +1 -0
- package/dist/command.cjs +21 -0
- package/dist/command.cjs.map +1 -0
- package/dist/command.d.cts +78 -0
- package/dist/command.d.ts +78 -0
- package/dist/command.js +8 -0
- package/dist/command.js.map +1 -0
- package/dist/composer.cjs +14 -0
- package/dist/composer.cjs.map +1 -0
- package/dist/composer.d.cts +17 -0
- package/dist/composer.d.ts +17 -0
- package/dist/composer.js +5 -0
- package/dist/composer.js.map +1 -0
- package/dist/content-renderer.cjs +23 -0
- package/dist/content-renderer.cjs.map +1 -0
- package/dist/content-renderer.d.cts +27 -0
- package/dist/content-renderer.d.ts +27 -0
- package/dist/content-renderer.js +6 -0
- package/dist/content-renderer.js.map +1 -0
- package/dist/context-menu.cjs +21 -0
- package/dist/context-menu.cjs.map +1 -0
- package/dist/context-menu.d.cts +91 -0
- package/dist/context-menu.d.ts +91 -0
- package/dist/context-menu.js +8 -0
- package/dist/context-menu.js.map +1 -0
- package/dist/date-picker.cjs +19 -0
- package/dist/date-picker.cjs.map +1 -0
- package/dist/date-picker.d.cts +26 -0
- package/dist/date-picker.d.ts +26 -0
- package/dist/date-picker.js +10 -0
- package/dist/date-picker.js.map +1 -0
- package/dist/drawer.cjs +21 -0
- package/dist/drawer.cjs.map +1 -0
- package/dist/drawer.d.cts +116 -0
- package/dist/drawer.d.ts +116 -0
- package/dist/drawer.js +8 -0
- package/dist/drawer.js.map +1 -0
- package/dist/dropdown.cjs +22 -0
- package/dist/dropdown.cjs.map +1 -0
- package/dist/dropdown.d.cts +67 -0
- package/dist/dropdown.d.ts +67 -0
- package/dist/dropdown.js +9 -0
- package/dist/dropdown.js.map +1 -0
- package/dist/editor.cjs +29 -0
- package/dist/editor.cjs.map +1 -0
- package/dist/editor.d.cts +153 -0
- package/dist/editor.d.ts +153 -0
- package/dist/editor.js +16 -0
- package/dist/editor.js.map +1 -0
- package/dist/emoji-select.cjs +15 -0
- package/dist/emoji-select.cjs.map +1 -0
- package/dist/emoji-select.d.cts +13 -0
- package/dist/emoji-select.d.ts +13 -0
- package/dist/emoji-select.js +6 -0
- package/dist/emoji-select.js.map +1 -0
- package/dist/emoji.cjs +14 -0
- package/dist/emoji.cjs.map +1 -0
- package/dist/emoji.d.cts +2 -0
- package/dist/emoji.d.ts +2 -0
- package/dist/emoji.js +5 -0
- package/dist/emoji.js.map +1 -0
- package/dist/extensions-6PVd3-vB.d.cts +38 -0
- package/dist/extensions-6PVd3-vB.d.ts +38 -0
- package/dist/eyebrow.cjs +13 -0
- package/dist/eyebrow.cjs.map +1 -0
- package/dist/eyebrow.d.cts +33 -0
- package/dist/eyebrow.d.ts +33 -0
- package/dist/eyebrow.js +4 -0
- package/dist/eyebrow.js.map +1 -0
- package/dist/faux-client.cjs +13 -0
- package/dist/faux-client.cjs.map +1 -0
- package/dist/faux-client.d.cts +39 -0
- package/dist/faux-client.d.ts +39 -0
- package/dist/faux-client.js +4 -0
- package/dist/faux-client.js.map +1 -0
- package/dist/field.cjs +14 -0
- package/dist/field.cjs.map +1 -0
- package/dist/field.d.cts +18 -0
- package/dist/field.d.ts +18 -0
- package/dist/field.js +5 -0
- package/dist/field.js.map +1 -0
- package/dist/file-browser.cjs +18 -0
- package/dist/file-browser.cjs.map +1 -0
- package/dist/file-browser.d.cts +269 -0
- package/dist/file-browser.d.ts +269 -0
- package/dist/file-browser.js +5 -0
- package/dist/file-browser.js.map +1 -0
- package/dist/file-upload.cjs +17 -0
- package/dist/file-upload.cjs.map +1 -0
- package/dist/file-upload.d.cts +48 -0
- package/dist/file-upload.d.ts +48 -0
- package/dist/file-upload.js +4 -0
- package/dist/file-upload.js.map +1 -0
- package/dist/heading.cjs +13 -0
- package/dist/heading.cjs.map +1 -0
- package/dist/heading.d.cts +25 -0
- package/dist/heading.d.ts +25 -0
- package/dist/heading.js +4 -0
- package/dist/heading.js.map +1 -0
- package/dist/icon.cjs +34 -0
- package/dist/icon.cjs.map +1 -0
- package/dist/icon.d.cts +51 -0
- package/dist/icon.d.ts +51 -0
- package/dist/icon.js +5 -0
- package/dist/icon.js.map +1 -0
- package/dist/image-viewer.cjs +14 -0
- package/dist/image-viewer.cjs.map +1 -0
- package/dist/image-viewer.d.cts +19 -0
- package/dist/image-viewer.d.ts +19 -0
- package/dist/image-viewer.js +5 -0
- package/dist/image-viewer.js.map +1 -0
- package/dist/index-B71wa9AW.d.cts +79 -0
- package/dist/index-BktWpyRH.d.cts +53 -0
- package/dist/index-BktWpyRH.d.ts +53 -0
- package/dist/index-bIntFOl5.d.ts +79 -0
- package/dist/index-list.cjs +13 -0
- package/dist/index-list.cjs.map +1 -0
- package/dist/index-list.d.cts +49 -0
- package/dist/index-list.d.ts +49 -0
- package/dist/index-list.js +4 -0
- package/dist/index-list.js.map +1 -0
- package/dist/index.cjs +666 -16826
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +93 -4078
- package/dist/index.d.ts +93 -4078
- package/dist/index.js +103 -16708
- package/dist/index.js.map +1 -1
- package/dist/input-tag.cjs +28 -0
- package/dist/input-tag.cjs.map +1 -0
- package/dist/input-tag.d.cts +134 -0
- package/dist/input-tag.d.ts +134 -0
- package/dist/input-tag.js +3 -0
- package/dist/input-tag.js.map +1 -0
- package/dist/input.cjs +20 -0
- package/dist/input.cjs.map +1 -0
- package/dist/input.d.cts +32 -0
- package/dist/input.d.ts +32 -0
- package/dist/input.js +11 -0
- package/dist/input.js.map +1 -0
- package/dist/inputs.cjs +100 -0
- package/dist/inputs.cjs.map +1 -0
- package/dist/inputs.d.cts +16 -0
- package/dist/inputs.d.ts +16 -0
- package/dist/inputs.js +27 -0
- package/dist/inputs.js.map +1 -0
- package/dist/inputs.types-CkWdvN-t.d.cts +44 -0
- package/dist/inputs.types-DERzxpe1.d.ts +44 -0
- package/dist/kanban.cjs +17 -0
- package/dist/kanban.cjs.map +1 -0
- package/dist/kanban.d.cts +136 -0
- package/dist/kanban.d.ts +136 -0
- package/dist/kanban.js +4 -0
- package/dist/kanban.js.map +1 -0
- package/dist/kbd.cjs +13 -0
- package/dist/kbd.cjs.map +1 -0
- package/dist/kbd.d.cts +30 -0
- package/dist/kbd.d.ts +30 -0
- package/dist/kbd.js +4 -0
- package/dist/kbd.js.map +1 -0
- package/dist/magic-wand.cjs +25 -0
- package/dist/magic-wand.cjs.map +1 -0
- package/dist/magic-wand.d.cts +62 -0
- package/dist/magic-wand.d.ts +62 -0
- package/dist/magic-wand.js +16 -0
- package/dist/magic-wand.js.map +1 -0
- package/dist/marquee.cjs +13 -0
- package/dist/marquee.cjs.map +1 -0
- package/dist/marquee.d.cts +48 -0
- package/dist/marquee.d.ts +48 -0
- package/dist/marquee.js +4 -0
- package/dist/marquee.js.map +1 -0
- package/dist/media-viewer.cjs +18 -0
- package/dist/media-viewer.cjs.map +1 -0
- package/dist/media-viewer.d.cts +6 -0
- package/dist/media-viewer.d.ts +6 -0
- package/dist/media-viewer.js +9 -0
- package/dist/media-viewer.js.map +1 -0
- package/dist/menu.cjs +17 -0
- package/dist/menu.cjs.map +1 -0
- package/dist/menu.d.cts +60 -0
- package/dist/menu.d.ts +60 -0
- package/dist/menu.js +4 -0
- package/dist/menu.js.map +1 -0
- package/dist/mobile-menu.cjs +26 -0
- package/dist/mobile-menu.cjs.map +1 -0
- package/dist/mobile-menu.d.cts +60 -0
- package/dist/mobile-menu.d.ts +60 -0
- package/dist/mobile-menu.js +13 -0
- package/dist/mobile-menu.js.map +1 -0
- package/dist/modal.cjs +21 -0
- package/dist/modal.cjs.map +1 -0
- package/dist/modal.d.cts +52 -0
- package/dist/modal.d.ts +52 -0
- package/dist/modal.js +8 -0
- package/dist/modal.js.map +1 -0
- package/dist/mode.cjs +37 -0
- package/dist/mode.cjs.map +1 -0
- package/dist/mode.d.cts +28 -0
- package/dist/mode.d.ts +28 -0
- package/dist/mode.js +8 -0
- package/dist/mode.js.map +1 -0
- package/dist/mood-meter.cjs +12 -0
- package/dist/mood-meter.cjs.map +1 -0
- package/dist/mood-meter.d.cts +67 -0
- package/dist/mood-meter.d.ts +67 -0
- package/dist/mood-meter.js +3 -0
- package/dist/mood-meter.js.map +1 -0
- package/dist/multi-switch.cjs +19 -0
- package/dist/multi-switch.cjs.map +1 -0
- package/dist/multi-switch.d.cts +18 -0
- package/dist/multi-switch.d.ts +18 -0
- package/dist/multi-switch.js +10 -0
- package/dist/multi-switch.js.map +1 -0
- package/dist/navbar.cjs +17 -0
- package/dist/navbar.cjs.map +1 -0
- package/dist/navbar.d.cts +60 -0
- package/dist/navbar.d.ts +60 -0
- package/dist/navbar.js +4 -0
- package/dist/navbar.js.map +1 -0
- package/dist/otp-input.cjs +16 -0
- package/dist/otp-input.cjs.map +1 -0
- package/dist/otp-input.d.cts +18 -0
- package/dist/otp-input.d.ts +18 -0
- package/dist/otp-input.js +7 -0
- package/dist/otp-input.js.map +1 -0
- package/dist/pagination.cjs +13 -0
- package/dist/pagination.cjs.map +1 -0
- package/dist/pagination.d.cts +16 -0
- package/dist/pagination.d.ts +16 -0
- package/dist/pagination.js +4 -0
- package/dist/pagination.js.map +1 -0
- package/dist/pdf-viewer.cjs +13 -0
- package/dist/pdf-viewer.cjs.map +1 -0
- package/dist/pdf-viewer.d.cts +16 -0
- package/dist/pdf-viewer.d.ts +16 -0
- package/dist/pdf-viewer.js +4 -0
- package/dist/pdf-viewer.js.map +1 -0
- package/dist/pillbox.cjs +14 -0
- package/dist/pillbox.cjs.map +1 -0
- package/dist/pillbox.d.cts +15 -0
- package/dist/pillbox.d.ts +15 -0
- package/dist/pillbox.js +5 -0
- package/dist/pillbox.js.map +1 -0
- package/dist/popover.cjs +21 -0
- package/dist/popover.cjs.map +1 -0
- package/dist/popover.d.cts +71 -0
- package/dist/popover.d.ts +71 -0
- package/dist/popover.js +8 -0
- package/dist/popover.js.map +1 -0
- package/dist/portal.cjs +12 -0
- package/dist/portal.cjs.map +1 -0
- package/dist/portal.d.cts +10 -0
- package/dist/portal.d.ts +10 -0
- package/dist/portal.js +3 -0
- package/dist/portal.js.map +1 -0
- package/dist/profile.cjs +14 -0
- package/dist/profile.cjs.map +1 -0
- package/dist/profile.d.cts +16 -0
- package/dist/profile.d.ts +16 -0
- package/dist/profile.js +5 -0
- package/dist/profile.js.map +1 -0
- package/dist/progress.cjs +13 -0
- package/dist/progress.cjs.map +1 -0
- package/dist/progress.d.cts +25 -0
- package/dist/progress.d.ts +25 -0
- package/dist/progress.js +4 -0
- package/dist/progress.js.map +1 -0
- package/dist/prompt-input.cjs +20 -0
- package/dist/prompt-input.cjs.map +1 -0
- package/dist/prompt-input.d.cts +76 -0
- package/dist/prompt-input.d.ts +76 -0
- package/dist/prompt-input.js +11 -0
- package/dist/prompt-input.js.map +1 -0
- package/dist/pull-quote.cjs +13 -0
- package/dist/pull-quote.cjs.map +1 -0
- package/dist/pull-quote.d.cts +33 -0
- package/dist/pull-quote.d.ts +33 -0
- package/dist/pull-quote.js +4 -0
- package/dist/pull-quote.js.map +1 -0
- package/dist/radio-group.cjs +19 -0
- package/dist/radio-group.cjs.map +1 -0
- package/dist/radio-group.d.cts +18 -0
- package/dist/radio-group.d.ts +18 -0
- package/dist/radio-group.js +10 -0
- package/dist/radio-group.js.map +1 -0
- package/dist/reason-tag.cjs +22 -0
- package/dist/reason-tag.cjs.map +1 -0
- package/dist/reason-tag.d.cts +57 -0
- package/dist/reason-tag.d.ts +57 -0
- package/dist/reason-tag.js +13 -0
- package/dist/reason-tag.js.map +1 -0
- package/dist/select.cjs +23 -0
- package/dist/select.cjs.map +1 -0
- package/dist/select.d.cts +41 -0
- package/dist/select.d.ts +41 -0
- package/dist/select.js +14 -0
- package/dist/select.js.map +1 -0
- package/dist/separator.cjs +13 -0
- package/dist/separator.cjs.map +1 -0
- package/dist/separator.d.cts +14 -0
- package/dist/separator.d.ts +14 -0
- package/dist/separator.js +4 -0
- package/dist/separator.js.map +1 -0
- package/dist/sidebar.cjs +25 -0
- package/dist/sidebar.cjs.map +1 -0
- package/dist/sidebar.d.cts +80 -0
- package/dist/sidebar.d.ts +80 -0
- package/dist/sidebar.js +12 -0
- package/dist/sidebar.js.map +1 -0
- package/dist/skeleton.cjs +13 -0
- package/dist/skeleton.cjs.map +1 -0
- package/dist/skeleton.d.cts +16 -0
- package/dist/skeleton.d.ts +16 -0
- package/dist/skeleton.js +4 -0
- package/dist/skeleton.js.map +1 -0
- package/dist/slider.cjs +19 -0
- package/dist/slider.cjs.map +1 -0
- package/dist/slider.d.cts +34 -0
- package/dist/slider.d.ts +34 -0
- package/dist/slider.js +10 -0
- package/dist/slider.js.map +1 -0
- package/dist/stat.cjs +17 -0
- package/dist/stat.cjs.map +1 -0
- package/dist/stat.d.cts +29 -0
- package/dist/stat.d.ts +29 -0
- package/dist/stat.js +4 -0
- package/dist/stat.js.map +1 -0
- package/dist/sticky-note.cjs +13 -0
- package/dist/sticky-note.cjs.map +1 -0
- package/dist/sticky-note.d.cts +53 -0
- package/dist/sticky-note.d.ts +53 -0
- package/dist/sticky-note.js +4 -0
- package/dist/sticky-note.js.map +1 -0
- package/dist/switch.cjs +17 -0
- package/dist/switch.cjs.map +1 -0
- package/dist/switch.d.cts +16 -0
- package/dist/switch.d.ts +16 -0
- package/dist/switch.js +8 -0
- package/dist/switch.js.map +1 -0
- package/dist/table.cjs +50 -0
- package/dist/table.cjs.map +1 -0
- package/dist/table.d.cts +89 -0
- package/dist/table.d.ts +89 -0
- package/dist/table.js +5 -0
- package/dist/table.js.map +1 -0
- package/dist/tabs.cjs +18 -0
- package/dist/tabs.cjs.map +1 -0
- package/dist/tabs.d.cts +68 -0
- package/dist/tabs.d.ts +68 -0
- package/dist/tabs.js +5 -0
- package/dist/tabs.js.map +1 -0
- package/dist/text.cjs +13 -0
- package/dist/text.cjs.map +1 -0
- package/dist/text.d.cts +17 -0
- package/dist/text.d.ts +17 -0
- package/dist/text.js +4 -0
- package/dist/text.js.map +1 -0
- package/dist/textarea.cjs +20 -0
- package/dist/textarea.cjs.map +1 -0
- package/dist/textarea.d.cts +15 -0
- package/dist/textarea.d.ts +15 -0
- package/dist/textarea.js +11 -0
- package/dist/textarea.js.map +1 -0
- package/dist/time-grid.cjs +13 -0
- package/dist/time-grid.cjs.map +1 -0
- package/dist/time-grid.d.cts +53 -0
- package/dist/time-grid.d.ts +53 -0
- package/dist/time-grid.js +4 -0
- package/dist/time-grid.js.map +1 -0
- package/dist/time-picker.cjs +16 -0
- package/dist/time-picker.cjs.map +1 -0
- package/dist/time-picker.d.cts +19 -0
- package/dist/time-picker.d.ts +19 -0
- package/dist/time-picker.js +7 -0
- package/dist/time-picker.js.map +1 -0
- package/dist/timeline.cjs +21 -0
- package/dist/timeline.cjs.map +1 -0
- package/dist/timeline.d.cts +10 -0
- package/dist/timeline.d.ts +10 -0
- package/dist/timeline.js +4 -0
- package/dist/timeline.js.map +1 -0
- package/dist/toast.cjs +18 -0
- package/dist/toast.cjs.map +1 -0
- package/dist/toast.d.cts +54 -0
- package/dist/toast.d.ts +54 -0
- package/dist/toast.js +5 -0
- package/dist/toast.js.map +1 -0
- package/dist/tooltip.cjs +15 -0
- package/dist/tooltip.cjs.map +1 -0
- package/dist/tooltip.d.cts +16 -0
- package/dist/tooltip.d.ts +16 -0
- package/dist/tooltip.js +6 -0
- package/dist/tooltip.js.map +1 -0
- package/dist/tree-nav.cjs +17 -0
- package/dist/tree-nav.cjs.map +1 -0
- package/dist/tree-nav.d.cts +114 -0
- package/dist/tree-nav.d.ts +114 -0
- package/dist/tree-nav.js +4 -0
- package/dist/tree-nav.js.map +1 -0
- package/dist/types-8Sv0rCjw.d.cts +58 -0
- package/dist/types-8Sv0rCjw.d.ts +58 -0
- package/dist/video-viewer.cjs +13 -0
- package/dist/video-viewer.cjs.map +1 -0
- package/dist/video-viewer.d.cts +14 -0
- package/dist/video-viewer.d.ts +14 -0
- package/dist/video-viewer.js +4 -0
- package/dist/video-viewer.js.map +1 -0
- package/package.json +845 -5
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunk6BW5BQMN_cjs = require('./chunk-6BW5BQMN.cjs');
|
|
4
|
+
var chunkPPLR2DNC_cjs = require('./chunk-PPLR2DNC.cjs');
|
|
5
|
+
var chunkYLGTDBB2_cjs = require('./chunk-YLGTDBB2.cjs');
|
|
6
|
+
var chunkKJ22KE56_cjs = require('./chunk-KJ22KE56.cjs');
|
|
7
|
+
var chunkL3V3BYVS_cjs = require('./chunk-L3V3BYVS.cjs');
|
|
8
|
+
var chunkOUOEQZHY_cjs = require('./chunk-OUOEQZHY.cjs');
|
|
9
|
+
var chunk3Z6ALUWP_cjs = require('./chunk-3Z6ALUWP.cjs');
|
|
10
|
+
var react = require('react');
|
|
11
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
12
|
+
|
|
13
|
+
var sizeClasses = {
|
|
14
|
+
xs: "px-2 py-1 text-xs",
|
|
15
|
+
sm: "px-2.5 py-1.5 text-sm",
|
|
16
|
+
md: "px-3 py-2 text-sm",
|
|
17
|
+
lg: "px-4 py-2.5 text-base",
|
|
18
|
+
xl: "px-5 py-3 text-lg"
|
|
19
|
+
};
|
|
20
|
+
function MultiSwitch({
|
|
21
|
+
size = "md",
|
|
22
|
+
dirty,
|
|
23
|
+
error,
|
|
24
|
+
label,
|
|
25
|
+
description,
|
|
26
|
+
required,
|
|
27
|
+
disabled,
|
|
28
|
+
className,
|
|
29
|
+
id,
|
|
30
|
+
name,
|
|
31
|
+
list,
|
|
32
|
+
value: controlledValue,
|
|
33
|
+
defaultValue,
|
|
34
|
+
onValueChange,
|
|
35
|
+
linear,
|
|
36
|
+
mode,
|
|
37
|
+
...rest
|
|
38
|
+
}) {
|
|
39
|
+
const resolvedOptions = list.map(chunkYLGTDBB2_cjs.resolveOption);
|
|
40
|
+
const fallback = defaultValue ?? resolvedOptions[0]?.value;
|
|
41
|
+
const resolvedMode = chunkL3V3BYVS_cjs.useFieldMode(mode);
|
|
42
|
+
const { showControl, interactive, enterEdit, exitEdit } = chunkKJ22KE56_cjs.useInlineEdit(resolvedMode, disabled);
|
|
43
|
+
const [value, setValue] = chunkOUOEQZHY_cjs.useControllableState(controlledValue, fallback, onValueChange);
|
|
44
|
+
const containerRef = react.useRef(null);
|
|
45
|
+
const itemRefs = react.useRef([]);
|
|
46
|
+
const [indicator, setIndicator] = react.useState(null);
|
|
47
|
+
const selectedIndex = resolvedOptions.findIndex(
|
|
48
|
+
(o) => o.value === value
|
|
49
|
+
);
|
|
50
|
+
const updateIndicator = react.useCallback(() => {
|
|
51
|
+
const container = containerRef.current;
|
|
52
|
+
const activeItem = itemRefs.current[selectedIndex];
|
|
53
|
+
if (!container || !activeItem) {
|
|
54
|
+
setIndicator(null);
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
const containerRect = container.getBoundingClientRect();
|
|
58
|
+
const itemRect = activeItem.getBoundingClientRect();
|
|
59
|
+
setIndicator({
|
|
60
|
+
left: itemRect.left - containerRect.left,
|
|
61
|
+
width: itemRect.width
|
|
62
|
+
});
|
|
63
|
+
}, [selectedIndex]);
|
|
64
|
+
react.useEffect(() => {
|
|
65
|
+
updateIndicator();
|
|
66
|
+
}, [updateIndicator]);
|
|
67
|
+
const control = !showControl ? /* @__PURE__ */ jsxRuntime.jsx(chunk6BW5BQMN_cjs.DisplayValue, { size, interactive, onActivate: enterEdit, children: resolvedOptions.find((o) => o.value === value)?.label }) : /* @__PURE__ */ jsxRuntime.jsxs(
|
|
68
|
+
"div",
|
|
69
|
+
{
|
|
70
|
+
ref: containerRef,
|
|
71
|
+
...rest,
|
|
72
|
+
"data-react-fancy-multi-switch": "",
|
|
73
|
+
role: "radiogroup",
|
|
74
|
+
id,
|
|
75
|
+
onBlur: (e) => {
|
|
76
|
+
if (interactive && !e.currentTarget.contains(e.relatedTarget)) exitEdit();
|
|
77
|
+
},
|
|
78
|
+
className: chunk3Z6ALUWP_cjs.cn(
|
|
79
|
+
"relative inline-flex rounded-lg border border-zinc-300 bg-zinc-100 dark:border-zinc-700 dark:bg-zinc-800",
|
|
80
|
+
dirty && "ring-2 ring-amber-400/50",
|
|
81
|
+
error && "ring-2 ring-red-500/50",
|
|
82
|
+
disabled && "opacity-50 cursor-not-allowed",
|
|
83
|
+
className
|
|
84
|
+
),
|
|
85
|
+
children: [
|
|
86
|
+
indicator && /* @__PURE__ */ jsxRuntime.jsx(
|
|
87
|
+
"span",
|
|
88
|
+
{
|
|
89
|
+
className: "absolute top-0 bottom-0 rounded-lg bg-blue-600 transition-all duration-200 ease-out",
|
|
90
|
+
style: { left: indicator.left, width: indicator.width }
|
|
91
|
+
}
|
|
92
|
+
),
|
|
93
|
+
resolvedOptions.map((option, index) => {
|
|
94
|
+
const isSelected = option.value === value;
|
|
95
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
96
|
+
"button",
|
|
97
|
+
{
|
|
98
|
+
ref: (el) => {
|
|
99
|
+
itemRefs.current[index] = el;
|
|
100
|
+
},
|
|
101
|
+
type: "button",
|
|
102
|
+
role: "radio",
|
|
103
|
+
"aria-checked": isSelected,
|
|
104
|
+
disabled: disabled || option.disabled,
|
|
105
|
+
autoFocus: interactive && (selectedIndex === -1 ? index === 0 : isSelected),
|
|
106
|
+
onClick: () => {
|
|
107
|
+
if (linear) {
|
|
108
|
+
const nextIndex = (selectedIndex + 1) % resolvedOptions.length;
|
|
109
|
+
setValue(resolvedOptions[nextIndex].value);
|
|
110
|
+
} else {
|
|
111
|
+
setValue(option.value);
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
className: chunk3Z6ALUWP_cjs.cn(
|
|
115
|
+
"relative z-10 font-medium transition-colors duration-200",
|
|
116
|
+
sizeClasses[size],
|
|
117
|
+
isSelected ? "text-white" : "text-zinc-600 hover:text-zinc-900 dark:text-zinc-400 dark:hover:text-zinc-100",
|
|
118
|
+
(disabled || option.disabled) && "cursor-not-allowed"
|
|
119
|
+
),
|
|
120
|
+
children: option.label
|
|
121
|
+
},
|
|
122
|
+
String(option.value)
|
|
123
|
+
);
|
|
124
|
+
}),
|
|
125
|
+
name && /* @__PURE__ */ jsxRuntime.jsx("input", { type: "hidden", name, value: String(value) })
|
|
126
|
+
]
|
|
127
|
+
}
|
|
128
|
+
);
|
|
129
|
+
if (label || error || description) {
|
|
130
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkPPLR2DNC_cjs.Field, { label, description, error, required, htmlFor: id, size, children: control });
|
|
131
|
+
}
|
|
132
|
+
return control;
|
|
133
|
+
}
|
|
134
|
+
MultiSwitch.displayName = "MultiSwitch";
|
|
135
|
+
|
|
136
|
+
exports.MultiSwitch = MultiSwitch;
|
|
137
|
+
//# sourceMappingURL=chunk-IGU5YXRV.cjs.map
|
|
138
|
+
//# sourceMappingURL=chunk-IGU5YXRV.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/inputs/MultiSwitch/MultiSwitch.tsx"],"names":["resolveOption","useFieldMode","useInlineEdit","useControllableState","useRef","useState","useCallback","useEffect","DisplayValue","jsxs","cn","jsx","Field"],"mappings":"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","file":"chunk-IGU5YXRV.cjs","sourcesContent":["import { useRef, useState, useEffect, useCallback } from \"react\";\nimport { cn } from \"../../../utils/cn\";\nimport { useControllableState } from \"../../../hooks/use-controllable-state\";\nimport { Field } from \"../Field\";\nimport { useFieldMode } from \"../mode/FieldMode.context\";\nimport { DisplayValue } from \"../mode/DisplayValue\";\nimport { useInlineEdit } from \"../mode/useInlineEdit\";\nimport { resolveOption } from \"../inputs.utils\";\nimport type { Size } from \"../../../utils/types\";\nimport type { MultiSwitchProps } from \"./MultiSwitch.types\";\n\nconst sizeClasses: Record<Size, string> = {\n xs: \"px-2 py-1 text-xs\",\n sm: \"px-2.5 py-1.5 text-sm\",\n md: \"px-3 py-2 text-sm\",\n lg: \"px-4 py-2.5 text-base\",\n xl: \"px-5 py-3 text-lg\",\n};\n\nexport function MultiSwitch<V = string>({\n size = \"md\",\n dirty,\n error,\n label,\n description,\n required,\n disabled,\n className,\n id,\n name,\n list,\n value: controlledValue,\n defaultValue,\n onValueChange,\n linear,\n mode,\n ...rest\n}: MultiSwitchProps<V>) {\n const resolvedOptions = list.map(resolveOption);\n const fallback = defaultValue ?? resolvedOptions[0]?.value;\n const resolvedMode = useFieldMode(mode);\n const { showControl, interactive, enterEdit, exitEdit } = useInlineEdit(resolvedMode, disabled);\n const [value, setValue] = useControllableState(controlledValue, fallback as V, onValueChange);\n\n const containerRef = useRef<HTMLDivElement>(null);\n const itemRefs = useRef<(HTMLButtonElement | null)[]>([]);\n const [indicator, setIndicator] = useState<{ left: number; width: number } | null>(null);\n\n const selectedIndex = resolvedOptions.findIndex(\n (o) => o.value === value,\n );\n\n const updateIndicator = useCallback(() => {\n const container = containerRef.current;\n const activeItem = itemRefs.current[selectedIndex];\n if (!container || !activeItem) {\n setIndicator(null);\n return;\n }\n const containerRect = container.getBoundingClientRect();\n const itemRect = activeItem.getBoundingClientRect();\n setIndicator({\n left: itemRect.left - containerRect.left,\n width: itemRect.width,\n });\n }, [selectedIndex]);\n\n useEffect(() => {\n updateIndicator();\n }, [updateIndicator]);\n\n const control = !showControl ? (\n <DisplayValue size={size} interactive={interactive} onActivate={enterEdit}>\n {resolvedOptions.find((o) => o.value === value)?.label}\n </DisplayValue>\n ) : (\n <div\n ref={containerRef}\n {...rest}\n data-react-fancy-multi-switch=\"\"\n role=\"radiogroup\"\n id={id}\n onBlur={(e) => {\n if (interactive && !e.currentTarget.contains(e.relatedTarget as Node)) exitEdit();\n }}\n className={cn(\n \"relative inline-flex rounded-lg border border-zinc-300 bg-zinc-100 dark:border-zinc-700 dark:bg-zinc-800\",\n dirty && \"ring-2 ring-amber-400/50\",\n error && \"ring-2 ring-red-500/50\",\n disabled && \"opacity-50 cursor-not-allowed\",\n className,\n )}\n >\n {indicator && (\n <span\n className=\"absolute top-0 bottom-0 rounded-lg bg-blue-600 transition-all duration-200 ease-out\"\n style={{ left: indicator.left, width: indicator.width }}\n />\n )}\n {resolvedOptions.map((option, index) => {\n const isSelected = option.value === value;\n return (\n <button\n key={String(option.value)}\n ref={(el) => { itemRefs.current[index] = el; }}\n type=\"button\"\n role=\"radio\"\n aria-checked={isSelected}\n disabled={disabled || option.disabled}\n autoFocus={interactive && (selectedIndex === -1 ? index === 0 : isSelected)}\n onClick={() => {\n if (linear) {\n const nextIndex = (selectedIndex + 1) % resolvedOptions.length;\n setValue(resolvedOptions[nextIndex].value as V);\n } else {\n setValue(option.value as V);\n }\n }}\n className={cn(\n \"relative z-10 font-medium transition-colors duration-200\",\n sizeClasses[size],\n isSelected\n ? \"text-white\"\n : \"text-zinc-600 hover:text-zinc-900 dark:text-zinc-400 dark:hover:text-zinc-100\",\n (disabled || option.disabled) && \"cursor-not-allowed\",\n )}\n >\n {option.label}\n </button>\n );\n })}\n {name && <input type=\"hidden\" name={name} value={String(value)} />}\n </div>\n );\n\n if (label || error || description) {\n return (\n <Field label={label} description={description} error={error} required={required} htmlFor={id} size={size}>\n {control}\n </Field>\n );\n }\n\n return control;\n}\n\nMultiSwitch.displayName = \"MultiSwitch\";\n"]}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { cn } from './chunk-DSUHZO6T.js';
|
|
2
|
+
import { createContext, useState, useContext } from 'react';
|
|
3
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
4
|
+
import { ChevronDown } from 'lucide-react';
|
|
5
|
+
|
|
6
|
+
var MenuContext = createContext(null);
|
|
7
|
+
function useMenu() {
|
|
8
|
+
const ctx = useContext(MenuContext);
|
|
9
|
+
if (!ctx) {
|
|
10
|
+
throw new Error("useMenu must be used within a <Menu> component");
|
|
11
|
+
}
|
|
12
|
+
return ctx;
|
|
13
|
+
}
|
|
14
|
+
function MenuItem({
|
|
15
|
+
children,
|
|
16
|
+
href,
|
|
17
|
+
as: As,
|
|
18
|
+
icon,
|
|
19
|
+
active = false,
|
|
20
|
+
disabled = false,
|
|
21
|
+
badge,
|
|
22
|
+
onClick,
|
|
23
|
+
className,
|
|
24
|
+
...rest
|
|
25
|
+
}) {
|
|
26
|
+
const { orientation } = useMenu();
|
|
27
|
+
const isVertical = orientation === "vertical";
|
|
28
|
+
const isLink = Boolean(href || As);
|
|
29
|
+
const Tag = isLink ? As ?? "a" : "button";
|
|
30
|
+
const tagProps = isLink ? { ...href ? { href } : {}, onClick } : { type: "button", onClick };
|
|
31
|
+
return /* @__PURE__ */ jsxs(
|
|
32
|
+
Tag,
|
|
33
|
+
{
|
|
34
|
+
...tagProps,
|
|
35
|
+
...rest,
|
|
36
|
+
"data-react-fancy-menu-item": "",
|
|
37
|
+
"data-active": active || void 0,
|
|
38
|
+
"aria-current": active ? "page" : void 0,
|
|
39
|
+
"aria-disabled": disabled || void 0,
|
|
40
|
+
className: cn(
|
|
41
|
+
"flex items-center gap-2 rounded-md text-sm font-medium transition-colors",
|
|
42
|
+
"outline-none focus-visible:ring-2 focus-visible:ring-blue-500",
|
|
43
|
+
isVertical ? "w-full px-3 py-2" : "px-3 py-2",
|
|
44
|
+
active ? "bg-zinc-100 text-zinc-900 dark:bg-zinc-800 dark:text-zinc-100" : "text-zinc-600 hover:bg-zinc-50 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800/50 dark:hover:text-zinc-100",
|
|
45
|
+
disabled && "pointer-events-none opacity-50",
|
|
46
|
+
className
|
|
47
|
+
),
|
|
48
|
+
children: [
|
|
49
|
+
icon && /* @__PURE__ */ jsx("span", { className: "flex h-5 w-5 shrink-0 items-center justify-center", children: icon }),
|
|
50
|
+
/* @__PURE__ */ jsx("span", { className: "flex-1 truncate text-left", children }),
|
|
51
|
+
badge && /* @__PURE__ */ jsx("span", { className: "shrink-0", children: badge })
|
|
52
|
+
]
|
|
53
|
+
}
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
MenuItem.displayName = "MenuItem";
|
|
57
|
+
function MenuSubmenu({
|
|
58
|
+
children,
|
|
59
|
+
label,
|
|
60
|
+
icon,
|
|
61
|
+
defaultOpen = false,
|
|
62
|
+
className
|
|
63
|
+
}) {
|
|
64
|
+
const [open, setOpen] = useState(defaultOpen);
|
|
65
|
+
const { orientation } = useMenu();
|
|
66
|
+
const isVertical = orientation === "vertical";
|
|
67
|
+
if (!isVertical) {
|
|
68
|
+
return /* @__PURE__ */ jsxs(
|
|
69
|
+
"div",
|
|
70
|
+
{
|
|
71
|
+
"data-react-fancy-menu-submenu": "",
|
|
72
|
+
className: cn("group relative", className),
|
|
73
|
+
children: [
|
|
74
|
+
/* @__PURE__ */ jsxs(
|
|
75
|
+
"button",
|
|
76
|
+
{
|
|
77
|
+
type: "button",
|
|
78
|
+
className: cn(
|
|
79
|
+
"flex items-center gap-2 rounded-md px-3 py-2 text-sm font-medium transition-colors",
|
|
80
|
+
"text-zinc-600 hover:bg-zinc-50 hover:text-zinc-900",
|
|
81
|
+
"dark:text-zinc-400 dark:hover:bg-zinc-800/50 dark:hover:text-zinc-100"
|
|
82
|
+
),
|
|
83
|
+
children: [
|
|
84
|
+
icon && /* @__PURE__ */ jsx("span", { className: "flex h-5 w-5 shrink-0 items-center justify-center", children: icon }),
|
|
85
|
+
/* @__PURE__ */ jsx("span", { children: label }),
|
|
86
|
+
/* @__PURE__ */ jsx(ChevronDown, { className: "h-3.5 w-3.5 opacity-60" })
|
|
87
|
+
]
|
|
88
|
+
}
|
|
89
|
+
),
|
|
90
|
+
/* @__PURE__ */ jsx(
|
|
91
|
+
"div",
|
|
92
|
+
{
|
|
93
|
+
className: cn(
|
|
94
|
+
"invisible absolute left-0 top-full z-50 min-w-[180px] pt-1 opacity-0 transition-all",
|
|
95
|
+
"group-hover:visible group-hover:opacity-100"
|
|
96
|
+
),
|
|
97
|
+
children: /* @__PURE__ */ jsx("div", { className: "rounded-lg border border-zinc-200 bg-white py-1 shadow-lg dark:border-zinc-700 dark:bg-zinc-900", children })
|
|
98
|
+
}
|
|
99
|
+
)
|
|
100
|
+
]
|
|
101
|
+
}
|
|
102
|
+
);
|
|
103
|
+
}
|
|
104
|
+
return /* @__PURE__ */ jsxs("div", { "data-react-fancy-menu-submenu": "", className, children: [
|
|
105
|
+
/* @__PURE__ */ jsxs(
|
|
106
|
+
"button",
|
|
107
|
+
{
|
|
108
|
+
type: "button",
|
|
109
|
+
onClick: () => setOpen((v) => !v),
|
|
110
|
+
className: cn(
|
|
111
|
+
"flex w-full items-center gap-2 rounded-md px-3 py-2 text-sm font-medium transition-colors",
|
|
112
|
+
"text-zinc-600 hover:bg-zinc-50 hover:text-zinc-900",
|
|
113
|
+
"dark:text-zinc-400 dark:hover:bg-zinc-800/50 dark:hover:text-zinc-100"
|
|
114
|
+
),
|
|
115
|
+
children: [
|
|
116
|
+
icon && /* @__PURE__ */ jsx("span", { className: "flex h-5 w-5 shrink-0 items-center justify-center", children: icon }),
|
|
117
|
+
/* @__PURE__ */ jsx("span", { className: "flex-1 text-left", children: label }),
|
|
118
|
+
/* @__PURE__ */ jsx(
|
|
119
|
+
ChevronDown,
|
|
120
|
+
{
|
|
121
|
+
className: cn(
|
|
122
|
+
"h-3.5 w-3.5 opacity-60 transition-transform duration-200",
|
|
123
|
+
open && "rotate-180"
|
|
124
|
+
)
|
|
125
|
+
}
|
|
126
|
+
)
|
|
127
|
+
]
|
|
128
|
+
}
|
|
129
|
+
),
|
|
130
|
+
/* @__PURE__ */ jsx(
|
|
131
|
+
"div",
|
|
132
|
+
{
|
|
133
|
+
className: cn(
|
|
134
|
+
"grid transition-[grid-template-rows] duration-200",
|
|
135
|
+
open ? "grid-rows-[1fr]" : "grid-rows-[0fr]"
|
|
136
|
+
),
|
|
137
|
+
children: /* @__PURE__ */ jsx("div", { className: "overflow-hidden", children: /* @__PURE__ */ jsx("div", { className: "ml-4 border-l border-zinc-200 pl-2 pt-1 dark:border-zinc-700", children }) })
|
|
138
|
+
}
|
|
139
|
+
)
|
|
140
|
+
] });
|
|
141
|
+
}
|
|
142
|
+
MenuSubmenu.displayName = "MenuSubmenu";
|
|
143
|
+
function MenuGroup({ children, label, className }) {
|
|
144
|
+
return /* @__PURE__ */ jsxs("div", { "data-react-fancy-menu-group": "", className: cn("py-1", className), children: [
|
|
145
|
+
label && /* @__PURE__ */ jsx("p", { className: "mb-1 px-3 text-xs font-semibold uppercase tracking-wider text-zinc-400 dark:text-zinc-500", children: label }),
|
|
146
|
+
children
|
|
147
|
+
] });
|
|
148
|
+
}
|
|
149
|
+
MenuGroup.displayName = "MenuGroup";
|
|
150
|
+
function MenuRoot({ children, orientation = "vertical", className }) {
|
|
151
|
+
const isVertical = orientation === "vertical";
|
|
152
|
+
return /* @__PURE__ */ jsx(MenuContext.Provider, { value: { orientation }, children: /* @__PURE__ */ jsx(
|
|
153
|
+
"nav",
|
|
154
|
+
{
|
|
155
|
+
"data-react-fancy-menu": "",
|
|
156
|
+
"data-orientation": orientation,
|
|
157
|
+
className: cn(
|
|
158
|
+
"flex gap-0.5",
|
|
159
|
+
isVertical ? "flex-col" : "flex-row items-center",
|
|
160
|
+
className
|
|
161
|
+
),
|
|
162
|
+
children
|
|
163
|
+
}
|
|
164
|
+
) });
|
|
165
|
+
}
|
|
166
|
+
var Menu = Object.assign(MenuRoot, {
|
|
167
|
+
Item: MenuItem,
|
|
168
|
+
Submenu: MenuSubmenu,
|
|
169
|
+
Group: MenuGroup
|
|
170
|
+
});
|
|
171
|
+
|
|
172
|
+
export { Menu, useMenu };
|
|
173
|
+
//# sourceMappingURL=chunk-IGYIMS6J.js.map
|
|
174
|
+
//# sourceMappingURL=chunk-IGYIMS6J.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Menu/Menu.context.ts","../src/components/Menu/MenuItem.tsx","../src/components/Menu/MenuSubmenu.tsx","../src/components/Menu/MenuGroup.tsx","../src/components/Menu/Menu.tsx"],"names":["jsxs","jsx"],"mappings":"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","file":"chunk-IGYIMS6J.js","sourcesContent":["import { createContext, useContext } from \"react\";\nimport type { MenuContextValue } from \"./Menu.types\";\n\nexport const MenuContext = createContext<MenuContextValue | null>(null);\n\nexport function useMenu(): MenuContextValue {\n const ctx = useContext(MenuContext);\n if (!ctx) {\n throw new Error(\"useMenu must be used within a <Menu> component\");\n }\n return ctx;\n}\n","import type { ElementType } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { useMenu } from \"./Menu.context\";\nimport type { MenuItemProps } from \"./Menu.types\";\n\nexport function MenuItem({\n children,\n href,\n as: As,\n icon,\n active = false,\n disabled = false,\n badge,\n onClick,\n className,\n ...rest\n}: MenuItemProps) {\n const { orientation } = useMenu();\n const isVertical = orientation === \"vertical\";\n\n // See NavigableProps: link mode engages on `href` OR `as`, and `onClick`\n // survives into it rather than being dropped.\n const isLink = Boolean(href || As);\n const Tag = isLink ? ((As ?? \"a\") as ElementType) : \"button\";\n const tagProps = isLink\n ? { ...(href ? { href } : {}), onClick }\n : { type: \"button\" as const, onClick };\n\n return (\n <Tag\n {...tagProps}\n {...rest}\n data-react-fancy-menu-item=\"\"\n data-active={active || undefined}\n aria-current={active ? \"page\" : undefined}\n aria-disabled={disabled || undefined}\n className={cn(\n \"flex items-center gap-2 rounded-md text-sm font-medium transition-colors\",\n \"outline-none focus-visible:ring-2 focus-visible:ring-blue-500\",\n isVertical ? \"w-full px-3 py-2\" : \"px-3 py-2\",\n active\n ? \"bg-zinc-100 text-zinc-900 dark:bg-zinc-800 dark:text-zinc-100\"\n : \"text-zinc-600 hover:bg-zinc-50 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800/50 dark:hover:text-zinc-100\",\n disabled && \"pointer-events-none opacity-50\",\n className,\n )}\n >\n {icon && <span className=\"flex h-5 w-5 shrink-0 items-center justify-center\">{icon}</span>}\n <span className=\"flex-1 truncate text-left\">{children}</span>\n {badge && <span className=\"shrink-0\">{badge}</span>}\n </Tag>\n );\n}\n\nMenuItem.displayName = \"MenuItem\";\n","import { useState } from \"react\";\nimport { ChevronDown } from \"lucide-react\";\nimport { cn } from \"../../utils/cn\";\nimport { useMenu } from \"./Menu.context\";\nimport type { MenuSubmenuProps } from \"./Menu.types\";\n\nexport function MenuSubmenu({\n children,\n label,\n icon,\n defaultOpen = false,\n className,\n}: MenuSubmenuProps) {\n const [open, setOpen] = useState(defaultOpen);\n const { orientation } = useMenu();\n const isVertical = orientation === \"vertical\";\n\n if (!isVertical) {\n // Horizontal submenus use a hover-based dropdown\n return (\n <div\n data-react-fancy-menu-submenu=\"\"\n className={cn(\"group relative\", className)}\n >\n <button\n type=\"button\"\n className={cn(\n \"flex items-center gap-2 rounded-md px-3 py-2 text-sm font-medium transition-colors\",\n \"text-zinc-600 hover:bg-zinc-50 hover:text-zinc-900\",\n \"dark:text-zinc-400 dark:hover:bg-zinc-800/50 dark:hover:text-zinc-100\",\n )}\n >\n {icon && <span className=\"flex h-5 w-5 shrink-0 items-center justify-center\">{icon}</span>}\n <span>{label}</span>\n <ChevronDown className=\"h-3.5 w-3.5 opacity-60\" />\n </button>\n <div\n className={cn(\n \"invisible absolute left-0 top-full z-50 min-w-[180px] pt-1 opacity-0 transition-all\",\n \"group-hover:visible group-hover:opacity-100\",\n )}\n >\n <div className=\"rounded-lg border border-zinc-200 bg-white py-1 shadow-lg dark:border-zinc-700 dark:bg-zinc-900\">\n {children}\n </div>\n </div>\n </div>\n );\n }\n\n // Vertical submenus use accordion-style expand/collapse\n return (\n <div data-react-fancy-menu-submenu=\"\" className={className}>\n <button\n type=\"button\"\n onClick={() => setOpen((v) => !v)}\n className={cn(\n \"flex w-full items-center gap-2 rounded-md px-3 py-2 text-sm font-medium transition-colors\",\n \"text-zinc-600 hover:bg-zinc-50 hover:text-zinc-900\",\n \"dark:text-zinc-400 dark:hover:bg-zinc-800/50 dark:hover:text-zinc-100\",\n )}\n >\n {icon && <span className=\"flex h-5 w-5 shrink-0 items-center justify-center\">{icon}</span>}\n <span className=\"flex-1 text-left\">{label}</span>\n <ChevronDown\n className={cn(\n \"h-3.5 w-3.5 opacity-60 transition-transform duration-200\",\n open && \"rotate-180\",\n )}\n />\n </button>\n <div\n className={cn(\n \"grid transition-[grid-template-rows] duration-200\",\n open ? \"grid-rows-[1fr]\" : \"grid-rows-[0fr]\",\n )}\n >\n <div className=\"overflow-hidden\">\n <div className=\"ml-4 border-l border-zinc-200 pl-2 pt-1 dark:border-zinc-700\">\n {children}\n </div>\n </div>\n </div>\n </div>\n );\n}\n\nMenuSubmenu.displayName = \"MenuSubmenu\";\n","import { cn } from \"../../utils/cn\";\nimport type { MenuGroupProps } from \"./Menu.types\";\n\nexport function MenuGroup({ children, label, className }: MenuGroupProps) {\n return (\n <div data-react-fancy-menu-group=\"\" className={cn(\"py-1\", className)}>\n {label && (\n <p className=\"mb-1 px-3 text-xs font-semibold uppercase tracking-wider text-zinc-400 dark:text-zinc-500\">\n {label}\n </p>\n )}\n {children}\n </div>\n );\n}\n\nMenuGroup.displayName = \"MenuGroup\";\n","import { cn } from \"../../utils/cn\";\nimport { MenuContext } from \"./Menu.context\";\nimport { MenuItem } from \"./MenuItem\";\nimport { MenuSubmenu } from \"./MenuSubmenu\";\nimport { MenuGroup } from \"./MenuGroup\";\nimport type { MenuProps } from \"./Menu.types\";\n\nfunction MenuRoot({ children, orientation = \"vertical\", className }: MenuProps) {\n const isVertical = orientation === \"vertical\";\n\n return (\n <MenuContext.Provider value={{ orientation }}>\n <nav\n data-react-fancy-menu=\"\"\n data-orientation={orientation}\n className={cn(\n \"flex gap-0.5\",\n isVertical ? \"flex-col\" : \"flex-row items-center\",\n className,\n )}\n >\n {children}\n </nav>\n </MenuContext.Provider>\n );\n}\n\nexport const Menu = Object.assign(MenuRoot, {\n Item: MenuItem,\n Submenu: MenuSubmenu,\n Group: MenuGroup,\n});\n"]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunk3Z6ALUWP_cjs = require('./chunk-3Z6ALUWP.cjs');
|
|
4
|
+
var react = require('react');
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
|
|
7
|
+
var Eyebrow = react.forwardRef(
|
|
8
|
+
({ num, label, aside, rule = false, className, children, ...props }, ref) => {
|
|
9
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
10
|
+
"div",
|
|
11
|
+
{
|
|
12
|
+
ref,
|
|
13
|
+
"data-react-fancy-eyebrow": "",
|
|
14
|
+
className: chunk3Z6ALUWP_cjs.cn(
|
|
15
|
+
"flex items-baseline gap-3 font-mono text-[11.5px] uppercase tracking-wider text-zinc-500 dark:text-zinc-400",
|
|
16
|
+
rule && "border-b border-zinc-200 pb-2 dark:border-zinc-800",
|
|
17
|
+
className
|
|
18
|
+
),
|
|
19
|
+
...props,
|
|
20
|
+
children: [
|
|
21
|
+
children ?? /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
|
22
|
+
num != null && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
23
|
+
/* @__PURE__ */ jsxRuntime.jsx("b", { className: "font-medium text-zinc-900 dark:text-zinc-100", children: num }),
|
|
24
|
+
label != null && " \u2014 "
|
|
25
|
+
] }),
|
|
26
|
+
label
|
|
27
|
+
] }),
|
|
28
|
+
aside != null && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-auto", children: aside })
|
|
29
|
+
]
|
|
30
|
+
}
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
);
|
|
34
|
+
Eyebrow.displayName = "Eyebrow";
|
|
35
|
+
|
|
36
|
+
exports.Eyebrow = Eyebrow;
|
|
37
|
+
//# sourceMappingURL=chunk-IJ4I55QQ.cjs.map
|
|
38
|
+
//# sourceMappingURL=chunk-IJ4I55QQ.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Eyebrow/Eyebrow.tsx"],"names":["forwardRef","jsxs","cn","Fragment","jsx"],"mappings":";;;;;;AAkBO,IAAM,OAAA,GAAUA,gBAAA;AAAA,EACrB,CAAC,EAAE,GAAA,EAAK,KAAA,EAAO,KAAA,EAAO,IAAA,GAAO,KAAA,EAAO,SAAA,EAAW,QAAA,EAAU,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AAC3E,IAAA,uBACEC,eAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,0BAAA,EAAyB,EAAA;AAAA,QACzB,SAAA,EAAWC,oBAAA;AAAA,UACT,6GAAA;AAAA,UACA,IAAA,IAAQ,oDAAA;AAAA,UACR;AAAA,SACF;AAAA,QACC,GAAG,KAAA;AAAA,QAEH,QAAA,EAAA;AAAA,UAAA,QAAA,oCACE,MAAA,EAAA,EACE,QAAA,EAAA;AAAA,YAAA,GAAA,IAAO,wBACND,eAAA,CAAAE,mBAAA,EAAA,EACE,QAAA,EAAA;AAAA,8BAAAC,cAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,8CAAA,EAAgD,QAAA,EAAA,GAAA,EAAI,CAAA;AAAA,cAChE,SAAS,IAAA,IAAQ;AAAA,aAAA,EACpB,CAAA;AAAA,YAED;AAAA,WAAA,EACH,CAAA;AAAA,UAKD,SAAS,IAAA,oBAAQA,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,WAAW,QAAA,EAAA,KAAA,EAAM;AAAA;AAAA;AAAA,KACrD;AAAA,EAEJ;AACF;AAEA,OAAA,CAAQ,WAAA,GAAc,SAAA","file":"chunk-IJ4I55QQ.cjs","sourcesContent":["import { forwardRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport type { EyebrowProps } from \"./Eyebrow.types\";\n\n/**\n * The mono running head that opens a section — `01 — SELECTED WORK`, optionally\n * over a hairline rule, with a second item pushed to the far end.\n *\n * Thirty-six surfaces in the Inspiration Gallery carry some version of this. It\n * is a small component for a reason: what they share is the STRUCTURE (a\n * numbered marker, a label, an optional trailing aside, an optional rule) while\n * every one of them restyles the type. So this owns the arrangement and the\n * uppercase mono default, and gets out of the way of `className`.\n *\n * `num` is emphasised rather than styled a fixed colour, because in half the\n * designs it is the only part of the line that is not muted — and expressing\n * that with a `<b>` keeps it meaningful when the styling is replaced wholesale.\n */\nexport const Eyebrow = forwardRef<HTMLDivElement, EyebrowProps>(\n ({ num, label, aside, rule = false, className, children, ...props }, ref) => {\n return (\n <div\n ref={ref}\n data-react-fancy-eyebrow=\"\"\n className={cn(\n \"flex items-baseline gap-3 font-mono text-[11.5px] uppercase tracking-wider text-zinc-500 dark:text-zinc-400\",\n rule && \"border-b border-zinc-200 pb-2 dark:border-zinc-800\",\n className,\n )}\n {...props}\n >\n {children ?? (\n <span>\n {num != null && (\n <>\n <b className=\"font-medium text-zinc-900 dark:text-zinc-100\">{num}</b>\n {label != null && \" — \"}\n </>\n )}\n {label}\n </span>\n )}\n\n {/* `ml-auto` rather than `justify-between`, so a single-item eyebrow\n still sits flush left instead of being centred by the gap. */}\n {aside != null && <span className=\"ml-auto\">{aside}</span>}\n </div>\n );\n },\n);\n\nEyebrow.displayName = \"Eyebrow\";\n"]}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunk3Z6ALUWP_cjs = require('./chunk-3Z6ALUWP.cjs');
|
|
4
|
+
var react = require('react');
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
|
|
7
|
+
var PullQuote = react.forwardRef(
|
|
8
|
+
({ attribution, source, citeUrl, rule = false, className, children, ...props }, ref) => {
|
|
9
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
10
|
+
"blockquote",
|
|
11
|
+
{
|
|
12
|
+
ref,
|
|
13
|
+
cite: citeUrl,
|
|
14
|
+
"data-react-fancy-pull-quote": "",
|
|
15
|
+
className: chunk3Z6ALUWP_cjs.cn(
|
|
16
|
+
"m-0 text-2xl font-medium leading-snug tracking-tight text-zinc-900 dark:text-zinc-100",
|
|
17
|
+
rule && "border-y border-zinc-200 py-6 dark:border-zinc-800",
|
|
18
|
+
className
|
|
19
|
+
),
|
|
20
|
+
...props,
|
|
21
|
+
children: [
|
|
22
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { "data-react-fancy-pull-quote-text": "", className: "m-0", children }),
|
|
23
|
+
(attribution != null || source != null) && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
24
|
+
"footer",
|
|
25
|
+
{
|
|
26
|
+
"data-react-fancy-pull-quote-attribution": "",
|
|
27
|
+
className: "mt-3 text-sm font-normal tracking-normal text-zinc-500 dark:text-zinc-400",
|
|
28
|
+
children: [
|
|
29
|
+
attribution != null && /* @__PURE__ */ jsxRuntime.jsx("cite", { className: "not-italic", children: attribution }),
|
|
30
|
+
attribution != null && source != null && /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": true, children: " \xB7 " }),
|
|
31
|
+
source
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
)
|
|
35
|
+
]
|
|
36
|
+
}
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
);
|
|
40
|
+
PullQuote.displayName = "PullQuote";
|
|
41
|
+
|
|
42
|
+
exports.PullQuote = PullQuote;
|
|
43
|
+
//# sourceMappingURL=chunk-IXHZVFHX.cjs.map
|
|
44
|
+
//# sourceMappingURL=chunk-IXHZVFHX.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/PullQuote/PullQuote.tsx"],"names":["forwardRef","jsxs","cn","jsx"],"mappings":";;;;;;AAmBO,IAAM,SAAA,GAAYA,gBAAA;AAAA,EACvB,CAAC,EAAE,WAAA,EAAa,MAAA,EAAQ,OAAA,EAAS,IAAA,GAAO,KAAA,EAAO,SAAA,EAAW,QAAA,EAAU,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AACtF,IAAA,uBACEC,eAAA;AAAA,MAAC,YAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,IAAA,EAAM,OAAA;AAAA,QACN,6BAAA,EAA4B,EAAA;AAAA,QAC5B,SAAA,EAAWC,oBAAA;AAAA,UACT,uFAAA;AAAA,UACA,IAAA,IAAQ,oDAAA;AAAA,UACR;AAAA,SACF;AAAA,QACC,GAAG,KAAA;AAAA,QAEJ,QAAA,EAAA;AAAA,0BAAAC,cAAA,CAAC,GAAA,EAAA,EAAE,kCAAA,EAAiC,EAAA,EAAG,SAAA,EAAU,OAC9C,QAAA,EACH,CAAA;AAAA,UAAA,CAEE,WAAA,IAAe,IAAA,IAAQ,MAAA,IAAU,IAAA,qBACjCF,eAAA;AAAA,YAAC,QAAA;AAAA,YAAA;AAAA,cACC,yCAAA,EAAwC,EAAA;AAAA,cACxC,SAAA,EAAU,2EAAA;AAAA,cAET,QAAA,EAAA;AAAA,gBAAA,WAAA,IAAe,IAAA,oBAAQE,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,cAAc,QAAA,EAAA,WAAA,EAAY,CAAA;AAAA,gBACjE,WAAA,IAAe,QAAQ,MAAA,IAAU,IAAA,mCAAS,MAAA,EAAA,EAAK,aAAA,EAAW,MAAC,QAAA,EAAA,QAAA,EAAG,CAAA;AAAA,gBAC9D;AAAA;AAAA;AAAA;AACH;AAAA;AAAA,KAEJ;AAAA,EAEJ;AACF;AAEA,SAAA,CAAU,WAAA,GAAc,WAAA","file":"chunk-IXHZVFHX.cjs","sourcesContent":["import { forwardRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport type { PullQuoteProps } from \"./PullQuote.types\";\n\n/**\n * A pull quote — the oversized line lifted out of body copy, with optional\n * attribution and a rule-bracketed treatment.\n *\n * Twelve gallery styles build one. The reason this is a component rather than a\n * class is the same reason `<Kbd>` renders a real `<kbd>`: of the eight quote\n * elements in those styles, **one** was a `<blockquote>` — five were `<p>` and\n * two were `<div>` — and **none** used `<cite>` for the attribution. They all\n * look right and none of them says what it is.\n *\n * `citeUrl` maps to `<blockquote cite>`, which is the attribute's actual job\n * (the source URL) and is routinely confused with the visible `<cite>` element\n * (the work's title). Keeping them as separate props stops the two collapsing\n * into one another.\n */\nexport const PullQuote = forwardRef<HTMLQuoteElement, PullQuoteProps>(\n ({ attribution, source, citeUrl, rule = false, className, children, ...props }, ref) => {\n return (\n <blockquote\n ref={ref}\n cite={citeUrl}\n data-react-fancy-pull-quote=\"\"\n className={cn(\n \"m-0 text-2xl font-medium leading-snug tracking-tight text-zinc-900 dark:text-zinc-100\",\n rule && \"border-y border-zinc-200 py-6 dark:border-zinc-800\",\n className,\n )}\n {...props}\n >\n <p data-react-fancy-pull-quote-text=\"\" className=\"m-0\">\n {children}\n </p>\n\n {(attribution != null || source != null) && (\n <footer\n data-react-fancy-pull-quote-attribution=\"\"\n className=\"mt-3 text-sm font-normal tracking-normal text-zinc-500 dark:text-zinc-400\"\n >\n {attribution != null && <cite className=\"not-italic\">{attribution}</cite>}\n {attribution != null && source != null && <span aria-hidden> · </span>}\n {source}\n </footer>\n )}\n </blockquote>\n );\n },\n);\n\nPullQuote.displayName = \"PullQuote\";\n"]}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var react = require('react');
|
|
4
|
+
|
|
5
|
+
// src/hooks/use-floating-position.ts
|
|
6
|
+
function getPosition(anchor, floating, placement, offset) {
|
|
7
|
+
let x = 0;
|
|
8
|
+
let y = 0;
|
|
9
|
+
const base = placement.split("-")[0];
|
|
10
|
+
const align = placement.split("-")[1];
|
|
11
|
+
switch (base) {
|
|
12
|
+
case "top":
|
|
13
|
+
x = anchor.left + anchor.width / 2 - floating.width / 2;
|
|
14
|
+
y = anchor.top - floating.height - offset;
|
|
15
|
+
break;
|
|
16
|
+
case "bottom":
|
|
17
|
+
x = anchor.left + anchor.width / 2 - floating.width / 2;
|
|
18
|
+
y = anchor.bottom + offset;
|
|
19
|
+
break;
|
|
20
|
+
case "left":
|
|
21
|
+
x = anchor.left - floating.width - offset;
|
|
22
|
+
y = anchor.top + anchor.height / 2 - floating.height / 2;
|
|
23
|
+
break;
|
|
24
|
+
case "right":
|
|
25
|
+
x = anchor.right + offset;
|
|
26
|
+
y = anchor.top + anchor.height / 2 - floating.height / 2;
|
|
27
|
+
break;
|
|
28
|
+
}
|
|
29
|
+
if (base === "top" || base === "bottom") {
|
|
30
|
+
if (align === "start") x = anchor.left;
|
|
31
|
+
else if (align === "end") x = anchor.right - floating.width;
|
|
32
|
+
}
|
|
33
|
+
if (base === "left" || base === "right") {
|
|
34
|
+
if (align === "start") y = anchor.top;
|
|
35
|
+
else if (align === "end") y = anchor.bottom - floating.height;
|
|
36
|
+
}
|
|
37
|
+
let finalPlacement = placement;
|
|
38
|
+
const vw = window.innerWidth;
|
|
39
|
+
const vh = window.innerHeight;
|
|
40
|
+
if (base === "bottom" && y + floating.height > vh) {
|
|
41
|
+
y = anchor.top - floating.height - offset;
|
|
42
|
+
finalPlacement = placement.replace("bottom", "top");
|
|
43
|
+
} else if (base === "top" && y < 0) {
|
|
44
|
+
y = anchor.bottom + offset;
|
|
45
|
+
finalPlacement = placement.replace("top", "bottom");
|
|
46
|
+
}
|
|
47
|
+
x = Math.max(4, Math.min(x, vw - floating.width - 4));
|
|
48
|
+
y = Math.max(4, Math.min(y, vh - floating.height - 4));
|
|
49
|
+
return { x, y, placement: finalPlacement };
|
|
50
|
+
}
|
|
51
|
+
function useFloatingPosition(anchorRef, floatingRef, options = {}) {
|
|
52
|
+
const { placement = "bottom", offset = 8, enabled = true } = options;
|
|
53
|
+
const [position, setPosition] = react.useState({
|
|
54
|
+
x: -9999,
|
|
55
|
+
y: -9999,
|
|
56
|
+
placement
|
|
57
|
+
});
|
|
58
|
+
const update = react.useCallback(() => {
|
|
59
|
+
const anchor = anchorRef.current;
|
|
60
|
+
const floating = floatingRef.current;
|
|
61
|
+
if (!anchor || !floating) return;
|
|
62
|
+
const anchorRect = anchor.getBoundingClientRect();
|
|
63
|
+
const floatingRect = floating.getBoundingClientRect();
|
|
64
|
+
const next = getPosition(anchorRect, floatingRect, placement, offset);
|
|
65
|
+
setPosition(
|
|
66
|
+
(prev) => prev.x === next.x && prev.y === next.y && prev.placement === next.placement ? prev : next
|
|
67
|
+
);
|
|
68
|
+
}, [anchorRef, floatingRef, placement, offset]);
|
|
69
|
+
react.useEffect(() => {
|
|
70
|
+
if (enabled) update();
|
|
71
|
+
});
|
|
72
|
+
react.useEffect(() => {
|
|
73
|
+
if (!enabled) return;
|
|
74
|
+
let raf = 0;
|
|
75
|
+
let ro = null;
|
|
76
|
+
const tick = () => {
|
|
77
|
+
const el = floatingRef.current;
|
|
78
|
+
if (el) {
|
|
79
|
+
update();
|
|
80
|
+
if (typeof ResizeObserver !== "undefined") {
|
|
81
|
+
ro = new ResizeObserver(() => update());
|
|
82
|
+
ro.observe(el);
|
|
83
|
+
}
|
|
84
|
+
} else {
|
|
85
|
+
raf = requestAnimationFrame(tick);
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
raf = requestAnimationFrame(tick);
|
|
89
|
+
return () => {
|
|
90
|
+
cancelAnimationFrame(raf);
|
|
91
|
+
ro?.disconnect();
|
|
92
|
+
};
|
|
93
|
+
}, [enabled, update, floatingRef]);
|
|
94
|
+
react.useEffect(() => {
|
|
95
|
+
if (!enabled) {
|
|
96
|
+
setPosition(
|
|
97
|
+
(prev) => prev.x === -9999 ? prev : { x: -9999, y: -9999, placement }
|
|
98
|
+
);
|
|
99
|
+
}
|
|
100
|
+
}, [enabled, placement]);
|
|
101
|
+
react.useEffect(() => {
|
|
102
|
+
if (!enabled) return;
|
|
103
|
+
window.addEventListener("scroll", update, true);
|
|
104
|
+
window.addEventListener("resize", update);
|
|
105
|
+
return () => {
|
|
106
|
+
window.removeEventListener("scroll", update, true);
|
|
107
|
+
window.removeEventListener("resize", update);
|
|
108
|
+
};
|
|
109
|
+
}, [update, enabled]);
|
|
110
|
+
return position;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
exports.useFloatingPosition = useFloatingPosition;
|
|
114
|
+
//# sourceMappingURL=chunk-J2DI6RMR.cjs.map
|
|
115
|
+
//# sourceMappingURL=chunk-J2DI6RMR.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/hooks/use-floating-position.ts"],"names":["useState","useCallback","useEffect"],"mappings":"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","file":"chunk-J2DI6RMR.cjs","sourcesContent":["import { useCallback, useEffect, useState, type RefObject } from \"react\";\nimport type { Placement } from \"../utils/types\";\n\ninterface FloatingPosition {\n x: number;\n y: number;\n placement: Placement;\n}\n\ninterface UseFloatingPositionOptions {\n placement?: Placement;\n offset?: number;\n enabled?: boolean;\n}\n\nfunction getPosition(\n anchor: DOMRect,\n floating: DOMRect,\n placement: Placement,\n offset: number,\n): FloatingPosition {\n let x = 0;\n let y = 0;\n const base = placement.split(\"-\")[0] as \"top\" | \"bottom\" | \"left\" | \"right\";\n const align = placement.split(\"-\")[1] as \"start\" | \"end\" | undefined;\n\n switch (base) {\n case \"top\":\n x = anchor.left + anchor.width / 2 - floating.width / 2;\n y = anchor.top - floating.height - offset;\n break;\n case \"bottom\":\n x = anchor.left + anchor.width / 2 - floating.width / 2;\n y = anchor.bottom + offset;\n break;\n case \"left\":\n x = anchor.left - floating.width - offset;\n y = anchor.top + anchor.height / 2 - floating.height / 2;\n break;\n case \"right\":\n x = anchor.right + offset;\n y = anchor.top + anchor.height / 2 - floating.height / 2;\n break;\n }\n\n if (base === \"top\" || base === \"bottom\") {\n if (align === \"start\") x = anchor.left;\n else if (align === \"end\") x = anchor.right - floating.width;\n }\n\n if (base === \"left\" || base === \"right\") {\n if (align === \"start\") y = anchor.top;\n else if (align === \"end\") y = anchor.bottom - floating.height;\n }\n\n // Viewport clamping\n let finalPlacement = placement;\n const vw = window.innerWidth;\n const vh = window.innerHeight;\n\n if (base === \"bottom\" && y + floating.height > vh) {\n y = anchor.top - floating.height - offset;\n finalPlacement = placement.replace(\"bottom\", \"top\") as Placement;\n } else if (base === \"top\" && y < 0) {\n y = anchor.bottom + offset;\n finalPlacement = placement.replace(\"top\", \"bottom\") as Placement;\n }\n\n x = Math.max(4, Math.min(x, vw - floating.width - 4));\n y = Math.max(4, Math.min(y, vh - floating.height - 4));\n\n return { x, y, placement: finalPlacement };\n}\n\nexport function useFloatingPosition(\n anchorRef: RefObject<HTMLElement | null>,\n floatingRef: RefObject<HTMLElement | null>,\n options: UseFloatingPositionOptions = {},\n): FloatingPosition {\n const { placement = \"bottom\", offset = 8, enabled = true } = options;\n const [position, setPosition] = useState<FloatingPosition>({\n x: -9999,\n y: -9999,\n placement,\n });\n\n const update = useCallback(() => {\n const anchor = anchorRef.current;\n const floating = floatingRef.current;\n if (!anchor || !floating) return;\n\n const anchorRect = anchor.getBoundingClientRect();\n const floatingRect = floating.getBoundingClientRect();\n const next = getPosition(anchorRect, floatingRect, placement, offset);\n // Bail out when nothing changed so this can run after every commit\n // (below) without causing an infinite render loop.\n setPosition((prev) =>\n prev.x === next.x && prev.y === next.y && prev.placement === next.placement\n ? prev\n : next,\n );\n }, [anchorRef, floatingRef, placement, offset]);\n\n // Re-measure after every commit while open.\n //\n // The floating element mounts a frame or two AFTER `enabled` flips — its\n // render is gated behind a state flip (e.g. useAnimation's `mounted`), so at\n // the moment `enabled` turns true the floating ref is still null and a single\n // measurement no-ops, leaving the popover parked at its off-screen sentinel.\n //\n // A passive effect with no deps runs after *every* commit — including the one\n // that finally mounts the floating element — and, crucially, keeps running in\n // hidden/background tabs where `requestAnimationFrame` is paused. The bail-out\n // in `update` makes the steady-state calls free, so this both fixes the\n // late-mount race and survives tab-visibility throttling.\n useEffect(() => {\n if (enabled) update();\n });\n\n // …but the per-commit effect ISN'T enough when the floating element mounts\n // through a <Portal> whose own mount gate (SSR-safe; renders nothing until its\n // useEffect runs) attaches the node WITHOUT re-rendering this hook's component.\n // Then no commit happens here, the measurement never runs, and the popover\n // stays parked at its off-screen sentinel until an unrelated scroll/resize\n // fires `update()` — the \"menu only appears after I scroll\" bug. Poll with rAF\n // until the node is actually in the DOM, measure it, then keep it observed for\n // size changes (async content / lazily-loaded icons).\n useEffect(() => {\n if (!enabled) return;\n let raf = 0;\n let ro: ResizeObserver | null = null;\n const tick = () => {\n const el = floatingRef.current;\n if (el) {\n update();\n if (typeof ResizeObserver !== \"undefined\") {\n ro = new ResizeObserver(() => update());\n ro.observe(el);\n }\n } else {\n raf = requestAnimationFrame(tick);\n }\n };\n raf = requestAnimationFrame(tick);\n return () => {\n cancelAnimationFrame(raf);\n ro?.disconnect();\n };\n }, [enabled, update, floatingRef]);\n\n // Park off-screen when closed so the next open re-measures from scratch.\n useEffect(() => {\n if (!enabled) {\n setPosition((prev) =>\n prev.x === -9999 ? prev : { x: -9999, y: -9999, placement },\n );\n }\n }, [enabled, placement]);\n\n // Reposition on scroll/resize while open.\n useEffect(() => {\n if (!enabled) return;\n\n window.addEventListener(\"scroll\", update, true);\n window.addEventListener(\"resize\", update);\n\n return () => {\n window.removeEventListener(\"scroll\", update, true);\n window.removeEventListener(\"resize\", update);\n };\n }, [update, enabled]);\n\n return position;\n}\n"]}
|