silver-ui 0.1.1 → 0.2.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/README.md +38 -6
- package/dist/chunk-24J3BUKL.js +40 -0
- package/dist/chunk-24J3BUKL.js.map +1 -0
- package/dist/{chunk-WA4DRAQ7.js → chunk-2IKWX66Q.js} +8 -8
- package/dist/chunk-2IKWX66Q.js.map +1 -0
- package/dist/{chunk-FVIEYPDB.js → chunk-2K44WLBJ.js} +19 -17
- package/dist/chunk-2K44WLBJ.js.map +1 -0
- package/dist/{chunk-5G3BY75L.cjs → chunk-2P6D43V2.cjs} +6 -6
- package/dist/{chunk-5G3BY75L.cjs.map → chunk-2P6D43V2.cjs.map} +1 -1
- package/dist/{chunk-O5RVLBKN.cjs → chunk-2RIDPITG.cjs} +14 -15
- package/dist/chunk-2RIDPITG.cjs.map +1 -0
- package/dist/{chunk-PDXZDPOY.cjs → chunk-2VIJC4NW.cjs} +48 -47
- package/dist/chunk-2VIJC4NW.cjs.map +1 -0
- package/dist/{chunk-6BSEY2DF.js → chunk-2VOB6LEI.js} +5 -5
- package/dist/{chunk-6BSEY2DF.js.map → chunk-2VOB6LEI.js.map} +1 -1
- package/dist/{chunk-GUF4ZNPQ.js → chunk-35MFOORC.js} +6 -6
- package/dist/chunk-35MFOORC.js.map +1 -0
- package/dist/{chunk-RJXHAQCR.cjs → chunk-36QGPGT2.cjs} +25 -23
- package/dist/chunk-36QGPGT2.cjs.map +1 -0
- package/dist/chunk-3DFRJSNE.cjs +52 -0
- package/dist/chunk-3DFRJSNE.cjs.map +1 -0
- package/dist/chunk-3DZPRXMC.cjs +559 -0
- package/dist/chunk-3DZPRXMC.cjs.map +1 -0
- package/dist/{chunk-GI3NLBCW.cjs → chunk-3IDEWEDY.cjs} +22 -22
- package/dist/{chunk-GI3NLBCW.cjs.map → chunk-3IDEWEDY.cjs.map} +1 -1
- package/dist/{chunk-WIO3XITR.js → chunk-3JVD4AXC.js} +5 -5
- package/dist/{chunk-WIO3XITR.js.map → chunk-3JVD4AXC.js.map} +1 -1
- package/dist/chunk-3M23WX6K.js +106 -0
- package/dist/chunk-3M23WX6K.js.map +1 -0
- package/dist/{chunk-BSBEPQLM.cjs → chunk-3SLWOIT4.cjs} +4 -5
- package/dist/chunk-3SLWOIT4.cjs.map +1 -0
- package/dist/{chunk-Z2UFJIZU.cjs → chunk-3WMLV4VP.cjs} +20 -20
- package/dist/{chunk-Z2UFJIZU.cjs.map → chunk-3WMLV4VP.cjs.map} +1 -1
- package/dist/chunk-463O56TB.js +224 -0
- package/dist/chunk-463O56TB.js.map +1 -0
- package/dist/{chunk-SMF3YBH5.cjs → chunk-47FUQCAT.cjs} +70 -70
- package/dist/{chunk-SMF3YBH5.cjs.map → chunk-47FUQCAT.cjs.map} +1 -1
- package/dist/{chunk-YMC56K6R.cjs → chunk-4I6VIR44.cjs} +26 -29
- package/dist/chunk-4I6VIR44.cjs.map +1 -0
- package/dist/{chunk-YHR44PWO.js → chunk-4M2KCZMO.js} +5 -5
- package/dist/chunk-4M2KCZMO.js.map +1 -0
- package/dist/{chunk-PHFEQG4E.cjs → chunk-4TIAKZ4Q.cjs} +4 -5
- package/dist/chunk-4TIAKZ4Q.cjs.map +1 -0
- package/dist/{chunk-F7AUYO3H.cjs → chunk-4YESF35X.cjs} +18 -18
- package/dist/{chunk-F7AUYO3H.cjs.map → chunk-4YESF35X.cjs.map} +1 -1
- package/dist/{chunk-2ZGGJWJY.cjs → chunk-4YQSKCVF.cjs} +16 -16
- package/dist/{chunk-2ZGGJWJY.cjs.map → chunk-4YQSKCVF.cjs.map} +1 -1
- package/dist/{chunk-4A4EI26N.cjs → chunk-4YQTSHIB.cjs} +35 -35
- package/dist/{chunk-4A4EI26N.cjs.map → chunk-4YQTSHIB.cjs.map} +1 -1
- package/dist/{chunk-Z2STCD6I.js → chunk-5MDH6QZE.js} +4 -4
- package/dist/chunk-5MDH6QZE.js.map +1 -0
- package/dist/chunk-5QPM5LUS.cjs +46 -0
- package/dist/chunk-5QPM5LUS.cjs.map +1 -0
- package/dist/{chunk-YRXGCYT2.js → chunk-63RKQ237.js} +11 -13
- package/dist/chunk-63RKQ237.js.map +1 -0
- package/dist/chunk-6BK4LUK4.cjs +17 -0
- package/dist/chunk-6BK4LUK4.cjs.map +1 -0
- package/dist/chunk-6D3FA247.js +126 -0
- package/dist/chunk-6D3FA247.js.map +1 -0
- package/dist/{chunk-H6OY6FLC.js → chunk-6NY5DOFM.js} +16 -14
- package/dist/chunk-6NY5DOFM.js.map +1 -0
- package/dist/{chunk-RJQQ2UIQ.js → chunk-74ONIT6C.js} +5 -5
- package/dist/{chunk-RJQQ2UIQ.js.map → chunk-74ONIT6C.js.map} +1 -1
- package/dist/{chunk-CZJUKLFD.cjs → chunk-76FHSISK.cjs} +4 -5
- package/dist/chunk-76FHSISK.cjs.map +1 -0
- package/dist/chunk-77RGTGRM.cjs +128 -0
- package/dist/chunk-77RGTGRM.cjs.map +1 -0
- package/dist/{chunk-W6B55MNU.js → chunk-7DWASA3K.js} +4 -4
- package/dist/{chunk-W6B55MNU.js.map → chunk-7DWASA3K.js.map} +1 -1
- package/dist/{chunk-MKAOIB2O.cjs → chunk-7GN6YTSS.cjs} +14 -13
- package/dist/chunk-7GN6YTSS.cjs.map +1 -0
- package/dist/chunk-7MB2KK6X.js +50 -0
- package/dist/chunk-7MB2KK6X.js.map +1 -0
- package/dist/{chunk-KVREBGWA.js → chunk-7P3VY5JZ.js} +4 -7
- package/dist/chunk-7P3VY5JZ.js.map +1 -0
- package/dist/{chunk-4W7L63LH.js → chunk-7T3SWOY7.js} +4 -4
- package/dist/chunk-7T3SWOY7.js.map +1 -0
- package/dist/{chunk-BTBOTNOE.cjs → chunk-A66NIFJE.cjs} +18 -18
- package/dist/{chunk-BTBOTNOE.cjs.map → chunk-A66NIFJE.cjs.map} +1 -1
- package/dist/chunk-ABEOBHAM.cjs +416 -0
- package/dist/chunk-ABEOBHAM.cjs.map +1 -0
- package/dist/chunk-AJYVGSBW.cjs +56 -0
- package/dist/chunk-AJYVGSBW.cjs.map +1 -0
- package/dist/{chunk-EM2F6BZ2.js → chunk-AKTUU5ML.js} +9 -9
- package/dist/chunk-AKTUU5ML.js.map +1 -0
- package/dist/{chunk-CA6645TQ.js → chunk-AMG3S252.js} +5 -8
- package/dist/chunk-AMG3S252.js.map +1 -0
- package/dist/{chunk-HXT6A6GH.cjs → chunk-AX6HC2YY.cjs} +6 -7
- package/dist/chunk-AX6HC2YY.cjs.map +1 -0
- package/dist/{chunk-NOZ6U6ZJ.js → chunk-AXCE2HKG.js} +16 -13
- package/dist/chunk-AXCE2HKG.js.map +1 -0
- package/dist/{chunk-BCJ25X7C.js → chunk-BA2VUDQS.js} +114 -74
- package/dist/chunk-BA2VUDQS.js.map +1 -0
- package/dist/{chunk-WSAZHUB3.cjs → chunk-BDBHHJGN.cjs} +21 -20
- package/dist/chunk-BDBHHJGN.cjs.map +1 -0
- package/dist/{chunk-2UTRYTT3.cjs → chunk-BDPE6ZKX.cjs} +114 -74
- package/dist/chunk-BDPE6ZKX.cjs.map +1 -0
- package/dist/{chunk-CXBB2LN7.js → chunk-BKKLUIIU.js} +2 -2
- package/dist/chunk-BKKLUIIU.js.map +1 -0
- package/dist/{chunk-VL6IDFI2.js → chunk-BTL6GUMN.js} +4 -4
- package/dist/{chunk-VL6IDFI2.js.map → chunk-BTL6GUMN.js.map} +1 -1
- package/dist/{chunk-S5NFDKPL.js → chunk-BZ4XKKNH.js} +18 -17
- package/dist/chunk-BZ4XKKNH.js.map +1 -0
- package/dist/chunk-CBJ4APCT.js +556 -0
- package/dist/chunk-CBJ4APCT.js.map +1 -0
- package/dist/{chunk-E4TIWN4Z.cjs → chunk-CPOYENSZ.cjs} +41 -35
- package/dist/chunk-CPOYENSZ.cjs.map +1 -0
- package/dist/{chunk-NJDV3LDH.js → chunk-CPZWTWYQ.js} +12 -17
- package/dist/chunk-CPZWTWYQ.js.map +1 -0
- package/dist/{chunk-6NIFOTUZ.cjs → chunk-DH2ZFYKE.cjs} +47 -45
- package/dist/chunk-DH2ZFYKE.cjs.map +1 -0
- package/dist/{chunk-QRXMW7MQ.cjs → chunk-DP4KK2N4.cjs} +63 -69
- package/dist/chunk-DP4KK2N4.cjs.map +1 -0
- package/dist/{chunk-I25KF3UF.js → chunk-DZ3NHSJ4.js} +6 -6
- package/dist/{chunk-I25KF3UF.js.map → chunk-DZ3NHSJ4.js.map} +1 -1
- package/dist/{chunk-K574UTWP.cjs → chunk-E2JZGYKU.cjs} +14 -15
- package/dist/chunk-E2JZGYKU.cjs.map +1 -0
- package/dist/{chunk-C2CNRYZI.cjs → chunk-E7UOFIBW.cjs} +30 -30
- package/dist/{chunk-C2CNRYZI.cjs.map → chunk-E7UOFIBW.cjs.map} +1 -1
- package/dist/{chunk-HPZ7LLXK.js → chunk-EBCHOGKT.js} +11 -12
- package/dist/chunk-EBCHOGKT.js.map +1 -0
- package/dist/{chunk-DFF72N57.js → chunk-EFO5NDBJ.js} +4 -5
- package/dist/chunk-EFO5NDBJ.js.map +1 -0
- package/dist/chunk-EHCAF6D3.js +44 -0
- package/dist/chunk-EHCAF6D3.js.map +1 -0
- package/dist/{chunk-EB5EHX6I.js → chunk-EMHLPPQZ.js} +5 -4
- package/dist/chunk-EMHLPPQZ.js.map +1 -0
- package/dist/{chunk-IWSS5745.js → chunk-ESJND7B6.js} +18 -17
- package/dist/chunk-ESJND7B6.js.map +1 -0
- package/dist/{chunk-V5W7NZN5.js → chunk-EXYBQVZT.js} +3 -3
- package/dist/{chunk-V5W7NZN5.js.map → chunk-EXYBQVZT.js.map} +1 -1
- package/dist/chunk-FDSUILCM.cjs +202 -0
- package/dist/chunk-FDSUILCM.cjs.map +1 -0
- package/dist/{chunk-ELCRG7WZ.js → chunk-FHKB6MBQ.js} +15 -15
- package/dist/{chunk-ELCRG7WZ.js.map → chunk-FHKB6MBQ.js.map} +1 -1
- package/dist/{chunk-NAELQLZN.js → chunk-FMEIPGUP.js} +3 -3
- package/dist/{chunk-NAELQLZN.js.map → chunk-FMEIPGUP.js.map} +1 -1
- package/dist/{chunk-PLFKU46A.js → chunk-GEGYC7CE.js} +7 -7
- package/dist/{chunk-PLFKU46A.js.map → chunk-GEGYC7CE.js.map} +1 -1
- package/dist/{chunk-TPSOUQG7.cjs → chunk-GGZGVAEF.cjs} +29 -28
- package/dist/chunk-GGZGVAEF.cjs.map +1 -0
- package/dist/{chunk-PBZWX2RJ.js → chunk-GTPRZCNZ.js} +5 -5
- package/dist/{chunk-PBZWX2RJ.js.map → chunk-GTPRZCNZ.js.map} +1 -1
- package/dist/chunk-GUKZNXTB.js +15 -0
- package/dist/chunk-GUKZNXTB.js.map +1 -0
- package/dist/chunk-GYUWDJXS.cjs +282 -0
- package/dist/chunk-GYUWDJXS.cjs.map +1 -0
- package/dist/{chunk-OAUKYH6C.cjs → chunk-H7LOOHWU.cjs} +2 -2
- package/dist/chunk-H7LOOHWU.cjs.map +1 -0
- package/dist/{chunk-NSHWBZL4.cjs → chunk-HM7IEGQ2.cjs} +14 -13
- package/dist/chunk-HM7IEGQ2.cjs.map +1 -0
- package/dist/{chunk-UZNSGQT3.cjs → chunk-HMWV6KCW.cjs} +34 -40
- package/dist/chunk-HMWV6KCW.cjs.map +1 -0
- package/dist/{chunk-KXXTWWJZ.cjs → chunk-I45346RZ.cjs} +8 -10
- package/dist/chunk-I45346RZ.cjs.map +1 -0
- package/dist/{chunk-LBRKUZSQ.cjs → chunk-IKF6VHA4.cjs} +73 -114
- package/dist/chunk-IKF6VHA4.cjs.map +1 -0
- package/dist/{chunk-YLXM3CGV.js → chunk-IR4COTIR.js} +5 -5
- package/dist/{chunk-YLXM3CGV.js.map → chunk-IR4COTIR.js.map} +1 -1
- package/dist/{chunk-QFO5ZTZZ.js → chunk-IUUQXCDE.js} +8 -9
- package/dist/chunk-IUUQXCDE.js.map +1 -0
- package/dist/{chunk-WEEYUS7M.cjs → chunk-IXJOPMJX.cjs} +7 -7
- package/dist/chunk-IXJOPMJX.cjs.map +1 -0
- package/dist/{chunk-PZO5MZ46.js → chunk-J2FCNWYM.js} +7 -6
- package/dist/chunk-J2FCNWYM.js.map +1 -0
- package/dist/chunk-JEK5SVB5.cjs +226 -0
- package/dist/chunk-JEK5SVB5.cjs.map +1 -0
- package/dist/{chunk-ZVBVKZ4P.cjs → chunk-JKERY7QF.cjs} +27 -18
- package/dist/chunk-JKERY7QF.cjs.map +1 -0
- package/dist/{chunk-32XQJNKY.cjs → chunk-JMLJLDHO.cjs} +15 -15
- package/dist/{chunk-32XQJNKY.cjs.map → chunk-JMLJLDHO.cjs.map} +1 -1
- package/dist/{chunk-47BELFYO.cjs → chunk-JMNH45Q3.cjs} +17 -18
- package/dist/chunk-JMNH45Q3.cjs.map +1 -0
- package/dist/{chunk-JAX62FUE.cjs → chunk-JRBQKFVO.cjs} +14 -14
- package/dist/{chunk-JAX62FUE.cjs.map → chunk-JRBQKFVO.cjs.map} +1 -1
- package/dist/{chunk-6UVJUY7Z.cjs → chunk-JVLE7PCJ.cjs} +11 -12
- package/dist/chunk-JVLE7PCJ.cjs.map +1 -0
- package/dist/chunk-K6CQ45C2.js +115 -0
- package/dist/chunk-K6CQ45C2.js.map +1 -0
- package/dist/chunk-K77D7H4V.cjs +125 -0
- package/dist/chunk-K77D7H4V.cjs.map +1 -0
- package/dist/chunk-KFEXS6OK.cjs +118 -0
- package/dist/chunk-KFEXS6OK.cjs.map +1 -0
- package/dist/{chunk-KYDRDJRM.cjs → chunk-L6JT244G.cjs} +5 -5
- package/dist/{chunk-KYDRDJRM.cjs.map → chunk-L6JT244G.cjs.map} +1 -1
- package/dist/{chunk-3UUZY42Z.js → chunk-L6WUK7O4.js} +5 -5
- package/dist/{chunk-3UUZY42Z.js.map → chunk-L6WUK7O4.js.map} +1 -1
- package/dist/{chunk-OA4KIVLO.cjs → chunk-LFRTNC7M.cjs} +12 -13
- package/dist/chunk-LFRTNC7M.cjs.map +1 -0
- package/dist/{chunk-Y73472IA.js → chunk-LJLCGQRV.js} +6 -6
- package/dist/chunk-LJLCGQRV.js.map +1 -0
- package/dist/{chunk-JCYPM27J.js → chunk-MEBIRX2P.js} +7 -7
- package/dist/chunk-MEBIRX2P.js.map +1 -0
- package/dist/{chunk-YX7DI3O3.cjs → chunk-MMQIQILP.cjs} +30 -31
- package/dist/chunk-MMQIQILP.cjs.map +1 -0
- package/dist/{chunk-QRDRZNCS.cjs → chunk-MMST4VXH.cjs} +25 -26
- package/dist/chunk-MMST4VXH.cjs.map +1 -0
- package/dist/{chunk-LFZXGIR6.cjs → chunk-MNVBSOAQ.cjs} +48 -46
- package/dist/chunk-MNVBSOAQ.cjs.map +1 -0
- package/dist/{chunk-CR4NB42L.cjs → chunk-MX2F3HUI.cjs} +37 -39
- package/dist/chunk-MX2F3HUI.cjs.map +1 -0
- package/dist/{chunk-L3G7SHEP.cjs → chunk-NF63IRZR.cjs} +42 -42
- package/dist/{chunk-L3G7SHEP.cjs.map → chunk-NF63IRZR.cjs.map} +1 -1
- package/dist/chunk-NUTB2K4G.js +87 -0
- package/dist/chunk-NUTB2K4G.js.map +1 -0
- package/dist/{chunk-NPJXGQOF.cjs → chunk-O2ZMOBMA.cjs} +116 -117
- package/dist/chunk-O2ZMOBMA.cjs.map +1 -0
- package/dist/{chunk-NILB6Y4Z.cjs → chunk-O3T7Z6RH.cjs} +31 -145
- package/dist/chunk-O3T7Z6RH.cjs.map +1 -0
- package/dist/{chunk-2XCNB2O6.js → chunk-OBBPRWYD.js} +18 -15
- package/dist/chunk-OBBPRWYD.js.map +1 -0
- package/dist/{chunk-UHQRL4OA.js → chunk-OD4DHHZH.js} +25 -3
- package/dist/chunk-OD4DHHZH.js.map +1 -0
- package/dist/{chunk-PGKOWMP4.js → chunk-OHKL4DOV.js} +78 -69
- package/dist/chunk-OHKL4DOV.js.map +1 -0
- package/dist/{chunk-VVYUCQHP.js → chunk-OJ3KVNW2.js} +17 -23
- package/dist/chunk-OJ3KVNW2.js.map +1 -0
- package/dist/{chunk-CWUC4TOQ.js → chunk-OJCJPYXE.js} +122 -121
- package/dist/chunk-OJCJPYXE.js.map +1 -0
- package/dist/{chunk-MCOVG6W6.js → chunk-P3SMNZCT.js} +75 -115
- package/dist/chunk-P3SMNZCT.js.map +1 -0
- package/dist/{chunk-KXXRALHT.cjs → chunk-P4A7GWQY.cjs} +83 -75
- package/dist/chunk-P4A7GWQY.cjs.map +1 -0
- package/dist/{chunk-2PHHFBJ3.cjs → chunk-P4TOIB2A.cjs} +11 -12
- package/dist/chunk-P4TOIB2A.cjs.map +1 -0
- package/dist/{chunk-RCAA2CZJ.js → chunk-PJXJOI73.js} +13 -13
- package/dist/chunk-PJXJOI73.js.map +1 -0
- package/dist/{chunk-2FPZULX3.cjs → chunk-PNYF6NS4.cjs} +32 -35
- package/dist/chunk-PNYF6NS4.cjs.map +1 -0
- package/dist/chunk-POW2Z7TP.js +414 -0
- package/dist/chunk-POW2Z7TP.js.map +1 -0
- package/dist/{chunk-D6KXW75E.js → chunk-PTZAJW3J.js} +10 -15
- package/dist/chunk-PTZAJW3J.js.map +1 -0
- package/dist/{chunk-YT3UWEVY.js → chunk-PUVBNGCF.js} +27 -17
- package/dist/chunk-PUVBNGCF.js.map +1 -0
- package/dist/{chunk-DONU5ALC.cjs → chunk-PWL6TWVC.cjs} +31 -37
- package/dist/chunk-PWL6TWVC.cjs.map +1 -0
- package/dist/chunk-PXVVTPRJ.js +278 -0
- package/dist/chunk-PXVVTPRJ.js.map +1 -0
- package/dist/{chunk-ZC7H4S4T.cjs → chunk-PYPXJC35.cjs} +6 -7
- package/dist/chunk-PYPXJC35.cjs.map +1 -0
- package/dist/{chunk-GZ5SRSD4.js → chunk-PYW5UO2Z.js} +5 -4
- package/dist/chunk-PYW5UO2Z.js.map +1 -0
- package/dist/{chunk-2QK2NZN5.js → chunk-QADMIAYK.js} +8 -7
- package/dist/chunk-QADMIAYK.js.map +1 -0
- package/dist/chunk-QPYPPJEZ.js +53 -0
- package/dist/chunk-QPYPPJEZ.js.map +1 -0
- package/dist/{chunk-7EXVJWG5.js → chunk-RNB4BDEG.js} +41 -35
- package/dist/chunk-RNB4BDEG.js.map +1 -0
- package/dist/{chunk-VIJHDURK.js → chunk-RQ5BMSGU.js} +5 -5
- package/dist/chunk-RQ5BMSGU.js.map +1 -0
- package/dist/{chunk-VLIQPSPM.js → chunk-RRNT32KY.js} +18 -131
- package/dist/chunk-RRNT32KY.js.map +1 -0
- package/dist/{chunk-VT7VKCHL.cjs → chunk-RSG7N5QQ.cjs} +25 -27
- package/dist/chunk-RSG7N5QQ.cjs.map +1 -0
- package/dist/{chunk-AZDWQGAX.cjs → chunk-RU6JG3FS.cjs} +25 -2
- package/dist/chunk-RU6JG3FS.cjs.map +1 -0
- package/dist/{chunk-YQJJCYJP.js → chunk-S4GLMGFI.js} +6 -6
- package/dist/{chunk-YQJJCYJP.js.map → chunk-S4GLMGFI.js.map} +1 -1
- package/dist/chunk-S54CKWKV.js +107 -0
- package/dist/chunk-S54CKWKV.js.map +1 -0
- package/dist/{chunk-WIW2YR46.js → chunk-SA3LUT6E.js} +31 -14
- package/dist/chunk-SA3LUT6E.js.map +1 -0
- package/dist/{chunk-2FUG6NKO.js → chunk-SSOHJEHS.js} +9 -9
- package/dist/chunk-SSOHJEHS.js.map +1 -0
- package/dist/{chunk-3PSQDJQH.js → chunk-STSR3FAC.js} +17 -14
- package/dist/chunk-STSR3FAC.js.map +1 -0
- package/dist/chunk-SXIBQQ55.js +280 -0
- package/dist/chunk-SXIBQQ55.js.map +1 -0
- package/dist/{chunk-ZW4XKNDR.cjs → chunk-TH3H5UGK.cjs} +38 -21
- package/dist/chunk-TH3H5UGK.cjs.map +1 -0
- package/dist/{chunk-5EQN3YMQ.cjs → chunk-TO3ZPSYO.cjs} +35 -35
- package/dist/chunk-TO3ZPSYO.cjs.map +1 -0
- package/dist/{chunk-I7PJTLP2.cjs → chunk-TZQWZ7IL.cjs} +26 -26
- package/dist/{chunk-I7PJTLP2.cjs.map → chunk-TZQWZ7IL.cjs.map} +1 -1
- package/dist/{chunk-6SPQDYHC.cjs → chunk-U2WVHZ24.cjs} +11 -22
- package/dist/chunk-U2WVHZ24.cjs.map +1 -0
- package/dist/{chunk-U35V3GVC.js → chunk-U4GWNENK.js} +27 -21
- package/dist/chunk-U4GWNENK.js.map +1 -0
- package/dist/{chunk-GKG47NK6.cjs → chunk-U5ZCQI5O.cjs} +86 -88
- package/dist/chunk-U5ZCQI5O.cjs.map +1 -0
- package/dist/{chunk-UWG5UQFV.cjs → chunk-UC36KIEP.cjs} +27 -20
- package/dist/chunk-UC36KIEP.cjs.map +1 -0
- package/dist/chunk-UJODHP7E.cjs +280 -0
- package/dist/chunk-UJODHP7E.cjs.map +1 -0
- package/dist/{chunk-ZHFAFEI2.js → chunk-UQV5MOGR.js} +5 -6
- package/dist/chunk-UQV5MOGR.js.map +1 -0
- package/dist/{chunk-WIIDQ44X.cjs → chunk-UUIAGGFW.cjs} +27 -24
- package/dist/chunk-UUIAGGFW.cjs.map +1 -0
- package/dist/{chunk-YZUBJ2L2.cjs → chunk-UX2Z7LRM.cjs} +17 -18
- package/dist/chunk-UX2Z7LRM.cjs.map +1 -0
- package/dist/chunk-UY3MYNI6.js +123 -0
- package/dist/chunk-UY3MYNI6.js.map +1 -0
- package/dist/{chunk-T55MB2CA.js → chunk-UYKFE7KF.js} +4 -4
- package/dist/chunk-UYKFE7KF.js.map +1 -0
- package/dist/{chunk-DNVOWNQG.cjs → chunk-V7Q64Z3S.cjs} +11 -11
- package/dist/{chunk-DNVOWNQG.cjs.map → chunk-V7Q64Z3S.cjs.map} +1 -1
- package/dist/{chunk-XQMLA75S.js → chunk-VBL5SI5N.js} +18 -16
- package/dist/chunk-VBL5SI5N.js.map +1 -0
- package/dist/{chunk-NMHCRHRI.cjs → chunk-VQ7IRFRR.cjs} +29 -28
- package/dist/chunk-VQ7IRFRR.cjs.map +1 -0
- package/dist/chunk-VXBVSYPA.cjs +109 -0
- package/dist/chunk-VXBVSYPA.cjs.map +1 -0
- package/dist/{chunk-25OAUQRF.cjs → chunk-W3QVSVL7.cjs} +23 -22
- package/dist/chunk-W3QVSVL7.cjs.map +1 -0
- package/dist/chunk-W5G7ZDQ6.cjs +89 -0
- package/dist/chunk-W5G7ZDQ6.cjs.map +1 -0
- package/dist/chunk-WA4VZ363.cjs +259 -0
- package/dist/chunk-WA4VZ363.cjs.map +1 -0
- package/dist/{chunk-IT72TF72.js → chunk-WE2AXMPB.js} +13 -12
- package/dist/chunk-WE2AXMPB.js.map +1 -0
- package/dist/{chunk-2QM5XBX4.cjs → chunk-WMXIUOOU.cjs} +4 -4
- package/dist/{chunk-2QM5XBX4.cjs.map → chunk-WMXIUOOU.cjs.map} +1 -1
- package/dist/{chunk-3L3M7SJ3.js → chunk-WOIWI2UO.js} +3 -3
- package/dist/{chunk-3L3M7SJ3.js.map → chunk-WOIWI2UO.js.map} +1 -1
- package/dist/chunk-WVQDFCFQ.js +199 -0
- package/dist/chunk-WVQDFCFQ.js.map +1 -0
- package/dist/{chunk-WE3ECIRS.cjs → chunk-XHTKGOQV.cjs} +50 -47
- package/dist/chunk-XHTKGOQV.cjs.map +1 -0
- package/dist/chunk-XIFLSMGW.js +200 -0
- package/dist/chunk-XIFLSMGW.js.map +1 -0
- package/dist/{chunk-WBPIJ4D5.js → chunk-XSQOHNIF.js} +5 -5
- package/dist/chunk-XSQOHNIF.js.map +1 -0
- package/dist/{chunk-E7EO3YVJ.js → chunk-XVRQSTUF.js} +3 -3
- package/dist/{chunk-E7EO3YVJ.js.map → chunk-XVRQSTUF.js.map} +1 -1
- package/dist/chunk-YAIEA2YE.cjs +203 -0
- package/dist/chunk-YAIEA2YE.cjs.map +1 -0
- package/dist/chunk-YAYINZT2.cjs +42 -0
- package/dist/chunk-YAYINZT2.cjs.map +1 -0
- package/dist/{chunk-DJW7T3WJ.js → chunk-YUONTRNC.js} +11 -12
- package/dist/chunk-YUONTRNC.js.map +1 -0
- package/dist/chunk-YXYD5HKL.cjs +109 -0
- package/dist/chunk-YXYD5HKL.cjs.map +1 -0
- package/dist/{chunk-EETTQWW5.cjs → chunk-Z7ID5TC7.cjs} +25 -22
- package/dist/chunk-Z7ID5TC7.cjs.map +1 -0
- package/dist/{chunk-5OS5A27C.js → chunk-ZC6GLBEL.js} +6 -6
- package/dist/chunk-ZC6GLBEL.js.map +1 -0
- package/dist/{chunk-R2NQNVEV.js → chunk-ZJ2NV4SQ.js} +19 -21
- package/dist/chunk-ZJ2NV4SQ.js.map +1 -0
- package/dist/{chunk-OKKL652L.js → chunk-ZNUOFLCQ.js} +5 -15
- package/dist/chunk-ZNUOFLCQ.js.map +1 -0
- package/dist/{chunk-P5AZUUM2.cjs → chunk-ZP3UZDSV.cjs} +11 -11
- package/dist/chunk-ZP3UZDSV.cjs.map +1 -0
- package/dist/{chunk-HWCL6JFB.js → chunk-ZW2ATXTL.js} +10 -9
- package/dist/chunk-ZW2ATXTL.js.map +1 -0
- package/dist/components/Accordion/Accordion.d.ts.map +1 -1
- package/dist/components/Accordion/AccordionItem.d.ts.map +1 -1
- package/dist/components/Accordion/AccordionItem.recipe.d.ts +17 -0
- package/dist/components/Accordion/AccordionItem.recipe.d.ts.map +1 -0
- package/dist/components/Accordion/index.cjs +9 -7
- package/dist/components/Accordion/index.js +6 -4
- package/dist/components/Accordion/useCollapsible.d.ts.map +1 -1
- package/dist/components/Alert/Alert.d.ts +13 -4
- package/dist/components/Alert/Alert.d.ts.map +1 -1
- package/dist/components/Alert/Alert.recipe.d.ts +119 -25
- package/dist/components/Alert/Alert.recipe.d.ts.map +1 -1
- package/dist/components/Alert/index.cjs +15 -16
- package/dist/components/Alert/index.d.ts +0 -1
- package/dist/components/Alert/index.d.ts.map +1 -1
- package/dist/components/Alert/index.js +14 -11
- package/dist/components/AlertDialog/AlertDialog.d.ts +1 -1
- package/dist/components/AlertDialog/AlertDialog.d.ts.map +1 -1
- package/dist/components/AlertDialog/index.cjs +19 -16
- package/dist/components/AlertDialog/index.js +17 -14
- package/dist/components/AlertDialog/useAlertDialog.d.ts.map +1 -1
- package/dist/components/AppShell/AppShell.d.ts +2 -2
- package/dist/components/AppShell/AppShell.d.ts.map +1 -1
- package/dist/components/AppShell/index.cjs +24 -25
- package/dist/components/AppShell/index.d.ts +0 -1
- package/dist/components/AppShell/index.d.ts.map +1 -1
- package/dist/components/AppShell/index.js +21 -18
- package/dist/components/AspectRatio/index.cjs +4 -8
- package/dist/components/AspectRatio/index.d.ts +0 -1
- package/dist/components/AspectRatio/index.d.ts.map +1 -1
- package/dist/components/AspectRatio/index.js +3 -3
- package/dist/components/AutocompleteInput/AutocompleteInput.d.ts.map +1 -1
- package/dist/components/AutocompleteInput/index.cjs +24 -20
- package/dist/components/AutocompleteInput/index.js +20 -16
- package/dist/components/Avatar/Avatar.d.ts.map +1 -1
- package/dist/components/Avatar/Avatar.recipe.d.ts +11 -9
- package/dist/components/Avatar/Avatar.recipe.d.ts.map +1 -1
- package/dist/components/Avatar/AvatarStatusDot.d.ts.map +1 -1
- package/dist/components/Avatar/index.cjs +9 -11
- package/dist/components/Avatar/index.d.ts +0 -1
- package/dist/components/Avatar/index.d.ts.map +1 -1
- package/dist/components/Avatar/index.js +6 -4
- package/dist/components/AvatarGroup/index.cjs +9 -11
- package/dist/components/AvatarGroup/index.d.ts +0 -1
- package/dist/components/AvatarGroup/index.d.ts.map +1 -1
- package/dist/components/AvatarGroup/index.js +7 -5
- package/dist/components/Badge/Badge.d.ts +8 -2
- package/dist/components/Badge/Badge.d.ts.map +1 -1
- package/dist/components/Badge/index.cjs +5 -9
- package/dist/components/Badge/index.d.ts +0 -1
- package/dist/components/Badge/index.d.ts.map +1 -1
- package/dist/components/Badge/index.js +4 -4
- package/dist/components/Blockquote/Blockquote.d.ts.map +1 -1
- package/dist/components/Blockquote/Blockquote.recipe.d.ts +4 -0
- package/dist/components/Blockquote/Blockquote.recipe.d.ts.map +1 -0
- package/dist/components/Blockquote/index.cjs +15 -44
- package/dist/components/Blockquote/index.cjs.map +1 -1
- package/dist/components/Blockquote/index.d.ts +1 -0
- package/dist/components/Blockquote/index.d.ts.map +1 -1
- package/dist/components/Blockquote/index.js +6 -46
- package/dist/components/Blockquote/index.js.map +1 -1
- package/dist/components/Breadcrumbs/index.cjs +12 -11
- package/dist/components/Breadcrumbs/index.js +9 -8
- package/dist/components/Button/Button.d.ts.map +1 -1
- package/dist/components/Button/Button.recipe.d.ts +2 -2
- package/dist/components/Button/index.cjs +14 -15
- package/dist/components/Button/index.d.ts +0 -1
- package/dist/components/Button/index.d.ts.map +1 -1
- package/dist/components/Button/index.js +13 -10
- package/dist/components/ButtonGroup/index.cjs +4 -8
- package/dist/components/ButtonGroup/index.d.ts +0 -1
- package/dist/components/ButtonGroup/index.d.ts.map +1 -1
- package/dist/components/ButtonGroup/index.js +3 -3
- package/dist/components/Calendar/index.cjs +15 -12
- package/dist/components/Calendar/index.js +14 -11
- package/dist/components/Card/Card.d.ts +16 -4
- package/dist/components/Card/Card.d.ts.map +1 -1
- package/dist/components/Card/Card.recipe.d.ts +18 -0
- package/dist/components/Card/Card.recipe.d.ts.map +1 -1
- package/dist/components/Card/index.cjs +4 -8
- package/dist/components/Card/index.d.ts +1 -2
- package/dist/components/Card/index.d.ts.map +1 -1
- package/dist/components/Card/index.js +3 -3
- package/dist/components/Center/Center.recipe.d.ts +0 -1
- package/dist/components/Center/Center.recipe.d.ts.map +1 -1
- package/dist/components/Center/index.cjs +4 -8
- package/dist/components/Center/index.d.ts +0 -1
- package/dist/components/Center/index.d.ts.map +1 -1
- package/dist/components/Center/index.js +3 -3
- package/dist/components/CheckboxInput/CheckboxInput.d.ts.map +1 -1
- package/dist/components/CheckboxInput/index.cjs +16 -14
- package/dist/components/CheckboxInput/index.js +15 -13
- package/dist/components/CodeBlock/CodeBlock.d.ts +6 -4
- package/dist/components/CodeBlock/CodeBlock.d.ts.map +1 -1
- package/dist/components/CodeBlock/CodeBlock.recipe.d.ts +87 -0
- package/dist/components/CodeBlock/CodeBlock.recipe.d.ts.map +1 -0
- package/dist/components/CodeBlock/index.cjs +17 -12
- package/dist/components/CodeBlock/index.d.ts +1 -0
- package/dist/components/CodeBlock/index.d.ts.map +1 -1
- package/dist/components/CodeBlock/index.js +16 -11
- package/dist/components/ContextMenu/index.cjs +20 -17
- package/dist/components/ContextMenu/index.js +18 -15
- package/dist/components/DateInput/DateInput.d.ts +1 -1
- package/dist/components/DateInput/DateInput.d.ts.map +1 -1
- package/dist/components/DateInput/index.cjs +21 -17
- package/dist/components/DateInput/index.js +20 -16
- package/dist/components/DateRangeInput/DateRangeInput.d.ts +1 -1
- package/dist/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
- package/dist/components/DateRangeInput/index.cjs +21 -17
- package/dist/components/DateRangeInput/index.js +20 -16
- package/dist/components/DateTimeInput/DateTimeInput.d.ts.map +1 -1
- package/dist/components/DateTimeInput/index.cjs +23 -19
- package/dist/components/DateTimeInput/index.js +22 -18
- package/dist/components/Dialog/Dialog.d.ts +7 -2
- package/dist/components/Dialog/Dialog.d.ts.map +1 -1
- package/dist/components/Dialog/Dialog.recipe.d.ts +13 -10
- package/dist/components/Dialog/Dialog.recipe.d.ts.map +1 -1
- package/dist/components/Dialog/DialogContext.d.ts +6 -0
- package/dist/components/Dialog/DialogContext.d.ts.map +1 -1
- package/dist/components/Dialog/index.cjs +10 -12
- package/dist/components/Dialog/index.d.ts +0 -1
- package/dist/components/Dialog/index.d.ts.map +1 -1
- package/dist/components/Dialog/index.js +6 -4
- package/dist/components/Divider/Divider.d.ts +11 -1
- package/dist/components/Divider/Divider.d.ts.map +1 -1
- package/dist/components/Divider/Divider.recipe.d.ts +35 -10
- package/dist/components/Divider/Divider.recipe.d.ts.map +1 -1
- package/dist/components/Divider/index.cjs +6 -8
- package/dist/components/Divider/index.d.ts +0 -1
- package/dist/components/Divider/index.d.ts.map +1 -1
- package/dist/components/Divider/index.js +5 -3
- package/dist/components/Drawer/index.cjs +13 -197
- package/dist/components/Drawer/index.cjs.map +1 -1
- package/dist/components/Drawer/index.js +4 -198
- package/dist/components/Drawer/index.js.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
- package/dist/components/DropdownMenu/index.cjs +21 -18
- package/dist/components/DropdownMenu/index.js +17 -14
- package/dist/components/EmptyState/index.cjs +8 -11
- package/dist/components/EmptyState/index.d.ts +0 -1
- package/dist/components/EmptyState/index.d.ts.map +1 -1
- package/dist/components/EmptyState/index.js +7 -6
- package/dist/components/Field/Field.d.ts +22 -10
- package/dist/components/Field/Field.d.ts.map +1 -1
- package/dist/components/Field/Field.recipe.d.ts +33 -24
- package/dist/components/Field/Field.recipe.d.ts.map +1 -1
- package/dist/components/Field/index.cjs +14 -24
- package/dist/components/Field/index.d.ts +1 -3
- package/dist/components/Field/index.d.ts.map +1 -1
- package/dist/components/Field/index.js +11 -9
- package/dist/components/Field/inputStyles.d.ts +0 -1
- package/dist/components/Field/inputStyles.d.ts.map +1 -1
- package/dist/components/FileInput/FileInput.d.ts.map +1 -1
- package/dist/components/FileInput/index.cjs +20 -13
- package/dist/components/FileInput/index.js +19 -12
- package/dist/components/HoverCard/index.cjs +6 -5
- package/dist/components/HoverCard/index.js +4 -3
- package/dist/components/Icon/index.cjs +4 -8
- package/dist/components/Icon/index.d.ts +0 -1
- package/dist/components/Icon/index.d.ts.map +1 -1
- package/dist/components/Icon/index.js +3 -3
- package/dist/components/InputGroup/InputGroup.d.ts.map +1 -1
- package/dist/components/InputGroup/index.cjs +16 -14
- package/dist/components/InputGroup/index.js +12 -10
- package/dist/components/Item/Item.d.ts.map +1 -1
- package/dist/components/Item/index.cjs +11 -10
- package/dist/components/Item/index.js +10 -9
- package/dist/components/Kbd/Kbd.d.ts.map +1 -1
- package/dist/components/Kbd/Kbd.recipe.d.ts +28 -13
- package/dist/components/Kbd/Kbd.recipe.d.ts.map +1 -1
- package/dist/components/Kbd/index.cjs +6 -4
- package/dist/components/Kbd/index.d.ts +1 -0
- package/dist/components/Kbd/index.d.ts.map +1 -1
- package/dist/components/Kbd/index.js +5 -3
- package/dist/components/Layout/Layout.d.ts +3 -2
- package/dist/components/Layout/Layout.d.ts.map +1 -1
- package/dist/components/Layout/LayoutContent.d.ts +2 -2
- package/dist/components/Layout/LayoutContent.d.ts.map +1 -1
- package/dist/components/Layout/LayoutFooter.d.ts +2 -2
- package/dist/components/Layout/LayoutFooter.d.ts.map +1 -1
- package/dist/components/Layout/LayoutHeader.d.ts +2 -2
- package/dist/components/Layout/LayoutHeader.d.ts.map +1 -1
- package/dist/components/Layout/LayoutPanel.d.ts +2 -2
- package/dist/components/Layout/LayoutPanel.d.ts.map +1 -1
- package/dist/components/Layout/index.cjs +20 -21
- package/dist/components/Layout/index.d.ts +1 -2
- package/dist/components/Layout/index.d.ts.map +1 -1
- package/dist/components/Layout/index.js +15 -12
- package/dist/components/Layout/types.d.ts +1 -1
- package/dist/components/Layout/types.d.ts.map +1 -1
- package/dist/components/Lightbox/index.cjs +16 -13
- package/dist/components/Lightbox/index.js +14 -11
- package/dist/components/Link/index.cjs +11 -14
- package/dist/components/Link/index.d.ts +0 -1
- package/dist/components/Link/index.d.ts.map +1 -1
- package/dist/components/Link/index.js +8 -7
- package/dist/components/List/ListItem.d.ts.map +1 -1
- package/dist/components/List/index.cjs +13 -12
- package/dist/components/List/index.js +11 -10
- package/dist/components/MetadataList/index.cjs +10 -9
- package/dist/components/MetadataList/index.js +8 -7
- package/dist/components/MultiSelect/MultiSelect.d.ts.map +1 -1
- package/dist/components/MultiSelect/index.cjs +22 -18
- package/dist/components/MultiSelect/index.js +21 -17
- package/dist/components/NavIcon/index.cjs +8 -36
- package/dist/components/NavIcon/index.cjs.map +1 -1
- package/dist/components/NavIcon/index.js +3 -38
- package/dist/components/NavIcon/index.js.map +1 -1
- package/dist/components/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/components/NumberInput/index.cjs +21 -14
- package/dist/components/NumberInput/index.js +20 -13
- package/dist/components/Pagination/index.cjs +15 -12
- package/dist/components/Pagination/index.js +14 -11
- package/dist/components/PasswordInput/PasswordInput.d.ts +1 -1
- package/dist/components/PasswordInput/PasswordInput.d.ts.map +1 -1
- package/dist/components/PasswordInput/index.cjs +25 -54
- package/dist/components/PasswordInput/index.cjs.map +1 -1
- package/dist/components/PasswordInput/index.js +20 -56
- package/dist/components/PasswordInput/index.js.map +1 -1
- package/dist/components/Popover/Popover.d.ts +1 -1
- package/dist/components/Popover/Popover.d.ts.map +1 -1
- package/dist/components/Popover/index.cjs +16 -13
- package/dist/components/Popover/index.js +14 -11
- package/dist/components/Progress/index.cjs +5 -9
- package/dist/components/Progress/index.d.ts +0 -1
- package/dist/components/Progress/index.d.ts.map +1 -1
- package/dist/components/Progress/index.js +4 -4
- package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -1
- package/dist/components/RadioGroup/RadioGroup.recipe.d.ts +90 -0
- package/dist/components/RadioGroup/RadioGroup.recipe.d.ts.map +1 -0
- package/dist/components/RadioGroup/RadioGroupContext.d.ts +1 -1
- package/dist/components/RadioGroup/RadioGroupContext.d.ts.map +1 -1
- package/dist/components/RadioGroup/RadioGroupItem.d.ts.map +1 -1
- package/dist/components/RadioGroup/index.cjs +17 -15
- package/dist/components/RadioGroup/index.d.ts +1 -0
- package/dist/components/RadioGroup/index.d.ts.map +1 -1
- package/dist/components/RadioGroup/index.js +15 -13
- package/dist/components/Rating/Rating.d.ts.map +1 -1
- package/dist/components/Rating/Rating.recipe.d.ts +23 -0
- package/dist/components/Rating/Rating.recipe.d.ts.map +1 -0
- package/dist/components/Rating/index.cjs +17 -179
- package/dist/components/Rating/index.cjs.map +1 -1
- package/dist/components/Rating/index.d.ts +1 -0
- package/dist/components/Rating/index.d.ts.map +1 -1
- package/dist/components/Rating/index.js +8 -181
- package/dist/components/Rating/index.js.map +1 -1
- package/dist/components/Schedule/MonthlyView.d.ts.map +1 -1
- package/dist/components/Schedule/index.cjs +30 -27
- package/dist/components/Schedule/index.js +19 -16
- package/dist/components/SearchFilterInput/index.cjs +40 -36
- package/dist/components/SearchFilterInput/index.js +32 -28
- package/dist/components/SegmentedControl/SegmentedControl.d.ts +6 -1
- package/dist/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
- package/dist/components/SegmentedControl/index.cjs +7 -7
- package/dist/components/SegmentedControl/index.js +5 -5
- package/dist/components/Select/Select.d.ts.map +1 -1
- package/dist/components/Select/index.cjs +23 -19
- package/dist/components/Select/index.js +21 -17
- package/dist/components/SideNav/SideNav.recipe.d.ts.map +1 -1
- package/dist/components/SideNav/SideNavItem.d.ts.map +1 -1
- package/dist/components/SideNav/index.cjs +22 -23
- package/dist/components/SideNav/index.d.ts +0 -1
- package/dist/components/SideNav/index.d.ts.map +1 -1
- package/dist/components/SideNav/index.js +16 -13
- package/dist/components/Skeleton/Skeleton.d.ts.map +1 -1
- package/dist/components/Skeleton/Skeleton.recipe.d.ts +28 -0
- package/dist/components/Skeleton/Skeleton.recipe.d.ts.map +1 -0
- package/dist/components/Skeleton/index.cjs +8 -3
- package/dist/components/Skeleton/index.d.ts +1 -0
- package/dist/components/Skeleton/index.d.ts.map +1 -1
- package/dist/components/Skeleton/index.js +3 -2
- package/dist/components/Slider/Slider.d.ts.map +1 -1
- package/dist/components/Slider/Slider.recipe.d.ts +99 -0
- package/dist/components/Slider/Slider.recipe.d.ts.map +1 -0
- package/dist/components/Slider/index.cjs +17 -11
- package/dist/components/Slider/index.d.ts +1 -0
- package/dist/components/Slider/index.d.ts.map +1 -1
- package/dist/components/Slider/index.js +12 -10
- package/dist/components/Spinner/Spinner.d.ts +6 -6
- package/dist/components/Spinner/Spinner.d.ts.map +1 -1
- package/dist/components/Spinner/Spinner.recipe.d.ts +25 -12
- package/dist/components/Spinner/Spinner.recipe.d.ts.map +1 -1
- package/dist/components/Spinner/index.cjs +9 -11
- package/dist/components/Spinner/index.d.ts +0 -1
- package/dist/components/Spinner/index.d.ts.map +1 -1
- package/dist/components/Spinner/index.js +8 -6
- package/dist/components/Stack/Stack.d.ts +2 -2
- package/dist/components/Stack/Stack.d.ts.map +1 -1
- package/dist/components/Stack/index.cjs +5 -9
- package/dist/components/Stack/index.d.ts +0 -1
- package/dist/components/Stack/index.d.ts.map +1 -1
- package/dist/components/Stack/index.js +3 -3
- package/dist/components/Stepper/index.cjs +11 -10
- package/dist/components/Stepper/index.js +8 -7
- package/dist/components/Switch/Switch.d.ts.map +1 -1
- package/dist/components/Switch/Switch.recipe.d.ts +60 -0
- package/dist/components/Switch/Switch.recipe.d.ts.map +1 -0
- package/dist/components/Switch/index.cjs +13 -11
- package/dist/components/Switch/index.js +12 -10
- package/dist/components/Table/TableCell.d.ts.map +1 -1
- package/dist/components/Table/TableHeaderCell.d.ts.map +1 -1
- package/dist/components/Table/index.cjs +64 -60
- package/dist/components/Table/index.js +36 -32
- package/dist/components/Tabs/Tabs.d.ts +5 -0
- package/dist/components/Tabs/Tabs.d.ts.map +1 -1
- package/dist/components/Tabs/index.cjs +20 -17
- package/dist/components/Tabs/index.js +15 -12
- package/dist/components/Tag/index.cjs +10 -13
- package/dist/components/Tag/index.d.ts +0 -1
- package/dist/components/Tag/index.d.ts.map +1 -1
- package/dist/components/Tag/index.js +9 -8
- package/dist/components/TagsInput/TagsInput.d.ts.map +1 -1
- package/dist/components/TagsInput/index.cjs +22 -18
- package/dist/components/TagsInput/index.js +21 -17
- package/dist/components/Text/index.cjs +8 -15
- package/dist/components/Text/index.d.ts +0 -1
- package/dist/components/Text/index.d.ts.map +1 -1
- package/dist/components/Text/index.js +6 -5
- package/dist/components/TextArea/TextArea.d.ts.map +1 -1
- package/dist/components/TextArea/index.cjs +16 -13
- package/dist/components/TextArea/index.js +15 -12
- package/dist/components/TextInput/TextInput.d.ts.map +1 -1
- package/dist/components/TextInput/index.cjs +21 -14
- package/dist/components/TextInput/index.js +20 -13
- package/dist/components/Thumbnail/Thumbnail.d.ts.map +1 -1
- package/dist/components/Thumbnail/Thumbnail.recipe.d.ts +36 -0
- package/dist/components/Thumbnail/Thumbnail.recipe.d.ts.map +1 -0
- package/dist/components/Thumbnail/index.cjs +16 -13
- package/dist/components/Thumbnail/index.d.ts +1 -0
- package/dist/components/Thumbnail/index.d.ts.map +1 -1
- package/dist/components/Thumbnail/index.js +15 -12
- package/dist/components/TimeInput/TimeInput.d.ts.map +1 -1
- package/dist/components/TimeInput/index.cjs +20 -13
- package/dist/components/TimeInput/index.js +19 -12
- package/dist/components/Toast/index.cjs +17 -14
- package/dist/components/Toast/index.js +14 -11
- package/dist/components/ToggleButton/ToggleButton.d.ts.map +1 -1
- package/dist/components/ToggleButton/index.cjs +13 -14
- package/dist/components/ToggleButton/index.js +11 -12
- package/dist/components/Tooltip/index.cjs +6 -5
- package/dist/components/Tooltip/index.js +4 -3
- package/dist/components/TopNav/TopNav.recipe.d.ts.map +1 -1
- package/dist/components/TopNav/index.cjs +22 -23
- package/dist/components/TopNav/index.d.ts +0 -1
- package/dist/components/TopNav/index.d.ts.map +1 -1
- package/dist/components/TopNav/index.js +16 -13
- package/dist/components/TreeView/TreeViewItem.d.ts.map +1 -1
- package/dist/components/TreeView/index.cjs +5 -5
- package/dist/components/TreeView/index.js +4 -4
- package/dist/index.cjs +584 -332
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +27 -22
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +384 -77
- package/dist/index.js.map +1 -1
- package/dist/internal/MobileNav/MobileNav.d.ts.map +1 -1
- package/dist/internal/spacingTokens.d.ts +8 -0
- package/dist/internal/spacingTokens.d.ts.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/themes/presets.d.ts +48 -0
- package/dist/themes/presets.d.ts.map +1 -0
- package/package.json +12 -2
- package/dist/chunk-25OAUQRF.cjs.map +0 -1
- package/dist/chunk-2FPZULX3.cjs.map +0 -1
- package/dist/chunk-2FUG6NKO.js.map +0 -1
- package/dist/chunk-2PHHFBJ3.cjs.map +0 -1
- package/dist/chunk-2QK2NZN5.js.map +0 -1
- package/dist/chunk-2UTRYTT3.cjs.map +0 -1
- package/dist/chunk-2WP6NYYY.cjs +0 -113
- package/dist/chunk-2WP6NYYY.cjs.map +0 -1
- package/dist/chunk-2XCNB2O6.js.map +0 -1
- package/dist/chunk-3DE4GOZU.js +0 -207
- package/dist/chunk-3DE4GOZU.js.map +0 -1
- package/dist/chunk-3PSQDJQH.js.map +0 -1
- package/dist/chunk-47BELFYO.cjs.map +0 -1
- package/dist/chunk-4W7L63LH.js.map +0 -1
- package/dist/chunk-4XRVXUJQ.cjs +0 -242
- package/dist/chunk-4XRVXUJQ.cjs.map +0 -1
- package/dist/chunk-5EQN3YMQ.cjs.map +0 -1
- package/dist/chunk-5OS5A27C.js.map +0 -1
- package/dist/chunk-6NIFOTUZ.cjs.map +0 -1
- package/dist/chunk-6SPQDYHC.cjs.map +0 -1
- package/dist/chunk-6UVJUY7Z.cjs.map +0 -1
- package/dist/chunk-7EXVJWG5.js.map +0 -1
- package/dist/chunk-AFT635BR.cjs +0 -308
- package/dist/chunk-AFT635BR.cjs.map +0 -1
- package/dist/chunk-AZDWQGAX.cjs.map +0 -1
- package/dist/chunk-BCJ25X7C.js.map +0 -1
- package/dist/chunk-BSBEPQLM.cjs.map +0 -1
- package/dist/chunk-CA6645TQ.js.map +0 -1
- package/dist/chunk-CR4NB42L.cjs.map +0 -1
- package/dist/chunk-CVH6X6ND.js +0 -125
- package/dist/chunk-CVH6X6ND.js.map +0 -1
- package/dist/chunk-CWUC4TOQ.js.map +0 -1
- package/dist/chunk-CXBB2LN7.js.map +0 -1
- package/dist/chunk-CZJUKLFD.cjs.map +0 -1
- package/dist/chunk-D6KXW75E.js.map +0 -1
- package/dist/chunk-DFF72N57.js.map +0 -1
- package/dist/chunk-DHUK3GNK.cjs +0 -258
- package/dist/chunk-DHUK3GNK.cjs.map +0 -1
- package/dist/chunk-DJW7T3WJ.js.map +0 -1
- package/dist/chunk-DONU5ALC.cjs.map +0 -1
- package/dist/chunk-E4TIWN4Z.cjs.map +0 -1
- package/dist/chunk-EB5EHX6I.js.map +0 -1
- package/dist/chunk-EBUSMPS6.js +0 -306
- package/dist/chunk-EBUSMPS6.js.map +0 -1
- package/dist/chunk-EETTQWW5.cjs.map +0 -1
- package/dist/chunk-EHBV6ZMM.js +0 -239
- package/dist/chunk-EHBV6ZMM.js.map +0 -1
- package/dist/chunk-EM2F6BZ2.js.map +0 -1
- package/dist/chunk-FVIEYPDB.js.map +0 -1
- package/dist/chunk-G44NDBPN.cjs +0 -62
- package/dist/chunk-G44NDBPN.cjs.map +0 -1
- package/dist/chunk-GKG47NK6.cjs.map +0 -1
- package/dist/chunk-GUF4ZNPQ.js.map +0 -1
- package/dist/chunk-GZ5SRSD4.js.map +0 -1
- package/dist/chunk-H6OY6FLC.js.map +0 -1
- package/dist/chunk-HPZ7LLXK.js.map +0 -1
- package/dist/chunk-HWCL6JFB.js.map +0 -1
- package/dist/chunk-HXT6A6GH.cjs.map +0 -1
- package/dist/chunk-I6IGTQLG.cjs +0 -251
- package/dist/chunk-I6IGTQLG.cjs.map +0 -1
- package/dist/chunk-IT72TF72.js.map +0 -1
- package/dist/chunk-IWSS5745.js.map +0 -1
- package/dist/chunk-JCYPM27J.js.map +0 -1
- package/dist/chunk-K574UTWP.cjs.map +0 -1
- package/dist/chunk-KVREBGWA.js.map +0 -1
- package/dist/chunk-KXXRALHT.cjs.map +0 -1
- package/dist/chunk-KXXTWWJZ.cjs.map +0 -1
- package/dist/chunk-LBRKUZSQ.cjs.map +0 -1
- package/dist/chunk-LFZXGIR6.cjs.map +0 -1
- package/dist/chunk-MCOVG6W6.js.map +0 -1
- package/dist/chunk-MKAOIB2O.cjs.map +0 -1
- package/dist/chunk-NGWNIMMX.js +0 -247
- package/dist/chunk-NGWNIMMX.js.map +0 -1
- package/dist/chunk-NILB6Y4Z.cjs.map +0 -1
- package/dist/chunk-NJDV3LDH.js.map +0 -1
- package/dist/chunk-NMHCRHRI.cjs.map +0 -1
- package/dist/chunk-NOZ6U6ZJ.js.map +0 -1
- package/dist/chunk-NPJXGQOF.cjs.map +0 -1
- package/dist/chunk-NSHWBZL4.cjs.map +0 -1
- package/dist/chunk-O5RVLBKN.cjs.map +0 -1
- package/dist/chunk-OA4KIVLO.cjs.map +0 -1
- package/dist/chunk-OAUKYH6C.cjs.map +0 -1
- package/dist/chunk-OKKL652L.js.map +0 -1
- package/dist/chunk-OZNNBPMP.cjs +0 -288
- package/dist/chunk-OZNNBPMP.cjs.map +0 -1
- package/dist/chunk-P5AZUUM2.cjs.map +0 -1
- package/dist/chunk-PDXZDPOY.cjs.map +0 -1
- package/dist/chunk-PGKOWMP4.js.map +0 -1
- package/dist/chunk-PHFEQG4E.cjs.map +0 -1
- package/dist/chunk-PZO5MZ46.js.map +0 -1
- package/dist/chunk-QFO5ZTZZ.js.map +0 -1
- package/dist/chunk-QRDRZNCS.cjs.map +0 -1
- package/dist/chunk-QRXMW7MQ.cjs.map +0 -1
- package/dist/chunk-QXI446BK.cjs +0 -209
- package/dist/chunk-QXI446BK.cjs.map +0 -1
- package/dist/chunk-R2NQNVEV.js.map +0 -1
- package/dist/chunk-RCAA2CZJ.js.map +0 -1
- package/dist/chunk-RGPL6EDK.js +0 -110
- package/dist/chunk-RGPL6EDK.js.map +0 -1
- package/dist/chunk-RJXHAQCR.cjs.map +0 -1
- package/dist/chunk-RLQYXUDO.js +0 -59
- package/dist/chunk-RLQYXUDO.js.map +0 -1
- package/dist/chunk-S5NFDKPL.js.map +0 -1
- package/dist/chunk-T55MB2CA.js.map +0 -1
- package/dist/chunk-TPSOUQG7.cjs.map +0 -1
- package/dist/chunk-U35V3GVC.js.map +0 -1
- package/dist/chunk-UHQRL4OA.js.map +0 -1
- package/dist/chunk-UWG5UQFV.cjs.map +0 -1
- package/dist/chunk-UZNSGQT3.cjs.map +0 -1
- package/dist/chunk-VIJHDURK.js.map +0 -1
- package/dist/chunk-VLIQPSPM.js.map +0 -1
- package/dist/chunk-VT7VKCHL.cjs.map +0 -1
- package/dist/chunk-VTQRXV32.js +0 -565
- package/dist/chunk-VTQRXV32.js.map +0 -1
- package/dist/chunk-VVYUCQHP.js.map +0 -1
- package/dist/chunk-WA4DRAQ7.js.map +0 -1
- package/dist/chunk-WBPIJ4D5.js.map +0 -1
- package/dist/chunk-WE3ECIRS.cjs.map +0 -1
- package/dist/chunk-WEEYUS7M.cjs.map +0 -1
- package/dist/chunk-WIIDQ44X.cjs.map +0 -1
- package/dist/chunk-WIW2YR46.js.map +0 -1
- package/dist/chunk-WM66IPV4.cjs +0 -567
- package/dist/chunk-WM66IPV4.cjs.map +0 -1
- package/dist/chunk-WSAZHUB3.cjs.map +0 -1
- package/dist/chunk-XQMLA75S.js.map +0 -1
- package/dist/chunk-Y73472IA.js.map +0 -1
- package/dist/chunk-YHR44PWO.js.map +0 -1
- package/dist/chunk-YMC56K6R.cjs.map +0 -1
- package/dist/chunk-YOFCBZAX.js +0 -286
- package/dist/chunk-YOFCBZAX.js.map +0 -1
- package/dist/chunk-YOWRLFMF.cjs +0 -128
- package/dist/chunk-YOWRLFMF.cjs.map +0 -1
- package/dist/chunk-YRXGCYT2.js.map +0 -1
- package/dist/chunk-YT3UWEVY.js.map +0 -1
- package/dist/chunk-YX7DI3O3.cjs.map +0 -1
- package/dist/chunk-YZUBJ2L2.cjs.map +0 -1
- package/dist/chunk-Z2STCD6I.js.map +0 -1
- package/dist/chunk-ZC7H4S4T.cjs.map +0 -1
- package/dist/chunk-ZHFAFEI2.js.map +0 -1
- package/dist/chunk-ZVBVKZ4P.cjs.map +0 -1
- package/dist/chunk-ZW4XKNDR.cjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/CheckboxInput/CheckboxInput.tsx"],"names":["css","useId","useRef","getStatusMessageID","getDescribedBy","useEffect","jsxs","jsx","mergeRefs","cx","Spinner","Icon","Minus","Check","Fragment","Text","Tooltip","Info","VisuallyHidden","fieldRecipe","Item"],"mappings":"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","file":"chunk-TO3ZPSYO.cjs","sourcesContent":["import {Check, Info, Minus} from 'lucide-react';\nimport {\n useEffect,\n useId,\n useRef,\n type ChangeEvent,\n type CSSProperties,\n type FocusEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {VisuallyHidden} from '../../internal/VisuallyHidden';\nimport {cx} from '../../internal/cx';\nimport {mergeRefs} from '../../internal/mergeRefs';\nimport type {FieldNecessity, InputStatus} from '../Field';\nimport {fieldRecipe} from '../Field/Field.recipe';\nimport {getDescribedBy, getStatusMessageID} from '../Field/inputUtils';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Item} from '../Item';\nimport {Spinner} from '../Spinner';\nimport {Text} from '../Text';\nimport {Tooltip} from '../Tooltip';\n\nexport type CheckboxInputSize = 'sm' | 'md';\nexport type CheckboxInputValue = boolean | 'indeterminate';\n\nexport type CheckboxInputProps = {\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Test ID applied to the input element.\n */\n 'data-testid'?: string;\n /**\n * Supporting text rendered below the label.\n */\n description?: ReactNode;\n /**\n * Content rendered after the label.\n */\n endContent?: ReactNode;\n /**\n * Where to place `endContent` within the item.\n * `'end'` pushes it to the trailing edge; `'inline'` keeps it next to the label.\n * @default 'inline'\n */\n endContentPosition?: 'end' | 'inline';\n /**\n * HTML name attribute for native form submission.\n */\n htmlName?: string;\n /**\n * Whether the checkbox is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label.\n * @default false\n */\n isLabelHidden?: boolean;\n /**\n * Whether the checkbox is in a loading state.\n * @default false\n */\n isLoading?: boolean;\n /**\n * Whether the checkbox is read-only.\n * @default false\n */\n isReadOnly?: boolean;\n /**\n * Field label text.\n */\n label: string;\n /**\n * Optional content shown before the label.\n */\n labelIcon?: IconComponent;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: ReactNode;\n /**\n * Called when the input loses focus.\n */\n onBlur?: (event: FocusEvent<HTMLInputElement>) => void;\n /**\n * Called when the checked state changes.\n */\n onChange: (checked: boolean, event: ChangeEvent<HTMLInputElement>) => void;\n /**\n * Called when the input receives focus.\n */\n onFocus?: (event: FocusEvent<HTMLInputElement>) => void;\n /**\n * Ref forwarded to the input element.\n */\n ref?: Ref<HTMLInputElement>;\n /**\n * Visual size of the checkbox.\n * @default 'md'\n */\n size?: CheckboxInputSize;\n /**\n * Content rendered after the checkbox control and before the label.\n */\n startContent?: ReactNode;\n /**\n * Validation status displayed below the checkbox.\n */\n status?: InputStatus;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Current checked state: true, false, or 'indeterminate'.\n */\n value: CheckboxInputValue;\n} & FieldNecessity;\n\nconst styles = {\n root: css({\n display: 'flex',\n flexDirection: 'column',\n }),\n boxWrap: css({\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n }),\n input: css({\n position: 'absolute',\n inset: 0,\n opacity: 0,\n cursor: 'pointer',\n _disabled: {\n cursor: 'not-allowed',\n },\n }),\n box: css({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'border.emphasized',\n borderRadius: 'sm',\n bg: 'bg',\n color: 'fg.onPrimary',\n pointerEvents: 'none',\n _peerFocusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n }),\n boxChecked: css({\n bg: 'primary',\n borderColor: 'primary',\n }),\n boxDisabled: css({\n opacity: 0.55,\n }),\n boxSize: {\n sm: css({w: '4.5', h: '4.5'}),\n md: css({w: '5.5', h: '5.5'}),\n },\n icon: css({\n w: '70%',\n h: '70%',\n }),\n label: css({\n cursor: 'pointer',\n }),\n labelDisabled: css({\n cursor: 'not-allowed',\n }),\n indicator: css({\n fontWeight: 'normal',\n color: 'fg.muted',\n }),\n tooltipIcon: css({\n display: 'inline-flex',\n color: 'fg.muted',\n }),\n} as const;\n\n/**\n * A checkbox input with label, description, and validation support.\n */\nexport function CheckboxInput({\n label,\n value,\n onChange,\n description,\n endContent,\n endContentPosition = 'inline',\n htmlName,\n isLabelHidden = false,\n isOptional,\n isRequired,\n isDisabled = false,\n isReadOnly = false,\n isLoading = false,\n status,\n labelIcon,\n labelTooltip,\n size = 'md',\n startContent,\n onFocus,\n onBlur,\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: CheckboxInputProps): React.JSX.Element {\n const inputId = useId();\n const descriptionId = useId();\n const inputRef = useRef<HTMLInputElement>(null);\n const statusMessageID = getStatusMessageID(inputId, status);\n const describedBy = getDescribedBy(\n description != null ? descriptionId : undefined,\n statusMessageID,\n );\n const isIndeterminate = value === 'indeterminate';\n const isChecked = value === true;\n const isCheckedOrIndeterminate = isChecked || isIndeterminate;\n\n useEffect(() => {\n if (inputRef.current != null) {\n inputRef.current.indeterminate = isIndeterminate;\n }\n }, [isIndeterminate]);\n\n const statusText = isOptional ? 'Optional' : isRequired ? 'Required' : null;\n\n const control = (\n <span className={styles.boxWrap}>\n <input\n aria-busy={isLoading || undefined}\n aria-checked={isIndeterminate ? 'mixed' : undefined}\n aria-describedby={describedBy}\n aria-invalid={status?.type === 'error' || undefined}\n aria-readonly={isReadOnly || undefined}\n checked={isChecked}\n className={styles.input}\n data-testid={dataTestId}\n disabled={isDisabled}\n id={inputId}\n name={htmlName}\n onBlur={onBlur}\n onChange={event => {\n if (isReadOnly) {\n event.preventDefault();\n return;\n }\n onChange(event.target.checked, event);\n }}\n onFocus={onFocus}\n readOnly={isReadOnly}\n ref={mergeRefs(ref, inputRef)}\n required={isRequired}\n type=\"checkbox\"\n />\n <span\n aria-hidden=\"true\"\n className={cx(\n styles.box,\n styles.boxSize[size],\n isCheckedOrIndeterminate ? styles.boxChecked : undefined,\n isDisabled ? styles.boxDisabled : undefined,\n )}>\n {isLoading ? (\n <Spinner\n size=\"sm\"\n variant={isCheckedOrIndeterminate ? 'onMedia' : 'default'}\n />\n ) : isIndeterminate ? (\n <Icon className={styles.icon} icon={Minus} />\n ) : isChecked ? (\n <Icon className={styles.icon} icon={Check} />\n ) : null}\n </span>\n </span>\n );\n\n const labelContent = (\n <>\n {labelIcon != null ? (\n <Icon color=\"secondary\" icon={labelIcon} size=\"sm\" />\n ) : null}\n {label}\n {statusText != null ? (\n <Text as=\"span\" className={styles.indicator} type=\"supporting\">\n <span aria-hidden=\"true\"> · </span>\n {statusText}\n </Text>\n ) : null}\n {labelTooltip != null ? (\n <Tooltip content={labelTooltip}>\n <span className={styles.tooltipIcon}>\n <Icon icon={Info} size=\"sm\" />\n </span>\n </Tooltip>\n ) : null}\n </>\n );\n\n const labelNode = (\n <label\n className={cx(\n styles.label,\n isDisabled ? styles.labelDisabled : undefined,\n )}\n htmlFor={inputId}>\n {isLabelHidden ? (\n <VisuallyHidden>{labelContent}</VisuallyHidden>\n ) : (\n labelContent\n )}\n </label>\n );\n\n const statusNode =\n status?.message != null ? (\n <div\n aria-live={status.type === 'error' ? 'assertive' : 'polite'}\n className={\n fieldRecipe({\n statusType: status.type,\n statusVariant: 'detached',\n }).status\n }\n id={statusMessageID}\n role={status.type === 'error' ? 'alert' : 'status'}>\n {status.message}\n </div>\n ) : null;\n\n const item = (\n <Item\n description={\n description != null ? (\n <span id={descriptionId}>{description}</span>\n ) : undefined\n }\n endContent={endContent}\n endContentPosition={endContentPosition}\n isDisabled={isDisabled}\n label={labelNode}\n leadingContent={control}\n startContent={startContent}\n />\n );\n\n return (\n <div className={cx(styles.root, className)} style={style}>\n {item}\n {statusNode}\n </div>\n );\n}\n\nCheckboxInput.displayName = 'CheckboxInput';\n"]}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var chunkO3T7Z6RH_cjs = require('./chunk-O3T7Z6RH.cjs');
|
|
4
|
+
var chunkU2WVHZ24_cjs = require('./chunk-U2WVHZ24.cjs');
|
|
5
5
|
var chunk6SHL7FYO_cjs = require('./chunk-6SHL7FYO.cjs');
|
|
6
6
|
var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
|
|
7
|
-
var
|
|
7
|
+
var chunkRU6JG3FS_cjs = require('./chunk-RU6JG3FS.cjs');
|
|
8
8
|
var lucideReact = require('lucide-react');
|
|
9
9
|
var react = require('react');
|
|
10
10
|
var jsxRuntime = require('react/jsx-runtime');
|
|
11
11
|
|
|
12
12
|
var styles = {
|
|
13
|
-
dialog:
|
|
13
|
+
dialog: chunkRU6JG3FS_cjs.css({
|
|
14
14
|
position: "fixed",
|
|
15
15
|
inset: 0,
|
|
16
16
|
w: "100dvw",
|
|
@@ -28,7 +28,7 @@ var styles = {
|
|
|
28
28
|
backdropFilter: "blur(2px)"
|
|
29
29
|
}
|
|
30
30
|
}),
|
|
31
|
-
container:
|
|
31
|
+
container: chunkRU6JG3FS_cjs.css({
|
|
32
32
|
position: "relative",
|
|
33
33
|
display: "flex",
|
|
34
34
|
alignItems: "center",
|
|
@@ -37,7 +37,7 @@ var styles = {
|
|
|
37
37
|
h: "full",
|
|
38
38
|
p: "8"
|
|
39
39
|
}),
|
|
40
|
-
mediaGroup:
|
|
40
|
+
mediaGroup: chunkRU6JG3FS_cjs.css({
|
|
41
41
|
display: "flex",
|
|
42
42
|
flexDirection: "column",
|
|
43
43
|
alignItems: "center",
|
|
@@ -45,7 +45,7 @@ var styles = {
|
|
|
45
45
|
maxH: "full",
|
|
46
46
|
minH: 0
|
|
47
47
|
}),
|
|
48
|
-
mediaWrap:
|
|
48
|
+
mediaWrap: chunkRU6JG3FS_cjs.css({
|
|
49
49
|
display: "flex",
|
|
50
50
|
alignItems: "center",
|
|
51
51
|
justifyContent: "center",
|
|
@@ -53,10 +53,10 @@ var styles = {
|
|
|
53
53
|
minH: 0,
|
|
54
54
|
userSelect: "none"
|
|
55
55
|
}),
|
|
56
|
-
zoomable:
|
|
57
|
-
zoomed:
|
|
58
|
-
dragging:
|
|
59
|
-
image:
|
|
56
|
+
zoomable: chunkRU6JG3FS_cjs.css({ cursor: "zoom-in" }),
|
|
57
|
+
zoomed: chunkRU6JG3FS_cjs.css({ cursor: "grab" }),
|
|
58
|
+
dragging: chunkRU6JG3FS_cjs.css({ cursor: "grabbing" }),
|
|
59
|
+
image: chunkRU6JG3FS_cjs.css({
|
|
60
60
|
display: "block",
|
|
61
61
|
maxW: "100%",
|
|
62
62
|
maxH: "calc(100dvh - 7rem)",
|
|
@@ -69,14 +69,14 @@ var styles = {
|
|
|
69
69
|
transitionDuration: "0ms"
|
|
70
70
|
}
|
|
71
71
|
}),
|
|
72
|
-
imageDragging:
|
|
73
|
-
video:
|
|
72
|
+
imageDragging: chunkRU6JG3FS_cjs.css({ transitionProperty: "none" }),
|
|
73
|
+
video: chunkRU6JG3FS_cjs.css({
|
|
74
74
|
maxW: "100%",
|
|
75
75
|
maxH: "calc(100dvh - 7rem)",
|
|
76
76
|
objectFit: "contain",
|
|
77
77
|
outline: "none"
|
|
78
78
|
}),
|
|
79
|
-
caption:
|
|
79
|
+
caption: chunkRU6JG3FS_cjs.css({
|
|
80
80
|
w: "full",
|
|
81
81
|
maxW: "min(90dvw, 48rem)",
|
|
82
82
|
px: "3",
|
|
@@ -87,21 +87,21 @@ var styles = {
|
|
|
87
87
|
lineHeight: "normal",
|
|
88
88
|
textAlign: "center"
|
|
89
89
|
}),
|
|
90
|
-
close:
|
|
90
|
+
close: chunkRU6JG3FS_cjs.css({
|
|
91
91
|
position: "absolute",
|
|
92
92
|
top: "3",
|
|
93
93
|
right: "3",
|
|
94
94
|
zIndex: 1
|
|
95
95
|
}),
|
|
96
|
-
nav:
|
|
96
|
+
nav: chunkRU6JG3FS_cjs.css({
|
|
97
97
|
position: "absolute",
|
|
98
98
|
top: "50%",
|
|
99
99
|
zIndex: 1,
|
|
100
100
|
transform: "translateY(-50%)"
|
|
101
101
|
}),
|
|
102
|
-
prev:
|
|
103
|
-
next:
|
|
104
|
-
counter:
|
|
102
|
+
prev: chunkRU6JG3FS_cjs.css({ left: "3" }),
|
|
103
|
+
next: chunkRU6JG3FS_cjs.css({ right: "3" }),
|
|
104
|
+
counter: chunkRU6JG3FS_cjs.css({
|
|
105
105
|
position: "absolute",
|
|
106
106
|
top: "3",
|
|
107
107
|
left: "3",
|
|
@@ -110,7 +110,7 @@ var styles = {
|
|
|
110
110
|
fontFamily: "body",
|
|
111
111
|
fontSize: "md"
|
|
112
112
|
}),
|
|
113
|
-
controlButton:
|
|
113
|
+
controlButton: chunkRU6JG3FS_cjs.css({
|
|
114
114
|
bg: "overlay.scrim",
|
|
115
115
|
color: "fg.onPrimary",
|
|
116
116
|
_hover: {
|
|
@@ -201,7 +201,7 @@ function Lightbox({
|
|
|
201
201
|
image.src = item.src;
|
|
202
202
|
}
|
|
203
203
|
}, [currentIndex, isGallery, mediaItems]);
|
|
204
|
-
|
|
204
|
+
chunkU2WVHZ24_cjs.useIsomorphicLayoutEffect(() => {
|
|
205
205
|
const dialog = dialogRef.current;
|
|
206
206
|
if (dialog == null) {
|
|
207
207
|
return;
|
|
@@ -275,7 +275,7 @@ function Lightbox({
|
|
|
275
275
|
style,
|
|
276
276
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.container, children: [
|
|
277
277
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.close, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
278
|
-
|
|
278
|
+
chunkO3T7Z6RH_cjs.Button,
|
|
279
279
|
{
|
|
280
280
|
className: styles.controlButton,
|
|
281
281
|
icon: lucideReact.X,
|
|
@@ -285,7 +285,7 @@ function Lightbox({
|
|
|
285
285
|
}
|
|
286
286
|
) }),
|
|
287
287
|
canPrev ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkSPDVNY2Z_cjs.cx(styles.nav, styles.prev), children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
288
|
-
|
|
288
|
+
chunkO3T7Z6RH_cjs.Button,
|
|
289
289
|
{
|
|
290
290
|
className: styles.controlButton,
|
|
291
291
|
icon: lucideReact.ChevronLeft,
|
|
@@ -361,7 +361,7 @@ function Lightbox({
|
|
|
361
361
|
currentItem.caption != null ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.caption, children: currentItem.caption }) : null
|
|
362
362
|
] }) : null,
|
|
363
363
|
canNext ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkSPDVNY2Z_cjs.cx(styles.nav, styles.next), children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
364
|
-
|
|
364
|
+
chunkO3T7Z6RH_cjs.Button,
|
|
365
365
|
{
|
|
366
366
|
className: styles.controlButton,
|
|
367
367
|
icon: lucideReact.ChevronRight,
|
|
@@ -421,5 +421,5 @@ function useLightbox(options) {
|
|
|
421
421
|
|
|
422
422
|
exports.Lightbox = Lightbox;
|
|
423
423
|
exports.useLightbox = useLightbox;
|
|
424
|
-
//# sourceMappingURL=chunk-
|
|
425
|
-
//# sourceMappingURL=chunk-
|
|
424
|
+
//# sourceMappingURL=chunk-TZQWZ7IL.cjs.map
|
|
425
|
+
//# sourceMappingURL=chunk-TZQWZ7IL.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/Lightbox/Lightbox.tsx","../src/components/Lightbox/useLightbox.tsx"],"names":["css","useEffect","useRef","useState","useMemo","useCallback","useIsomorphicLayoutEffect","jsx","cx","mergeRefs","jsxs","Button","X","ChevronLeft","ChevronRight"],"mappings":"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","file":"chunk-I7PJTLP2.cjs","sourcesContent":["/* eslint-disable jsx-a11y-x/no-noninteractive-element-interactions */\n\nimport {ChevronLeft, ChevronRight, X} from 'lucide-react';\nimport {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type MouseEvent as ReactMouseEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {mergeRefs} from '../../internal/mergeRefs';\nimport {useIsomorphicLayoutEffect} from '../../internal/useIsomorphicLayoutEffect';\nimport {Button} from '../Button';\n\nexport type LightboxMediaType = 'image' | 'video';\n\nexport interface LightboxMedia {\n /**\n * Accessible image alt text, or video label.\n */\n alt: string;\n /**\n * Optional caption shown below the media.\n */\n caption?: ReactNode;\n /**\n * Optional WebVTT captions source for video media.\n */\n captionsSrc?: string;\n /**\n * Media source URL.\n */\n src: string;\n /**\n * Media type.\n * @default 'image'\n */\n type?: LightboxMediaType;\n}\n\nexport interface LightboxProps {\n /**\n * Additional CSS class names applied to the dialog.\n */\n className?: string;\n /**\n * Test ID applied to the dialog.\n */\n 'data-testid'?: string;\n /**\n * Initial gallery index for uncontrolled usage.\n * @default 0\n */\n defaultIndex?: number;\n /**\n * Whether videos autoplay when opened.\n * @default false\n */\n hasAutoPlay?: boolean;\n /**\n * Whether images can be double-clicked to zoom.\n * @default false\n */\n hasZoom?: boolean;\n /**\n * Controlled gallery index.\n */\n index?: number;\n /**\n * Whether the lightbox is open.\n */\n isOpen: boolean;\n /**\n * Media to display.\n */\n media: LightboxMedia | ReadonlyArray<LightboxMedia>;\n /**\n * Called when gallery index changes.\n */\n onIndexChange?: (index: number) => void;\n /**\n * Called when the lightbox requests an open-state change.\n */\n onOpenChange: (isOpen: boolean) => void;\n /**\n * Ref forwarded to the dialog element.\n */\n ref?: Ref<HTMLDialogElement>;\n /**\n * Inline styles applied to the dialog.\n */\n style?: CSSProperties;\n}\n\nconst styles = {\n dialog: css({\n position: 'fixed',\n inset: 0,\n w: '100dvw',\n h: '100dvh',\n maxW: 'none',\n maxH: 'none',\n m: 0,\n p: 0,\n borderWidth: 0,\n bg: 'transparent',\n overflow: 'hidden',\n outline: 'none',\n _backdrop: {\n bg: 'overlay.scrim.strong',\n backdropFilter: 'blur(2px)',\n },\n }),\n container: css({\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n w: 'full',\n h: 'full',\n p: '8',\n }),\n mediaGroup: css({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n maxW: 'full',\n maxH: 'full',\n minH: 0,\n }),\n mediaWrap: css({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n overflow: 'hidden',\n minH: 0,\n userSelect: 'none',\n }),\n zoomable: css({cursor: 'zoom-in'}),\n zoomed: css({cursor: 'grab'}),\n dragging: css({cursor: 'grabbing'}),\n image: css({\n display: 'block',\n maxW: '100%',\n maxH: 'calc(100dvh - 7rem)',\n objectFit: 'contain',\n pointerEvents: 'none',\n transitionProperty: 'transform',\n transitionDuration: 'normal',\n transitionTimingFunction: 'default',\n '@media (prefers-reduced-motion: reduce)': {\n transitionDuration: '0ms',\n },\n }),\n imageDragging: css({transitionProperty: 'none'}),\n video: css({\n maxW: '100%',\n maxH: 'calc(100dvh - 7rem)',\n objectFit: 'contain',\n outline: 'none',\n }),\n caption: css({\n w: 'full',\n maxW: 'min(90dvw, 48rem)',\n px: '3',\n pt: '2',\n color: 'fg.onPrimary',\n fontFamily: 'body',\n fontSize: 'lg',\n lineHeight: 'normal',\n textAlign: 'center',\n }),\n close: css({\n position: 'absolute',\n top: '3',\n right: '3',\n zIndex: 1,\n }),\n nav: css({\n position: 'absolute',\n top: '50%',\n zIndex: 1,\n transform: 'translateY(-50%)',\n }),\n prev: css({left: '3'}),\n next: css({right: '3'}),\n counter: css({\n position: 'absolute',\n top: '3',\n left: '3',\n zIndex: 1,\n color: 'fg.onPrimary',\n fontFamily: 'body',\n fontSize: 'md',\n }),\n controlButton: css({\n bg: 'overlay.scrim',\n color: 'fg.onPrimary',\n _hover: {\n bg: 'overlay.scrim.strong',\n },\n _active: {\n bg: 'overlay.scrim.strong',\n },\n }),\n} as const;\n\nfunction useScrollLock(isLocked: boolean): void {\n useEffect(() => {\n if (!isLocked) {\n return;\n }\n const previousOverflow = document.body.style.overflow;\n document.body.style.overflow = 'hidden';\n return () => {\n document.body.style.overflow = previousOverflow;\n };\n }, [isLocked]);\n}\n\nfunction isMediaArray(\n media: LightboxMedia | ReadonlyArray<LightboxMedia>,\n): media is ReadonlyArray<LightboxMedia> {\n return Array.isArray(media);\n}\n\n/**\n * Fullscreen dialog for viewing image or video media, with optional gallery navigation.\n */\nexport function Lightbox({\n className,\n 'data-testid': dataTestId,\n defaultIndex = 0,\n hasAutoPlay = false,\n hasZoom = false,\n index: indexFromProps,\n isOpen,\n media,\n onIndexChange,\n onOpenChange,\n ref,\n style,\n}: LightboxProps): React.JSX.Element {\n const dialogRef = useRef<HTMLDialogElement>(null);\n const triggerRef = useRef<Element | null>(null);\n const [uncontrolledIndex, setUncontrolledIndex] = useState(defaultIndex);\n const [zoom, setZoom] = useState(1);\n const [pan, setPan] = useState({x: 0, y: 0});\n const [isDragging, setIsDragging] = useState(false);\n const dragStartRef = useRef({x: 0, y: 0, panX: 0, panY: 0});\n const isControlled = indexFromProps !== undefined;\n const index = isControlled ? indexFromProps : uncontrolledIndex;\n const mediaItems: ReadonlyArray<LightboxMedia> = useMemo(\n () => (isMediaArray(media) ? media : [media]),\n [media],\n );\n const currentIndex =\n mediaItems.length === 0\n ? 0\n : Math.min(Math.max(index, 0), mediaItems.length - 1);\n const currentItem =\n mediaItems.length === 0 ? undefined : mediaItems[currentIndex];\n const hasMedia = currentItem != null;\n const isGallery = mediaItems.length > 1;\n const isVideo = (currentItem?.type ?? 'image') === 'video';\n const canPrev = isGallery && currentIndex > 0;\n const canNext = isGallery && currentIndex < mediaItems.length - 1;\n const imageTransform =\n zoom === 1\n ? undefined\n : `scale(${zoom}) translate(${pan.x / zoom}px, ${pan.y / zoom}px)`;\n\n useScrollLock(isOpen);\n\n const setIndex = useCallback(\n (nextIndex: number) => {\n if (!isControlled) {\n setUncontrolledIndex(nextIndex);\n }\n onIndexChange?.(nextIndex);\n },\n [isControlled, onIndexChange],\n );\n\n useEffect(() => {\n // eslint-disable-next-line @eslint-react/set-state-in-effect\n setZoom(1);\n // eslint-disable-next-line @eslint-react/set-state-in-effect\n setPan({x: 0, y: 0});\n }, [currentIndex, currentItem?.src, isOpen]);\n\n useEffect(() => {\n if (!isGallery) {\n return;\n }\n\n for (const nextIndex of [currentIndex - 1, currentIndex + 1]) {\n if (nextIndex < 0 || nextIndex >= mediaItems.length) {\n continue;\n }\n const item = mediaItems[nextIndex];\n if (item.type === 'video') {\n continue;\n }\n\n const image = new Image();\n image.src = item.src;\n }\n }, [currentIndex, isGallery, mediaItems]);\n\n useIsomorphicLayoutEffect(() => {\n const dialog = dialogRef.current;\n if (dialog == null) {\n return;\n }\n if (isOpen && !dialog.open) {\n triggerRef.current = document.activeElement;\n dialog.showModal();\n } else if (!isOpen && dialog.open) {\n dialog.close();\n if (triggerRef.current instanceof HTMLElement) {\n triggerRef.current.focus();\n }\n }\n }, [isOpen]);\n\n useEffect(() => {\n if (!isDragging) {\n return;\n }\n const handlePointerMove = (event: PointerEvent) => {\n setPan({\n x: dragStartRef.current.panX + event.clientX - dragStartRef.current.x,\n y: dragStartRef.current.panY + event.clientY - dragStartRef.current.y,\n });\n };\n const handlePointerUp = () => setIsDragging(false);\n window.addEventListener('pointermove', handlePointerMove);\n window.addEventListener('pointerup', handlePointerUp);\n return () => {\n window.removeEventListener('pointermove', handlePointerMove);\n window.removeEventListener('pointerup', handlePointerUp);\n };\n }, [isDragging]);\n\n const close = useCallback(() => {\n onOpenChange(false);\n }, [onOpenChange]);\n const goPrev = useCallback(() => {\n if (canPrev) {\n setIndex(currentIndex - 1);\n }\n }, [canPrev, currentIndex, setIndex]);\n const goNext = useCallback(() => {\n if (canNext) {\n setIndex(currentIndex + 1);\n }\n }, [canNext, currentIndex, setIndex]);\n\n return (\n <dialog\n aria-label=\"Media lightbox\"\n className={cx(styles.dialog, className)}\n data-testid={dataTestId}\n onCancel={event => {\n event.preventDefault();\n close();\n }}\n onClick={(event: ReactMouseEvent<HTMLDialogElement>) => {\n if (event.target === event.currentTarget) {\n close();\n }\n }}\n onKeyDown={event => {\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n goPrev();\n } else if (event.key === 'ArrowRight') {\n event.preventDefault();\n goNext();\n }\n }}\n ref={mergeRefs(ref, dialogRef)}\n style={style}>\n <div className={styles.container}>\n <div className={styles.close}>\n <Button\n className={styles.controlButton}\n icon={X}\n isIconOnly\n label=\"Close\"\n onClick={close}\n />\n </div>\n {canPrev ? (\n <div className={cx(styles.nav, styles.prev)}>\n <Button\n className={styles.controlButton}\n icon={ChevronLeft}\n isIconOnly\n label=\"Previous\"\n onClick={goPrev}\n />\n </div>\n ) : null}\n {hasMedia ? (\n <div className={styles.mediaGroup}>\n {/* eslint-disable-next-line jsx-a11y-x/no-static-element-interactions -- media viewport supports image zoom/pan gestures */}\n <div\n className={cx(\n styles.mediaWrap,\n !isVideo && hasZoom && zoom === 1 ? styles.zoomable : undefined,\n !isVideo && zoom > 1 ? styles.zoomed : undefined,\n isDragging ? styles.dragging : undefined,\n )}\n onDoubleClick={() => {\n if (!hasZoom || isVideo) {\n return;\n }\n setZoom(zoom === 1 ? 2 : 1);\n setPan({x: 0, y: 0});\n }}\n onPointerDown={event => {\n if (!hasZoom || isVideo || zoom <= 1) {\n return;\n }\n setIsDragging(true);\n dragStartRef.current = {\n x: event.clientX,\n y: event.clientY,\n panX: pan.x,\n panY: pan.y,\n };\n }}>\n {isVideo ? (\n // eslint-disable-next-line jsx-a11y-x/media-has-caption -- captions are rendered only when callers provide a real WebVTT source\n <video\n aria-label={currentItem.alt}\n autoPlay={hasAutoPlay}\n className={styles.video}\n controls\n src={currentItem.src}>\n {currentItem.captionsSrc != null ? (\n <track\n kind=\"captions\"\n label=\"Captions\"\n src={currentItem.captionsSrc}\n />\n ) : null}\n </video>\n ) : (\n <img\n alt={currentItem.alt}\n className={cx(\n styles.image,\n isDragging ? styles.imageDragging : undefined,\n )}\n draggable={false}\n src={currentItem.src}\n style={{transform: imageTransform}}\n />\n )}\n </div>\n {currentItem.caption != null ? (\n <div className={styles.caption}>{currentItem.caption}</div>\n ) : null}\n </div>\n ) : null}\n {canNext ? (\n <div className={cx(styles.nav, styles.next)}>\n <Button\n className={styles.controlButton}\n icon={ChevronRight}\n isIconOnly\n label=\"Next\"\n onClick={goNext}\n />\n </div>\n ) : null}\n {isGallery ? (\n <div className={styles.counter}>\n {currentIndex + 1} / {mediaItems.length}\n </div>\n ) : null}\n </div>\n </dialog>\n );\n}\n\nLightbox.displayName = 'Lightbox';\n","import {useCallback, useMemo, useState, type ReactNode} from 'react';\nimport {Lightbox, type LightboxMedia, type LightboxProps} from './Lightbox';\n\ntype LightboxOptions = Omit<\n LightboxProps,\n | 'defaultIndex'\n | 'index'\n | 'isOpen'\n | 'media'\n | 'onIndexChange'\n | 'onOpenChange'\n>;\n\nexport interface UseLightboxOptions extends LightboxOptions {\n /**\n * Media to display in the lightbox.\n */\n media: LightboxMedia | ReadonlyArray<LightboxMedia>;\n}\n\nexport interface UseLightboxReturn {\n /**\n * Close the lightbox.\n */\n close: () => void;\n /**\n * Render this element in your tree.\n */\n element: ReactNode;\n /**\n * Returns trigger props that open at the given gallery index.\n */\n getTriggerProps: (index: number) => {\n 'aria-haspopup': 'dialog';\n onClick: () => void;\n onKeyDown: (event: React.KeyboardEvent) => void;\n role: 'button';\n tabIndex: 0;\n };\n /**\n * Current gallery index.\n */\n index: number;\n /**\n * Whether the lightbox is open.\n */\n isOpen: boolean;\n /**\n * Open the lightbox, optionally at a specific gallery index.\n */\n open: (index?: number) => void;\n /**\n * Trigger props that open the first item.\n */\n triggerProps: {\n 'aria-haspopup': 'dialog';\n onClick: () => void;\n onKeyDown: (event: React.KeyboardEvent) => void;\n role: 'button';\n tabIndex: 0;\n };\n}\n\n/**\n * State helper for Lightbox triggers and rendering.\n */\nexport function useLightbox(options: UseLightboxOptions): UseLightboxReturn {\n const {media, ...lightboxProps} = options;\n const [isOpen, setIsOpen] = useState(false);\n const [index, setIndex] = useState(0);\n\n const open = useCallback((nextIndex = 0) => {\n setIndex(nextIndex);\n setIsOpen(true);\n }, []);\n const close = useCallback(() => setIsOpen(false), []);\n const getTriggerProps = useCallback(\n (nextIndex: number) => ({\n 'aria-haspopup': 'dialog' as const,\n onClick: () => open(nextIndex),\n onKeyDown: (event: React.KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n open(nextIndex);\n }\n },\n role: 'button' as const,\n tabIndex: 0 as const,\n }),\n [open],\n );\n const triggerProps = useMemo(() => getTriggerProps(0), [getTriggerProps]);\n const element = (\n <Lightbox\n {...lightboxProps}\n index={index}\n isOpen={isOpen}\n media={media}\n onIndexChange={setIndex}\n onOpenChange={setIsOpen}\n />\n );\n\n return {close, element, getTriggerProps, index, isOpen, open, triggerProps};\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/Lightbox/Lightbox.tsx","../src/components/Lightbox/useLightbox.tsx"],"names":["css","useEffect","useRef","useState","useMemo","useCallback","useIsomorphicLayoutEffect","jsx","cx","mergeRefs","jsxs","Button","X","ChevronLeft","ChevronRight"],"mappings":"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","file":"chunk-TZQWZ7IL.cjs","sourcesContent":["/* eslint-disable jsx-a11y-x/no-noninteractive-element-interactions */\n\nimport {ChevronLeft, ChevronRight, X} from 'lucide-react';\nimport {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type MouseEvent as ReactMouseEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {mergeRefs} from '../../internal/mergeRefs';\nimport {useIsomorphicLayoutEffect} from '../../internal/useIsomorphicLayoutEffect';\nimport {Button} from '../Button';\n\nexport type LightboxMediaType = 'image' | 'video';\n\nexport interface LightboxMedia {\n /**\n * Accessible image alt text, or video label.\n */\n alt: string;\n /**\n * Optional caption shown below the media.\n */\n caption?: ReactNode;\n /**\n * Optional WebVTT captions source for video media.\n */\n captionsSrc?: string;\n /**\n * Media source URL.\n */\n src: string;\n /**\n * Media type.\n * @default 'image'\n */\n type?: LightboxMediaType;\n}\n\nexport interface LightboxProps {\n /**\n * Additional CSS class names applied to the dialog.\n */\n className?: string;\n /**\n * Test ID applied to the dialog.\n */\n 'data-testid'?: string;\n /**\n * Initial gallery index for uncontrolled usage.\n * @default 0\n */\n defaultIndex?: number;\n /**\n * Whether videos autoplay when opened.\n * @default false\n */\n hasAutoPlay?: boolean;\n /**\n * Whether images can be double-clicked to zoom.\n * @default false\n */\n hasZoom?: boolean;\n /**\n * Controlled gallery index.\n */\n index?: number;\n /**\n * Whether the lightbox is open.\n */\n isOpen: boolean;\n /**\n * Media to display.\n */\n media: LightboxMedia | ReadonlyArray<LightboxMedia>;\n /**\n * Called when gallery index changes.\n */\n onIndexChange?: (index: number) => void;\n /**\n * Called when the lightbox requests an open-state change.\n */\n onOpenChange: (isOpen: boolean) => void;\n /**\n * Ref forwarded to the dialog element.\n */\n ref?: Ref<HTMLDialogElement>;\n /**\n * Inline styles applied to the dialog.\n */\n style?: CSSProperties;\n}\n\nconst styles = {\n dialog: css({\n position: 'fixed',\n inset: 0,\n w: '100dvw',\n h: '100dvh',\n maxW: 'none',\n maxH: 'none',\n m: 0,\n p: 0,\n borderWidth: 0,\n bg: 'transparent',\n overflow: 'hidden',\n outline: 'none',\n _backdrop: {\n bg: 'overlay.scrim.strong',\n backdropFilter: 'blur(2px)',\n },\n }),\n container: css({\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n w: 'full',\n h: 'full',\n p: '8',\n }),\n mediaGroup: css({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n maxW: 'full',\n maxH: 'full',\n minH: 0,\n }),\n mediaWrap: css({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n overflow: 'hidden',\n minH: 0,\n userSelect: 'none',\n }),\n zoomable: css({cursor: 'zoom-in'}),\n zoomed: css({cursor: 'grab'}),\n dragging: css({cursor: 'grabbing'}),\n image: css({\n display: 'block',\n maxW: '100%',\n maxH: 'calc(100dvh - 7rem)',\n objectFit: 'contain',\n pointerEvents: 'none',\n transitionProperty: 'transform',\n transitionDuration: 'normal',\n transitionTimingFunction: 'default',\n '@media (prefers-reduced-motion: reduce)': {\n transitionDuration: '0ms',\n },\n }),\n imageDragging: css({transitionProperty: 'none'}),\n video: css({\n maxW: '100%',\n maxH: 'calc(100dvh - 7rem)',\n objectFit: 'contain',\n outline: 'none',\n }),\n caption: css({\n w: 'full',\n maxW: 'min(90dvw, 48rem)',\n px: '3',\n pt: '2',\n color: 'fg.onPrimary',\n fontFamily: 'body',\n fontSize: 'lg',\n lineHeight: 'normal',\n textAlign: 'center',\n }),\n close: css({\n position: 'absolute',\n top: '3',\n right: '3',\n zIndex: 1,\n }),\n nav: css({\n position: 'absolute',\n top: '50%',\n zIndex: 1,\n transform: 'translateY(-50%)',\n }),\n prev: css({left: '3'}),\n next: css({right: '3'}),\n counter: css({\n position: 'absolute',\n top: '3',\n left: '3',\n zIndex: 1,\n color: 'fg.onPrimary',\n fontFamily: 'body',\n fontSize: 'md',\n }),\n controlButton: css({\n bg: 'overlay.scrim',\n color: 'fg.onPrimary',\n _hover: {\n bg: 'overlay.scrim.strong',\n },\n _active: {\n bg: 'overlay.scrim.strong',\n },\n }),\n} as const;\n\nfunction useScrollLock(isLocked: boolean): void {\n useEffect(() => {\n if (!isLocked) {\n return;\n }\n const previousOverflow = document.body.style.overflow;\n document.body.style.overflow = 'hidden';\n return () => {\n document.body.style.overflow = previousOverflow;\n };\n }, [isLocked]);\n}\n\nfunction isMediaArray(\n media: LightboxMedia | ReadonlyArray<LightboxMedia>,\n): media is ReadonlyArray<LightboxMedia> {\n return Array.isArray(media);\n}\n\n/**\n * Fullscreen dialog for viewing image or video media, with optional gallery navigation.\n */\nexport function Lightbox({\n className,\n 'data-testid': dataTestId,\n defaultIndex = 0,\n hasAutoPlay = false,\n hasZoom = false,\n index: indexFromProps,\n isOpen,\n media,\n onIndexChange,\n onOpenChange,\n ref,\n style,\n}: LightboxProps): React.JSX.Element {\n const dialogRef = useRef<HTMLDialogElement>(null);\n const triggerRef = useRef<Element | null>(null);\n const [uncontrolledIndex, setUncontrolledIndex] = useState(defaultIndex);\n const [zoom, setZoom] = useState(1);\n const [pan, setPan] = useState({x: 0, y: 0});\n const [isDragging, setIsDragging] = useState(false);\n const dragStartRef = useRef({x: 0, y: 0, panX: 0, panY: 0});\n const isControlled = indexFromProps !== undefined;\n const index = isControlled ? indexFromProps : uncontrolledIndex;\n const mediaItems: ReadonlyArray<LightboxMedia> = useMemo(\n () => (isMediaArray(media) ? media : [media]),\n [media],\n );\n const currentIndex =\n mediaItems.length === 0\n ? 0\n : Math.min(Math.max(index, 0), mediaItems.length - 1);\n const currentItem =\n mediaItems.length === 0 ? undefined : mediaItems[currentIndex];\n const hasMedia = currentItem != null;\n const isGallery = mediaItems.length > 1;\n const isVideo = (currentItem?.type ?? 'image') === 'video';\n const canPrev = isGallery && currentIndex > 0;\n const canNext = isGallery && currentIndex < mediaItems.length - 1;\n const imageTransform =\n zoom === 1\n ? undefined\n : `scale(${zoom}) translate(${pan.x / zoom}px, ${pan.y / zoom}px)`;\n\n useScrollLock(isOpen);\n\n const setIndex = useCallback(\n (nextIndex: number) => {\n if (!isControlled) {\n setUncontrolledIndex(nextIndex);\n }\n onIndexChange?.(nextIndex);\n },\n [isControlled, onIndexChange],\n );\n\n useEffect(() => {\n // eslint-disable-next-line @eslint-react/set-state-in-effect\n setZoom(1);\n // eslint-disable-next-line @eslint-react/set-state-in-effect\n setPan({x: 0, y: 0});\n }, [currentIndex, currentItem?.src, isOpen]);\n\n useEffect(() => {\n if (!isGallery) {\n return;\n }\n\n for (const nextIndex of [currentIndex - 1, currentIndex + 1]) {\n if (nextIndex < 0 || nextIndex >= mediaItems.length) {\n continue;\n }\n const item = mediaItems[nextIndex];\n if (item.type === 'video') {\n continue;\n }\n\n const image = new Image();\n image.src = item.src;\n }\n }, [currentIndex, isGallery, mediaItems]);\n\n useIsomorphicLayoutEffect(() => {\n const dialog = dialogRef.current;\n if (dialog == null) {\n return;\n }\n if (isOpen && !dialog.open) {\n triggerRef.current = document.activeElement;\n dialog.showModal();\n } else if (!isOpen && dialog.open) {\n dialog.close();\n if (triggerRef.current instanceof HTMLElement) {\n triggerRef.current.focus();\n }\n }\n }, [isOpen]);\n\n useEffect(() => {\n if (!isDragging) {\n return;\n }\n const handlePointerMove = (event: PointerEvent) => {\n setPan({\n x: dragStartRef.current.panX + event.clientX - dragStartRef.current.x,\n y: dragStartRef.current.panY + event.clientY - dragStartRef.current.y,\n });\n };\n const handlePointerUp = () => setIsDragging(false);\n window.addEventListener('pointermove', handlePointerMove);\n window.addEventListener('pointerup', handlePointerUp);\n return () => {\n window.removeEventListener('pointermove', handlePointerMove);\n window.removeEventListener('pointerup', handlePointerUp);\n };\n }, [isDragging]);\n\n const close = useCallback(() => {\n onOpenChange(false);\n }, [onOpenChange]);\n const goPrev = useCallback(() => {\n if (canPrev) {\n setIndex(currentIndex - 1);\n }\n }, [canPrev, currentIndex, setIndex]);\n const goNext = useCallback(() => {\n if (canNext) {\n setIndex(currentIndex + 1);\n }\n }, [canNext, currentIndex, setIndex]);\n\n return (\n <dialog\n aria-label=\"Media lightbox\"\n className={cx(styles.dialog, className)}\n data-testid={dataTestId}\n onCancel={event => {\n event.preventDefault();\n close();\n }}\n onClick={(event: ReactMouseEvent<HTMLDialogElement>) => {\n if (event.target === event.currentTarget) {\n close();\n }\n }}\n onKeyDown={event => {\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n goPrev();\n } else if (event.key === 'ArrowRight') {\n event.preventDefault();\n goNext();\n }\n }}\n ref={mergeRefs(ref, dialogRef)}\n style={style}>\n <div className={styles.container}>\n <div className={styles.close}>\n <Button\n className={styles.controlButton}\n icon={X}\n isIconOnly\n label=\"Close\"\n onClick={close}\n />\n </div>\n {canPrev ? (\n <div className={cx(styles.nav, styles.prev)}>\n <Button\n className={styles.controlButton}\n icon={ChevronLeft}\n isIconOnly\n label=\"Previous\"\n onClick={goPrev}\n />\n </div>\n ) : null}\n {hasMedia ? (\n <div className={styles.mediaGroup}>\n {/* eslint-disable-next-line jsx-a11y-x/no-static-element-interactions -- media viewport supports image zoom/pan gestures */}\n <div\n className={cx(\n styles.mediaWrap,\n !isVideo && hasZoom && zoom === 1 ? styles.zoomable : undefined,\n !isVideo && zoom > 1 ? styles.zoomed : undefined,\n isDragging ? styles.dragging : undefined,\n )}\n onDoubleClick={() => {\n if (!hasZoom || isVideo) {\n return;\n }\n setZoom(zoom === 1 ? 2 : 1);\n setPan({x: 0, y: 0});\n }}\n onPointerDown={event => {\n if (!hasZoom || isVideo || zoom <= 1) {\n return;\n }\n setIsDragging(true);\n dragStartRef.current = {\n x: event.clientX,\n y: event.clientY,\n panX: pan.x,\n panY: pan.y,\n };\n }}>\n {isVideo ? (\n // eslint-disable-next-line jsx-a11y-x/media-has-caption -- captions are rendered only when callers provide a real WebVTT source\n <video\n aria-label={currentItem.alt}\n autoPlay={hasAutoPlay}\n className={styles.video}\n controls\n src={currentItem.src}>\n {currentItem.captionsSrc != null ? (\n <track\n kind=\"captions\"\n label=\"Captions\"\n src={currentItem.captionsSrc}\n />\n ) : null}\n </video>\n ) : (\n <img\n alt={currentItem.alt}\n className={cx(\n styles.image,\n isDragging ? styles.imageDragging : undefined,\n )}\n draggable={false}\n src={currentItem.src}\n style={{transform: imageTransform}}\n />\n )}\n </div>\n {currentItem.caption != null ? (\n <div className={styles.caption}>{currentItem.caption}</div>\n ) : null}\n </div>\n ) : null}\n {canNext ? (\n <div className={cx(styles.nav, styles.next)}>\n <Button\n className={styles.controlButton}\n icon={ChevronRight}\n isIconOnly\n label=\"Next\"\n onClick={goNext}\n />\n </div>\n ) : null}\n {isGallery ? (\n <div className={styles.counter}>\n {currentIndex + 1} / {mediaItems.length}\n </div>\n ) : null}\n </div>\n </dialog>\n );\n}\n\nLightbox.displayName = 'Lightbox';\n","import {useCallback, useMemo, useState, type ReactNode} from 'react';\nimport {Lightbox, type LightboxMedia, type LightboxProps} from './Lightbox';\n\ntype LightboxOptions = Omit<\n LightboxProps,\n | 'defaultIndex'\n | 'index'\n | 'isOpen'\n | 'media'\n | 'onIndexChange'\n | 'onOpenChange'\n>;\n\nexport interface UseLightboxOptions extends LightboxOptions {\n /**\n * Media to display in the lightbox.\n */\n media: LightboxMedia | ReadonlyArray<LightboxMedia>;\n}\n\nexport interface UseLightboxReturn {\n /**\n * Close the lightbox.\n */\n close: () => void;\n /**\n * Render this element in your tree.\n */\n element: ReactNode;\n /**\n * Returns trigger props that open at the given gallery index.\n */\n getTriggerProps: (index: number) => {\n 'aria-haspopup': 'dialog';\n onClick: () => void;\n onKeyDown: (event: React.KeyboardEvent) => void;\n role: 'button';\n tabIndex: 0;\n };\n /**\n * Current gallery index.\n */\n index: number;\n /**\n * Whether the lightbox is open.\n */\n isOpen: boolean;\n /**\n * Open the lightbox, optionally at a specific gallery index.\n */\n open: (index?: number) => void;\n /**\n * Trigger props that open the first item.\n */\n triggerProps: {\n 'aria-haspopup': 'dialog';\n onClick: () => void;\n onKeyDown: (event: React.KeyboardEvent) => void;\n role: 'button';\n tabIndex: 0;\n };\n}\n\n/**\n * State helper for Lightbox triggers and rendering.\n */\nexport function useLightbox(options: UseLightboxOptions): UseLightboxReturn {\n const {media, ...lightboxProps} = options;\n const [isOpen, setIsOpen] = useState(false);\n const [index, setIndex] = useState(0);\n\n const open = useCallback((nextIndex = 0) => {\n setIndex(nextIndex);\n setIsOpen(true);\n }, []);\n const close = useCallback(() => setIsOpen(false), []);\n const getTriggerProps = useCallback(\n (nextIndex: number) => ({\n 'aria-haspopup': 'dialog' as const,\n onClick: () => open(nextIndex),\n onKeyDown: (event: React.KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n open(nextIndex);\n }\n },\n role: 'button' as const,\n tabIndex: 0 as const,\n }),\n [open],\n );\n const triggerProps = useMemo(() => getTriggerProps(0), [getTriggerProps]);\n const element = (\n <Lightbox\n {...lightboxProps}\n index={index}\n isOpen={isOpen}\n media={media}\n onIndexChange={setIndex}\n onOpenChange={setIsOpen}\n />\n );\n\n return {close, element, getTriggerProps, index, isOpen, open, triggerProps};\n}\n"]}
|
|
@@ -1,30 +1,20 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chunk6SHL7FYO_cjs = require('./chunk-6SHL7FYO.cjs');
|
|
4
|
-
var
|
|
4
|
+
var chunk6BK4LUK4_cjs = require('./chunk-6BK4LUK4.cjs');
|
|
5
|
+
var chunkRU6JG3FS_cjs = require('./chunk-RU6JG3FS.cjs');
|
|
5
6
|
var react = require('react');
|
|
6
7
|
var jsxRuntime = require('react/jsx-runtime');
|
|
7
8
|
|
|
8
|
-
// styled-system/css/cx.js
|
|
9
|
-
function cx() {
|
|
10
|
-
let str = "", i = 0, arg;
|
|
11
|
-
for (; i < arguments.length; ) {
|
|
12
|
-
if ((arg = arguments[i++]) && typeof arg === "string") {
|
|
13
|
-
str && (str += " ");
|
|
14
|
-
str += arg;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
return str;
|
|
18
|
-
}
|
|
19
9
|
var useIsomorphicLayoutEffect = typeof document !== "undefined" ? react.useLayoutEffect : react.useEffect;
|
|
20
10
|
var styles = {
|
|
21
|
-
wrapperContents:
|
|
11
|
+
wrapperContents: chunkRU6JG3FS_cjs.css({
|
|
22
12
|
display: "contents"
|
|
23
13
|
}),
|
|
24
|
-
wrapperInline:
|
|
14
|
+
wrapperInline: chunkRU6JG3FS_cjs.css({
|
|
25
15
|
display: "inline"
|
|
26
16
|
}),
|
|
27
|
-
hoverIndication:
|
|
17
|
+
hoverIndication: chunkRU6JG3FS_cjs.css({
|
|
28
18
|
textDecorationLine: "underline",
|
|
29
19
|
textDecorationStyle: "dashed",
|
|
30
20
|
textDecorationColor: "fg.muted",
|
|
@@ -83,7 +73,7 @@ function HoverLayerTrigger({
|
|
|
83
73
|
"span",
|
|
84
74
|
{
|
|
85
75
|
"aria-describedby": describedBy,
|
|
86
|
-
className: cx(
|
|
76
|
+
className: chunk6BK4LUK4_cjs.cx(
|
|
87
77
|
styles.wrapperInline,
|
|
88
78
|
showHoverIndication ? styles.hoverIndication : void 0,
|
|
89
79
|
className
|
|
@@ -99,7 +89,7 @@ function HoverLayerTrigger({
|
|
|
99
89
|
] });
|
|
100
90
|
}
|
|
101
91
|
const nonTextWrapperRef = shouldForwardNonTextWrapperProps ? chunk6SHL7FYO_cjs.mergeRefs(ownWrapperRef, wrapperRef) : ownWrapperRef;
|
|
102
|
-
const nonTextWrapperClassName = cx(
|
|
92
|
+
const nonTextWrapperClassName = chunk6BK4LUK4_cjs.cx(
|
|
103
93
|
styles.wrapperContents,
|
|
104
94
|
shouldForwardNonTextWrapperProps ? className : void 0
|
|
105
95
|
);
|
|
@@ -130,7 +120,7 @@ function HoverLayerTrigger({
|
|
|
130
120
|
] });
|
|
131
121
|
}
|
|
132
122
|
var styles2 = {
|
|
133
|
-
layer:
|
|
123
|
+
layer: chunkRU6JG3FS_cjs.css({
|
|
134
124
|
m: 0,
|
|
135
125
|
p: 0,
|
|
136
126
|
borderWidth: 0,
|
|
@@ -244,7 +234,7 @@ function useLayer({
|
|
|
244
234
|
id,
|
|
245
235
|
role: props?.role,
|
|
246
236
|
popover: hasLightDismiss ? "auto" : "manual",
|
|
247
|
-
className: cx(styles2.layer, props?.className),
|
|
237
|
+
className: chunk6BK4LUK4_cjs.cx(styles2.layer, props?.className),
|
|
248
238
|
style: { ...anchorStyle, ...props?.style }
|
|
249
239
|
};
|
|
250
240
|
return react.createElement("div", layerProps, children);
|
|
@@ -447,9 +437,8 @@ function useHoverLayer({
|
|
|
447
437
|
}
|
|
448
438
|
|
|
449
439
|
exports.HoverLayerTrigger = HoverLayerTrigger;
|
|
450
|
-
exports.cx = cx;
|
|
451
440
|
exports.useHoverLayer = useHoverLayer;
|
|
452
441
|
exports.useIsomorphicLayoutEffect = useIsomorphicLayoutEffect;
|
|
453
442
|
exports.useLayer = useLayer;
|
|
454
|
-
//# sourceMappingURL=chunk-
|
|
455
|
-
//# sourceMappingURL=chunk-
|
|
443
|
+
//# sourceMappingURL=chunk-U2WVHZ24.cjs.map
|
|
444
|
+
//# sourceMappingURL=chunk-U2WVHZ24.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/internal/useIsomorphicLayoutEffect.ts","../src/internal/HoverLayerTrigger.tsx","../src/internal/useLayer.tsx","../src/internal/useHoverLayer.ts"],"names":["useLayoutEffect","useEffect","css","useRef","jsxs","Fragment","jsx","cx","mergeRefs","styles","useId","useState","useCallback","createElement","useMemo"],"mappings":"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","file":"chunk-U2WVHZ24.cjs","sourcesContent":["import {useEffect, useLayoutEffect} from 'react';\n\nexport const useIsomorphicLayoutEffect =\n typeof document !== 'undefined' ? useLayoutEffect : useEffect;\n","import {\n useRef,\n type CSSProperties,\n type ReactNode,\n type Ref,\n type RefCallback,\n} from 'react';\nimport {css, cx} from 'styled-system/css';\nimport {mergeRefs} from './mergeRefs';\nimport {useIsomorphicLayoutEffect} from './useIsomorphicLayoutEffect';\n\nexport type HoverLayerTriggerIndication = 'auto' | boolean;\n\nexport interface HoverLayerTriggerProps {\n children: ReactNode;\n className?: string;\n 'data-testid'?: string;\n describedBy: string;\n hasHoverIndication?: HoverLayerTriggerIndication;\n layer: ReactNode;\n nonTextWrapperElement?: 'div' | 'span';\n shouldForwardNonTextWrapperProps?: boolean;\n style?: CSSProperties;\n triggerRef: RefCallback<HTMLElement>;\n wrapperRef?: Ref<HTMLElement>;\n}\n\nconst styles = {\n wrapperContents: css({\n display: 'contents',\n }),\n wrapperInline: css({\n display: 'inline',\n }),\n hoverIndication: css({\n textDecorationLine: 'underline',\n textDecorationStyle: 'dashed',\n textDecorationColor: 'fg.muted',\n textUnderlineOffset: '2px',\n }),\n} as const;\n\nfunction isTextOnly(children: ReactNode): boolean {\n return typeof children === 'string' || typeof children === 'number';\n}\n\nfunction mergeIds(...ids: (string | undefined | null)[]): string | undefined {\n const filtered = ids.filter(Boolean);\n return filtered.length > 0 ? filtered.join(' ') : undefined;\n}\n\nexport function HoverLayerTrigger({\n children,\n className,\n 'data-testid': dataTestId,\n describedBy,\n hasHoverIndication = 'auto',\n layer,\n nonTextWrapperElement = 'span',\n shouldForwardNonTextWrapperProps = true,\n style,\n triggerRef,\n wrapperRef,\n}: HoverLayerTriggerProps): React.JSX.Element {\n const ownWrapperRef = useRef<HTMLDivElement | HTMLSpanElement>(null);\n const textOnly = isTextOnly(children);\n const showHoverIndication =\n hasHoverIndication === true || (hasHoverIndication === 'auto' && textOnly);\n\n useIsomorphicLayoutEffect(() => {\n if (textOnly) {\n return;\n }\n\n const firstChild = ownWrapperRef.current?.firstElementChild;\n if (!(firstChild instanceof HTMLElement)) {\n return;\n }\n\n triggerRef(firstChild);\n const existingDescribedBy = firstChild.getAttribute('aria-describedby');\n firstChild.setAttribute(\n 'aria-describedby',\n mergeIds(existingDescribedBy, describedBy) ?? '',\n );\n\n return () => {\n triggerRef(null);\n if (existingDescribedBy != null) {\n firstChild.setAttribute('aria-describedby', existingDescribedBy);\n return;\n }\n\n firstChild.removeAttribute('aria-describedby');\n };\n }, [describedBy, textOnly, triggerRef]);\n\n if (textOnly) {\n return (\n <>\n <span\n aria-describedby={describedBy}\n className={cx(\n styles.wrapperInline,\n showHoverIndication ? styles.hoverIndication : undefined,\n className,\n )}\n data-testid={dataTestId}\n ref={mergeRefs(triggerRef as Ref<HTMLSpanElement>, wrapperRef)}\n style={style}\n tabIndex={0}>\n {children}\n </span>\n {layer}\n </>\n );\n }\n\n const nonTextWrapperRef = shouldForwardNonTextWrapperProps\n ? mergeRefs(ownWrapperRef, wrapperRef)\n : ownWrapperRef;\n const nonTextWrapperClassName = cx(\n styles.wrapperContents,\n shouldForwardNonTextWrapperProps ? className : undefined,\n );\n const nonTextWrapperTestId = shouldForwardNonTextWrapperProps\n ? dataTestId\n : undefined;\n const nonTextWrapperStyle = shouldForwardNonTextWrapperProps\n ? style\n : undefined;\n const wrappedChildren =\n nonTextWrapperElement === 'div' ? (\n <div\n className={nonTextWrapperClassName}\n data-testid={nonTextWrapperTestId}\n ref={nonTextWrapperRef as Ref<HTMLDivElement>}\n style={nonTextWrapperStyle}>\n {children}\n </div>\n ) : (\n <span\n className={nonTextWrapperClassName}\n data-testid={nonTextWrapperTestId}\n ref={nonTextWrapperRef}\n style={nonTextWrapperStyle}>\n {children}\n </span>\n );\n\n return (\n <>\n {wrappedChildren}\n {layer}\n </>\n );\n}\n","import {\n createElement,\n useCallback,\n useId,\n useRef,\n useState,\n type ReactNode,\n type RefCallback,\n} from 'react';\nimport {css, cx} from 'styled-system/css';\n\nexport type LayerPlacement = 'above' | 'below' | 'start' | 'end';\nexport type LayerAlignment = 'start' | 'center' | 'end';\n\nexport interface ContextRenderProps {\n alignment?: LayerAlignment;\n className?: string;\n placement?: LayerPlacement;\n role?: string;\n style?: React.CSSProperties;\n}\n\ninterface LayerOptions {\n hasLightDismiss?: boolean;\n onHide?: () => void;\n onShow?: () => void;\n}\n\ntype PopoverValue = 'auto' | 'manual' | 'hint' | '';\n\ntype LayerElementProps = React.HTMLAttributes<HTMLDivElement> & {\n popover: PopoverValue;\n ref: RefCallback<HTMLElement>;\n};\n\nexport interface LayerReturn {\n anchorId: string;\n hide: () => void;\n id: string;\n isOpen: boolean;\n ref: RefCallback<HTMLElement>;\n render: (children: ReactNode, props?: ContextRenderProps) => ReactNode;\n show: () => void;\n}\n\nconst styles = {\n layer: css({\n m: 0,\n p: 0,\n borderWidth: 0,\n borderStyle: 'none',\n borderColor: 'transparent',\n overflow: 'visible',\n bg: 'transparent',\n }),\n};\n\nfunction getPositionArea(\n placement: LayerPlacement = 'above',\n alignment: LayerAlignment = 'center',\n): string {\n const placementMap: Record<LayerPlacement, string> = {\n above: 'top',\n below: 'bottom',\n start: 'left',\n end: 'right',\n };\n\n const cssPlacement = placementMap[placement];\n\n if (placement === 'above' || placement === 'below') {\n if (alignment === 'start') {\n return `${cssPlacement} span-right`;\n }\n if (alignment === 'end') {\n return `${cssPlacement} span-left`;\n }\n return cssPlacement;\n }\n\n if (alignment === 'start') {\n return `${cssPlacement} span-bottom`;\n }\n if (alignment === 'end') {\n return `${cssPlacement} span-top`;\n }\n return `${cssPlacement} center`;\n}\n\nexport function useLayer({\n onShow,\n onHide,\n hasLightDismiss = false,\n}: LayerOptions = {}): LayerReturn {\n const id = useId();\n const anchorId = `--silver-layer-${id.replace(/:/g, '')}`;\n const [isOpen, setIsOpen] = useState(false);\n const popoverRef = useRef<HTMLElement | null>(null);\n const triggerRef = useRef<HTMLElement | null>(null);\n const isOpenRef = useRef(false);\n\n const show = useCallback(() => {\n if (popoverRef.current == null || isOpenRef.current) {\n return;\n }\n\n popoverRef.current.showPopover();\n isOpenRef.current = true;\n setIsOpen(true);\n onShow?.();\n }, [onShow]);\n\n const hide = useCallback(() => {\n if (!isOpenRef.current) {\n return;\n }\n\n popoverRef.current?.hidePopover();\n isOpenRef.current = false;\n setIsOpen(false);\n onHide?.();\n }, [onHide]);\n\n const ref: RefCallback<HTMLElement> = useCallback(\n element => {\n if (triggerRef.current != null) {\n (\n triggerRef.current.style as unknown as Record<string, string>\n ).anchorName = '';\n }\n\n if (element != null) {\n (element.style as unknown as Record<string, string>).anchorName =\n anchorId;\n }\n\n triggerRef.current = element;\n },\n [anchorId],\n );\n\n const handleToggle = useCallback(\n (event: Event) => {\n const toggleEvent = event as ToggleEvent;\n if (toggleEvent.newState === 'closed' && isOpenRef.current) {\n isOpenRef.current = false;\n setIsOpen(false);\n onHide?.();\n }\n },\n [onHide],\n );\n\n const popoverRefCallback = useCallback(\n (element: HTMLElement | null) => {\n if (popoverRef.current != null) {\n popoverRef.current.removeEventListener('toggle', handleToggle);\n }\n\n popoverRef.current = element;\n\n if (element != null) {\n element.addEventListener('toggle', handleToggle);\n }\n },\n [handleToggle],\n );\n\n const render = useCallback(\n (children: ReactNode, props?: ContextRenderProps) => {\n const placement = props?.placement ?? 'above';\n const alignment = props?.alignment ?? 'center';\n const anchorStyle: React.CSSProperties = {\n border: 'none',\n positionAnchor: anchorId,\n positionArea: getPositionArea(placement, alignment),\n positionTryFallbacks: 'flip-block, flip-inline, flip-block flip-inline',\n };\n\n const layerProps: LayerElementProps = {\n ref: popoverRefCallback,\n id,\n role: props?.role,\n popover: hasLightDismiss ? 'auto' : 'manual',\n className: cx(styles.layer, props?.className),\n style: {...anchorStyle, ...props?.style},\n };\n\n return createElement('div', layerProps, children);\n },\n [anchorId, hasLightDismiss, id, popoverRefCallback],\n );\n\n return {\n ref,\n anchorId,\n show,\n hide,\n isOpen,\n id,\n render,\n };\n}\n","import {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n type RefCallback,\n type RefObject,\n} from 'react';\nimport {useLayer, type LayerReturn} from './useLayer';\n\nexport type HoverLayerFocusTrigger = 'auto' | 'always' | 'never';\n\nexport interface UseHoverLayerOptions {\n delay?: number;\n focusTrigger?: HoverLayerFocusTrigger;\n hideDelay?: number;\n isEnabled?: boolean;\n onFocusIn?: (event: FocusEvent) => boolean;\n onFocusOut?: (event: FocusEvent) => boolean;\n onHide?: () => void;\n onShow?: () => void;\n onTriggerEscape?: (event: KeyboardEvent) => void;\n shouldHide?: () => boolean;\n}\n\nexport interface UseHoverLayerReturn {\n anchorId: string;\n clearTimeouts: () => void;\n describedBy: string;\n hide: () => void;\n interactionRef: RefCallback<HTMLElement>;\n layer: LayerReturn;\n positionRef: RefCallback<HTMLElement>;\n ref: RefCallback<HTMLElement>;\n scheduleHide: () => void;\n show: () => void;\n triggerRef: RefObject<HTMLElement | null>;\n}\n\nfunction isFocusable(element: HTMLElement): boolean {\n if (element.hasAttribute('tabindex')) {\n return element.tabIndex >= 0;\n }\n\n if (\n ['A', 'BUTTON', 'INPUT', 'SELECT', 'TEXTAREA'].includes(element.tagName)\n ) {\n return !(element as HTMLButtonElement).disabled;\n }\n\n return element.isContentEditable;\n}\n\nfunction isTouchDevice(): boolean {\n return (\n typeof window !== 'undefined' &&\n typeof window.matchMedia === 'function' &&\n window.matchMedia('(hover: none)').matches\n );\n}\n\nexport function useHoverLayer({\n delay = 200,\n focusTrigger = 'auto',\n hideDelay = 0,\n isEnabled = true,\n onFocusIn,\n onFocusOut,\n onHide,\n onShow,\n onTriggerEscape,\n shouldHide,\n}: UseHoverLayerOptions = {}): UseHoverLayerReturn {\n const layer = useLayer({onShow, onHide});\n const showTimeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const hideTimeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const triggerRef = useRef<HTMLElement | null>(null);\n\n const clearTimeouts = useCallback(() => {\n if (showTimeoutRef.current != null) {\n clearTimeout(showTimeoutRef.current);\n showTimeoutRef.current = null;\n }\n\n if (hideTimeoutRef.current != null) {\n clearTimeout(hideTimeoutRef.current);\n hideTimeoutRef.current = null;\n }\n }, []);\n\n const scheduleShow = useCallback(() => {\n if (!isEnabled) {\n return;\n }\n\n clearTimeouts();\n showTimeoutRef.current = setTimeout(() => layer.show(), delay);\n }, [clearTimeouts, delay, isEnabled, layer]);\n\n const hideIfAllowed = useCallback(() => {\n if (shouldHide?.() === false) {\n return;\n }\n\n layer.hide();\n }, [layer, shouldHide]);\n\n const scheduleHide = useCallback(() => {\n clearTimeouts();\n\n if (hideDelay > 0) {\n hideTimeoutRef.current = setTimeout(hideIfAllowed, hideDelay);\n return;\n }\n\n hideIfAllowed();\n }, [clearTimeouts, hideDelay, hideIfAllowed]);\n\n const handleMouseEnter = useCallback(() => {\n if (isTouchDevice()) {\n return;\n }\n\n scheduleShow();\n }, [scheduleShow]);\n\n const handleMouseLeave = useCallback(() => {\n scheduleHide();\n }, [scheduleHide]);\n\n const handleFocusIn = useCallback(\n (event: FocusEvent) => {\n if (!isEnabled || onFocusIn?.(event) === false) {\n return;\n }\n\n clearTimeouts();\n layer.show();\n },\n [clearTimeouts, isEnabled, layer, onFocusIn],\n );\n\n const handleFocusOut = useCallback(\n (event: FocusEvent) => {\n if (onFocusOut?.(event) === false) {\n return;\n }\n\n scheduleHide();\n },\n [onFocusOut, scheduleHide],\n );\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (event.key === 'Escape' && layer.isOpen) {\n onTriggerEscape?.(event);\n }\n },\n [layer.isOpen, onTriggerEscape],\n );\n\n const handlersRef = useRef({\n focusIn: handleFocusIn,\n focusOut: handleFocusOut,\n keyDown: handleKeyDown,\n mouseEnter: handleMouseEnter,\n mouseLeave: handleMouseLeave,\n });\n // eslint-disable-next-line @eslint-react/refs -- latest-ref pattern for stable DOM listeners\n handlersRef.current = {\n focusIn: handleFocusIn,\n focusOut: handleFocusOut,\n keyDown: handleKeyDown,\n mouseEnter: handleMouseEnter,\n mouseLeave: handleMouseLeave,\n };\n\n const stableMouseEnter = useCallback(() => {\n handlersRef.current.mouseEnter();\n }, []);\n const stableMouseLeave = useCallback(() => {\n handlersRef.current.mouseLeave();\n }, []);\n const stableFocusIn = useCallback((event: Event) => {\n handlersRef.current.focusIn(event as FocusEvent);\n }, []);\n const stableFocusOut = useCallback((event: Event) => {\n handlersRef.current.focusOut(event as FocusEvent);\n }, []);\n const stableKeyDown = useCallback((event: Event) => {\n handlersRef.current.keyDown(event as KeyboardEvent);\n }, []);\n\n const interactionRef: RefCallback<HTMLElement> = useCallback(\n element => {\n if (triggerRef.current != null) {\n triggerRef.current.removeEventListener('mouseenter', stableMouseEnter);\n triggerRef.current.removeEventListener('mouseleave', stableMouseLeave);\n triggerRef.current.removeEventListener('focusin', stableFocusIn);\n triggerRef.current.removeEventListener('focusout', stableFocusOut);\n triggerRef.current.removeEventListener('keydown', stableKeyDown);\n }\n\n if (element != null) {\n element.addEventListener('mouseenter', stableMouseEnter);\n element.addEventListener('mouseleave', stableMouseLeave);\n\n const shouldAttachFocus =\n focusTrigger === 'always' ||\n (focusTrigger === 'auto' && isFocusable(element));\n\n if (shouldAttachFocus) {\n element.addEventListener('focusin', stableFocusIn);\n element.addEventListener('focusout', stableFocusOut);\n }\n\n if (onTriggerEscape != null) {\n element.addEventListener('keydown', stableKeyDown);\n }\n }\n\n triggerRef.current = element;\n },\n [\n focusTrigger,\n onTriggerEscape,\n stableFocusIn,\n stableFocusOut,\n stableKeyDown,\n stableMouseEnter,\n stableMouseLeave,\n ],\n );\n\n const ref: RefCallback<HTMLElement> = useCallback(\n element => {\n layer.ref(element);\n interactionRef(element);\n },\n [interactionRef, layer],\n );\n\n useEffect(() => {\n return () => clearTimeouts();\n }, [clearTimeouts]);\n\n return useMemo(\n () => ({\n anchorId: layer.anchorId,\n clearTimeouts,\n describedBy: layer.id,\n hide: layer.hide,\n interactionRef,\n layer,\n positionRef: layer.ref,\n ref,\n scheduleHide,\n show: layer.show,\n triggerRef,\n }),\n [clearTimeouts, interactionRef, layer, ref, scheduleHide],\n );\n}\n"]}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
+
import { cva } from './chunk-FMEIPGUP.js';
|
|
1
2
|
import { cx } from './chunk-PPNETWIP.js';
|
|
2
|
-
import { css } from './chunk-UHQRL4OA.js';
|
|
3
3
|
import { jsx } from 'react/jsx-runtime';
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
var
|
|
7
|
-
|
|
8
|
-
root: css({
|
|
5
|
+
// src/components/Skeleton/Skeleton.recipe.ts
|
|
6
|
+
var skeletonRecipe = cva({
|
|
7
|
+
base: {
|
|
9
8
|
bg: "skeleton",
|
|
10
9
|
backgroundImage: "linear-gradient(90deg, token(colors.skeleton) 0%, token(colors.skeleton.shimmer) 50%, token(colors.skeleton) 100%)",
|
|
11
10
|
backgroundSize: "200% 100%",
|
|
@@ -14,17 +13,24 @@ var styles = {
|
|
|
14
13
|
animation: "none",
|
|
15
14
|
backgroundImage: "none"
|
|
16
15
|
}
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
16
|
+
},
|
|
17
|
+
variants: {
|
|
18
|
+
radius: {
|
|
19
|
+
none: { borderRadius: 0 },
|
|
20
|
+
0: { borderRadius: 0 },
|
|
21
|
+
1: { borderRadius: "xs" },
|
|
22
|
+
2: { borderRadius: "sm" },
|
|
23
|
+
3: { borderRadius: "md" },
|
|
24
|
+
4: { borderRadius: "lg" },
|
|
25
|
+
rounded: { borderRadius: "full" }
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
defaultVariants: {
|
|
29
|
+
radius: 3
|
|
26
30
|
}
|
|
27
|
-
};
|
|
31
|
+
});
|
|
32
|
+
var delayTime = 1e3;
|
|
33
|
+
var staggerTime = 100;
|
|
28
34
|
function formatSize(value) {
|
|
29
35
|
return typeof value === "number" ? `${value}px` : value;
|
|
30
36
|
}
|
|
@@ -44,21 +50,21 @@ function Skeleton({
|
|
|
44
50
|
"div",
|
|
45
51
|
{
|
|
46
52
|
"aria-label": ariaLabel,
|
|
47
|
-
className: cx(
|
|
53
|
+
className: cx(skeletonRecipe({ radius }), className),
|
|
48
54
|
"data-testid": dataTestId,
|
|
49
55
|
ref,
|
|
50
56
|
role: "status",
|
|
51
57
|
style: {
|
|
58
|
+
...style,
|
|
52
59
|
width: formatSize(width),
|
|
53
60
|
height: formatSize(height),
|
|
54
|
-
animationDelay: `${delayTime + staggerTime * clampedIndex}ms
|
|
55
|
-
...style
|
|
61
|
+
animationDelay: `${delayTime + staggerTime * clampedIndex}ms`
|
|
56
62
|
}
|
|
57
63
|
}
|
|
58
64
|
);
|
|
59
65
|
}
|
|
60
66
|
Skeleton.displayName = "Skeleton";
|
|
61
67
|
|
|
62
|
-
export { Skeleton };
|
|
63
|
-
//# sourceMappingURL=chunk-
|
|
64
|
-
//# sourceMappingURL=chunk-
|
|
68
|
+
export { Skeleton, skeletonRecipe };
|
|
69
|
+
//# sourceMappingURL=chunk-U4GWNENK.js.map
|
|
70
|
+
//# sourceMappingURL=chunk-U4GWNENK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Skeleton/Skeleton.recipe.ts","../src/components/Skeleton/Skeleton.tsx"],"names":[],"mappings":";;;;;AAEO,IAAM,iBAAiB,GAAA,CAAI;AAAA,EAChC,IAAA,EAAM;AAAA,IACJ,EAAA,EAAI,UAAA;AAAA,IACJ,eAAA,EACE,oHAAA;AAAA,IACF,cAAA,EAAgB,WAAA;AAAA,IAChB,SAAA,EAAW,4CAAA;AAAA,IACX,yCAAA,EAA2C;AAAA,MACzC,SAAA,EAAW,MAAA;AAAA,MACX,eAAA,EAAiB;AAAA;AACnB,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,MAAA,EAAQ;AAAA,MACN,IAAA,EAAM,EAAC,YAAA,EAAc,CAAA,EAAC;AAAA,MACtB,CAAA,EAAG,EAAC,YAAA,EAAc,CAAA,EAAC;AAAA,MACnB,CAAA,EAAG,EAAC,YAAA,EAAc,IAAA,EAAI;AAAA,MACtB,CAAA,EAAG,EAAC,YAAA,EAAc,IAAA,EAAI;AAAA,MACtB,CAAA,EAAG,EAAC,YAAA,EAAc,IAAA,EAAI;AAAA,MACtB,CAAA,EAAG,EAAC,YAAA,EAAc,IAAA,EAAI;AAAA,MACtB,OAAA,EAAS,EAAC,YAAA,EAAc,MAAA;AAAM;AAChC,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,MAAA,EAAQ;AAAA;AAEZ,CAAC;ACuBD,IAAM,SAAA,GAAY,GAAA;AAClB,IAAM,WAAA,GAAc,GAAA;AAEpB,SAAS,WAAW,KAAA,EAAgC;AAClD,EAAA,OAAO,OAAO,KAAA,KAAU,QAAA,GAAW,CAAA,EAAG,KAAK,CAAA,EAAA,CAAA,GAAO,KAAA;AACpD;AAQO,SAAS,QAAA,CAAS;AAAA,EACvB,cAAc,SAAA,GAAY,SAAA;AAAA,EAC1B,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,MAAA,GAAS,MAAA;AAAA,EACT,MAAA,GAAS,CAAA;AAAA,EACT,GAAA;AAAA,EACA,YAAA,GAAe,CAAA;AAAA,EACf,KAAA;AAAA,EACA,KAAA,GAAQ;AACV,CAAA,EAAqC;AACnC,EAAA,MAAM,YAAA,GAAe,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,YAAY,CAAA;AAE7C,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,YAAA,EAAY,SAAA;AAAA,MACZ,WAAW,EAAA,CAAG,cAAA,CAAe,EAAC,MAAA,EAAO,GAAG,SAAS,CAAA;AAAA,MACjD,aAAA,EAAa,UAAA;AAAA,MACb,GAAA;AAAA,MACA,IAAA,EAAK,QAAA;AAAA,MACL,KAAA,EAAO;AAAA,QACL,GAAG,KAAA;AAAA,QACH,KAAA,EAAO,WAAW,KAAK,CAAA;AAAA,QACvB,MAAA,EAAQ,WAAW,MAAM,CAAA;AAAA,QACzB,cAAA,EAAgB,CAAA,EAAG,SAAA,GAAY,WAAA,GAAc,YAAY,CAAA,EAAA;AAAA;AAC3D;AAAA,GACF;AAEJ;AAEA,QAAA,CAAS,WAAA,GAAc,UAAA","file":"chunk-U4GWNENK.js","sourcesContent":["import {cva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const skeletonRecipe = cva({\n base: {\n bg: 'skeleton',\n backgroundImage:\n 'linear-gradient(90deg, token(colors.skeleton) 0%, token(colors.skeleton.shimmer) 50%, token(colors.skeleton) 100%)',\n backgroundSize: '200% 100%',\n animation: 'skeleton-shimmer 1.4s ease-in-out infinite',\n '@media (prefers-reduced-motion: reduce)': {\n animation: 'none',\n backgroundImage: 'none',\n },\n },\n variants: {\n radius: {\n none: {borderRadius: 0},\n 0: {borderRadius: 0},\n 1: {borderRadius: 'xs'},\n 2: {borderRadius: 'sm'},\n 3: {borderRadius: 'md'},\n 4: {borderRadius: 'lg'},\n rounded: {borderRadius: 'full'},\n },\n },\n defaultVariants: {\n radius: 3,\n },\n});\n\nexport type SkeletonVariants = RecipeVariantProps<typeof skeletonRecipe>;\n","import type {CSSProperties, Ref} from 'react';\nimport {cx} from '../../internal/cx';\nimport {skeletonRecipe} from './Skeleton.recipe';\n\nexport type SkeletonRadius = 0 | 1 | 2 | 3 | 4 | 'none' | 'rounded';\n\nexport interface SkeletonProps {\n /**\n * Accessible label for the loading placeholder.\n * @default 'Loading'\n */\n 'aria-label'?: string;\n /**\n * Additional CSS class names applied to the skeleton.\n */\n className?: string;\n /**\n * Test ID applied to the skeleton.\n */\n 'data-testid'?: string;\n /**\n * Skeleton height. Numbers are treated as pixels.\n * @default '100%'\n */\n height?: number | string;\n /**\n * Border radius token.\n * @default 3\n */\n radius?: SkeletonRadius;\n /**\n * Ref forwarded to the skeleton element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Animation stagger index for lists of skeletons. Controls the delay\n * before the shimmer animation starts, creating a wave effect.\n * @default 0\n */\n staggerIndex?: number;\n /**\n * Inline styles applied to the skeleton.\n */\n style?: CSSProperties;\n /**\n * Skeleton width. Numbers are treated as pixels.\n * @default '100%'\n */\n width?: number | string;\n}\n\nconst delayTime = 1000;\nconst staggerTime = 100;\n\nfunction formatSize(value: number | string): string {\n return typeof value === 'number' ? `${value}px` : value;\n}\n\n/**\n * A pulsing placeholder used while content is loading.\n *\n * For containers with multiple skeletons, set `aria-busy=\"true\"` on the\n * parent element so assistive technology knows to wait for content.\n */\nexport function Skeleton({\n 'aria-label': ariaLabel = 'Loading',\n className,\n 'data-testid': dataTestId,\n height = '100%',\n radius = 3,\n ref,\n staggerIndex = 0,\n style,\n width = '100%',\n}: SkeletonProps): React.JSX.Element {\n const clampedIndex = Math.max(0, staggerIndex);\n\n return (\n <div\n aria-label={ariaLabel}\n className={cx(skeletonRecipe({radius}), className)}\n data-testid={dataTestId}\n ref={ref}\n role=\"status\"\n style={{\n ...style,\n width: formatSize(width),\n height: formatSize(height),\n animationDelay: `${delayTime + staggerTime * clampedIndex}ms`,\n }}\n />\n );\n}\n\nSkeleton.displayName = 'Skeleton';\n"]}
|