@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 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Tooltip/Tooltip.tsx"],"names":["forwardRef","Tooltip","useState","useRef","useFloatingPosition","useCallback","cloneElement","jsxs","Fragment","Portal","cn","jsx"],"mappings":";;;;;;;;AAaO,IAAM,OAAA,GAAUA,gBAAA;AAAA,EACrB,SAASC,QAAAA,CACP,EAAE,QAAA,EAAU,OAAA,EAAS,SAAA,GAAY,KAAA,EAAO,KAAA,GAAQ,GAAA,EAAK,MAAA,GAAS,CAAA,EAAG,SAAA,IACjE,IAAA,EACA;AACA,IAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAIC,eAAS,KAAK,CAAA;AACtC,IAAA,MAAM,SAAA,GAAYC,aAAoB,IAAI,CAAA;AAC1C,IAAA,MAAM,WAAA,GAAcA,aAAuB,IAAI,CAAA;AAC/C,IAAA,MAAM,UAAA,GAAaA,aAAsC,MAAS,CAAA;AAElE,IAAA,MAAM,QAAA,GAAWC,qCAAA,CAAoB,SAAA,EAAW,WAAA,EAAa;AAAA,MAC3D,SAAA;AAAA,MACA,MAAA;AAAA,MACA,OAAA,EAAS;AAAA,KACV,CAAA;AAED,IAAA,MAAM,IAAA,GAAOC,kBAAY,MAAM;AAC7B,MAAA,UAAA,CAAW,UAAU,UAAA,CAAW,MAAM,OAAA,CAAQ,IAAI,GAAG,KAAK,CAAA;AAAA,IAC5D,CAAA,EAAG,CAAC,KAAK,CAAC,CAAA;AAEV,IAAA,MAAM,IAAA,GAAOA,kBAAY,MAAM;AAC7B,MAAA,YAAA,CAAa,WAAW,OAAO,CAAA;AAC/B,MAAA,OAAA,CAAQ,KAAK,CAAA;AAAA,IACf,CAAA,EAAG,EAAE,CAAA;AAEL,IAAA,MAAM,OAAA,GAAUC,mBAAa,QAAA,EAAmD;AAAA,MAC9E,GAAA,EAAK,SAAA;AAAA,MACL,YAAA,EAAc,IAAA;AAAA,MACd,YAAA,EAAc,IAAA;AAAA,MACd,OAAA,EAAS,IAAA;AAAA,MACT,MAAA,EAAQ;AAAA,KACT,CAAA;AAED,IAAA,uBACEC,eAAA,CAAAC,mBAAA,EAAA,EACG,QAAA,EAAA;AAAA,MAAA,OAAA;AAAA,MACA,IAAA,mCACEC,wBAAA,EAAA,EACC,QAAA,kBAAAF,eAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,GAAA,EAAK,WAAA;AAAA,UACL,0BAAA,EAAyB,EAAA;AAAA,UACzB,IAAA,EAAK,SAAA;AAAA,UACL,SAAA,EAAWG,oBAAA;AAAA,YACT,2JAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,OAAO,EAAE,IAAA,EAAM,SAAS,CAAA,EAAG,GAAA,EAAK,SAAS,CAAA,EAAE;AAAA,UAE1C,QAAA,EAAA;AAAA,YAAA,OAAA;AAAA,4BACDC,cAAA;AAAA,cAAC,KAAA;AAAA,cAAA;AAAA,gBACC,SAAA,EAAWD,oBAAA;AAAA,kBACT,yDAAA;AAAA,kBACA,QAAA,CAAS,SAAA,CAAU,UAAA,CAAW,KAAK,CAAA,IACjC,yCAAA;AAAA,kBACF,QAAA,CAAS,SAAA,CAAU,UAAA,CAAW,QAAQ,CAAA,IACpC,sCAAA;AAAA,kBACF,QAAA,CAAS,SAAA,CAAU,UAAA,CAAW,MAAM,CAAA,IAClC,uCAAA;AAAA,kBACF,QAAA,CAAS,SAAA,CAAU,UAAA,CAAW,OAAO,CAAA,IACnC;AAAA;AACJ;AAAA;AACF;AAAA;AAAA,OACF,EACF;AAAA,KAAA,EAEJ,CAAA;AAAA,EAEJ;AACF;AAEA,OAAA,CAAQ,WAAA,GAAc,SAAA","file":"chunk-VBZZ4CMM.cjs","sourcesContent":["import {\n cloneElement,\n forwardRef,\n useCallback,\n useRef,\n useState,\n type ReactElement,\n} from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { Portal } from \"../Portal\";\nimport { useFloatingPosition } from \"../../hooks/use-floating-position\";\nimport type { TooltipProps } from \"./Tooltip.types\";\n\nexport const Tooltip = forwardRef<HTMLDivElement, TooltipProps>(\n function Tooltip(\n { children, content, placement = \"top\", delay = 200, offset = 8, className },\n _ref,\n ) {\n const [open, setOpen] = useState(false);\n const anchorRef = useRef<HTMLElement>(null);\n const floatingRef = useRef<HTMLDivElement>(null);\n const timeoutRef = useRef<ReturnType<typeof setTimeout>>(undefined);\n\n const position = useFloatingPosition(anchorRef, floatingRef, {\n placement,\n offset,\n enabled: open,\n });\n\n const show = useCallback(() => {\n timeoutRef.current = setTimeout(() => setOpen(true), delay);\n }, [delay]);\n\n const hide = useCallback(() => {\n clearTimeout(timeoutRef.current);\n setOpen(false);\n }, []);\n\n const trigger = cloneElement(children as ReactElement<Record<string, unknown>>, {\n ref: anchorRef,\n onMouseEnter: show,\n onMouseLeave: hide,\n onFocus: show,\n onBlur: hide,\n });\n\n return (\n <>\n {trigger}\n {open && (\n <Portal>\n <div\n ref={floatingRef}\n data-react-fancy-tooltip=\"\"\n role=\"tooltip\"\n className={cn(\n \"fancy-fade-in pointer-events-none fixed z-50 max-w-xs rounded-lg bg-zinc-900 px-3 py-1.5 text-sm text-white shadow-lg dark:bg-zinc-700 dark:text-zinc-100\",\n className,\n )}\n style={{ left: position.x, top: position.y }}\n >\n {content}\n <div\n className={cn(\n \"absolute h-2 w-2 rotate-45 bg-zinc-900 dark:bg-zinc-700\",\n position.placement.startsWith(\"top\") &&\n \"bottom-[-4px] left-1/2 -translate-x-1/2\",\n position.placement.startsWith(\"bottom\") &&\n \"top-[-4px] left-1/2 -translate-x-1/2\",\n position.placement.startsWith(\"left\") &&\n \"right-[-4px] top-1/2 -translate-y-1/2\",\n position.placement.startsWith(\"right\") &&\n \"left-[-4px] top-1/2 -translate-y-1/2\",\n )}\n />\n </div>\n </Portal>\n )}\n </>\n );\n },\n);\n\nTooltip.displayName = \"Tooltip\";\n"]}
|
|
@@ -0,0 +1,57 @@
|
|
|
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 sizeClasses = {
|
|
8
|
+
xs: "text-xs",
|
|
9
|
+
sm: "text-sm",
|
|
10
|
+
md: "text-base",
|
|
11
|
+
lg: "text-lg"
|
|
12
|
+
};
|
|
13
|
+
var weightClasses = {
|
|
14
|
+
normal: "font-normal",
|
|
15
|
+
medium: "font-medium",
|
|
16
|
+
semibold: "font-semibold",
|
|
17
|
+
bold: "font-bold"
|
|
18
|
+
};
|
|
19
|
+
var colorClasses = {
|
|
20
|
+
default: "text-zinc-900 dark:text-zinc-100",
|
|
21
|
+
muted: "text-zinc-500 dark:text-zinc-400",
|
|
22
|
+
accent: "text-blue-600 dark:text-blue-400",
|
|
23
|
+
danger: "text-red-600 dark:text-red-400",
|
|
24
|
+
success: "text-emerald-600 dark:text-emerald-400"
|
|
25
|
+
};
|
|
26
|
+
var Text = react.forwardRef(
|
|
27
|
+
({
|
|
28
|
+
as: Tag = "p",
|
|
29
|
+
size = "md",
|
|
30
|
+
weight = "normal",
|
|
31
|
+
color = "default",
|
|
32
|
+
className,
|
|
33
|
+
children,
|
|
34
|
+
...props
|
|
35
|
+
}, ref) => {
|
|
36
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
37
|
+
Tag,
|
|
38
|
+
{
|
|
39
|
+
ref,
|
|
40
|
+
"data-react-fancy-text": "",
|
|
41
|
+
className: chunk3Z6ALUWP_cjs.cn(
|
|
42
|
+
sizeClasses[size],
|
|
43
|
+
weightClasses[weight],
|
|
44
|
+
colorClasses[color],
|
|
45
|
+
className
|
|
46
|
+
),
|
|
47
|
+
...props,
|
|
48
|
+
children
|
|
49
|
+
}
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
);
|
|
53
|
+
Text.displayName = "Text";
|
|
54
|
+
|
|
55
|
+
exports.Text = Text;
|
|
56
|
+
//# sourceMappingURL=chunk-VE3EM4K2.cjs.map
|
|
57
|
+
//# sourceMappingURL=chunk-VE3EM4K2.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Text/Text.tsx"],"names":["forwardRef","jsx","cn"],"mappings":";;;;;;AAIA,IAAM,WAAA,GAA8D;AAAA,EAClE,EAAA,EAAI,SAAA;AAAA,EACJ,EAAA,EAAI,SAAA;AAAA,EACJ,EAAA,EAAI,WAAA;AAAA,EACJ,EAAA,EAAI;AACN,CAAA;AAEA,IAAM,aAAA,GAAkE;AAAA,EACtE,MAAA,EAAQ,aAAA;AAAA,EACR,MAAA,EAAQ,aAAA;AAAA,EACR,QAAA,EAAU,eAAA;AAAA,EACV,IAAA,EAAM;AACR,CAAA;AAEA,IAAM,YAAA,GAAgE;AAAA,EACpE,OAAA,EAAS,kCAAA;AAAA,EACT,KAAA,EAAO,kCAAA;AAAA,EACP,MAAA,EAAQ,kCAAA;AAAA,EACR,MAAA,EAAQ,gCAAA;AAAA,EACR,OAAA,EAAS;AACX,CAAA;AAEO,IAAM,IAAA,GAAOA,gBAAA;AAAA,EAClB,CACE;AAAA,IACE,IAAI,GAAA,GAAM,GAAA;AAAA,IACV,IAAA,GAAO,IAAA;AAAA,IACP,MAAA,GAAS,QAAA;AAAA,IACT,KAAA,GAAQ,SAAA;AAAA,IACR,SAAA;AAAA,IACA,QAAA;AAAA,IACA,GAAG;AAAA,KAEL,GAAA,KACG;AACH,IAAA,uBACEC,cAAA;AAAA,MAAC,GAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,uBAAA,EAAsB,EAAA;AAAA,QACtB,SAAA,EAAWC,oBAAA;AAAA,UACT,YAAY,IAAI,CAAA;AAAA,UAChB,cAAc,MAAM,CAAA;AAAA,UACpB,aAAa,KAAK,CAAA;AAAA,UAClB;AAAA,SACF;AAAA,QACC,GAAG,KAAA;AAAA,QAEH;AAAA;AAAA,KACH;AAAA,EAEJ;AACF;AAEA,IAAA,CAAK,WAAA,GAAc,MAAA","file":"chunk-VE3EM4K2.cjs","sourcesContent":["import { forwardRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport type { TextProps } from \"./Text.types\";\n\nconst sizeClasses: Record<NonNullable<TextProps[\"size\"]>, string> = {\n xs: \"text-xs\",\n sm: \"text-sm\",\n md: \"text-base\",\n lg: \"text-lg\",\n};\n\nconst weightClasses: Record<NonNullable<TextProps[\"weight\"]>, string> = {\n normal: \"font-normal\",\n medium: \"font-medium\",\n semibold: \"font-semibold\",\n bold: \"font-bold\",\n};\n\nconst colorClasses: Record<NonNullable<TextProps[\"color\"]>, string> = {\n default: \"text-zinc-900 dark:text-zinc-100\",\n muted: \"text-zinc-500 dark:text-zinc-400\",\n accent: \"text-blue-600 dark:text-blue-400\",\n danger: \"text-red-600 dark:text-red-400\",\n success: \"text-emerald-600 dark:text-emerald-400\",\n};\n\nexport const Text = forwardRef<HTMLElement, TextProps>(\n (\n {\n as: Tag = \"p\",\n size = \"md\",\n weight = \"normal\",\n color = \"default\",\n className,\n children,\n ...props\n },\n ref,\n ) => {\n return (\n <Tag\n ref={ref as React.Ref<never>}\n data-react-fancy-text=\"\"\n className={cn(\n sizeClasses[size],\n weightClasses[weight],\n colorClasses[color],\n className,\n )}\n {...props}\n >\n {children}\n </Tag>\n );\n },\n);\n\nText.displayName = \"Text\";\n"]}
|
|
@@ -0,0 +1,426 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var react = require('react');
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
|
|
6
|
+
// src/components/InputTag/InputTag.tsx
|
|
7
|
+
function defaultKeyOf(item) {
|
|
8
|
+
if (item && typeof item === "object") {
|
|
9
|
+
const r = item;
|
|
10
|
+
if (typeof r.name === "string") return r.name;
|
|
11
|
+
if (typeof r.id === "string") return r.id;
|
|
12
|
+
}
|
|
13
|
+
return String(item);
|
|
14
|
+
}
|
|
15
|
+
function defaultFilter(item, query) {
|
|
16
|
+
if (!query) return true;
|
|
17
|
+
return defaultKeyOf(item).toLowerCase().includes(query.toLowerCase());
|
|
18
|
+
}
|
|
19
|
+
function detectTrigger(text, caret, triggerChars) {
|
|
20
|
+
for (let i = caret - 1; i >= 0; i--) {
|
|
21
|
+
const ch = text[i];
|
|
22
|
+
if (ch === void 0) break;
|
|
23
|
+
if (triggerChars.has(ch)) {
|
|
24
|
+
if (i === 0 || /\s/.test(text[i - 1])) {
|
|
25
|
+
return {
|
|
26
|
+
char: ch,
|
|
27
|
+
start: i,
|
|
28
|
+
end: caret,
|
|
29
|
+
query: text.slice(i + 1, caret)
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
if (/\s/.test(ch)) return null;
|
|
35
|
+
}
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
function InputTag({
|
|
39
|
+
adapter,
|
|
40
|
+
triggers,
|
|
41
|
+
maxItems = 8,
|
|
42
|
+
placement = "bottom-left",
|
|
43
|
+
className,
|
|
44
|
+
style,
|
|
45
|
+
onPick
|
|
46
|
+
}) {
|
|
47
|
+
const triggerChars = react.useMemo(() => new Set(Object.keys(triggers)), [triggers]);
|
|
48
|
+
const [active, setActive] = react.useState(null);
|
|
49
|
+
const [cursor, setCursor] = react.useState(0);
|
|
50
|
+
const [anchorRect, setAnchorRect] = react.useState(null);
|
|
51
|
+
const stateRef = react.useRef({ text: "", caretIndex: 0 });
|
|
52
|
+
const activeRef = react.useRef(null);
|
|
53
|
+
const cursorRef = react.useRef(0);
|
|
54
|
+
activeRef.current = active;
|
|
55
|
+
cursorRef.current = cursor;
|
|
56
|
+
const items = react.useMemo(() => {
|
|
57
|
+
if (!active) return [];
|
|
58
|
+
const cfg2 = triggers[active.char];
|
|
59
|
+
if (!cfg2) return [];
|
|
60
|
+
const filter = cfg2.filter ?? defaultFilter;
|
|
61
|
+
const out = [];
|
|
62
|
+
for (const item of cfg2.items) {
|
|
63
|
+
if (filter(item, active.query)) out.push(item);
|
|
64
|
+
if (out.length >= maxItems) break;
|
|
65
|
+
}
|
|
66
|
+
return out;
|
|
67
|
+
}, [active, triggers, maxItems]);
|
|
68
|
+
react.useEffect(() => {
|
|
69
|
+
return adapter.subscribe((s) => {
|
|
70
|
+
stateRef.current = s;
|
|
71
|
+
const next = detectTrigger(s.text, s.caretIndex, triggerChars);
|
|
72
|
+
setActive((prev) => {
|
|
73
|
+
if (!prev || !next || prev.char !== next.char || prev.start !== next.start) {
|
|
74
|
+
setCursor(0);
|
|
75
|
+
}
|
|
76
|
+
return next;
|
|
77
|
+
});
|
|
78
|
+
if (next) setAnchorRect(adapter.getAnchorRect());
|
|
79
|
+
});
|
|
80
|
+
}, [adapter, triggerChars]);
|
|
81
|
+
react.useLayoutEffect(() => {
|
|
82
|
+
if (!active) return;
|
|
83
|
+
const update = () => setAnchorRect(adapter.getAnchorRect());
|
|
84
|
+
update();
|
|
85
|
+
window.addEventListener("scroll", update, true);
|
|
86
|
+
window.addEventListener("resize", update);
|
|
87
|
+
return () => {
|
|
88
|
+
window.removeEventListener("scroll", update, true);
|
|
89
|
+
window.removeEventListener("resize", update);
|
|
90
|
+
};
|
|
91
|
+
}, [active, adapter]);
|
|
92
|
+
react.useEffect(() => {
|
|
93
|
+
if (cursor >= items.length) setCursor(Math.max(0, items.length - 1));
|
|
94
|
+
}, [items.length, cursor]);
|
|
95
|
+
const pickItem = react.useCallback(
|
|
96
|
+
(item) => {
|
|
97
|
+
const cur = activeRef.current;
|
|
98
|
+
if (!cur) return;
|
|
99
|
+
const cfg2 = triggers[cur.char];
|
|
100
|
+
if (!cfg2) return;
|
|
101
|
+
const replacement = cfg2.insert(item, cur.query);
|
|
102
|
+
adapter.replaceRange(cur.start, cur.end, replacement);
|
|
103
|
+
onPick?.({ triggerChar: cur.char, query: cur.query, item });
|
|
104
|
+
setActive(null);
|
|
105
|
+
},
|
|
106
|
+
[adapter, triggers, onPick]
|
|
107
|
+
);
|
|
108
|
+
react.useEffect(() => {
|
|
109
|
+
return adapter.onKey((e) => {
|
|
110
|
+
const cur = activeRef.current;
|
|
111
|
+
if (!cur) return false;
|
|
112
|
+
const visible = items;
|
|
113
|
+
switch (e.key) {
|
|
114
|
+
case "ArrowDown":
|
|
115
|
+
if (visible.length === 0) return false;
|
|
116
|
+
setCursor((c) => (c + 1) % visible.length);
|
|
117
|
+
return true;
|
|
118
|
+
case "ArrowUp":
|
|
119
|
+
if (visible.length === 0) return false;
|
|
120
|
+
setCursor((c) => (c - 1 + visible.length) % visible.length);
|
|
121
|
+
return true;
|
|
122
|
+
case "Enter":
|
|
123
|
+
case "Tab": {
|
|
124
|
+
if (visible.length === 0) return false;
|
|
125
|
+
const idx = Math.min(cursorRef.current, visible.length - 1);
|
|
126
|
+
pickItem(visible[idx]);
|
|
127
|
+
return true;
|
|
128
|
+
}
|
|
129
|
+
case "Escape":
|
|
130
|
+
setActive(null);
|
|
131
|
+
return true;
|
|
132
|
+
default:
|
|
133
|
+
return false;
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
}, [adapter, items, pickItem]);
|
|
137
|
+
if (!active || !anchorRect || items.length === 0) return null;
|
|
138
|
+
const cfg = triggers[active.char];
|
|
139
|
+
if (!cfg) return null;
|
|
140
|
+
const popStyle = computePopoverStyle(anchorRect, placement);
|
|
141
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
142
|
+
"div",
|
|
143
|
+
{
|
|
144
|
+
role: "listbox",
|
|
145
|
+
"aria-label": cfg.label ?? `Pick a ${active.char === "/" ? "command" : "mention"}`,
|
|
146
|
+
className: [
|
|
147
|
+
"fixed z-50 w-72 overflow-hidden rounded-md border border-zinc-200 bg-white shadow-lg dark:border-zinc-700 dark:bg-zinc-900",
|
|
148
|
+
className ?? ""
|
|
149
|
+
].filter(Boolean).join(" "),
|
|
150
|
+
style: { ...popStyle, ...style },
|
|
151
|
+
children: [
|
|
152
|
+
(cfg.label || active.query) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between border-b border-zinc-100 bg-zinc-50 px-2 py-1 text-[10px] font-semibold uppercase tracking-wider text-zinc-500 dark:border-zinc-800 dark:bg-zinc-950", children: [
|
|
153
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: cfg.label ?? labelForChar(active.char) }),
|
|
154
|
+
active.query && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-mono text-[10px] normal-case tracking-normal text-zinc-400", children: [
|
|
155
|
+
active.char,
|
|
156
|
+
active.query
|
|
157
|
+
] })
|
|
158
|
+
] }),
|
|
159
|
+
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: "max-h-60 overflow-y-auto", children: items.map((item, i) => {
|
|
160
|
+
const renderer = cfg.render ?? ((it) => /* @__PURE__ */ jsxRuntime.jsx("span", { children: defaultKeyOf(it) }));
|
|
161
|
+
const active2 = i === cursor;
|
|
162
|
+
const key = (cfg.keyOf ?? defaultKeyOf)(item);
|
|
163
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
164
|
+
"li",
|
|
165
|
+
{
|
|
166
|
+
role: "option",
|
|
167
|
+
"aria-selected": active2,
|
|
168
|
+
onMouseDown: (e) => {
|
|
169
|
+
e.preventDefault();
|
|
170
|
+
pickItem(item);
|
|
171
|
+
},
|
|
172
|
+
onMouseEnter: () => setCursor(i),
|
|
173
|
+
className: [
|
|
174
|
+
"cursor-pointer px-2 py-1.5 text-[12px]",
|
|
175
|
+
active2 ? "bg-violet-100 dark:bg-violet-900/30" : "hover:bg-zinc-50 dark:hover:bg-zinc-800"
|
|
176
|
+
].join(" "),
|
|
177
|
+
children: renderer(item, active2)
|
|
178
|
+
},
|
|
179
|
+
key
|
|
180
|
+
);
|
|
181
|
+
}) })
|
|
182
|
+
]
|
|
183
|
+
}
|
|
184
|
+
);
|
|
185
|
+
}
|
|
186
|
+
function labelForChar(ch) {
|
|
187
|
+
if (ch === "/") return "Commands";
|
|
188
|
+
if (ch === "@") return "Mentions";
|
|
189
|
+
if (ch === "#") return "Tags";
|
|
190
|
+
if (ch === ":") return "Emoji";
|
|
191
|
+
return `Trigger ${ch}`;
|
|
192
|
+
}
|
|
193
|
+
function computePopoverStyle(anchor, placement) {
|
|
194
|
+
const offset = 4;
|
|
195
|
+
switch (placement) {
|
|
196
|
+
case "bottom-right":
|
|
197
|
+
return { top: anchor.bottom + offset, right: window.innerWidth - anchor.right };
|
|
198
|
+
case "top-left":
|
|
199
|
+
return { bottom: window.innerHeight - anchor.top + offset, left: anchor.left };
|
|
200
|
+
case "top-right":
|
|
201
|
+
return { bottom: window.innerHeight - anchor.top + offset, right: window.innerWidth - anchor.right };
|
|
202
|
+
case "bottom-left":
|
|
203
|
+
default:
|
|
204
|
+
return { top: anchor.bottom + offset, left: anchor.left };
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
// src/components/InputTag/adapters.ts
|
|
209
|
+
function nativeValueSetter(el) {
|
|
210
|
+
const proto = el instanceof HTMLTextAreaElement ? HTMLTextAreaElement.prototype : HTMLInputElement.prototype;
|
|
211
|
+
const desc = Object.getOwnPropertyDescriptor(proto, "value");
|
|
212
|
+
if (!desc?.set) return null;
|
|
213
|
+
return desc.set.bind(el);
|
|
214
|
+
}
|
|
215
|
+
function replaceInValueElement(el, start, end, replacement) {
|
|
216
|
+
const current = el.value;
|
|
217
|
+
const next = current.slice(0, start) + replacement + current.slice(end);
|
|
218
|
+
const setter = nativeValueSetter(el);
|
|
219
|
+
if (setter) {
|
|
220
|
+
setter(next);
|
|
221
|
+
} else {
|
|
222
|
+
el.value = next;
|
|
223
|
+
}
|
|
224
|
+
el.dispatchEvent(new Event("input", { bubbles: true }));
|
|
225
|
+
const caret = start + replacement.length;
|
|
226
|
+
el.setSelectionRange(caret, caret);
|
|
227
|
+
el.focus();
|
|
228
|
+
}
|
|
229
|
+
function valueElementAdapter(ref) {
|
|
230
|
+
return {
|
|
231
|
+
subscribe(fn) {
|
|
232
|
+
const handler = () => {
|
|
233
|
+
const el2 = ref.current;
|
|
234
|
+
if (!el2) return;
|
|
235
|
+
fn({
|
|
236
|
+
text: el2.value,
|
|
237
|
+
caretIndex: el2.selectionStart ?? el2.value.length
|
|
238
|
+
});
|
|
239
|
+
};
|
|
240
|
+
const el = ref.current;
|
|
241
|
+
if (el) {
|
|
242
|
+
el.addEventListener("input", handler);
|
|
243
|
+
el.addEventListener("click", handler);
|
|
244
|
+
el.addEventListener("keyup", handler);
|
|
245
|
+
el.addEventListener("focus", handler);
|
|
246
|
+
}
|
|
247
|
+
return () => {
|
|
248
|
+
const el2 = ref.current;
|
|
249
|
+
if (el2) {
|
|
250
|
+
el2.removeEventListener("input", handler);
|
|
251
|
+
el2.removeEventListener("click", handler);
|
|
252
|
+
el2.removeEventListener("keyup", handler);
|
|
253
|
+
el2.removeEventListener("focus", handler);
|
|
254
|
+
}
|
|
255
|
+
};
|
|
256
|
+
},
|
|
257
|
+
replaceRange(start, end, replacement) {
|
|
258
|
+
const el = ref.current;
|
|
259
|
+
if (!el) return;
|
|
260
|
+
replaceInValueElement(el, start, end, replacement);
|
|
261
|
+
},
|
|
262
|
+
getAnchorRect() {
|
|
263
|
+
const el = ref.current;
|
|
264
|
+
return el ? el.getBoundingClientRect() : null;
|
|
265
|
+
},
|
|
266
|
+
onKey(handler) {
|
|
267
|
+
const fn = (e) => {
|
|
268
|
+
if (handler(e)) {
|
|
269
|
+
e.preventDefault();
|
|
270
|
+
e.stopPropagation();
|
|
271
|
+
}
|
|
272
|
+
};
|
|
273
|
+
const el = ref.current;
|
|
274
|
+
if (el) el.addEventListener("keydown", fn);
|
|
275
|
+
return () => {
|
|
276
|
+
const el2 = ref.current;
|
|
277
|
+
if (el2) el2.removeEventListener("keydown", fn);
|
|
278
|
+
};
|
|
279
|
+
}
|
|
280
|
+
};
|
|
281
|
+
}
|
|
282
|
+
function textareaAdapter(ref) {
|
|
283
|
+
return valueElementAdapter(ref);
|
|
284
|
+
}
|
|
285
|
+
function inputAdapter(ref) {
|
|
286
|
+
return valueElementAdapter(ref);
|
|
287
|
+
}
|
|
288
|
+
function contentEditableAdapter(ref) {
|
|
289
|
+
function caretIndex(el) {
|
|
290
|
+
const sel = window.getSelection();
|
|
291
|
+
if (!sel || sel.rangeCount === 0) return 0;
|
|
292
|
+
const range = sel.getRangeAt(0).cloneRange();
|
|
293
|
+
range.selectNodeContents(el);
|
|
294
|
+
range.setEnd(sel.focusNode, sel.focusOffset);
|
|
295
|
+
return range.toString().length;
|
|
296
|
+
}
|
|
297
|
+
function setCaret(el, index) {
|
|
298
|
+
const sel = window.getSelection();
|
|
299
|
+
if (!sel) return;
|
|
300
|
+
const walker = document.createTreeWalker(el, NodeFilter.SHOW_TEXT);
|
|
301
|
+
let remaining = index;
|
|
302
|
+
let node = walker.nextNode();
|
|
303
|
+
while (node) {
|
|
304
|
+
const len = (node.textContent ?? "").length;
|
|
305
|
+
if (remaining <= len) {
|
|
306
|
+
const range2 = document.createRange();
|
|
307
|
+
range2.setStart(node, remaining);
|
|
308
|
+
range2.collapse(true);
|
|
309
|
+
sel.removeAllRanges();
|
|
310
|
+
sel.addRange(range2);
|
|
311
|
+
return;
|
|
312
|
+
}
|
|
313
|
+
remaining -= len;
|
|
314
|
+
node = walker.nextNode();
|
|
315
|
+
}
|
|
316
|
+
const range = document.createRange();
|
|
317
|
+
range.selectNodeContents(el);
|
|
318
|
+
range.collapse(false);
|
|
319
|
+
sel.removeAllRanges();
|
|
320
|
+
sel.addRange(range);
|
|
321
|
+
}
|
|
322
|
+
return {
|
|
323
|
+
subscribe(fn) {
|
|
324
|
+
const handler = () => {
|
|
325
|
+
const el2 = ref.current;
|
|
326
|
+
if (!el2) return;
|
|
327
|
+
fn({ text: el2.textContent ?? "", caretIndex: caretIndex(el2) });
|
|
328
|
+
};
|
|
329
|
+
const el = ref.current;
|
|
330
|
+
if (el) {
|
|
331
|
+
el.addEventListener("input", handler);
|
|
332
|
+
el.addEventListener("click", handler);
|
|
333
|
+
el.addEventListener("keyup", handler);
|
|
334
|
+
el.addEventListener("focus", handler);
|
|
335
|
+
}
|
|
336
|
+
return () => {
|
|
337
|
+
const el2 = ref.current;
|
|
338
|
+
if (el2) {
|
|
339
|
+
el2.removeEventListener("input", handler);
|
|
340
|
+
el2.removeEventListener("click", handler);
|
|
341
|
+
el2.removeEventListener("keyup", handler);
|
|
342
|
+
el2.removeEventListener("focus", handler);
|
|
343
|
+
}
|
|
344
|
+
};
|
|
345
|
+
},
|
|
346
|
+
replaceRange(start, end, replacement) {
|
|
347
|
+
const el = ref.current;
|
|
348
|
+
if (!el) return;
|
|
349
|
+
const current = el.textContent ?? "";
|
|
350
|
+
const next = current.slice(0, start) + replacement + current.slice(end);
|
|
351
|
+
el.textContent = next;
|
|
352
|
+
setCaret(el, start + replacement.length);
|
|
353
|
+
el.dispatchEvent(new Event("input", { bubbles: true }));
|
|
354
|
+
el.focus();
|
|
355
|
+
},
|
|
356
|
+
getAnchorRect() {
|
|
357
|
+
const el = ref.current;
|
|
358
|
+
return el ? el.getBoundingClientRect() : null;
|
|
359
|
+
},
|
|
360
|
+
onKey(handler) {
|
|
361
|
+
const fn = (e) => {
|
|
362
|
+
if (handler(e)) {
|
|
363
|
+
e.preventDefault();
|
|
364
|
+
e.stopPropagation();
|
|
365
|
+
}
|
|
366
|
+
};
|
|
367
|
+
const el = ref.current;
|
|
368
|
+
if (el) el.addEventListener("keydown", fn);
|
|
369
|
+
return () => {
|
|
370
|
+
const el2 = ref.current;
|
|
371
|
+
if (el2) el2.removeEventListener("keydown", fn);
|
|
372
|
+
};
|
|
373
|
+
}
|
|
374
|
+
};
|
|
375
|
+
}
|
|
376
|
+
function controlledAdapter(opts) {
|
|
377
|
+
let listener = null;
|
|
378
|
+
let keyHandler = null;
|
|
379
|
+
const installKey = () => {
|
|
380
|
+
const el = opts.anchorRef.current;
|
|
381
|
+
if (!el || !keyHandler) return () => {
|
|
382
|
+
};
|
|
383
|
+
const fn = (e) => {
|
|
384
|
+
if (keyHandler && keyHandler(e)) {
|
|
385
|
+
e.preventDefault();
|
|
386
|
+
e.stopPropagation();
|
|
387
|
+
}
|
|
388
|
+
};
|
|
389
|
+
el.addEventListener("keydown", fn);
|
|
390
|
+
return () => el.removeEventListener("keydown", fn);
|
|
391
|
+
};
|
|
392
|
+
return {
|
|
393
|
+
notify(state) {
|
|
394
|
+
listener?.(state);
|
|
395
|
+
},
|
|
396
|
+
subscribe(fn) {
|
|
397
|
+
listener = fn;
|
|
398
|
+
return () => {
|
|
399
|
+
if (listener === fn) listener = null;
|
|
400
|
+
};
|
|
401
|
+
},
|
|
402
|
+
replaceRange(start, end, replacement) {
|
|
403
|
+
opts.onReplaceRange(start, end, replacement);
|
|
404
|
+
},
|
|
405
|
+
getAnchorRect() {
|
|
406
|
+
const el = opts.anchorRef.current;
|
|
407
|
+
return el ? el.getBoundingClientRect() : null;
|
|
408
|
+
},
|
|
409
|
+
onKey(handler) {
|
|
410
|
+
keyHandler = handler;
|
|
411
|
+
const uninstall = installKey();
|
|
412
|
+
return () => {
|
|
413
|
+
if (keyHandler === handler) keyHandler = null;
|
|
414
|
+
uninstall();
|
|
415
|
+
};
|
|
416
|
+
}
|
|
417
|
+
};
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
exports.InputTag = InputTag;
|
|
421
|
+
exports.contentEditableAdapter = contentEditableAdapter;
|
|
422
|
+
exports.controlledAdapter = controlledAdapter;
|
|
423
|
+
exports.inputAdapter = inputAdapter;
|
|
424
|
+
exports.textareaAdapter = textareaAdapter;
|
|
425
|
+
//# sourceMappingURL=chunk-VNDOT3NK.cjs.map
|
|
426
|
+
//# sourceMappingURL=chunk-VNDOT3NK.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/InputTag/InputTag.tsx","../src/components/InputTag/adapters.ts"],"names":["useMemo","useState","useRef","cfg","useEffect","useLayoutEffect","useCallback","jsxs","jsx","el","range"],"mappings":";;;;;;AA6GA,SAAS,aAAa,IAAA,EAAuB;AAC3C,EAAA,IAAI,IAAA,IAAQ,OAAO,IAAA,KAAS,QAAA,EAAU;AACpC,IAAA,MAAM,CAAA,GAAI,IAAA;AACV,IAAA,IAAI,OAAO,CAAA,CAAE,IAAA,KAAS,QAAA,SAAiB,CAAA,CAAE,IAAA;AACzC,IAAA,IAAI,OAAO,CAAA,CAAE,EAAA,KAAO,QAAA,SAAiB,CAAA,CAAE,EAAA;AAAA,EACzC;AACA,EAAA,OAAO,OAAO,IAAI,CAAA;AACpB;AAEA,SAAS,aAAA,CAAc,MAAe,KAAA,EAAwB;AAC5D,EAAA,IAAI,CAAC,OAAO,OAAO,IAAA;AACnB,EAAA,OAAO,YAAA,CAAa,IAAI,CAAA,CAAE,WAAA,GAAc,QAAA,CAAS,KAAA,CAAM,aAAa,CAAA;AACtE;AASA,SAAS,aAAA,CACP,IAAA,EACA,KAAA,EACA,YAAA,EACsB;AACtB,EAAA,KAAA,IAAS,CAAA,GAAI,KAAA,GAAQ,CAAA,EAAG,CAAA,IAAK,GAAG,CAAA,EAAA,EAAK;AACnC,IAAA,MAAM,EAAA,GAAK,KAAK,CAAC,CAAA;AACjB,IAAA,IAAI,OAAO,MAAA,EAAW;AACtB,IAAA,IAAI,YAAA,CAAa,GAAA,CAAI,EAAE,CAAA,EAAG;AAExB,MAAA,IAAI,CAAA,KAAM,KAAK,IAAA,CAAK,IAAA,CAAK,KAAK,CAAA,GAAI,CAAC,CAAC,CAAA,EAAG;AACrC,QAAA,OAAO;AAAA,UACL,IAAA,EAAM,EAAA;AAAA,UACN,KAAA,EAAO,CAAA;AAAA,UACP,GAAA,EAAK,KAAA;AAAA,UACL,KAAA,EAAO,IAAA,CAAK,KAAA,CAAM,CAAA,GAAI,GAAG,KAAK;AAAA,SAChC;AAAA,MACF;AACA,MAAA,OAAO,IAAA;AAAA,IACT;AACA,IAAA,IAAI,IAAA,CAAK,IAAA,CAAK,EAAE,CAAA,EAAG,OAAO,IAAA;AAAA,EAC5B;AACA,EAAA,OAAO,IAAA;AACT;AAEO,SAAS,QAAA,CAAS;AAAA,EACvB,OAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA,GAAW,CAAA;AAAA,EACX,SAAA,GAAY,aAAA;AAAA,EACZ,SAAA;AAAA,EACA,KAAA;AAAA,EACA;AACF,CAAA,EAAkB;AAChB,EAAA,MAAM,YAAA,GAAeA,aAAA,CAAQ,MAAM,IAAI,GAAA,CAAI,MAAA,CAAO,IAAA,CAAK,QAAQ,CAAC,CAAA,EAAG,CAAC,QAAQ,CAAC,CAAA;AAC7E,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAIC,eAA+B,IAAI,CAAA;AAC/D,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAIA,eAAS,CAAC,CAAA;AACtC,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAIA,eAAyB,IAAI,CAAA;AAGjE,EAAA,MAAM,WAAWC,YAAA,CAA6B,EAAE,MAAM,EAAA,EAAI,UAAA,EAAY,GAAG,CAAA;AACzE,EAAA,MAAM,SAAA,GAAYA,aAA6B,IAAI,CAAA;AACnD,EAAA,MAAM,SAAA,GAAYA,aAAO,CAAC,CAAA;AAC1B,EAAA,SAAA,CAAU,OAAA,GAAU,MAAA;AACpB,EAAA,SAAA,CAAU,OAAA,GAAU,MAAA;AAGpB,EAAA,MAAM,KAAA,GAAmBF,cAAQ,MAAM;AACrC,IAAA,IAAI,CAAC,MAAA,EAAQ,OAAO,EAAC;AACrB,IAAA,MAAMG,IAAAA,GAAM,QAAA,CAAS,MAAA,CAAO,IAAI,CAAA;AAChC,IAAA,IAAI,CAACA,IAAAA,EAAK,OAAO,EAAC;AAClB,IAAA,MAAM,MAAA,GAASA,KAAI,MAAA,IAAU,aAAA;AAC7B,IAAA,MAAM,MAAiB,EAAC;AACxB,IAAA,KAAA,MAAW,IAAA,IAAQA,KAAI,KAAA,EAAO;AAC5B,MAAA,IAAI,OAAO,IAAA,EAAM,MAAA,CAAO,KAAK,CAAA,EAAG,GAAA,CAAI,KAAK,IAAI,CAAA;AAC7C,MAAA,IAAI,GAAA,CAAI,UAAU,QAAA,EAAU;AAAA,IAC9B;AACA,IAAA,OAAO,GAAA;AAAA,EACT,CAAA,EAAG,CAAC,MAAA,EAAQ,QAAA,EAAU,QAAQ,CAAC,CAAA;AAG/B,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,OAAO,OAAA,CAAQ,SAAA,CAAU,CAAC,CAAA,KAAM;AAC9B,MAAA,QAAA,CAAS,OAAA,GAAU,CAAA;AACnB,MAAA,MAAM,OAAO,aAAA,CAAc,CAAA,CAAE,IAAA,EAAM,CAAA,CAAE,YAAY,YAAY,CAAA;AAC7D,MAAA,SAAA,CAAU,CAAC,IAAA,KAAS;AAElB,QAAA,IAAI,CAAC,IAAA,IAAQ,CAAC,IAAA,IAAQ,IAAA,CAAK,IAAA,KAAS,IAAA,CAAK,IAAA,IAAQ,IAAA,CAAK,KAAA,KAAU,IAAA,CAAK,KAAA,EAAO;AAC1E,UAAA,SAAA,CAAU,CAAC,CAAA;AAAA,QACb;AACA,QAAA,OAAO,IAAA;AAAA,MACT,CAAC,CAAA;AACD,MAAA,IAAI,IAAA,EAAM,aAAA,CAAc,OAAA,CAAQ,aAAA,EAAe,CAAA;AAAA,IACjD,CAAC,CAAA;AAAA,EACH,CAAA,EAAG,CAAC,OAAA,EAAS,YAAY,CAAC,CAAA;AAG1B,EAAAC,qBAAA,CAAgB,MAAM;AACpB,IAAA,IAAI,CAAC,MAAA,EAAQ;AACb,IAAA,MAAM,MAAA,GAAS,MAAM,aAAA,CAAc,OAAA,CAAQ,eAAe,CAAA;AAC1D,IAAA,MAAA,EAAO;AACP,IAAA,MAAA,CAAO,gBAAA,CAAiB,QAAA,EAAU,MAAA,EAAQ,IAAI,CAAA;AAC9C,IAAA,MAAA,CAAO,gBAAA,CAAiB,UAAU,MAAM,CAAA;AACxC,IAAA,OAAO,MAAM;AACX,MAAA,MAAA,CAAO,mBAAA,CAAoB,QAAA,EAAU,MAAA,EAAQ,IAAI,CAAA;AACjD,MAAA,MAAA,CAAO,mBAAA,CAAoB,UAAU,MAAM,CAAA;AAAA,IAC7C,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,MAAA,EAAQ,OAAO,CAAC,CAAA;AAGpB,EAAAD,eAAA,CAAU,MAAM;AACd,IAAA,IAAI,MAAA,IAAU,KAAA,CAAM,MAAA,EAAQ,SAAA,CAAU,IAAA,CAAK,IAAI,CAAA,EAAG,KAAA,CAAM,MAAA,GAAS,CAAC,CAAC,CAAA;AAAA,EACrE,CAAA,EAAG,CAAC,KAAA,CAAM,MAAA,EAAQ,MAAM,CAAC,CAAA;AAEzB,EAAA,MAAM,QAAA,GAAWE,iBAAA;AAAA,IACf,CAAC,IAAA,KAAkB;AACjB,MAAA,MAAM,MAAM,SAAA,CAAU,OAAA;AACtB,MAAA,IAAI,CAAC,GAAA,EAAK;AACV,MAAA,MAAMH,IAAAA,GAAM,QAAA,CAAS,GAAA,CAAI,IAAI,CAAA;AAC7B,MAAA,IAAI,CAACA,IAAAA,EAAK;AACV,MAAA,MAAM,WAAA,GAAcA,IAAAA,CAAI,MAAA,CAAO,IAAA,EAAM,IAAI,KAAK,CAAA;AAC9C,MAAA,OAAA,CAAQ,YAAA,CAAa,GAAA,CAAI,KAAA,EAAO,GAAA,CAAI,KAAK,WAAW,CAAA;AACpD,MAAA,MAAA,GAAS,EAAE,aAAa,GAAA,CAAI,IAAA,EAAM,OAAO,GAAA,CAAI,KAAA,EAAO,MAAM,CAAA;AAC1D,MAAA,SAAA,CAAU,IAAI,CAAA;AAAA,IAChB,CAAA;AAAA,IACA,CAAC,OAAA,EAAS,QAAA,EAAU,MAAM;AAAA,GAC5B;AAGA,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,OAAO,OAAA,CAAQ,KAAA,CAAM,CAAC,CAAA,KAAM;AAC1B,MAAA,MAAM,MAAM,SAAA,CAAU,OAAA;AACtB,MAAA,IAAI,CAAC,KAAK,OAAO,KAAA;AACjB,MAAA,MAAM,OAAA,GAAU,KAAA;AAChB,MAAA,QAAQ,EAAE,GAAA;AAAK,QACb,KAAK,WAAA;AACH,UAAA,IAAI,OAAA,CAAQ,MAAA,KAAW,CAAA,EAAG,OAAO,KAAA;AACjC,UAAA,SAAA,CAAU,CAAC,CAAA,KAAA,CAAO,CAAA,GAAI,CAAA,IAAK,QAAQ,MAAM,CAAA;AACzC,UAAA,OAAO,IAAA;AAAA,QACT,KAAK,SAAA;AACH,UAAA,IAAI,OAAA,CAAQ,MAAA,KAAW,CAAA,EAAG,OAAO,KAAA;AACjC,UAAA,SAAA,CAAU,CAAC,CAAA,KAAA,CAAO,CAAA,GAAI,IAAI,OAAA,CAAQ,MAAA,IAAU,QAAQ,MAAM,CAAA;AAC1D,UAAA,OAAO,IAAA;AAAA,QACT,KAAK,OAAA;AAAA,QACL,KAAK,KAAA,EAAO;AACV,UAAA,IAAI,OAAA,CAAQ,MAAA,KAAW,CAAA,EAAG,OAAO,KAAA;AACjC,UAAA,MAAM,MAAM,IAAA,CAAK,GAAA,CAAI,UAAU,OAAA,EAAS,OAAA,CAAQ,SAAS,CAAC,CAAA;AAC1D,UAAA,QAAA,CAAS,OAAA,CAAQ,GAAG,CAAC,CAAA;AACrB,UAAA,OAAO,IAAA;AAAA,QACT;AAAA,QACA,KAAK,QAAA;AACH,UAAA,SAAA,CAAU,IAAI,CAAA;AACd,UAAA,OAAO,IAAA;AAAA,QACT;AACE,UAAA,OAAO,KAAA;AAAA;AACX,IACF,CAAC,CAAA;AAAA,EACH,CAAA,EAAG,CAAC,OAAA,EAAS,KAAA,EAAO,QAAQ,CAAC,CAAA;AAE7B,EAAA,IAAI,CAAC,MAAA,IAAU,CAAC,cAAc,KAAA,CAAM,MAAA,KAAW,GAAG,OAAO,IAAA;AAEzD,EAAA,MAAM,GAAA,GAAM,QAAA,CAAS,MAAA,CAAO,IAAI,CAAA;AAChC,EAAA,IAAI,CAAC,KAAK,OAAO,IAAA;AAEjB,EAAA,MAAM,QAAA,GAAW,mBAAA,CAAoB,UAAA,EAAY,SAAS,CAAA;AAE1D,EAAA,uBACEG,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAK,SAAA;AAAA,MACL,YAAA,EAAY,IAAI,KAAA,IAAS,CAAA,OAAA,EAAU,OAAO,IAAA,KAAS,GAAA,GAAM,YAAY,SAAS,CAAA,CAAA;AAAA,MAC9E,SAAA,EAAW;AAAA,QACT,4HAAA;AAAA,QACA,SAAA,IAAa;AAAA,OACf,CACG,MAAA,CAAO,OAAO,CAAA,CACd,KAAK,GAAG,CAAA;AAAA,MACX,KAAA,EAAO,EAAE,GAAG,QAAA,EAAU,GAAG,KAAA,EAAM;AAAA,MAE7B,QAAA,EAAA;AAAA,QAAA,CAAA,GAAA,CAAI,SAAS,MAAA,CAAO,KAAA,qBACpBA,eAAA,CAAC,KAAA,EAAA,EAAI,WAAU,wLAAA,EACb,QAAA,EAAA;AAAA,0BAAAC,cAAA,CAAC,UAAM,QAAA,EAAA,GAAA,CAAI,KAAA,IAAS,YAAA,CAAa,MAAA,CAAO,IAAI,CAAA,EAAE,CAAA;AAAA,UAC7C,MAAA,CAAO,KAAA,oBACND,eAAA,CAAC,MAAA,EAAA,EAAK,WAAU,iEAAA,EACb,QAAA,EAAA;AAAA,YAAA,MAAA,CAAO,IAAA;AAAA,YACP,MAAA,CAAO;AAAA,WAAA,EACV;AAAA,SAAA,EAEJ,CAAA;AAAA,wBAEFC,cAAA,CAAC,QAAG,SAAA,EAAU,0BAAA,EACX,gBAAM,GAAA,CAAI,CAAC,MAAM,CAAA,KAAM;AACtB,UAAA,MAAM,QAAA,GAAW,IAAI,MAAA,KAAW,CAAC,uBAAgBA,cAAA,CAAC,MAAA,EAAA,EAAM,QAAA,EAAA,YAAA,CAAa,EAAE,CAAA,EAAE,CAAA,CAAA;AACzE,UAAA,MAAM,UAAU,CAAA,KAAM,MAAA;AACtB,UAAA,MAAM,GAAA,GAAA,CAAO,GAAA,CAAI,KAAA,IAAS,YAAA,EAAc,IAAI,CAAA;AAC5C,UAAA,uBACEA,cAAA;AAAA,YAAC,IAAA;AAAA,YAAA;AAAA,cAEC,IAAA,EAAK,QAAA;AAAA,cACL,eAAA,EAAe,OAAA;AAAA,cACf,WAAA,EAAa,CAAC,CAAA,KAAM;AAClB,gBAAA,CAAA,CAAE,cAAA,EAAe;AACjB,gBAAA,QAAA,CAAS,IAAI,CAAA;AAAA,cACf,CAAA;AAAA,cACA,YAAA,EAAc,MAAM,SAAA,CAAU,CAAC,CAAA;AAAA,cAC/B,SAAA,EAAW;AAAA,gBACT,wCAAA;AAAA,gBACA,UACI,qCAAA,GACA;AAAA,eACN,CAAE,KAAK,GAAG,CAAA;AAAA,cAET,QAAA,EAAA,QAAA,CAAS,MAAM,OAAO;AAAA,aAAA;AAAA,YAflB;AAAA,WAgBP;AAAA,QAEJ,CAAC,CAAA,EACH;AAAA;AAAA;AAAA,GACF;AAEJ;AAEA,SAAS,aAAa,EAAA,EAAoB;AACxC,EAAA,IAAI,EAAA,KAAO,KAAK,OAAO,UAAA;AACvB,EAAA,IAAI,EAAA,KAAO,KAAK,OAAO,UAAA;AACvB,EAAA,IAAI,EAAA,KAAO,KAAK,OAAO,MAAA;AACvB,EAAA,IAAI,EAAA,KAAO,KAAK,OAAO,OAAA;AACvB,EAAA,OAAO,WAAW,EAAE,CAAA,CAAA;AACtB;AAEA,SAAS,mBAAA,CACP,QACA,SAAA,EACe;AACf,EAAA,MAAM,MAAA,GAAS,CAAA;AACf,EAAA,QAAQ,SAAA;AAAW,IACjB,KAAK,cAAA;AACH,MAAA,OAAO,EAAE,KAAK,MAAA,CAAO,MAAA,GAAS,QAAQ,KAAA,EAAO,MAAA,CAAO,UAAA,GAAa,MAAA,CAAO,KAAA,EAAM;AAAA,IAChF,KAAK,UAAA;AACH,MAAA,OAAO,EAAE,QAAQ,MAAA,CAAO,WAAA,GAAc,OAAO,GAAA,GAAM,MAAA,EAAQ,IAAA,EAAM,MAAA,CAAO,IAAA,EAAK;AAAA,IAC/E,KAAK,WAAA;AACH,MAAA,OAAO,EAAE,MAAA,EAAQ,MAAA,CAAO,WAAA,GAAc,MAAA,CAAO,GAAA,GAAM,MAAA,EAAQ,KAAA,EAAO,MAAA,CAAO,UAAA,GAAa,MAAA,CAAO,KAAA,EAAM;AAAA,IACrG,KAAK,aAAA;AAAA,IACL;AACE,MAAA,OAAO,EAAE,GAAA,EAAK,MAAA,CAAO,SAAS,MAAA,EAAQ,IAAA,EAAM,OAAO,IAAA,EAAK;AAAA;AAE9D;;;AClVA,SAAS,kBAAkB,EAAA,EAA0E;AACnG,EAAA,MAAM,KAAA,GAAQ,EAAA,YAAc,mBAAA,GAAsB,mBAAA,CAAoB,YAAY,gBAAA,CAAiB,SAAA;AACnG,EAAA,MAAM,IAAA,GAAO,MAAA,CAAO,wBAAA,CAAyB,KAAA,EAAO,OAAO,CAAA;AAC3D,EAAA,IAAI,CAAC,IAAA,EAAM,GAAA,EAAK,OAAO,IAAA;AACvB,EAAA,OAAO,IAAA,CAAK,GAAA,CAAI,IAAA,CAAK,EAAE,CAAA;AACzB;AAEA,SAAS,qBAAA,CACP,EAAA,EACA,KAAA,EACA,GAAA,EACA,WAAA,EACM;AACN,EAAA,MAAM,UAAU,EAAA,CAAG,KAAA;AACnB,EAAA,MAAM,IAAA,GAAO,QAAQ,KAAA,CAAM,CAAA,EAAG,KAAK,CAAA,GAAI,WAAA,GAAc,OAAA,CAAQ,KAAA,CAAM,GAAG,CAAA;AACtE,EAAA,MAAM,MAAA,GAAS,kBAAkB,EAAE,CAAA;AACnC,EAAA,IAAI,MAAA,EAAQ;AACV,IAAA,MAAA,CAAO,IAAI,CAAA;AAAA,EACb,CAAA,MAAO;AACL,IAAA,EAAA,CAAG,KAAA,GAAQ,IAAA;AAAA,EACb;AAGA,EAAA,EAAA,CAAG,aAAA,CAAc,IAAI,KAAA,CAAM,OAAA,EAAS,EAAE,OAAA,EAAS,IAAA,EAAM,CAAC,CAAA;AAEtD,EAAA,MAAM,KAAA,GAAQ,QAAQ,WAAA,CAAY,MAAA;AAClC,EAAA,EAAA,CAAG,iBAAA,CAAkB,OAAO,KAAK,CAAA;AACjC,EAAA,EAAA,CAAG,KAAA,EAAM;AACX;AAEA,SAAS,oBACP,GAAA,EACiB;AACjB,EAAA,OAAO;AAAA,IACL,UAAU,EAAA,EAAI;AACZ,MAAA,MAAM,UAAU,MAAM;AACpB,QAAA,MAAMC,MAAK,GAAA,CAAI,OAAA;AACf,QAAA,IAAI,CAACA,GAAAA,EAAI;AACT,QAAA,EAAA,CAAG;AAAA,UACD,MAAMA,GAAAA,CAAG,KAAA;AAAA,UACT,UAAA,EAAYA,GAAAA,CAAG,cAAA,IAAkBA,GAAAA,CAAG,KAAA,CAAM;AAAA,SAC3C,CAAA;AAAA,MACH,CAAA;AACA,MAAA,MAAM,KAAK,GAAA,CAAI,OAAA;AACf,MAAA,IAAI,EAAA,EAAI;AACN,QAAA,EAAA,CAAG,gBAAA,CAAiB,SAAS,OAAO,CAAA;AACpC,QAAA,EAAA,CAAG,gBAAA,CAAiB,SAAS,OAAO,CAAA;AACpC,QAAA,EAAA,CAAG,gBAAA,CAAiB,SAAS,OAAO,CAAA;AACpC,QAAA,EAAA,CAAG,gBAAA,CAAiB,SAAS,OAAO,CAAA;AAAA,MACtC;AACA,MAAA,OAAO,MAAM;AACX,QAAA,MAAM,MAAM,GAAA,CAAI,OAAA;AAChB,QAAA,IAAI,GAAA,EAAK;AACP,UAAA,GAAA,CAAI,mBAAA,CAAoB,SAAS,OAAO,CAAA;AACxC,UAAA,GAAA,CAAI,mBAAA,CAAoB,SAAS,OAAO,CAAA;AACxC,UAAA,GAAA,CAAI,mBAAA,CAAoB,SAAS,OAAO,CAAA;AACxC,UAAA,GAAA,CAAI,mBAAA,CAAoB,SAAS,OAAO,CAAA;AAAA,QAC1C;AAAA,MACF,CAAA;AAAA,IACF,CAAA;AAAA,IACA,YAAA,CAAa,KAAA,EAAO,GAAA,EAAK,WAAA,EAAa;AACpC,MAAA,MAAM,KAAK,GAAA,CAAI,OAAA;AACf,MAAA,IAAI,CAAC,EAAA,EAAI;AACT,MAAA,qBAAA,CAAsB,EAAA,EAAI,KAAA,EAAO,GAAA,EAAK,WAAW,CAAA;AAAA,IACnD,CAAA;AAAA,IACA,aAAA,GAAgB;AACd,MAAA,MAAM,KAAK,GAAA,CAAI,OAAA;AACf,MAAA,OAAO,EAAA,GAAK,EAAA,CAAG,qBAAA,EAAsB,GAAI,IAAA;AAAA,IAC3C,CAAA;AAAA,IACA,MAAM,OAAA,EAAS;AACb,MAAA,MAAM,EAAA,GAAK,CAAC,CAAA,KAAqB;AAC/B,QAAA,IAAI,OAAA,CAAQ,CAAC,CAAA,EAAG;AACd,UAAA,CAAA,CAAE,cAAA,EAAe;AACjB,UAAA,CAAA,CAAE,eAAA,EAAgB;AAAA,QACpB;AAAA,MACF,CAAA;AACA,MAAA,MAAM,KAAK,GAAA,CAAI,OAAA;AACf,MAAA,IAAI,EAAA,EAAI,EAAA,CAAG,gBAAA,CAAiB,SAAA,EAAW,EAAmB,CAAA;AAC1D,MAAA,OAAO,MAAM;AACX,QAAA,MAAM,MAAM,GAAA,CAAI,OAAA;AAChB,QAAA,IAAI,GAAA,EAAK,GAAA,CAAI,mBAAA,CAAoB,SAAA,EAAW,EAAmB,CAAA;AAAA,MACjE,CAAA;AAAA,IACF;AAAA,GACF;AACF;AAQO,SAAS,gBACd,GAAA,EACiB;AACjB,EAAA,OAAO,oBAAoB,GAAG,CAAA;AAChC;AAGO,SAAS,aACd,GAAA,EACiB;AACjB,EAAA,OAAO,oBAAoB,GAAG,CAAA;AAChC;AAOO,SAAS,uBACd,GAAA,EACiB;AACjB,EAAA,SAAS,WAAW,EAAA,EAAyB;AAC3C,IAAA,MAAM,GAAA,GAAM,OAAO,YAAA,EAAa;AAChC,IAAA,IAAI,CAAC,GAAA,IAAO,GAAA,CAAI,UAAA,KAAe,GAAG,OAAO,CAAA;AACzC,IAAA,MAAM,KAAA,GAAQ,GAAA,CAAI,UAAA,CAAW,CAAC,EAAE,UAAA,EAAW;AAC3C,IAAA,KAAA,CAAM,mBAAmB,EAAE,CAAA;AAC3B,IAAA,KAAA,CAAM,MAAA,CAAO,GAAA,CAAI,SAAA,EAAY,GAAA,CAAI,WAAW,CAAA;AAC5C,IAAA,OAAO,KAAA,CAAM,UAAS,CAAE,MAAA;AAAA,EAC1B;AACA,EAAA,SAAS,QAAA,CAAS,IAAiB,KAAA,EAAqB;AACtD,IAAA,MAAM,GAAA,GAAM,OAAO,YAAA,EAAa;AAChC,IAAA,IAAI,CAAC,GAAA,EAAK;AACV,IAAA,MAAM,MAAA,GAAS,QAAA,CAAS,gBAAA,CAAiB,EAAA,EAAI,WAAW,SAAS,CAAA;AACjE,IAAA,IAAI,SAAA,GAAY,KAAA;AAChB,IAAA,IAAI,IAAA,GAAoB,OAAO,QAAA,EAAS;AACxC,IAAA,OAAO,IAAA,EAAM;AACX,MAAA,MAAM,GAAA,GAAA,CAAO,IAAA,CAAK,WAAA,IAAe,EAAA,EAAI,MAAA;AACrC,MAAA,IAAI,aAAa,GAAA,EAAK;AACpB,QAAA,MAAMC,MAAAA,GAAQ,SAAS,WAAA,EAAY;AACnC,QAAAA,MAAAA,CAAM,QAAA,CAAS,IAAA,EAAM,SAAS,CAAA;AAC9B,QAAAA,MAAAA,CAAM,SAAS,IAAI,CAAA;AACnB,QAAA,GAAA,CAAI,eAAA,EAAgB;AACpB,QAAA,GAAA,CAAI,SAASA,MAAK,CAAA;AAClB,QAAA;AAAA,MACF;AACA,MAAA,SAAA,IAAa,GAAA;AACb,MAAA,IAAA,GAAO,OAAO,QAAA,EAAS;AAAA,IACzB;AAEA,IAAA,MAAM,KAAA,GAAQ,SAAS,WAAA,EAAY;AACnC,IAAA,KAAA,CAAM,mBAAmB,EAAE,CAAA;AAC3B,IAAA,KAAA,CAAM,SAAS,KAAK,CAAA;AACpB,IAAA,GAAA,CAAI,eAAA,EAAgB;AACpB,IAAA,GAAA,CAAI,SAAS,KAAK,CAAA;AAAA,EACpB;AACA,EAAA,OAAO;AAAA,IACL,UAAU,EAAA,EAAI;AACZ,MAAA,MAAM,UAAU,MAAM;AACpB,QAAA,MAAMD,MAAK,GAAA,CAAI,OAAA;AACf,QAAA,IAAI,CAACA,GAAAA,EAAI;AACT,QAAA,EAAA,CAAG,EAAE,MAAMA,GAAAA,CAAG,WAAA,IAAe,IAAI,UAAA,EAAY,UAAA,CAAWA,GAAE,CAAA,EAAG,CAAA;AAAA,MAC/D,CAAA;AACA,MAAA,MAAM,KAAK,GAAA,CAAI,OAAA;AACf,MAAA,IAAI,EAAA,EAAI;AACN,QAAA,EAAA,CAAG,gBAAA,CAAiB,SAAS,OAAO,CAAA;AACpC,QAAA,EAAA,CAAG,gBAAA,CAAiB,SAAS,OAAO,CAAA;AACpC,QAAA,EAAA,CAAG,gBAAA,CAAiB,SAAS,OAAO,CAAA;AACpC,QAAA,EAAA,CAAG,gBAAA,CAAiB,SAAS,OAAO,CAAA;AAAA,MACtC;AACA,MAAA,OAAO,MAAM;AACX,QAAA,MAAM,MAAM,GAAA,CAAI,OAAA;AAChB,QAAA,IAAI,GAAA,EAAK;AACP,UAAA,GAAA,CAAI,mBAAA,CAAoB,SAAS,OAAO,CAAA;AACxC,UAAA,GAAA,CAAI,mBAAA,CAAoB,SAAS,OAAO,CAAA;AACxC,UAAA,GAAA,CAAI,mBAAA,CAAoB,SAAS,OAAO,CAAA;AACxC,UAAA,GAAA,CAAI,mBAAA,CAAoB,SAAS,OAAO,CAAA;AAAA,QAC1C;AAAA,MACF,CAAA;AAAA,IACF,CAAA;AAAA,IACA,YAAA,CAAa,KAAA,EAAO,GAAA,EAAK,WAAA,EAAa;AACpC,MAAA,MAAM,KAAK,GAAA,CAAI,OAAA;AACf,MAAA,IAAI,CAAC,EAAA,EAAI;AACT,MAAA,MAAM,OAAA,GAAU,GAAG,WAAA,IAAe,EAAA;AAClC,MAAA,MAAM,IAAA,GAAO,QAAQ,KAAA,CAAM,CAAA,EAAG,KAAK,CAAA,GAAI,WAAA,GAAc,OAAA,CAAQ,KAAA,CAAM,GAAG,CAAA;AACtE,MAAA,EAAA,CAAG,WAAA,GAAc,IAAA;AACjB,MAAA,QAAA,CAAS,EAAA,EAAI,KAAA,GAAQ,WAAA,CAAY,MAAM,CAAA;AACvC,MAAA,EAAA,CAAG,aAAA,CAAc,IAAI,KAAA,CAAM,OAAA,EAAS,EAAE,OAAA,EAAS,IAAA,EAAM,CAAC,CAAA;AACtD,MAAA,EAAA,CAAG,KAAA,EAAM;AAAA,IACX,CAAA;AAAA,IACA,aAAA,GAAgB;AACd,MAAA,MAAM,KAAK,GAAA,CAAI,OAAA;AACf,MAAA,OAAO,EAAA,GAAK,EAAA,CAAG,qBAAA,EAAsB,GAAI,IAAA;AAAA,IAC3C,CAAA;AAAA,IACA,MAAM,OAAA,EAAS;AACb,MAAA,MAAM,EAAA,GAAK,CAAC,CAAA,KAAqB;AAC/B,QAAA,IAAI,OAAA,CAAQ,CAAC,CAAA,EAAG;AACd,UAAA,CAAA,CAAE,cAAA,EAAe;AACjB,UAAA,CAAA,CAAE,eAAA,EAAgB;AAAA,QACpB;AAAA,MACF,CAAA;AACA,MAAA,MAAM,KAAK,GAAA,CAAI,OAAA;AACf,MAAA,IAAI,EAAA,EAAI,EAAA,CAAG,gBAAA,CAAiB,SAAA,EAAW,EAAmB,CAAA;AAC1D,MAAA,OAAO,MAAM;AACX,QAAA,MAAM,MAAM,GAAA,CAAI,OAAA;AAChB,QAAA,IAAI,GAAA,EAAK,GAAA,CAAI,mBAAA,CAAoB,SAAA,EAAW,EAAmB,CAAA;AAAA,MACjE,CAAA;AAAA,IACF;AAAA,GACF;AACF;AAiBO,SAAS,kBAAkB,IAAA,EAKN;AAC1B,EAAA,IAAI,QAAA,GAAuE,IAAA;AAC3E,EAAA,IAAI,UAAA,GAAqD,IAAA;AAEzD,EAAA,MAAM,aAAa,MAAM;AACvB,IAAA,MAAM,EAAA,GAAK,KAAK,SAAA,CAAU,OAAA;AAC1B,IAAA,IAAI,CAAC,EAAA,IAAM,CAAC,UAAA,SAAmB,MAAM;AAAA,IAAC,CAAA;AACtC,IAAA,MAAM,EAAA,GAAK,CAAC,CAAA,KAAqB;AAC/B,MAAA,IAAI,UAAA,IAAc,UAAA,CAAW,CAAC,CAAA,EAAG;AAC/B,QAAA,CAAA,CAAE,cAAA,EAAe;AACjB,QAAA,CAAA,CAAE,eAAA,EAAgB;AAAA,MACpB;AAAA,IACF,CAAA;AACA,IAAA,EAAA,CAAG,gBAAA,CAAiB,WAAW,EAAE,CAAA;AACjC,IAAA,OAAO,MAAM,EAAA,CAAG,mBAAA,CAAoB,SAAA,EAAW,EAAE,CAAA;AAAA,EACnD,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,OAAO,KAAA,EAAO;AACZ,MAAA,QAAA,GAAW,KAAK,CAAA;AAAA,IAClB,CAAA;AAAA,IACA,UAAU,EAAA,EAAI;AACZ,MAAA,QAAA,GAAW,EAAA;AACX,MAAA,OAAO,MAAM;AACX,QAAA,IAAI,QAAA,KAAa,IAAI,QAAA,GAAW,IAAA;AAAA,MAClC,CAAA;AAAA,IACF,CAAA;AAAA,IACA,YAAA,CAAa,KAAA,EAAO,GAAA,EAAK,WAAA,EAAa;AACpC,MAAA,IAAA,CAAK,cAAA,CAAe,KAAA,EAAO,GAAA,EAAK,WAAW,CAAA;AAAA,IAC7C,CAAA;AAAA,IACA,aAAA,GAAgB;AACd,MAAA,MAAM,EAAA,GAAK,KAAK,SAAA,CAAU,OAAA;AAC1B,MAAA,OAAO,EAAA,GAAK,EAAA,CAAG,qBAAA,EAAsB,GAAI,IAAA;AAAA,IAC3C,CAAA;AAAA,IACA,MAAM,OAAA,EAAS;AACb,MAAA,UAAA,GAAa,OAAA;AACb,MAAA,MAAM,YAAY,UAAA,EAAW;AAC7B,MAAA,OAAO,MAAM;AACX,QAAA,IAAI,UAAA,KAAe,SAAS,UAAA,GAAa,IAAA;AACzC,QAAA,SAAA,EAAU;AAAA,MACZ,CAAA;AAAA,IACF;AAAA,GACF;AACF","file":"chunk-VNDOT3NK.cjs","sourcesContent":["import {\n type CSSProperties,\n type ReactNode,\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\n/**\n * InputTag — attach a `/`-style or `@`-style autocomplete picker to *any*\n * text surface (a `<textarea>`, an `<input>`, a `contenteditable`, a code\n * editor, a sheet cell editor, a whiteboard sticky note…) via an adapter\n * that abstracts the surface's read/write/caret API.\n *\n * The component is \"headless\" in the sense that it has no input of its\n * own — it floats a small picker menu near the surface and writes back\n * through the adapter when the user picks an item.\n *\n * <textarea ref={ref} value={text} onChange={...} />\n * <InputTag\n * adapter={textareaAdapter(ref)}\n * triggers={{\n * \"/\": { items: commands, insert: (c) => `${c.name} ` },\n * \"@\": { items: mentions, insert: (m) => `@${m.name} ` },\n * }}\n * />\n *\n * For non-DOM surfaces, write a small adapter that conforms to\n * {@link InputTagAdapter}. Adapters typically run 20–40 lines.\n */\n\n/** What the surface tells the picker on every text/caret change. */\nexport type InputTagAdapterState = {\n text: string;\n caretIndex: number;\n};\n\n/**\n * The contract every input surface implements. The picker subscribes to\n * state changes, anchors itself using `getAnchorRect`, intercepts\n * navigation keys via `onKey`, and writes the selected item back through\n * `replaceRange`.\n */\nexport type InputTagAdapter = {\n /** Push current state whenever text or caret changes. Returns an unsubscribe. */\n subscribe: (fn: (state: InputTagAdapterState) => void) => () => void;\n /** Replace text in `[start, end)` with `replacement`. The adapter is\n * responsible for moving the caret to the end of the inserted text. */\n replaceRange: (start: number, end: number, replacement: string) => void;\n /** Screen-space rect to anchor the picker against. Usually the surface's\n * bounding rect; for editors that can compute caret-precise coordinates,\n * return a small rect there instead. */\n getAnchorRect: () => DOMRect | null;\n /** Subscribe to keydown events on the surface. The handler may return\n * `true` to consume the event (the adapter then calls\n * `preventDefault` / `stopPropagation`). Returns an unsubscribe. */\n onKey: (handler: (e: KeyboardEvent) => boolean) => () => void;\n};\n\n/**\n * Per-trigger configuration. `T` is the item shape — typically a\n * `{ id, name, ... }` object, but any shape works as long as `keyOf` /\n * `insert` know how to handle it.\n */\nexport type InputTagTrigger<T> = {\n /** The pool the picker filters against. */\n items: T[];\n /** Text inserted in place of `<triggerChar><query>`. */\n insert: (item: T, query: string) => string;\n /** Custom filter. Default: case-insensitive prefix match against\n * `String(keyOf(item))`. Pass `() => true` to disable filtering and\n * rely on `items` being pre-filtered (e.g. from an async source). */\n filter?: (item: T, query: string) => boolean;\n /** How to render each row. Default renders the result of `keyOf(item)`. */\n render?: (item: T, active: boolean) => ReactNode;\n /** How to derive a stable key + default label for each item. Default\n * reads `item.name` then `item.id` then `String(item)`. */\n keyOf?: (item: T) => string;\n /** Optional header label shown above the list. */\n label?: string;\n};\n\nexport type InputTagTriggers = Record<string, InputTagTrigger<any>>;\n\nexport interface InputTagProps {\n adapter: InputTagAdapter;\n triggers: InputTagTriggers;\n /** Max rows shown. Default 8. */\n maxItems?: number;\n /** Where the picker anchors relative to the surface. Default `\"bottom-left\"`. */\n placement?: \"bottom-left\" | \"bottom-right\" | \"top-left\" | \"top-right\";\n /** Custom class for the popover container. */\n className?: string;\n /** Inline style for the popover container. */\n style?: CSSProperties;\n /** Fires whenever an item is picked. */\n onPick?: (info: { triggerChar: string; query: string; item: unknown }) => void;\n};\n\ntype ActiveTrigger = {\n char: string;\n start: number;\n end: number;\n query: string;\n};\n\nfunction defaultKeyOf(item: unknown): string {\n if (item && typeof item === \"object\") {\n const r = item as Record<string, unknown>;\n if (typeof r.name === \"string\") return r.name;\n if (typeof r.id === \"string\") return r.id;\n }\n return String(item);\n}\n\nfunction defaultFilter(item: unknown, query: string): boolean {\n if (!query) return true;\n return defaultKeyOf(item).toLowerCase().includes(query.toLowerCase());\n}\n\n/**\n * Walk back from `caret` to detect an active trigger. A trigger is active\n * when one of the configured characters appears between `caret` and the\n * nearest preceding whitespace (or start-of-text), with no other\n * non-trigger-non-whitespace breaks. The \"query\" is everything after\n * the trigger up to the caret.\n */\nfunction detectTrigger(\n text: string,\n caret: number,\n triggerChars: Set<string>,\n): ActiveTrigger | null {\n for (let i = caret - 1; i >= 0; i--) {\n const ch = text[i];\n if (ch === undefined) break;\n if (triggerChars.has(ch)) {\n // Must be at a word boundary: start of text OR preceded by whitespace.\n if (i === 0 || /\\s/.test(text[i - 1])) {\n return {\n char: ch,\n start: i,\n end: caret,\n query: text.slice(i + 1, caret),\n };\n }\n return null;\n }\n if (/\\s/.test(ch)) return null;\n }\n return null;\n}\n\nexport function InputTag({\n adapter,\n triggers,\n maxItems = 8,\n placement = \"bottom-left\",\n className,\n style,\n onPick,\n}: InputTagProps) {\n const triggerChars = useMemo(() => new Set(Object.keys(triggers)), [triggers]);\n const [active, setActive] = useState<ActiveTrigger | null>(null);\n const [cursor, setCursor] = useState(0);\n const [anchorRect, setAnchorRect] = useState<DOMRect | null>(null);\n\n // Latest state in refs so key handlers see fresh data without re-registering.\n const stateRef = useRef<InputTagAdapterState>({ text: \"\", caretIndex: 0 });\n const activeRef = useRef<ActiveTrigger | null>(null);\n const cursorRef = useRef(0);\n activeRef.current = active;\n cursorRef.current = cursor;\n\n // Filtered items for the active trigger.\n const items: unknown[] = useMemo(() => {\n if (!active) return [];\n const cfg = triggers[active.char];\n if (!cfg) return [];\n const filter = cfg.filter ?? defaultFilter;\n const out: unknown[] = [];\n for (const item of cfg.items) {\n if (filter(item, active.query)) out.push(item);\n if (out.length >= maxItems) break;\n }\n return out;\n }, [active, triggers, maxItems]);\n\n // Subscribe to text/caret changes.\n useEffect(() => {\n return adapter.subscribe((s) => {\n stateRef.current = s;\n const next = detectTrigger(s.text, s.caretIndex, triggerChars);\n setActive((prev) => {\n // Reset cursor when the trigger char or position changes.\n if (!prev || !next || prev.char !== next.char || prev.start !== next.start) {\n setCursor(0);\n }\n return next;\n });\n if (next) setAnchorRect(adapter.getAnchorRect());\n });\n }, [adapter, triggerChars]);\n\n // Refresh anchor rect on scroll/resize while picker is open.\n useLayoutEffect(() => {\n if (!active) return;\n const update = () => setAnchorRect(adapter.getAnchorRect());\n update();\n window.addEventListener(\"scroll\", update, true);\n window.addEventListener(\"resize\", update);\n return () => {\n window.removeEventListener(\"scroll\", update, true);\n window.removeEventListener(\"resize\", update);\n };\n }, [active, adapter]);\n\n // Clamp cursor when the visible items shrink.\n useEffect(() => {\n if (cursor >= items.length) setCursor(Math.max(0, items.length - 1));\n }, [items.length, cursor]);\n\n const pickItem = useCallback(\n (item: unknown) => {\n const cur = activeRef.current;\n if (!cur) return;\n const cfg = triggers[cur.char];\n if (!cfg) return;\n const replacement = cfg.insert(item, cur.query);\n adapter.replaceRange(cur.start, cur.end, replacement);\n onPick?.({ triggerChar: cur.char, query: cur.query, item });\n setActive(null);\n },\n [adapter, triggers, onPick],\n );\n\n // Key handling.\n useEffect(() => {\n return adapter.onKey((e) => {\n const cur = activeRef.current;\n if (!cur) return false;\n const visible = items;\n switch (e.key) {\n case \"ArrowDown\":\n if (visible.length === 0) return false;\n setCursor((c) => (c + 1) % visible.length);\n return true;\n case \"ArrowUp\":\n if (visible.length === 0) return false;\n setCursor((c) => (c - 1 + visible.length) % visible.length);\n return true;\n case \"Enter\":\n case \"Tab\": {\n if (visible.length === 0) return false;\n const idx = Math.min(cursorRef.current, visible.length - 1);\n pickItem(visible[idx]);\n return true;\n }\n case \"Escape\":\n setActive(null);\n return true;\n default:\n return false;\n }\n });\n }, [adapter, items, pickItem]);\n\n if (!active || !anchorRect || items.length === 0) return null;\n\n const cfg = triggers[active.char];\n if (!cfg) return null;\n\n const popStyle = computePopoverStyle(anchorRect, placement);\n\n return (\n <div\n role=\"listbox\"\n aria-label={cfg.label ?? `Pick a ${active.char === \"/\" ? \"command\" : \"mention\"}`}\n className={[\n \"fixed z-50 w-72 overflow-hidden rounded-md border border-zinc-200 bg-white shadow-lg dark:border-zinc-700 dark:bg-zinc-900\",\n className ?? \"\",\n ]\n .filter(Boolean)\n .join(\" \")}\n style={{ ...popStyle, ...style }}\n >\n {(cfg.label || active.query) && (\n <div className=\"flex items-center justify-between border-b border-zinc-100 bg-zinc-50 px-2 py-1 text-[10px] font-semibold uppercase tracking-wider text-zinc-500 dark:border-zinc-800 dark:bg-zinc-950\">\n <span>{cfg.label ?? labelForChar(active.char)}</span>\n {active.query && (\n <span className=\"font-mono text-[10px] normal-case tracking-normal text-zinc-400\">\n {active.char}\n {active.query}\n </span>\n )}\n </div>\n )}\n <ul className=\"max-h-60 overflow-y-auto\">\n {items.map((item, i) => {\n const renderer = cfg.render ?? ((it: unknown) => <span>{defaultKeyOf(it)}</span>);\n const active2 = i === cursor;\n const key = (cfg.keyOf ?? defaultKeyOf)(item);\n return (\n <li\n key={key}\n role=\"option\"\n aria-selected={active2}\n onMouseDown={(e) => {\n e.preventDefault();\n pickItem(item);\n }}\n onMouseEnter={() => setCursor(i)}\n className={[\n \"cursor-pointer px-2 py-1.5 text-[12px]\",\n active2\n ? \"bg-violet-100 dark:bg-violet-900/30\"\n : \"hover:bg-zinc-50 dark:hover:bg-zinc-800\",\n ].join(\" \")}\n >\n {renderer(item, active2)}\n </li>\n );\n })}\n </ul>\n </div>\n );\n}\n\nfunction labelForChar(ch: string): string {\n if (ch === \"/\") return \"Commands\";\n if (ch === \"@\") return \"Mentions\";\n if (ch === \"#\") return \"Tags\";\n if (ch === \":\") return \"Emoji\";\n return `Trigger ${ch}`;\n}\n\nfunction computePopoverStyle(\n anchor: DOMRect,\n placement: NonNullable<InputTagProps[\"placement\"]>,\n): CSSProperties {\n const offset = 4;\n switch (placement) {\n case \"bottom-right\":\n return { top: anchor.bottom + offset, right: window.innerWidth - anchor.right };\n case \"top-left\":\n return { bottom: window.innerHeight - anchor.top + offset, left: anchor.left };\n case \"top-right\":\n return { bottom: window.innerHeight - anchor.top + offset, right: window.innerWidth - anchor.right };\n case \"bottom-left\":\n default:\n return { top: anchor.bottom + offset, left: anchor.left };\n }\n}\n","import type { RefObject } from \"react\";\nimport type { InputTagAdapter } from \"./InputTag\";\n\n/**\n * Built-in DOM adapters. Each one wraps a familiar input element and\n * exposes the {@link InputTagAdapter} contract so `<InputTag>` can\n * attach to it. For non-DOM surfaces (code editor, sheet cell editor,\n * whiteboard sticky note), write your own — the contract is small.\n */\n\n/**\n * Get React's monkey-patched-aside native value setter on a DOM\n * element. Required when programmatically updating `value` on a\n * controlled input: React's intercepted setter would otherwise swallow\n * the change and the consumer's `onChange` would never fire.\n */\nfunction nativeValueSetter(el: HTMLInputElement | HTMLTextAreaElement): ((v: string) => void) | null {\n const proto = el instanceof HTMLTextAreaElement ? HTMLTextAreaElement.prototype : HTMLInputElement.prototype;\n const desc = Object.getOwnPropertyDescriptor(proto, \"value\");\n if (!desc?.set) return null;\n return desc.set.bind(el);\n}\n\nfunction replaceInValueElement(\n el: HTMLInputElement | HTMLTextAreaElement,\n start: number,\n end: number,\n replacement: string,\n): void {\n const current = el.value;\n const next = current.slice(0, start) + replacement + current.slice(end);\n const setter = nativeValueSetter(el);\n if (setter) {\n setter(next);\n } else {\n el.value = next;\n }\n // Dispatch a native `input` event so any controlled-component\n // onChange handler upstream gets the new value.\n el.dispatchEvent(new Event(\"input\", { bubbles: true }));\n // Place caret at the end of the inserted text.\n const caret = start + replacement.length;\n el.setSelectionRange(caret, caret);\n el.focus();\n}\n\nfunction valueElementAdapter(\n ref: RefObject<HTMLTextAreaElement | HTMLInputElement | null>,\n): InputTagAdapter {\n return {\n subscribe(fn) {\n const handler = () => {\n const el = ref.current;\n if (!el) return;\n fn({\n text: el.value,\n caretIndex: el.selectionStart ?? el.value.length,\n });\n };\n const el = ref.current;\n if (el) {\n el.addEventListener(\"input\", handler);\n el.addEventListener(\"click\", handler);\n el.addEventListener(\"keyup\", handler);\n el.addEventListener(\"focus\", handler);\n }\n return () => {\n const el2 = ref.current;\n if (el2) {\n el2.removeEventListener(\"input\", handler);\n el2.removeEventListener(\"click\", handler);\n el2.removeEventListener(\"keyup\", handler);\n el2.removeEventListener(\"focus\", handler);\n }\n };\n },\n replaceRange(start, end, replacement) {\n const el = ref.current;\n if (!el) return;\n replaceInValueElement(el, start, end, replacement);\n },\n getAnchorRect() {\n const el = ref.current;\n return el ? el.getBoundingClientRect() : null;\n },\n onKey(handler) {\n const fn = (e: KeyboardEvent) => {\n if (handler(e)) {\n e.preventDefault();\n e.stopPropagation();\n }\n };\n const el = ref.current;\n if (el) el.addEventListener(\"keydown\", fn as EventListener);\n return () => {\n const el2 = ref.current;\n if (el2) el2.removeEventListener(\"keydown\", fn as EventListener);\n };\n },\n };\n}\n\n/**\n * Adapter for a DOM `<textarea>`. Works whether the consumer manages\n * `value` via React state (controlled) or lets the DOM hold it\n * (uncontrolled) — `replaceRange` uses React's native value setter and\n * dispatches a native `input` event so the upstream onChange fires.\n */\nexport function textareaAdapter(\n ref: RefObject<HTMLTextAreaElement | null>,\n): InputTagAdapter {\n return valueElementAdapter(ref);\n}\n\n/** Adapter for a DOM `<input type=\"text|search|...\">`. */\nexport function inputAdapter(\n ref: RefObject<HTMLInputElement | null>,\n): InputTagAdapter {\n return valueElementAdapter(ref);\n}\n\n/**\n * Adapter for any `contenteditable` element. Operates on the element's\n * `textContent`; rich-text editors with their own internal model should\n * write a custom adapter that talks to that model instead.\n */\nexport function contentEditableAdapter(\n ref: RefObject<HTMLElement | null>,\n): InputTagAdapter {\n function caretIndex(el: HTMLElement): number {\n const sel = window.getSelection();\n if (!sel || sel.rangeCount === 0) return 0;\n const range = sel.getRangeAt(0).cloneRange();\n range.selectNodeContents(el);\n range.setEnd(sel.focusNode!, sel.focusOffset);\n return range.toString().length;\n }\n function setCaret(el: HTMLElement, index: number): void {\n const sel = window.getSelection();\n if (!sel) return;\n const walker = document.createTreeWalker(el, NodeFilter.SHOW_TEXT);\n let remaining = index;\n let node: Node | null = walker.nextNode();\n while (node) {\n const len = (node.textContent ?? \"\").length;\n if (remaining <= len) {\n const range = document.createRange();\n range.setStart(node, remaining);\n range.collapse(true);\n sel.removeAllRanges();\n sel.addRange(range);\n return;\n }\n remaining -= len;\n node = walker.nextNode();\n }\n // Past end: place at end.\n const range = document.createRange();\n range.selectNodeContents(el);\n range.collapse(false);\n sel.removeAllRanges();\n sel.addRange(range);\n }\n return {\n subscribe(fn) {\n const handler = () => {\n const el = ref.current;\n if (!el) return;\n fn({ text: el.textContent ?? \"\", caretIndex: caretIndex(el) });\n };\n const el = ref.current;\n if (el) {\n el.addEventListener(\"input\", handler);\n el.addEventListener(\"click\", handler);\n el.addEventListener(\"keyup\", handler);\n el.addEventListener(\"focus\", handler);\n }\n return () => {\n const el2 = ref.current;\n if (el2) {\n el2.removeEventListener(\"input\", handler);\n el2.removeEventListener(\"click\", handler);\n el2.removeEventListener(\"keyup\", handler);\n el2.removeEventListener(\"focus\", handler);\n }\n };\n },\n replaceRange(start, end, replacement) {\n const el = ref.current;\n if (!el) return;\n const current = el.textContent ?? \"\";\n const next = current.slice(0, start) + replacement + current.slice(end);\n el.textContent = next;\n setCaret(el, start + replacement.length);\n el.dispatchEvent(new Event(\"input\", { bubbles: true }));\n el.focus();\n },\n getAnchorRect() {\n const el = ref.current;\n return el ? el.getBoundingClientRect() : null;\n },\n onKey(handler) {\n const fn = (e: KeyboardEvent) => {\n if (handler(e)) {\n e.preventDefault();\n e.stopPropagation();\n }\n };\n const el = ref.current;\n if (el) el.addEventListener(\"keydown\", fn as EventListener);\n return () => {\n const el2 = ref.current;\n if (el2) el2.removeEventListener(\"keydown\", fn as EventListener);\n };\n },\n };\n}\n\n/**\n * Adapter for hosts that fully control the text state themselves. Use\n * this when you can't (or don't want to) let the DOM be the source of\n * truth — for code editors with internal state, sheet cell editors, or\n * any host that already has `value` + `onChange` and wants to reach the\n * picker programmatically.\n *\n * The host calls `notify({ text, caretIndex })` after every text or\n * caret change. `<InputTag>` calls `onReplaceRange` to write back.\n */\nexport type ControlledAdapterHandle = InputTagAdapter & {\n /** Push the latest text + caret to the picker. */\n notify: (state: { text: string; caretIndex: number }) => void;\n};\n\nexport function controlledAdapter(opts: {\n /** Element used as anchor + key target. Usually the visible input. */\n anchorRef: RefObject<HTMLElement | null>;\n /** Called when the picker writes back an insertion. */\n onReplaceRange: (start: number, end: number, replacement: string) => void;\n}): ControlledAdapterHandle {\n let listener: ((s: { text: string; caretIndex: number }) => void) | null = null;\n let keyHandler: ((e: KeyboardEvent) => boolean) | null = null;\n\n const installKey = () => {\n const el = opts.anchorRef.current;\n if (!el || !keyHandler) return () => {};\n const fn = (e: KeyboardEvent) => {\n if (keyHandler && keyHandler(e)) {\n e.preventDefault();\n e.stopPropagation();\n }\n };\n el.addEventListener(\"keydown\", fn);\n return () => el.removeEventListener(\"keydown\", fn);\n };\n\n return {\n notify(state) {\n listener?.(state);\n },\n subscribe(fn) {\n listener = fn;\n return () => {\n if (listener === fn) listener = null;\n };\n },\n replaceRange(start, end, replacement) {\n opts.onReplaceRange(start, end, replacement);\n },\n getAnchorRect() {\n const el = opts.anchorRef.current;\n return el ? el.getBoundingClientRect() : null;\n },\n onKey(handler) {\n keyHandler = handler;\n const uninstall = installKey();\n return () => {\n if (keyHandler === handler) keyHandler = null;\n uninstall();\n };\n },\n };\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-VXHFR5MV.js"}
|