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
package/README.md
CHANGED
|
@@ -47,9 +47,40 @@ import {SideNav, SideNavItem} from 'silver-ui/SideNav';
|
|
|
47
47
|
|
|
48
48
|
## Theming
|
|
49
49
|
|
|
50
|
-
silver-ui
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
The easiest way to theme silver-ui is the `<Theme>` component. It maps friendly
|
|
51
|
+
token names to the underlying CSS variables and applies them app-wide or to a
|
|
52
|
+
scoped subtree. Wrap your app (or any branded area) and override the tokens you
|
|
53
|
+
care about:
|
|
54
|
+
|
|
55
|
+
```tsx
|
|
56
|
+
import {Button, Theme} from 'silver-ui';
|
|
57
|
+
|
|
58
|
+
export function App() {
|
|
59
|
+
return (
|
|
60
|
+
<Theme
|
|
61
|
+
mode="light"
|
|
62
|
+
tokens={{
|
|
63
|
+
colors: {
|
|
64
|
+
primary: 'teal-500',
|
|
65
|
+
primaryHover: 'teal-600',
|
|
66
|
+
primaryActive: 'teal-700',
|
|
67
|
+
},
|
|
68
|
+
radii: {componentMd: '0.5rem'},
|
|
69
|
+
fonts: {body: 'Inter, system-ui, sans-serif'},
|
|
70
|
+
}}>
|
|
71
|
+
<Button label="Save" />
|
|
72
|
+
</Theme>
|
|
73
|
+
);
|
|
74
|
+
}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Palette references (`teal-500`) and custom CSS values (`#e11d48`, `oklch(...)`,
|
|
78
|
+
`var(...)`) are both supported, and multiple `<Theme>` regions can coexist on
|
|
79
|
+
one page.
|
|
80
|
+
|
|
81
|
+
Prefer plain CSS? Every component is driven by `--silver-*` variables, so you
|
|
82
|
+
can override them directly. All library styles use CSS `@layer`, so your
|
|
83
|
+
overrides always win without specificity battles.
|
|
53
84
|
|
|
54
85
|
```css
|
|
55
86
|
:root {
|
|
@@ -64,8 +95,8 @@ CSS `@layer`, so your overrides always win without specificity battles.
|
|
|
64
95
|
Variables can be scoped to containers, dark mode (`[data-theme="dark"]`), or
|
|
65
96
|
individual instances via `className`/`style` props.
|
|
66
97
|
|
|
67
|
-
See [THEME.md](THEME.md) for the full variable reference, dark
|
|
68
|
-
scoped theming examples, and per-instance overrides.
|
|
98
|
+
See [THEME.md](THEME.md) for the full `<Theme>` API, variable reference, dark
|
|
99
|
+
mode details, scoped theming examples, and per-instance overrides.
|
|
69
100
|
|
|
70
101
|
## Components
|
|
71
102
|
|
|
@@ -84,7 +115,7 @@ scoped theming examples, and per-instance overrides.
|
|
|
84
115
|
|
|
85
116
|
- **Breadcrumbs** — hierarchical page location trail
|
|
86
117
|
- **Link** — polymorphic link with external link handling and router integration
|
|
87
|
-
- **
|
|
118
|
+
- **NavIcon** — circular accent-colored icon container for navigation headers
|
|
88
119
|
- **Pagination** — page navigation controls
|
|
89
120
|
- **SideNav** — vertical side navigation panel with collapsing support
|
|
90
121
|
- **Tabs** — tabbed content switching
|
|
@@ -105,6 +136,7 @@ scoped theming examples, and per-instance overrides.
|
|
|
105
136
|
- **AvatarGroup** — stacked avatar collection with overflow count
|
|
106
137
|
- **Badge** — small status label with icon support
|
|
107
138
|
- **Blockquote** — styled quotation block
|
|
139
|
+
- **CodeBlock** — read-only code display with line numbers, line highlighting, and copy button
|
|
108
140
|
- **Icon** — renders Lucide icons with size and color tokens
|
|
109
141
|
- **Item** — generic list item with icon, label, and description
|
|
110
142
|
- **Kbd** — keyboard shortcut display with accessible labels
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { cx } from './chunk-PPNETWIP.js';
|
|
2
|
+
import { css } from './chunk-OD4DHHZH.js';
|
|
3
|
+
import { jsx } from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
var styles = {
|
|
6
|
+
base: css({
|
|
7
|
+
display: "flex",
|
|
8
|
+
alignItems: "center",
|
|
9
|
+
justifyContent: "center",
|
|
10
|
+
borderRadius: "full",
|
|
11
|
+
bg: "primary",
|
|
12
|
+
color: "fg.onPrimary",
|
|
13
|
+
flexShrink: 0,
|
|
14
|
+
w: "component.sm",
|
|
15
|
+
h: "component.sm"
|
|
16
|
+
})
|
|
17
|
+
};
|
|
18
|
+
function NavIcon({
|
|
19
|
+
className,
|
|
20
|
+
"data-testid": dataTestId,
|
|
21
|
+
icon,
|
|
22
|
+
ref,
|
|
23
|
+
style
|
|
24
|
+
}) {
|
|
25
|
+
return /* @__PURE__ */ jsx(
|
|
26
|
+
"span",
|
|
27
|
+
{
|
|
28
|
+
className: cx(styles.base, className),
|
|
29
|
+
"data-testid": dataTestId,
|
|
30
|
+
ref,
|
|
31
|
+
style,
|
|
32
|
+
children: icon
|
|
33
|
+
}
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
NavIcon.displayName = "NavIcon";
|
|
37
|
+
|
|
38
|
+
export { NavIcon };
|
|
39
|
+
//# sourceMappingURL=chunk-24J3BUKL.js.map
|
|
40
|
+
//# sourceMappingURL=chunk-24J3BUKL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/NavIcon/NavIcon.tsx"],"names":[],"mappings":";;;;AA2BA,IAAM,MAAA,GAAS;AAAA,EACb,MAAM,GAAA,CAAI;AAAA,IACR,OAAA,EAAS,MAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA,IACZ,cAAA,EAAgB,QAAA;AAAA,IAChB,YAAA,EAAc,MAAA;AAAA,IACd,EAAA,EAAI,SAAA;AAAA,IACJ,KAAA,EAAO,cAAA;AAAA,IACP,UAAA,EAAY,CAAA;AAAA,IACZ,CAAA,EAAG,cAAA;AAAA,IACH,CAAA,EAAG;AAAA,GACJ;AACH,CAAA;AAMO,SAAS,OAAA,CAAQ;AAAA,EACtB,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,IAAA;AAAA,EACA,GAAA;AAAA,EACA;AACF,CAAA,EAAoC;AAClC,EAAA,uBACE,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,MAAA,CAAO,IAAA,EAAM,SAAS,CAAA;AAAA,MACpC,aAAA,EAAa,UAAA;AAAA,MACb,GAAA;AAAA,MACA,KAAA;AAAA,MACC,QAAA,EAAA;AAAA;AAAA,GACH;AAEJ;AAEA,OAAA,CAAQ,WAAA,GAAc,SAAA","file":"chunk-24J3BUKL.js","sourcesContent":["import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\n\nexport interface NavIconProps {\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * The icon element to render inside the circular background.\n */\n icon: ReactNode;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLSpanElement>;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n}\n\nconst styles = {\n base: css({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: 'full',\n bg: 'primary',\n color: 'fg.onPrimary',\n flexShrink: 0,\n w: 'component.sm',\n h: 'component.sm',\n }),\n};\n\n/**\n * Circular icon container for navigation headers.\n * Wraps an icon with a circular accent-colored background.\n */\nexport function NavIcon({\n className,\n 'data-testid': dataTestId,\n icon,\n ref,\n style,\n}: NavIconProps): React.JSX.Element {\n return (\n <span\n className={cx(styles.base, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n {icon}\n </span>\n );\n}\n\nNavIcon.displayName = 'NavIcon';\n"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { VisuallyHidden } from './chunk-
|
|
2
|
-
import { Tooltip } from './chunk-
|
|
3
|
-
import { Icon } from './chunk-
|
|
4
|
-
import { cva } from './chunk-
|
|
1
|
+
import { VisuallyHidden } from './chunk-EXYBQVZT.js';
|
|
2
|
+
import { Tooltip } from './chunk-EMHLPPQZ.js';
|
|
3
|
+
import { Icon } from './chunk-7T3SWOY7.js';
|
|
4
|
+
import { cva } from './chunk-FMEIPGUP.js';
|
|
5
5
|
import { cx } from './chunk-PPNETWIP.js';
|
|
6
|
-
import { css } from './chunk-
|
|
6
|
+
import { css } from './chunk-OD4DHHZH.js';
|
|
7
7
|
import { ExternalLink } from 'lucide-react';
|
|
8
8
|
import { createContext, useMemo, use } from 'react';
|
|
9
9
|
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
@@ -231,6 +231,6 @@ function LinkProvider({
|
|
|
231
231
|
}
|
|
232
232
|
LinkProvider.displayName = "LinkProvider";
|
|
233
233
|
|
|
234
|
-
export { Link, LinkProvider, getAriaLabel,
|
|
235
|
-
//# sourceMappingURL=chunk-
|
|
236
|
-
//# sourceMappingURL=chunk-
|
|
234
|
+
export { Link, LinkProvider, getAriaLabel, useLinkComponent, useRel };
|
|
235
|
+
//# sourceMappingURL=chunk-2IKWX66Q.js.map
|
|
236
|
+
//# sourceMappingURL=chunk-2IKWX66Q.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/internal/linkAccessibility.ts","../src/components/Link/Link.recipe.ts","../src/components/Link/LinkContext.ts","../src/components/Link/useLinkComponent.ts","../src/components/Link/Link.tsx","../src/components/Link/LinkProvider.tsx"],"names":["useMemo","jsx"],"mappings":"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","file":"chunk-2IKWX66Q.js","sourcesContent":["import {useMemo} from 'react';\n\nexport function getAriaLabel(\n label: string | undefined,\n opensInNewTab: boolean,\n): string | undefined {\n if (!opensInNewTab) {\n return label;\n }\n\n return label != null ? `${label} (opens in new tab)` : undefined;\n}\n\nexport function useRel({\n isExternalLink = false,\n target,\n rel,\n}: {\n isExternalLink?: boolean;\n target?: string;\n rel?: string;\n}): string | undefined {\n return useMemo(() => {\n if (!isExternalLink && target !== '_blank') {\n return rel;\n }\n\n const relValues = new Set((rel ?? '').split(/\\s+/).filter(Boolean));\n relValues.add('noopener');\n relValues.add('noreferrer');\n\n return Array.from(relValues).join(' ');\n }, [isExternalLink, target, rel]);\n}\n","import {cva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const linkRecipe = cva({\n base: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '1',\n fontFamily: 'body',\n fontWeight: 'inherit',\n lineHeight: 'normal',\n textDecoration: 'none',\n cursor: 'pointer',\n transitionProperty: 'color, text-decoration-color, opacity',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n _hover: {\n textDecoration: 'underline',\n },\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n '&[aria-disabled=\"true\"]': {\n cursor: 'not-allowed',\n opacity: 0.5,\n },\n },\n variants: {\n size: {\n xs: {fontSize: 'xs'},\n sm: {fontSize: 'sm'},\n md: {fontSize: 'md'},\n lg: {fontSize: 'lg'},\n xl: {fontSize: 'xl'},\n '2xl': {fontSize: '2xl'},\n '3xl': {fontSize: '3xl'},\n '4xl': {fontSize: '4xl'},\n '5xl': {fontSize: '5xl'},\n '6xl': {fontSize: '6xl'},\n inherit: {fontSize: 'inherit'},\n },\n color: {\n primary: {\n color: 'fg',\n },\n secondary: {\n color: 'fg.muted',\n },\n disabled: {\n color: 'fg.disabled',\n },\n placeholder: {\n color: 'fg.muted',\n },\n active: {\n color: 'primary',\n },\n inherit: {\n color: 'inherit',\n },\n },\n weight: {\n normal: {fontWeight: 'normal'},\n medium: {fontWeight: 'medium'},\n semibold: {fontWeight: 'semibold'},\n bold: {fontWeight: 'bold'},\n inherit: {fontWeight: 'inherit'},\n },\n hasUnderline: {\n true: {\n textDecoration: 'underline',\n },\n false: {},\n },\n },\n defaultVariants: {\n color: 'active',\n size: 'md',\n hasUnderline: false,\n },\n});\n\nexport type LinkVariants = RecipeVariantProps<typeof linkRecipe>;\n","import {createContext} from 'react';\nimport type {LinkComponent} from './types';\n\nexport interface LinkContextValue {\n component: LinkComponent;\n}\n\nexport const LinkContext = createContext<LinkContextValue | null>(null);\nLinkContext.displayName = 'LinkContext';\n","import {use} from 'react';\nimport {LinkContext} from './LinkContext';\nimport type {LinkComponent} from './types';\n\nexport function useLinkComponent(as?: LinkComponent): LinkComponent {\n const context = use(LinkContext);\n return as ?? context?.component ?? 'a';\n}\n","/* eslint-disable @eslint-react/static-components -- intentional polymorphism via as prop */\n\nimport {ExternalLink} from 'lucide-react';\nimport type {CSSProperties, MouseEventHandler, ReactNode, Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {VisuallyHidden} from '../../internal';\nimport {cx} from '../../internal/cx';\nimport {getAriaLabel, useRel} from '../../internal/linkAccessibility';\nimport {Icon} from '../Icon';\nimport type {TextColor, TextSize, TextWeight} from '../Text';\nimport {Tooltip} from '../Tooltip';\nimport {linkRecipe} from './Link.recipe';\nimport type {LinkComponent} from './types';\nimport {useLinkComponent} from './useLinkComponent';\n\n/**\n * A polymorphic link component with built-in accessibility, external link handling,\n * and router integration via LinkProvider. Supports custom link components (e.g.\n * React Router's Link) through the `as` prop or a parent `LinkProvider`.\n */\nexport interface LinkProps {\n /**\n * Identifies the element(s) whose contents are controlled by the link.\n */\n 'aria-controls'?: string;\n /**\n * Indicates the current item in a set (e.g. current page in navigation).\n */\n 'aria-current'?: 'page' | 'step' | 'location' | 'date' | 'time' | 'true';\n /**\n * Identifies the element(s) that describe the link.\n */\n 'aria-describedby'?: string;\n /**\n * Accessible description for the link.\n */\n 'aria-description'?: string;\n /**\n * Identifies the element that provides a detailed description.\n */\n 'aria-details'?: string;\n /**\n * Indicates whether a controlled element is expanded or collapsed.\n */\n 'aria-expanded'?: boolean;\n /**\n * Indicates the link opens an interactive popup element.\n */\n 'aria-haspopup'?: boolean | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog';\n /**\n * Indicates whether the element is exposed to the accessibility API.\n */\n 'aria-hidden'?: boolean;\n /**\n * Keyboard shortcuts that activate or focus the link.\n */\n 'aria-keyshortcuts'?: string;\n /**\n * Identifies the element(s) that label the link.\n */\n 'aria-labelledby'?: string;\n /**\n * Identifies element(s) owned by the link that are not DOM children.\n */\n 'aria-owns'?: string;\n /**\n * Human-readable description of the role of the link.\n */\n 'aria-roledescription'?: string;\n /**\n * Custom element type to render instead of `<a>`. Useful for integrating with routers.\n * If you want to set this globally, use LinkProvider at the top level of your app.\n */\n as?: LinkComponent;\n /**\n * Link content.\n */\n children: ReactNode;\n /**\n * Optionally, rendering by setting the className.\n */\n className?: string;\n /**\n * Color variant controlling the link text color. Default is `active`.\n */\n color?: TextColor;\n /**\n * Test id applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Show a persistent underline on the link text.\n */\n hasUnderline?: boolean;\n /**\n * URL destination. Custom link components receive this as both `href` and\n * `to` so router links and anchor-like links can share the same Silver UI API.\n * When omitted, Link renders `href=\"#\"` to preserve native link semantics and\n * prevents the fallback hash navigation.\n */\n href?: string;\n /**\n * Visually and functionally disable the link. Prevents navigation and removes from tab order.\n */\n isDisabled?: boolean;\n /**\n * Mark as an external link. Adds an icon and rel=\"noopener noreferrer\".\n * Defaults target to \"_blank\" unless target is set explicitly.\n */\n isExternalLink?: boolean;\n /**\n * Accessible label (aria-label). It is recommended to set this if your link does not contain sufficient text to make its purpose clear.\n */\n label?: string;\n /**\n * Click handler. Not called when the link is disabled.\n */\n onClick?: MouseEventHandler<HTMLAnchorElement>;\n /**\n * Ref forwarded to the underlying anchor element.\n */\n ref?: Ref<HTMLAnchorElement>;\n /**\n * HTML rel attribute.\n */\n rel?: string;\n /**\n * Font size variant. Default is `md`.\n */\n size?: TextSize;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * HTML target attribute.\n */\n target?: string;\n /**\n * Tooltip text shown on hover.\n */\n tooltip?: string;\n /**\n * Font weight variant. Default is inherited from parent styles.\n */\n weight?: TextWeight;\n}\n\nexport function Link({\n 'aria-controls': ariaControls,\n 'aria-current': ariaCurrent,\n 'aria-description': ariaDescription,\n 'aria-describedby': ariaDescribedby,\n 'aria-details': ariaDetails,\n 'aria-expanded': ariaExpanded,\n 'aria-haspopup': ariaHaspopup,\n 'aria-hidden': ariaHidden,\n 'aria-keyshortcuts': ariaKeyshortcuts,\n 'aria-labelledby': ariaLabelledby,\n 'aria-owns': ariaOwns,\n 'aria-roledescription': ariaRoledescription,\n as,\n label,\n href: hrefFromProps,\n hasUnderline = false,\n isDisabled = false,\n isExternalLink = false,\n target: targetFromProps,\n rel: relFromProps,\n size,\n tooltip,\n color,\n weight,\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n children,\n onClick,\n}: LinkProps): React.JSX.Element {\n const Component = useLinkComponent(as);\n const href = hrefFromProps ?? '#';\n const isFallbackHref = hrefFromProps == null;\n const target = targetFromProps ?? (isExternalLink ? '_blank' : undefined);\n const opensInNewTab = target === '_blank';\n const rel = useRel({isExternalLink, target, rel: relFromProps});\n\n const ariaAttrs = {\n 'aria-controls': ariaControls,\n 'aria-current': ariaCurrent,\n 'aria-description': ariaDescription,\n 'aria-describedby': ariaDescribedby,\n 'aria-details': ariaDetails,\n 'aria-expanded': ariaExpanded,\n 'aria-haspopup': ariaHaspopup,\n 'aria-hidden': ariaHidden,\n 'aria-keyshortcuts': ariaKeyshortcuts,\n 'aria-labelledby': ariaLabelledby,\n 'aria-owns': ariaOwns,\n 'aria-roledescription': ariaRoledescription,\n };\n\n const handleClick: MouseEventHandler<HTMLAnchorElement> = event => {\n if (isDisabled || isFallbackHref) {\n event.preventDefault();\n }\n\n if (isDisabled) {\n return;\n }\n\n onClick?.(event);\n };\n\n const element = (\n <Component\n {...ariaAttrs}\n aria-disabled={isDisabled || undefined}\n aria-label={getAriaLabel(label, opensInNewTab)}\n className={cx(linkRecipe({color, hasUnderline, size, weight}), className)}\n data-testid={dataTestId}\n href={isDisabled ? undefined : href}\n onClick={handleClick}\n ref={ref}\n rel={isDisabled ? undefined : rel}\n role={isDisabled && hrefFromProps != null ? 'link' : undefined}\n style={style}\n tabIndex={isDisabled ? -1 : undefined}\n target={isDisabled ? undefined : target}\n to={isDisabled ? undefined : Component === 'a' ? undefined : href}>\n {children}\n {opensInNewTab && label == null ? (\n <>\n {' '}\n <VisuallyHidden>(opens in new tab)</VisuallyHidden>\n </>\n ) : null}\n {isExternalLink ? (\n <span aria-hidden=\"true\" className={styles.externalLink}>\n <Icon icon={ExternalLink} size=\"sm\" />\n </span>\n ) : null}\n </Component>\n );\n\n if (tooltip != null) {\n return <Tooltip content={tooltip}>{element}</Tooltip>;\n }\n\n return element;\n}\n\nLink.displayName = 'Link';\n\nconst styles = {\n externalLink: css({\n display: 'inline-flex',\n flexShrink: 0,\n fontSize: '0.875em',\n lineHeight: 1,\n }),\n};\n","import {useMemo, type ReactNode} from 'react';\nimport {LinkContext} from './LinkContext';\nimport type {LinkComponent} from './types';\n\nexport interface LinkProviderProps {\n children: ReactNode;\n component: LinkComponent;\n}\n\nexport function LinkProvider({\n component,\n children,\n}: LinkProviderProps): React.JSX.Element {\n const value = useMemo(() => ({component}), [component]);\n\n return <LinkContext value={value}>{children}</LinkContext>;\n}\n\nLinkProvider.displayName = 'LinkProvider';\n"]}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import { useSelectListbox, renderSelectListboxOptions } from './chunk-
|
|
2
|
-
import { Badge } from './chunk-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
1
|
+
import { useSelectListbox, renderSelectListboxOptions } from './chunk-XVRQSTUF.js';
|
|
2
|
+
import { Badge } from './chunk-RQ5BMSGU.js';
|
|
3
|
+
import { inputRecipe } from './chunk-3M23WX6K.js';
|
|
4
|
+
import { getNecessity, Field } from './chunk-K6CQ45C2.js';
|
|
5
|
+
import { Popover } from './chunk-QADMIAYK.js';
|
|
6
|
+
import { Button } from './chunk-RRNT32KY.js';
|
|
7
|
+
import { Spinner } from './chunk-S54CKWKV.js';
|
|
8
|
+
import { Text } from './chunk-J2FCNWYM.js';
|
|
9
|
+
import { Icon } from './chunk-7T3SWOY7.js';
|
|
8
10
|
import { cx } from './chunk-PPNETWIP.js';
|
|
9
|
-
import { css } from './chunk-
|
|
11
|
+
import { css } from './chunk-OD4DHHZH.js';
|
|
10
12
|
import { Check, X, ChevronDown } from 'lucide-react';
|
|
11
13
|
import { useMemo, useCallback } from 'react';
|
|
12
14
|
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
@@ -65,7 +67,6 @@ var styles = {
|
|
|
65
67
|
p: "1"
|
|
66
68
|
}),
|
|
67
69
|
search: css({
|
|
68
|
-
boxSizing: "border-box",
|
|
69
70
|
w: "full",
|
|
70
71
|
px: "2",
|
|
71
72
|
py: "1",
|
|
@@ -432,16 +433,17 @@ function MultiSelect({
|
|
|
432
433
|
),
|
|
433
434
|
isLoading ? /* @__PURE__ */ jsx(Spinner, { size: "sm" }) : null,
|
|
434
435
|
hasClear && value.length > 0 && !isDisabled ? /* @__PURE__ */ jsx(
|
|
435
|
-
|
|
436
|
+
Button,
|
|
436
437
|
{
|
|
437
|
-
|
|
438
|
-
|
|
438
|
+
icon: X,
|
|
439
|
+
isIconOnly: true,
|
|
440
|
+
label: `Clear ${label}`,
|
|
439
441
|
onClick: (event) => {
|
|
440
442
|
event.stopPropagation();
|
|
441
443
|
commitChange([]);
|
|
442
444
|
},
|
|
443
|
-
|
|
444
|
-
|
|
445
|
+
size: "sm",
|
|
446
|
+
variant: "ghost"
|
|
445
447
|
}
|
|
446
448
|
) : null,
|
|
447
449
|
/* @__PURE__ */ jsx("span", { className: styles.iconSlot, children: /* @__PURE__ */ jsx(Icon, { icon: ChevronDown, size: "sm" }) })
|
|
@@ -449,7 +451,7 @@ function MultiSelect({
|
|
|
449
451
|
}
|
|
450
452
|
)
|
|
451
453
|
);
|
|
452
|
-
const necessity =
|
|
454
|
+
const necessity = getNecessity(isOptional, isRequired);
|
|
453
455
|
return /* @__PURE__ */ jsxs(
|
|
454
456
|
Field,
|
|
455
457
|
{
|
|
@@ -486,5 +488,5 @@ function MultiSelect({
|
|
|
486
488
|
MultiSelect.displayName = "MultiSelect";
|
|
487
489
|
|
|
488
490
|
export { MultiSelect };
|
|
489
|
-
//# sourceMappingURL=chunk-
|
|
490
|
-
//# sourceMappingURL=chunk-
|
|
491
|
+
//# sourceMappingURL=chunk-2K44WLBJ.js.map
|
|
492
|
+
//# sourceMappingURL=chunk-2K44WLBJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/MultiSelect/MultiSelect.tsx"],"names":[],"mappings":"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","file":"chunk-2K44WLBJ.js","sourcesContent":["import {Check, ChevronDown, X} from 'lucide-react';\nimport {\n useCallback,\n useMemo,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {\n renderSelectListboxOptions,\n useSelectListbox,\n type SelectListboxOptionData,\n} from '../../internal/useSelectListbox';\nimport {Badge} from '../Badge';\nimport {Button} from '../Button';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputSize,\n type InputStatus,\n} from '../Field';\nimport {inputRecipe} from '../Field/inputStyles';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Popover} from '../Popover';\nimport {Spinner} from '../Spinner';\nimport {Text} from '../Text';\n\nexport interface MultiSelectOptionData extends SelectListboxOptionData {\n /**\n * Icon displayed before the label.\n */\n icon?: IconComponent;\n /**\n * Whether the option is disabled.\n */\n isDisabled?: boolean;\n /**\n * Option label. Defaults to `value`.\n */\n label?: string;\n /**\n * Option value.\n */\n value: string;\n}\n\nexport interface MultiSelectDivider {\n /**\n * Discriminator identifying a divider entry.\n */\n type: 'divider';\n}\n\nexport interface MultiSelectSection {\n /**\n * Options within this section.\n */\n options: ReadonlyArray<MultiSelectOptionData>;\n /**\n * Optional heading text for the section.\n */\n title?: string;\n /**\n * Discriminator identifying a section entry.\n */\n type: 'section';\n}\n\nexport type MultiSelectOption =\n | MultiSelectDivider\n | MultiSelectOptionData\n | MultiSelectSection\n | string;\n\nexport type MultiSelectTriggerDisplay = 'count' | 'labels' | 'badges';\n\nexport type MultiSelectProps = {\n /**\n * Custom render function for selectable options.\n */\n children?: (option: MultiSelectOptionData) => ReactNode;\n /**\n * Additional CSS class names applied to the trigger wrapper.\n */\n className?: string;\n /**\n * Test ID applied to the combobox button.\n */\n 'data-testid'?: string;\n /**\n * Supporting text displayed below the label.\n */\n description?: ReactNode;\n /**\n * Whether to show a clear button when values are selected.\n * @default false\n */\n hasClear?: boolean;\n /**\n * Whether to show search input in the dropdown.\n * @default false\n */\n hasSearch?: boolean;\n /**\n * Whether to show a select-all option.\n * @default false\n */\n hasSelectAll?: boolean;\n /**\n * Whether the selector starts open.\n * @default false\n */\n isDefaultOpen?: boolean;\n /**\n * Whether the selector 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 selector is loading.\n * @default false\n */\n isLoading?: boolean;\n /**\n * Field label.\n */\n label: string;\n /**\n * Icon shown before the label.\n */\n labelIcon?: IconComponent;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: ReactNode;\n /**\n * Maximum number of badges before showing an overflow count.\n * @default 3\n */\n maxBadges?: number;\n /**\n * Called when selection changes.\n */\n onChange: (value: string[]) => void;\n /**\n * Options to display.\n */\n options: ReadonlyArray<MultiSelectOption>;\n /**\n * Placeholder shown when no values are selected.\n * @default 'Select...'\n */\n placeholder?: string;\n /**\n * Ref forwarded to the combobox button.\n */\n ref?: Ref<HTMLButtonElement>;\n /**\n * Search input placeholder.\n * @default 'Search...'\n */\n searchPlaceholder?: string;\n /**\n * Select-all option label.\n * @default 'Select all'\n */\n selectAllLabel?: string;\n /**\n * Select size.\n * @default 'md'\n */\n size?: InputSize;\n /**\n * Start icon rendered in the trigger.\n */\n startIcon?: IconComponent;\n /**\n * Validation status displayed below the selector.\n */\n status?: InputStatus;\n /**\n * Inline styles applied to the trigger wrapper.\n */\n style?: CSSProperties;\n /**\n * How selected items are summarized in the trigger.\n * @default 'count'\n */\n triggerDisplay?: MultiSelectTriggerDisplay;\n /**\n * Selected option values.\n */\n value: string[];\n} & FieldNecessity;\n\nconst styles = {\n wrapper: css({\n cursor: 'pointer',\n }),\n wrapperDisabled: css({\n cursor: 'not-allowed',\n }),\n trigger: css({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: '2',\n flex: 1,\n minW: 0,\n p: 0,\n borderWidth: 0,\n bg: 'transparent',\n color: 'inherit',\n cursor: 'pointer',\n fontFamily: 'body',\n outline: 'none',\n textAlign: 'start',\n _disabled: {cursor: 'not-allowed'},\n }),\n triggerText: css({\n flex: 1,\n minW: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n }),\n placeholder: css({color: 'fg.muted'}),\n iconSlot: css({\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n color: 'fg.muted',\n }),\n badges: css({\n display: 'inline-flex',\n alignItems: 'center',\n gap: '1',\n minW: 0,\n overflow: 'hidden',\n }),\n menu: css({\n display: 'flex',\n flexDirection: 'column',\n gap: '0.5',\n maxH: '80',\n overflowY: 'auto',\n p: '1',\n }),\n search: css({\n w: 'full',\n px: '2',\n py: '1',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'border.emphasized',\n borderRadius: 'md',\n fontFamily: 'body',\n outline: 'none',\n _focus: {borderColor: 'primary'},\n }),\n option: css({\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n w: 'full',\n px: '2',\n py: '2',\n borderWidth: 0,\n borderRadius: 'md',\n bg: 'transparent',\n color: 'fg',\n cursor: 'pointer',\n fontFamily: 'body',\n textAlign: 'start',\n _hover: {bg: 'bg.subtle'},\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffsetTight',\n },\n _disabled: {\n opacity: 0.55,\n cursor: 'not-allowed',\n },\n }),\n checkbox: css({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n w: '5',\n h: '5',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'fg.muted',\n borderRadius: 'sm',\n bg: 'bg',\n color: 'fg.onPrimary',\n }),\n checkboxSelected: css({\n bg: 'primary',\n borderColor: 'primary',\n }),\n optionHighlighted: css({bg: 'bg.subtle'}),\n optionContent: css({\n display: 'inline-flex',\n alignItems: 'center',\n gap: '2',\n minW: 0,\n flex: 1,\n }),\n sectionHeading: css({\n px: '2',\n py: '1',\n color: 'fg.muted',\n fontFamily: 'body',\n fontSize: 'sm',\n fontWeight: 'semibold',\n }),\n divider: css({\n h: '1px',\n bg: 'border',\n my: '1',\n }),\n} as const;\n\n/**\n * Multi-select dropdown field with checkbox-style options.\n */\nexport function MultiSelect({\n children,\n className,\n 'data-testid': dataTestId,\n description,\n hasClear = false,\n hasSearch = false,\n hasSelectAll = false,\n isDefaultOpen = false,\n isDisabled = false,\n isLabelHidden = false,\n isLoading = false,\n isOptional,\n isRequired,\n label,\n labelIcon,\n labelTooltip,\n maxBadges = 3,\n onChange,\n options,\n placeholder = 'Select...',\n ref,\n searchPlaceholder = 'Search...',\n selectAllLabel = 'Select all',\n size = 'md',\n startIcon,\n status,\n style,\n triggerDisplay = 'count',\n value,\n}: MultiSelectProps): React.JSX.Element {\n const selectedValues = useMemo(() => new Set(value), [value]);\n const commitChange = useCallback(\n (nextValue: string[]) => {\n onChange(nextValue);\n },\n [onChange],\n );\n\n const toggleValue = useCallback(\n (option: MultiSelectOptionData): boolean => {\n if (option.isDisabled === true) {\n return false;\n }\n\n const nextValues = new Set(value);\n if (nextValues.has(option.value)) {\n nextValues.delete(option.value);\n } else {\n nextValues.add(option.value);\n }\n commitChange(Array.from(nextValues));\n return true;\n },\n [commitChange, value],\n );\n\n const {\n activeDescendantId,\n describedBy,\n descriptionID,\n filteredValues,\n getOptionId,\n handleKeyboardNavigation,\n handleOptionClick,\n handleOptionMouseEnter,\n highlightedValue,\n inputId,\n isInteractionDisabled,\n isOpen,\n listboxId,\n query,\n selectableOptions,\n setHighlightedValue,\n setIsOpen,\n setQuery,\n statusMessageID,\n triggerRef,\n visibleSelectableOptions,\n } = useSelectListbox({\n description,\n isDefaultOpen,\n isDisabled,\n isLoading,\n onCommitOption: toggleValue,\n options,\n selectedValues,\n shouldClearOnCommit: false,\n status,\n });\n\n const selectedOptions = useMemo(\n () => selectableOptions.filter(option => selectedValues.has(option.value)),\n [selectableOptions, selectedValues],\n );\n const enabledVisibleOptions = useMemo(\n () => visibleSelectableOptions.filter(option => option.isDisabled !== true),\n [visibleSelectableOptions],\n );\n const allSelected =\n enabledVisibleOptions.length > 0 &&\n enabledVisibleOptions.every(option => selectedValues.has(option.value));\n\n const toggleAll = useCallback(() => {\n if (allSelected) {\n commitChange(\n value.filter(\n optionValue =>\n !enabledVisibleOptions.some(option => option.value === optionValue),\n ),\n );\n return;\n }\n\n const nextValues = new Set(value);\n for (const option of enabledVisibleOptions) {\n nextValues.add(option.value);\n }\n commitChange(Array.from(nextValues));\n }, [allSelected, commitChange, enabledVisibleOptions, value]);\n\n const renderTriggerValue = (): ReactNode => {\n if (selectedOptions.length === 0) {\n return (\n <span className={cx(styles.triggerText, styles.placeholder)}>\n {placeholder}\n </span>\n );\n }\n if (triggerDisplay === 'labels') {\n const labels = selectedOptions.map(\n option => option.label ?? option.value,\n );\n return <span className={styles.triggerText}>{labels.join(', ')}</span>;\n }\n if (triggerDisplay === 'badges') {\n const visible = selectedOptions.slice(0, maxBadges);\n const overflow = selectedOptions.length - visible.length;\n return (\n <span className={styles.badges}>\n {visible.map(option => (\n <Badge key={option.value} label={option.label ?? option.value} />\n ))}\n {overflow > 0 ? (\n <Text as=\"span\" color=\"secondary\" type=\"supporting\">\n +{overflow}\n </Text>\n ) : null}\n </span>\n );\n }\n return (\n <span className={styles.triggerText}>\n {selectedOptions.length} selected\n </span>\n );\n };\n\n const renderOption = (option: MultiSelectOptionData): ReactNode => {\n if (!filteredValues.has(option.value)) {\n return null;\n }\n const isSelected = selectedValues.has(option.value);\n const isHighlighted = highlightedValue === option.value;\n return (\n <button\n aria-selected={isSelected}\n className={cx(\n styles.option,\n isHighlighted ? styles.optionHighlighted : undefined,\n )}\n data-value={option.value}\n disabled={option.isDisabled}\n id={getOptionId(option.value)}\n key={option.value}\n onClick={handleOptionClick}\n onMouseEnter={handleOptionMouseEnter}\n role=\"option\"\n tabIndex={isHighlighted ? 0 : -1}\n type=\"button\">\n <span\n aria-hidden=\"true\"\n className={cx(\n styles.checkbox,\n isSelected ? styles.checkboxSelected : undefined,\n )}>\n {isSelected ? <Icon icon={Check} size=\"sm\" /> : null}\n </span>\n <span className={styles.optionContent}>\n {children == null ? (\n <>\n {option.icon != null ? (\n <span className={styles.iconSlot}>\n <Icon color=\"secondary\" icon={option.icon} size=\"sm\" />\n </span>\n ) : null}\n {option.label}\n </>\n ) : (\n children(option)\n )}\n </span>\n </button>\n );\n };\n\n const optionNodes = renderSelectListboxOptions({\n dividerClassName: styles.divider,\n inputId,\n options,\n renderOption,\n sectionHeadingClassName: styles.sectionHeading,\n });\n\n const menu = (\n <>\n {hasSearch ? (\n <input\n aria-activedescendant={activeDescendantId}\n aria-autocomplete=\"list\"\n aria-controls={listboxId}\n aria-label={`Search ${label}`}\n className={styles.search}\n onChange={event => {\n setQuery(event.target.value);\n setHighlightedValue(null);\n }}\n onKeyDown={handleKeyboardNavigation}\n placeholder={searchPlaceholder}\n type=\"search\"\n value={query}\n />\n ) : null}\n <div\n aria-label={`${label} options`}\n aria-multiselectable=\"true\"\n className={styles.menu}\n id={listboxId}\n role=\"listbox\">\n {hasSelectAll ? (\n <button\n aria-selected={allSelected}\n className={styles.option}\n onClick={toggleAll}\n role=\"option\"\n type=\"button\">\n <span\n aria-hidden=\"true\"\n className={cx(\n styles.checkbox,\n allSelected ? styles.checkboxSelected : undefined,\n )}>\n {allSelected ? <Icon icon={Check} size=\"sm\" /> : null}\n </span>\n <span className={styles.optionContent}>{selectAllLabel}</span>\n </button>\n ) : null}\n {optionNodes}\n </div>\n </>\n );\n\n const trigger = (\n // eslint-disable-next-line jsx-a11y-x/click-events-have-key-events, jsx-a11y-x/no-static-element-interactions -- mouse clicks anywhere on the visual input delegate to the inner combobox button; keyboard handling stays on that button.\n <div\n className={cx(\n inputRecipe({\n size,\n status: status?.type,\n isDisabled,\n }),\n styles.wrapper,\n isInteractionDisabled ? styles.wrapperDisabled : undefined,\n )}\n onClick={() => {\n if (!isInteractionDisabled) {\n setIsOpen(currentIsOpen => !currentIsOpen);\n }\n }}\n ref={triggerRef}>\n {startIcon != null ? (\n <span className={styles.iconSlot}>\n <Icon color=\"secondary\" icon={startIcon} size=\"sm\" />\n </span>\n ) : null}\n <button\n aria-activedescendant={activeDescendantId}\n aria-busy={isLoading || undefined}\n aria-controls={listboxId}\n aria-describedby={describedBy}\n aria-expanded={isOpen}\n aria-haspopup=\"listbox\"\n aria-invalid={status?.type === 'error' || undefined}\n className={styles.trigger}\n data-testid={dataTestId}\n disabled={isInteractionDisabled}\n id={inputId}\n onKeyDown={handleKeyboardNavigation}\n ref={ref}\n role=\"combobox\"\n type=\"button\">\n {renderTriggerValue()}\n </button>\n {isLoading ? <Spinner size=\"sm\" /> : null}\n {hasClear && value.length > 0 && !isDisabled ? (\n <Button\n icon={X}\n isIconOnly\n label={`Clear ${label}`}\n onClick={event => {\n event.stopPropagation();\n commitChange([]);\n }}\n size=\"sm\"\n variant=\"ghost\"\n />\n ) : null}\n <span className={styles.iconSlot}>\n <Icon icon={ChevronDown} size=\"sm\" />\n </span>\n </div>\n );\n\n const necessity = getNecessity(isOptional, isRequired);\n\n return (\n <Field\n className={className}\n description={description}\n descriptionID={descriptionID}\n inputId={inputId}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n {...necessity}\n label={label}\n labelIcon={labelIcon}\n labelTooltip={labelTooltip}\n status={\n status == null ? undefined : {...status, messageID: statusMessageID}\n }\n style={style}>\n {trigger}\n <Popover\n anchorRef={triggerRef}\n content={menu}\n hasAutoFocus={hasSearch}\n hasCloseButton={false}\n isEnabled={false}\n isOpen={isOpen}\n onOpenChange={setIsOpen}\n />\n </Field>\n );\n}\n\nMultiSelect.displayName = 'MultiSelect';\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunk4TIAKZ4Q_cjs = require('./chunk-4TIAKZ4Q.cjs');
|
|
4
4
|
var lucideReact = require('lucide-react');
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
|
|
@@ -13,16 +13,16 @@ function getStatusMessageID(inputId, status) {
|
|
|
13
13
|
}
|
|
14
14
|
function getStatusIcon(type) {
|
|
15
15
|
if (type === "success") {
|
|
16
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
16
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunk4TIAKZ4Q_cjs.Icon, { color: "success", icon: lucideReact.CheckCircle2, size: "sm" });
|
|
17
17
|
}
|
|
18
18
|
if (type === "warning") {
|
|
19
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
19
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunk4TIAKZ4Q_cjs.Icon, { color: "warning", icon: lucideReact.CircleAlert, size: "sm" });
|
|
20
20
|
}
|
|
21
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
21
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunk4TIAKZ4Q_cjs.Icon, { color: "error", icon: lucideReact.CircleX, size: "sm" });
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
exports.getDescribedBy = getDescribedBy;
|
|
25
25
|
exports.getStatusIcon = getStatusIcon;
|
|
26
26
|
exports.getStatusMessageID = getStatusMessageID;
|
|
27
|
-
//# sourceMappingURL=chunk-
|
|
28
|
-
//# sourceMappingURL=chunk-
|
|
27
|
+
//# sourceMappingURL=chunk-2P6D43V2.cjs.map
|
|
28
|
+
//# sourceMappingURL=chunk-2P6D43V2.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/Field/inputUtils.tsx"],"names":["Icon","CheckCircle2","CircleAlert","CircleX"],"mappings":";;;;;;AAKO,SAAS,kBACX,GAAA,EACiB;AACpB,EAAA,MAAM,QAAA,GAAW,GAAA,CAAI,MAAA,CAAO,OAAO,CAAA;AACnC,EAAA,OAAO,SAAS,MAAA,GAAS,CAAA,GAAI,QAAA,CAAS,IAAA,CAAK,GAAG,CAAA,GAAI,MAAA;AACpD;AAEO,SAAS,kBAAA,CACd,SACA,MAAA,EACoB;AACpB,EAAA,OAAO,MAAA,EAAQ,OAAA,IAAW,IAAA,GAAO,CAAA,EAAG,OAAO,CAAA,OAAA,CAAA,GAAY,MAAA;AACzD;AAEO,SAAS,cAAc,IAAA,EAAkC;AAC9D,EAAA,IAAI,SAAS,SAAA,EAAW;AACtB,IAAA,sCAAQA,sBAAA,EAAA,EAAK,KAAA,EAAM,WAAU,IAAA,EAAMC,wBAAA,EAAc,MAAK,IAAA,EAAK,CAAA;AAAA,EAC7D;AAEA,EAAA,IAAI,SAAS,SAAA,EAAW;AACtB,IAAA,sCAAQD,sBAAA,EAAA,EAAK,KAAA,EAAM,WAAU,IAAA,EAAME,uBAAA,EAAa,MAAK,IAAA,EAAK,CAAA;AAAA,EAC5D;AAEA,EAAA,sCAAQF,sBAAA,EAAA,EAAK,KAAA,EAAM,SAAQ,IAAA,EAAMG,mBAAA,EAAS,MAAK,IAAA,EAAK,CAAA;AACtD","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/components/Field/inputUtils.tsx"],"names":["Icon","CheckCircle2","CircleAlert","CircleX"],"mappings":";;;;;;AAKO,SAAS,kBACX,GAAA,EACiB;AACpB,EAAA,MAAM,QAAA,GAAW,GAAA,CAAI,MAAA,CAAO,OAAO,CAAA;AACnC,EAAA,OAAO,SAAS,MAAA,GAAS,CAAA,GAAI,QAAA,CAAS,IAAA,CAAK,GAAG,CAAA,GAAI,MAAA;AACpD;AAEO,SAAS,kBAAA,CACd,SACA,MAAA,EACoB;AACpB,EAAA,OAAO,MAAA,EAAQ,OAAA,IAAW,IAAA,GAAO,CAAA,EAAG,OAAO,CAAA,OAAA,CAAA,GAAY,MAAA;AACzD;AAEO,SAAS,cAAc,IAAA,EAAkC;AAC9D,EAAA,IAAI,SAAS,SAAA,EAAW;AACtB,IAAA,sCAAQA,sBAAA,EAAA,EAAK,KAAA,EAAM,WAAU,IAAA,EAAMC,wBAAA,EAAc,MAAK,IAAA,EAAK,CAAA;AAAA,EAC7D;AAEA,EAAA,IAAI,SAAS,SAAA,EAAW;AACtB,IAAA,sCAAQD,sBAAA,EAAA,EAAK,KAAA,EAAM,WAAU,IAAA,EAAME,uBAAA,EAAa,MAAK,IAAA,EAAK,CAAA;AAAA,EAC5D;AAEA,EAAA,sCAAQF,sBAAA,EAAA,EAAK,KAAA,EAAM,SAAQ,IAAA,EAAMG,mBAAA,EAAS,MAAK,IAAA,EAAK,CAAA;AACtD","file":"chunk-2P6D43V2.cjs","sourcesContent":["import {CheckCircle2, CircleAlert, CircleX} from 'lucide-react';\nimport type {ReactNode} from 'react';\nimport {Icon} from '../Icon';\nimport type {InputStatus, InputStatusType} from './types';\n\nexport function getDescribedBy(\n ...ids: (string | null | undefined | false)[]\n): string | undefined {\n const filtered = ids.filter(Boolean);\n return filtered.length > 0 ? filtered.join(' ') : undefined;\n}\n\nexport function getStatusMessageID(\n inputId: string,\n status: InputStatus | undefined,\n): string | undefined {\n return status?.message != null ? `${inputId}-status` : undefined;\n}\n\nexport function getStatusIcon(type: InputStatusType): ReactNode {\n if (type === 'success') {\n return <Icon color=\"success\" icon={CheckCircle2} size=\"sm\" />;\n }\n\n if (type === 'warning') {\n return <Icon color=\"warning\" icon={CircleAlert} size=\"sm\" />;\n }\n\n return <Icon color=\"error\" icon={CircleX} size=\"sm\" />;\n}\n"]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkO3T7Z6RH_cjs = require('./chunk-O3T7Z6RH.cjs');
|
|
4
4
|
var chunk6SHL7FYO_cjs = require('./chunk-6SHL7FYO.cjs');
|
|
5
|
-
var
|
|
5
|
+
var chunkJRBQKFVO_cjs = require('./chunk-JRBQKFVO.cjs');
|
|
6
6
|
var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
|
|
7
|
-
var
|
|
7
|
+
var chunkRU6JG3FS_cjs = require('./chunk-RU6JG3FS.cjs');
|
|
8
8
|
var react = require('react');
|
|
9
9
|
var lucideReact = require('lucide-react');
|
|
10
10
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -28,7 +28,7 @@ function useAppShellMobile() {
|
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
// src/internal/MobileNav/MobileNav.recipe.ts
|
|
31
|
-
var mobileNavRecipe =
|
|
31
|
+
var mobileNavRecipe = chunkJRBQKFVO_cjs.cva({
|
|
32
32
|
base: {
|
|
33
33
|
position: "fixed",
|
|
34
34
|
inset: 0,
|
|
@@ -64,14 +64,13 @@ function formatSize(value) {
|
|
|
64
64
|
}
|
|
65
65
|
var CLOSE_BUTTON_SELECTOR = '[aria-label="Close navigation"]';
|
|
66
66
|
var styles = {
|
|
67
|
-
drawer:
|
|
67
|
+
drawer: chunkRU6JG3FS_cjs.css({
|
|
68
68
|
position: "absolute",
|
|
69
69
|
insetBlock: 0,
|
|
70
70
|
display: "flex",
|
|
71
71
|
flexDirection: "column",
|
|
72
72
|
bg: "bg",
|
|
73
73
|
borderColor: "border",
|
|
74
|
-
boxSizing: "border-box",
|
|
75
74
|
overflow: "hidden",
|
|
76
75
|
transitionProperty: "transform",
|
|
77
76
|
transitionDuration: "fast",
|
|
@@ -80,20 +79,20 @@ var styles = {
|
|
|
80
79
|
transitionDuration: "0.01s"
|
|
81
80
|
}
|
|
82
81
|
}),
|
|
83
|
-
drawerStart:
|
|
82
|
+
drawerStart: chunkRU6JG3FS_cjs.css({
|
|
84
83
|
insetInlineStart: 0,
|
|
85
84
|
borderInlineEndWidth: "default",
|
|
86
85
|
transform: "translateX(-100%)"
|
|
87
86
|
}),
|
|
88
|
-
drawerEnd:
|
|
87
|
+
drawerEnd: chunkRU6JG3FS_cjs.css({
|
|
89
88
|
insetInlineEnd: 0,
|
|
90
89
|
borderInlineStartWidth: "default",
|
|
91
90
|
transform: "translateX(100%)"
|
|
92
91
|
}),
|
|
93
|
-
drawerOpen:
|
|
92
|
+
drawerOpen: chunkRU6JG3FS_cjs.css({
|
|
94
93
|
transform: "translateX(0)"
|
|
95
94
|
}),
|
|
96
|
-
header:
|
|
95
|
+
header: chunkRU6JG3FS_cjs.css({
|
|
97
96
|
h: "12",
|
|
98
97
|
px: "2",
|
|
99
98
|
display: "flex",
|
|
@@ -104,7 +103,7 @@ var styles = {
|
|
|
104
103
|
borderBlockEndColor: "border",
|
|
105
104
|
flexShrink: 0
|
|
106
105
|
}),
|
|
107
|
-
body:
|
|
106
|
+
body: chunkRU6JG3FS_cjs.css({
|
|
108
107
|
flex: 1,
|
|
109
108
|
overflowY: "auto",
|
|
110
109
|
overflowX: "hidden",
|
|
@@ -198,7 +197,7 @@ function MobileNav({
|
|
|
198
197
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.header, children: [
|
|
199
198
|
header ?? /* @__PURE__ */ jsxRuntime.jsx("span", {}),
|
|
200
199
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
201
|
-
|
|
200
|
+
chunkO3T7Z6RH_cjs.Button,
|
|
202
201
|
{
|
|
203
202
|
icon: lucideReact.X,
|
|
204
203
|
isIconOnly: true,
|
|
@@ -228,7 +227,7 @@ function MobileNavToggle({
|
|
|
228
227
|
return null;
|
|
229
228
|
}
|
|
230
229
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
231
|
-
|
|
230
|
+
chunkO3T7Z6RH_cjs.Button,
|
|
232
231
|
{
|
|
233
232
|
className,
|
|
234
233
|
"data-testid": dataTestId ?? "mobile-nav-toggle",
|
|
@@ -248,5 +247,5 @@ exports.AppShellMobileContext = AppShellMobileContext;
|
|
|
248
247
|
exports.MobileNav = MobileNav;
|
|
249
248
|
exports.MobileNavToggle = MobileNavToggle;
|
|
250
249
|
exports.useAppShellMobile = useAppShellMobile;
|
|
251
|
-
//# sourceMappingURL=chunk-
|
|
252
|
-
//# sourceMappingURL=chunk-
|
|
250
|
+
//# sourceMappingURL=chunk-2RIDPITG.cjs.map
|
|
251
|
+
//# sourceMappingURL=chunk-2RIDPITG.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/AppShell/AppShellMobileContext.tsx","../src/internal/MobileNav/MobileNav.recipe.ts","../src/internal/MobileNav/MobileNav.tsx","../src/internal/MobileNav/MobileNavToggle.tsx"],"names":["createContext","use","cva","css","useCallback","useRef","useEffect","jsx","cx","mergeRefs","jsxs","Button","X","Menu"],"mappings":"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","file":"chunk-2RIDPITG.cjs","sourcesContent":["import {createContext, use} from 'react';\n\nexport interface AppShellMobileContextValue {\n closeMobileNav: () => void;\n hasAutoToggle: boolean;\n isMobile: boolean;\n isMobileNavEnabled: boolean;\n isMobileNavOpen: boolean;\n openMobileNav: () => void;\n toggleMobileNav: () => void;\n}\n\nconst defaultValue: AppShellMobileContextValue = {\n closeMobileNav: () => {},\n hasAutoToggle: true,\n isMobile: false,\n isMobileNavEnabled: false,\n isMobileNavOpen: false,\n openMobileNav: () => {},\n toggleMobileNav: () => {},\n};\n\nexport const AppShellMobileContext =\n createContext<AppShellMobileContextValue>(defaultValue);\nAppShellMobileContext.displayName = 'AppShellMobileContext';\n\nexport function useAppShellMobile(): AppShellMobileContextValue {\n return use(AppShellMobileContext);\n}\n","import {cva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const mobileNavRecipe = cva({\n base: {\n position: 'fixed',\n inset: 0,\n m: 0,\n p: 0,\n borderWidth: 0,\n maxW: 'none',\n maxH: 'none',\n w: '100vw',\n h: '100dvh',\n bg: 'transparent',\n overflow: 'hidden',\n display: 'none',\n '&::backdrop': {\n bg: 'overlay.scrim',\n backdropFilter: 'blur(2px)',\n },\n },\n variants: {\n isOpen: {\n true: {\n display: 'flex',\n },\n false: {},\n },\n },\n defaultVariants: {\n isOpen: false,\n },\n});\n\nexport type MobileNavVariants = RecipeVariantProps<typeof mobileNavRecipe>;\n","import {X} from 'lucide-react';\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {useCallback, useEffect, useRef} from 'react';\nimport {css} from 'styled-system/css';\nimport {useAppShellMobile} from '../../components/AppShell/AppShellMobileContext';\nimport {Button} from '../../components/Button';\nimport {cx} from '../cx';\nimport {mergeRefs} from '../mergeRefs';\nimport {mobileNavRecipe} from './MobileNav.recipe';\n\nexport type MobileNavSide = 'start' | 'end';\n\n/**\n * Slide-out drawer for mobile navigation.\n */\nexport interface MobileNavProps {\n /**\n * Drawer body content.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the dialog element.\n */\n className?: string;\n /**\n * Test ID applied to the dialog element.\n */\n 'data-testid'?: string;\n /**\n * Content rendered in the drawer header bar.\n */\n header?: ReactNode;\n /**\n * Whether the drawer is open.\n */\n isOpen?: boolean;\n /**\n * Accessible label for the dialog.\n */\n label?: string;\n /**\n * Called when the drawer 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 * Which edge of the viewport the drawer slides from.\n * @default 'end'\n */\n side?: MobileNavSide;\n /**\n * Maximum drawer width.\n * @default 320\n */\n size?: number | string;\n /**\n * Inline styles applied to the dialog element.\n */\n style?: CSSProperties;\n}\n\nfunction formatSize(value: number | string): string {\n return typeof value === 'number' ? `${value}px` : value;\n}\n\nconst CLOSE_BUTTON_SELECTOR = '[aria-label=\"Close navigation\"]';\n\nconst styles = {\n drawer: css({\n position: 'absolute',\n insetBlock: 0,\n display: 'flex',\n flexDirection: 'column',\n bg: 'bg',\n borderColor: 'border',\n overflow: 'hidden',\n transitionProperty: 'transform',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n '@media (prefers-reduced-motion: reduce)': {\n transitionDuration: '0.01s',\n },\n }),\n drawerStart: css({\n insetInlineStart: 0,\n borderInlineEndWidth: 'default',\n transform: 'translateX(-100%)',\n }),\n drawerEnd: css({\n insetInlineEnd: 0,\n borderInlineStartWidth: 'default',\n transform: 'translateX(100%)',\n }),\n drawerOpen: css({\n transform: 'translateX(0)',\n }),\n header: css({\n h: '12',\n px: '2',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n borderBlockEndWidth: 'default',\n borderBlockEndStyle: 'solid',\n borderBlockEndColor: 'border',\n flexShrink: 0,\n }),\n body: css({\n flex: 1,\n overflowY: 'auto',\n overflowX: 'hidden',\n p: '2',\n }),\n};\n\nexport function MobileNav({\n children,\n className,\n 'data-testid': dataTestId,\n header,\n isOpen: isOpenFromProps,\n label,\n onOpenChange: onOpenChangeFromProps,\n ref,\n side = 'end',\n size = 320,\n style,\n}: MobileNavProps): React.JSX.Element {\n const appShellMobile = useAppShellMobile();\n const isOpen = isOpenFromProps ?? appShellMobile.isMobileNavOpen;\n const {openMobileNav, closeMobileNav} = appShellMobile;\n const onOpenChange = useCallback(\n (isNextOpen: boolean) => {\n if (onOpenChangeFromProps != null) {\n onOpenChangeFromProps(isNextOpen);\n } else if (isNextOpen) {\n openMobileNav();\n } else {\n closeMobileNav();\n }\n },\n [openMobileNav, closeMobileNav, onOpenChangeFromProps],\n );\n const dialogRef = useRef<HTMLDialogElement>(null);\n\n useEffect(() => {\n const dialog = dialogRef.current;\n\n if (dialog == null) {\n return;\n }\n\n if (isOpen && !dialog.open) {\n dialog.showModal();\n\n const firstFocusable = dialog.querySelector<HTMLElement>(\n `a[href], button:not(${CLOSE_BUTTON_SELECTOR}):not([disabled])`,\n );\n if (firstFocusable != null) {\n firstFocusable.focus();\n }\n } else if (!isOpen && dialog.open) {\n dialog.close();\n }\n }, [isOpen]);\n\n useEffect(() => {\n if (!isOpen) {\n return;\n }\n\n const previousOverflow = document.body.style.overflow;\n document.body.style.overflow = 'hidden';\n return () => {\n document.body.style.overflow = previousOverflow;\n };\n }, [isOpen]);\n\n const formattedSize = formatSize(size);\n\n return (\n <dialog\n aria-label={label ?? (typeof header === 'string' ? header : 'Navigation')}\n className={cx(mobileNavRecipe({isOpen}), className)}\n data-testid={dataTestId}\n onCancel={event => {\n event.preventDefault();\n onOpenChange(false);\n }}\n onClick={event => {\n if (event.target === event.currentTarget) {\n onOpenChange(false);\n }\n }}\n ref={mergeRefs(ref, dialogRef)}\n style={style}>\n <div\n className={cx(\n styles.drawer,\n side === 'start' ? styles.drawerStart : styles.drawerEnd,\n isOpen && styles.drawerOpen,\n )}\n style={{maxWidth: formattedSize, width: '100vw'}}>\n <div className={styles.header}>\n {header ?? <span />}\n <Button\n icon={X}\n isIconOnly\n label=\"Close navigation\"\n onClick={() => onOpenChange(false)}\n variant=\"ghost\"\n />\n </div>\n <div className={styles.body}>{children}</div>\n </div>\n </dialog>\n );\n}\n\nMobileNav.displayName = 'MobileNav';\n","import {Menu} from 'lucide-react';\nimport type {CSSProperties, Ref} from 'react';\nimport {useAppShellMobile} from '../../components/AppShell/AppShellMobileContext';\nimport {Button} from '../../components/Button';\n\n/**\n * Props for {@link MobileNavToggle}.\n */\nexport interface MobileNavToggleProps {\n /**\n * Additional CSS class names applied to the toggle button.\n */\n className?: string;\n /**\n * Test ID applied to the toggle button.\n */\n 'data-testid'?: string;\n /**\n * Accessible label for the toggle button.\n * @default 'Open navigation'\n */\n label?: string;\n /**\n * Ref forwarded to the toggle button.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Inline styles applied to the toggle button.\n */\n style?: CSSProperties;\n}\n\n/**\n * Hamburger-style button that toggles the mobile navigation drawer.\n * Renders nothing when the viewport is above the mobile breakpoint or\n * mobile navigation is disabled.\n */\nexport function MobileNavToggle({\n className,\n 'data-testid': dataTestId,\n label = 'Open navigation',\n ref,\n style,\n}: MobileNavToggleProps): React.JSX.Element | null {\n const {isMobile, isMobileNavEnabled, toggleMobileNav} = useAppShellMobile();\n\n if (!isMobile || !isMobileNavEnabled) {\n return null;\n }\n\n return (\n <Button\n className={className}\n data-testid={dataTestId ?? 'mobile-nav-toggle'}\n icon={Menu}\n isIconOnly\n label={label}\n onClick={toggleMobileNav}\n ref={ref}\n style={style}\n variant=\"ghost\"\n />\n );\n}\n\nMobileNavToggle.displayName = 'MobileNavToggle';\n"]}
|