silver-ui 0.1.1 → 0.3.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 +39 -6
- package/dist/chunk-24J3BUKL.js +40 -0
- package/dist/chunk-24J3BUKL.js.map +1 -0
- package/dist/chunk-25FU5AVR.cjs +282 -0
- package/dist/chunk-25FU5AVR.cjs.map +1 -0
- package/dist/{chunk-BSBEPQLM.cjs → chunk-276LEL3G.cjs} +17 -9
- package/dist/chunk-276LEL3G.cjs.map +1 -0
- package/dist/{chunk-EETTQWW5.cjs → chunk-2D6SGEPH.cjs} +25 -22
- package/dist/chunk-2D6SGEPH.cjs.map +1 -0
- package/dist/{chunk-WA4DRAQ7.js → chunk-2IKWX66Q.js} +8 -8
- package/dist/chunk-2IKWX66Q.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-6NIFOTUZ.cjs → chunk-2TGDDZG6.cjs} +47 -45
- package/dist/chunk-2TGDDZG6.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-JCYPM27J.js → chunk-2YC7SMVF.js} +7 -7
- package/dist/chunk-2YC7SMVF.js.map +1 -0
- package/dist/{chunk-L3G7SHEP.cjs → chunk-32G54PL3.cjs} +42 -42
- package/dist/{chunk-L3G7SHEP.cjs.map → chunk-32G54PL3.cjs.map} +1 -1
- package/dist/{chunk-GUF4ZNPQ.js → chunk-35MFOORC.js} +6 -6
- package/dist/chunk-35MFOORC.js.map +1 -0
- package/dist/chunk-3DW2N6UN.js +557 -0
- package/dist/chunk-3DW2N6UN.js.map +1 -0
- package/dist/chunk-3M23WX6K.js +106 -0
- package/dist/chunk-3M23WX6K.js.map +1 -0
- package/dist/{chunk-YX7DI3O3.cjs → chunk-3PDUOYAT.cjs} +30 -31
- package/dist/chunk-3PDUOYAT.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-T55MB2CA.js → chunk-4CVDLMD6.js} +17 -8
- package/dist/chunk-4CVDLMD6.js.map +1 -0
- 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-4T62TLOD.cjs +416 -0
- package/dist/chunk-4T62TLOD.cjs.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-2XCNB2O6.js → chunk-4Z62KDKI.js} +19 -16
- package/dist/chunk-4Z62KDKI.js.map +1 -0
- package/dist/chunk-5BLNJVIA.js +280 -0
- package/dist/chunk-5BLNJVIA.js.map +1 -0
- package/dist/{chunk-Z2STCD6I.js → chunk-5MDH6QZE.js} +4 -4
- package/dist/chunk-5MDH6QZE.js.map +1 -0
- package/dist/{chunk-NOZ6U6ZJ.js → chunk-5Q5TJUHI.js} +16 -13
- package/dist/chunk-5Q5TJUHI.js.map +1 -0
- package/dist/chunk-5QPM5LUS.cjs +46 -0
- package/dist/chunk-5QPM5LUS.cjs.map +1 -0
- package/dist/{chunk-IWSS5745.js → chunk-67VLK263.js} +18 -17
- package/dist/chunk-67VLK263.js.map +1 -0
- package/dist/chunk-6ADWXOZ2.cjs +201 -0
- package/dist/chunk-6ADWXOZ2.cjs.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-W6B55MNU.js → chunk-6XESVFC3.js} +4 -4
- package/dist/{chunk-W6B55MNU.js.map → chunk-6XESVFC3.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-2QK2NZN5.js → chunk-7FY26X2V.js} +8 -7
- package/dist/chunk-7FY26X2V.js.map +1 -0
- package/dist/{chunk-MKAOIB2O.cjs → chunk-7GN6YTSS.cjs} +14 -13
- package/dist/chunk-7GN6YTSS.cjs.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-XQMLA75S.js → chunk-AADUJ6CN.js} +18 -16
- package/dist/chunk-AADUJ6CN.js.map +1 -0
- package/dist/{chunk-GKG47NK6.cjs → chunk-ACQMLJ4I.cjs} +88 -90
- package/dist/chunk-ACQMLJ4I.cjs.map +1 -0
- package/dist/{chunk-WIW2YR46.js → chunk-AGJ5SZCM.js} +31 -14
- package/dist/chunk-AGJ5SZCM.js.map +1 -0
- package/dist/{chunk-WIO3XITR.js → chunk-AH4AMQEO.js} +5 -5
- package/dist/{chunk-WIO3XITR.js.map → chunk-AH4AMQEO.js.map} +1 -1
- package/dist/{chunk-CA6645TQ.js → chunk-AMG3S252.js} +5 -8
- package/dist/chunk-AMG3S252.js.map +1 -0
- package/dist/{chunk-SMF3YBH5.cjs → chunk-ATDW2VII.cjs} +70 -70
- package/dist/{chunk-SMF3YBH5.cjs.map → chunk-ATDW2VII.cjs.map} +1 -1
- package/dist/{chunk-HXT6A6GH.cjs → chunk-AX6HC2YY.cjs} +6 -7
- package/dist/chunk-AX6HC2YY.cjs.map +1 -0
- package/dist/{chunk-P5AZUUM2.cjs → chunk-AXT4VA5N.cjs} +11 -11
- package/dist/chunk-AXT4VA5N.cjs.map +1 -0
- package/dist/{chunk-BCJ25X7C.js → chunk-BA2VUDQS.js} +114 -74
- package/dist/chunk-BA2VUDQS.js.map +1 -0
- package/dist/{chunk-2UTRYTT3.cjs → chunk-BDPE6ZKX.cjs} +114 -74
- package/dist/chunk-BDPE6ZKX.cjs.map +1 -0
- package/dist/{chunk-I25KF3UF.js → chunk-BERQEJYB.js} +6 -6
- package/dist/{chunk-I25KF3UF.js.map → chunk-BERQEJYB.js.map} +1 -1
- package/dist/{chunk-CR4NB42L.cjs → chunk-BFWKL5MJ.cjs} +37 -39
- package/dist/chunk-BFWKL5MJ.cjs.map +1 -0
- package/dist/{chunk-GI3NLBCW.cjs → chunk-BJD32VBQ.cjs} +22 -22
- package/dist/{chunk-GI3NLBCW.cjs.map → chunk-BJD32VBQ.cjs.map} +1 -1
- package/dist/{chunk-CXBB2LN7.js → chunk-BKKLUIIU.js} +2 -2
- package/dist/chunk-BKKLUIIU.js.map +1 -0
- package/dist/{chunk-S5NFDKPL.js → chunk-BYBVI7UN.js} +18 -17
- package/dist/chunk-BYBVI7UN.js.map +1 -0
- package/dist/{chunk-I7PJTLP2.cjs → chunk-C264Z2GQ.cjs} +26 -26
- package/dist/{chunk-I7PJTLP2.cjs.map → chunk-C264Z2GQ.cjs.map} +1 -1
- package/dist/{chunk-DONU5ALC.cjs → chunk-CFOGSQCG.cjs} +31 -37
- package/dist/chunk-CFOGSQCG.cjs.map +1 -0
- package/dist/{chunk-E4TIWN4Z.cjs → chunk-CPOYENSZ.cjs} +41 -35
- package/dist/chunk-CPOYENSZ.cjs.map +1 -0
- package/dist/{chunk-DJW7T3WJ.js → chunk-CZNN2GOC.js} +11 -12
- package/dist/chunk-CZNN2GOC.js.map +1 -0
- package/dist/{chunk-UZNSGQT3.cjs → chunk-DSNJDFO3.cjs} +34 -40
- package/dist/chunk-DSNJDFO3.cjs.map +1 -0
- package/dist/{chunk-K574UTWP.cjs → chunk-E2JZGYKU.cjs} +14 -15
- package/dist/chunk-E2JZGYKU.cjs.map +1 -0
- package/dist/{chunk-ELCRG7WZ.js → chunk-E4KM3RQ2.js} +15 -15
- package/dist/{chunk-ELCRG7WZ.js.map → chunk-E4KM3RQ2.js.map} +1 -1
- 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-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-EM2F6BZ2.js → chunk-EUN5TCB2.js} +9 -9
- package/dist/chunk-EUN5TCB2.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-NAELQLZN.js → chunk-FMEIPGUP.js} +3 -3
- package/dist/{chunk-NAELQLZN.js.map → chunk-FMEIPGUP.js.map} +1 -1
- package/dist/{chunk-DNVOWNQG.cjs → chunk-FQSOUCZS.cjs} +11 -11
- package/dist/{chunk-DNVOWNQG.cjs.map → chunk-FQSOUCZS.cjs.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-D6KXW75E.js → chunk-GI5MVVIX.js} +10 -15
- package/dist/chunk-GI5MVVIX.js.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-YRXGCYT2.js → chunk-H2SGYAUO.js} +11 -13
- package/dist/chunk-H2SGYAUO.js.map +1 -0
- package/dist/{chunk-OAUKYH6C.cjs → chunk-H7LOOHWU.cjs} +2 -2
- package/dist/chunk-H7LOOHWU.cjs.map +1 -0
- package/dist/{chunk-VLIQPSPM.js → chunk-HLN3JQYD.js} +19 -132
- package/dist/chunk-HLN3JQYD.js.map +1 -0
- package/dist/{chunk-NSHWBZL4.cjs → chunk-HM7IEGQ2.cjs} +14 -13
- package/dist/chunk-HM7IEGQ2.cjs.map +1 -0
- package/dist/chunk-I2X2Z7FA.cjs +559 -0
- package/dist/chunk-I2X2Z7FA.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-R2NQNVEV.js → chunk-IG4UJZ6B.js} +21 -23
- package/dist/chunk-IG4UJZ6B.js.map +1 -0
- package/dist/{chunk-LBRKUZSQ.cjs → chunk-IKF6VHA4.cjs} +73 -114
- package/dist/chunk-IKF6VHA4.cjs.map +1 -0
- package/dist/{chunk-3PSQDJQH.js → chunk-ISYUZ5FS.js} +17 -14
- package/dist/chunk-ISYUZ5FS.js.map +1 -0
- package/dist/{chunk-NMHCRHRI.cjs → chunk-ITDQSF2O.cjs} +29 -28
- package/dist/chunk-ITDQSF2O.cjs.map +1 -0
- 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-RJXHAQCR.cjs → chunk-JAHKLROD.cjs} +25 -23
- package/dist/chunk-JAHKLROD.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-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-KIGRE6NA.js +50 -0
- package/dist/chunk-KIGRE6NA.js.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-U35V3GVC.js → chunk-M4JUQCKP.js} +26 -20
- package/dist/chunk-M4JUQCKP.js.map +1 -0
- package/dist/{chunk-RJQQ2UIQ.js → chunk-MACIT6C6.js} +5 -5
- package/dist/{chunk-RJQQ2UIQ.js.map → chunk-MACIT6C6.js.map} +1 -1
- package/dist/{chunk-WSAZHUB3.cjs → chunk-MAL4D4LR.cjs} +21 -20
- package/dist/chunk-MAL4D4LR.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-QRXMW7MQ.cjs → chunk-MQQ4GSUG.cjs} +68 -70
- package/dist/chunk-MQQ4GSUG.cjs.map +1 -0
- package/dist/chunk-NUTB2K4G.js +87 -0
- package/dist/chunk-NUTB2K4G.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-CWUC4TOQ.js → chunk-OJCJPYXE.js} +122 -121
- package/dist/chunk-OJCJPYXE.js.map +1 -0
- package/dist/{chunk-4A4EI26N.cjs → chunk-OJKZS6HG.cjs} +35 -35
- package/dist/{chunk-4A4EI26N.cjs.map → chunk-OJKZS6HG.cjs.map} +1 -1
- package/dist/chunk-OMHOVHPX.js +78 -0
- package/dist/chunk-OMHOVHPX.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-ZW4XKNDR.cjs → chunk-PLXUM7U6.cjs} +38 -21
- package/dist/chunk-PLXUM7U6.cjs.map +1 -0
- package/dist/{chunk-2FPZULX3.cjs → chunk-PNYF6NS4.cjs} +32 -35
- package/dist/chunk-PNYF6NS4.cjs.map +1 -0
- package/dist/{chunk-PDXZDPOY.cjs → chunk-PTJ5YZFY.cjs} +48 -47
- package/dist/chunk-PTJ5YZFY.cjs.map +1 -0
- package/dist/{chunk-YT3UWEVY.js → chunk-PUVBNGCF.js} +27 -17
- package/dist/chunk-PUVBNGCF.js.map +1 -0
- package/dist/chunk-PXIWITSS.js +414 -0
- package/dist/chunk-PXIWITSS.js.map +1 -0
- package/dist/{chunk-FVIEYPDB.js → chunk-PXTE3XRD.js} +19 -17
- package/dist/chunk-PXTE3XRD.js.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-YLXM3CGV.js → chunk-RKMW3ZOK.js} +5 -5
- package/dist/{chunk-YLXM3CGV.js.map → chunk-RKMW3ZOK.js.map} +1 -1
- 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-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-ZHFAFEI2.js → chunk-SEAVOF6B.js} +5 -6
- package/dist/chunk-SEAVOF6B.js.map +1 -0
- package/dist/{chunk-VT7VKCHL.cjs → chunk-SFT5LCQP.cjs} +25 -27
- package/dist/chunk-SFT5LCQP.cjs.map +1 -0
- package/dist/{chunk-2FUG6NKO.js → chunk-SSOHJEHS.js} +9 -9
- package/dist/chunk-SSOHJEHS.js.map +1 -0
- package/dist/{chunk-5EQN3YMQ.cjs → chunk-TO3ZPSYO.cjs} +35 -35
- package/dist/chunk-TO3ZPSYO.cjs.map +1 -0
- package/dist/chunk-TRK2ZZFB.cjs +55 -0
- package/dist/chunk-TRK2ZZFB.cjs.map +1 -0
- package/dist/{chunk-6SPQDYHC.cjs → chunk-U2WVHZ24.cjs} +11 -22
- package/dist/chunk-U2WVHZ24.cjs.map +1 -0
- package/dist/chunk-UJODHP7E.cjs +280 -0
- package/dist/chunk-UJODHP7E.cjs.map +1 -0
- package/dist/{chunk-O5RVLBKN.cjs → chunk-UMGW7WJI.cjs} +14 -15
- package/dist/chunk-UMGW7WJI.cjs.map +1 -0
- package/dist/{chunk-TPSOUQG7.cjs → chunk-UR7RYJOU.cjs} +29 -28
- package/dist/chunk-UR7RYJOU.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-32XQJNKY.cjs → chunk-UYXQBM2B.cjs} +15 -15
- package/dist/{chunk-32XQJNKY.cjs.map → chunk-UYXQBM2B.cjs.map} +1 -1
- package/dist/{chunk-H6OY6FLC.js → chunk-VSEKSDTK.js} +16 -14
- package/dist/chunk-VSEKSDTK.js.map +1 -0
- package/dist/chunk-VXBVSYPA.cjs +109 -0
- package/dist/chunk-VXBVSYPA.cjs.map +1 -0
- package/dist/{chunk-IT72TF72.js → chunk-VYFMYXU4.js} +13 -12
- package/dist/chunk-VYFMYXU4.js.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-WATCCAQU.js +53 -0
- package/dist/chunk-WATCCAQU.js.map +1 -0
- package/dist/{chunk-UWG5UQFV.cjs → chunk-WGCGHFXE.cjs} +26 -20
- package/dist/chunk-WGCGHFXE.cjs.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-WNGBWUWZ.cjs +80 -0
- package/dist/chunk-WNGBWUWZ.cjs.map +1 -0
- 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-WWB4NSEY.cjs +226 -0
- package/dist/chunk-WWB4NSEY.cjs.map +1 -0
- package/dist/{chunk-NPJXGQOF.cjs → chunk-X5ZQRMEM.cjs} +116 -117
- package/dist/chunk-X5ZQRMEM.cjs.map +1 -0
- package/dist/chunk-XIFLSMGW.js +200 -0
- package/dist/chunk-XIFLSMGW.js.map +1 -0
- package/dist/chunk-XM3AZXOA.js +224 -0
- package/dist/chunk-XM3AZXOA.js.map +1 -0
- package/dist/{chunk-NJDV3LDH.js → chunk-XQU4ECJY.js} +17 -18
- package/dist/chunk-XQU4ECJY.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-WE3ECIRS.cjs → chunk-Y5SXQR52.cjs} +50 -47
- package/dist/chunk-Y5SXQR52.cjs.map +1 -0
- 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-NILB6Y4Z.cjs → chunk-YBPG5RPR.cjs} +32 -146
- package/dist/chunk-YBPG5RPR.cjs.map +1 -0
- package/dist/{chunk-HPZ7LLXK.js → chunk-YGYA4BYN.js} +11 -12
- package/dist/chunk-YGYA4BYN.js.map +1 -0
- package/dist/{chunk-VL6IDFI2.js → chunk-YJJOKZN2.js} +4 -4
- package/dist/{chunk-VL6IDFI2.js.map → chunk-YJJOKZN2.js.map} +1 -1
- package/dist/chunk-YXYD5HKL.cjs +109 -0
- package/dist/chunk-YXYD5HKL.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-ZH3GKYUZ.js +199 -0
- package/dist/chunk-ZH3GKYUZ.js.map +1 -0
- package/dist/chunk-ZNPTARIS.cjs +52 -0
- package/dist/chunk-ZNPTARIS.cjs.map +1 -0
- package/dist/{chunk-OKKL652L.js → chunk-ZNUOFLCQ.js} +5 -15
- package/dist/chunk-ZNUOFLCQ.js.map +1 -0
- package/dist/{chunk-VVYUCQHP.js → chunk-ZNZ67KFM.js} +17 -23
- package/dist/chunk-ZNZ67KFM.js.map +1 -0
- package/dist/{chunk-WIIDQ44X.cjs → chunk-ZTQQ2O6O.cjs} +27 -24
- package/dist/chunk-ZTQQ2O6O.cjs.map +1 -0
- package/dist/{chunk-HWCL6JFB.js → chunk-ZW2ATXTL.js} +10 -9
- package/dist/chunk-ZW2ATXTL.js.map +1 -0
- package/dist/{chunk-LFZXGIR6.cjs → chunk-ZXPKFGRB.cjs} +48 -46
- package/dist/chunk-ZXPKFGRB.cjs.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 +11 -44
- package/dist/components/Blockquote/index.cjs.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/ButtonGroup.recipe.d.ts +4 -4
- package/dist/components/ButtonGroup/ButtonGroup.recipe.d.ts.map +1 -1
- 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.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.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.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 +13 -179
- package/dist/components/Rating/index.cjs.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/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 +4 -3
- 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 +13 -11
- 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/SplitButton/SplitButton.d.ts +89 -0
- package/dist/components/SplitButton/SplitButton.d.ts.map +1 -0
- package/dist/components/SplitButton/index.cjs +34 -0
- package/dist/components/SplitButton/index.cjs.map +1 -0
- package/dist/components/SplitButton/index.d.ts +2 -0
- package/dist/components/SplitButton/index.d.ts.map +1 -0
- package/dist/components/SplitButton/index.js +25 -0
- package/dist/components/SplitButton/index.js.map +1 -0
- 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/Table/plugins/pagination/useTablePagination.d.ts.map +1 -1
- 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.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 +590 -337
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +28 -22
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +385 -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/package.json
CHANGED
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "silver-ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"packageManager": "pnpm@11.3.0",
|
|
5
5
|
"description": "A comprehensive themeable React component library",
|
|
6
6
|
"license": "MIT",
|
|
7
|
+
"homepage": "https://silver-ui.com",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/czarandy/silver-ui.git"
|
|
11
|
+
},
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/czarandy/silver-ui/issues"
|
|
14
|
+
},
|
|
7
15
|
"type": "module",
|
|
8
16
|
"sideEffects": [
|
|
9
17
|
"**/*.css"
|
|
@@ -41,7 +49,9 @@
|
|
|
41
49
|
"prepare": "husky && panda codegen",
|
|
42
50
|
"storybook": "storybook dev -p 6006 --ci",
|
|
43
51
|
"build": "panda codegen && tsup && tsc -p tsconfig.build.json && panda cssgen --outfile dist/styles.css --minify",
|
|
44
|
-
"build:storybook": "storybook build",
|
|
52
|
+
"build:storybook": "panda codegen && storybook build",
|
|
53
|
+
"sync:brand": "cp brand/logo.svg brand/wordmark.svg site/public/",
|
|
54
|
+
"build:site": "pnpm sync:brand && pnpm build && pnpm -C site build",
|
|
45
55
|
"test": "vitest run",
|
|
46
56
|
"test:watch": "vitest",
|
|
47
57
|
"lint": "eslint --cache .",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/TextArea/TextArea.tsx"],"names":["css","useId","getStatusMessageID","getDescribedBy","jsxs","Field","cx","inputRecipe","jsx","inputStyles","Icon","Spinner","getStatusIcon","Text"],"mappings":"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","file":"chunk-25OAUQRF.cjs","sourcesContent":["import {\n useId,\n type ChangeEvent,\n type CSSProperties,\n type ClipboardEvent,\n type FocusEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {\n Field,\n inputRecipe,\n inputStyles,\n type FieldNecessity,\n type InputSize,\n type InputStatus,\n} from '../Field';\nimport {\n getDescribedBy,\n getStatusIcon,\n getStatusMessageID,\n} from '../Field/inputUtils';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Spinner} from '../Spinner';\nimport {Text} from '../Text';\n\nexport type TextAreaProps = {\n /**\n * Additional CSS class names applied to the textarea wrapper.\n */\n className?: string;\n /**\n * Test ID applied to the textarea element.\n */\n 'data-testid'?: string;\n /**\n * Supporting text displayed below the label.\n */\n description?: ReactNode;\n /**\n * Whether to focus the textarea on mount.\n * @default false\n */\n hasAutoFocus?: boolean;\n /**\n * Whether the browser spellcheck is enabled.\n * @default true\n */\n hasSpellCheck?: boolean;\n /**\n * HTML name attribute.\n */\n htmlName?: string;\n /**\n * Whether the textarea 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 textarea 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 character count. Displays a counter when set.\n */\n maxLength?: number;\n /**\n * Called when the textarea loses focus.\n */\n onBlur?: (event: FocusEvent<HTMLTextAreaElement>) => void;\n /**\n * Called with the next string value.\n */\n onChange: (value: string, event: ChangeEvent<HTMLTextAreaElement>) => void;\n /**\n * Called when the textarea receives focus.\n */\n onFocus?: (event: FocusEvent<HTMLTextAreaElement>) => void;\n /**\n * Called when content is pasted into the textarea.\n */\n onPaste?: (event: ClipboardEvent<HTMLTextAreaElement>) => void;\n /**\n * Placeholder text.\n */\n placeholder?: string;\n /**\n * Ref forwarded to the textarea element.\n */\n ref?: Ref<HTMLTextAreaElement>;\n /**\n * Number of visible text rows.\n * @default 3\n */\n rows?: number;\n /**\n * Visual size.\n * @default 'md'\n */\n size?: InputSize;\n /**\n * Icon shown before the textarea.\n */\n startIcon?: IconComponent;\n /**\n * Validation status displayed below the textarea.\n */\n status?: InputStatus;\n /**\n * Inline styles applied to the textarea wrapper.\n */\n style?: CSSProperties;\n /**\n * Controlled textarea value.\n */\n value: string;\n} & FieldNecessity;\n\nconst styles = {\n wrapper: css({\n alignItems: 'flex-start',\n py: '2',\n }),\n textarea: css({\n resize: 'vertical',\n minH: '20',\n }),\n counter: css({\n alignSelf: 'flex-end',\n mt: '1',\n }),\n counterOverLimit: css({\n color: 'status.error.fg',\n }),\n} as const;\n\n/**\n * Multi-line text input field with optional character counter.\n */\nexport function TextArea({\n label,\n value,\n onChange,\n rows = 3,\n size = 'md',\n description,\n isLabelHidden = false,\n isOptional,\n isRequired,\n isDisabled = false,\n isLoading = false,\n hasSpellCheck = true,\n hasAutoFocus = false,\n htmlName,\n status,\n labelIcon,\n labelTooltip,\n startIcon,\n placeholder,\n maxLength,\n onPaste,\n onFocus,\n onBlur,\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: TextAreaProps): React.JSX.Element {\n const inputId = useId();\n const descriptionID =\n description != null ? `${inputId}-description` : undefined;\n const statusMessageID = getStatusMessageID(inputId, status);\n const counterID = maxLength != null ? `${inputId}-counter` : undefined;\n const describedBy = getDescribedBy(descriptionID, statusMessageID, counterID);\n const isOverLimit = maxLength != null && value.length > maxLength;\n\n const necessity: FieldNecessity = {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 <div\n className={cx(\n inputRecipe({\n size,\n status: status?.type,\n isDisabled,\n }),\n styles.wrapper,\n )}>\n {startIcon != null ? (\n <span className={inputStyles.iconSlot}>\n <Icon color=\"secondary\" icon={startIcon} size=\"sm\" />\n </span>\n ) : null}\n <textarea\n aria-busy={isLoading || undefined}\n aria-describedby={describedBy}\n aria-invalid={status?.type === 'error' || isOverLimit || undefined}\n aria-required={isRequired ?? undefined}\n // eslint-disable-next-line jsx-a11y-x/no-autofocus\n autoFocus={hasAutoFocus}\n className={cx(inputStyles.control, styles.textarea)}\n data-autofocus={hasAutoFocus || undefined}\n data-testid={dataTestId}\n disabled={isDisabled}\n id={inputId}\n name={htmlName}\n onBlur={onBlur}\n onChange={event => onChange(event.target.value, event)}\n onFocus={onFocus}\n onPaste={onPaste}\n placeholder={placeholder}\n ref={ref}\n rows={rows}\n spellCheck={hasSpellCheck}\n value={value}\n />\n {isLoading ? <Spinner size=\"sm\" /> : null}\n {status != null ? (\n <span className={inputStyles.iconSlot}>\n {getStatusIcon(status.type)}\n </span>\n ) : null}\n </div>\n {maxLength != null ? (\n <Text\n as=\"span\"\n className={cx(\n styles.counter,\n isOverLimit ? styles.counterOverLimit : undefined,\n )}\n color=\"secondary\"\n id={counterID}\n type=\"supporting\">\n {value.length}/{maxLength}\n </Text>\n ) : null}\n </Field>\n );\n}\n\nTextArea.displayName = 'TextArea';\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/TreeView/TreeViewBranches.tsx","../src/components/TreeView/TreeViewItem.tsx","../src/components/TreeView/TreeView.tsx"],"names":["css","jsxs","Fragment","jsx","styles","useId","useRef","useCallback","cx","Icon","ChevronRight","useMemo","useState"],"mappings":"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","file":"chunk-2FPZULX3.cjs","sourcesContent":["/* eslint-disable silver-ui/require-component-props -- internal presentational connector */\n\nimport {css} from 'styled-system/css';\n\nconst styles = {\n container: css({\n position: 'absolute',\n h: 'full',\n w: '5',\n }),\n line: css({\n position: 'absolute',\n insetInline: 0,\n m: 'auto',\n w: '1px',\n h: 'calc(100% + 1px)',\n borderRadius: 'xs',\n bg: 'border.emphasized',\n }),\n} as const;\n\nconst branchOffset = '6px';\n\ninterface TreeViewBranchesProps {\n /**\n * Whether each ancestor at the corresponding level is the last sibling.\n */\n ancestorsIsLast: ReadonlyArray<boolean>;\n /**\n * Zero-based nesting depth used to draw vertical connector lines.\n */\n nestedLevel: number;\n}\n\n/**\n * Renders vertical connector lines for tree item indentation levels.\n */\nexport function TreeViewBranches({\n ancestorsIsLast,\n nestedLevel,\n}: TreeViewBranchesProps): React.JSX.Element {\n return (\n <>\n {ancestorsIsLast.map((ancestorIsLast, level) => {\n if (ancestorIsLast || level === nestedLevel - 1) {\n return null;\n }\n\n return (\n <div\n className={styles.container}\n // eslint-disable-next-line @eslint-react/no-array-index-key -- level is the stable connector coordinate\n key={level}\n style={{left: `calc(${branchOffset} + ${level} * 16px)`}}>\n <div className={styles.line} />\n </div>\n );\n })}\n {nestedLevel > 0 ? (\n <div\n className={styles.container}\n style={{left: `calc(${branchOffset} + ${nestedLevel - 1} * 16px)`}}>\n <div className={styles.line} />\n </div>\n ) : null}\n </>\n );\n}\n\nTreeViewBranches.displayName = 'TreeViewBranches';\n","/* eslint-disable jsx-a11y-x/no-noninteractive-element-to-interactive-role, jsx-a11y-x/no-static-element-interactions, silver-ui/require-component-props -- internal recursive tree item */\n\nimport {ChevronRight} from 'lucide-react';\nimport {useCallback, useId, useRef, type ReactNode, type Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {Icon} from '../Icon';\nimport {TreeViewBranches} from './TreeViewBranches';\nimport type {TreeViewDensity} from './types';\n\ninterface TreeViewItemProps {\n /**\n * Whether each ancestor at the corresponding level is the last sibling.\n */\n ancestorsIsLast: ReadonlyArray<boolean>;\n /**\n * Plain-text label used for generated control labels.\n */\n ariaLabel?: string;\n /**\n * Spacing density for the item.\n */\n density: TreeViewDensity;\n /**\n * Secondary description text shown below the label.\n */\n description?: string;\n /**\n * Content rendered at the end of the item row.\n */\n endContent?: React.ReactNode;\n /**\n * Whether this item has child items.\n */\n hasChildren: boolean;\n /**\n * Link destination. When provided, the item renders as a link.\n */\n href?: string;\n /**\n * Unique identifier for the item.\n */\n id: string;\n /**\n * Whether the item is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether the item's children are visible.\n */\n isExpanded: boolean;\n /**\n * Whether this item currently owns roving focus.\n */\n isFocused: boolean;\n /**\n * Whether this item is the last sibling at its level.\n */\n isLast: boolean;\n /**\n * Whether the item is selected.\n * @default false\n */\n isSelected?: boolean;\n /**\n * Primary label content.\n */\n label: React.ReactNode;\n /**\n * Zero-based nesting depth of this item.\n */\n nestedLevel: number;\n /**\n * Click handler for the item action.\n */\n onClick?: (event: React.MouseEvent) => void;\n /**\n * Called when the item receives focus.\n */\n onFocusItem: (id: string, isFocusVisible?: boolean) => void;\n /**\n * Called for tree keyboard navigation.\n */\n onItemKeyDown: (\n event: React.KeyboardEvent<HTMLLIElement>,\n id: string,\n ) => void;\n /**\n * Called when the expand/collapse toggle is activated.\n */\n onToggle?: (id: string) => void;\n /**\n * Ref forwarded to the treeitem element.\n */\n ref?: Ref<HTMLLIElement>;\n /**\n * Pre-rendered child items.\n */\n renderedChildren?: ReactNode;\n /**\n * Content rendered before the label.\n */\n startContent?: React.ReactNode;\n /**\n * Roving tab index for this treeitem.\n */\n tabIndex: 0 | -1;\n /**\n * Link target attribute (e.g. '_blank').\n */\n target?: string;\n}\n\nconst styles = {\n childGroup: css({\n m: 0,\n p: 0,\n listStyleType: 'none',\n }),\n content: css({\n display: 'flex',\n flex: 1,\n minW: 0,\n flexDirection: 'column',\n textAlign: 'start',\n }),\n contentWrapper: css({\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n boxSizing: 'border-box',\n overflow: 'hidden',\n px: '2',\n borderRadius: 'md',\n outline: 'none',\n textAlign: 'start',\n }),\n density: {\n balanced: css({\n py: '2',\n fontSize: 'sm',\n lineHeight: 'normal',\n }),\n compact: css({\n py: '1',\n fontSize: 'sm',\n lineHeight: 'normal',\n }),\n spacious: css({\n py: '3',\n fontSize: 'sm',\n lineHeight: 'normal',\n }),\n },\n description: css({\n color: 'fg.muted',\n fontSize: 'xs',\n lineHeight: 'normal',\n }),\n disabled: css({\n cursor: 'not-allowed',\n opacity: 0.5,\n pointerEvents: 'none',\n }),\n endContent: css({\n display: 'flex',\n alignItems: 'center',\n flexShrink: 0,\n ml: 'auto',\n }),\n interactive: css({\n cursor: 'pointer',\n transitionDuration: 'fast',\n transitionProperty: 'background-color',\n transitionTimingFunction: 'default',\n _active: {\n bg: 'bg.hover',\n },\n _hover: {\n '@media (hover: hover)': {\n bg: 'bg.subtle',\n },\n },\n }),\n invisibleAction: css({\n all: 'unset',\n display: 'flex',\n flex: 1,\n minW: 0,\n flexDirection: 'column',\n color: 'inherit',\n cursor: 'inherit',\n font: 'inherit',\n textAlign: 'start',\n textDecoration: 'none',\n outline: 'none',\n }),\n label: css({\n color: 'fg',\n }),\n rowWrapper: css({\n position: 'relative',\n }),\n selected: css({\n bg: 'bg.selected',\n }),\n focused: css({\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n }),\n startContent: css({\n display: 'flex',\n alignItems: 'center',\n flexShrink: 0,\n }),\n toggleButton: css({\n all: 'unset',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n w: '4',\n h: '4',\n borderRadius: 'sm',\n color: 'fg.muted',\n cursor: 'pointer',\n }),\n toggleIcon: css({\n display: 'flex',\n transitionDuration: 'fast',\n transitionProperty: 'transform',\n transitionTimingFunction: 'default',\n }),\n toggleIconExpanded: css({\n transform: 'rotate(90deg)',\n }),\n toggleSpacer: css({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n w: '4',\n h: '4',\n color: 'fg.muted',\n }),\n treeBranches: css({\n ps: '2',\n }),\n wrapper: css({\n position: 'relative',\n m: 0,\n p: 0,\n w: 'full',\n listStyleType: 'none',\n outline: 'none',\n }),\n} as const;\n\n/**\n * Renders a single tree item with toggle, branch lines, and optional link or button action.\n */\nexport function TreeViewItem({\n ariaLabel,\n ancestorsIsLast,\n density,\n description,\n endContent,\n hasChildren,\n href,\n id,\n isDisabled = false,\n isExpanded,\n isFocused,\n isLast: _isLast,\n isSelected = false,\n label,\n nestedLevel,\n onClick,\n onFocusItem,\n onItemKeyDown,\n onToggle,\n ref,\n renderedChildren,\n startContent,\n tabIndex,\n target,\n}: TreeViewItemProps): React.JSX.Element {\n const labelId = useId();\n const descriptionId = useId();\n const actionRef = useRef<HTMLAnchorElement | HTMLButtonElement>(null);\n const isInteractive = onClick != null || href != null;\n const togglesOnRow = hasChildren && onClick == null && onToggle != null;\n const textLabel =\n ariaLabel ??\n (typeof label === 'string' || typeof label === 'number'\n ? String(label)\n : id);\n\n const handleToggle = useCallback(\n (event: React.MouseEvent) => {\n event.stopPropagation();\n onToggle?.(id);\n },\n [id, onToggle],\n );\n\n const handleRowClick = useCallback(() => {\n if (!togglesOnRow) {\n return;\n }\n\n if (isDisabled) {\n return;\n }\n onToggle(id);\n }, [id, isDisabled, onToggle, togglesOnRow]);\n\n const handleRowKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLLIElement>) => {\n event.stopPropagation();\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n if (togglesOnRow) {\n handleRowClick();\n return;\n }\n actionRef.current?.click();\n return;\n }\n onItemKeyDown(event, id);\n },\n [handleRowClick, id, onItemKeyDown, togglesOnRow],\n );\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLLIElement>) => {\n if (event.currentTarget !== event.target) {\n return;\n }\n onFocusItem(id, event.currentTarget.matches(':focus-visible'));\n },\n [id, onFocusItem],\n );\n\n const handlePointerDown = useCallback(() => {\n onFocusItem(id, false);\n }, [id, onFocusItem]);\n\n const handleDisabledLinkClick = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement>) => {\n if (!isDisabled) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n },\n [isDisabled],\n );\n\n const labelAndDescription = (\n <>\n <span className={styles.label} id={labelId}>\n {label}\n </span>\n {description == null ? null : (\n <span className={styles.description} id={descriptionId}>\n {description}\n </span>\n )}\n </>\n );\n\n const toggleIcon = (\n <span\n className={cx(\n styles.toggleIcon,\n isExpanded ? styles.toggleIconExpanded : undefined,\n )}>\n <Icon icon={ChevronRight} size=\"sm\" />\n </span>\n );\n\n const toggle = hasChildren ? (\n onClick != null ? (\n <button\n aria-label={`Toggle ${textLabel} children`}\n className={styles.toggleButton}\n onClick={handleToggle}\n tabIndex={-1}\n type=\"button\">\n {toggleIcon}\n </button>\n ) : (\n <span className={styles.toggleSpacer}>{toggleIcon}</span>\n )\n ) : null;\n\n const content = (\n <>\n {toggle}\n {startContent == null ? null : (\n <span className={styles.startContent}>{startContent}</span>\n )}\n {href != null ? (\n <a\n aria-describedby={description == null ? undefined : descriptionId}\n aria-disabled={isDisabled || undefined}\n aria-labelledby={labelId}\n className={styles.invisibleAction}\n href={href}\n onClick={handleDisabledLinkClick}\n ref={actionRef as Ref<HTMLAnchorElement>}\n tabIndex={-1}\n target={target}>\n {labelAndDescription}\n </a>\n ) : onClick != null ? (\n <button\n aria-describedby={description == null ? undefined : descriptionId}\n aria-labelledby={labelId}\n className={styles.invisibleAction}\n disabled={isDisabled}\n onClick={onClick}\n ref={actionRef as Ref<HTMLButtonElement>}\n tabIndex={-1}\n type=\"button\">\n {labelAndDescription}\n </button>\n ) : (\n <span className={styles.content}>{labelAndDescription}</span>\n )}\n {endContent == null ? null : (\n <span className={styles.endContent}>{endContent}</span>\n )}\n </>\n );\n\n const marginLeft = hasChildren\n ? `calc(${nestedLevel} * 16px)`\n : `calc(${nestedLevel} * 16px + 24px)`;\n\n return (\n <li\n aria-describedby={description == null ? undefined : descriptionId}\n aria-disabled={isDisabled || undefined}\n aria-expanded={hasChildren ? isExpanded : undefined}\n aria-labelledby={labelId}\n aria-selected={isSelected || undefined}\n className={styles.wrapper}\n onFocus={handleFocus}\n onKeyDown={handleRowKeyDown}\n ref={ref}\n role=\"treeitem\"\n tabIndex={isDisabled ? -1 : tabIndex}>\n <div className={styles.treeBranches}>\n <TreeViewBranches\n ancestorsIsLast={ancestorsIsLast}\n nestedLevel={nestedLevel}\n />\n </div>\n <div className={styles.rowWrapper}>\n {/* eslint-disable-next-line jsx-a11y-x/click-events-have-key-events -- keyboard interaction is handled by the parent treeitem for roving focus. */}\n <div\n className={cx(\n 'silver-tree-view-item',\n styles.contentWrapper,\n styles.density[density],\n isInteractive || togglesOnRow ? styles.interactive : undefined,\n isDisabled ? styles.disabled : undefined,\n isSelected ? styles.selected : undefined,\n isFocused ? styles.focused : undefined,\n )}\n onClick={handleRowClick}\n onPointerDown={handlePointerDown}\n style={{marginLeft}}\n tabIndex={undefined}>\n {content}\n </div>\n </div>\n {isExpanded && renderedChildren != null ? (\n <ul className={styles.childGroup} role=\"group\">\n {renderedChildren}\n </ul>\n ) : null}\n </li>\n );\n}\n\nTreeViewItem.displayName = 'TreeViewItem';\n","/* eslint-disable jsx-a11y-x/no-noninteractive-element-to-interactive-role -- tree semantics are applied to list markup */\n\nimport {\n useCallback,\n useId,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type FocusEvent,\n type KeyboardEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {TreeViewItem} from './TreeViewItem';\nimport type {TreeViewDensity, TreeViewItemData} from './types';\n\nexport interface TreeViewProps {\n /**\n * Additional CSS class names applied to the root.\n */\n className?: string;\n /**\n * Test ID applied to the root.\n */\n 'data-testid'?: string;\n /**\n * Spacing density for tree items.\n * @default 'balanced'\n */\n density?: TreeViewDensity;\n /**\n * Header content rendered above the tree and associated with `aria-labelledby`.\n */\n header?: ReactNode;\n /**\n * Recursive tree item data. Pass a stable reference, or memoize large inline\n * arrays, to avoid repeating recursive expansion scans on every render.\n */\n items: TreeViewItemData[];\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Inline styles applied to the root.\n */\n style?: CSSProperties;\n}\n\nconst styles = {\n header: css({\n mb: '2',\n }),\n list: css({\n m: 0,\n p: 0,\n listStyleType: 'none',\n }),\n root: css({\n position: 'relative',\n }),\n} as const;\n\ninterface VisibleTreeItem {\n hasChildren: boolean;\n id: string;\n isDisabled: boolean;\n isExpanded: boolean;\n label: string;\n parentId: string | null;\n}\n\nfunction collectExpandedKeys(items: TreeViewItemData[]): string[] {\n const keys: string[] = [];\n for (const item of items) {\n if (item.isExpanded && item.children != null && item.children.length > 0) {\n keys.push(item.id);\n }\n if (item.children != null) {\n keys.push(...collectExpandedKeys(item.children));\n }\n }\n return keys;\n}\n\nfunction getTextLabel(item: TreeViewItemData): string {\n if (item.ariaLabel != null) {\n return item.ariaLabel;\n }\n if (typeof item.label === 'string' || typeof item.label === 'number') {\n return String(item.label);\n }\n return item.id;\n}\n\nfunction getItemExpansion(\n id: string,\n expandedKeyOverrides: ReadonlyMap<string, boolean>,\n expandedKeysFromProps: ReadonlySet<string>,\n): boolean {\n return expandedKeyOverrides.has(id)\n ? (expandedKeyOverrides.get(id) ?? false)\n : expandedKeysFromProps.has(id);\n}\n\nfunction collectVisibleItems(\n items: TreeViewItemData[],\n expandedKeyOverrides: ReadonlyMap<string, boolean>,\n expandedKeysFromProps: ReadonlySet<string>,\n parentId: string | null = null,\n): VisibleTreeItem[] {\n const visibleItems: VisibleTreeItem[] = [];\n for (const item of items) {\n const hasChildren = item.children != null && item.children.length > 0;\n const isExpanded = getItemExpansion(\n item.id,\n expandedKeyOverrides,\n expandedKeysFromProps,\n );\n visibleItems.push({\n hasChildren,\n id: item.id,\n isDisabled: item.isDisabled === true,\n isExpanded,\n label: getTextLabel(item),\n parentId,\n });\n\n if (hasChildren && isExpanded) {\n visibleItems.push(\n ...collectVisibleItems(\n item.children ?? [],\n expandedKeyOverrides,\n expandedKeysFromProps,\n item.id,\n ),\n );\n }\n }\n return visibleItems;\n}\n\n/**\n * Renders a hierarchical tree of expandable and selectable items.\n */\nexport function TreeView({\n className,\n 'data-testid': dataTestId,\n density = 'balanced',\n header,\n items,\n ref,\n style,\n}: TreeViewProps): React.JSX.Element {\n const headerId = useId();\n const itemElementsRef = useRef(new Map<string, HTMLLIElement>());\n const inputModalityRef = useRef<'keyboard' | 'pointer'>('keyboard');\n const expandedKeysFromProps = useMemo(\n () => new Set(collectExpandedKeys(items)),\n [items],\n );\n const [expandedKeyOverrides, setExpandedKeyOverrides] = useState<\n Map<string, boolean>\n >(() => new Map());\n const [focusedId, setFocusedId] = useState<string | null>(null);\n const [hasFocusWithin, setHasFocusWithin] = useState(false);\n const [focusVisibleId, setFocusVisibleId] = useState<string | null>(null);\n\n const visibleItems = useMemo(\n () =>\n collectVisibleItems(items, expandedKeyOverrides, expandedKeysFromProps),\n [expandedKeyOverrides, expandedKeysFromProps, items],\n );\n const focusableItems = useMemo(\n () => visibleItems.filter(item => !item.isDisabled),\n [visibleItems],\n );\n const activeFocusedId =\n focusedId != null && focusableItems.some(item => item.id === focusedId)\n ? focusedId\n : (focusableItems[0]?.id ?? null);\n\n const handleToggle = useCallback(\n (id: string) => {\n setExpandedKeyOverrides(previous => {\n const next = new Map(previous);\n const defaultIsExpanded = expandedKeysFromProps.has(id);\n const isExpanded = previous.has(id)\n ? (previous.get(id) ?? false)\n : defaultIsExpanded;\n const nextIsExpanded = !isExpanded;\n if (nextIsExpanded === defaultIsExpanded) {\n next.delete(id);\n } else {\n next.set(id, nextIsExpanded);\n }\n return next;\n });\n },\n [expandedKeysFromProps],\n );\n\n const focusItem = useCallback((id: string) => {\n setFocusedId(id);\n itemElementsRef.current.get(id)?.focus();\n }, []);\n\n const handleItemFocus = useCallback((id: string, isFocusVisible = false) => {\n setFocusedId(id);\n setFocusVisibleId(\n isFocusVisible || inputModalityRef.current === 'keyboard' ? id : null,\n );\n }, []);\n\n const handleFocusCapture = useCallback(() => {\n setHasFocusWithin(true);\n }, []);\n\n const handleBlurCapture = useCallback((event: FocusEvent<HTMLDivElement>) => {\n const nextFocusedElement = event.relatedTarget;\n if (\n nextFocusedElement instanceof Node &&\n event.currentTarget.contains(nextFocusedElement)\n ) {\n return;\n }\n\n setHasFocusWithin(false);\n setFocusVisibleId(null);\n }, []);\n\n const handleKeyDownCapture = useCallback(() => {\n inputModalityRef.current = 'keyboard';\n }, []);\n\n const handlePointerDownCapture = useCallback(() => {\n inputModalityRef.current = 'pointer';\n }, []);\n\n const registerItem = useCallback(\n (id: string) => (element: HTMLLIElement | null) => {\n if (element == null) {\n itemElementsRef.current.delete(id);\n return;\n }\n itemElementsRef.current.set(id, element);\n },\n [],\n );\n\n const handleItemKeyDown = useCallback(\n (event: KeyboardEvent<HTMLLIElement>, id: string) => {\n const currentIndex = focusableItems.findIndex(item => item.id === id);\n if (currentIndex === -1) {\n return;\n }\n\n const currentItem = focusableItems[currentIndex];\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n const nextIndex = currentIndex + 1;\n if (nextIndex < focusableItems.length) {\n focusItem(focusableItems[nextIndex].id);\n }\n return;\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n const previousIndex = currentIndex - 1;\n if (previousIndex >= 0) {\n focusItem(focusableItems[previousIndex].id);\n }\n return;\n }\n\n if (event.key === 'Home') {\n event.preventDefault();\n if (focusableItems.length > 0) {\n focusItem(focusableItems[0].id);\n }\n return;\n }\n\n if (event.key === 'End') {\n event.preventDefault();\n if (focusableItems.length > 0) {\n focusItem(focusableItems[focusableItems.length - 1].id);\n }\n return;\n }\n\n if (event.key === 'ArrowRight') {\n if (!currentItem.hasChildren) {\n return;\n }\n event.preventDefault();\n if (!currentItem.isExpanded) {\n handleToggle(currentItem.id);\n return;\n }\n\n const firstChild = focusableItems.find(\n item => item.parentId === currentItem.id,\n );\n if (firstChild != null) {\n focusItem(firstChild.id);\n }\n return;\n }\n\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n if (currentItem.hasChildren && currentItem.isExpanded) {\n handleToggle(currentItem.id);\n return;\n }\n if (currentItem.parentId != null) {\n focusItem(currentItem.parentId);\n }\n return;\n }\n\n if (\n event.key.length === 1 &&\n !event.altKey &&\n !event.ctrlKey &&\n !event.metaKey\n ) {\n const query = event.key.toLocaleLowerCase();\n const orderedItems = [\n ...focusableItems.slice(currentIndex + 1),\n ...focusableItems.slice(0, currentIndex + 1),\n ];\n const matchingItem = orderedItems.find(item =>\n item.label.toLocaleLowerCase().startsWith(query),\n );\n if (matchingItem != null) {\n event.preventDefault();\n focusItem(matchingItem.id);\n }\n }\n },\n [focusItem, focusableItems, handleToggle],\n );\n\n const renderItems = useCallback(\n (\n treeItems: TreeViewItemData[],\n nestedLevel: number,\n ancestorsIsLast: ReadonlyArray<boolean>,\n ): ReactNode =>\n treeItems.map((item, index) => {\n const isLast = index === treeItems.length - 1;\n const hasChildren = item.children != null && item.children.length > 0;\n const isExpanded = expandedKeyOverrides.has(item.id)\n ? (expandedKeyOverrides.get(item.id) ?? false)\n : expandedKeysFromProps.has(item.id);\n const childAncestorsIsLast = hasChildren\n ? [...ancestorsIsLast, isLast]\n : ancestorsIsLast;\n const renderedChildren =\n isExpanded && hasChildren\n ? renderItems(\n item.children ?? [],\n nestedLevel + 1,\n childAncestorsIsLast,\n )\n : undefined;\n\n return (\n <TreeViewItem\n ancestorsIsLast={ancestorsIsLast}\n ariaLabel={item.ariaLabel}\n density={density}\n description={item.description}\n endContent={item.endContent}\n hasChildren={hasChildren}\n href={item.href}\n id={item.id}\n isDisabled={item.isDisabled}\n isExpanded={isExpanded}\n isFocused={hasFocusWithin && focusVisibleId === item.id}\n isLast={isLast}\n isSelected={item.isSelected}\n key={item.id}\n label={item.label}\n nestedLevel={nestedLevel}\n onClick={item.onClick}\n onFocusItem={handleItemFocus}\n onItemKeyDown={handleItemKeyDown}\n onToggle={handleToggle}\n ref={registerItem(item.id)}\n renderedChildren={renderedChildren}\n startContent={item.startContent}\n tabIndex={activeFocusedId === item.id ? 0 : -1}\n target={item.target}\n />\n );\n }),\n [\n activeFocusedId,\n density,\n expandedKeyOverrides,\n expandedKeysFromProps,\n focusVisibleId,\n hasFocusWithin,\n handleItemFocus,\n handleItemKeyDown,\n handleToggle,\n registerItem,\n ],\n );\n\n return (\n <div\n className={cx('silver-tree-view', styles.root, className)}\n data-testid={dataTestId}\n onBlurCapture={handleBlurCapture}\n onFocusCapture={handleFocusCapture}\n onKeyDownCapture={handleKeyDownCapture}\n onPointerDownCapture={handlePointerDownCapture}\n ref={ref}\n style={style}>\n {header == null ? null : (\n <div className={styles.header} id={headerId}>\n {header}\n </div>\n )}\n <ul\n aria-labelledby={header == null ? undefined : headerId}\n className={styles.list}\n role=\"tree\">\n {renderItems(items, 0, [])}\n </ul>\n </div>\n );\n}\n\nTreeView.displayName = 'TreeView';\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/Tag/Tag.recipe.ts","../src/components/Tag/Tag.tsx"],"names":[],"mappings":"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","file":"chunk-2FUG6NKO.js","sourcesContent":["import {cva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const tagRecipe = cva({\n base: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '1',\n maxW: 'full',\n overflow: 'hidden',\n borderWidth: 0,\n borderRadius: 'sm',\n fontFamily: 'body',\n fontWeight: 'medium',\n lineHeight: 'normal',\n textDecoration: 'none',\n whiteSpace: 'nowrap',\n verticalAlign: 'middle',\n _hover: {\n textDecoration: 'none',\n },\n },\n variants: {\n size: {\n sm: {\n minH: '6',\n px: '2',\n fontSize: 'sm',\n },\n md: {\n minH: '8',\n px: '2',\n fontSize: 'sm',\n },\n lg: {\n minH: '10',\n px: '2.5',\n fontSize: 'md',\n },\n },\n color: {\n default: {\n bg: 'surface.gray',\n color: 'surface.gray.fg',\n _hover: {bg: 'surface.gray.hover'},\n },\n red: {\n bg: 'surface.red',\n color: 'surface.red.fg',\n _hover: {bg: 'surface.red.hover'},\n },\n orange: {\n bg: 'surface.orange',\n color: 'surface.orange.fg',\n _hover: {bg: 'surface.orange.hover'},\n },\n yellow: {\n bg: 'surface.yellow',\n color: 'surface.yellow.fg',\n _hover: {bg: 'surface.yellow.hover'},\n },\n green: {\n bg: 'surface.green',\n color: 'surface.green.fg',\n _hover: {bg: 'surface.green.hover'},\n },\n teal: {\n bg: 'surface.teal',\n color: 'surface.teal.fg',\n _hover: {bg: 'surface.teal.hover'},\n },\n cyan: {\n bg: 'surface.cyan',\n color: 'surface.cyan.fg',\n _hover: {bg: 'surface.cyan.hover'},\n },\n blue: {\n bg: 'surface.blue',\n color: 'surface.blue.fg',\n _hover: {bg: 'surface.blue.hover'},\n },\n purple: {\n bg: 'surface.purple',\n color: 'surface.purple.fg',\n _hover: {bg: 'surface.purple.hover'},\n },\n pink: {\n bg: 'surface.pink',\n color: 'surface.pink.fg',\n _hover: {bg: 'surface.pink.hover'},\n },\n gray: {\n bg: 'surface.gray',\n color: 'surface.gray.fg',\n _hover: {bg: 'surface.gray.hover'},\n },\n },\n isInteractive: {\n true: {\n cursor: 'pointer',\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n false: {},\n },\n isDisabled: {\n true: {\n opacity: 0.55,\n cursor: 'not-allowed',\n pointerEvents: 'none',\n },\n false: {},\n },\n },\n defaultVariants: {\n size: 'md',\n color: 'default',\n isInteractive: false,\n isDisabled: false,\n },\n});\n\nexport type TagVariants = RecipeVariantProps<typeof tagRecipe>;\n","import {X} from 'lucide-react';\nimport type {\n CSSProperties,\n MouseEvent,\n MouseEventHandler,\n ReactNode,\n Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {VisuallyHidden} from '../../internal/VisuallyHidden';\nimport {cx} from '../../internal/cx';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Link} from '../Link';\nimport {Tooltip} from '../Tooltip';\nimport {tagRecipe} from './Tag.recipe';\n\nexport type TagColor =\n | 'default'\n | 'red'\n | 'orange'\n | 'yellow'\n | 'green'\n | 'teal'\n | 'cyan'\n | 'blue'\n | 'purple'\n | 'pink'\n | 'gray';\n\nexport type TagSize = 'sm' | 'md' | 'lg';\n\nexport interface TagProps {\n /**\n * Additional CSS class names applied to the tag.\n */\n className?: string;\n /**\n * Visual color.\n * @default 'default'\n */\n color?: TagColor;\n /**\n * Test ID applied to the tag root.\n */\n 'data-testid'?: string;\n /**\n * Accessible description for the tag.\n */\n description?: string;\n /**\n * Content rendered after the label and before the remove button.\n */\n endContent?: ReactNode;\n /**\n * Link destination. When provided, the tag renders as a link.\n */\n href?: string;\n /**\n * Icon rendered before the label.\n */\n icon?: IconComponent;\n /**\n * Whether the tag is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label while keeping it available to screen readers.\n * @default false\n */\n isLabelHidden?: boolean;\n /**\n * Tag text.\n */\n label: string;\n /**\n * Click handler.\n */\n onClick?: MouseEventHandler<HTMLElement>;\n /**\n * Called when the remove button is clicked. When provided, a remove button is shown.\n */\n onRemove?: (event: MouseEvent<HTMLButtonElement>) => void;\n /**\n * Ref forwarded to the tag root element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Visual size.\n * @default 'md'\n */\n size?: TagSize;\n /**\n * Content rendered before the icon and label.\n */\n startContent?: ReactNode;\n /**\n * Inline styles applied to the tag.\n */\n style?: CSSProperties;\n /**\n * Tooltip text shown on hover.\n */\n tooltip?: string;\n}\n\nconst styles = {\n buttonReset: css({\n p: 0,\n borderWidth: 0,\n font: 'inherit',\n color: 'inherit',\n bg: 'transparent',\n cursor: 'pointer',\n }),\n bodyButton: css({\n display: 'inline-flex',\n alignItems: 'center',\n gap: 'inherit',\n p: 0,\n borderWidth: 0,\n font: 'inherit',\n color: 'inherit',\n bg: 'transparent',\n cursor: 'pointer',\n minW: 0,\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n }),\n label: css({\n minW: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n }),\n removeButton: css({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n p: 0,\n borderWidth: 0,\n borderRadius: 'full',\n bg: 'transparent',\n color: 'inherit',\n cursor: 'pointer',\n _hover: {\n opacity: 0.7,\n },\n _active: {\n opacity: 0.5,\n },\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n }),\n} as const;\n\nfunction TagContent({\n endContent,\n icon,\n isLabelHidden,\n label,\n onRemove,\n isDisabled,\n size = 'md',\n startContent,\n}: Pick<\n TagProps,\n | 'endContent'\n | 'icon'\n | 'isDisabled'\n | 'isLabelHidden'\n | 'label'\n | 'size'\n | 'startContent'\n> & {\n onRemove?: (event: MouseEvent<HTMLButtonElement>) => void;\n}): React.JSX.Element {\n return (\n <>\n {startContent}\n {icon != null ? (\n <Icon aria-hidden=\"true\" color=\"inherit\" icon={icon} size={size} />\n ) : null}\n {isLabelHidden === true ? (\n <VisuallyHidden>{label}</VisuallyHidden>\n ) : (\n <span className={styles.label}>{label}</span>\n )}\n {endContent}\n {onRemove != null ? (\n <button\n aria-label={`Remove ${label}`}\n className={styles.removeButton}\n disabled={isDisabled}\n onClick={event => {\n event.stopPropagation();\n onRemove(event);\n }}\n type=\"button\">\n <Icon icon={X} size=\"sm\" />\n </button>\n ) : null}\n </>\n );\n}\n\n/**\n * Compact chip for displaying selected values, filters, tags, or removable entities.\n */\nexport function Tag({\n className,\n color = 'default',\n 'data-testid': dataTestId,\n description,\n endContent,\n href,\n icon,\n isDisabled = false,\n isLabelHidden = false,\n label,\n onClick,\n onRemove,\n ref,\n size = 'md',\n startContent,\n style,\n tooltip,\n}: TagProps): React.JSX.Element {\n const isInteractive = href != null || onClick != null;\n const classNames = cx(\n tagRecipe({size, color, isInteractive, isDisabled}),\n href == null && onClick != null && onRemove == null\n ? styles.buttonReset\n : undefined,\n className,\n );\n const sharedProps = {\n 'aria-description': description,\n className: classNames,\n 'data-testid': dataTestId,\n style,\n };\n\n let element: React.JSX.Element;\n\n if (href != null && onRemove != null) {\n element = (\n <span {...sharedProps} ref={ref}>\n <Link\n className={styles.bodyButton}\n color=\"inherit\"\n href={href}\n isDisabled={isDisabled}\n onClick={onClick}>\n {startContent}\n {icon != null ? (\n <Icon aria-hidden=\"true\" color=\"inherit\" icon={icon} size={size} />\n ) : null}\n {isLabelHidden ? (\n <VisuallyHidden>{label}</VisuallyHidden>\n ) : (\n <span className={styles.label}>{label}</span>\n )}\n {endContent}\n </Link>\n <button\n aria-label={`Remove ${label}`}\n className={styles.removeButton}\n disabled={isDisabled}\n onClick={event => {\n event.stopPropagation();\n onRemove(event);\n }}\n type=\"button\">\n <Icon icon={X} size=\"sm\" />\n </button>\n </span>\n );\n } else if (href != null) {\n element = (\n <Link\n {...sharedProps}\n color=\"inherit\"\n href={href}\n isDisabled={isDisabled}\n onClick={onClick}\n ref={ref as Ref<HTMLAnchorElement>}>\n <TagContent\n endContent={endContent}\n icon={icon}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n label={label}\n size={size}\n startContent={startContent}\n />\n </Link>\n );\n } else if (onClick != null && onRemove != null) {\n element = (\n <span {...sharedProps} ref={ref}>\n <button\n className={styles.bodyButton}\n disabled={isDisabled}\n onClick={onClick}\n type=\"button\">\n {startContent}\n {icon != null ? (\n <Icon aria-hidden=\"true\" color=\"inherit\" icon={icon} size={size} />\n ) : null}\n {isLabelHidden ? (\n <VisuallyHidden>{label}</VisuallyHidden>\n ) : (\n <span className={styles.label}>{label}</span>\n )}\n {endContent}\n </button>\n <button\n aria-label={`Remove ${label}`}\n className={styles.removeButton}\n disabled={isDisabled}\n onClick={event => {\n event.stopPropagation();\n onRemove(event);\n }}\n type=\"button\">\n <Icon icon={X} size=\"sm\" />\n </button>\n </span>\n );\n } else if (onClick != null) {\n element = (\n <button\n {...sharedProps}\n disabled={isDisabled}\n onClick={onClick}\n ref={ref as Ref<HTMLButtonElement>}\n type=\"button\">\n <TagContent\n endContent={endContent}\n icon={icon}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n label={label}\n size={size}\n startContent={startContent}\n />\n </button>\n );\n } else {\n element = (\n <span {...sharedProps} ref={ref}>\n <TagContent\n endContent={endContent}\n icon={icon}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n label={label}\n onRemove={onRemove}\n size={size}\n startContent={startContent}\n />\n </span>\n );\n }\n\n if (tooltip != null) {\n return <Tooltip content={tooltip}>{element}</Tooltip>;\n }\n\n return element;\n}\n\nTag.displayName = 'Tag';\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/EmptyState/EmptyState.recipe.ts","../src/components/EmptyState/EmptyState.tsx"],"names":["cva","css","useId","jsxs","cx","jsx","Heading","Text"],"mappings":"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","file":"chunk-2PHHFBJ3.cjs","sourcesContent":["import {cva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const emptyStateRecipe = cva({\n base: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n textAlign: 'center',\n gap: '4',\n w: 'full',\n px: '6',\n py: '8',\n },\n variants: {\n isCompact: {\n true: {\n gap: '2',\n px: '4',\n py: '4',\n },\n false: {},\n },\n },\n defaultVariants: {\n isCompact: false,\n },\n});\n\nexport type EmptyStateVariants = RecipeVariantProps<typeof emptyStateRecipe>;\n","import {useId, type CSSProperties, type ReactNode, type Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {Heading, type HeadingLevel, Text} from '../Text';\nimport {emptyStateRecipe} from './EmptyState.recipe';\n\nexport interface EmptyStateProps {\n /**\n * Action controls rendered below the text.\n */\n actions?: ReactNode;\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 * Supporting text.\n */\n description?: string;\n /**\n * Semantic heading level for the title.\n * @default 3\n */\n headingLevel?: HeadingLevel;\n /**\n * Decorative illustration or large icon rendered above the title.\n */\n illustration?: ReactNode;\n /**\n * Whether to use tighter spacing for constrained areas.\n * @default false\n */\n isCompact?: boolean;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Primary empty-state message.\n */\n title: string;\n}\n\nconst styles = {\n illustration: css({\n display: 'inline-flex',\n color: 'fg.muted',\n w: '16',\n h: '16',\n '& > svg': {\n w: 'full',\n h: 'full',\n },\n }),\n text: css({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n gap: '1',\n maxW: '96',\n }),\n actions: css({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexWrap: 'wrap',\n gap: '2',\n mt: '1',\n }),\n} as const;\n\n/**\n * A placeholder for an empty data or content area.\n */\nexport function EmptyState({\n actions,\n className,\n 'data-testid': dataTestId,\n description,\n headingLevel = 3,\n illustration,\n isCompact = false,\n ref,\n style,\n title,\n}: EmptyStateProps): React.JSX.Element {\n const headingId = useId();\n\n return (\n <div\n aria-labelledby={headingId}\n className={cx(emptyStateRecipe({isCompact}), className)}\n data-testid={dataTestId}\n ref={ref}\n role=\"region\"\n style={style}>\n {illustration != null ? (\n <div aria-hidden=\"true\" className={styles.illustration}>\n {illustration}\n </div>\n ) : null}\n <div className={styles.text}>\n <Heading id={headingId} level={headingLevel}>\n {title}\n </Heading>\n {description != null ? (\n <Text as=\"p\" color=\"secondary\">\n {description}\n </Text>\n ) : null}\n </div>\n {actions != null ? <div className={styles.actions}>{actions}</div> : null}\n </div>\n );\n}\n\nEmptyState.displayName = 'EmptyState';\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/internal/useFocusTrap.ts","../src/components/Popover/usePopover.tsx","../src/components/Popover/Popover.tsx"],"names":["useRef","useEffect","useCallback","styles","jsx","jsxs"],"mappings":"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","file":"chunk-2QK2NZN5.js","sourcesContent":["import {useCallback, useEffect, useRef} from 'react';\n\nconst FOCUSABLE_SELECTOR =\n 'button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"]):not([disabled])';\n\nexport interface UseFocusTrapOptions {\n isActive: boolean;\n onEscape?: () => void;\n}\n\nexport interface UseFocusTrapReturn<T extends HTMLElement = HTMLElement> {\n containerRef: React.RefObject<T | null>;\n focusFirst: () => void;\n}\n\nfunction getFocusableElements(container: HTMLElement): HTMLElement[] {\n return Array.from(\n container.querySelectorAll<HTMLElement>(FOCUSABLE_SELECTOR),\n );\n}\n\nfunction focusFirstDescendant(container: HTMLElement): void {\n getFocusableElements(container)[0]?.focus();\n}\n\nfunction focusLastDescendant(container: HTMLElement): void {\n const elements = getFocusableElements(container);\n elements.at(-1)?.focus();\n}\n\nexport function useFocusTrap<T extends HTMLElement = HTMLElement>({\n isActive,\n onEscape,\n}: UseFocusTrapOptions): UseFocusTrapReturn<T> {\n const containerRef = useRef<T>(null);\n\n const focusFirst = useCallback(() => {\n if (containerRef.current != null) {\n focusFirstDescendant(containerRef.current);\n }\n }, []);\n\n useEffect(() => {\n if (!isActive) {\n return;\n }\n\n const handleKeyDown = (event: KeyboardEvent) => {\n const container = containerRef.current;\n if (container == null) {\n return;\n }\n\n if (event.key === 'Escape') {\n event.preventDefault();\n onEscape?.();\n return;\n }\n\n if (event.key !== 'Tab') {\n return;\n }\n\n const focusable = getFocusableElements(container);\n if (focusable.length === 0) {\n return;\n }\n\n const first = focusable[0];\n const last = focusable.at(-1);\n if (event.shiftKey && document.activeElement === first) {\n event.preventDefault();\n focusLastDescendant(container);\n } else if (!event.shiftKey && document.activeElement === last) {\n event.preventDefault();\n focusFirstDescendant(container);\n }\n };\n\n document.addEventListener('keydown', handleKeyDown);\n return () => document.removeEventListener('keydown', handleKeyDown);\n }, [isActive, onEscape]);\n\n return {containerRef, focusFirst};\n}\n","import {X} from 'lucide-react';\nimport {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n type ReactNode,\n type RefCallback,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {useFocusTrap} from '../../internal/useFocusTrap';\nimport {useLayer, type ContextRenderProps} from '../../internal/useLayer';\nimport {Button} from '../Button';\n\nexport type {LayerAlignment, LayerPlacement} from '../../internal/useLayer';\n\nexport interface UsePopoverOptions {\n closeButtonLabel?: string;\n hasAutoFocus?: boolean;\n hasCloseButton?: boolean;\n hasLightDismiss?: boolean;\n hasSurface?: boolean;\n label?: string;\n onHide?: () => void;\n onShow?: () => void;\n role?: 'dialog' | 'menu';\n}\n\nexport interface UsePopoverReturn {\n anchorId: string;\n contentRef: React.RefObject<HTMLDivElement | null>;\n hide: () => void;\n id: string;\n isOpen: boolean;\n render: (children: ReactNode, props?: ContextRenderProps) => ReactNode;\n show: (options?: {isAutoFocusSkipped?: boolean}) => void;\n toggle: () => void;\n triggerProps: {\n 'aria-controls': string;\n 'aria-expanded': boolean;\n 'aria-haspopup': 'dialog' | 'menu';\n };\n triggerRef: RefCallback<HTMLElement>;\n}\n\nconst styles = {\n surface: css({\n position: 'relative',\n bg: 'bg',\n borderRadius: 'md',\n boxShadow: 'lg',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'border',\n }),\n closeButtonWrapper: css({\n position: 'absolute',\n w: '1px',\n h: '1px',\n overflow: 'hidden',\n clipPath: 'inset(50%)',\n }),\n} as const;\n\nexport function usePopover({\n onShow,\n onHide,\n hasLightDismiss = true,\n hasAutoFocus = true,\n hasSurface = true,\n hasCloseButton = true,\n closeButtonLabel = 'Close popover',\n label,\n role = 'dialog',\n}: UsePopoverOptions = {}): UsePopoverReturn {\n const skipAutoFocusRef = useRef(false);\n const layer = useLayer({hasLightDismiss, onShow, onHide});\n const {containerRef: contentRef, focusFirst} = useFocusTrap<HTMLDivElement>({\n isActive: layer.isOpen,\n onEscape: layer.hide,\n });\n\n useEffect(() => {\n if (!layer.isOpen) {\n skipAutoFocusRef.current = false;\n return;\n }\n\n if (hasAutoFocus && !skipAutoFocusRef.current) {\n requestAnimationFrame(() => focusFirst());\n }\n }, [focusFirst, hasAutoFocus, layer.isOpen]);\n\n const show = useCallback(\n (options?: {isAutoFocusSkipped?: boolean}) => {\n skipAutoFocusRef.current = options?.isAutoFocusSkipped ?? false;\n layer.show();\n },\n [layer],\n );\n\n const toggle = useCallback(() => {\n if (layer.isOpen) {\n layer.hide();\n return;\n }\n\n show();\n }, [layer, show]);\n\n const render = useCallback(\n (children: ReactNode, props?: ContextRenderProps): ReactNode => {\n return layer.render(\n <div\n aria-label={label}\n className={hasSurface ? styles.surface : undefined}\n ref={contentRef}\n role={role}>\n {children}\n {hasCloseButton ? (\n <div className={styles.closeButtonWrapper}>\n <Button\n icon={X}\n isIconOnly\n label={closeButtonLabel}\n onClick={layer.hide}\n size=\"sm\"\n variant=\"ghost\"\n />\n </div>\n ) : null}\n </div>,\n {\n ...props,\n className: props?.className,\n },\n );\n },\n [\n closeButtonLabel,\n contentRef,\n hasCloseButton,\n hasSurface,\n label,\n layer,\n role,\n ],\n );\n\n const triggerProps = useMemo(\n () => ({\n 'aria-controls': layer.id,\n 'aria-expanded': layer.isOpen,\n 'aria-haspopup': role,\n }),\n [layer.id, layer.isOpen, role],\n );\n\n return useMemo(\n () => ({\n anchorId: layer.anchorId,\n contentRef,\n hide: layer.hide,\n id: layer.id,\n isOpen: layer.isOpen,\n render,\n show,\n toggle,\n triggerProps,\n triggerRef: layer.ref,\n }),\n [\n contentRef,\n layer.anchorId,\n layer.hide,\n layer.id,\n layer.isOpen,\n layer.ref,\n render,\n show,\n toggle,\n triggerProps,\n ],\n );\n}\n","import {\n useCallback,\n useRef,\n type CSSProperties,\n type ReactNode,\n type Ref,\n type RefObject,\n} from 'react';\nimport {css, cx} from 'styled-system/css';\nimport type {SpacingToken} from 'styled-system/tokens';\nimport {token} from 'styled-system/tokens';\nimport {nowMonotonicMilliseconds} from '../../internal/time';\nimport {useIsomorphicLayoutEffect} from '../../internal/useIsomorphicLayoutEffect';\nimport type {LayerAlignment, LayerPlacement} from '../../internal/useLayer';\nimport {usePopover} from './usePopover';\n\nexport interface PopoverProps {\n /**\n * Alignment along the placement axis.\n * @default 'start'\n */\n alignment?: LayerAlignment;\n /**\n * External trigger element. When provided without children, Popover attaches\n * click and ARIA behavior directly to this element.\n */\n anchorRef?: RefObject<HTMLElement | null>;\n /**\n * Trigger content. Must contain a `<button>` or `[role=\"button\"]`.\n */\n children?: ReactNode;\n /**\n * Additional CSS class names applied to the popover content.\n */\n className?: string;\n /**\n * Label for the hidden close button.\n * @default 'Close popover'\n */\n closeButtonLabel?: string;\n /**\n * Content displayed inside the popover dialog.\n */\n content: ReactNode;\n /**\n * Test ID applied to the popover content.\n */\n 'data-testid'?: string;\n /**\n * Whether to focus the first focusable item after opening.\n * @default true\n */\n hasAutoFocus?: boolean;\n /**\n * Whether to include a keyboard-accessible close button.\n * @default true\n */\n hasCloseButton?: boolean;\n /**\n * Whether clicking outside closes the popover.\n * @default true\n */\n hasLightDismiss?: boolean;\n /**\n * Whether trigger interactions open the popover.\n * @default true\n */\n isEnabled?: boolean;\n /**\n * Controlled open state.\n */\n isOpen?: boolean;\n /**\n * Accessible label for the popover dialog.\n */\n label?: string;\n /**\n * Callback fired when open state changes.\n */\n onOpenChange?: (isOpen: boolean) => void;\n /**\n * Inner padding of the popover content.\n * @default 0\n */\n padding?: SpacingToken;\n /**\n * Position relative to the trigger.\n * @default 'below'\n */\n placement?: LayerPlacement;\n /**\n * Ref forwarded to the popover content element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * ARIA role for the floating content.\n * @default 'dialog'\n */\n role?: 'dialog' | 'menu';\n /**\n * Inline styles applied to the popover content.\n */\n style?: CSSProperties;\n /**\n * Width of the popover content.\n */\n width?: number | string;\n}\n\nconst BUTTON_SELECTOR = 'button, [role=\"button\"]';\n\nconst styles = {\n anchor: css({\n display: 'inline-flex',\n }),\n content: css({}),\n gap: {\n above: css({mb: '1'}),\n below: css({mt: '1'}),\n start: css({mr: '1'}),\n end: css({ml: '1'}),\n },\n} as const;\n\nfunction findTriggerButton(element: HTMLElement): HTMLElement | null {\n if (element.matches(BUTTON_SELECTOR)) {\n return element;\n }\n\n return element.querySelector<HTMLElement>(BUTTON_SELECTOR);\n}\n\n/**\n * A click-triggered floating dialog anchored to a trigger element.\n */\nexport function Popover({\n anchorRef,\n children,\n content,\n placement = 'below',\n alignment = 'start',\n isOpen,\n onOpenChange,\n isEnabled = true,\n width,\n label,\n hasCloseButton,\n hasLightDismiss,\n closeButtonLabel,\n padding,\n ref,\n hasAutoFocus,\n className,\n style,\n role,\n 'data-testid': dataTestId,\n}: PopoverProps): React.JSX.Element {\n const wrapperRef = useRef<HTMLDivElement>(null);\n const isControlled = isOpen !== undefined;\n const lastHideTimeRef = useRef(0);\n\n const popover = usePopover({\n closeButtonLabel,\n hasAutoFocus,\n hasCloseButton,\n hasLightDismiss,\n label,\n onHide: () => {\n lastHideTimeRef.current = nowMonotonicMilliseconds();\n onOpenChange?.(false);\n },\n onShow: () => onOpenChange?.(true),\n role,\n });\n\n const handleTriggerClick = useCallback(() => {\n if (!isEnabled) {\n return;\n }\n\n if (nowMonotonicMilliseconds() - lastHideTimeRef.current < 50) {\n return;\n }\n\n popover.toggle();\n }, [isEnabled, popover]);\n\n const handleTriggerKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n handleTriggerClick();\n }\n },\n [handleTriggerClick],\n );\n\n const attachTrigger = useCallback(\n (button: HTMLElement) => {\n button.setAttribute(\n 'aria-haspopup',\n popover.triggerProps['aria-haspopup'],\n );\n button.setAttribute(\n 'aria-expanded',\n String(popover.triggerProps['aria-expanded']),\n );\n button.setAttribute(\n 'aria-controls',\n popover.triggerProps['aria-controls'],\n );\n button.addEventListener('click', handleTriggerClick);\n\n const needsKeyDown =\n button.tagName !== 'BUTTON' && button.getAttribute('role') === 'button';\n if (needsKeyDown) {\n button.addEventListener('keydown', handleTriggerKeyDown);\n }\n\n return () => {\n button.removeAttribute('aria-haspopup');\n button.removeAttribute('aria-expanded');\n button.removeAttribute('aria-controls');\n button.removeEventListener('click', handleTriggerClick);\n if (needsKeyDown) {\n button.removeEventListener('keydown', handleTriggerKeyDown);\n }\n };\n },\n [handleTriggerClick, handleTriggerKeyDown, popover.triggerProps],\n );\n\n useIsomorphicLayoutEffect(() => {\n const anchor = anchorRef?.current ?? wrapperRef.current;\n if (anchor == null) {\n return;\n }\n\n popover.triggerRef(anchor);\n const trigger = findTriggerButton(anchor);\n if (trigger == null || !isEnabled) {\n return () => {\n popover.triggerRef(null);\n };\n }\n\n const detach = attachTrigger(trigger);\n return () => {\n popover.triggerRef(null);\n detach();\n };\n }, [anchorRef, attachTrigger, isEnabled, popover]);\n\n useIsomorphicLayoutEffect(() => {\n if (!isControlled) {\n return;\n }\n\n if (isOpen === true && !popover.isOpen) {\n popover.show();\n } else if (isOpen === false && popover.isOpen) {\n popover.hide();\n }\n }, [isControlled, isOpen, popover]);\n\n const widthStyle =\n width == null\n ? undefined\n : {width: typeof width === 'number' ? `${width}px` : width};\n\n const paddingStyle =\n padding != null && padding !== '0'\n ? {padding: token(`spacing.${padding}`)}\n : undefined;\n\n const popoverContent = popover.render(\n <div\n className={cx(styles.content, className)}\n data-testid={dataTestId}\n ref={ref}\n style={{...paddingStyle, ...widthStyle, ...style}}>\n {content}\n </div>,\n {\n placement,\n alignment,\n className: styles.gap[placement],\n style: {minWidth: 'anchor-size(width)'},\n },\n );\n\n if (anchorRef != null && children == null) {\n return <>{popoverContent}</>;\n }\n\n return (\n <>\n <div className={styles.anchor} ref={wrapperRef}>\n {children}\n </div>\n {popoverContent}\n </>\n );\n}\n\nPopover.displayName = 'Popover';\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/Accordion/AccordionContext.tsx","../src/components/Accordion/Accordion.tsx","../src/components/Accordion/useCollapsible.ts","../src/components/Accordion/AccordionItem.tsx","../src/components/Accordion/Collapsible.tsx"],"names":["createContext","css","useState","useMemo","useCallback","jsx","cx","use","styles","useId","jsxs","Icon","ChevronDown"],"mappings":"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","file":"chunk-2UTRYTT3.cjs","sourcesContent":["import {createContext} from 'react';\n\nexport interface AccordionContextValue {\n getIsOpen: (value: string) => boolean;\n toggle: (value: string) => void;\n}\n\nexport const AccordionContext = createContext<AccordionContextValue | null>(\n null,\n);\nAccordionContext.displayName = 'AccordionContext';\n","import {\n useCallback,\n useMemo,\n useState,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {AccordionContext, type AccordionContextValue} from './AccordionContext';\n\n/**\n * A container that coordinates multiple `AccordionItem` children so that\n * one (`type=\"single\"`) or several (`type=\"multiple\"`) can be open at a\n * time. For a standalone disclosure widget, use `Collapsible` instead.\n */\ninterface AccordionBaseProps {\n /**\n * Accessible label for the accordion group. Provide either `aria-label`\n * or `aria-labelledby`, not both.\n */\n 'aria-label'?: string;\n /**\n * ID of an element that labels the accordion group. Provide either\n * `aria-label` or `aria-labelledby`, not both.\n */\n 'aria-labelledby'?: string;\n /**\n * One or more `AccordionItem` elements.\n */\n children: ReactNode;\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 * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n}\n\nexport type AccordionProps =\n | (AccordionBaseProps & {\n /**\n * Item value that is open on initial render, or `null` for all\n * closed. Ignored when `value` is provided.\n */\n defaultValue?: string | null;\n /**\n * Called when the open item changes. Receives the item value string,\n * or `null` when all items are closed.\n */\n onChange?: (value: string | null) => void;\n /**\n * Only one item can be open at a time. This is the default.\n */\n type?: 'single';\n /**\n * Controls which item is open externally. Pass `null` to close all\n * items. When set, the component becomes controlled and `onChange`\n * should be provided.\n */\n value?: string | null;\n })\n | (AccordionBaseProps & {\n /**\n * Item values that are open on initial render. Ignored when `value` is\n * provided.\n */\n defaultValue?: string[];\n /**\n * Called when the set of open items changes. Receives an array of\n * open item values.\n */\n onChange?: (value: string[]) => void;\n /**\n * Multiple items can be open simultaneously.\n */\n type: 'multiple';\n /**\n * Controls which items are open externally. When set, the component\n * becomes controlled and `onChange` should be provided. Memoize array\n * values to avoid unnecessary re-renders.\n */\n value?: string[];\n });\n\nfunction normalizeToSet(\n value: string | string[] | null | undefined,\n): ReadonlySet<string> {\n if (value == null) {\n return new Set();\n }\n return new Set(Array.isArray(value) ? value : [value]);\n}\n\nconst styles = {\n root: css({\n display: 'flex',\n flexDirection: 'column',\n gap: '3',\n }),\n};\n\nexport function Accordion({\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n type = 'single',\n defaultValue,\n value: controlledValue,\n onChange,\n children,\n className,\n 'data-testid': dataTestId,\n ref,\n style,\n}: AccordionProps): React.JSX.Element {\n const isControlled = controlledValue !== undefined;\n const [internalValue, setInternalValue] = useState<ReadonlySet<string>>(() =>\n normalizeToSet(defaultValue),\n );\n\n const openValues = useMemo(\n () => (isControlled ? normalizeToSet(controlledValue) : internalValue),\n [isControlled, controlledValue, internalValue],\n );\n\n const getIsOpen = useCallback(\n (itemValue: string) => openValues.has(itemValue),\n [openValues],\n );\n\n const toggle = useCallback(\n (itemValue: string) => {\n let nextValues: ReadonlySet<string>;\n\n if (type === 'single') {\n nextValues = openValues.has(itemValue)\n ? new Set()\n : new Set([itemValue]);\n } else {\n const next = new Set(openValues);\n if (next.has(itemValue)) {\n next.delete(itemValue);\n } else {\n next.add(itemValue);\n }\n nextValues = next;\n }\n\n if (!isControlled) {\n setInternalValue(nextValues);\n }\n\n if (onChange) {\n const arr = [...nextValues];\n if (type === 'single') {\n (onChange as (value: string | null) => void)(arr[0] ?? null);\n } else {\n (onChange as (value: string[]) => void)(arr);\n }\n }\n },\n [type, openValues, isControlled, onChange],\n );\n\n const contextValue = useMemo<AccordionContextValue>(\n () => ({getIsOpen, toggle}),\n [getIsOpen, toggle],\n );\n\n return (\n <AccordionContext value={contextValue}>\n <div\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n className={cx(styles.root, className)}\n data-testid={dataTestId}\n ref={ref}\n role=\"group\"\n style={style}>\n {children}\n </div>\n </AccordionContext>\n );\n}\n\nAccordion.displayName = 'Accordion';\n","import {use, useState} from 'react';\nimport {AccordionContext} from './AccordionContext';\n\nexport interface CollapsibleConfig {\n isDefaultOpen?: boolean;\n isOpen?: boolean;\n onOpenChange?: (isOpen: boolean) => void;\n}\n\nexport interface UseCollapsibleOptions {\n config?: CollapsibleConfig;\n value?: string;\n}\n\nexport interface UseCollapsibleReturn {\n isOpen: boolean;\n toggle: () => void;\n}\n\nexport function useCollapsible(\n options: UseCollapsibleOptions,\n): UseCollapsibleReturn {\n const {config, value} = options;\n\n const group = use(AccordionContext);\n const isMissingGroupValue = group != null && value == null;\n const isControlledByGroup = group != null && value != null;\n\n if (process.env.NODE_ENV !== 'production') {\n if (isMissingGroupValue) {\n throw new Error(\n 'AccordionItem: `value` prop is required when used inside an Accordion.',\n );\n }\n }\n\n const [internalIsOpen, setInternalIsOpen] = useState(() => {\n if (isControlledByGroup) {\n return true;\n }\n if (config?.isOpen !== undefined) {\n return config.isOpen;\n }\n return config?.isDefaultOpen ?? true;\n });\n\n let isOpen: boolean;\n if (isControlledByGroup) {\n isOpen = group.getIsOpen(value);\n } else if (isMissingGroupValue) {\n isOpen = false;\n } else if (config?.isOpen !== undefined) {\n isOpen = config.isOpen;\n } else {\n isOpen = internalIsOpen;\n }\n\n const toggle = () => {\n if (isControlledByGroup) {\n group.toggle(value);\n } else if (isMissingGroupValue) {\n return;\n } else if (config?.isOpen !== undefined) {\n config.onOpenChange?.(!isOpen);\n } else {\n setInternalIsOpen(prev => !prev);\n config?.onOpenChange?.(!isOpen);\n }\n };\n\n return {isOpen, toggle};\n}\n","import {ChevronDown} from 'lucide-react';\nimport {useId, type CSSProperties, type ReactNode, type Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {Icon} from '../Icon';\nimport {useCollapsible} from './useCollapsible';\n\n/**\n * A single expandable section within an `Accordion`, or a standalone\n * collapsible panel when used outside of an `Accordion` context. Prefer\n * the `Collapsible` wrapper for standalone usage.\n */\nexport interface AccordionItemProps {\n /**\n * Content revealed when the item is open.\n */\n children?: ReactNode;\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 * Whether the item is open on initial render. Ignored when `isOpen` is\n * provided or the item is inside an `Accordion`. Defaults to `true`.\n */\n isDefaultOpen?: boolean;\n /**\n * Whether the trigger is disabled. Prevents toggling and applies disabled\n * styling.\n */\n isDisabled?: boolean;\n /**\n * Controls the open state externally. When set, the component becomes\n * controlled and `onOpenChange` should be provided. Ignored when the\n * item is inside an `Accordion`.\n */\n isOpen?: boolean;\n /**\n * Called when the open state changes from user interaction.\n */\n onOpenChange?: (isOpen: boolean) => void;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Content rendered as the clickable trigger. Must be phrasing content\n * (text, `<span>`, `<strong>`, icons, etc.) since it is placed inside a\n * `<button>` element.\n */\n trigger: ReactNode;\n /**\n * Unique identifier used by a parent `Accordion` to track which items\n * are open. Required when used inside an `Accordion`, ignored otherwise.\n */\n value?: string;\n}\n\nconst styles = {\n root: css({\n w: '100%',\n }),\n trigger: css({\n all: 'unset',\n boxSizing: 'border-box',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n w: '100%',\n cursor: 'pointer',\n fontFamily: 'body',\n fontSize: 'lg',\n fontWeight: 'semibold',\n color: 'fg',\n textAlign: 'start',\n py: 0,\n _disabled: {\n opacity: 0.5,\n cursor: 'not-allowed',\n },\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n borderRadius: 'sm',\n },\n }),\n chevron: css({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n transitionProperty: 'transform',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n color: 'fg.muted',\n }),\n chevronOpen: css({\n transform: 'rotate(180deg)',\n }),\n content: css({\n pt: '1',\n }),\n} as const;\n\nexport function AccordionItem({\n trigger,\n children,\n isDefaultOpen,\n isDisabled = false,\n isOpen: controlledIsOpen,\n onOpenChange,\n value,\n ref,\n className,\n 'data-testid': dataTestId,\n style,\n}: AccordionItemProps): React.JSX.Element {\n const collapsibleConfig =\n controlledIsOpen !== undefined\n ? {isOpen: controlledIsOpen, onOpenChange}\n : {isDefaultOpen: isDefaultOpen ?? true, onOpenChange};\n\n const {isOpen, toggle} = useCollapsible({\n config: collapsibleConfig,\n value,\n });\n\n const id = useId();\n const triggerId = `${id}-trigger`;\n const panelId = `${id}-panel`;\n\n return (\n <div\n className={cx(styles.root, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n <button\n aria-controls={panelId}\n aria-expanded={isOpen}\n className={styles.trigger}\n disabled={isDisabled}\n id={triggerId}\n onClick={toggle}\n type=\"button\">\n {trigger}\n <span\n className={cx(\n styles.chevron,\n isOpen ? styles.chevronOpen : undefined,\n )}>\n <Icon icon={ChevronDown} size=\"md\" />\n </span>\n </button>\n <div\n aria-labelledby={triggerId}\n className={styles.content}\n hidden={!isOpen || undefined}\n id={panelId}\n role=\"region\">\n {children}\n </div>\n </div>\n );\n}\n\nAccordionItem.displayName = 'AccordionItem';\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {AccordionItem} from './AccordionItem';\n\n/**\n * A standalone disclosure widget that toggles the visibility of a content\n * panel. Use `Collapsible` for individual expand/collapse sections. For\n * coordinated groups where only one (or a subset) can be open at a time,\n * use `Accordion` with `AccordionItem` instead.\n */\nexport interface CollapsibleProps {\n /**\n * Content revealed when the collapsible is open.\n */\n children?: ReactNode;\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 * Whether the collapsible is open on initial render. Ignored when `isOpen`\n * is provided. Defaults to `true`.\n */\n isDefaultOpen?: boolean;\n /**\n * Whether the trigger is disabled. Prevents toggling and applies disabled\n * styling.\n */\n isDisabled?: boolean;\n /**\n * Controls the open state externally. When set, the component becomes\n * controlled and `onOpenChange` should be provided to handle toggling.\n */\n isOpen?: boolean;\n /**\n * Called when the open state changes, either from a user click on the\n * trigger or from a keyboard interaction.\n */\n onOpenChange?: (isOpen: boolean) => void;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Content rendered as the clickable trigger that toggles the panel. Must be\n * phrasing content (text, `<span>`, `<strong>`, icons, etc.) since it is\n * placed inside a `<button>` element.\n */\n trigger: ReactNode;\n}\n\nexport function Collapsible({\n className,\n 'data-testid': dataTestId,\n ref,\n style,\n ...props\n}: CollapsibleProps): React.JSX.Element {\n return (\n <AccordionItem\n {...props}\n className={className}\n data-testid={dataTestId}\n ref={ref}\n style={style}\n />\n );\n}\n\nCollapsible.displayName = 'Collapsible';\n"]}
|
package/dist/chunk-2WP6NYYY.cjs
DELETED
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunk47BELFYO_cjs = require('./chunk-47BELFYO.cjs');
|
|
4
|
-
var chunkJAX62FUE_cjs = require('./chunk-JAX62FUE.cjs');
|
|
5
|
-
var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
|
|
6
|
-
var chunkAZDWQGAX_cjs = require('./chunk-AZDWQGAX.cjs');
|
|
7
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
8
|
-
|
|
9
|
-
// src/components/Spinner/Spinner.recipe.ts
|
|
10
|
-
var spinnerRecipe = chunkJAX62FUE_cjs.cva({
|
|
11
|
-
base: {
|
|
12
|
-
"--spinner-size": "var(--silver-sizes-icon-md)",
|
|
13
|
-
display: "inline-flex",
|
|
14
|
-
alignItems: "center",
|
|
15
|
-
justifyContent: "center",
|
|
16
|
-
verticalAlign: "middle",
|
|
17
|
-
color: "primary",
|
|
18
|
-
w: "var(--spinner-size)",
|
|
19
|
-
h: "var(--spinner-size)"
|
|
20
|
-
},
|
|
21
|
-
variants: {
|
|
22
|
-
size: {
|
|
23
|
-
sm: {
|
|
24
|
-
"--spinner-size": "var(--silver-sizes-icon-sm)"
|
|
25
|
-
},
|
|
26
|
-
md: {
|
|
27
|
-
"--spinner-size": "var(--silver-sizes-icon-md)"
|
|
28
|
-
},
|
|
29
|
-
lg: {
|
|
30
|
-
"--spinner-size": "var(--silver-sizes-icon-lg)"
|
|
31
|
-
},
|
|
32
|
-
xl: {
|
|
33
|
-
"--spinner-size": "2.25rem"
|
|
34
|
-
}
|
|
35
|
-
},
|
|
36
|
-
variant: {
|
|
37
|
-
default: {
|
|
38
|
-
color: "primary"
|
|
39
|
-
},
|
|
40
|
-
onMedia: {
|
|
41
|
-
color: "fg.onPrimary"
|
|
42
|
-
}
|
|
43
|
-
},
|
|
44
|
-
hasLabel: {
|
|
45
|
-
true: {
|
|
46
|
-
flexDirection: "column",
|
|
47
|
-
gap: "2",
|
|
48
|
-
w: "auto",
|
|
49
|
-
h: "auto"
|
|
50
|
-
},
|
|
51
|
-
false: {}
|
|
52
|
-
}
|
|
53
|
-
},
|
|
54
|
-
defaultVariants: {
|
|
55
|
-
size: "md",
|
|
56
|
-
variant: "default",
|
|
57
|
-
hasLabel: false
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
var styles = {
|
|
61
|
-
visual: chunkAZDWQGAX_cjs.css({
|
|
62
|
-
display: "block",
|
|
63
|
-
w: "var(--spinner-size)",
|
|
64
|
-
h: "var(--spinner-size)",
|
|
65
|
-
flexShrink: 0,
|
|
66
|
-
boxSizing: "border-box",
|
|
67
|
-
aspectRatio: "square",
|
|
68
|
-
borderRadius: "full",
|
|
69
|
-
borderWidth: "emphasized",
|
|
70
|
-
borderStyle: "solid",
|
|
71
|
-
borderColor: "currentColor",
|
|
72
|
-
borderTopColor: "transparent",
|
|
73
|
-
animation: "spin 0.8s linear infinite",
|
|
74
|
-
"@media (prefers-reduced-motion: reduce)": {
|
|
75
|
-
animation: "none"
|
|
76
|
-
}
|
|
77
|
-
})
|
|
78
|
-
};
|
|
79
|
-
function Spinner({
|
|
80
|
-
size,
|
|
81
|
-
variant,
|
|
82
|
-
label,
|
|
83
|
-
className,
|
|
84
|
-
"data-testid": dataTestId,
|
|
85
|
-
style,
|
|
86
|
-
ref,
|
|
87
|
-
"aria-label": ariaLabelFromProps
|
|
88
|
-
}) {
|
|
89
|
-
const hasLabel = typeof label === "string" && label !== "";
|
|
90
|
-
const ariaLabel = ariaLabelFromProps != null && ariaLabelFromProps !== "" ? ariaLabelFromProps : hasLabel ? label : "Loading";
|
|
91
|
-
const labelColor = variant === "onMedia" ? "inherit" : void 0;
|
|
92
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
93
|
-
"span",
|
|
94
|
-
{
|
|
95
|
-
"aria-label": ariaLabel,
|
|
96
|
-
className: chunkSPDVNY2Z_cjs.cx(spinnerRecipe({ size, variant, hasLabel }), className),
|
|
97
|
-
"data-testid": dataTestId,
|
|
98
|
-
ref,
|
|
99
|
-
role: "status",
|
|
100
|
-
style,
|
|
101
|
-
children: [
|
|
102
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", className: styles.visual }),
|
|
103
|
-
hasLabel ? /* @__PURE__ */ jsxRuntime.jsx(chunk47BELFYO_cjs.Text, { as: "span", color: labelColor, type: "label", children: label }) : null
|
|
104
|
-
]
|
|
105
|
-
}
|
|
106
|
-
);
|
|
107
|
-
}
|
|
108
|
-
Spinner.displayName = "Spinner";
|
|
109
|
-
|
|
110
|
-
exports.Spinner = Spinner;
|
|
111
|
-
exports.spinnerRecipe = spinnerRecipe;
|
|
112
|
-
//# sourceMappingURL=chunk-2WP6NYYY.cjs.map
|
|
113
|
-
//# sourceMappingURL=chunk-2WP6NYYY.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/Spinner/Spinner.recipe.ts","../src/components/Spinner/Spinner.tsx"],"names":["cva","css","jsxs","cx","jsx","Text"],"mappings":"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","file":"chunk-2WP6NYYY.cjs","sourcesContent":["import {cva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const spinnerRecipe = cva({\n base: {\n '--spinner-size': 'var(--silver-sizes-icon-md)',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n verticalAlign: 'middle',\n color: 'primary',\n w: 'var(--spinner-size)',\n h: 'var(--spinner-size)',\n },\n variants: {\n size: {\n sm: {\n '--spinner-size': 'var(--silver-sizes-icon-sm)',\n },\n md: {\n '--spinner-size': 'var(--silver-sizes-icon-md)',\n },\n lg: {\n '--spinner-size': 'var(--silver-sizes-icon-lg)',\n },\n xl: {\n '--spinner-size': '2.25rem',\n },\n },\n variant: {\n default: {\n color: 'primary',\n },\n onMedia: {\n color: 'fg.onPrimary',\n },\n },\n hasLabel: {\n true: {\n flexDirection: 'column',\n gap: '2',\n w: 'auto',\n h: 'auto',\n },\n false: {},\n },\n },\n defaultVariants: {\n size: 'md',\n variant: 'default',\n hasLabel: false,\n },\n});\n\nexport type SpinnerVariants = RecipeVariantProps<typeof spinnerRecipe>;\n","import type {CSSProperties, Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {Text} from '../Text';\nimport {spinnerRecipe, type SpinnerVariants} from './Spinner.recipe';\n\ntype SpinnerSize = NonNullable<SpinnerVariants>['size'];\ntype SpinnerVariant = NonNullable<SpinnerVariants>['variant'];\n\n/**\n * A compact loading indicator for pending or indeterminate work.\n *\n * Spinner renders with `role=\"status\"` and an accessible name so assistive\n * technologies can announce loading state without exposing the decorative visual.\n */\nexport interface SpinnerProps {\n /**\n * Accessible label for the loading status. Defaults to a string label when\n * provided, otherwise \"Loading\".\n */\n 'aria-label'?: string;\n /**\n * Optionally adjust rendering by setting the className.\n */\n className?: string;\n /**\n * Test id applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Optional visible label shown below the spinner.\n */\n label?: string;\n /**\n * Ref forwarded to the root span element.\n */\n ref?: Ref<HTMLSpanElement>;\n /**\n * Visual size of the spinner. Matches Button size names. Default is `md`.\n */\n size?: SpinnerSize;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Visual style variant for the spinner. Default is `default`.\n */\n variant?: SpinnerVariant;\n}\n\nconst styles = {\n visual: css({\n display: 'block',\n w: 'var(--spinner-size)',\n h: 'var(--spinner-size)',\n flexShrink: 0,\n boxSizing: 'border-box',\n aspectRatio: 'square',\n borderRadius: 'full',\n borderWidth: 'emphasized',\n borderStyle: 'solid',\n borderColor: 'currentColor',\n borderTopColor: 'transparent',\n animation: 'spin 0.8s linear infinite',\n '@media (prefers-reduced-motion: reduce)': {\n animation: 'none',\n },\n }),\n};\n\nexport function Spinner({\n size,\n variant,\n label,\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n 'aria-label': ariaLabelFromProps,\n}: SpinnerProps): React.JSX.Element {\n const hasLabel = typeof label === 'string' && label !== '';\n const ariaLabel =\n ariaLabelFromProps != null && ariaLabelFromProps !== ''\n ? ariaLabelFromProps\n : hasLabel\n ? label\n : 'Loading';\n const labelColor = variant === 'onMedia' ? 'inherit' : undefined;\n\n return (\n <span\n aria-label={ariaLabel}\n className={cx(spinnerRecipe({size, variant, hasLabel}), className)}\n data-testid={dataTestId}\n ref={ref}\n role=\"status\"\n style={style}>\n <span aria-hidden=\"true\" className={styles.visual} />\n {hasLabel ? (\n <Text as=\"span\" color={labelColor} type=\"label\">\n {label}\n </Text>\n ) : null}\n </span>\n );\n}\n\nSpinner.displayName = 'Spinner';\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/internal/OverflowList.tsx","../src/components/TagsInput/TagsInput.tsx"],"names":["styles","useRef","useState","useCallback","jsx","Fragment","jsxs"],"mappings":"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","file":"chunk-2XCNB2O6.js","sourcesContent":["import {\n Children,\n useCallback,\n useRef,\n useState,\n type CSSProperties,\n type ReactElement,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from './cx';\nimport {mergeRefs} from './mergeRefs';\nimport {useIsomorphicLayoutEffect} from './useIsomorphicLayoutEffect';\n\nexport interface OverflowItem {\n child: ReactElement;\n index: number;\n}\n\nexport interface OverflowListProps {\n behavior?: 'observeParent' | 'observeSelf';\n children: ReactNode;\n className?: string;\n collapseFrom?: 'end' | 'start';\n gap?: number;\n minVisibleItems?: number;\n overflowRenderer?: (overflowItems: OverflowItem[]) => ReactNode;\n ref?: Ref<HTMLDivElement>;\n style?: CSSProperties;\n}\n\nconst styles = {\n container: css({\n display: 'flex',\n alignItems: 'center',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n minW: 0,\n }),\n fillParent: css({\n flex: '1 1 0',\n }),\n measureContainer: css({\n position: 'absolute',\n visibility: 'hidden',\n h: 0,\n overflow: 'hidden',\n display: 'flex',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n pointerEvents: 'none',\n }),\n measureIndicator: css({\n display: 'inline-flex',\n }),\n} as const;\n\nfunction getAvailableWidth(\n container: HTMLElement,\n observeParent: boolean,\n): number {\n if (observeParent && container.parentElement != null) {\n const parent = container.parentElement;\n const parentStyle = window.getComputedStyle(parent);\n const paddingLeft = Number.parseFloat(parentStyle.paddingLeft) || 0;\n const paddingRight = Number.parseFloat(parentStyle.paddingRight) || 0;\n return parent.clientWidth - paddingLeft - paddingRight;\n }\n\n return container.offsetWidth;\n}\n\nexport function OverflowList({\n behavior = 'observeSelf',\n children,\n className,\n collapseFrom = 'end',\n gap = 0,\n minVisibleItems = 0,\n overflowRenderer,\n ref,\n style,\n}: OverflowListProps): React.JSX.Element {\n // eslint-disable-next-line @eslint-react/no-children-to-array -- matches XDSOverflowList: normalizes children before width measurement\n const childArray = Children.toArray(children) as ReactElement[];\n const itemCount = childArray.length;\n const observeParent = behavior === 'observeParent';\n const [visibleCount, setVisibleCount] = useState(itemCount);\n const containerRef = useRef<HTMLElement | null>(null);\n const measureRef = useRef<HTMLElement | null>(null);\n\n const calculate = useCallback(() => {\n const container = containerRef.current;\n const measure = measureRef.current;\n if (container == null || measure == null) {\n return;\n }\n\n const availableWidth = Math.min(\n getAvailableWidth(container, observeParent),\n container.offsetWidth || Number.POSITIVE_INFINITY,\n );\n const allChildren = Array.from(measure.children) as HTMLElement[];\n const hasIndicator = allChildren.length > itemCount;\n const measuredItems = hasIndicator\n ? allChildren.slice(0, itemCount)\n : allChildren;\n const indicatorWidth = hasIndicator\n ? allChildren[allChildren.length - 1].offsetWidth\n : 0;\n\n if (measuredItems.length === 0) {\n // eslint-disable-next-line @eslint-react/set-state-in-effect -- visible count is derived from measured DOM widths\n setVisibleCount(0);\n return;\n }\n\n const measuredWidths = measuredItems.map(item => item.offsetWidth);\n const orderedWidths =\n collapseFrom === 'end' ? measuredWidths : [...measuredWidths].reverse();\n let totalWidth = 0;\n let count = 0;\n\n for (const itemWidth of orderedWidths) {\n const gapWidth = count > 0 ? gap : 0;\n const candidateWidth = totalWidth + itemWidth + gapWidth;\n const isLastItem = count === orderedWidths.length - 1;\n const reservedWidth = isLastItem\n ? 0\n : indicatorWidth + (count > 0 || indicatorWidth > 0 ? gap : 0);\n\n if (\n candidateWidth + reservedWidth > availableWidth &&\n count >= minVisibleItems\n ) {\n break;\n }\n\n totalWidth = candidateWidth;\n count++;\n }\n\n // eslint-disable-next-line @eslint-react/set-state-in-effect -- visible count is derived from measured DOM widths\n setVisibleCount(Math.max(Math.min(count, itemCount), minVisibleItems));\n }, [collapseFrom, gap, itemCount, minVisibleItems, observeParent]);\n\n const containerRefCallback = useCallback((element: HTMLDivElement | null) => {\n containerRef.current = element;\n }, []);\n\n const measureRefCallback = useCallback(\n (element: HTMLDivElement | null) => {\n measureRef.current = element;\n if (element != null) {\n calculate();\n }\n },\n [calculate],\n );\n\n useIsomorphicLayoutEffect(() => {\n calculate();\n }, [calculate]);\n\n useIsomorphicLayoutEffect(() => {\n const container = containerRef.current;\n if (container == null || typeof ResizeObserver === 'undefined') {\n return;\n }\n\n const target =\n observeParent && container.parentElement != null\n ? container.parentElement\n : container;\n const observer = new ResizeObserver(calculate);\n observer.observe(target);\n return () => observer.disconnect();\n }, [calculate, observeParent]);\n\n const allItems: OverflowItem[] = childArray.map((child, index) => ({\n child,\n index,\n }));\n const visibleItems =\n collapseFrom === 'end'\n ? allItems.slice(0, visibleCount)\n : allItems.slice(itemCount - visibleCount);\n const overflowItems =\n collapseFrom === 'end'\n ? allItems.slice(visibleCount)\n : allItems.slice(0, itemCount - visibleCount);\n const hasOverflow = visibleCount < itemCount;\n const measureIndicator = overflowRenderer?.(allItems);\n\n return (\n <>\n <div\n aria-hidden=\"true\"\n className={styles.measureContainer}\n inert\n ref={measureRefCallback}\n style={{gap}}>\n {childArray}\n {measureIndicator != null ? (\n <div className={styles.measureIndicator}>{measureIndicator}</div>\n ) : null}\n </div>\n <div\n className={cx(\n styles.container,\n observeParent && hasOverflow ? styles.fillParent : undefined,\n className,\n )}\n ref={mergeRefs(ref, containerRefCallback)}\n style={{gap, ...style}}>\n {collapseFrom === 'start' && hasOverflow\n ? overflowRenderer?.(overflowItems)\n : null}\n {visibleItems.map(({child}) => child)}\n {collapseFrom === 'end' && hasOverflow\n ? overflowRenderer?.(overflowItems)\n : null}\n </div>\n </>\n );\n}\n","import {X} from 'lucide-react';\nimport {\n useCallback,\n useImperativeHandle,\n useId,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type FocusEvent,\n type KeyboardEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {OverflowList} from '../../internal/OverflowList';\nimport {cx} from '../../internal/cx';\nimport {useLayer} from '../../internal/useLayer';\nimport {BaseAutocompleteInput} from '../AutocompleteInput';\nimport type {SearchableItem, SearchSource} from '../AutocompleteInput';\nimport {\n Field,\n inputRecipe,\n inputStyles,\n type FieldNecessity,\n type InputSize,\n type InputStatus,\n} from '../Field';\nimport {getDescribedBy, getStatusMessageID} from '../Field/inputUtils';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Tag} from '../Tag';\n\nexport type TagsInputChange<T extends SearchableItem> =\n | {item: T; type: 'add'}\n | {item: T; type: 'create'}\n | {item: T; type: 'remove'}\n | {items: T[]; type: 'remove-all'};\n\nexport type TagsInputOverflowBehavior =\n | 'none'\n | 'unfocusedInline'\n | 'unfocusedLayer';\n\nexport interface TagsInputHandle {\n /**\n * Blur the input.\n */\n blur(): void;\n /**\n * Focus the input.\n */\n focus(): void;\n}\n\nexport type TagsInputProps<T extends SearchableItem = SearchableItem> = {\n /**\n * Additional CSS class names applied to the input wrapper.\n */\n className?: string;\n /**\n * Test ID applied to the input wrapper.\n */\n 'data-testid'?: string;\n /**\n * Debounce delay in milliseconds before search runs.\n * @default 150\n */\n debounceMs?: number;\n /**\n * Supporting text rendered below the label.\n */\n description?: ReactNode;\n /**\n * Empty state text.\n * @default 'No results found'\n */\n emptySearchResultsText?: string;\n /**\n * Content rendered at the end of the input row.\n */\n endContent?: ReactNode;\n /**\n * Imperative focus/blur handle.\n */\n handleRef?: Ref<TagsInputHandle>;\n /**\n * Whether to focus the input on mount.\n * @default false\n */\n hasAutoFocus?: boolean;\n /**\n * Whether to show a clear button that removes all tags.\n * @default false\n */\n hasClear?: boolean;\n /**\n * Whether users can create a tag from free text.\n * @default false\n */\n hasCreate?: boolean;\n /**\n * Whether to show bootstrap results on focus before typing.\n * @default false\n */\n hasEntriesOnFocus?: boolean;\n /**\n * Whether the input 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 input is read-only. Prevents typing and hides the clear\n * button without applying disabled opacity.\n * @default false\n */\n isReadOnly?: 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 selected tags.\n */\n maxEntries?: number;\n /**\n * Maximum number of menu items.\n * @default 10\n */\n maxMenuItems?: number;\n /**\n * Called when focus leaves the tags-input.\n */\n onBlur?: (event: FocusEvent<HTMLDivElement>) => void;\n /**\n * Called when selected tags change.\n */\n onChange: (items: T[], change: TagsInputChange<T>) => void;\n /**\n * Called when focus enters the tags-input.\n */\n onFocus?: (event: FocusEvent<HTMLDivElement>) => void;\n /**\n * Called when the query changes.\n */\n onQueryChange?: (query: string) => void;\n /**\n * Placeholder text.\n */\n placeholder?: string;\n /**\n * Ref forwarded to the field root.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Custom result renderer.\n */\n renderItem?: (item: T) => ReactNode;\n /**\n * Custom tag renderer.\n */\n renderTag?: (item: T, onRemove: () => void) => ReactNode;\n /**\n * Search source.\n */\n searchSource: SearchSource<T>;\n /**\n * Visual size.\n * @default 'md'\n */\n size?: InputSize;\n /**\n * Icon shown before the input.\n */\n startIcon?: IconComponent;\n /**\n * Validation status displayed below the tags-input.\n */\n status?: InputStatus;\n /**\n * Inline styles applied to the input wrapper.\n */\n style?: CSSProperties;\n /**\n * Controls how tags overflow when the container is too narrow.\n * - `'none'`: Tags wrap to multiple lines (default).\n * - `'unfocusedInline'`: Single line with \"+ N more\" when unfocused; expands inline on focus.\n * - `'unfocusedLayer'`: Single line with \"+ N more\" when unfocused; expands as overlay on focus.\n * @default 'none'\n */\n tagOverflowBehavior?: TagsInputOverflowBehavior;\n /**\n * Selected items.\n */\n value: T[];\n} & FieldNecessity;\n\nconst CREATABLE_ID_PREFIX = '__silver_create__';\n\nconst styles = {\n wrapper: css({\n cursor: 'text',\n flexWrap: 'wrap',\n alignItems: 'center',\n h: 'auto',\n }),\n wrapperWithTags: css({\n rowGap: '1',\n }),\n wrapperWithTagsSize: {\n sm: css({pt: '1px', pb: '0.5'}),\n md: css({py: '1'}),\n lg: css({py: '1'}),\n },\n layerPopover: css({\n w: 'anchor-size(width)',\n }),\n truncatedWrapper: css({\n flexWrap: 'nowrap',\n overflow: 'hidden',\n }),\n truncatedSize: {\n sm: css({h: 'component.sm'}),\n md: css({h: 'component.md'}),\n lg: css({h: 'component.lg'}),\n },\n tag: css({flexShrink: 0}),\n input: css({\n minW: '10',\n flex: '1 1 40px',\n }),\n inputHidden: css({\n position: 'absolute',\n opacity: 0,\n w: 0,\n minW: 0,\n flexBasis: 0,\n }),\n endContent: css({\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n }),\n overflowText: css({\n flexShrink: 0,\n whiteSpace: 'nowrap',\n fontSize: 'sm',\n color: 'fg.muted',\n px: '1',\n }),\n liveRegion: css({\n position: 'absolute',\n w: '1px',\n h: '1px',\n overflow: 'hidden',\n clip: 'rect(0 0 0 0)',\n whiteSpace: 'nowrap',\n }),\n} as const;\n\nfunction isCreatableItem<T extends SearchableItem>(item: T): boolean {\n return item.id.startsWith(CREATABLE_ID_PREFIX);\n}\n\n/**\n * Multi-select combobox that renders selected values as removable tags.\n */\nexport function TagsInput<T extends SearchableItem>({\n className,\n 'data-testid': dataTestId,\n debounceMs,\n description,\n emptySearchResultsText,\n endContent,\n hasAutoFocus = false,\n hasClear = false,\n hasCreate = false,\n hasEntriesOnFocus = false,\n handleRef,\n isDisabled = false,\n isLabelHidden = false,\n isReadOnly = false,\n isOptional,\n isRequired,\n label,\n labelIcon,\n labelTooltip,\n maxEntries,\n maxMenuItems,\n onBlur,\n onChange,\n onFocus,\n onQueryChange,\n placeholder,\n ref,\n renderItem,\n renderTag,\n searchSource,\n size = 'md',\n startIcon,\n status,\n style,\n tagOverflowBehavior = 'none',\n value,\n}: TagsInputProps<T>): React.JSX.Element {\n const inputId = useId();\n const descriptionID =\n description != null ? `${inputId}-description` : undefined;\n const statusMessageID = getStatusMessageID(inputId, status);\n const describedBy = getDescribedBy(descriptionID, statusMessageID);\n const inputRef = useRef<HTMLInputElement>(null);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const [isFocusedWithin, setIsFocusedWithin] = useState(false);\n const [announcement, setAnnouncement] = useState('');\n const isLayerMode = tagOverflowBehavior === 'unfocusedLayer';\n const layer = useLayer();\n const layerContentRef = useRef<HTMLDivElement>(null);\n const selectedIDsRef = useRef(new Set<string>());\n // eslint-disable-next-line @eslint-react/refs -- latest-ref pattern: synchronous, idempotent sync with props\n selectedIDsRef.current = new Set(value.map(item => item.id));\n const isAtMax = maxEntries != null && value.length >= maxEntries;\n const isAtMaxRef = useRef(false);\n // eslint-disable-next-line @eslint-react/refs -- latest-ref pattern\n isAtMaxRef.current = isAtMax;\n const isTruncated =\n !isFocusedWithin && tagOverflowBehavior !== 'none' && value.length > 0;\n\n const placeholderRef = useCallback(\n (element: HTMLElement | null) => {\n if (isLayerMode) {\n layer.ref(element);\n }\n },\n [isLayerMode, layer],\n );\n\n const isFocusInTagsInput = useCallback(\n (target: EventTarget | null): boolean => {\n if (!(target instanceof Node)) {\n return false;\n }\n if (wrapperRef.current?.contains(target)) {\n return true;\n }\n if (layerContentRef.current?.contains(target)) {\n return true;\n }\n const popoverElement = document.getElementById(layer.id);\n return popoverElement?.contains(target) ?? false;\n },\n [layer.id],\n );\n\n const filteredSource = useMemo<SearchSource<T>>(\n () => ({\n cancel: () => searchSource.cancel?.(),\n async bootstrap() {\n const results = await searchSource.bootstrap();\n return results.filter(item => !selectedIDsRef.current.has(item.id));\n },\n async search(searchQuery) {\n const results = await searchSource.search(searchQuery);\n const filteredResults = results.filter(\n item => !selectedIDsRef.current.has(item.id),\n );\n if (!hasCreate || searchQuery.trim() === '' || isAtMaxRef.current) {\n return filteredResults;\n }\n const existing = filteredResults.some(\n item => item.label.toLowerCase() === searchQuery.trim().toLowerCase(),\n );\n if (existing) {\n return filteredResults;\n }\n return [\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n {\n id: `${CREATABLE_ID_PREFIX}${searchQuery}`,\n label: `Create \"${searchQuery}\"`,\n auxiliaryData: {value: searchQuery},\n } as T,\n ...filteredResults,\n ];\n },\n }),\n [hasCreate, searchSource],\n );\n\n useImperativeHandle(\n handleRef,\n () => ({\n blur: () => inputRef.current?.blur(),\n focus: () => inputRef.current?.focus(),\n }),\n [],\n );\n\n const valueRef = useRef(value);\n // eslint-disable-next-line @eslint-react/refs -- latest-ref pattern\n valueRef.current = value;\n const onChangeRef = useRef(onChange);\n // eslint-disable-next-line @eslint-react/refs -- latest-ref pattern\n onChangeRef.current = onChange;\n\n const announce = useCallback((message: string) => {\n setAnnouncement('');\n requestAnimationFrame(() => setAnnouncement(message));\n }, []);\n\n const removeItem = useCallback(\n (item: T) => {\n onChangeRef.current(\n valueRef.current.filter(selectedItem => selectedItem.id !== item.id),\n {item, type: 'remove'},\n );\n announce(`Removed ${item.label}`);\n },\n [announce],\n );\n\n const handleFocus = useCallback(\n (event: FocusEvent<HTMLDivElement>) => {\n const comingFromOutside = !isFocusInTagsInput(event.relatedTarget);\n setIsFocusedWithin(true);\n if (isLayerMode) {\n layer.show();\n }\n if (comingFromOutside) {\n onFocus?.(event);\n }\n },\n [isFocusInTagsInput, isLayerMode, layer, onFocus],\n );\n\n const handleBlur = useCallback(\n (event: FocusEvent<HTMLDivElement>) => {\n if (!isFocusInTagsInput(event.relatedTarget)) {\n setIsFocusedWithin(false);\n if (isLayerMode) {\n layer.hide();\n }\n onBlur?.(event);\n }\n },\n [isFocusInTagsInput, isLayerMode, layer, onBlur],\n );\n\n const handleWrapperPointerDown = useCallback(() => {\n if (!isDisabled) {\n if (isLayerMode) {\n layer.show();\n setIsFocusedWithin(true);\n }\n document.addEventListener(\n 'click',\n () => requestAnimationFrame(() => inputRef.current?.focus()),\n {once: true},\n );\n }\n }, [isDisabled, isLayerMode, layer]);\n\n const necessity: FieldNecessity = {isOptional, isRequired};\n\n const tokens = value.map(item => (\n <span className={styles.tag} key={item.id}>\n {renderTag == null ? (\n <Tag\n isDisabled={isDisabled}\n label={item.label}\n onRemove={() => removeItem(item)}\n size={size}\n />\n ) : (\n renderTag(item, () => removeItem(item))\n )}\n </span>\n ));\n\n const wrapperContent = (\n <>\n {/* eslint-disable-next-line jsx-a11y-x/no-noninteractive-element-interactions -- pointerdown delegates to inner input for focus convenience */}\n <div\n aria-label={label}\n className={cx(\n inputRecipe({\n size,\n status: status?.type,\n isDisabled,\n }),\n styles.wrapper,\n value.length > 0 && !isTruncated ? styles.wrapperWithTags : undefined,\n value.length > 0 && !isTruncated\n ? styles.wrapperWithTagsSize[size]\n : undefined,\n isTruncated ? styles.truncatedWrapper : undefined,\n isTruncated ? styles.truncatedSize[size] : undefined,\n )}\n data-testid={dataTestId}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onPointerDown={handleWrapperPointerDown}\n ref={wrapperRef}\n role=\"group\">\n {startIcon != null ? (\n <span className={inputStyles.iconSlot}>\n <Icon color=\"secondary\" icon={startIcon} size=\"sm\" />\n </span>\n ) : null}\n {isTruncated ? (\n <OverflowList\n behavior=\"observeParent\"\n gap={4}\n overflowRenderer={overflowItems => (\n <span className={styles.overflowText}>\n +{overflowItems.length} more\n </span>\n )}>\n {tokens}\n </OverflowList>\n ) : (\n tokens\n )}\n <BaseAutocompleteInput\n anchorRef={wrapperRef}\n ariaDescribedBy={describedBy}\n className={cx(\n styles.input,\n isAtMax || isTruncated ? styles.inputHidden : undefined,\n )}\n debounceMs={debounceMs}\n emptySearchResultsText={emptySearchResultsText}\n hasAutoFocus={hasAutoFocus}\n hasEntriesOnFocus={hasEntriesOnFocus}\n inputId={inputId}\n isDisabled={isDisabled || isReadOnly || isAtMax}\n maxMenuItems={maxMenuItems}\n onChange={item => {\n if (item == null) {\n return;\n }\n if (isCreatableItem(item)) {\n const rawValue =\n typeof item.auxiliaryData === 'object' &&\n item.auxiliaryData != null &&\n 'value' in item.auxiliaryData\n ? String(item.auxiliaryData.value)\n : item.label;\n const createdItem = {\n ...item,\n id: rawValue,\n label: rawValue,\n };\n onChangeRef.current([...valueRef.current, createdItem], {\n item: createdItem,\n type: 'create',\n });\n announce(`Added ${rawValue}`);\n return;\n }\n onChangeRef.current([...valueRef.current, item], {\n item,\n type: 'add',\n });\n announce(`Added ${item.label}`);\n }}\n onKeyDown={(event: KeyboardEvent<HTMLInputElement>) => {\n if (\n event.key === 'Backspace' &&\n event.currentTarget.value === '' &&\n valueRef.current.length > 0\n ) {\n const item = valueRef.current[valueRef.current.length - 1];\n removeItem(item);\n }\n }}\n onQueryChange={onQueryChange}\n placeholder={value.length === 0 ? placeholder : undefined}\n ref={inputRef}\n renderItem={renderItem}\n searchSource={filteredSource}\n size={size}\n value={null}\n />\n {endContent != null ? (\n <span className={styles.endContent}>{endContent}</span>\n ) : null}\n {hasClear && value.length > 0 && !isDisabled && !isReadOnly ? (\n <button\n aria-label={`Clear ${label}`}\n className={inputStyles.clearButton}\n onClick={event => {\n event.stopPropagation();\n onChangeRef.current([], {\n items: valueRef.current,\n type: 'remove-all',\n });\n announce('Cleared all tags');\n }}\n type=\"button\">\n <Icon icon={X} size=\"sm\" />\n </button>\n ) : null}\n <span aria-live=\"polite\" className={styles.liveRegion} role=\"status\">\n {announcement}\n </span>\n </div>\n </>\n );\n\n const popoverOverrideStyle: CSSProperties = {\n positionArea: undefined,\n positionTryFallbacks: undefined,\n top: 'anchor(top)',\n left: 'anchor(start)',\n };\n\n const inputContent = isLayerMode ? (\n <>\n <div\n className={cx(\n inputRecipe({\n size,\n status: status?.type,\n isDisabled,\n }),\n styles.wrapper,\n isTruncated ? styles.truncatedWrapper : undefined,\n styles.truncatedSize[size],\n )}\n onPointerDown={handleWrapperPointerDown}\n ref={placeholderRef}>\n {isTruncated ? (\n <>\n {startIcon != null ? (\n <span className={inputStyles.iconSlot}>\n <Icon color=\"secondary\" icon={startIcon} size=\"sm\" />\n </span>\n ) : null}\n <OverflowList\n behavior=\"observeParent\"\n gap={4}\n overflowRenderer={overflowItems => (\n <span className={styles.overflowText}>\n +{overflowItems.length} more\n </span>\n )}>\n {tokens}\n </OverflowList>\n </>\n ) : null}\n </div>\n {layer.render(\n <div\n data-testid={dataTestId == null ? undefined : `${dataTestId}-layer`}\n ref={layerContentRef}>\n {wrapperContent}\n </div>,\n {\n alignment: 'start',\n className: styles.layerPopover,\n placement: 'below',\n style: popoverOverrideStyle,\n },\n )}\n </>\n ) : (\n wrapperContent\n );\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 ref={ref}\n status={\n status == null ? undefined : {...status, messageID: statusMessageID}\n }\n style={style}>\n {inputContent}\n </Field>\n );\n}\n\nTagsInput.displayName = 'TagsInput';\n"]}
|