@particle-academy/react-fancy 5.51.2 → 5.53.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +106 -0
- package/README.md +69 -0
- package/dist/accordion-panel.cjs +7 -7
- package/dist/accordion-panel.js +1 -1
- package/dist/accordion.cjs +3 -3
- package/dist/accordion.js +1 -1
- package/dist/activity-light.cjs +2 -2
- package/dist/activity-light.js +1 -1
- package/dist/audio-viewer.cjs +2 -2
- package/dist/audio-viewer.js +1 -1
- package/dist/autocomplete.cjs +2 -2
- package/dist/autocomplete.js +1 -1
- package/dist/avatar.cjs +2 -2
- package/dist/avatar.js +1 -1
- package/dist/brand.cjs +3 -3
- package/dist/brand.js +1 -1
- package/dist/breadcrumbs.cjs +2 -2
- package/dist/breadcrumbs.js +1 -1
- package/dist/button.cjs +3 -3
- package/dist/button.js +1 -1
- package/dist/calendar.cjs +2 -2
- package/dist/calendar.js +1 -1
- package/dist/card.cjs +9 -9
- package/dist/card.js +3 -3
- package/dist/carousel.cjs +7 -7
- package/dist/carousel.js +1 -1
- package/dist/chart.cjs +2 -2
- package/dist/chart.js +1 -1
- package/dist/chat-drawer.cjs +2 -2
- package/dist/chat-drawer.js +1 -1
- package/dist/checkbox-group.cjs +5 -5
- package/dist/checkbox-group.js +4 -4
- package/dist/checkbox.cjs +3 -3
- package/dist/checkbox.js +2 -2
- package/dist/{chunk-KODD54GT.js → chunk-26JZ47BJ.js} +5 -5
- package/dist/{chunk-KODD54GT.js.map → chunk-26JZ47BJ.js.map} +1 -1
- package/dist/{chunk-FWCREAIT.js → chunk-2BXMMVQS.js} +2 -2
- package/dist/{chunk-FWCREAIT.js.map → chunk-2BXMMVQS.js.map} +1 -1
- package/dist/{chunk-VKXNCYLE.cjs → chunk-2GFM5WD4.cjs} +5 -5
- package/dist/chunk-2GFM5WD4.cjs.map +1 -0
- package/dist/{chunk-SAPOYAGN.cjs → chunk-2KFHSFFY.cjs} +10 -10
- package/dist/{chunk-SAPOYAGN.cjs.map → chunk-2KFHSFFY.cjs.map} +1 -1
- package/dist/{chunk-MGE5KOVA.js → chunk-2MUGEPRD.js} +10 -10
- package/dist/{chunk-MGE5KOVA.js.map → chunk-2MUGEPRD.js.map} +1 -1
- package/dist/{chunk-UIJR26YW.js → chunk-2OMA3O63.js} +4 -4
- package/dist/{chunk-UIJR26YW.js.map → chunk-2OMA3O63.js.map} +1 -1
- package/dist/{chunk-OC75GWX5.js → chunk-2UTN3EFK.js} +6 -6
- package/dist/{chunk-OC75GWX5.js.map → chunk-2UTN3EFK.js.map} +1 -1
- package/dist/{chunk-CF2U25LM.js → chunk-2XO6EYZ7.js} +9 -9
- package/dist/chunk-2XO6EYZ7.js.map +1 -0
- package/dist/{chunk-QSFTWIUH.cjs → chunk-36HG5JK6.cjs} +6 -6
- package/dist/chunk-36HG5JK6.cjs.map +1 -0
- package/dist/{chunk-TDDWWAM5.js → chunk-3AYRLFNO.js} +6 -6
- package/dist/chunk-3AYRLFNO.js.map +1 -0
- package/dist/{chunk-7JDVCQXD.js → chunk-3EWO5EBI.js} +14 -14
- package/dist/chunk-3EWO5EBI.js.map +1 -0
- package/dist/{chunk-PCTZNK2Z.js → chunk-3NIXNJ3I.js} +10 -10
- package/dist/chunk-3NIXNJ3I.js.map +1 -0
- package/dist/{chunk-Z3NSPDTW.cjs → chunk-3YA6FDVN.cjs} +8 -8
- package/dist/chunk-3YA6FDVN.cjs.map +1 -0
- package/dist/{chunk-SYVOGYJG.cjs → chunk-43ZRUYJC.cjs} +11 -11
- package/dist/{chunk-SYVOGYJG.cjs.map → chunk-43ZRUYJC.cjs.map} +1 -1
- package/dist/{chunk-NDUEPDNS.js → chunk-44VYWOCG.js} +4 -4
- package/dist/{chunk-NDUEPDNS.js.map → chunk-44VYWOCG.js.map} +1 -1
- package/dist/{chunk-LYHQ4VBR.js → chunk-45FDQ3R5.js} +3 -3
- package/dist/{chunk-LYHQ4VBR.js.map → chunk-45FDQ3R5.js.map} +1 -1
- package/dist/{chunk-LBU3T2LF.js → chunk-4FH2JHUY.js} +7 -7
- package/dist/{chunk-LBU3T2LF.js.map → chunk-4FH2JHUY.js.map} +1 -1
- package/dist/{chunk-5F6V5HHT.cjs → chunk-4JT2QANA.cjs} +11 -11
- package/dist/chunk-4JT2QANA.cjs.map +1 -0
- package/dist/{chunk-N6OZZAOT.js → chunk-4TVAHZ35.js} +9 -9
- package/dist/chunk-4TVAHZ35.js.map +1 -0
- package/dist/{chunk-XLFGWNW4.cjs → chunk-4XMBXG4K.cjs} +4 -4
- package/dist/{chunk-XLFGWNW4.cjs.map → chunk-4XMBXG4K.cjs.map} +1 -1
- package/dist/{chunk-N4VHOTMK.cjs → chunk-546K5LRX.cjs} +3 -3
- package/dist/{chunk-N4VHOTMK.cjs.map → chunk-546K5LRX.cjs.map} +1 -1
- package/dist/{chunk-P7Q2YIIS.js → chunk-5DG4CAWS.js} +8 -8
- package/dist/chunk-5DG4CAWS.js.map +1 -0
- package/dist/{chunk-GU5BYZTR.cjs → chunk-5H6IUCOD.cjs} +8 -8
- package/dist/chunk-5H6IUCOD.cjs.map +1 -0
- package/dist/{chunk-ZY4CVNNZ.js → chunk-5JA4ENMF.js} +6 -6
- package/dist/chunk-5JA4ENMF.js.map +1 -0
- package/dist/{chunk-R3UG6PVX.cjs → chunk-5JK2VDWY.cjs} +7 -7
- package/dist/{chunk-R3UG6PVX.cjs.map → chunk-5JK2VDWY.cjs.map} +1 -1
- package/dist/{chunk-5MU6X3KO.js → chunk-5WQ6FPSP.js} +4 -4
- package/dist/{chunk-5MU6X3KO.js.map → chunk-5WQ6FPSP.js.map} +1 -1
- package/dist/{chunk-56U4LBNL.cjs → chunk-5ZNOLPIJ.cjs} +9 -9
- package/dist/chunk-5ZNOLPIJ.cjs.map +1 -0
- package/dist/{chunk-TNYWQ6EQ.js → chunk-6HJF55U7.js} +8 -8
- package/dist/chunk-6HJF55U7.js.map +1 -0
- package/dist/{chunk-F7YCIII4.cjs → chunk-6MXFZ3B5.cjs} +3 -3
- package/dist/{chunk-F7YCIII4.cjs.map → chunk-6MXFZ3B5.cjs.map} +1 -1
- package/dist/{chunk-7Y2AENZD.cjs → chunk-7DDUMW4R.cjs} +4 -4
- package/dist/{chunk-7Y2AENZD.cjs.map → chunk-7DDUMW4R.cjs.map} +1 -1
- package/dist/{chunk-2KZINS6D.cjs → chunk-7QENPLOP.cjs} +9 -9
- package/dist/{chunk-2KZINS6D.cjs.map → chunk-7QENPLOP.cjs.map} +1 -1
- package/dist/{chunk-HPNIEYSJ.cjs → chunk-A2JUTNE6.cjs} +2 -2
- package/dist/{chunk-HPNIEYSJ.cjs.map → chunk-A2JUTNE6.cjs.map} +1 -1
- package/dist/{chunk-25UPDBI6.cjs → chunk-A5DN2XNM.cjs} +9 -9
- package/dist/chunk-A5DN2XNM.cjs.map +1 -0
- package/dist/{chunk-RA2VOQ46.js → chunk-A5RTALZJ.js} +6 -6
- package/dist/chunk-A5RTALZJ.js.map +1 -0
- package/dist/{chunk-WN45ZE37.cjs → chunk-AVEFCM6T.cjs} +3 -3
- package/dist/{chunk-WN45ZE37.cjs.map → chunk-AVEFCM6T.cjs.map} +1 -1
- package/dist/{chunk-TGNQ5Y6F.cjs → chunk-AYBKPAI2.cjs} +6 -6
- package/dist/{chunk-TGNQ5Y6F.cjs.map → chunk-AYBKPAI2.cjs.map} +1 -1
- package/dist/{chunk-OTCLBINT.js → chunk-AZQXPI5S.js} +7 -7
- package/dist/{chunk-OTCLBINT.js.map → chunk-AZQXPI5S.js.map} +1 -1
- package/dist/{chunk-RWOH2ADL.cjs → chunk-B4YV2V7G.cjs} +4 -4
- package/dist/{chunk-RWOH2ADL.cjs.map → chunk-B4YV2V7G.cjs.map} +1 -1
- package/dist/{chunk-AR3JOPGT.cjs → chunk-BDUL42VO.cjs} +31 -31
- package/dist/{chunk-AR3JOPGT.cjs.map → chunk-BDUL42VO.cjs.map} +1 -1
- package/dist/{chunk-5CXJ5Z4C.cjs → chunk-BJL3VDRK.cjs} +4 -4
- package/dist/{chunk-5CXJ5Z4C.cjs.map → chunk-BJL3VDRK.cjs.map} +1 -1
- package/dist/{chunk-WKAEAGMT.cjs → chunk-BK6XQQYG.cjs} +4 -4
- package/dist/{chunk-WKAEAGMT.cjs.map → chunk-BK6XQQYG.cjs.map} +1 -1
- package/dist/{chunk-UKUNWGL5.js → chunk-BLOX7MRO.js} +6 -6
- package/dist/{chunk-UKUNWGL5.js.map → chunk-BLOX7MRO.js.map} +1 -1
- package/dist/{chunk-Q7O5TLVU.js → chunk-BX7EDTL4.js} +3 -3
- package/dist/{chunk-Q7O5TLVU.js.map → chunk-BX7EDTL4.js.map} +1 -1
- package/dist/{chunk-FWA4PCW7.cjs → chunk-CAMQ5B3V.cjs} +5 -5
- package/dist/{chunk-FWA4PCW7.cjs.map → chunk-CAMQ5B3V.cjs.map} +1 -1
- package/dist/{chunk-I6L7OP7G.cjs → chunk-CG3RCQVL.cjs} +5 -5
- package/dist/chunk-CG3RCQVL.cjs.map +1 -0
- package/dist/{chunk-3Q4NSAEA.cjs → chunk-CQ54H7DZ.cjs} +8 -8
- package/dist/{chunk-3Q4NSAEA.cjs.map → chunk-CQ54H7DZ.cjs.map} +1 -1
- package/dist/{chunk-YOTCZUNW.js → chunk-D4QOV56U.js} +7 -7
- package/dist/{chunk-YOTCZUNW.js.map → chunk-D4QOV56U.js.map} +1 -1
- package/dist/{chunk-BZDXX6E3.cjs → chunk-DJB3N4G3.cjs} +11 -11
- package/dist/{chunk-BZDXX6E3.cjs.map → chunk-DJB3N4G3.cjs.map} +1 -1
- package/dist/{chunk-BMTTSBHF.js → chunk-DJYG7DXS.js} +4 -4
- package/dist/{chunk-BMTTSBHF.js.map → chunk-DJYG7DXS.js.map} +1 -1
- package/dist/{chunk-WBVWV2V7.cjs → chunk-DN244T6G.cjs} +6 -6
- package/dist/chunk-DN244T6G.cjs.map +1 -0
- package/dist/{chunk-NCXH5O4I.cjs → chunk-E4TRDGSU.cjs} +10 -10
- package/dist/{chunk-NCXH5O4I.cjs.map → chunk-E4TRDGSU.cjs.map} +1 -1
- package/dist/{chunk-FVG3YXXM.cjs → chunk-EEMNTO7L.cjs} +8 -8
- package/dist/{chunk-FVG3YXXM.cjs.map → chunk-EEMNTO7L.cjs.map} +1 -1
- package/dist/{chunk-GAB2QXHH.js → chunk-EJ6P7K4G.js} +8 -8
- package/dist/{chunk-GAB2QXHH.js.map → chunk-EJ6P7K4G.js.map} +1 -1
- package/dist/{chunk-Y4UPKJN5.js → chunk-EQ7G5F6K.js} +4 -4
- package/dist/{chunk-Y4UPKJN5.js.map → chunk-EQ7G5F6K.js.map} +1 -1
- package/dist/{chunk-U7PFHQBN.cjs → chunk-ETNQ4AEQ.cjs} +6 -6
- package/dist/{chunk-U7PFHQBN.cjs.map → chunk-ETNQ4AEQ.cjs.map} +1 -1
- package/dist/{chunk-23PAOCQQ.cjs → chunk-EXQ33MJR.cjs} +5 -5
- package/dist/{chunk-23PAOCQQ.cjs.map → chunk-EXQ33MJR.cjs.map} +1 -1
- package/dist/{chunk-HKRB2Z6R.cjs → chunk-FGI2EC32.cjs} +8 -8
- package/dist/chunk-FGI2EC32.cjs.map +1 -0
- package/dist/{chunk-AASQ6L6X.cjs → chunk-FNIHCNVD.cjs} +3 -3
- package/dist/{chunk-AASQ6L6X.cjs.map → chunk-FNIHCNVD.cjs.map} +1 -1
- package/dist/{chunk-O6GTY53I.cjs → chunk-FVQO75KY.cjs} +4 -4
- package/dist/{chunk-O6GTY53I.cjs.map → chunk-FVQO75KY.cjs.map} +1 -1
- package/dist/{chunk-FCSR2WVS.js → chunk-FWAVMWMP.js} +4 -4
- package/dist/{chunk-FCSR2WVS.js.map → chunk-FWAVMWMP.js.map} +1 -1
- package/dist/{chunk-FSRPZYZZ.js → chunk-G35XN5WV.js} +4 -4
- package/dist/chunk-G35XN5WV.js.map +1 -0
- package/dist/{chunk-HE3JJXIL.cjs → chunk-G4M3MCJO.cjs} +5 -5
- package/dist/{chunk-HE3JJXIL.cjs.map → chunk-G4M3MCJO.cjs.map} +1 -1
- package/dist/{chunk-T45XK5GN.cjs → chunk-G5DMYAWL.cjs} +19 -19
- package/dist/chunk-G5DMYAWL.cjs.map +1 -0
- package/dist/{chunk-7CN7IHES.js → chunk-GF23UBOT.js} +3 -3
- package/dist/{chunk-7CN7IHES.js.map → chunk-GF23UBOT.js.map} +1 -1
- package/dist/{chunk-BVRPDMB7.cjs → chunk-GKLETY7D.cjs} +4 -4
- package/dist/{chunk-BVRPDMB7.cjs.map → chunk-GKLETY7D.cjs.map} +1 -1
- package/dist/{chunk-KQQA7JBC.js → chunk-GOE36IXL.js} +5 -5
- package/dist/{chunk-KQQA7JBC.js.map → chunk-GOE36IXL.js.map} +1 -1
- package/dist/{chunk-XZUGREDI.js → chunk-GVMWJ4NI.js} +6 -6
- package/dist/{chunk-XZUGREDI.js.map → chunk-GVMWJ4NI.js.map} +1 -1
- package/dist/{chunk-FPZYPD3N.cjs → chunk-H7ELUIF6.cjs} +12 -12
- package/dist/{chunk-FPZYPD3N.cjs.map → chunk-H7ELUIF6.cjs.map} +1 -1
- package/dist/{chunk-VB3QJ6QE.js → chunk-HRH5BIYG.js} +4 -4
- package/dist/{chunk-VB3QJ6QE.js.map → chunk-HRH5BIYG.js.map} +1 -1
- package/dist/{chunk-NTMHP7FS.js → chunk-HVND2IIB.js} +6 -6
- package/dist/{chunk-NTMHP7FS.js.map → chunk-HVND2IIB.js.map} +1 -1
- package/dist/{chunk-ASS6EWNI.js → chunk-ICMLLZKZ.js} +8 -8
- package/dist/{chunk-ASS6EWNI.js.map → chunk-ICMLLZKZ.js.map} +1 -1
- package/dist/{chunk-FNEPZ33A.js → chunk-IU5WQUUC.js} +8 -8
- package/dist/{chunk-FNEPZ33A.js.map → chunk-IU5WQUUC.js.map} +1 -1
- package/dist/{chunk-7ZDJPHLJ.cjs → chunk-JRRYYW3Y.cjs} +24 -24
- package/dist/{chunk-7ZDJPHLJ.cjs.map → chunk-JRRYYW3Y.cjs.map} +1 -1
- package/dist/{chunk-ZLWCZV7R.js → chunk-JSD6IEBW.js} +7 -7
- package/dist/chunk-JSD6IEBW.js.map +1 -0
- package/dist/{chunk-QAFAPHAF.cjs → chunk-JUQZMNPR.cjs} +4 -4
- package/dist/chunk-JUQZMNPR.cjs.map +1 -0
- package/dist/{chunk-PFEFKLUV.cjs → chunk-K5MQZTDW.cjs} +6 -6
- package/dist/{chunk-PFEFKLUV.cjs.map → chunk-K5MQZTDW.cjs.map} +1 -1
- package/dist/{chunk-32AJIHBZ.js → chunk-K6Q542VL.js} +5 -5
- package/dist/chunk-K6Q542VL.js.map +1 -0
- package/dist/{chunk-OFHO5SXA.js → chunk-KC3PYCBO.js} +4 -4
- package/dist/{chunk-OFHO5SXA.js.map → chunk-KC3PYCBO.js.map} +1 -1
- package/dist/{chunk-QW66UHWO.cjs → chunk-KE4XURZD.cjs} +4 -4
- package/dist/{chunk-QW66UHWO.cjs.map → chunk-KE4XURZD.cjs.map} +1 -1
- package/dist/{chunk-JFOORUUD.cjs → chunk-KNKOSMOQ.cjs} +6 -6
- package/dist/chunk-KNKOSMOQ.cjs.map +1 -0
- package/dist/{chunk-LLA33GKC.cjs → chunk-KSU6RYWU.cjs} +4 -4
- package/dist/chunk-KSU6RYWU.cjs.map +1 -0
- package/dist/{chunk-PWEZCMIY.js → chunk-KXYMMNNV.js} +7 -7
- package/dist/chunk-KXYMMNNV.js.map +1 -0
- package/dist/{chunk-SUCBR6L5.cjs → chunk-L4JIBKFW.cjs} +3 -3
- package/dist/{chunk-SUCBR6L5.cjs.map → chunk-L4JIBKFW.cjs.map} +1 -1
- package/dist/{chunk-VGBZWDMM.cjs → chunk-LIVC3WUU.cjs} +4 -4
- package/dist/{chunk-VGBZWDMM.cjs.map → chunk-LIVC3WUU.cjs.map} +1 -1
- package/dist/{chunk-YF2EHBTV.js → chunk-LKN7FYW6.js} +3 -3
- package/dist/{chunk-YF2EHBTV.js.map → chunk-LKN7FYW6.js.map} +1 -1
- package/dist/{chunk-RPVCMW64.cjs → chunk-LX23ZJDM.cjs} +6 -6
- package/dist/chunk-LX23ZJDM.cjs.map +1 -0
- package/dist/{chunk-RU6ZTA4M.cjs → chunk-M5SEYDSS.cjs} +6 -6
- package/dist/{chunk-RU6ZTA4M.cjs.map → chunk-M5SEYDSS.cjs.map} +1 -1
- package/dist/{chunk-FYKOLKQZ.js → chunk-M6XBF2ZS.js} +4 -4
- package/dist/chunk-M6XBF2ZS.js.map +1 -0
- package/dist/{chunk-V6VFSX6V.cjs → chunk-MAZEX4EZ.cjs} +13 -13
- package/dist/{chunk-V6VFSX6V.cjs.map → chunk-MAZEX4EZ.cjs.map} +1 -1
- package/dist/{chunk-7EZBMGEE.cjs → chunk-MRZXTL46.cjs} +7 -7
- package/dist/chunk-MRZXTL46.cjs.map +1 -0
- package/dist/{chunk-M5ACSJJ4.js → chunk-MV6BK4WG.js} +13 -14
- package/dist/chunk-MV6BK4WG.js.map +1 -0
- package/dist/{chunk-K6EJLBBQ.js → chunk-N5XMBHX7.js} +3 -3
- package/dist/{chunk-K6EJLBBQ.js.map → chunk-N5XMBHX7.js.map} +1 -1
- package/dist/{chunk-MH4QS7OE.cjs → chunk-N7ABDCQ6.cjs} +16 -16
- package/dist/{chunk-MH4QS7OE.cjs.map → chunk-N7ABDCQ6.cjs.map} +1 -1
- package/dist/{chunk-G73TVXDQ.js → chunk-NVXTHTJI.js} +9 -9
- package/dist/{chunk-G73TVXDQ.js.map → chunk-NVXTHTJI.js.map} +1 -1
- package/dist/{chunk-YLGTDBB2.cjs → chunk-O3F6DYWR.cjs} +3 -3
- package/dist/{chunk-YLGTDBB2.cjs.map → chunk-O3F6DYWR.cjs.map} +1 -1
- package/dist/{chunk-IECPLOSZ.js → chunk-OFNA5HS5.js} +12 -12
- package/dist/{chunk-IECPLOSZ.js.map → chunk-OFNA5HS5.js.map} +1 -1
- package/dist/{chunk-4HRD4S25.js → chunk-OTM7RL2L.js} +5 -5
- package/dist/{chunk-4HRD4S25.js.map → chunk-OTM7RL2L.js.map} +1 -1
- package/dist/{chunk-TJJ63UJV.js → chunk-OTSVOPKP.js} +3 -3
- package/dist/{chunk-TJJ63UJV.js.map → chunk-OTSVOPKP.js.map} +1 -1
- package/dist/{chunk-ZVXOL5H3.js → chunk-OYDJVGFS.js} +3 -3
- package/dist/{chunk-ZVXOL5H3.js.map → chunk-OYDJVGFS.js.map} +1 -1
- package/dist/{chunk-XKDW6B7X.cjs → chunk-P53432AK.cjs} +9 -9
- package/dist/{chunk-XKDW6B7X.cjs.map → chunk-P53432AK.cjs.map} +1 -1
- package/dist/{chunk-WNUU7T62.cjs → chunk-PBZHLHSA.cjs} +3 -3
- package/dist/{chunk-WNUU7T62.cjs.map → chunk-PBZHLHSA.cjs.map} +1 -1
- package/dist/{chunk-S5KUYX3Z.cjs → chunk-PCNJJVTF.cjs} +7 -7
- package/dist/{chunk-S5KUYX3Z.cjs.map → chunk-PCNJJVTF.cjs.map} +1 -1
- package/dist/{chunk-O6E2WC3J.js → chunk-PRP5N7NY.js} +4 -4
- package/dist/chunk-PRP5N7NY.js.map +1 -0
- package/dist/{chunk-MFQ5NBSV.cjs → chunk-QAKIG43N.cjs} +3 -3
- package/dist/{chunk-MFQ5NBSV.cjs.map → chunk-QAKIG43N.cjs.map} +1 -1
- package/dist/{chunk-BBOIFV27.cjs → chunk-QF7CD4JH.cjs} +5 -5
- package/dist/{chunk-BBOIFV27.cjs.map → chunk-QF7CD4JH.cjs.map} +1 -1
- package/dist/{chunk-ZI7JP3TN.js → chunk-QFC736WY.js} +5 -5
- package/dist/{chunk-ZI7JP3TN.js.map → chunk-QFC736WY.js.map} +1 -1
- package/dist/{chunk-ZUQUL53P.cjs → chunk-QHN63FRP.cjs} +10 -10
- package/dist/{chunk-ZUQUL53P.cjs.map → chunk-QHN63FRP.cjs.map} +1 -1
- package/dist/{chunk-CESGP5AF.js → chunk-QPM4CZ4G.js} +3 -3
- package/dist/{chunk-CESGP5AF.js.map → chunk-QPM4CZ4G.js.map} +1 -1
- package/dist/{chunk-LMPPAQKP.cjs → chunk-QUKUX5KU.cjs} +4 -4
- package/dist/{chunk-LMPPAQKP.cjs.map → chunk-QUKUX5KU.cjs.map} +1 -1
- package/dist/{chunk-RUSRAKKA.js → chunk-RANTYGKW.js} +7 -7
- package/dist/{chunk-RUSRAKKA.js.map → chunk-RANTYGKW.js.map} +1 -1
- package/dist/{chunk-Y52NXM73.cjs → chunk-RVBTDXPD.cjs} +5 -5
- package/dist/{chunk-Y52NXM73.cjs.map → chunk-RVBTDXPD.cjs.map} +1 -1
- package/dist/{chunk-RLMU3NHQ.cjs → chunk-S3V2C4DW.cjs} +14 -14
- package/dist/chunk-S3V2C4DW.cjs.map +1 -0
- package/dist/{chunk-6IBBAOQC.cjs → chunk-SONXLQPJ.cjs} +8 -8
- package/dist/chunk-SONXLQPJ.cjs.map +1 -0
- package/dist/{chunk-HIN6PHSE.cjs → chunk-SSCW67KA.cjs} +3 -3
- package/dist/{chunk-HIN6PHSE.cjs.map → chunk-SSCW67KA.cjs.map} +1 -1
- package/dist/{chunk-F2GAZZVS.js → chunk-SVSQXKFL.js} +4 -4
- package/dist/{chunk-F2GAZZVS.js.map → chunk-SVSQXKFL.js.map} +1 -1
- package/dist/{chunk-ATANWEXA.cjs → chunk-SW2MDI2E.cjs} +51 -51
- package/dist/{chunk-ATANWEXA.cjs.map → chunk-SW2MDI2E.cjs.map} +1 -1
- package/dist/{chunk-ZKFFHIEW.js → chunk-SXXDTW7S.js} +4 -4
- package/dist/{chunk-ZKFFHIEW.js.map → chunk-SXXDTW7S.js.map} +1 -1
- package/dist/{chunk-TT3K5D6J.js → chunk-T67FLC55.js} +8 -8
- package/dist/{chunk-TT3K5D6J.js.map → chunk-T67FLC55.js.map} +1 -1
- package/dist/{chunk-FNJDMGJ3.js → chunk-TAYJSIOP.js} +7 -7
- package/dist/{chunk-FNJDMGJ3.js.map → chunk-TAYJSIOP.js.map} +1 -1
- package/dist/{chunk-GCWIZNN2.cjs → chunk-TFKG5FSG.cjs} +8 -8
- package/dist/{chunk-GCWIZNN2.cjs.map → chunk-TFKG5FSG.cjs.map} +1 -1
- package/dist/{chunk-MFBUK4RV.cjs → chunk-TJTC4WNY.cjs} +8 -8
- package/dist/{chunk-MFBUK4RV.cjs.map → chunk-TJTC4WNY.cjs.map} +1 -1
- package/dist/{chunk-BZZDHDMK.cjs → chunk-TLRFXSPA.cjs} +14 -14
- package/dist/{chunk-BZZDHDMK.cjs.map → chunk-TLRFXSPA.cjs.map} +1 -1
- package/dist/{chunk-XDJSFGXW.js → chunk-TMQF2CRN.js} +4 -4
- package/dist/chunk-TMQF2CRN.js.map +1 -0
- package/dist/{chunk-65HKNZFG.cjs → chunk-TTZJ2KXK.cjs} +3 -3
- package/dist/{chunk-65HKNZFG.cjs.map → chunk-TTZJ2KXK.cjs.map} +1 -1
- package/dist/{chunk-P7PKK5BO.js → chunk-UE3QO7R3.js} +4 -4
- package/dist/{chunk-P7PKK5BO.js.map → chunk-UE3QO7R3.js.map} +1 -1
- package/dist/{chunk-QOGKO6JH.cjs → chunk-UET6D7B3.cjs} +6 -6
- package/dist/{chunk-QOGKO6JH.cjs.map → chunk-UET6D7B3.cjs.map} +1 -1
- package/dist/{chunk-MODCP3UV.js → chunk-UIE5FP3A.js} +9 -9
- package/dist/chunk-UIE5FP3A.js.map +1 -0
- package/dist/chunk-USWQAMI3.js +35 -0
- package/dist/{chunk-GFYSELJF.js.map → chunk-USWQAMI3.js.map} +1 -1
- package/dist/{chunk-YD4SXA6K.js → chunk-UVMIJCY3.js} +8 -8
- package/dist/chunk-UVMIJCY3.js.map +1 -0
- package/dist/{chunk-DEFGT75G.js → chunk-UVUBV4VZ.js} +6 -6
- package/dist/{chunk-DEFGT75G.js.map → chunk-UVUBV4VZ.js.map} +1 -1
- package/dist/{chunk-CRR3AMJ4.js → chunk-UZCR7DK5.js} +4 -4
- package/dist/{chunk-CRR3AMJ4.js.map → chunk-UZCR7DK5.js.map} +1 -1
- package/dist/{chunk-WKNVZUWZ.cjs → chunk-UZG6LO4Z.cjs} +3 -3
- package/dist/{chunk-WKNVZUWZ.cjs.map → chunk-UZG6LO4Z.cjs.map} +1 -1
- package/dist/{chunk-DCVR6NPP.js → chunk-V4235IZO.js} +3 -3
- package/dist/{chunk-DCVR6NPP.js.map → chunk-V4235IZO.js.map} +1 -1
- package/dist/{chunk-WIS4QRGK.cjs → chunk-V5JTTLJP.cjs} +6 -6
- package/dist/{chunk-WIS4QRGK.cjs.map → chunk-V5JTTLJP.cjs.map} +1 -1
- package/dist/{chunk-IAUJKZAQ.js → chunk-VOHTL6WN.js} +14 -14
- package/dist/{chunk-IAUJKZAQ.js.map → chunk-VOHTL6WN.js.map} +1 -1
- package/dist/{chunk-NBAHXZHJ.js → chunk-VQXXX6DK.js} +4 -4
- package/dist/{chunk-NBAHXZHJ.js.map → chunk-VQXXX6DK.js.map} +1 -1
- package/dist/{chunk-COH45MGW.cjs → chunk-WFHK2DKG.cjs} +3 -3
- package/dist/{chunk-COH45MGW.cjs.map → chunk-WFHK2DKG.cjs.map} +1 -1
- package/dist/{chunk-VYHZEQIG.js → chunk-WGRLNXNB.js} +6 -6
- package/dist/{chunk-VYHZEQIG.js.map → chunk-WGRLNXNB.js.map} +1 -1
- package/dist/{chunk-XK5WHQ3O.cjs → chunk-WMANILKC.cjs} +4 -4
- package/dist/chunk-WMANILKC.cjs.map +1 -0
- package/dist/{chunk-DHIUMQLP.cjs → chunk-WNUAGRQN.cjs} +4 -4
- package/dist/{chunk-DHIUMQLP.cjs.map → chunk-WNUAGRQN.cjs.map} +1 -1
- package/dist/{chunk-B6CQ4KK7.cjs → chunk-WONP337S.cjs} +13 -14
- package/dist/chunk-WONP337S.cjs.map +1 -0
- package/dist/{chunk-ENYHLZ2X.js → chunk-WW56U3RV.js} +5 -5
- package/dist/{chunk-ENYHLZ2X.js.map → chunk-WW56U3RV.js.map} +1 -1
- package/dist/{chunk-KKWNKBKR.js → chunk-WX5XYDVN.js} +8 -8
- package/dist/{chunk-KKWNKBKR.js.map → chunk-WX5XYDVN.js.map} +1 -1
- package/dist/{chunk-TB35HNBE.js → chunk-X7VIIM2P.js} +3 -3
- package/dist/{chunk-TB35HNBE.js.map → chunk-X7VIIM2P.js.map} +1 -1
- package/dist/{chunk-4NBM3LXN.js → chunk-XB3H2EEL.js} +5 -5
- package/dist/{chunk-4NBM3LXN.js.map → chunk-XB3H2EEL.js.map} +1 -1
- package/dist/{chunk-5RLP77KK.js → chunk-XM3V3RSU.js} +4 -4
- package/dist/{chunk-5RLP77KK.js.map → chunk-XM3V3RSU.js.map} +1 -1
- package/dist/{chunk-IYVV4RD3.cjs → chunk-XM3W5ETT.cjs} +5 -5
- package/dist/{chunk-IYVV4RD3.cjs.map → chunk-XM3W5ETT.cjs.map} +1 -1
- package/dist/{chunk-IWXP2YUP.js → chunk-XOYRJFMU.js} +6 -6
- package/dist/chunk-XOYRJFMU.js.map +1 -0
- package/dist/{chunk-XB6YHUKW.js → chunk-XQDGUXMS.js} +10 -10
- package/dist/{chunk-XB6YHUKW.js.map → chunk-XQDGUXMS.js.map} +1 -1
- package/dist/{chunk-2KAJ4L7C.js → chunk-XS3EIQFP.js} +19 -19
- package/dist/chunk-XS3EIQFP.js.map +1 -0
- package/dist/{chunk-6KXAFP2T.js → chunk-XYOT75HH.js} +3 -3
- package/dist/{chunk-6KXAFP2T.js.map → chunk-XYOT75HH.js.map} +1 -1
- package/dist/{chunk-UDEEPMQ4.js → chunk-Y6LL3B5P.js} +4 -4
- package/dist/{chunk-UDEEPMQ4.js.map → chunk-Y6LL3B5P.js.map} +1 -1
- package/dist/{chunk-OS2QC3NE.cjs → chunk-Y7RGUUTS.cjs} +7 -7
- package/dist/chunk-Y7RGUUTS.cjs.map +1 -0
- package/dist/{chunk-Z6RVBZQ4.js → chunk-Y7UE37QZ.js} +8 -8
- package/dist/{chunk-Z6RVBZQ4.js.map → chunk-Y7UE37QZ.js.map} +1 -1
- package/dist/{chunk-YMDYDUBH.cjs → chunk-YH75G6SP.cjs} +7 -7
- package/dist/{chunk-YMDYDUBH.cjs.map → chunk-YH75G6SP.cjs.map} +1 -1
- package/dist/{chunk-PHDIQ4VC.js → chunk-YQTKTEWS.js} +8 -8
- package/dist/chunk-YQTKTEWS.js.map +1 -0
- package/dist/{chunk-FVTCPERB.cjs → chunk-Z4UXLQSK.cjs} +15 -15
- package/dist/{chunk-FVTCPERB.cjs.map → chunk-Z4UXLQSK.cjs.map} +1 -1
- package/dist/{chunk-W6RDAZJC.js → chunk-ZAX72LXL.js} +5 -5
- package/dist/chunk-ZAX72LXL.js.map +1 -0
- package/dist/{chunk-M52IS5SO.cjs → chunk-ZKJLDBXA.cjs} +16 -16
- package/dist/chunk-ZKJLDBXA.cjs.map +1 -0
- package/dist/{chunk-NE3Z4AWP.js → chunk-ZULMMW5W.js} +7 -7
- package/dist/{chunk-NE3Z4AWP.js.map → chunk-ZULMMW5W.js.map} +1 -1
- package/dist/color-picker.cjs +2 -2
- package/dist/color-picker.js +1 -1
- package/dist/command.cjs +3 -3
- package/dist/command.js +1 -1
- package/dist/composer.cjs +5 -5
- package/dist/composer.js +3 -3
- package/dist/content-renderer.cjs +4 -4
- package/dist/content-renderer.js +1 -1
- package/dist/context-menu.cjs +3 -3
- package/dist/context-menu.js +1 -1
- package/dist/dark-variant.css +3 -0
- package/dist/dark-variant.css.map +1 -0
- package/dist/date-picker.cjs +5 -5
- package/dist/date-picker.js +4 -4
- package/dist/drawer.cjs +3 -3
- package/dist/drawer.js +1 -1
- package/dist/dropdown.cjs +3 -3
- package/dist/dropdown.js +1 -1
- package/dist/editor.cjs +6 -6
- package/dist/editor.js +4 -4
- package/dist/emoji-select.cjs +2 -2
- package/dist/emoji-select.js +1 -1
- package/dist/eyebrow.cjs +2 -2
- package/dist/eyebrow.js +1 -1
- package/dist/faux-client.cjs +2 -2
- package/dist/faux-client.js +1 -1
- package/dist/field.cjs +3 -3
- package/dist/field.js +2 -2
- package/dist/file-browser.cjs +5 -5
- package/dist/file-browser.js +1 -1
- package/dist/file-upload.cjs +3 -3
- package/dist/file-upload.js +1 -1
- package/dist/heading.cjs +2 -2
- package/dist/heading.js +1 -1
- package/dist/image-viewer.cjs +3 -3
- package/dist/image-viewer.js +2 -2
- package/dist/index-list.cjs +2 -2
- package/dist/index-list.js +1 -1
- package/dist/index.cjs +372 -299
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +114 -1
- package/dist/index.d.ts +114 -1
- package/dist/index.js +166 -90
- package/dist/index.js.map +1 -1
- package/dist/input-tag.cjs +6 -6
- package/dist/input-tag.js +1 -1
- package/dist/input.cjs +8 -8
- package/dist/input.js +7 -7
- package/dist/inputs.cjs +36 -36
- package/dist/inputs.js +17 -17
- package/dist/json-editor.cjs +31 -31
- package/dist/json-editor.js +20 -20
- package/dist/kanban.cjs +3 -3
- package/dist/kanban.js +1 -1
- package/dist/kbd.cjs +2 -2
- package/dist/kbd.js +1 -1
- package/dist/magic-wand.cjs +11 -11
- package/dist/magic-wand.js +10 -10
- package/dist/media-viewer.cjs +6 -6
- package/dist/media-viewer.js +5 -5
- package/dist/menu.cjs +3 -3
- package/dist/menu.js +1 -1
- package/dist/mobile-menu.cjs +4 -4
- package/dist/mobile-menu.js +2 -2
- package/dist/modal.cjs +3 -3
- package/dist/modal.js +1 -1
- package/dist/mode.cjs +3 -3
- package/dist/mode.js +2 -2
- package/dist/mood-meter.cjs +2 -2
- package/dist/mood-meter.js +1 -1
- package/dist/multi-switch.cjs +5 -5
- package/dist/multi-switch.js +4 -4
- package/dist/navbar.cjs +3 -3
- package/dist/navbar.js +1 -1
- package/dist/otp-input.cjs +2 -2
- package/dist/otp-input.js +1 -1
- package/dist/pagination.cjs +2 -2
- package/dist/pagination.js +1 -1
- package/dist/paste-pills.cjs +15 -15
- package/dist/paste-pills.js +2 -2
- package/dist/pdf-viewer.cjs +3 -3
- package/dist/pdf-viewer.js +2 -2
- package/dist/pillbox.cjs +2 -2
- package/dist/pillbox.js +1 -1
- package/dist/popover.cjs +3 -3
- package/dist/popover.js +1 -1
- package/dist/profile.cjs +3 -3
- package/dist/profile.js +2 -2
- package/dist/progress.cjs +2 -2
- package/dist/progress.js +1 -1
- package/dist/prompt-input.cjs +9 -9
- package/dist/prompt-input.js +8 -8
- package/dist/pull-quote.cjs +2 -2
- package/dist/pull-quote.js +1 -1
- package/dist/radio-group.cjs +5 -5
- package/dist/radio-group.js +4 -4
- package/dist/reason-tag.cjs +8 -8
- package/dist/reason-tag.js +7 -7
- package/dist/select.cjs +6 -6
- package/dist/select.js +5 -5
- package/dist/separator.cjs +2 -2
- package/dist/separator.js +1 -1
- package/dist/sidebar.cjs +4 -4
- package/dist/sidebar.js +2 -2
- package/dist/skeleton.cjs +2 -2
- package/dist/skeleton.js +1 -1
- package/dist/slider.cjs +5 -5
- package/dist/slider.js +4 -4
- package/dist/stat-list.cjs +2 -2
- package/dist/stat-list.js +1 -1
- package/dist/stat.cjs +3 -3
- package/dist/stat.js +1 -1
- package/dist/styles.css +60 -60
- package/dist/styles.css.map +1 -1
- package/dist/switch.cjs +3 -3
- package/dist/switch.js +2 -2
- package/dist/table.cjs +11 -11
- package/dist/table.js +1 -1
- package/dist/tabs.cjs +3 -3
- package/dist/tabs.js +1 -1
- package/dist/text.cjs +2 -2
- package/dist/text.js +1 -1
- package/dist/textarea.cjs +6 -6
- package/dist/textarea.js +5 -5
- package/dist/time-grid.cjs +2 -2
- package/dist/time-grid.js +1 -1
- package/dist/time-picker.cjs +2 -2
- package/dist/time-picker.js +1 -1
- package/dist/timeline.cjs +4 -4
- package/dist/timeline.js +1 -1
- package/dist/toast.cjs +4 -4
- package/dist/toast.js +2 -2
- package/dist/tree-nav.cjs +3 -3
- package/dist/tree-nav.js +1 -1
- package/package.json +2 -1
- package/dist/chunk-25UPDBI6.cjs.map +0 -1
- package/dist/chunk-2KAJ4L7C.js.map +0 -1
- package/dist/chunk-32AJIHBZ.js.map +0 -1
- package/dist/chunk-56U4LBNL.cjs.map +0 -1
- package/dist/chunk-5F6V5HHT.cjs.map +0 -1
- package/dist/chunk-6IBBAOQC.cjs.map +0 -1
- package/dist/chunk-7EZBMGEE.cjs.map +0 -1
- package/dist/chunk-7JDVCQXD.js.map +0 -1
- package/dist/chunk-B6CQ4KK7.cjs.map +0 -1
- package/dist/chunk-CF2U25LM.js.map +0 -1
- package/dist/chunk-FSRPZYZZ.js.map +0 -1
- package/dist/chunk-FYKOLKQZ.js.map +0 -1
- package/dist/chunk-GFYSELJF.js +0 -35
- package/dist/chunk-GU5BYZTR.cjs.map +0 -1
- package/dist/chunk-HKRB2Z6R.cjs.map +0 -1
- package/dist/chunk-I6L7OP7G.cjs.map +0 -1
- package/dist/chunk-IWXP2YUP.js.map +0 -1
- package/dist/chunk-JFOORUUD.cjs.map +0 -1
- package/dist/chunk-LLA33GKC.cjs.map +0 -1
- package/dist/chunk-M52IS5SO.cjs.map +0 -1
- package/dist/chunk-M5ACSJJ4.js.map +0 -1
- package/dist/chunk-MODCP3UV.js.map +0 -1
- package/dist/chunk-N6OZZAOT.js.map +0 -1
- package/dist/chunk-O6E2WC3J.js.map +0 -1
- package/dist/chunk-OS2QC3NE.cjs.map +0 -1
- package/dist/chunk-P7Q2YIIS.js.map +0 -1
- package/dist/chunk-PCTZNK2Z.js.map +0 -1
- package/dist/chunk-PHDIQ4VC.js.map +0 -1
- package/dist/chunk-PWEZCMIY.js.map +0 -1
- package/dist/chunk-QAFAPHAF.cjs.map +0 -1
- package/dist/chunk-QSFTWIUH.cjs.map +0 -1
- package/dist/chunk-RA2VOQ46.js.map +0 -1
- package/dist/chunk-RLMU3NHQ.cjs.map +0 -1
- package/dist/chunk-RPVCMW64.cjs.map +0 -1
- package/dist/chunk-T45XK5GN.cjs.map +0 -1
- package/dist/chunk-TDDWWAM5.js.map +0 -1
- package/dist/chunk-TNYWQ6EQ.js.map +0 -1
- package/dist/chunk-VKXNCYLE.cjs.map +0 -1
- package/dist/chunk-W6RDAZJC.js.map +0 -1
- package/dist/chunk-WBVWV2V7.cjs.map +0 -1
- package/dist/chunk-XDJSFGXW.js.map +0 -1
- package/dist/chunk-XK5WHQ3O.cjs.map +0 -1
- package/dist/chunk-YD4SXA6K.js.map +0 -1
- package/dist/chunk-Z3NSPDTW.cjs.map +0 -1
- package/dist/chunk-ZLWCZV7R.js.map +0 -1
- package/dist/chunk-ZY4CVNNZ.js.map +0 -1
|
@@ -19,7 +19,7 @@ function TableHead({ children, className, ...rest }) {
|
|
|
19
19
|
{
|
|
20
20
|
...rest,
|
|
21
21
|
"data-react-fancy-table-head": "",
|
|
22
|
-
className: chunkZU5Q77OT_cjs.cn("border-b border-zinc-200 dark:border-zinc-700", className),
|
|
22
|
+
className: chunkZU5Q77OT_cjs.cn("border-b border-[color:var(--fancy-border,var(--color-zinc-200))] dark:border-[color:var(--fancy-border-dark,var(--color-zinc-700))]", className),
|
|
23
23
|
children
|
|
24
24
|
}
|
|
25
25
|
);
|
|
@@ -61,7 +61,7 @@ function TableRow({
|
|
|
61
61
|
e.stopPropagation();
|
|
62
62
|
setExpanded(!expanded);
|
|
63
63
|
},
|
|
64
|
-
className: "inline-flex items-center justify-center rounded p-1 text-zinc-400 transition-colors hover:text-zinc-700 dark:text-zinc-500 dark:hover:text-zinc-300",
|
|
64
|
+
className: "inline-flex items-center justify-center rounded p-1 text-[color:var(--fancy-text-faint,var(--color-zinc-400))] transition-colors hover:text-[color:var(--fancy-text-soft,var(--color-zinc-700))] dark:text-[color:var(--fancy-text-faint-dark,var(--color-zinc-500))] dark:hover:text-[color:var(--fancy-text-soft-dark,var(--color-zinc-300))]",
|
|
65
65
|
"aria-label": expanded ? "Collapse row" : "Expand row",
|
|
66
66
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
67
67
|
"svg",
|
|
@@ -109,7 +109,7 @@ function TableCell({ children, className, header, ...rest }) {
|
|
|
109
109
|
"data-react-fancy-table-cell": "",
|
|
110
110
|
className: chunkZU5Q77OT_cjs.cn(
|
|
111
111
|
"px-4 py-3 text-sm",
|
|
112
|
-
header && "text-left font-medium text-zinc-500 dark:text-zinc-400",
|
|
112
|
+
header && "text-left font-medium text-[color:var(--fancy-text-muted,var(--color-zinc-500))] dark:text-[color:var(--fancy-text-muted-dark,var(--color-zinc-400))]",
|
|
113
113
|
className
|
|
114
114
|
),
|
|
115
115
|
...rest,
|
|
@@ -135,7 +135,7 @@ function TableColumn({
|
|
|
135
135
|
"data-react-fancy-table-column": "",
|
|
136
136
|
"aria-sort": ariaSort,
|
|
137
137
|
className: chunkZU5Q77OT_cjs.cn(
|
|
138
|
-
"px-4 py-3 text-left text-sm font-medium text-zinc-500 dark:text-zinc-400",
|
|
138
|
+
"px-4 py-3 text-left text-sm font-medium text-[color:var(--fancy-text-muted,var(--color-zinc-500))] dark:text-[color:var(--fancy-text-muted-dark,var(--color-zinc-400))]",
|
|
139
139
|
sortKey && "cursor-pointer select-none",
|
|
140
140
|
className
|
|
141
141
|
),
|
|
@@ -220,7 +220,7 @@ function TableRowTray({ children, className }) {
|
|
|
220
220
|
{
|
|
221
221
|
"data-react-fancy-table-row-tray": "",
|
|
222
222
|
className: chunkZU5Q77OT_cjs.cn(
|
|
223
|
-
"border-t border-zinc-200 px-4 py-3 dark:border-zinc-700",
|
|
223
|
+
"border-t border-[color:var(--fancy-border,var(--color-zinc-200))] px-4 py-3 dark:border-[color:var(--fancy-border-dark,var(--color-zinc-700))]",
|
|
224
224
|
className
|
|
225
225
|
),
|
|
226
226
|
children
|
|
@@ -262,7 +262,7 @@ function TableRoot({ children, className, ...rest }) {
|
|
|
262
262
|
{
|
|
263
263
|
...rest,
|
|
264
264
|
"data-react-fancy-table": "",
|
|
265
|
-
className: chunkZU5Q77OT_cjs.cn("overflow-hidden rounded-lg border border-zinc-200 dark:border-zinc-700", className),
|
|
265
|
+
className: chunkZU5Q77OT_cjs.cn("overflow-hidden rounded-lg border border-[color:var(--fancy-border,var(--color-zinc-200))] dark:border-[color:var(--fancy-border-dark,var(--color-zinc-700))]", className),
|
|
266
266
|
children: splitTableChildren(children)
|
|
267
267
|
}
|
|
268
268
|
) });
|
|
@@ -308,5 +308,5 @@ exports.TableRow = TableRow;
|
|
|
308
308
|
exports.TableRowTray = TableRowTray;
|
|
309
309
|
exports.TableSearch = TableSearch;
|
|
310
310
|
exports.TableTray = TableTray;
|
|
311
|
-
//# sourceMappingURL=chunk-
|
|
312
|
-
//# sourceMappingURL=chunk-
|
|
311
|
+
//# sourceMappingURL=chunk-3YA6FDVN.cjs.map
|
|
312
|
+
//# sourceMappingURL=chunk-3YA6FDVN.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Table/Table.context.ts","../src/components/Table/TableHead.tsx","../src/components/Table/TableBody.tsx","../src/components/Table/TableRow.tsx","../src/components/Table/TableCell.tsx","../src/components/Table/TableColumn.tsx","../src/components/Table/TablePagination.tsx","../src/components/Table/TableSearch.tsx","../src/components/Table/TableTray.tsx","../src/components/Table/TableRowTray.tsx","../src/components/Table/Table.tsx"],"names":["createContext","useContext","jsx","cn","useControllableState","jsxs","Fragment","useState","useCallback","useMemo","Children","isValidElement"],"mappings":"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","file":"chunk-3YA6FDVN.cjs","sourcesContent":["import { createContext, useContext } from \"react\";\nimport type { TableContextValue } from \"./Table.types\";\n\nexport const TableContext = createContext<TableContextValue | null>(null);\n\nexport function useTable(): TableContextValue {\n const ctx = useContext(TableContext);\n if (!ctx) {\n throw new Error(\"Table compound components must be used within <Table>\");\n }\n return ctx;\n}\n","import { cn } from \"../../utils/cn\";\nimport type { TableHeadProps } from \"./Table.types\";\n\nexport function TableHead({ children, className, ...rest }: TableHeadProps) {\n return (\n <thead\n {...rest}\n data-react-fancy-table-head=\"\"\n className={cn(\"border-b border-[color:var(--fancy-border,var(--color-zinc-200))] dark:border-[color:var(--fancy-border-dark,var(--color-zinc-700))]\", className)}\n >\n {children}\n </thead>\n );\n}\n","import { cn } from \"../../utils/cn\";\nimport type { TableBodyProps } from \"./Table.types\";\n\nexport function TableBody({ children, className, ...rest }: TableBodyProps) {\n return (\n <tbody\n {...rest}\n data-react-fancy-table-body=\"\"\n className={cn(\"divide-y divide-zinc-100 dark:divide-zinc-800\", className)}\n >\n {children}\n </tbody>\n );\n}\n","import { cn } from \"../../utils/cn\";\nimport { useControllableState } from \"../../hooks/use-controllable-state\";\nimport type { TableRowProps } from \"./Table.types\";\n\nexport function TableRow({\n children,\n className,\n onClick,\n tray,\n trayTriggerPosition = \"end\",\n expanded: controlledExpanded,\n defaultExpanded = false,\n onExpandedChange,\n ...rest\n}: TableRowProps) {\n const [expanded, setExpanded] = useControllableState(\n controlledExpanded,\n defaultExpanded,\n onExpandedChange,\n );\n\n const hasTray = tray != null;\n const showTrigger = hasTray && trayTriggerPosition !== \"hidden\";\n\n const triggerCell = showTrigger ? (\n <td className=\"w-8 px-2\">\n <button\n type=\"button\"\n onClick={(e) => {\n e.stopPropagation();\n setExpanded(!expanded);\n }}\n className=\"inline-flex items-center justify-center rounded p-1 text-[color:var(--fancy-text-faint,var(--color-zinc-400))] transition-colors hover:text-[color:var(--fancy-text-soft,var(--color-zinc-700))] dark:text-[color:var(--fancy-text-faint-dark,var(--color-zinc-500))] dark:hover:text-[color:var(--fancy-text-soft-dark,var(--color-zinc-300))]\"\n aria-label={expanded ? \"Collapse row\" : \"Expand row\"}\n >\n <svg\n className={cn(\n \"h-4 w-4 transition-transform duration-200\",\n expanded && \"rotate-90\",\n )}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n strokeWidth={2}\n >\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M9 5l7 7-7 7\" />\n </svg>\n </button>\n </td>\n ) : null;\n\n return (\n <>\n <tr\n {...rest}\n data-react-fancy-table-row=\"\"\n className={cn(\n \"transition-colors hover:bg-zinc-50 dark:hover:bg-zinc-800/50\",\n onClick && \"cursor-pointer\",\n className,\n )}\n onClick={onClick}\n >\n {trayTriggerPosition === \"start\" && triggerCell}\n {children}\n {trayTriggerPosition === \"end\" && triggerCell}\n </tr>\n {hasTray && expanded && (\n <tr className=\"bg-zinc-50/50 dark:bg-zinc-800/30\">\n <td colSpan={999}>\n {tray}\n </td>\n </tr>\n )}\n </>\n );\n}\n","import { cn } from \"../../utils/cn\";\nimport type { TableCellProps } from \"./Table.types\";\n\nexport function TableCell({ children, className, header, ...rest }: TableCellProps) {\n const Tag = header ? \"th\" : \"td\";\n return (\n <Tag\n data-react-fancy-table-cell=\"\"\n className={cn(\n \"px-4 py-3 text-sm\",\n header && \"text-left font-medium text-[color:var(--fancy-text-muted,var(--color-zinc-500))] dark:text-[color:var(--fancy-text-muted-dark,var(--color-zinc-400))]\",\n className,\n )}\n {...rest}\n >\n {children}\n </Tag>\n );\n}\n","import { cn } from \"../../utils/cn\";\nimport { useTable } from \"./Table.context\";\nimport type { TableColumnProps } from \"./Table.types\";\n\nexport function TableColumn({\n label,\n sortKey,\n className,\n \"aria-sort\": ariaSortProp,\n onClick,\n ...rest\n}: TableColumnProps) {\n const { sortKey: currentSort, sortDir, toggleSort } = useTable();\n const isSorted = sortKey != null && currentSort === sortKey;\n\n /**\n * Announce the sort state to anyone who cannot see the arrow.\n *\n * The component already computed `isSorted` and `sortDir` and spent both on a\n * ▲/▼ glyph, so a sortable table sounded exactly like a static one and\n * activating a header produced no feedback at all.\n *\n * `\"none\"` is deliberate and is not the same as omitting the attribute: it\n * says \"this column sorts, but is not the current key\". A non-sortable header\n * gets nothing, because claiming otherwise invites someone to activate an\n * inert control.\n *\n * An explicit `aria-sort` from the caller wins — a server-sorted table knows\n * its own state and this component does not.\n */\n const ariaSort =\n ariaSortProp ?? (sortKey == null ? undefined : isSorted ? (sortDir === \"asc\" ? \"ascending\" : \"descending\") : \"none\");\n\n return (\n <th\n {...rest}\n data-react-fancy-table-column=\"\"\n aria-sort={ariaSort}\n className={cn(\n \"px-4 py-3 text-left text-sm font-medium text-[color:var(--fancy-text-muted,var(--color-zinc-500))] dark:text-[color:var(--fancy-text-muted-dark,var(--color-zinc-400))]\",\n sortKey && \"cursor-pointer select-none\",\n className,\n )}\n onClick={\n sortKey || onClick\n ? (event) => {\n // Both, in this order. Dropping the caller's handler because the\n // column happens to sort would be the same silent-prop-loss bug\n // this file just fixed one attribute over.\n onClick?.(event);\n if (sortKey) {\n toggleSort(sortKey);\n }\n }\n : undefined\n }\n >\n <span className=\"inline-flex items-center gap-1\">\n {label}\n {isSorted && (\n <span aria-hidden=\"true\" className=\"text-xs\">\n {sortDir === \"asc\" ? \"▲\" : \"▼\"}\n </span>\n )}\n </span>\n </th>\n );\n}\n","import { cn } from \"../../utils/cn\";\nimport { useTable } from \"./Table.context\";\nimport type { TablePaginationProps } from \"./Table.types\";\n\nexport function TablePagination({\n className,\n total,\n pageSize = 10,\n}: TablePaginationProps) {\n const { page, setPage } = useTable();\n const totalPages = Math.ceil(total / pageSize);\n\n if (totalPages <= 1) return null;\n\n return (\n <div data-react-fancy-table-pagination=\"\" className={cn(\"flex items-center justify-between px-4 py-3 text-sm\", className)}>\n <span className=\"text-zinc-500\">\n Page {page + 1} of {totalPages}\n </span>\n <div className=\"flex gap-1\">\n <button\n type=\"button\"\n disabled={page === 0}\n onClick={() => setPage(page - 1)}\n className=\"rounded border px-2 py-1 disabled:opacity-50 dark:border-zinc-600\"\n >\n Prev\n </button>\n <button\n type=\"button\"\n disabled={page >= totalPages - 1}\n onClick={() => setPage(page + 1)}\n className=\"rounded border px-2 py-1 disabled:opacity-50 dark:border-zinc-600\"\n >\n Next\n </button>\n </div>\n </div>\n );\n}\n","import { cn } from \"../../utils/cn\";\nimport { useTable } from \"./Table.context\";\nimport type { TableSearchProps } from \"./Table.types\";\n\nexport function TableSearch({\n className,\n placeholder = \"Search...\",\n}: TableSearchProps) {\n const { searchQuery, setSearchQuery } = useTable();\n\n return (\n <input\n data-react-fancy-table-search=\"\"\n type=\"text\"\n value={searchQuery}\n onChange={(e) => setSearchQuery(e.target.value)}\n placeholder={placeholder}\n className={cn(\n \"rounded-lg border border-zinc-200 px-3 py-2 text-sm dark:border-zinc-600 dark:bg-zinc-800\",\n className,\n )}\n />\n );\n}\n","import { cn } from \"../../utils/cn\";\nimport type { TableTrayProps } from \"./Table.types\";\n\nexport function TableTray({ children, className }: TableTrayProps) {\n return (\n <div data-react-fancy-table-tray=\"\" className={cn(\"flex items-center justify-between px-4 py-3\", className)}>\n {children}\n </div>\n );\n}\n","import { cn } from \"../../utils/cn\";\nimport type { TableRowTrayProps } from \"./Table.types\";\n\nexport function TableRowTray({ children, className }: TableRowTrayProps) {\n return (\n <div\n data-react-fancy-table-row-tray=\"\"\n className={cn(\n \"border-t border-[color:var(--fancy-border,var(--color-zinc-200))] px-4 py-3 dark:border-[color:var(--fancy-border-dark,var(--color-zinc-700))]\",\n className,\n )}\n >\n {children}\n </div>\n );\n}\n","import { Children, isValidElement, useCallback, useMemo, useState } from \"react\";\nimport type { ReactNode } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { TableContext } from \"./Table.context\";\nimport { TableHead } from \"./TableHead\";\nimport { TableBody } from \"./TableBody\";\nimport { TableRow } from \"./TableRow\";\nimport { TableCell } from \"./TableCell\";\nimport { TableColumn } from \"./TableColumn\";\nimport { TablePagination } from \"./TablePagination\";\nimport { TableSearch } from \"./TableSearch\";\nimport { TableTray } from \"./TableTray\";\nimport { TableRowTray } from \"./TableRowTray\";\nimport type { TableProps, TableContextValue } from \"./Table.types\";\n\nfunction TableRoot({ children, className, ...rest }: TableProps) {\n const [sortKey, setSortKey] = useState<string | null>(null);\n const [sortDir, setSortDir] = useState<\"asc\" | \"desc\">(\"asc\");\n const [page, setPage] = useState(0);\n const [searchQuery, setSearchQuery] = useState(\"\");\n\n const toggleSort = useCallback(\n (key: string) => {\n if (sortKey === key) {\n setSortDir((d) => (d === \"asc\" ? \"desc\" : \"asc\"));\n } else {\n setSortKey(key);\n setSortDir(\"asc\");\n }\n },\n [sortKey],\n );\n\n const ctx = useMemo<TableContextValue>(\n () => ({\n sortKey,\n sortDir,\n toggleSort,\n page,\n setPage,\n pageSize: 10,\n totalRows: 0,\n searchQuery,\n setSearchQuery,\n }),\n [sortKey, sortDir, toggleSort, page, searchQuery],\n );\n\n return (\n <TableContext.Provider value={ctx}>\n <div\n {...rest}\n data-react-fancy-table=\"\"\n className={cn(\"overflow-hidden rounded-lg border border-[color:var(--fancy-border,var(--color-zinc-200))] dark:border-[color:var(--fancy-border-dark,var(--color-zinc-700))]\", className)}\n >\n {splitTableChildren(children)}\n </div>\n </TableContext.Provider>\n );\n}\n\nfunction splitTableChildren(children: ReactNode): ReactNode {\n const before: ReactNode[] = [];\n const inside: ReactNode[] = [];\n const after: ReactNode[] = [];\n let seenTableContent = false;\n\n Children.forEach(children, (child) => {\n if (isValidElement(child) && (child.type === TableHead || child.type === TableBody)) {\n inside.push(child);\n seenTableContent = true;\n return;\n }\n (seenTableContent ? after : before).push(child);\n });\n\n return (\n <>\n {before}\n {inside.length > 0 && <table className=\"w-full border-collapse\">{inside}</table>}\n {after}\n </>\n );\n}\n\nexport const Table = Object.assign(TableRoot, {\n Head: TableHead,\n Body: TableBody,\n Row: TableRow,\n Cell: TableCell,\n Column: TableColumn,\n Pagination: TablePagination,\n Search: TableSearch,\n Tray: TableTray,\n RowTray: TableRowTray,\n});\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunk5JK2VDWY_cjs = require('./chunk-5JK2VDWY.cjs');
|
|
4
4
|
var chunkSNHU2AI4_cjs = require('./chunk-SNHU2AI4.cjs');
|
|
5
5
|
var chunkZU5Q77OT_cjs = require('./chunk-ZU5Q77OT.cjs');
|
|
6
6
|
var react = require('react');
|
|
@@ -37,7 +37,7 @@ var Composer = react.forwardRef(
|
|
|
37
37
|
);
|
|
38
38
|
const textareaRef = react.useRef(null);
|
|
39
39
|
const editorRef = react.useRef(null);
|
|
40
|
-
const paste =
|
|
40
|
+
const paste = chunk5JK2VDWY_cjs.useInlinePaste({
|
|
41
41
|
pasteThreshold,
|
|
42
42
|
pasteImages,
|
|
43
43
|
previewChars,
|
|
@@ -109,7 +109,7 @@ ${text}` : text);
|
|
|
109
109
|
"data-react-fancy-composer": "",
|
|
110
110
|
ref,
|
|
111
111
|
className: chunkZU5Q77OT_cjs.cn(
|
|
112
|
-
"rounded-xl border border-zinc-200 bg-white dark:border-zinc-700 dark:bg-zinc-900",
|
|
112
|
+
"rounded-xl border border-[color:var(--fancy-border,var(--color-zinc-200))] bg-[color:var(--fancy-surface,var(--color-white))] dark:border-[color:var(--fancy-border-dark,var(--color-zinc-700))] dark:bg-[color:var(--fancy-surface-dark,var(--color-zinc-900))]",
|
|
113
113
|
disabled && "opacity-50",
|
|
114
114
|
className
|
|
115
115
|
),
|
|
@@ -131,16 +131,16 @@ ${text}` : text);
|
|
|
131
131
|
"data-react-fancy-composer-paste-pill": paste2.id,
|
|
132
132
|
onClick: () => insertPaste(paste2),
|
|
133
133
|
disabled,
|
|
134
|
-
"aria-label": `Insert this pasted text, ${
|
|
134
|
+
"aria-label": `Insert this pasted text, ${chunk5JK2VDWY_cjs.withSeparators(paste2.text.length)} characters`,
|
|
135
135
|
"aria-describedby": `${paste2.id}-preview`,
|
|
136
136
|
className: chunkZU5Q77OT_cjs.cn(
|
|
137
|
-
"inline-flex items-center gap-1.5 rounded-full border border-zinc-200 bg-zinc-50 py-1 pl-2.5 pr-7 text-xs text-zinc-700 transition-colors hover:bg-zinc-100 dark:border-zinc-700 dark:bg-zinc-800 dark:text-zinc-200 dark:hover:bg-zinc-700",
|
|
137
|
+
"inline-flex items-center gap-1.5 rounded-full border border-[color:var(--fancy-border,var(--color-zinc-200))] bg-zinc-50 py-1 pl-2.5 pr-7 text-xs text-zinc-700 transition-colors hover:bg-zinc-100 dark:border-[color:var(--fancy-border-dark,var(--color-zinc-700))] dark:bg-zinc-800 dark:text-zinc-200 dark:hover:bg-zinc-700",
|
|
138
138
|
classNames?.pill,
|
|
139
139
|
classNames?.textPill
|
|
140
140
|
),
|
|
141
141
|
children: /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
|
142
142
|
"Pasted text \xB7 ",
|
|
143
|
-
|
|
143
|
+
chunk5JK2VDWY_cjs.withSeparators(paste2.text.length),
|
|
144
144
|
" characters"
|
|
145
145
|
] })
|
|
146
146
|
}
|
|
@@ -170,7 +170,7 @@ ${text}` : text);
|
|
|
170
170
|
"pointer-events-none absolute bottom-full left-0 z-10 mb-1 hidden max-w-xs whitespace-pre-wrap break-all rounded-md bg-zinc-900 px-2 py-1 text-xs text-white group-hover:block dark:bg-zinc-100 dark:text-zinc-900",
|
|
171
171
|
classNames?.preview
|
|
172
172
|
),
|
|
173
|
-
children: renderPastePreview?.({ kind: "text", paste: paste2 }) ??
|
|
173
|
+
children: renderPastePreview?.({ kind: "text", paste: paste2 }) ?? chunk5JK2VDWY_cjs.endsOf(paste2.text, previewChars)
|
|
174
174
|
}
|
|
175
175
|
)
|
|
176
176
|
] }, paste2.id)
|
|
@@ -179,7 +179,7 @@ ${text}` : text);
|
|
|
179
179
|
),
|
|
180
180
|
inline ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
181
181
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
182
|
-
|
|
182
|
+
chunk5JK2VDWY_cjs.InlinePasteEditor,
|
|
183
183
|
{
|
|
184
184
|
ref: editorRef,
|
|
185
185
|
value,
|
|
@@ -194,7 +194,7 @@ ${text}` : text);
|
|
|
194
194
|
}
|
|
195
195
|
),
|
|
196
196
|
paste.portals,
|
|
197
|
-
pasteImages && pasteFilesName && /* @__PURE__ */ jsxRuntime.jsx(
|
|
197
|
+
pasteImages && pasteFilesName && /* @__PURE__ */ jsxRuntime.jsx(chunk5JK2VDWY_cjs.PastedFilesInput, { name: pasteFilesName, files: pastedFiles })
|
|
198
198
|
] }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
199
199
|
"textarea",
|
|
200
200
|
{
|
|
@@ -233,5 +233,5 @@ ${text}` : text);
|
|
|
233
233
|
Composer.displayName = "Composer";
|
|
234
234
|
|
|
235
235
|
exports.Composer = Composer;
|
|
236
|
-
//# sourceMappingURL=chunk-
|
|
237
|
-
//# sourceMappingURL=chunk-
|
|
236
|
+
//# sourceMappingURL=chunk-43ZRUYJC.cjs.map
|
|
237
|
+
//# sourceMappingURL=chunk-43ZRUYJC.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/Composer/Composer.tsx"],"names":["forwardRef","Composer","useControllableState","useRef","useInlinePaste","useMemo","useCallback","jsxs","cn","jsx","paste","withSeparators","endsOf","Fragment","InlinePasteEditor","PastedFilesInput"],"mappings":"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","file":"chunk-SYVOGYJG.cjs","sourcesContent":["import { forwardRef, useCallback, useMemo, useRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { useControllableState } from \"../../hooks/use-controllable-state\";\nimport {\n endsOf,\n InlinePasteEditor,\n PastedFilesInput,\n useInlinePaste,\n withSeparators,\n type HeldPaste,\n type InlinePasteEditorHandle,\n} from \"../PastePills\";\nimport type { ComposerProps } from \"./Composer.types\";\n\n/** Characters of a held paste shown at each end of the hover preview, unless `previewChars` says otherwise. */\nconst PREVIEW_CHARS = 20;\n\nexport const Composer = forwardRef<HTMLDivElement, ComposerProps>(\n function Composer(\n {\n value: controlledValue,\n defaultValue = \"\",\n onChange,\n onSubmit,\n placeholder = \"Type a message...\",\n actions,\n disabled = false,\n className,\n pasteThreshold,\n pastePlacement = \"above\",\n pasteImages = false,\n previewChars = PREVIEW_CHARS,\n renderPastePreview,\n classNames,\n heldPastes: controlledHeldPastes,\n onHeldPastesChange,\n heldImages: controlledHeldImages,\n onHeldImagesChange,\n pasteFilesName,\n },\n ref,\n ) {\n const inline = pastePlacement === \"inline\";\n const [value, setValue] = useControllableState(\n controlledValue,\n defaultValue,\n onChange,\n );\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n const editorRef = useRef<InlinePasteEditorHandle>(null);\n /*\n * The holding logic lives in `usePastePills`, wrapped by `useInlinePaste` for\n * the inline placement — which `PromptInput` shares, so the two components\n * cannot disagree about what a pill means. The rule that must not drift is\n * the one below: a send with pills still closed carries the text.\n */\n const paste = useInlinePaste({\n pasteThreshold,\n pasteImages,\n previewChars,\n renderPastePreview,\n classNames,\n disabled,\n heldPastes: controlledHeldPastes,\n onHeldPastesChange,\n heldImages: controlledHeldImages,\n onHeldImagesChange,\n editorRef,\n });\n const pills = paste.pills;\n const heldPastes = paste.heldPastes;\n const pastedFiles = useMemo(\n () => (inline && pasteImages ? paste.imagesIn(value).map((i) => i.file) : []),\n [inline, pasteImages, paste, value],\n );\n\n const handlePaste = useCallback(\n (e: React.ClipboardEvent<HTMLTextAreaElement>) => {\n // Composable by design, so this reads as a question rather than a handover.\n // Nothing else here wants the paste, so the answer is simply ignored.\n pills.handlePaste(e);\n },\n [pills],\n );\n\n const handleInlineChange = useCallback(\n (next: string) => {\n setValue(next);\n paste.prune(next);\n },\n [setValue, paste],\n );\n\n /** Everything the person believes they are sending, in the order they built it. */\n const composeOutgoing = useCallback(() => {\n if (inline) return paste.expand(value);\n\n return [value, ...heldPastes.map((p) => p.text)].filter(Boolean).join(\"\\n\\n\");\n }, [inline, value, heldPastes, paste]);\n\n const hasContent = value.trim().length > 0 || (!inline && heldPastes.length > 0);\n\n const focusInput = useCallback(() => {\n if (inline) editorRef.current?.focus();\n else textareaRef.current?.focus();\n }, [inline]);\n\n const handleSubmit = useCallback(() => {\n if (!hasContent || disabled) return;\n\n /*\n * THE DANGEROUS STATE, and the reason this feature needed a spec rather than\n * a guess. A pill reads as \"your paste is attached\" — so a send that drops it\n * means asking a question about a document without the document, and nobody\n * can tell: the sender believes it went, the receiver sees a question about\n * nothing.\n *\n * Above the input, held pastes go out in arrival order after what was typed,\n * because people type the question BEFORE pasting the thing it is about.\n * Inline, every pill goes out exactly where it sits.\n */\n const images = inline ? paste.imagesIn(value) : [];\n\n onSubmit?.(composeOutgoing(), { images });\n setValue(\"\");\n paste.clear();\n focusInput();\n }, [hasContent, disabled, value, inline, paste, onSubmit, composeOutgoing, setValue, focusInput]);\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n if (e.key === \"Enter\" && !e.shiftKey) {\n e.preventDefault();\n handleSubmit();\n }\n };\n\n /** Above the input: click a pill to dump it in, APPENDED to what is already typed. */\n const insertPaste = useCallback(\n (held: HeldPaste) => {\n // `expand` removes it and hands back the text; inserting is this\n // component's job because the hook owns no DOM.\n const text = pills.expand(held.id);\n\n if (text === undefined) return;\n\n setValue((current) => (current ? `${current}\\n\\n${text}` : text));\n textareaRef.current?.focus();\n },\n [pills, setValue],\n );\n\n return (\n <div\n data-react-fancy-composer=\"\"\n ref={ref}\n className={cn(\n \"rounded-xl border border-zinc-200 bg-white dark:border-zinc-700 dark:bg-zinc-900\",\n disabled && \"opacity-50\",\n className,\n )}\n >\n {!inline && heldPastes.length > 0 && (\n <div\n data-react-fancy-composer-paste-pills=\"\"\n className=\"flex flex-wrap gap-1.5 px-3 pt-3\"\n >\n {heldPastes.map((paste) => (\n // `group` + `group-hover` rather than hover state: the preview is\n // presentation, and a useState for it would be one more thing an\n // agent could desynchronise.\n <span key={paste.id} className=\"group relative inline-flex\">\n <button\n type=\"button\"\n data-react-fancy-composer-paste-pill={paste.id}\n onClick={() => insertPaste(paste)}\n disabled={disabled}\n // No `title`. A native tooltip plus the hover preview below\n // renders TWO tooltips on the same hover, at different delays.\n // The label says what clicking does; the preview says what the\n // text is, and it is linked rather than merely adjacent so a\n // screen reader reaches it too.\n aria-label={`Insert this pasted text, ${withSeparators(paste.text.length)} characters`}\n aria-describedby={`${paste.id}-preview`}\n // `pr-7` leaves room for the absolutely-positioned × that sits\n // over this button's right edge. With a smaller right padding the\n // × lands on top of the label.\n className={cn(\n \"inline-flex items-center gap-1.5 rounded-full border border-zinc-200 bg-zinc-50 py-1 pl-2.5 pr-7 text-xs text-zinc-700 transition-colors hover:bg-zinc-100 dark:border-zinc-700 dark:bg-zinc-800 dark:text-zinc-200 dark:hover:bg-zinc-700\",\n classNames?.pill,\n classNames?.textPill,\n )}\n >\n <span>\n Pasted text · {withSeparators(paste.text.length)} characters\n </span>\n </button>\n\n <button\n type=\"button\"\n data-react-fancy-composer-paste-pill-remove={paste.id}\n onClick={() => pills.remove(paste.id)}\n disabled={disabled}\n aria-label=\"Discard this pasted text\"\n className={cn(\n \"absolute right-1 top-1/2 -translate-y-1/2 rounded-full px-1 text-xs text-zinc-400 transition-colors hover:text-zinc-700 dark:hover:text-zinc-100\",\n classNames?.remove,\n )}\n >\n ×\n </button>\n\n <span\n id={`${paste.id}-preview`}\n data-react-fancy-composer-paste-pill-preview={paste.id}\n role=\"tooltip\"\n className={cn(\n \"pointer-events-none absolute bottom-full left-0 z-10 mb-1 hidden max-w-xs whitespace-pre-wrap break-all rounded-md bg-zinc-900 px-2 py-1 text-xs text-white group-hover:block dark:bg-zinc-100 dark:text-zinc-900\",\n classNames?.preview,\n )}\n >\n {renderPastePreview?.({ kind: \"text\", paste }) ??\n endsOf(paste.text, previewChars)}\n </span>\n </span>\n ))}\n </div>\n )}\n\n {inline ? (\n <>\n <InlinePasteEditor\n ref={editorRef}\n value={value}\n known={paste.known}\n onChange={handleInlineChange}\n onSubmit={handleSubmit}\n onPaste={paste.decidePaste}\n onHostsChange={paste.onHostsChange}\n placeholder={placeholder}\n disabled={disabled}\n className={classNames?.input}\n />\n {paste.portals}\n {pasteImages && pasteFilesName && (\n <PastedFilesInput name={pasteFilesName} files={pastedFiles} />\n )}\n </>\n ) : (\n <textarea\n ref={textareaRef}\n value={value}\n onChange={(e) => setValue(e.target.value)}\n onKeyDown={handleKeyDown}\n onPaste={handlePaste}\n placeholder={placeholder}\n disabled={disabled}\n rows={3}\n className={cn(\n \"w-full resize-none bg-transparent px-4 pt-3 text-sm outline-none placeholder:text-zinc-400\",\n classNames?.input,\n )}\n />\n )}\n <div className=\"flex items-center justify-between border-t border-zinc-100 px-3 py-2 dark:border-zinc-800\">\n <div className=\"flex items-center gap-1\">{actions}</div>\n <button\n type=\"button\"\n onClick={handleSubmit}\n disabled={disabled || !hasContent}\n className=\"rounded-lg bg-zinc-900 px-3 py-1.5 text-sm font-medium text-white transition-colors hover:bg-zinc-800 disabled:opacity-50 dark:bg-white dark:text-zinc-900 dark:hover:bg-zinc-100\"\n >\n Send\n </button>\n </div>\n </div>\n );\n },\n);\n\nComposer.displayName = \"Composer\";\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/Composer/Composer.tsx"],"names":["forwardRef","Composer","useControllableState","useRef","useInlinePaste","useMemo","useCallback","jsxs","cn","jsx","paste","withSeparators","endsOf","Fragment","InlinePasteEditor","PastedFilesInput"],"mappings":"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","file":"chunk-43ZRUYJC.cjs","sourcesContent":["import { forwardRef, useCallback, useMemo, useRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { useControllableState } from \"../../hooks/use-controllable-state\";\nimport {\n endsOf,\n InlinePasteEditor,\n PastedFilesInput,\n useInlinePaste,\n withSeparators,\n type HeldPaste,\n type InlinePasteEditorHandle,\n} from \"../PastePills\";\nimport type { ComposerProps } from \"./Composer.types\";\n\n/** Characters of a held paste shown at each end of the hover preview, unless `previewChars` says otherwise. */\nconst PREVIEW_CHARS = 20;\n\nexport const Composer = forwardRef<HTMLDivElement, ComposerProps>(\n function Composer(\n {\n value: controlledValue,\n defaultValue = \"\",\n onChange,\n onSubmit,\n placeholder = \"Type a message...\",\n actions,\n disabled = false,\n className,\n pasteThreshold,\n pastePlacement = \"above\",\n pasteImages = false,\n previewChars = PREVIEW_CHARS,\n renderPastePreview,\n classNames,\n heldPastes: controlledHeldPastes,\n onHeldPastesChange,\n heldImages: controlledHeldImages,\n onHeldImagesChange,\n pasteFilesName,\n },\n ref,\n ) {\n const inline = pastePlacement === \"inline\";\n const [value, setValue] = useControllableState(\n controlledValue,\n defaultValue,\n onChange,\n );\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n const editorRef = useRef<InlinePasteEditorHandle>(null);\n /*\n * The holding logic lives in `usePastePills`, wrapped by `useInlinePaste` for\n * the inline placement — which `PromptInput` shares, so the two components\n * cannot disagree about what a pill means. The rule that must not drift is\n * the one below: a send with pills still closed carries the text.\n */\n const paste = useInlinePaste({\n pasteThreshold,\n pasteImages,\n previewChars,\n renderPastePreview,\n classNames,\n disabled,\n heldPastes: controlledHeldPastes,\n onHeldPastesChange,\n heldImages: controlledHeldImages,\n onHeldImagesChange,\n editorRef,\n });\n const pills = paste.pills;\n const heldPastes = paste.heldPastes;\n const pastedFiles = useMemo(\n () => (inline && pasteImages ? paste.imagesIn(value).map((i) => i.file) : []),\n [inline, pasteImages, paste, value],\n );\n\n const handlePaste = useCallback(\n (e: React.ClipboardEvent<HTMLTextAreaElement>) => {\n // Composable by design, so this reads as a question rather than a handover.\n // Nothing else here wants the paste, so the answer is simply ignored.\n pills.handlePaste(e);\n },\n [pills],\n );\n\n const handleInlineChange = useCallback(\n (next: string) => {\n setValue(next);\n paste.prune(next);\n },\n [setValue, paste],\n );\n\n /** Everything the person believes they are sending, in the order they built it. */\n const composeOutgoing = useCallback(() => {\n if (inline) return paste.expand(value);\n\n return [value, ...heldPastes.map((p) => p.text)].filter(Boolean).join(\"\\n\\n\");\n }, [inline, value, heldPastes, paste]);\n\n const hasContent = value.trim().length > 0 || (!inline && heldPastes.length > 0);\n\n const focusInput = useCallback(() => {\n if (inline) editorRef.current?.focus();\n else textareaRef.current?.focus();\n }, [inline]);\n\n const handleSubmit = useCallback(() => {\n if (!hasContent || disabled) return;\n\n /*\n * THE DANGEROUS STATE, and the reason this feature needed a spec rather than\n * a guess. A pill reads as \"your paste is attached\" — so a send that drops it\n * means asking a question about a document without the document, and nobody\n * can tell: the sender believes it went, the receiver sees a question about\n * nothing.\n *\n * Above the input, held pastes go out in arrival order after what was typed,\n * because people type the question BEFORE pasting the thing it is about.\n * Inline, every pill goes out exactly where it sits.\n */\n const images = inline ? paste.imagesIn(value) : [];\n\n onSubmit?.(composeOutgoing(), { images });\n setValue(\"\");\n paste.clear();\n focusInput();\n }, [hasContent, disabled, value, inline, paste, onSubmit, composeOutgoing, setValue, focusInput]);\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n if (e.key === \"Enter\" && !e.shiftKey) {\n e.preventDefault();\n handleSubmit();\n }\n };\n\n /** Above the input: click a pill to dump it in, APPENDED to what is already typed. */\n const insertPaste = useCallback(\n (held: HeldPaste) => {\n // `expand` removes it and hands back the text; inserting is this\n // component's job because the hook owns no DOM.\n const text = pills.expand(held.id);\n\n if (text === undefined) return;\n\n setValue((current) => (current ? `${current}\\n\\n${text}` : text));\n textareaRef.current?.focus();\n },\n [pills, setValue],\n );\n\n return (\n <div\n data-react-fancy-composer=\"\"\n ref={ref}\n className={cn(\n \"rounded-xl border border-[color:var(--fancy-border,var(--color-zinc-200))] bg-[color:var(--fancy-surface,var(--color-white))] dark:border-[color:var(--fancy-border-dark,var(--color-zinc-700))] dark:bg-[color:var(--fancy-surface-dark,var(--color-zinc-900))]\",\n disabled && \"opacity-50\",\n className,\n )}\n >\n {!inline && heldPastes.length > 0 && (\n <div\n data-react-fancy-composer-paste-pills=\"\"\n className=\"flex flex-wrap gap-1.5 px-3 pt-3\"\n >\n {heldPastes.map((paste) => (\n // `group` + `group-hover` rather than hover state: the preview is\n // presentation, and a useState for it would be one more thing an\n // agent could desynchronise.\n <span key={paste.id} className=\"group relative inline-flex\">\n <button\n type=\"button\"\n data-react-fancy-composer-paste-pill={paste.id}\n onClick={() => insertPaste(paste)}\n disabled={disabled}\n // No `title`. A native tooltip plus the hover preview below\n // renders TWO tooltips on the same hover, at different delays.\n // The label says what clicking does; the preview says what the\n // text is, and it is linked rather than merely adjacent so a\n // screen reader reaches it too.\n aria-label={`Insert this pasted text, ${withSeparators(paste.text.length)} characters`}\n aria-describedby={`${paste.id}-preview`}\n // `pr-7` leaves room for the absolutely-positioned × that sits\n // over this button's right edge. With a smaller right padding the\n // × lands on top of the label.\n className={cn(\n \"inline-flex items-center gap-1.5 rounded-full border border-[color:var(--fancy-border,var(--color-zinc-200))] bg-zinc-50 py-1 pl-2.5 pr-7 text-xs text-zinc-700 transition-colors hover:bg-zinc-100 dark:border-[color:var(--fancy-border-dark,var(--color-zinc-700))] dark:bg-zinc-800 dark:text-zinc-200 dark:hover:bg-zinc-700\",\n classNames?.pill,\n classNames?.textPill,\n )}\n >\n <span>\n Pasted text · {withSeparators(paste.text.length)} characters\n </span>\n </button>\n\n <button\n type=\"button\"\n data-react-fancy-composer-paste-pill-remove={paste.id}\n onClick={() => pills.remove(paste.id)}\n disabled={disabled}\n aria-label=\"Discard this pasted text\"\n className={cn(\n \"absolute right-1 top-1/2 -translate-y-1/2 rounded-full px-1 text-xs text-zinc-400 transition-colors hover:text-zinc-700 dark:hover:text-zinc-100\",\n classNames?.remove,\n )}\n >\n ×\n </button>\n\n <span\n id={`${paste.id}-preview`}\n data-react-fancy-composer-paste-pill-preview={paste.id}\n role=\"tooltip\"\n className={cn(\n \"pointer-events-none absolute bottom-full left-0 z-10 mb-1 hidden max-w-xs whitespace-pre-wrap break-all rounded-md bg-zinc-900 px-2 py-1 text-xs text-white group-hover:block dark:bg-zinc-100 dark:text-zinc-900\",\n classNames?.preview,\n )}\n >\n {renderPastePreview?.({ kind: \"text\", paste }) ??\n endsOf(paste.text, previewChars)}\n </span>\n </span>\n ))}\n </div>\n )}\n\n {inline ? (\n <>\n <InlinePasteEditor\n ref={editorRef}\n value={value}\n known={paste.known}\n onChange={handleInlineChange}\n onSubmit={handleSubmit}\n onPaste={paste.decidePaste}\n onHostsChange={paste.onHostsChange}\n placeholder={placeholder}\n disabled={disabled}\n className={classNames?.input}\n />\n {paste.portals}\n {pasteImages && pasteFilesName && (\n <PastedFilesInput name={pasteFilesName} files={pastedFiles} />\n )}\n </>\n ) : (\n <textarea\n ref={textareaRef}\n value={value}\n onChange={(e) => setValue(e.target.value)}\n onKeyDown={handleKeyDown}\n onPaste={handlePaste}\n placeholder={placeholder}\n disabled={disabled}\n rows={3}\n className={cn(\n \"w-full resize-none bg-transparent px-4 pt-3 text-sm outline-none placeholder:text-zinc-400\",\n classNames?.input,\n )}\n />\n )}\n <div className=\"flex items-center justify-between border-t border-zinc-100 px-3 py-2 dark:border-zinc-800\">\n <div className=\"flex items-center gap-1\">{actions}</div>\n <button\n type=\"button\"\n onClick={handleSubmit}\n disabled={disabled || !hasContent}\n className=\"rounded-lg bg-zinc-900 px-3 py-1.5 text-sm font-medium text-white transition-colors hover:bg-zinc-800 disabled:opacity-50 dark:bg-white dark:text-zinc-900 dark:hover:bg-zinc-100\"\n >\n Send\n </button>\n </div>\n </div>\n );\n },\n);\n\nComposer.displayName = \"Composer\";\n"]}
|
|
@@ -11,7 +11,7 @@ var PullQuote = forwardRef(
|
|
|
11
11
|
cite: citeUrl,
|
|
12
12
|
"data-react-fancy-pull-quote": "",
|
|
13
13
|
className: cn(
|
|
14
|
-
"m-0 text-2xl font-medium leading-snug tracking-tight text-zinc-900 dark:text-zinc-100",
|
|
14
|
+
"m-0 text-2xl font-medium leading-snug tracking-tight text-[color:var(--fancy-text,var(--color-zinc-900))] dark:text-[color:var(--fancy-text-dark,var(--color-zinc-100))]",
|
|
15
15
|
rule && "border-y border-zinc-200 py-6 dark:border-zinc-800",
|
|
16
16
|
className
|
|
17
17
|
),
|
|
@@ -22,7 +22,7 @@ var PullQuote = forwardRef(
|
|
|
22
22
|
"footer",
|
|
23
23
|
{
|
|
24
24
|
"data-react-fancy-pull-quote-attribution": "",
|
|
25
|
-
className: "mt-3 text-sm font-normal tracking-normal text-zinc-500 dark:text-zinc-400",
|
|
25
|
+
className: "mt-3 text-sm font-normal tracking-normal text-[color:var(--fancy-text-muted,var(--color-zinc-500))] dark:text-[color:var(--fancy-text-muted-dark,var(--color-zinc-400))]",
|
|
26
26
|
children: [
|
|
27
27
|
attribution != null && /* @__PURE__ */ jsx("cite", { className: "not-italic", children: attribution }),
|
|
28
28
|
attribution != null && source != null && /* @__PURE__ */ jsx("span", { "aria-hidden": true, children: " \xB7 " }),
|
|
@@ -38,5 +38,5 @@ var PullQuote = forwardRef(
|
|
|
38
38
|
PullQuote.displayName = "PullQuote";
|
|
39
39
|
|
|
40
40
|
export { PullQuote };
|
|
41
|
-
//# sourceMappingURL=chunk-
|
|
42
|
-
//# sourceMappingURL=chunk-
|
|
41
|
+
//# sourceMappingURL=chunk-44VYWOCG.js.map
|
|
42
|
+
//# sourceMappingURL=chunk-44VYWOCG.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/PullQuote/PullQuote.tsx"],"names":[],"mappings":";;;;AAmBO,IAAM,SAAA,GAAY,UAAA;AAAA,EACvB,CAAC,EAAE,WAAA,EAAa,MAAA,EAAQ,OAAA,EAAS,IAAA,GAAO,KAAA,EAAO,SAAA,EAAW,QAAA,EAAU,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AACtF,IAAA,uBACE,IAAA;AAAA,MAAC,YAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,IAAA,EAAM,OAAA;AAAA,QACN,6BAAA,EAA4B,EAAA;AAAA,QAC5B,SAAA,EAAW,EAAA;AAAA,UACT,
|
|
1
|
+
{"version":3,"sources":["../src/components/PullQuote/PullQuote.tsx"],"names":[],"mappings":";;;;AAmBO,IAAM,SAAA,GAAY,UAAA;AAAA,EACvB,CAAC,EAAE,WAAA,EAAa,MAAA,EAAQ,OAAA,EAAS,IAAA,GAAO,KAAA,EAAO,SAAA,EAAW,QAAA,EAAU,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AACtF,IAAA,uBACE,IAAA;AAAA,MAAC,YAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,IAAA,EAAM,OAAA;AAAA,QACN,6BAAA,EAA4B,EAAA;AAAA,QAC5B,SAAA,EAAW,EAAA;AAAA,UACT,0KAAA;AAAA,UACA,IAAA,IAAQ,oDAAA;AAAA,UACR;AAAA,SACF;AAAA,QACC,GAAG,KAAA;AAAA,QAEJ,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,GAAA,EAAA,EAAE,kCAAA,EAAiC,EAAA,EAAG,SAAA,EAAU,OAC9C,QAAA,EACH,CAAA;AAAA,UAAA,CAEE,WAAA,IAAe,IAAA,IAAQ,MAAA,IAAU,IAAA,qBACjC,IAAA;AAAA,YAAC,QAAA;AAAA,YAAA;AAAA,cACC,yCAAA,EAAwC,EAAA;AAAA,cACxC,SAAA,EAAU,0KAAA;AAAA,cAET,QAAA,EAAA;AAAA,gBAAA,WAAA,IAAe,IAAA,oBAAQ,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,cAAc,QAAA,EAAA,WAAA,EAAY,CAAA;AAAA,gBACjE,WAAA,IAAe,QAAQ,MAAA,IAAU,IAAA,wBAAS,MAAA,EAAA,EAAK,aAAA,EAAW,MAAC,QAAA,EAAA,QAAA,EAAG,CAAA;AAAA,gBAC9D;AAAA;AAAA;AAAA;AACH;AAAA;AAAA,KAEJ;AAAA,EAEJ;AACF;AAEA,SAAA,CAAU,WAAA,GAAc,WAAA","file":"chunk-44VYWOCG.js","sourcesContent":["import { forwardRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport type { PullQuoteProps } from \"./PullQuote.types\";\n\n/**\n * A pull quote — the oversized line lifted out of body copy, with optional\n * attribution and a rule-bracketed treatment.\n *\n * Twelve gallery styles build one. The reason this is a component rather than a\n * class is the same reason `<Kbd>` renders a real `<kbd>`: of the eight quote\n * elements in those styles, **one** was a `<blockquote>` — five were `<p>` and\n * two were `<div>` — and **none** used `<cite>` for the attribution. They all\n * look right and none of them says what it is.\n *\n * `citeUrl` maps to `<blockquote cite>`, which is the attribute's actual job\n * (the source URL) and is routinely confused with the visible `<cite>` element\n * (the work's title). Keeping them as separate props stops the two collapsing\n * into one another.\n */\nexport const PullQuote = forwardRef<HTMLQuoteElement, PullQuoteProps>(\n ({ attribution, source, citeUrl, rule = false, className, children, ...props }, ref) => {\n return (\n <blockquote\n ref={ref}\n cite={citeUrl}\n data-react-fancy-pull-quote=\"\"\n className={cn(\n \"m-0 text-2xl font-medium leading-snug tracking-tight text-[color:var(--fancy-text,var(--color-zinc-900))] dark:text-[color:var(--fancy-text-dark,var(--color-zinc-100))]\",\n rule && \"border-y border-zinc-200 py-6 dark:border-zinc-800\",\n className,\n )}\n {...props}\n >\n <p data-react-fancy-pull-quote-text=\"\" className=\"m-0\">\n {children}\n </p>\n\n {(attribution != null || source != null) && (\n <footer\n data-react-fancy-pull-quote-attribution=\"\"\n className=\"mt-3 text-sm font-normal tracking-normal text-[color:var(--fancy-text-muted,var(--color-zinc-500))] dark:text-[color:var(--fancy-text-muted-dark,var(--color-zinc-400))]\"\n >\n {attribution != null && <cite className=\"not-italic\">{attribution}</cite>}\n {attribution != null && source != null && <span aria-hidden> · </span>}\n {source}\n </footer>\n )}\n </blockquote>\n );\n },\n);\n\nPullQuote.displayName = \"PullQuote\";\n"]}
|
|
@@ -29,7 +29,7 @@ function AccordionItem({
|
|
|
29
29
|
{
|
|
30
30
|
"data-react-fancy-accordion-item": "",
|
|
31
31
|
className: cn(
|
|
32
|
-
"border-b border-zinc-200 dark:border-zinc-700",
|
|
32
|
+
"border-b border-[color:var(--fancy-border,var(--color-zinc-200))] dark:border-[color:var(--fancy-border-dark,var(--color-zinc-700))]",
|
|
33
33
|
className
|
|
34
34
|
),
|
|
35
35
|
children
|
|
@@ -115,5 +115,5 @@ var Accordion = Object.assign(AccordionRoot, {
|
|
|
115
115
|
});
|
|
116
116
|
|
|
117
117
|
export { Accordion, useAccordion };
|
|
118
|
-
//# sourceMappingURL=chunk-
|
|
119
|
-
//# sourceMappingURL=chunk-
|
|
118
|
+
//# sourceMappingURL=chunk-45FDQ3R5.js.map
|
|
119
|
+
//# sourceMappingURL=chunk-45FDQ3R5.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/Accordion/Accordion.context.ts","../src/components/Accordion/AccordionItem.tsx","../src/components/Accordion/AccordionTrigger.tsx","../src/components/Accordion/AccordionContent.tsx","../src/components/Accordion/Accordion.tsx"],"names":["jsx"],"mappings":";;;;;AAGO,IAAM,gBAAA,GAAmB,aAAA;AAAA,EAC9B;AACF,CAAA;AAEO,SAAS,YAAA,GAAsC;AACpD,EAAA,MAAM,GAAA,GAAM,WAAW,gBAAgB,CAAA;AACvC,EAAA,IAAI,CAAC,GAAA,EAAK;AACR,IAAA,MAAM,IAAI,KAAA;AAAA,MACR;AAAA,KACF;AAAA,EACF;AACA,EAAA,OAAO,GAAA;AACT;AAEO,IAAM,oBAAA,GAAuB,cAAsB,EAAE,CAAA;AAErD,SAAS,gBAAA,GAA2B;AACzC,EAAA,OAAO,WAAW,oBAAoB,CAAA;AACxC;ACjBO,SAAS,aAAA,CAAc;AAAA,EAC5B,QAAA;AAAA,EACA,KAAA;AAAA,EACA;AACF,CAAA,EAAuB;AACrB,EAAA,uBACE,GAAA,CAAC,oBAAA,CAAqB,QAAA,EAArB,EAA8B,KAAA,EAC7B,QAAA,kBAAA,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,iCAAA,EAAgC,EAAA;AAAA,MAChC,SAAA,EAAW,EAAA;AAAA,QACT
|
|
1
|
+
{"version":3,"sources":["../src/components/Accordion/Accordion.context.ts","../src/components/Accordion/AccordionItem.tsx","../src/components/Accordion/AccordionTrigger.tsx","../src/components/Accordion/AccordionContent.tsx","../src/components/Accordion/Accordion.tsx"],"names":["jsx"],"mappings":"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","file":"chunk-45FDQ3R5.js","sourcesContent":["import { createContext, useContext } from \"react\";\nimport type { AccordionContextValue } from \"./Accordion.types\";\n\nexport const AccordionContext = createContext<AccordionContextValue | null>(\n null,\n);\n\nexport function useAccordion(): AccordionContextValue {\n const ctx = useContext(AccordionContext);\n if (!ctx) {\n throw new Error(\n \"Accordion compound components must be used within <Accordion>\",\n );\n }\n return ctx;\n}\n\nexport const AccordionItemContext = createContext<string>(\"\");\n\nexport function useAccordionItem(): string {\n return useContext(AccordionItemContext);\n}\n","import { cn } from \"../../utils/cn\";\nimport { AccordionItemContext } from \"./Accordion.context\";\nimport type { AccordionItemProps } from \"./Accordion.types\";\n\nexport function AccordionItem({\n children,\n value,\n className,\n}: AccordionItemProps) {\n return (\n <AccordionItemContext.Provider value={value}>\n <div\n data-react-fancy-accordion-item=\"\"\n className={cn(\n \"border-b border-[color:var(--fancy-border,var(--color-zinc-200))] dark:border-[color:var(--fancy-border-dark,var(--color-zinc-700))]\",\n className,\n )}\n >\n {children}\n </div>\n </AccordionItemContext.Provider>\n );\n}\n\nAccordionItem.displayName = \"AccordionItem\";\n","import { ChevronDown } from \"lucide-react\";\nimport { cn } from \"../../utils/cn\";\nimport { useAccordion, useAccordionItem } from \"./Accordion.context\";\nimport type { AccordionTriggerProps } from \"./Accordion.types\";\n\nexport function AccordionTrigger({\n children,\n className,\n}: AccordionTriggerProps) {\n const { openItems, toggle } = useAccordion();\n const value = useAccordionItem();\n const isOpen = openItems.includes(value);\n\n return (\n <button\n data-react-fancy-accordion-trigger=\"\"\n type=\"button\"\n onClick={() => toggle(value)}\n aria-expanded={isOpen}\n className={cn(\n \"flex w-full items-center justify-between py-4 text-left text-sm font-medium transition-colors hover:text-zinc-600 dark:hover:text-zinc-300\",\n className,\n )}\n >\n {children}\n <ChevronDown size={16} className={cn(\"shrink-0 transition-transform duration-200\", isOpen && \"rotate-180\")} />\n </button>\n );\n}\n\nAccordionTrigger.displayName = \"AccordionTrigger\";\n","import { cn } from \"../../utils/cn\";\nimport { useAccordion, useAccordionItem } from \"./Accordion.context\";\nimport type { AccordionContentProps } from \"./Accordion.types\";\n\nexport function AccordionContent({\n children,\n className,\n}: AccordionContentProps) {\n const { openItems } = useAccordion();\n const value = useAccordionItem();\n const isOpen = openItems.includes(value);\n\n return (\n <div\n data-react-fancy-accordion-content=\"\"\n className={cn(\n \"grid transition-all duration-200\",\n isOpen ? \"grid-rows-[1fr]\" : \"grid-rows-[0fr]\",\n )}\n >\n <div className=\"overflow-hidden\">\n <div className={cn(\"pb-4 text-sm text-zinc-600 dark:text-zinc-400\", className)}>\n {children}\n </div>\n </div>\n </div>\n );\n}\n\nAccordionContent.displayName = \"AccordionContent\";\n","import { useCallback, useMemo, useState } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { AccordionContext } from \"./Accordion.context\";\nimport { AccordionItem } from \"./AccordionItem\";\nimport { AccordionTrigger } from \"./AccordionTrigger\";\nimport { AccordionContent } from \"./AccordionContent\";\nimport type { AccordionProps } from \"./Accordion.types\";\n\nfunction AccordionRoot({\n children,\n type = \"single\",\n defaultOpen = [],\n className,\n}: AccordionProps) {\n const [openItems, setOpenItems] = useState<string[]>(defaultOpen);\n const multiple = type === \"multiple\";\n\n const toggle = useCallback(\n (value: string) => {\n setOpenItems((prev) => {\n if (prev.includes(value)) {\n return prev.filter((v) => v !== value);\n }\n return multiple ? [...prev, value] : [value];\n });\n },\n [multiple],\n );\n\n const ctx = useMemo(\n () => ({ openItems, toggle, multiple }),\n [openItems, toggle, multiple],\n );\n\n return (\n <AccordionContext.Provider value={ctx}>\n <div data-react-fancy-accordion=\"\" className={cn(className)}>{children}</div>\n </AccordionContext.Provider>\n );\n}\n\nexport const Accordion = Object.assign(AccordionRoot, {\n Item: AccordionItem,\n Trigger: AccordionTrigger,\n Content: AccordionContent,\n});\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { DisplayValue } from './chunk-
|
|
2
|
-
import { Field } from './chunk-
|
|
3
|
-
import { resolveOption, dirtyRingClasses } from './chunk-
|
|
1
|
+
import { DisplayValue } from './chunk-WX5XYDVN.js';
|
|
2
|
+
import { Field } from './chunk-5WQ6FPSP.js';
|
|
3
|
+
import { resolveOption, dirtyRingClasses } from './chunk-USWQAMI3.js';
|
|
4
4
|
import { useInlineEdit } from './chunk-OL53XYHF.js';
|
|
5
5
|
import { useFieldMode } from './chunk-NRXK42LO.js';
|
|
6
6
|
import { useControllableState } from './chunk-EDYAXGUM.js';
|
|
@@ -79,7 +79,7 @@ function RadioGroup({
|
|
|
79
79
|
onChange: () => setValue(resolved.value),
|
|
80
80
|
className: cn(
|
|
81
81
|
sizeClasses,
|
|
82
|
-
"cursor-pointer border border-zinc-300 bg-white text-blue-600 transition-[border-color,box-shadow] duration-150 focus:ring-2 focus:ring-blue-500/40 focus:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50 dark:border-zinc-700 dark:bg-[
|
|
82
|
+
"cursor-pointer border border-[color:var(--fancy-border-strong,var(--color-zinc-300))] bg-[color:var(--fancy-input,var(--color-white))] text-blue-600 transition-[border-color,box-shadow] duration-150 focus:ring-2 focus:ring-blue-500/40 focus:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50 dark:border-[color:var(--fancy-border-strong-dark,var(--color-zinc-700))] dark:bg-[color:var(--fancy-input-dark,#1e1e24)]",
|
|
83
83
|
dirtyRingClasses(dirty),
|
|
84
84
|
error && "border-red-500"
|
|
85
85
|
)
|
|
@@ -97,7 +97,7 @@ function RadioGroup({
|
|
|
97
97
|
children: resolved.label
|
|
98
98
|
}
|
|
99
99
|
),
|
|
100
|
-
resolved.description && /* @__PURE__ */ jsx("span", { className: "text-xs text-zinc-500 dark:text-zinc-400", children: resolved.description })
|
|
100
|
+
resolved.description && /* @__PURE__ */ jsx("span", { className: "text-xs text-[color:var(--fancy-text-muted,var(--color-zinc-500))] dark:text-[color:var(--fancy-text-muted-dark,var(--color-zinc-400))]", children: resolved.description })
|
|
101
101
|
] })
|
|
102
102
|
] }, optionId);
|
|
103
103
|
})
|
|
@@ -123,5 +123,5 @@ function RadioGroup({
|
|
|
123
123
|
RadioGroup.displayName = "RadioGroup";
|
|
124
124
|
|
|
125
125
|
export { RadioGroup };
|
|
126
|
-
//# sourceMappingURL=chunk-
|
|
127
|
-
//# sourceMappingURL=chunk-
|
|
126
|
+
//# sourceMappingURL=chunk-4FH2JHUY.js.map
|
|
127
|
+
//# sourceMappingURL=chunk-4FH2JHUY.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/inputs/RadioGroup/RadioGroup.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../src/components/inputs/RadioGroup/RadioGroup.tsx"],"names":[],"mappings":"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","file":"chunk-4FH2JHUY.js","sourcesContent":["import { useId } from \"react\";\nimport { cn } from \"../../../utils/cn\";\nimport { useControllableState } from \"../../../hooks/use-controllable-state\";\nimport { Field } from \"../Field\";\nimport { useFieldMode } from \"../mode/FieldMode.context\";\nimport { DisplayValue } from \"../mode/DisplayValue\";\nimport { useInlineEdit } from \"../mode/useInlineEdit\";\nimport { dirtyRingClasses, resolveOption } from \"../inputs.utils\";\nimport type { RadioGroupProps } from \"./RadioGroup.types\";\n\nexport function RadioGroup<V = string>({\n size = \"md\",\n dirty,\n error,\n label,\n labelHidden,\n description,\n required,\n disabled,\n className,\n name,\n list,\n value: controlledValue,\n defaultValue,\n onValueChange,\n orientation = \"vertical\",\n mode,\n ...rest\n}: RadioGroupProps<V>) {\n const groupId = useId();\n const radioName = name ?? groupId;\n // Same reason as MultiSwitch: a `<label>` cannot name a div[role=\"radiogroup\"].\n // This one did not even pass `htmlFor`, so its label named nothing at all.\n const labelId = label ? `${groupId}-label` : undefined;\n const resolvedMode = useFieldMode(mode);\n const { showControl, interactive, enterEdit, exitEdit } = useInlineEdit(resolvedMode, disabled);\n const [value, setValue] = useControllableState(\n controlledValue,\n defaultValue as V,\n onValueChange,\n );\n\n const sizeClasses = {\n xs: \"h-3.5 w-3.5\",\n sm: \"h-4 w-4\",\n md: \"h-[18px] w-[18px]\",\n lg: \"h-5 w-5\",\n xl: \"h-6 w-6\",\n }[size];\n\n const selectedIndex = list.map(resolveOption).findIndex((o) => o.value === value);\n\n const content = !showControl ? (\n <DisplayValue size={size} interactive={interactive} onActivate={enterEdit}>\n {list.map(resolveOption).find((o) => o.value === value)?.label}\n </DisplayValue>\n ) : (\n <div\n {...rest}\n data-react-fancy-radio-group=\"\"\n role=\"radiogroup\"\n aria-labelledby={labelId}\n onBlur={(e) => {\n if (interactive && !e.currentTarget.contains(e.relatedTarget as Node)) exitEdit();\n }}\n className={cn(\n \"flex gap-3\",\n orientation === \"vertical\" ? \"flex-col\" : \"flex-row flex-wrap\",\n className,\n )}\n >\n {list.map((option, index) => {\n const resolved = resolveOption(option);\n const optionId = `${groupId}-${index}`;\n const isSelected = value === resolved.value;\n // Focus the selected radio on entering edit (or the first if none).\n const shouldAutoFocus =\n interactive && (selectedIndex === -1 ? index === 0 : isSelected);\n\n return (\n <div key={optionId} className=\"flex items-start gap-2\">\n <input\n id={optionId}\n type=\"radio\"\n name={radioName}\n value={String(resolved.value)}\n checked={isSelected}\n disabled={disabled || resolved.disabled}\n autoFocus={shouldAutoFocus}\n onChange={() => setValue(resolved.value)}\n className={cn(\n sizeClasses,\n \"cursor-pointer border border-[color:var(--fancy-border-strong,var(--color-zinc-300))] bg-[color:var(--fancy-input,var(--color-white))] text-blue-600 transition-[border-color,box-shadow] duration-150 focus:ring-2 focus:ring-blue-500/40 focus:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50 dark:border-[color:var(--fancy-border-strong-dark,var(--color-zinc-700))] dark:bg-[color:var(--fancy-input-dark,#1e1e24)]\",\n dirtyRingClasses(dirty),\n error && \"border-red-500\",\n )}\n />\n <div className=\"flex flex-col\">\n <label\n htmlFor={optionId}\n className={cn(\n \"cursor-pointer text-sm text-zinc-700 dark:text-zinc-100\",\n (disabled || resolved.disabled) &&\n \"cursor-not-allowed opacity-50\",\n )}\n >\n {resolved.label}\n </label>\n {resolved.description && (\n <span className=\"text-xs text-[color:var(--fancy-text-muted,var(--color-zinc-500))] dark:text-[color:var(--fancy-text-muted-dark,var(--color-zinc-400))]\">\n {resolved.description}\n </span>\n )}\n </div>\n </div>\n );\n })}\n </div>\n );\n\n if (label || error || description) {\n return (\n <Field\n label={label}\n labelHidden={labelHidden}\n labelId={labelId}\n description={description}\n error={error}\n required={required}\n size={size}\n >\n {content}\n </Field>\n );\n }\n\n return content;\n}\n\nRadioGroup.displayName = \"RadioGroup\";\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var chunk4XMBXG4K_cjs = require('./chunk-4XMBXG4K.cjs');
|
|
4
|
+
var chunkTTZJ2KXK_cjs = require('./chunk-TTZJ2KXK.cjs');
|
|
5
5
|
var chunkZU5Q77OT_cjs = require('./chunk-ZU5Q77OT.cjs');
|
|
6
6
|
var react = require('react');
|
|
7
7
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -120,14 +120,14 @@ var CardSection = react.forwardRef(
|
|
|
120
120
|
className: chunkZU5Q77OT_cjs.cn(
|
|
121
121
|
standalone && selfPadding[padding],
|
|
122
122
|
banded && "bg-zinc-50 dark:bg-zinc-800/50",
|
|
123
|
-
ruled && !dividerInset && (edge === "bottom" ? "border-b border-zinc-200 dark:border-zinc-700" : "border-t border-zinc-200 dark:border-zinc-700"),
|
|
123
|
+
ruled && !dividerInset && (edge === "bottom" ? "border-b border-[color:var(--fancy-border,var(--color-zinc-200))] dark:border-[color:var(--fancy-border-dark,var(--color-zinc-700))]" : "border-t border-[color:var(--fancy-border,var(--color-zinc-200))] dark:border-[color:var(--fancy-border-dark,var(--color-zinc-700))]"),
|
|
124
124
|
// An inset rule cannot be a border: a border draws on the element's
|
|
125
125
|
// own edge, and the whole point is to stop short of it. So it is a
|
|
126
126
|
// one-pixel pseudo-element, inset by the same step the padding uses —
|
|
127
127
|
// which is why both come out of one table in Card.scales.
|
|
128
128
|
ruled && dividerInset && chunkZU5Q77OT_cjs.cn(
|
|
129
129
|
"relative",
|
|
130
|
-
edge === "bottom" ? "after:absolute after:bottom-0 after:h-px after:bg-zinc-200 dark:after:bg-zinc-700" : "before:absolute before:top-0 before:h-px before:bg-zinc-200 dark:before:bg-zinc-700",
|
|
130
|
+
edge === "bottom" ? "after:absolute after:bottom-0 after:h-px after:bg-[color:var(--fancy-border,var(--color-zinc-200))] dark:after:bg-[color:var(--fancy-border-dark,var(--color-zinc-700))]" : "before:absolute before:top-0 before:h-px before:bg-[color:var(--fancy-border,var(--color-zinc-200))] dark:before:bg-[color:var(--fancy-border-dark,var(--color-zinc-700))]",
|
|
131
131
|
edge === "bottom" ? dividerInsetAfter[padding] : dividerInsetBefore[padding]
|
|
132
132
|
),
|
|
133
133
|
hasComposition && "flex items-center gap-3",
|
|
@@ -138,7 +138,7 @@ var CardSection = react.forwardRef(
|
|
|
138
138
|
children: /* @__PURE__ */ jsxRuntime.jsx(CardSectionContext.Provider, { value: padding, children: composed ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
139
139
|
(heading != null || description != null) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0", children: [
|
|
140
140
|
heading != null && /* @__PURE__ */ jsxRuntime.jsx(
|
|
141
|
-
|
|
141
|
+
chunkTTZJ2KXK_cjs.Heading,
|
|
142
142
|
{
|
|
143
143
|
as: headingLevel,
|
|
144
144
|
size: "sm",
|
|
@@ -148,7 +148,7 @@ var CardSection = react.forwardRef(
|
|
|
148
148
|
}
|
|
149
149
|
),
|
|
150
150
|
description != null && /* @__PURE__ */ jsxRuntime.jsx(
|
|
151
|
-
|
|
151
|
+
chunk4XMBXG4K_cjs.Text,
|
|
152
152
|
{
|
|
153
153
|
size: "sm",
|
|
154
154
|
color: "muted",
|
|
@@ -320,7 +320,7 @@ var CardBleed = react.forwardRef(
|
|
|
320
320
|
);
|
|
321
321
|
CardBleed.displayName = "CardBleed";
|
|
322
322
|
var variantClasses = {
|
|
323
|
-
outlined: "border border-zinc-200 dark:border-zinc-700",
|
|
323
|
+
outlined: "border border-[color:var(--fancy-border,var(--color-zinc-200))] dark:border-[color:var(--fancy-border-dark,var(--color-zinc-700))]",
|
|
324
324
|
elevated: "shadow-md border border-zinc-100 dark:border-zinc-800",
|
|
325
325
|
flat: "bg-zinc-50 dark:bg-zinc-800/50",
|
|
326
326
|
// Tint steps between "no tint" and `flat`. They work the same way `flat`
|
|
@@ -328,7 +328,7 @@ var variantClasses = {
|
|
|
328
328
|
// `cn` is tailwind-merge and resolves conflicting utilities last-wins. Class
|
|
329
329
|
// ORDER decides this, not CSS specificity — so these must stay after the base
|
|
330
330
|
// background in the `cn(...)` call below.
|
|
331
|
-
muted: "bg-zinc-100 dark:bg-zinc-800",
|
|
331
|
+
muted: "bg-[color:var(--fancy-surface-muted,var(--color-zinc-100))] dark:bg-[color:var(--fancy-surface-muted-dark,var(--color-zinc-800))]",
|
|
332
332
|
soft: "bg-zinc-50/70 dark:bg-zinc-800/40"
|
|
333
333
|
};
|
|
334
334
|
var CardRoot = react.forwardRef(
|
|
@@ -355,7 +355,7 @@ var CardRoot = react.forwardRef(
|
|
|
355
355
|
ref,
|
|
356
356
|
"data-react-fancy-card": "",
|
|
357
357
|
className: chunkZU5Q77OT_cjs.cn(
|
|
358
|
-
"bg-white dark:bg-zinc-900",
|
|
358
|
+
"bg-[color:var(--fancy-surface,var(--color-white))] dark:bg-[color:var(--fancy-surface-dark,var(--color-zinc-900))]",
|
|
359
359
|
radiusClasses[size],
|
|
360
360
|
variantClasses[variant],
|
|
361
361
|
// A pseudo-element rather than an inset box-shadow: `shadow-*` and
|
|
@@ -395,5 +395,5 @@ exports.CardBody = CardBody;
|
|
|
395
395
|
exports.CardFooter = CardFooter;
|
|
396
396
|
exports.CardHeader = CardHeader;
|
|
397
397
|
exports.CardMedia = CardMedia;
|
|
398
|
-
//# sourceMappingURL=chunk-
|
|
399
|
-
//# sourceMappingURL=chunk-
|
|
398
|
+
//# sourceMappingURL=chunk-4JT2QANA.cjs.map
|
|
399
|
+
//# sourceMappingURL=chunk-4JT2QANA.cjs.map
|