silver-ui 0.4.0 → 0.5.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/dist/{chunk-JYVYCU22.cjs → chunk-27EAV2GT.cjs} +2 -2
- package/dist/chunk-27EAV2GT.cjs.map +1 -0
- package/dist/{chunk-UUVLEOSD.js → chunk-2AWSJF22.js} +4 -4
- package/dist/{chunk-UUVLEOSD.js.map → chunk-2AWSJF22.js.map} +1 -1
- package/dist/{chunk-YWGYN6YV.cjs → chunk-2F5TDBRT.cjs} +171 -153
- package/dist/chunk-2F5TDBRT.cjs.map +1 -0
- package/dist/{chunk-LO5NZY7N.cjs → chunk-2GMDMZKI.cjs} +6 -6
- package/dist/chunk-2GMDMZKI.cjs.map +1 -0
- package/dist/{chunk-SR5VVJ5Y.cjs → chunk-2K4I2MB3.cjs} +5 -5
- package/dist/{chunk-SR5VVJ5Y.cjs.map → chunk-2K4I2MB3.cjs.map} +1 -1
- package/dist/{chunk-GYVWTH3U.cjs → chunk-2MXK2SDR.cjs} +2 -2
- package/dist/chunk-2MXK2SDR.cjs.map +1 -0
- package/dist/{chunk-FB245S6T.cjs → chunk-2RZNX26F.cjs} +12 -12
- package/dist/{chunk-FB245S6T.cjs.map → chunk-2RZNX26F.cjs.map} +1 -1
- package/dist/{chunk-6ULCJ3XZ.js → chunk-2VAUVJVG.js} +3 -3
- package/dist/{chunk-6ULCJ3XZ.js.map → chunk-2VAUVJVG.js.map} +1 -1
- package/dist/{chunk-6ONAGCCZ.js → chunk-2VL66QBX.js} +113 -105
- package/dist/chunk-2VL66QBX.js.map +1 -0
- package/dist/{chunk-GL7PSN7H.cjs → chunk-2WTHSGDP.cjs} +29 -23
- package/dist/chunk-2WTHSGDP.cjs.map +1 -0
- package/dist/{chunk-YYNWZRXZ.js → chunk-2Y7ULSEU.js} +491 -431
- package/dist/chunk-2Y7ULSEU.js.map +1 -0
- package/dist/{chunk-W3C6QQF7.js → chunk-3IYM5MAC.js} +4 -4
- package/dist/chunk-3IYM5MAC.js.map +1 -0
- package/dist/chunk-3NIDAKCF.cjs +38 -0
- package/dist/chunk-3NIDAKCF.cjs.map +1 -0
- package/dist/{chunk-C6EYCIKJ.cjs → chunk-3VJIUZAY.cjs} +263 -224
- package/dist/chunk-3VJIUZAY.cjs.map +1 -0
- package/dist/{chunk-ZTWBG2XY.cjs → chunk-3W3ST5Y3.cjs} +6 -6
- package/dist/chunk-3W3ST5Y3.cjs.map +1 -0
- package/dist/{chunk-M26XECB2.cjs → chunk-3Z5PF75J.cjs} +9 -9
- package/dist/{chunk-M26XECB2.cjs.map → chunk-3Z5PF75J.cjs.map} +1 -1
- package/dist/{chunk-J3DNWPXJ.js → chunk-4426KMA7.js} +2 -2
- package/dist/{chunk-J3DNWPXJ.js.map → chunk-4426KMA7.js.map} +1 -1
- package/dist/{chunk-NI55JEYL.js → chunk-4HXNBLCJ.js} +3 -3
- package/dist/{chunk-NI55JEYL.js.map → chunk-4HXNBLCJ.js.map} +1 -1
- package/dist/chunk-4RDA4W4N.js +150 -0
- package/dist/chunk-4RDA4W4N.js.map +1 -0
- package/dist/{chunk-L6VSBBPP.js → chunk-4SUQFPWH.js} +176 -102
- package/dist/chunk-4SUQFPWH.js.map +1 -0
- package/dist/{chunk-3JPUXC5U.js → chunk-56PY2CD7.js} +17 -44
- package/dist/chunk-56PY2CD7.js.map +1 -0
- package/dist/{chunk-M4JUQCKP.js → chunk-5FTIATD6.js} +2 -2
- package/dist/{chunk-M4JUQCKP.js.map → chunk-5FTIATD6.js.map} +1 -1
- package/dist/{chunk-QSEDH7T2.js → chunk-5HPXUDX6.js} +3 -6
- package/dist/chunk-5HPXUDX6.js.map +1 -0
- package/dist/{chunk-Z4TZAJS3.js → chunk-5UGHDUMO.js} +2 -2
- package/dist/chunk-5UGHDUMO.js.map +1 -0
- package/dist/{chunk-QOKEU3DC.cjs → chunk-5XMWGK3O.cjs} +16 -16
- package/dist/chunk-5XMWGK3O.cjs.map +1 -0
- package/dist/{chunk-2XAA3CM5.js → chunk-5ZU7FY4O.js} +2 -2
- package/dist/chunk-5ZU7FY4O.js.map +1 -0
- package/dist/{chunk-NHXJVSZZ.cjs → chunk-62SQBQA4.cjs} +2 -2
- package/dist/chunk-62SQBQA4.cjs.map +1 -0
- package/dist/{chunk-2RKMG2TC.js → chunk-65MJZYO6.js} +185 -134
- package/dist/chunk-65MJZYO6.js.map +1 -0
- package/dist/{chunk-G3KKLGZU.cjs → chunk-67UUGI3M.cjs} +8 -8
- package/dist/chunk-67UUGI3M.cjs.map +1 -0
- package/dist/{chunk-X574M2JB.cjs → chunk-6DAZ2ZOW.cjs} +13 -13
- package/dist/chunk-6DAZ2ZOW.cjs.map +1 -0
- package/dist/{chunk-2N6FOSNM.js → chunk-6EYLEVC6.js} +203 -172
- package/dist/chunk-6EYLEVC6.js.map +1 -0
- package/dist/{chunk-RLOGQBFD.js → chunk-6J326CN6.js} +6 -6
- package/dist/chunk-6J326CN6.js.map +1 -0
- package/dist/{chunk-3CJC4QE6.js → chunk-6PIVWNUR.js} +3 -3
- package/dist/chunk-6PIVWNUR.js.map +1 -0
- package/dist/{chunk-BSAZRW6T.js → chunk-75KSHZTV.js} +22 -15
- package/dist/chunk-75KSHZTV.js.map +1 -0
- package/dist/{chunk-5D2OR64D.cjs → chunk-7CTHD4G6.cjs} +7 -15
- package/dist/chunk-7CTHD4G6.cjs.map +1 -0
- package/dist/{chunk-DWUEPOYH.js → chunk-ADSG24VE.js} +8 -8
- package/dist/chunk-ADSG24VE.js.map +1 -0
- package/dist/{chunk-N2TNBDQI.js → chunk-AEYJ6PWC.js} +3 -3
- package/dist/{chunk-N2TNBDQI.js.map → chunk-AEYJ6PWC.js.map} +1 -1
- package/dist/{chunk-DIRVAHOF.cjs → chunk-ANACERIO.cjs} +8 -8
- package/dist/chunk-ANACERIO.cjs.map +1 -0
- package/dist/{chunk-O2WICOUK.cjs → chunk-ARUOMLOJ.cjs} +24 -20
- package/dist/chunk-ARUOMLOJ.cjs.map +1 -0
- package/dist/{chunk-YAWVGZRC.js → chunk-AV7D3SXF.js} +6 -6
- package/dist/{chunk-YAWVGZRC.js.map → chunk-AV7D3SXF.js.map} +1 -1
- package/dist/{chunk-TBOQTPRO.cjs → chunk-BIJ6YDWJ.cjs} +84 -57
- package/dist/chunk-BIJ6YDWJ.cjs.map +1 -0
- package/dist/{chunk-FDUO2HVX.js → chunk-BIKVMVWF.js} +2 -2
- package/dist/{chunk-FDUO2HVX.js.map → chunk-BIKVMVWF.js.map} +1 -1
- package/dist/{chunk-W2Q4PQ6I.js → chunk-BQWUTDTN.js} +2 -2
- package/dist/{chunk-W2Q4PQ6I.js.map → chunk-BQWUTDTN.js.map} +1 -1
- package/dist/{chunk-SBS7U7CN.cjs → chunk-BSI4BQEX.cjs} +4 -4
- package/dist/{chunk-SBS7U7CN.cjs.map → chunk-BSI4BQEX.cjs.map} +1 -1
- package/dist/{chunk-SCGXGVNN.cjs → chunk-BSPWX2OZ.cjs} +18 -18
- package/dist/{chunk-SCGXGVNN.cjs.map → chunk-BSPWX2OZ.cjs.map} +1 -1
- package/dist/{chunk-E2A3GJSN.cjs → chunk-BSXUNRET.cjs} +11 -12
- package/dist/chunk-BSXUNRET.cjs.map +1 -0
- package/dist/chunk-BUYZZOOU.js +56 -0
- package/dist/chunk-BUYZZOOU.js.map +1 -0
- package/dist/chunk-CPDWUT2H.cjs +59 -0
- package/dist/chunk-CPDWUT2H.cjs.map +1 -0
- package/dist/{chunk-G2U2W422.js → chunk-CUHJDV6K.js} +8 -8
- package/dist/chunk-CUHJDV6K.js.map +1 -0
- package/dist/{chunk-4CVDLMD6.js → chunk-D3CHBU46.js} +3 -3
- package/dist/{chunk-4CVDLMD6.js.map → chunk-D3CHBU46.js.map} +1 -1
- package/dist/{chunk-5YS43PSQ.cjs → chunk-D5OX6II7.cjs} +5 -5
- package/dist/chunk-D5OX6II7.cjs.map +1 -0
- package/dist/{chunk-RDNMAV5B.js → chunk-DE7JLNSO.js} +2 -2
- package/dist/chunk-DE7JLNSO.js.map +1 -0
- package/dist/{chunk-JKERY7QF.cjs → chunk-DLIYUFTS.cjs} +2 -2
- package/dist/{chunk-JKERY7QF.cjs.map → chunk-DLIYUFTS.cjs.map} +1 -1
- package/dist/{chunk-TQA3BI7M.cjs → chunk-DV4K35UC.cjs} +4 -4
- package/dist/{chunk-TQA3BI7M.cjs.map → chunk-DV4K35UC.cjs.map} +1 -1
- package/dist/{chunk-SOCSUNIM.js → chunk-DZZEJY3J.js} +197 -179
- package/dist/chunk-DZZEJY3J.js.map +1 -0
- package/dist/{chunk-FP5E5BUM.js → chunk-E42WOTIC.js} +4 -4
- package/dist/chunk-E42WOTIC.js.map +1 -0
- package/dist/{chunk-HINS4GY6.js → chunk-EBJPUXFQ.js} +148 -146
- package/dist/chunk-EBJPUXFQ.js.map +1 -0
- package/dist/{chunk-ILEKDNP7.js → chunk-ECDYAZ2R.js} +7 -7
- package/dist/{chunk-ILEKDNP7.js.map → chunk-ECDYAZ2R.js.map} +1 -1
- package/dist/{chunk-MI5QU37D.js → chunk-EFBSEJBD.js} +27 -28
- package/dist/chunk-EFBSEJBD.js.map +1 -0
- package/dist/{chunk-PUVBNGCF.js → chunk-EIT2QSCA.js} +2 -2
- package/dist/{chunk-PUVBNGCF.js.map → chunk-EIT2QSCA.js.map} +1 -1
- package/dist/{chunk-QVNDZZS6.cjs → chunk-ESRDHDYN.cjs} +9 -9
- package/dist/chunk-ESRDHDYN.cjs.map +1 -0
- package/dist/{chunk-GC5VUTUR.cjs → chunk-EZFQCREN.cjs} +17 -44
- package/dist/chunk-EZFQCREN.cjs.map +1 -0
- package/dist/chunk-F7BFO3SD.cjs +153 -0
- package/dist/chunk-F7BFO3SD.cjs.map +1 -0
- package/dist/{chunk-YVHWOKR7.cjs → chunk-FCUUGJTM.cjs} +209 -191
- package/dist/chunk-FCUUGJTM.cjs.map +1 -0
- package/dist/{chunk-YY6KJO5Z.cjs → chunk-FFF57VHO.cjs} +12 -12
- package/dist/chunk-FFF57VHO.cjs.map +1 -0
- package/dist/{chunk-AP7BDTTF.js → chunk-FNRYGCO3.js} +5 -5
- package/dist/chunk-FNRYGCO3.js.map +1 -0
- package/dist/{chunk-AJ6X62AI.js → chunk-FQSVY4QB.js} +3 -3
- package/dist/chunk-FQSVY4QB.js.map +1 -0
- package/dist/{chunk-WOIWI2UO.js → chunk-G6HS52US.js} +3 -3
- package/dist/chunk-G6HS52US.js.map +1 -0
- package/dist/chunk-GA77PPVL.cjs +217 -0
- package/dist/chunk-GA77PPVL.cjs.map +1 -0
- package/dist/{chunk-H7HQYBPH.js → chunk-GSTINE4X.js} +805 -493
- package/dist/chunk-GSTINE4X.js.map +1 -0
- package/dist/chunk-GW6P4FJ4.cjs +424 -0
- package/dist/chunk-GW6P4FJ4.cjs.map +1 -0
- package/dist/{chunk-BLRWA445.cjs → chunk-GY2ZZR4Z.cjs} +27 -27
- package/dist/chunk-GY2ZZR4Z.cjs.map +1 -0
- package/dist/{chunk-RQ5BMSGU.js → chunk-H2EMKCWT.js} +3 -3
- package/dist/{chunk-RQ5BMSGU.js.map → chunk-H2EMKCWT.js.map} +1 -1
- package/dist/{chunk-WBGFFP3G.js → chunk-H4L456EW.js} +83 -56
- package/dist/chunk-H4L456EW.js.map +1 -0
- package/dist/{chunk-6XWXBXYE.js → chunk-HIH6MS5D.js} +8 -10
- package/dist/chunk-HIH6MS5D.js.map +1 -0
- package/dist/{chunk-SSAYBCAD.js → chunk-HNDDNW52.js} +5 -13
- package/dist/chunk-HNDDNW52.js.map +1 -0
- package/dist/{chunk-WY5BOT7O.js → chunk-HPNY32G6.js} +4 -4
- package/dist/{chunk-WY5BOT7O.js.map → chunk-HPNY32G6.js.map} +1 -1
- package/dist/{chunk-TF7XVTSP.cjs → chunk-HWD4HDQ5.cjs} +15 -15
- package/dist/chunk-HWD4HDQ5.cjs.map +1 -0
- package/dist/{chunk-OBWWRRL6.cjs → chunk-HWP2UGOC.cjs} +84 -97
- package/dist/chunk-HWP2UGOC.cjs.map +1 -0
- package/dist/chunk-HXIU3SIQ.cjs +391 -0
- package/dist/chunk-HXIU3SIQ.cjs.map +1 -0
- package/dist/{chunk-LUQVSNQL.cjs → chunk-I2NG2P5K.cjs} +141 -133
- package/dist/chunk-I2NG2P5K.cjs.map +1 -0
- package/dist/chunk-I47WOF6E.js +389 -0
- package/dist/chunk-I47WOF6E.js.map +1 -0
- package/dist/{chunk-TPB53MHV.cjs → chunk-IGJEZLHP.cjs} +223 -205
- package/dist/chunk-IGJEZLHP.cjs.map +1 -0
- package/dist/{chunk-XXBA3KSH.cjs → chunk-IU2YRN35.cjs} +112 -112
- package/dist/chunk-IU2YRN35.cjs.map +1 -0
- package/dist/{chunk-7T3SWOY7.js → chunk-IUW777WZ.js} +2 -2
- package/dist/{chunk-7T3SWOY7.js.map → chunk-IUW777WZ.js.map} +1 -1
- package/dist/{chunk-2A3V6OR7.cjs → chunk-IX26TMZD.cjs} +5 -5
- package/dist/{chunk-2A3V6OR7.cjs.map → chunk-IX26TMZD.cjs.map} +1 -1
- package/dist/chunk-J2YKUHQM.js +330 -0
- package/dist/chunk-J2YKUHQM.js.map +1 -0
- package/dist/{chunk-ZFBQ4R7M.cjs → chunk-J3X465QT.cjs} +15 -15
- package/dist/chunk-J3X465QT.cjs.map +1 -0
- package/dist/{chunk-4TIAKZ4Q.cjs → chunk-J4PIYOWT.cjs} +2 -2
- package/dist/{chunk-4TIAKZ4Q.cjs.map → chunk-J4PIYOWT.cjs.map} +1 -1
- package/dist/{chunk-O32BKXTR.cjs → chunk-JIF5TZHC.cjs} +2 -2
- package/dist/chunk-JIF5TZHC.cjs.map +1 -0
- package/dist/{chunk-DXPQRAGI.js → chunk-JJNXQ7EL.js} +3 -3
- package/dist/{chunk-DXPQRAGI.js.map → chunk-JJNXQ7EL.js.map} +1 -1
- package/dist/{chunk-CK3UJQRI.cjs → chunk-JK4YAQ2N.cjs} +2 -6
- package/dist/chunk-JK4YAQ2N.cjs.map +1 -0
- package/dist/{chunk-M2MC3E27.cjs → chunk-JM4Q7ZQH.cjs} +6 -6
- package/dist/{chunk-M2MC3E27.cjs.map → chunk-JM4Q7ZQH.cjs.map} +1 -1
- package/dist/{chunk-PIOMR4X2.js → chunk-JS6MRT6M.js} +4 -4
- package/dist/{chunk-PIOMR4X2.js.map → chunk-JS6MRT6M.js.map} +1 -1
- package/dist/{chunk-7CCXHH6Y.cjs → chunk-JSAYTQTJ.cjs} +5 -5
- package/dist/chunk-JSAYTQTJ.cjs.map +1 -0
- package/dist/{chunk-WGCGHFXE.cjs → chunk-JV4Y6HNP.cjs} +2 -2
- package/dist/{chunk-WGCGHFXE.cjs.map → chunk-JV4Y6HNP.cjs.map} +1 -1
- package/dist/{chunk-QATCDVZ6.cjs → chunk-K4K4FU3D.cjs} +182 -108
- package/dist/chunk-K4K4FU3D.cjs.map +1 -0
- package/dist/{chunk-AFI4V7LI.js → chunk-KC4EKXGF.js} +6 -6
- package/dist/{chunk-AFI4V7LI.js.map → chunk-KC4EKXGF.js.map} +1 -1
- package/dist/{chunk-PYPXJC35.cjs → chunk-KUXFEAT4.cjs} +4 -4
- package/dist/{chunk-PYPXJC35.cjs.map → chunk-KUXFEAT4.cjs.map} +1 -1
- package/dist/chunk-KVEXSDEM.js +214 -0
- package/dist/chunk-KVEXSDEM.js.map +1 -0
- package/dist/{chunk-276LEL3G.cjs → chunk-KVJ27734.cjs} +4 -4
- package/dist/{chunk-276LEL3G.cjs.map → chunk-KVJ27734.cjs.map} +1 -1
- package/dist/{chunk-G2WW52GO.cjs → chunk-L5JS6P62.cjs} +36 -31
- package/dist/chunk-L5JS6P62.cjs.map +1 -0
- package/dist/{chunk-PIZMCOKL.js → chunk-L5PJCLV6.js} +263 -224
- package/dist/chunk-L5PJCLV6.js.map +1 -0
- package/dist/{chunk-FMLIYHDP.js → chunk-L7XJZJCM.js} +5 -5
- package/dist/chunk-L7XJZJCM.js.map +1 -0
- package/dist/{chunk-J5IRFGUP.js → chunk-LBGC6EC5.js} +248 -202
- package/dist/chunk-LBGC6EC5.js.map +1 -0
- package/dist/{chunk-LQIZSE3O.js → chunk-LKGHYNLH.js} +9 -9
- package/dist/{chunk-LQIZSE3O.js.map → chunk-LKGHYNLH.js.map} +1 -1
- package/dist/{chunk-AWDIKDX5.cjs → chunk-LW3DJOF4.cjs} +11 -11
- package/dist/{chunk-AWDIKDX5.cjs.map → chunk-LW3DJOF4.cjs.map} +1 -1
- package/dist/{chunk-VFGSNR35.js → chunk-MDQSVB2Y.js} +24 -20
- package/dist/chunk-MDQSVB2Y.js.map +1 -0
- package/dist/{chunk-JSINCF2R.cjs → chunk-MEUELWGO.cjs} +12 -12
- package/dist/{chunk-JSINCF2R.cjs.map → chunk-MEUELWGO.cjs.map} +1 -1
- package/dist/{chunk-TKTLWX2V.js → chunk-MEXR5ONE.js} +8 -8
- package/dist/{chunk-TKTLWX2V.js.map → chunk-MEXR5ONE.js.map} +1 -1
- package/dist/{chunk-U6NH54YD.js → chunk-MGJLBHPJ.js} +166 -148
- package/dist/chunk-MGJLBHPJ.js.map +1 -0
- package/dist/{chunk-BCCPNGUV.js → chunk-MN2NCSQQ.js} +3 -3
- package/dist/{chunk-BCCPNGUV.js.map → chunk-MN2NCSQQ.js.map} +1 -1
- package/dist/{chunk-BUESV4DR.cjs → chunk-N77K3NQY.cjs} +7 -7
- package/dist/{chunk-BUESV4DR.cjs.map → chunk-N77K3NQY.cjs.map} +1 -1
- package/dist/{chunk-VGHNBMEJ.cjs → chunk-NYTSAO5I.cjs} +6 -6
- package/dist/{chunk-VGHNBMEJ.cjs.map → chunk-NYTSAO5I.cjs.map} +1 -1
- package/dist/{chunk-YO3MBGBP.cjs → chunk-O4PO6AMS.cjs} +2 -2
- package/dist/{chunk-YO3MBGBP.cjs.map → chunk-O4PO6AMS.cjs.map} +1 -1
- package/dist/{chunk-SBOXHIES.js → chunk-OERNLR2P.js} +11 -11
- package/dist/chunk-OERNLR2P.js.map +1 -0
- package/dist/{chunk-LY6Z6A54.js → chunk-OF5NULAO.js} +18 -12
- package/dist/chunk-OF5NULAO.js.map +1 -0
- package/dist/{chunk-3OIUA2NY.js → chunk-OTQAREYU.js} +5 -5
- package/dist/{chunk-3OIUA2NY.js.map → chunk-OTQAREYU.js.map} +1 -1
- package/dist/{chunk-FNZOICR4.cjs → chunk-OUZX7STE.cjs} +29 -30
- package/dist/chunk-OUZX7STE.cjs.map +1 -0
- package/dist/{chunk-LNT2IFOA.js → chunk-PBQMHXVO.js} +3 -3
- package/dist/chunk-PBQMHXVO.js.map +1 -0
- package/dist/{chunk-BULJWVPU.cjs → chunk-PGTOVMP7.cjs} +19 -19
- package/dist/{chunk-BULJWVPU.cjs.map → chunk-PGTOVMP7.cjs.map} +1 -1
- package/dist/{chunk-2OXKEUKG.cjs → chunk-PKZSJX53.cjs} +2 -2
- package/dist/chunk-PKZSJX53.cjs.map +1 -0
- package/dist/chunk-PZHRFASW.js +36 -0
- package/dist/chunk-PZHRFASW.js.map +1 -0
- package/dist/{chunk-VUCMGGU5.js → chunk-Q3HMGFGI.js} +45 -58
- package/dist/chunk-Q3HMGFGI.js.map +1 -0
- package/dist/{chunk-JJ324PSZ.cjs → chunk-Q4HAXT5C.cjs} +148 -145
- package/dist/chunk-Q4HAXT5C.cjs.map +1 -0
- package/dist/{chunk-DP7VC4FW.cjs → chunk-QB2BSOM4.cjs} +2 -2
- package/dist/{chunk-DP7VC4FW.cjs.map → chunk-QB2BSOM4.cjs.map} +1 -1
- package/dist/{chunk-EBDODJ5X.js → chunk-QO5C7TIV.js} +8 -7
- package/dist/chunk-QO5C7TIV.js.map +1 -0
- package/dist/{chunk-KDR5DCYL.cjs → chunk-R4DGCQTA.cjs} +10 -10
- package/dist/{chunk-KDR5DCYL.cjs.map → chunk-R4DGCQTA.cjs.map} +1 -1
- package/dist/{chunk-QRFDPG34.js → chunk-RJEZBOSH.js} +4 -4
- package/dist/{chunk-QRFDPG34.js.map → chunk-RJEZBOSH.js.map} +1 -1
- package/dist/{chunk-C732WXKS.cjs → chunk-RRXOSNCX.cjs} +17 -17
- package/dist/chunk-RRXOSNCX.cjs.map +1 -0
- package/dist/{chunk-VQ7U3ASC.js → chunk-S4IHNNA2.js} +111 -111
- package/dist/chunk-S4IHNNA2.js.map +1 -0
- package/dist/{chunk-ZAX2UJBC.js → chunk-S5CMLG2E.js} +33 -28
- package/dist/chunk-S5CMLG2E.js.map +1 -0
- package/dist/{chunk-SUH62Z64.js → chunk-SHARVIUI.js} +2 -2
- package/dist/chunk-SHARVIUI.js.map +1 -0
- package/dist/{chunk-XLKXFJMU.cjs → chunk-SUT35RHA.cjs} +8 -8
- package/dist/chunk-SUT35RHA.cjs.map +1 -0
- package/dist/{chunk-SSOAZZNR.cjs → chunk-SUWRSJAN.cjs} +5 -5
- package/dist/{chunk-SSOAZZNR.cjs.map → chunk-SUWRSJAN.cjs.map} +1 -1
- package/dist/{chunk-ZEA2VYX4.js → chunk-SZ27SCE2.js} +2 -2
- package/dist/{chunk-ZEA2VYX4.js.map → chunk-SZ27SCE2.js.map} +1 -1
- package/dist/{chunk-NFABMGNH.js → chunk-TH537HOM.js} +8 -8
- package/dist/chunk-TH537HOM.js.map +1 -0
- package/dist/{chunk-2LABTS4P.js → chunk-THTVYP5V.js} +8 -8
- package/dist/chunk-THTVYP5V.js.map +1 -0
- package/dist/{chunk-KXIILLQD.cjs → chunk-TKTCN4JE.cjs} +18 -18
- package/dist/chunk-TKTCN4JE.cjs.map +1 -0
- package/dist/{chunk-52WQDDWQ.js → chunk-TOQ4MGM5.js} +50 -50
- package/dist/chunk-TOQ4MGM5.js.map +1 -0
- package/dist/chunk-TSKFGLGQ.cjs +332 -0
- package/dist/chunk-TSKFGLGQ.cjs.map +1 -0
- package/dist/{chunk-EALKX3ST.cjs → chunk-TTDNCN5G.cjs} +233 -242
- package/dist/chunk-TTDNCN5G.cjs.map +1 -0
- package/dist/{chunk-D3LZQ5QS.js → chunk-U5M4JZBX.js} +3 -3
- package/dist/chunk-U5M4JZBX.js.map +1 -0
- package/dist/{chunk-JDAJ2HJQ.js → chunk-UARQIMPS.js} +9 -9
- package/dist/chunk-UARQIMPS.js.map +1 -0
- package/dist/{chunk-WBQNPBXR.js → chunk-UXGHFKLA.js} +5 -5
- package/dist/{chunk-WBQNPBXR.js.map → chunk-UXGHFKLA.js.map} +1 -1
- package/dist/{chunk-CKTXDIH4.cjs → chunk-UXQSSRBQ.cjs} +858 -546
- package/dist/chunk-UXQSSRBQ.cjs.map +1 -0
- package/dist/{chunk-7BSFKG7N.js → chunk-V2V5TTTL.js} +2 -2
- package/dist/chunk-V2V5TTTL.js.map +1 -0
- package/dist/{chunk-VHKA25IV.cjs → chunk-V4ZH2H2P.cjs} +36 -29
- package/dist/chunk-V4ZH2H2P.cjs.map +1 -0
- package/dist/{chunk-HNZWPIJE.js → chunk-VD52FLHL.js} +214 -196
- package/dist/chunk-VD52FLHL.js.map +1 -0
- package/dist/{chunk-4H7X5FGX.js → chunk-VH3G4IUX.js} +231 -240
- package/dist/chunk-VH3G4IUX.js.map +1 -0
- package/dist/{chunk-IUUQXCDE.js → chunk-VJXSJXEX.js} +2 -2
- package/dist/{chunk-IUUQXCDE.js.map → chunk-VJXSJXEX.js.map} +1 -1
- package/dist/{chunk-7U7JMRVF.cjs → chunk-VO4FG3L2.cjs} +61 -61
- package/dist/chunk-VO4FG3L2.cjs.map +1 -0
- package/dist/{chunk-I45346RZ.cjs → chunk-VOOD6CXJ.cjs} +2 -2
- package/dist/{chunk-I45346RZ.cjs.map → chunk-VOOD6CXJ.cjs.map} +1 -1
- package/dist/{chunk-IA5GII7N.cjs → chunk-VV72PGKH.cjs} +256 -210
- package/dist/chunk-VV72PGKH.cjs.map +1 -0
- package/dist/{chunk-K3XHXWBW.js → chunk-W5F7PYT2.js} +9 -9
- package/dist/{chunk-K3XHXWBW.js.map → chunk-W5F7PYT2.js.map} +1 -1
- package/dist/{chunk-JIVYPJKO.js → chunk-WPMWHKJX.js} +6 -6
- package/dist/chunk-WPMWHKJX.js.map +1 -0
- package/dist/{chunk-ZQUPAIBS.js → chunk-WTCH3QCQ.js} +10 -11
- package/dist/chunk-WTCH3QCQ.js.map +1 -0
- package/dist/{chunk-K4ZJNQTX.cjs → chunk-X34F4ZV6.cjs} +2 -2
- package/dist/{chunk-K4ZJNQTX.cjs.map → chunk-X34F4ZV6.cjs.map} +1 -1
- package/dist/{chunk-FDZQPWFZ.cjs → chunk-X4I5YARV.cjs} +17 -17
- package/dist/chunk-X4I5YARV.cjs.map +1 -0
- package/dist/{chunk-S7INL5NI.js → chunk-XHJRAEGW.js} +10 -10
- package/dist/chunk-XHJRAEGW.js.map +1 -0
- package/dist/{chunk-3ZV3EGGK.cjs → chunk-XPGIWOJO.cjs} +22 -22
- package/dist/{chunk-3ZV3EGGK.cjs.map → chunk-XPGIWOJO.cjs.map} +1 -1
- package/dist/{chunk-2P6D43V2.cjs → chunk-XPHXAZCE.cjs} +6 -6
- package/dist/chunk-XPHXAZCE.cjs.map +1 -0
- package/dist/{chunk-JTFNNEWR.cjs → chunk-XZZI3JYK.cjs} +8 -10
- package/dist/chunk-XZZI3JYK.cjs.map +1 -0
- package/dist/{chunk-H2CZ6IE5.cjs → chunk-YDNEAHVK.cjs} +509 -451
- package/dist/chunk-YDNEAHVK.cjs.map +1 -0
- package/dist/{chunk-J4OEETYQ.cjs → chunk-YJEX32HZ.cjs} +13 -13
- package/dist/{chunk-J4OEETYQ.cjs.map → chunk-YJEX32HZ.cjs.map} +1 -1
- package/dist/{chunk-PQEFVHJZ.cjs → chunk-Z7OUMVR5.cjs} +16 -15
- package/dist/chunk-Z7OUMVR5.cjs.map +1 -0
- package/dist/{chunk-AHVHLNHU.cjs → chunk-ZPJW3PP7.cjs} +206 -175
- package/dist/chunk-ZPJW3PP7.cjs.map +1 -0
- package/dist/{chunk-ZN7CULIL.cjs → chunk-ZPOXH42B.cjs} +2 -2
- package/dist/{chunk-ZN7CULIL.cjs.map → chunk-ZPOXH42B.cjs.map} +1 -1
- package/dist/components/Accordion/Accordion.d.ts.map +1 -1
- package/dist/components/Accordion/index.cjs +5 -5
- package/dist/components/Accordion/index.d.ts +2 -2
- package/dist/components/Accordion/index.d.ts.map +1 -1
- package/dist/components/Accordion/index.js +2 -2
- package/dist/components/Accordion/useAccordionDevWarning.d.ts +8 -0
- package/dist/components/Accordion/useAccordionDevWarning.d.ts.map +1 -0
- package/dist/components/Alert/Alert.d.ts +2 -11
- package/dist/components/Alert/Alert.d.ts.map +1 -1
- package/dist/components/Alert/Alert.recipe.d.ts +1 -1
- package/dist/components/Alert/Alert.types.d.ts +3 -0
- package/dist/components/Alert/Alert.types.d.ts.map +1 -0
- package/dist/components/Alert/index.cjs +11 -11
- package/dist/components/Alert/index.d.ts.map +1 -1
- package/dist/components/Alert/index.js +10 -10
- package/dist/components/AlertDialog/AlertDialog.d.ts.map +1 -1
- package/dist/components/AlertDialog/index.cjs +16 -14
- package/dist/components/AlertDialog/index.d.ts.map +1 -1
- package/dist/components/AlertDialog/index.js +14 -12
- package/dist/components/AlertDialog/useAlertDialog.d.ts.map +1 -1
- package/dist/components/AppShell/AppShell.d.ts.map +1 -1
- package/dist/components/AppShell/index.cjs +20 -19
- package/dist/components/AppShell/index.d.ts.map +1 -1
- package/dist/components/AppShell/index.js +17 -16
- package/dist/components/AspectRatio/index.cjs +2 -2
- package/dist/components/AspectRatio/index.d.ts +1 -1
- package/dist/components/AspectRatio/index.d.ts.map +1 -1
- package/dist/components/AspectRatio/index.js +1 -1
- package/dist/components/AutocompleteInput/AutocompleteInput.d.ts +1 -1
- package/dist/components/AutocompleteInput/AutocompleteInput.d.ts.map +1 -1
- package/dist/components/AutocompleteInput/AutocompleteInput.recipe.d.ts +1 -1
- package/dist/components/AutocompleteInput/AutocompleteInputItem.d.ts +1 -1
- package/dist/components/AutocompleteInput/AutocompleteInputItem.d.ts.map +1 -1
- package/dist/components/AutocompleteInput/BaseAutocompleteInput.d.ts.map +1 -1
- package/dist/components/AutocompleteInput/index.cjs +18 -19
- package/dist/components/AutocompleteInput/index.d.ts.map +1 -1
- package/dist/components/AutocompleteInput/index.js +14 -15
- package/dist/components/Avatar/Avatar.recipe.d.ts +1 -1
- package/dist/components/Avatar/index.cjs +5 -5
- package/dist/components/Avatar/index.d.ts.map +1 -1
- package/dist/components/Avatar/index.js +2 -2
- package/dist/components/AvatarGroup/AvatarGroup.d.ts.map +1 -1
- package/dist/components/AvatarGroup/AvatarGroupContext.d.ts.map +1 -1
- package/dist/components/AvatarGroup/index.cjs +5 -5
- package/dist/components/AvatarGroup/index.d.ts +1 -1
- package/dist/components/AvatarGroup/index.d.ts.map +1 -1
- package/dist/components/AvatarGroup/index.js +3 -3
- package/dist/components/Badge/Badge.d.ts.map +1 -1
- package/dist/components/Badge/index.cjs +3 -3
- package/dist/components/Badge/index.d.ts +1 -1
- package/dist/components/Badge/index.d.ts.map +1 -1
- package/dist/components/Badge/index.js +2 -2
- package/dist/components/Blockquote/Blockquote.recipe.d.ts +1 -1
- package/dist/components/Blockquote/index.cjs +2 -2
- package/dist/components/Blockquote/index.d.ts +1 -1
- package/dist/components/Blockquote/index.d.ts.map +1 -1
- package/dist/components/Blockquote/index.js +1 -1
- package/dist/components/Breadcrumbs/BreadcrumbItem.d.ts.map +1 -1
- package/dist/components/Breadcrumbs/BreadcrumbItem.recipe.d.ts +1 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.recipe.d.ts +1 -1
- package/dist/components/Breadcrumbs/index.cjs +9 -9
- package/dist/components/Breadcrumbs/index.d.ts +2 -2
- package/dist/components/Breadcrumbs/index.d.ts.map +1 -1
- package/dist/components/Breadcrumbs/index.js +6 -6
- package/dist/components/Button/Button.d.ts +2 -4
- package/dist/components/Button/Button.d.ts.map +1 -1
- package/dist/components/Button/Button.recipe.d.ts +1 -1
- package/dist/components/Button/Button.types.d.ts +3 -0
- package/dist/components/Button/Button.types.d.ts.map +1 -0
- package/dist/components/Button/index.cjs +10 -10
- package/dist/components/Button/index.d.ts +1 -1
- package/dist/components/Button/index.d.ts.map +1 -1
- package/dist/components/Button/index.js +9 -9
- package/dist/components/ButtonGroup/ButtonGroup.d.ts.map +1 -1
- package/dist/components/ButtonGroup/ButtonGroupContext.d.ts.map +1 -1
- package/dist/components/ButtonGroup/index.cjs +3 -3
- package/dist/components/ButtonGroup/index.d.ts +1 -1
- package/dist/components/ButtonGroup/index.d.ts.map +1 -1
- package/dist/components/ButtonGroup/index.js +2 -2
- package/dist/components/Calendar/Calendar.d.ts +16 -3
- package/dist/components/Calendar/Calendar.d.ts.map +1 -1
- package/dist/components/Calendar/Calendar.recipe.d.ts +1 -1
- package/dist/components/Calendar/index.cjs +12 -12
- package/dist/components/Calendar/index.d.ts.map +1 -1
- package/dist/components/Calendar/index.js +11 -11
- package/dist/components/Card/Card.d.ts.map +1 -1
- package/dist/components/Card/index.cjs +2 -2
- package/dist/components/Card/index.d.ts +1 -1
- package/dist/components/Card/index.d.ts.map +1 -1
- package/dist/components/Card/index.js +1 -1
- package/dist/components/Center/Center.d.ts.map +1 -1
- package/dist/components/Center/index.cjs +2 -2
- package/dist/components/Center/index.d.ts +1 -1
- package/dist/components/Center/index.d.ts.map +1 -1
- package/dist/components/Center/index.js +1 -1
- package/dist/components/CheckboxInput/CheckboxInput.d.ts.map +1 -1
- package/dist/components/CheckboxInput/CheckboxInput.recipe.d.ts +1 -1
- package/dist/components/CheckboxInput/index.cjs +11 -11
- package/dist/components/CheckboxInput/index.d.ts.map +1 -1
- package/dist/components/CheckboxInput/index.js +10 -10
- package/dist/components/CodeBlock/CodeBlock.d.ts.map +1 -1
- package/dist/components/CodeBlock/CodeBlock.recipe.d.ts +1 -1
- package/dist/components/CodeBlock/index.cjs +13 -13
- package/dist/components/CodeBlock/index.d.ts.map +1 -1
- package/dist/components/CodeBlock/index.js +12 -12
- package/dist/components/ContextMenu/ContextMenu.d.ts.map +1 -1
- package/dist/components/ContextMenu/index.cjs +16 -17
- package/dist/components/ContextMenu/index.d.ts.map +1 -1
- package/dist/components/ContextMenu/index.js +14 -15
- package/dist/components/DateInput/DateInput.d.ts +7 -5
- package/dist/components/DateInput/DateInput.d.ts.map +1 -1
- package/dist/components/DateInput/index.cjs +17 -17
- package/dist/components/DateInput/index.d.ts +1 -1
- package/dist/components/DateInput/index.d.ts.map +1 -1
- package/dist/components/DateInput/index.js +16 -16
- package/dist/components/DateRangeInput/DateRangeInput.d.ts +5 -5
- package/dist/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
- package/dist/components/DateRangeInput/index.cjs +17 -17
- package/dist/components/DateRangeInput/index.d.ts.map +1 -1
- package/dist/components/DateRangeInput/index.js +16 -16
- package/dist/components/DateTimeInput/DateTimeInput.d.ts +4 -4
- package/dist/components/DateTimeInput/DateTimeInput.d.ts.map +1 -1
- package/dist/components/DateTimeInput/index.cjs +19 -19
- package/dist/components/DateTimeInput/index.d.ts.map +1 -1
- package/dist/components/DateTimeInput/index.js +18 -18
- package/dist/components/Dialog/Dialog.d.ts +2 -4
- package/dist/components/Dialog/Dialog.d.ts.map +1 -1
- package/dist/components/Dialog/index.cjs +5 -3
- package/dist/components/Dialog/index.d.ts +1 -1
- package/dist/components/Dialog/index.d.ts.map +1 -1
- package/dist/components/Dialog/index.js +3 -1
- package/dist/components/Dialog/useDialog.d.ts.map +1 -1
- package/dist/components/Divider/Divider.recipe.d.ts +1 -1
- package/dist/components/Divider/index.cjs +2 -2
- package/dist/components/Divider/index.d.ts.map +1 -1
- package/dist/components/Divider/index.js +1 -1
- package/dist/components/Drawer/Drawer.d.ts +10 -2
- package/dist/components/Drawer/Drawer.d.ts.map +1 -1
- package/dist/components/Drawer/Drawer.recipe.d.ts +63 -0
- package/dist/components/Drawer/Drawer.recipe.d.ts.map +1 -0
- package/dist/components/Drawer/index.cjs +7 -3
- package/dist/components/Drawer/index.d.ts +2 -2
- package/dist/components/Drawer/index.d.ts.map +1 -1
- package/dist/components/Drawer/index.js +5 -1
- package/dist/components/Drawer/useDrawer.d.ts.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenuContext.d.ts.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
- package/dist/components/DropdownMenu/index.cjs +17 -18
- package/dist/components/DropdownMenu/index.d.ts +1 -1
- package/dist/components/DropdownMenu/index.d.ts.map +1 -1
- package/dist/components/DropdownMenu/index.js +13 -14
- package/dist/components/DropdownMenu/menuUtils.d.ts.map +1 -1
- package/dist/components/DropdownMenu/types.d.ts.map +1 -1
- package/dist/components/EmptyState/EmptyState.d.ts.map +1 -1
- package/dist/components/EmptyState/EmptyState.recipe.d.ts +1 -1
- package/dist/components/EmptyState/index.cjs +5 -5
- package/dist/components/EmptyState/index.d.ts +1 -1
- package/dist/components/EmptyState/index.d.ts.map +1 -1
- package/dist/components/EmptyState/index.js +4 -4
- package/dist/components/Field/Field.d.ts +1 -1
- package/dist/components/Field/Field.d.ts.map +1 -1
- package/dist/components/Field/Field.recipe.d.ts +1 -1
- package/dist/components/Field/index.cjs +8 -8
- package/dist/components/Field/index.d.ts +1 -1
- package/dist/components/Field/index.d.ts.map +1 -1
- package/dist/components/Field/index.js +6 -6
- package/dist/components/Field/inputUtils.d.ts.map +1 -1
- package/dist/components/FileInput/FileInput.d.ts.map +1 -1
- package/dist/components/FileInput/FileInput.recipe.d.ts +66 -0
- package/dist/components/FileInput/FileInput.recipe.d.ts.map +1 -0
- package/dist/components/FileInput/index.cjs +13 -14
- package/dist/components/FileInput/index.d.ts +1 -1
- package/dist/components/FileInput/index.d.ts.map +1 -1
- package/dist/components/FileInput/index.js +12 -13
- package/dist/components/HoverCard/HoverCard.d.ts +1 -1
- package/dist/components/HoverCard/HoverCard.d.ts.map +1 -1
- package/dist/components/HoverCard/index.cjs +4 -4
- package/dist/components/HoverCard/index.d.ts.map +1 -1
- package/dist/components/HoverCard/index.js +2 -2
- package/dist/components/HoverCard/useHoverCard.d.ts.map +1 -1
- package/dist/components/Icon/index.cjs +2 -2
- package/dist/components/Icon/index.d.ts.map +1 -1
- package/dist/components/Icon/index.js +1 -1
- package/dist/components/InputGroup/InputGroup.d.ts.map +1 -1
- package/dist/components/InputGroup/InputGroup.recipe.d.ts +1 -1
- package/dist/components/InputGroup/InputGroup.recipe.d.ts.map +1 -1
- package/dist/components/InputGroup/InputGroupContext.d.ts.map +1 -1
- package/dist/components/InputGroup/InputGroupText.d.ts.map +1 -1
- package/dist/components/InputGroup/index.cjs +11 -11
- package/dist/components/InputGroup/index.d.ts +2 -2
- package/dist/components/InputGroup/index.d.ts.map +1 -1
- package/dist/components/InputGroup/index.js +7 -7
- package/dist/components/Item/Item.d.ts +1 -1
- package/dist/components/Item/Item.d.ts.map +1 -1
- package/dist/components/Item/Item.recipe.d.ts +75 -0
- package/dist/components/Item/Item.recipe.d.ts.map +1 -0
- package/dist/components/Item/index.cjs +9 -8
- package/dist/components/Item/index.d.ts +1 -1
- package/dist/components/Item/index.d.ts.map +1 -1
- package/dist/components/Item/index.js +8 -7
- package/dist/components/Kbd/Kbd.recipe.d.ts +1 -1
- package/dist/components/Kbd/index.cjs +2 -2
- package/dist/components/Kbd/index.d.ts.map +1 -1
- package/dist/components/Kbd/index.js +1 -1
- package/dist/components/Layout/Layout.d.ts +1 -1
- package/dist/components/Layout/Layout.d.ts.map +1 -1
- package/dist/components/Layout/Layout.recipe.d.ts +101 -16
- package/dist/components/Layout/Layout.recipe.d.ts.map +1 -1
- package/dist/components/Layout/LayoutContent.d.ts.map +1 -1
- package/dist/components/Layout/LayoutContext.d.ts +0 -7
- package/dist/components/Layout/LayoutContext.d.ts.map +1 -1
- package/dist/components/Layout/LayoutFooter.d.ts +1 -1
- package/dist/components/Layout/LayoutFooter.d.ts.map +1 -1
- package/dist/components/Layout/LayoutHeader.d.ts.map +1 -1
- package/dist/components/Layout/LayoutPanel.d.ts.map +1 -1
- package/dist/components/Layout/index.cjs +15 -15
- package/dist/components/Layout/index.d.ts +4 -4
- package/dist/components/Layout/index.d.ts.map +1 -1
- package/dist/components/Layout/index.js +10 -10
- package/dist/components/Layout/types.d.ts +4 -2
- package/dist/components/Layout/types.d.ts.map +1 -1
- package/dist/components/Lightbox/Lightbox.d.ts.map +1 -1
- package/dist/components/Lightbox/Lightbox.recipe.d.ts +43 -0
- package/dist/components/Lightbox/Lightbox.recipe.d.ts.map +1 -0
- package/dist/components/Lightbox/index.cjs +13 -12
- package/dist/components/Lightbox/index.d.ts.map +1 -1
- package/dist/components/Lightbox/index.js +11 -10
- package/dist/components/Lightbox/useLightbox.d.ts.map +1 -1
- package/dist/components/Link/Link.d.ts +1 -1
- package/dist/components/Link/Link.d.ts.map +1 -1
- package/dist/components/Link/LinkContext.d.ts.map +1 -1
- package/dist/components/Link/LinkProvider.d.ts.map +1 -1
- package/dist/components/Link/index.cjs +8 -8
- package/dist/components/Link/index.d.ts +1 -1
- package/dist/components/Link/index.d.ts.map +1 -1
- package/dist/components/Link/index.js +5 -5
- package/dist/components/Link/useLinkComponent.d.ts.map +1 -1
- package/dist/components/List/List.d.ts.map +1 -1
- package/dist/components/List/List.recipe.d.ts +1 -1
- package/dist/components/List/index.cjs +10 -10
- package/dist/components/List/index.d.ts.map +1 -1
- package/dist/components/List/index.js +8 -8
- package/dist/components/MetadataList/MetadataList.d.ts.map +1 -1
- package/dist/components/MetadataList/MetadataList.recipe.d.ts +29 -0
- package/dist/components/MetadataList/MetadataList.recipe.d.ts.map +1 -0
- package/dist/components/MetadataList/MetadataListItem.d.ts.map +1 -1
- package/dist/components/MetadataList/index.cjs +8 -7
- package/dist/components/MetadataList/index.d.ts +1 -1
- package/dist/components/MetadataList/index.d.ts.map +1 -1
- package/dist/components/MetadataList/index.js +6 -5
- package/dist/components/MultiSelect/MultiSelect.d.ts +1 -1
- package/dist/components/MultiSelect/MultiSelect.d.ts.map +1 -1
- package/dist/components/MultiSelect/MultiSelect.recipe.d.ts +41 -0
- package/dist/components/MultiSelect/MultiSelect.recipe.d.ts.map +1 -0
- package/dist/components/MultiSelect/index.cjs +16 -17
- package/dist/components/MultiSelect/index.d.ts.map +1 -1
- package/dist/components/MultiSelect/index.js +15 -16
- package/dist/components/NavIcon/index.cjs +2 -2
- package/dist/components/NavIcon/index.d.ts.map +1 -1
- package/dist/components/NavIcon/index.js +1 -1
- package/dist/components/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/components/NumberInput/index.cjs +14 -14
- package/dist/components/NumberInput/index.d.ts +1 -1
- package/dist/components/NumberInput/index.d.ts.map +1 -1
- package/dist/components/NumberInput/index.js +13 -13
- package/dist/components/Pagination/Pagination.d.ts.map +1 -1
- package/dist/components/Pagination/index.cjs +11 -11
- package/dist/components/Pagination/index.d.ts.map +1 -1
- package/dist/components/Pagination/index.js +10 -10
- package/dist/components/PasswordInput/PasswordInput.d.ts.map +1 -1
- package/dist/components/PasswordInput/index.cjs +15 -15
- package/dist/components/PasswordInput/index.d.ts +1 -1
- package/dist/components/PasswordInput/index.d.ts.map +1 -1
- package/dist/components/PasswordInput/index.js +14 -14
- package/dist/components/Popover/Popover.d.ts +9 -3
- package/dist/components/Popover/Popover.d.ts.map +1 -1
- package/dist/components/Popover/index.cjs +12 -13
- package/dist/components/Popover/index.d.ts.map +1 -1
- package/dist/components/Popover/index.js +10 -11
- package/dist/components/Popover/usePopover.d.ts +72 -2
- package/dist/components/Popover/usePopover.d.ts.map +1 -1
- package/dist/components/Progress/Progress.recipe.d.ts +1 -1
- package/dist/components/Progress/index.cjs +3 -3
- package/dist/components/Progress/index.d.ts +1 -1
- package/dist/components/Progress/index.d.ts.map +1 -1
- package/dist/components/Progress/index.js +2 -2
- package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -1
- package/dist/components/RadioGroup/RadioGroup.recipe.d.ts +1 -1
- package/dist/components/RadioGroup/index.cjs +12 -12
- package/dist/components/RadioGroup/index.d.ts +1 -1
- package/dist/components/RadioGroup/index.d.ts.map +1 -1
- package/dist/components/RadioGroup/index.js +10 -10
- package/dist/components/Rating/Rating.d.ts.map +1 -1
- package/dist/components/Rating/Rating.recipe.d.ts +1 -1
- package/dist/components/Rating/index.cjs +4 -4
- package/dist/components/Rating/index.d.ts.map +1 -1
- package/dist/components/Rating/index.js +3 -3
- package/dist/components/Schedule/CalendarEvent.d.ts +2 -2
- package/dist/components/Schedule/CalendarEvent.d.ts.map +1 -1
- package/dist/components/Schedule/DayView.d.ts.map +1 -1
- package/dist/components/Schedule/ListView.d.ts.map +1 -1
- package/dist/components/Schedule/MonthlyView.d.ts +12 -1
- package/dist/components/Schedule/MonthlyView.d.ts.map +1 -1
- package/dist/components/Schedule/Schedule.d.ts +2 -6
- package/dist/components/Schedule/Schedule.d.ts.map +1 -1
- package/dist/components/Schedule/Schedule.recipe.d.ts +8 -0
- package/dist/components/Schedule/Schedule.recipe.d.ts.map +1 -0
- package/dist/components/Schedule/ScheduleEvent.recipe.d.ts +191 -0
- package/dist/components/Schedule/ScheduleEvent.recipe.d.ts.map +1 -0
- package/dist/components/Schedule/TimeGridView.d.ts.map +1 -1
- package/dist/components/Schedule/WeeklyView.d.ts.map +1 -1
- package/dist/components/Schedule/context.d.ts +4 -8
- package/dist/components/Schedule/context.d.ts.map +1 -1
- package/dist/components/Schedule/dateMath.d.ts +1 -1
- package/dist/components/Schedule/dateMath.d.ts.map +1 -1
- package/dist/components/Schedule/index.cjs +27 -27
- package/dist/components/Schedule/index.d.ts +3 -3
- package/dist/components/Schedule/index.d.ts.map +1 -1
- package/dist/components/Schedule/index.js +16 -16
- package/dist/components/Schedule/plugins/PaginationPlugin.d.ts +3 -3
- package/dist/components/Schedule/plugins/PaginationPlugin.d.ts.map +1 -1
- package/dist/components/Schedule/plugins/ViewSelectorPlugin.d.ts.map +1 -1
- package/dist/components/Schedule/plugins/index.d.ts.map +1 -1
- package/dist/components/Schedule/scheduleZonedInstant.d.ts +17 -0
- package/dist/components/Schedule/scheduleZonedInstant.d.ts.map +1 -0
- package/dist/components/Schedule/shared.d.ts +11 -20
- package/dist/components/Schedule/shared.d.ts.map +1 -1
- package/dist/components/Schedule/types.d.ts +8 -7
- package/dist/components/Schedule/types.d.ts.map +1 -1
- package/dist/components/Schedule/useCurrentTime.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/SearchFilterInput.d.ts +1 -1
- package/dist/components/SearchFilterInput/SearchFilterInput.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/SearchFilterInputEditPopover.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/SearchFilterInputFilterEditor.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/SearchFilterInputTag.d.ts +1 -1
- package/dist/components/SearchFilterInput/SearchFilterInputTag.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/SearchFilterInputValueEditor.d.ts +1 -2
- package/dist/components/SearchFilterInput/SearchFilterInputValueEditor.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/formatFilterValue.d.ts +1 -2
- package/dist/components/SearchFilterInput/formatFilterValue.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/index.cjs +36 -36
- package/dist/components/SearchFilterInput/index.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/index.js +28 -28
- package/dist/components/SearchFilterInput/internalConfig.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/types.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/useSearchFilterInputConfig.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/useSearchFilterInputSource.d.ts.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControl.recipe.d.ts +73 -0
- package/dist/components/SegmentedControl/SegmentedControl.recipe.d.ts.map +1 -0
- package/dist/components/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
- package/dist/components/SegmentedControl/index.cjs +6 -5
- package/dist/components/SegmentedControl/index.d.ts +1 -1
- package/dist/components/SegmentedControl/index.d.ts.map +1 -1
- package/dist/components/SegmentedControl/index.js +4 -3
- package/dist/components/Select/Select.d.ts +1 -1
- package/dist/components/Select/Select.d.ts.map +1 -1
- package/dist/components/Select/Select.recipe.d.ts +1 -1
- package/dist/components/Select/SelectOption.d.ts.map +1 -1
- package/dist/components/Select/index.cjs +17 -18
- package/dist/components/Select/index.d.ts +1 -1
- package/dist/components/Select/index.d.ts.map +1 -1
- package/dist/components/Select/index.js +15 -16
- package/dist/components/SideNav/SideNav.d.ts.map +1 -1
- package/dist/components/SideNav/SideNavHeading.d.ts.map +1 -1
- package/dist/components/SideNav/SideNavItem.d.ts.map +1 -1
- package/dist/components/SideNav/SideNavItem.recipe.d.ts +51 -0
- package/dist/components/SideNav/SideNavItem.recipe.d.ts.map +1 -0
- package/dist/components/SideNav/SideNavSection.d.ts.map +1 -1
- package/dist/components/SideNav/index.cjs +19 -18
- package/dist/components/SideNav/index.d.ts +3 -3
- package/dist/components/SideNav/index.d.ts.map +1 -1
- package/dist/components/SideNav/index.js +13 -12
- package/dist/components/Skeleton/index.cjs +2 -2
- package/dist/components/Skeleton/index.d.ts +1 -1
- package/dist/components/Skeleton/index.d.ts.map +1 -1
- package/dist/components/Skeleton/index.js +1 -1
- package/dist/components/Slider/Slider.d.ts.map +1 -1
- package/dist/components/Slider/Slider.recipe.d.ts +1 -1
- package/dist/components/Slider/index.cjs +8 -8
- package/dist/components/Slider/index.d.ts.map +1 -1
- package/dist/components/Slider/index.js +7 -7
- package/dist/components/Spinner/Spinner.d.ts +1 -4
- package/dist/components/Spinner/Spinner.d.ts.map +1 -1
- package/dist/components/Spinner/Spinner.types.d.ts +3 -0
- package/dist/components/Spinner/Spinner.types.d.ts.map +1 -0
- package/dist/components/Spinner/index.cjs +5 -5
- package/dist/components/Spinner/index.d.ts.map +1 -1
- package/dist/components/Spinner/index.js +4 -4
- package/dist/components/SplitButton/SplitButton.d.ts.map +1 -1
- package/dist/components/SplitButton/index.cjs +16 -17
- package/dist/components/SplitButton/index.d.ts +1 -1
- package/dist/components/SplitButton/index.d.ts.map +1 -1
- package/dist/components/SplitButton/index.js +15 -16
- package/dist/components/Stack/HStack.d.ts.map +1 -1
- package/dist/components/Stack/VStack.d.ts.map +1 -1
- package/dist/components/Stack/index.cjs +3 -3
- package/dist/components/Stack/index.d.ts.map +1 -1
- package/dist/components/Stack/index.js +1 -1
- package/dist/components/Stack/internal/Stack.d.ts.map +1 -1
- package/dist/components/Stepper/Stepper.d.ts +55 -11
- package/dist/components/Stepper/Stepper.d.ts.map +1 -1
- package/dist/components/Stepper/index.cjs +7 -14
- package/dist/components/Stepper/index.d.ts +2 -3
- package/dist/components/Stepper/index.d.ts.map +1 -1
- package/dist/components/Stepper/index.js +6 -5
- package/dist/components/Stepper/internal/Step.d.ts +36 -0
- package/dist/components/Stepper/internal/Step.d.ts.map +1 -0
- package/dist/components/Stepper/internal/Step.recipe.d.ts +164 -0
- package/dist/components/Stepper/internal/Step.recipe.d.ts.map +1 -0
- package/dist/components/Switch/Switch.d.ts.map +1 -1
- package/dist/components/Switch/Switch.recipe.d.ts +1 -1
- package/dist/components/Switch/index.cjs +9 -9
- package/dist/components/Switch/index.d.ts.map +1 -1
- package/dist/components/Switch/index.js +8 -8
- package/dist/components/Table/Table.d.ts +45 -3
- package/dist/components/Table/Table.d.ts.map +1 -1
- package/dist/components/Table/Table.recipe.d.ts +156 -0
- package/dist/components/Table/Table.recipe.d.ts.map +1 -0
- package/dist/components/Table/TableCell.d.ts.map +1 -1
- package/dist/components/Table/TableContext.d.ts.map +1 -1
- package/dist/components/Table/TableHeaderCell.d.ts.map +1 -1
- package/dist/components/Table/TableRow.d.ts.map +1 -1
- package/dist/components/Table/columnUtils.d.ts.map +1 -1
- package/dist/components/Table/index.cjs +58 -66
- package/dist/components/Table/index.d.ts +2 -4
- package/dist/components/Table/index.d.ts.map +1 -1
- package/dist/components/Table/index.js +32 -32
- package/dist/components/Table/plugins/columnResize/index.d.ts.map +1 -1
- package/dist/components/Table/plugins/columnResize/useTableColumnResize.d.ts.map +1 -1
- package/dist/components/Table/plugins/columnSettings/index.d.ts.map +1 -1
- package/dist/components/Table/plugins/columnSettings/useTableColumnSettings.d.ts +1 -1
- package/dist/components/Table/plugins/columnSettings/useTableColumnSettings.d.ts.map +1 -1
- package/dist/components/Table/plugins/columnSettings/useTableColumnSettingsState.d.ts.map +1 -1
- package/dist/components/Table/plugins/filtering/index.d.ts.map +1 -1
- package/dist/components/Table/plugins/filtering/useTableFilterState.d.ts.map +1 -1
- package/dist/components/Table/plugins/filtering/useTableFiltering.d.ts +1 -1
- package/dist/components/Table/plugins/filtering/useTableFiltering.d.ts.map +1 -1
- package/dist/components/Table/plugins/pagination/index.d.ts +1 -1
- package/dist/components/Table/plugins/pagination/index.d.ts.map +1 -1
- package/dist/components/Table/plugins/pagination/useTablePagination.d.ts.map +1 -1
- package/dist/components/Table/plugins/selection/index.d.ts.map +1 -1
- package/dist/components/Table/plugins/selection/useTableSelection.d.ts.map +1 -1
- package/dist/components/Table/plugins/selection/useTableSelectionState.d.ts.map +1 -1
- package/dist/components/Table/plugins/sortable/index.d.ts.map +1 -1
- package/dist/components/Table/plugins/sortable/useTableSortable.d.ts.map +1 -1
- package/dist/components/Table/plugins/sortable/useTableSortableState.d.ts.map +1 -1
- package/dist/components/Table/types.d.ts +1 -18
- package/dist/components/Table/types.d.ts.map +1 -1
- package/dist/components/Table/useBaseTablePlugins.d.ts +1 -1
- package/dist/components/Table/useBaseTablePlugins.d.ts.map +1 -1
- package/dist/components/Tabs/Tab.d.ts.map +1 -1
- package/dist/components/Tabs/TabMenu.d.ts.map +1 -1
- package/dist/components/Tabs/TabMenu.recipe.d.ts +21 -0
- package/dist/components/Tabs/TabMenu.recipe.d.ts.map +1 -0
- package/dist/components/Tabs/Tabs.d.ts.map +1 -1
- package/dist/components/Tabs/Tabs.recipe.d.ts +65 -0
- package/dist/components/Tabs/Tabs.recipe.d.ts.map +1 -0
- package/dist/components/Tabs/index.cjs +16 -17
- package/dist/components/Tabs/index.d.ts +1 -1
- package/dist/components/Tabs/index.d.ts.map +1 -1
- package/dist/components/Tabs/index.js +11 -12
- package/dist/components/Tag/Tag.d.ts.map +1 -1
- package/dist/components/Tag/Tag.recipe.d.ts +1 -1
- package/dist/components/Tag/index.cjs +7 -7
- package/dist/components/Tag/index.d.ts +1 -1
- package/dist/components/Tag/index.d.ts.map +1 -1
- package/dist/components/Tag/index.js +6 -6
- package/dist/components/TagsInput/TagsInput.d.ts +49 -7
- package/dist/components/TagsInput/TagsInput.d.ts.map +1 -1
- package/dist/components/TagsInput/TagsInput.recipe.d.ts +45 -0
- package/dist/components/TagsInput/TagsInput.recipe.d.ts.map +1 -0
- package/dist/components/TagsInput/index.cjs +16 -17
- package/dist/components/TagsInput/index.d.ts.map +1 -1
- package/dist/components/TagsInput/index.js +15 -16
- package/dist/components/Text/Heading.d.ts +1 -1
- package/dist/components/Text/Heading.d.ts.map +1 -1
- package/dist/components/Text/Text.d.ts.map +1 -1
- package/dist/components/Text/index.cjs +5 -5
- package/dist/components/Text/index.d.ts.map +1 -1
- package/dist/components/Text/index.js +3 -3
- package/dist/components/TextArea/TextArea.d.ts.map +1 -1
- package/dist/components/TextArea/index.cjs +10 -10
- package/dist/components/TextArea/index.d.ts.map +1 -1
- package/dist/components/TextArea/index.js +9 -9
- package/dist/components/TextInput/TextInput.d.ts +5 -0
- package/dist/components/TextInput/TextInput.d.ts.map +1 -1
- package/dist/components/TextInput/index.cjs +14 -14
- package/dist/components/TextInput/index.d.ts +1 -1
- package/dist/components/TextInput/index.d.ts.map +1 -1
- package/dist/components/TextInput/index.js +13 -13
- package/dist/components/Theme/index.cjs +2 -2
- package/dist/components/Theme/index.d.ts.map +1 -1
- package/dist/components/Theme/index.js +1 -1
- package/dist/components/Thumbnail/Thumbnail.recipe.d.ts +1 -1
- package/dist/components/Thumbnail/index.cjs +12 -12
- package/dist/components/Thumbnail/index.d.ts.map +1 -1
- package/dist/components/Thumbnail/index.js +11 -11
- package/dist/components/TimeInput/TimeInput.d.ts +3 -3
- package/dist/components/TimeInput/TimeInput.d.ts.map +1 -1
- package/dist/components/TimeInput/index.cjs +13 -13
- package/dist/components/TimeInput/index.d.ts +1 -1
- package/dist/components/TimeInput/index.d.ts.map +1 -1
- package/dist/components/TimeInput/index.js +12 -12
- package/dist/components/Toast/Toast.d.ts +1 -1
- package/dist/components/Toast/Toast.d.ts.map +1 -1
- package/dist/components/Toast/Toast.recipe.d.ts +1 -1
- package/dist/components/Toast/ToastContext.d.ts.map +1 -1
- package/dist/components/Toast/ToastViewport.d.ts.map +1 -1
- package/dist/components/Toast/index.cjs +13 -13
- package/dist/components/Toast/index.d.ts.map +1 -1
- package/dist/components/Toast/index.js +10 -10
- package/dist/components/Toast/useToast.d.ts.map +1 -1
- package/dist/components/ToggleButton/ToggleButton.d.ts +2 -6
- package/dist/components/ToggleButton/ToggleButton.d.ts.map +1 -1
- package/dist/components/ToggleButton/ToggleButton.recipe.d.ts +20 -0
- package/dist/components/ToggleButton/ToggleButton.recipe.d.ts.map +1 -0
- package/dist/components/ToggleButton/ToggleButtonGroup.d.ts.map +1 -1
- package/dist/components/ToggleButton/index.cjs +8 -8
- package/dist/components/ToggleButton/index.d.ts +1 -1
- package/dist/components/ToggleButton/index.d.ts.map +1 -1
- package/dist/components/ToggleButton/index.js +6 -6
- package/dist/components/Tooltip/Tooltip.d.ts +1 -1
- package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/components/Tooltip/index.cjs +4 -4
- package/dist/components/Tooltip/index.d.ts +1 -1
- package/dist/components/Tooltip/index.d.ts.map +1 -1
- package/dist/components/Tooltip/index.js +2 -2
- package/dist/components/Tooltip/useTooltip.d.ts.map +1 -1
- package/dist/components/TopNav/TopNav.d.ts.map +1 -1
- package/dist/components/TopNav/TopNav.recipe.d.ts +11 -5
- package/dist/components/TopNav/TopNav.recipe.d.ts.map +1 -1
- package/dist/components/TopNav/TopNavContext.d.ts +0 -2
- package/dist/components/TopNav/TopNavContext.d.ts.map +1 -1
- package/dist/components/TopNav/TopNavHeading.d.ts.map +1 -1
- package/dist/components/TopNav/TopNavHeading.recipe.d.ts +4 -0
- package/dist/components/TopNav/TopNavHeading.recipe.d.ts.map +1 -0
- package/dist/components/TopNav/TopNavItem.d.ts +13 -8
- package/dist/components/TopNav/TopNavItem.d.ts.map +1 -1
- package/dist/components/TopNav/index.cjs +18 -21
- package/dist/components/TopNav/index.d.ts +2 -2
- package/dist/components/TopNav/index.d.ts.map +1 -1
- package/dist/components/TopNav/index.js +13 -12
- package/dist/components/TreeView/TreeView.d.ts.map +1 -1
- package/dist/components/TreeView/TreeView.recipe.d.ts +4 -0
- package/dist/components/TreeView/TreeView.recipe.d.ts.map +1 -0
- package/dist/components/TreeView/TreeViewBranches.d.ts.map +1 -1
- package/dist/components/TreeView/TreeViewBranches.recipe.d.ts +4 -0
- package/dist/components/TreeView/TreeViewBranches.recipe.d.ts.map +1 -0
- package/dist/components/TreeView/TreeViewItem.d.ts +1 -5
- package/dist/components/TreeView/TreeViewItem.d.ts.map +1 -1
- package/dist/components/TreeView/TreeViewItem.recipe.d.ts +84 -0
- package/dist/components/TreeView/TreeViewItem.recipe.d.ts.map +1 -0
- package/dist/components/TreeView/index.cjs +4 -3
- package/dist/components/TreeView/index.d.ts +1 -1
- package/dist/components/TreeView/index.d.ts.map +1 -1
- package/dist/components/TreeView/index.js +3 -2
- package/dist/index.cjs +257 -275
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +7 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +85 -83
- package/dist/index.js.map +1 -1
- package/dist/internal/MobileNav/MobileNav.d.ts.map +1 -1
- package/dist/internal/MobileNav/index.d.ts +2 -2
- package/dist/internal/MobileNav/index.d.ts.map +1 -1
- package/dist/internal/dismissBehavior.d.ts +18 -0
- package/dist/internal/dismissBehavior.d.ts.map +1 -0
- package/dist/internal/index.d.ts +1 -1
- package/dist/internal/index.d.ts.map +1 -1
- package/dist/internal/parseDateInput.d.ts.map +1 -1
- package/dist/internal/plainDate.d.ts.map +1 -1
- package/dist/internal/shallowEqual.d.ts +7 -0
- package/dist/internal/shallowEqual.d.ts.map +1 -0
- package/dist/internal/useBackdropDismiss.d.ts +16 -0
- package/dist/internal/useBackdropDismiss.d.ts.map +1 -0
- package/dist/internal/useConstant.d.ts +8 -0
- package/dist/internal/useConstant.d.ts.map +1 -0
- package/dist/internal/useHoverLayer.d.ts.map +1 -1
- package/dist/internal/useLatest.d.ts +5 -0
- package/dist/internal/useLatest.d.ts.map +1 -0
- package/dist/internal/useLayer.d.ts +55 -2
- package/dist/internal/useLayer.d.ts.map +1 -1
- package/dist/internal/useScrollLock.d.ts +8 -0
- package/dist/internal/useScrollLock.d.ts.map +1 -0
- package/dist/internal/useSelectListbox.d.ts.map +1 -1
- package/dist/internal/useShallowEqualMemo.d.ts +13 -0
- package/dist/internal/useShallowEqualMemo.d.ts.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/themes/presets.d.ts.map +1 -1
- package/package.json +3 -2
- package/dist/chunk-2LABTS4P.js.map +0 -1
- package/dist/chunk-2N6FOSNM.js.map +0 -1
- package/dist/chunk-2OXKEUKG.cjs.map +0 -1
- package/dist/chunk-2P6D43V2.cjs.map +0 -1
- package/dist/chunk-2RKMG2TC.js.map +0 -1
- package/dist/chunk-2XAA3CM5.js.map +0 -1
- package/dist/chunk-3CJC4QE6.js.map +0 -1
- package/dist/chunk-3JPUXC5U.js.map +0 -1
- package/dist/chunk-4H7X5FGX.js.map +0 -1
- package/dist/chunk-52WQDDWQ.js.map +0 -1
- package/dist/chunk-5D2OR64D.cjs.map +0 -1
- package/dist/chunk-5PX76QOL.cjs +0 -203
- package/dist/chunk-5PX76QOL.cjs.map +0 -1
- package/dist/chunk-5YS43PSQ.cjs.map +0 -1
- package/dist/chunk-6ONAGCCZ.js.map +0 -1
- package/dist/chunk-6XWXBXYE.js.map +0 -1
- package/dist/chunk-7BSFKG7N.js.map +0 -1
- package/dist/chunk-7CCXHH6Y.cjs.map +0 -1
- package/dist/chunk-7U7JMRVF.cjs.map +0 -1
- package/dist/chunk-AHVHLNHU.cjs.map +0 -1
- package/dist/chunk-AJ6X62AI.js.map +0 -1
- package/dist/chunk-AP7BDTTF.js.map +0 -1
- package/dist/chunk-BLRWA445.cjs.map +0 -1
- package/dist/chunk-BSAZRW6T.js.map +0 -1
- package/dist/chunk-C6EYCIKJ.cjs.map +0 -1
- package/dist/chunk-C732WXKS.cjs.map +0 -1
- package/dist/chunk-CGYZ6QWY.js +0 -142
- package/dist/chunk-CGYZ6QWY.js.map +0 -1
- package/dist/chunk-CK3UJQRI.cjs.map +0 -1
- package/dist/chunk-CKTXDIH4.cjs.map +0 -1
- package/dist/chunk-D3LZQ5QS.js.map +0 -1
- package/dist/chunk-DIRVAHOF.cjs.map +0 -1
- package/dist/chunk-DVGLYE3G.cjs +0 -287
- package/dist/chunk-DVGLYE3G.cjs.map +0 -1
- package/dist/chunk-DWUEPOYH.js.map +0 -1
- package/dist/chunk-E2A3GJSN.cjs.map +0 -1
- package/dist/chunk-EALKX3ST.cjs.map +0 -1
- package/dist/chunk-EBDODJ5X.js.map +0 -1
- package/dist/chunk-FDZQPWFZ.cjs.map +0 -1
- package/dist/chunk-FMLIYHDP.js.map +0 -1
- package/dist/chunk-FNOUX5T2.cjs +0 -145
- package/dist/chunk-FNOUX5T2.cjs.map +0 -1
- package/dist/chunk-FNZOICR4.cjs.map +0 -1
- package/dist/chunk-FP5E5BUM.js.map +0 -1
- package/dist/chunk-G2U2W422.js.map +0 -1
- package/dist/chunk-G2WW52GO.cjs.map +0 -1
- package/dist/chunk-G3KKLGZU.cjs.map +0 -1
- package/dist/chunk-GC5VUTUR.cjs.map +0 -1
- package/dist/chunk-GL7PSN7H.cjs.map +0 -1
- package/dist/chunk-GYVWTH3U.cjs.map +0 -1
- package/dist/chunk-H2CZ6IE5.cjs.map +0 -1
- package/dist/chunk-H7HQYBPH.js.map +0 -1
- package/dist/chunk-HINS4GY6.js.map +0 -1
- package/dist/chunk-HNZWPIJE.js.map +0 -1
- package/dist/chunk-IA5GII7N.cjs.map +0 -1
- package/dist/chunk-J5IRFGUP.js.map +0 -1
- package/dist/chunk-JDAJ2HJQ.js.map +0 -1
- package/dist/chunk-JIVYPJKO.js.map +0 -1
- package/dist/chunk-JJ324PSZ.cjs.map +0 -1
- package/dist/chunk-JTFNNEWR.cjs.map +0 -1
- package/dist/chunk-JYVYCU22.cjs.map +0 -1
- package/dist/chunk-KXIILLQD.cjs.map +0 -1
- package/dist/chunk-L6VSBBPP.js.map +0 -1
- package/dist/chunk-LNT2IFOA.js.map +0 -1
- package/dist/chunk-LO5NZY7N.cjs.map +0 -1
- package/dist/chunk-LUQVSNQL.cjs.map +0 -1
- package/dist/chunk-LY6Z6A54.js.map +0 -1
- package/dist/chunk-MI5QU37D.js.map +0 -1
- package/dist/chunk-NFABMGNH.js.map +0 -1
- package/dist/chunk-NHXJVSZZ.cjs.map +0 -1
- package/dist/chunk-O2WICOUK.cjs.map +0 -1
- package/dist/chunk-O32BKXTR.cjs.map +0 -1
- package/dist/chunk-OBWWRRL6.cjs.map +0 -1
- package/dist/chunk-PIZMCOKL.js.map +0 -1
- package/dist/chunk-PQEFVHJZ.cjs.map +0 -1
- package/dist/chunk-QATCDVZ6.cjs.map +0 -1
- package/dist/chunk-QOKEU3DC.cjs.map +0 -1
- package/dist/chunk-QSEDH7T2.js.map +0 -1
- package/dist/chunk-QVNDZZS6.cjs.map +0 -1
- package/dist/chunk-QY6OMQW6.js +0 -285
- package/dist/chunk-QY6OMQW6.js.map +0 -1
- package/dist/chunk-R6CMJMIJ.js +0 -200
- package/dist/chunk-R6CMJMIJ.js.map +0 -1
- package/dist/chunk-RDNMAV5B.js.map +0 -1
- package/dist/chunk-RLOGQBFD.js.map +0 -1
- package/dist/chunk-S7INL5NI.js.map +0 -1
- package/dist/chunk-SBOXHIES.js.map +0 -1
- package/dist/chunk-SOCSUNIM.js.map +0 -1
- package/dist/chunk-SSAYBCAD.js.map +0 -1
- package/dist/chunk-SUH62Z64.js.map +0 -1
- package/dist/chunk-TBOQTPRO.cjs.map +0 -1
- package/dist/chunk-TF7XVTSP.cjs.map +0 -1
- package/dist/chunk-TPB53MHV.cjs.map +0 -1
- package/dist/chunk-U6NH54YD.js.map +0 -1
- package/dist/chunk-UKW2C5RN.js +0 -450
- package/dist/chunk-UKW2C5RN.js.map +0 -1
- package/dist/chunk-VFGSNR35.js.map +0 -1
- package/dist/chunk-VHKA25IV.cjs.map +0 -1
- package/dist/chunk-VK4O6W2K.cjs +0 -454
- package/dist/chunk-VK4O6W2K.cjs.map +0 -1
- package/dist/chunk-VQ7U3ASC.js.map +0 -1
- package/dist/chunk-VUCMGGU5.js.map +0 -1
- package/dist/chunk-W3C6QQF7.js.map +0 -1
- package/dist/chunk-WBGFFP3G.js.map +0 -1
- package/dist/chunk-WOIWI2UO.js.map +0 -1
- package/dist/chunk-X574M2JB.cjs.map +0 -1
- package/dist/chunk-XLKXFJMU.cjs.map +0 -1
- package/dist/chunk-XXBA3KSH.cjs.map +0 -1
- package/dist/chunk-YHBYVERE.cjs +0 -374
- package/dist/chunk-YHBYVERE.cjs.map +0 -1
- package/dist/chunk-YVHWOKR7.cjs.map +0 -1
- package/dist/chunk-YWGYN6YV.cjs.map +0 -1
- package/dist/chunk-YY6KJO5Z.cjs.map +0 -1
- package/dist/chunk-YYNWZRXZ.js.map +0 -1
- package/dist/chunk-Z4TZAJS3.js.map +0 -1
- package/dist/chunk-ZAX2UJBC.js.map +0 -1
- package/dist/chunk-ZFBQ4R7M.cjs.map +0 -1
- package/dist/chunk-ZQUPAIBS.js.map +0 -1
- package/dist/chunk-ZTWBG2XY.cjs.map +0 -1
- package/dist/components/Schedule/zonedDateTime.d.ts +0 -14
- package/dist/components/Schedule/zonedDateTime.d.ts.map +0 -1
- package/dist/components/Stepper/Step.d.ts +0 -62
- package/dist/components/Stepper/Step.d.ts.map +0 -1
- package/dist/components/Stepper/Step.recipe.d.ts +0 -95
- package/dist/components/Stepper/Step.recipe.d.ts.map +0 -1
- package/dist/components/Stepper/StepperContext.d.ts +0 -10
- package/dist/components/Stepper/StepperContext.d.ts.map +0 -1
- package/dist/components/Table/BaseTable.d.ts +0 -6
- package/dist/components/Table/BaseTable.d.ts.map +0 -1
- package/dist/theme/generate-color-scale.d.ts +0 -6
- package/dist/theme/generate-color-scale.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/internal/useListboxNavigation.ts","../src/internal/useSelectListbox.tsx"],"names":["useState","useMemo","useCallback"],"mappings":"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","file":"chunk-N2TNBDQI.js","sourcesContent":["import {\n useCallback,\n useMemo,\n useState,\n type Dispatch,\n type KeyboardEvent,\n type SetStateAction,\n} from 'react';\n\nexport type ListboxNavigationOption = {\n isDisabled?: boolean;\n value: string;\n};\n\nexport type UseListboxNavigationOptions = {\n shouldClearOnCommit?: boolean;\n inputId: string;\n isDisabled?: boolean;\n isOpen: boolean;\n onCommit: (value: string) => void;\n onOpenChange: (isOpen: boolean) => void;\n options: ReadonlyArray<ListboxNavigationOption>;\n selectedValues?: ReadonlySet<string>;\n};\n\nexport type UseListboxNavigationResult = {\n activeDescendantId: string | undefined;\n getOptionId: (optionValue: string) => string;\n handleKeyboardNavigation: (\n event: KeyboardEvent<HTMLInputElement | HTMLButtonElement>,\n ) => void;\n highlightedValue: string | null;\n setHighlightedValue: Dispatch<SetStateAction<string | null>>;\n};\n\nexport function useListboxNavigation({\n inputId,\n isDisabled = false,\n isOpen,\n onCommit,\n onOpenChange,\n options,\n selectedValues,\n shouldClearOnCommit = true,\n}: UseListboxNavigationOptions): UseListboxNavigationResult {\n const [highlightedValue, setHighlightedValue] = useState<string | null>(null);\n const enabledOptions = useMemo(\n () => options.filter(option => !option.isDisabled),\n [options],\n );\n\n const getOptionId = useCallback(\n (optionValue: string): string =>\n `${inputId}-option-${optionValue.replace(/[^a-zA-Z0-9_-]/g, '-')}`,\n [inputId],\n );\n\n const activeDescendantId =\n isOpen && highlightedValue != null\n ? getOptionId(highlightedValue)\n : undefined;\n\n const getInitialHighlight = useCallback(\n (direction: 'first' | 'last' = 'first'): string | null => {\n if (enabledOptions.length === 0) {\n return null;\n }\n\n const selectedEnabledOption = enabledOptions.find(option =>\n selectedValues?.has(option.value),\n );\n if (selectedEnabledOption != null) {\n return selectedEnabledOption.value;\n }\n\n return direction === 'last'\n ? enabledOptions[enabledOptions.length - 1].value\n : enabledOptions[0].value;\n },\n [enabledOptions, selectedValues],\n );\n\n const moveHighlight = useCallback(\n (direction: 1 | -1): void => {\n if (enabledOptions.length === 0) {\n setHighlightedValue(null);\n return;\n }\n\n setHighlightedValue(currentValue => {\n const currentIndex = enabledOptions.findIndex(\n option => option.value === currentValue,\n );\n const nextIndex =\n currentIndex === -1\n ? direction === 1\n ? 0\n : enabledOptions.length - 1\n : (currentIndex + direction + enabledOptions.length) %\n enabledOptions.length;\n return enabledOptions[nextIndex].value;\n });\n },\n [enabledOptions],\n );\n\n const handleKeyboardNavigation = useCallback(\n (event: KeyboardEvent<HTMLInputElement | HTMLButtonElement>): void => {\n if (isDisabled) {\n return;\n }\n\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n event.preventDefault();\n if (!isOpen) {\n onOpenChange(true);\n setHighlightedValue(\n getInitialHighlight(event.key === 'ArrowUp' ? 'last' : 'first'),\n );\n return;\n }\n\n moveHighlight(event.key === 'ArrowDown' ? 1 : -1);\n return;\n }\n\n if (event.key === 'Home' && isOpen) {\n event.preventDefault();\n setHighlightedValue(getInitialHighlight('first'));\n return;\n }\n\n if (event.key === 'End' && isOpen) {\n event.preventDefault();\n setHighlightedValue(getInitialHighlight('last'));\n return;\n }\n\n if (event.key === 'Enter' && isOpen && highlightedValue != null) {\n event.preventDefault();\n onCommit(highlightedValue);\n if (shouldClearOnCommit) {\n setHighlightedValue(null);\n }\n return;\n }\n\n if (event.key === 'Escape' && isOpen) {\n event.preventDefault();\n onOpenChange(false);\n setHighlightedValue(null);\n }\n },\n [\n getInitialHighlight,\n highlightedValue,\n isDisabled,\n isOpen,\n moveHighlight,\n onCommit,\n onOpenChange,\n shouldClearOnCommit,\n ],\n );\n\n return {\n activeDescendantId,\n getOptionId,\n handleKeyboardNavigation,\n highlightedValue,\n setHighlightedValue,\n };\n}\n","import {\n useCallback,\n useId,\n useMemo,\n useRef,\n useState,\n type Dispatch,\n type KeyboardEvent,\n type MouseEvent,\n type ReactNode,\n type RefObject,\n type SetStateAction,\n} from 'react';\nimport type {InputStatus} from '../components/Field';\nimport {\n getDescribedBy,\n getStatusMessageID,\n} from '../components/Field/inputUtils';\nimport isReactNode from './isReactNode';\nimport {useListboxNavigation} from './useListboxNavigation';\n\nexport interface SelectListboxOptionData {\n isDisabled?: boolean;\n label?: string;\n value: string;\n}\n\nexport interface SelectListboxDivider {\n type: 'divider';\n}\n\nexport interface SelectListboxSection<TOption extends SelectListboxOptionData> {\n options: ReadonlyArray<TOption>;\n title?: string;\n type: 'section';\n}\n\nexport type SelectListboxOption<TOption extends SelectListboxOptionData> =\n | SelectListboxDivider\n | SelectListboxSection<TOption>\n | TOption\n | string;\n\nfunction normalizeSelectListboxOption<TOption extends SelectListboxOptionData>(\n option: string | TOption,\n): TOption {\n return (\n typeof option === 'string'\n ? {label: option, value: option}\n : {...option, label: option.label ?? option.value}\n ) as TOption;\n}\n\nfunction getSelectListboxOptions<TOption extends SelectListboxOptionData>(\n options: ReadonlyArray<SelectListboxOption<TOption>>,\n): TOption[] {\n return options.flatMap(option => {\n if (typeof option === 'string') {\n return [normalizeSelectListboxOption<TOption>(option)];\n }\n if ('type' in option) {\n return option.type === 'section'\n ? option.options.map(normalizeSelectListboxOption<TOption>)\n : [];\n }\n return [normalizeSelectListboxOption<TOption>(option)];\n });\n}\n\nexport type UseSelectListboxOptions<TOption extends SelectListboxOptionData> = {\n clearQueryOnCommit?: boolean;\n closeOnCommit?: boolean;\n description: ReactNode;\n isDefaultOpen?: boolean;\n isDisabled?: boolean;\n isLoading?: boolean;\n onCommitOption: (option: TOption) => boolean | undefined;\n options: ReadonlyArray<SelectListboxOption<TOption>>;\n selectedValues: ReadonlySet<string>;\n shouldClearOnCommit?: boolean;\n status: InputStatus | undefined;\n};\n\nexport type UseSelectListboxResult<TOption extends SelectListboxOptionData> = {\n activeDescendantId: string | undefined;\n describedBy: string | undefined;\n descriptionID: string | undefined;\n filteredValues: ReadonlySet<string>;\n getOptionId: (optionValue: string) => string;\n handleKeyboardNavigation: (\n event: KeyboardEvent<HTMLInputElement | HTMLButtonElement>,\n ) => void;\n handleOptionClick: (event: MouseEvent<HTMLElement>) => void;\n handleOptionMouseEnter: (event: MouseEvent<HTMLElement>) => void;\n highlightedValue: string | null;\n inputId: string;\n isInteractionDisabled: boolean;\n isOpen: boolean;\n listboxId: string;\n optionByValue: ReadonlyMap<string, TOption>;\n query: string;\n selectableOptions: ReadonlyArray<TOption>;\n setHighlightedValue: Dispatch<SetStateAction<string | null>>;\n setIsOpen: Dispatch<SetStateAction<boolean>>;\n setQuery: Dispatch<SetStateAction<string>>;\n statusMessageID: string | undefined;\n triggerRef: RefObject<HTMLDivElement | null>;\n visibleSelectableOptions: ReadonlyArray<TOption>;\n};\n\nexport function useSelectListbox<TOption extends SelectListboxOptionData>({\n clearQueryOnCommit = false,\n closeOnCommit = false,\n description,\n isDefaultOpen = false,\n isDisabled = false,\n isLoading = false,\n onCommitOption,\n options,\n selectedValues,\n shouldClearOnCommit = true,\n status,\n}: UseSelectListboxOptions<TOption>): UseSelectListboxResult<TOption> {\n const inputId = useId();\n const descriptionID = isReactNode(description)\n ? `${inputId}-description`\n : undefined;\n const statusMessageID = getStatusMessageID(inputId, status);\n const describedBy = getDescribedBy(descriptionID, statusMessageID);\n const [isOpen, setIsOpen] = useState(isDefaultOpen);\n const [query, setQuery] = useState('');\n const triggerRef = useRef<HTMLDivElement>(null);\n const listboxId = `${inputId}-listbox`;\n const selectableOptions = useMemo(\n () => getSelectListboxOptions(options),\n [options],\n );\n const optionByValue = useMemo(\n () => new Map(selectableOptions.map(option => [option.value, option])),\n [selectableOptions],\n );\n const filteredValues = useMemo(() => {\n if (query.trim() === '') {\n return new Set(selectableOptions.map(option => option.value));\n }\n const lowerQuery = query.toLowerCase();\n return new Set(\n selectableOptions\n .filter(option =>\n (option.label ?? option.value).toLowerCase().includes(lowerQuery),\n )\n .map(option => option.value),\n );\n }, [query, selectableOptions]);\n const visibleSelectableOptions = useMemo(\n () => selectableOptions.filter(option => filteredValues.has(option.value)),\n [filteredValues, selectableOptions],\n );\n const isInteractionDisabled = isDisabled || isLoading;\n\n const {\n activeDescendantId,\n getOptionId,\n handleKeyboardNavigation,\n highlightedValue,\n setHighlightedValue,\n } = useListboxNavigation({\n inputId,\n isDisabled: isInteractionDisabled,\n isOpen,\n onCommit: optionValue => {\n const option = optionByValue.get(optionValue);\n if (option == null) {\n return;\n }\n\n if (onCommitOption(option) === false) {\n return;\n }\n\n if (closeOnCommit) {\n setIsOpen(false);\n }\n if (clearQueryOnCommit) {\n setQuery('');\n }\n },\n onOpenChange: setIsOpen,\n options: visibleSelectableOptions,\n selectedValues,\n shouldClearOnCommit,\n });\n\n const handleOptionClick = useCallback(\n (event: MouseEvent<HTMLElement>) => {\n const optionValue = event.currentTarget.dataset.value;\n const option =\n optionValue == null ? undefined : optionByValue.get(optionValue);\n if (option == null || onCommitOption(option) === false) {\n return;\n }\n\n if (closeOnCommit) {\n setIsOpen(false);\n }\n if (clearQueryOnCommit) {\n setQuery('');\n }\n },\n [clearQueryOnCommit, closeOnCommit, onCommitOption, optionByValue],\n );\n\n const handleOptionMouseEnter = useCallback(\n (event: MouseEvent<HTMLElement>) => {\n const optionValue = event.currentTarget.dataset.value;\n const option =\n optionValue == null ? undefined : optionByValue.get(optionValue);\n if (option != null && !option.isDisabled) {\n setHighlightedValue(option.value);\n }\n },\n [optionByValue, setHighlightedValue],\n );\n\n return {\n activeDescendantId,\n describedBy,\n descriptionID,\n filteredValues,\n getOptionId,\n handleKeyboardNavigation,\n handleOptionClick,\n handleOptionMouseEnter,\n highlightedValue,\n inputId,\n isInteractionDisabled,\n isOpen,\n listboxId,\n optionByValue,\n query,\n selectableOptions,\n setHighlightedValue,\n setIsOpen,\n setQuery,\n statusMessageID,\n triggerRef,\n visibleSelectableOptions,\n };\n}\n\nexport type RenderSelectListboxOptionsConfig<\n TOption extends SelectListboxOptionData,\n> = {\n dividerClassName: string;\n inputId: string;\n options: ReadonlyArray<SelectListboxOption<TOption>>;\n renderOption: (option: TOption) => ReactNode;\n sectionHeadingClassName: string;\n};\n\nexport function renderSelectListboxOptions<\n TOption extends SelectListboxOptionData,\n>({\n dividerClassName,\n inputId,\n options,\n renderOption,\n sectionHeadingClassName,\n}: RenderSelectListboxOptionsConfig<TOption>): ReactNode[] {\n const optionNodes: ReactNode[] = [];\n let dividerCount = 0;\n let sectionCount = 0;\n\n for (const option of options) {\n if (typeof option === 'string') {\n optionNodes.push(\n renderOption(normalizeSelectListboxOption<TOption>(option)),\n );\n } else if ('type' in option) {\n if (option.type === 'divider') {\n dividerCount += 1;\n optionNodes.push(\n <div\n className={dividerClassName}\n key={`divider-${dividerCount}`}\n role=\"separator\"\n />,\n );\n } else {\n const sectionKey =\n option.title ??\n option.options.map(sectionOption => sectionOption.value).join('|');\n sectionCount += 1;\n const sectionHeadingId =\n option.title == null\n ? undefined\n : `${inputId}-section-${sectionKey.replace(\n /[^a-zA-Z0-9_-]/g,\n '-',\n )}-${sectionCount}`;\n const sectionOptionNodes: ReactNode[] = [];\n for (const sectionOption of option.options) {\n sectionOptionNodes.push(\n renderOption(normalizeSelectListboxOption<TOption>(sectionOption)),\n );\n }\n optionNodes.push(\n <div\n aria-labelledby={sectionHeadingId}\n key={`section-${sectionKey}-${sectionCount}`}\n role=\"group\">\n {option.title != null ? (\n <div className={sectionHeadingClassName} id={sectionHeadingId}>\n {option.title}\n </div>\n ) : null}\n {sectionOptionNodes}\n </div>,\n );\n }\n } else {\n optionNodes.push(\n renderOption(normalizeSelectListboxOption<TOption>(option)),\n );\n }\n }\n\n return optionNodes;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/internal/useListboxNavigation.ts","../src/internal/useSelectListbox.tsx"],"names":["useState","useMemo","useCallback"],"mappings":"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","file":"chunk-AEYJ6PWC.js","sourcesContent":["import {\n useCallback,\n useMemo,\n useState,\n type Dispatch,\n type KeyboardEvent,\n type SetStateAction,\n} from 'react';\n\nexport type ListboxNavigationOption = {\n isDisabled?: boolean;\n value: string;\n};\n\nexport type UseListboxNavigationOptions = {\n shouldClearOnCommit?: boolean;\n inputId: string;\n isDisabled?: boolean;\n isOpen: boolean;\n onCommit: (value: string) => void;\n onOpenChange: (isOpen: boolean) => void;\n options: ReadonlyArray<ListboxNavigationOption>;\n selectedValues?: ReadonlySet<string>;\n};\n\nexport type UseListboxNavigationResult = {\n activeDescendantId: string | undefined;\n getOptionId: (optionValue: string) => string;\n handleKeyboardNavigation: (\n event: KeyboardEvent<HTMLInputElement | HTMLButtonElement>,\n ) => void;\n highlightedValue: string | null;\n setHighlightedValue: Dispatch<SetStateAction<string | null>>;\n};\n\nexport function useListboxNavigation({\n inputId,\n isDisabled = false,\n isOpen,\n onCommit,\n onOpenChange,\n options,\n selectedValues,\n shouldClearOnCommit = true,\n}: UseListboxNavigationOptions): UseListboxNavigationResult {\n const [highlightedValue, setHighlightedValue] = useState<string | null>(null);\n const enabledOptions = useMemo(\n () => options.filter(option => !option.isDisabled),\n [options],\n );\n\n const getOptionId = useCallback(\n (optionValue: string): string =>\n `${inputId}-option-${optionValue.replace(/[^a-zA-Z0-9_-]/g, '-')}`,\n [inputId],\n );\n\n const activeDescendantId =\n isOpen && highlightedValue != null\n ? getOptionId(highlightedValue)\n : undefined;\n\n const getInitialHighlight = useCallback(\n (direction: 'first' | 'last' = 'first'): string | null => {\n if (enabledOptions.length === 0) {\n return null;\n }\n\n const selectedEnabledOption = enabledOptions.find(option =>\n selectedValues?.has(option.value),\n );\n if (selectedEnabledOption != null) {\n return selectedEnabledOption.value;\n }\n\n return direction === 'last'\n ? enabledOptions[enabledOptions.length - 1].value\n : enabledOptions[0].value;\n },\n [enabledOptions, selectedValues],\n );\n\n const moveHighlight = useCallback(\n (direction: 1 | -1): void => {\n if (enabledOptions.length === 0) {\n setHighlightedValue(null);\n return;\n }\n\n setHighlightedValue(currentValue => {\n const currentIndex = enabledOptions.findIndex(\n option => option.value === currentValue,\n );\n const nextIndex =\n currentIndex === -1\n ? direction === 1\n ? 0\n : enabledOptions.length - 1\n : (currentIndex + direction + enabledOptions.length) %\n enabledOptions.length;\n return enabledOptions[nextIndex].value;\n });\n },\n [enabledOptions],\n );\n\n const handleKeyboardNavigation = useCallback(\n (event: KeyboardEvent<HTMLInputElement | HTMLButtonElement>): void => {\n if (isDisabled) {\n return;\n }\n\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n event.preventDefault();\n if (!isOpen) {\n onOpenChange(true);\n setHighlightedValue(\n getInitialHighlight(event.key === 'ArrowUp' ? 'last' : 'first'),\n );\n return;\n }\n\n moveHighlight(event.key === 'ArrowDown' ? 1 : -1);\n return;\n }\n\n if (event.key === 'Home' && isOpen) {\n event.preventDefault();\n setHighlightedValue(getInitialHighlight('first'));\n return;\n }\n\n if (event.key === 'End' && isOpen) {\n event.preventDefault();\n setHighlightedValue(getInitialHighlight('last'));\n return;\n }\n\n if (event.key === 'Enter' && isOpen && highlightedValue != null) {\n event.preventDefault();\n onCommit(highlightedValue);\n if (shouldClearOnCommit) {\n setHighlightedValue(null);\n }\n return;\n }\n\n if (event.key === 'Escape' && isOpen) {\n event.preventDefault();\n onOpenChange(false);\n setHighlightedValue(null);\n }\n },\n [\n getInitialHighlight,\n highlightedValue,\n isDisabled,\n isOpen,\n moveHighlight,\n onCommit,\n onOpenChange,\n shouldClearOnCommit,\n ],\n );\n\n return {\n activeDescendantId,\n getOptionId,\n handleKeyboardNavigation,\n highlightedValue,\n setHighlightedValue,\n };\n}\n","import {\n useCallback,\n useId,\n useMemo,\n useRef,\n useState,\n type Dispatch,\n type KeyboardEvent,\n type MouseEvent,\n type ReactNode,\n type RefObject,\n type SetStateAction,\n} from 'react';\nimport type {InputStatus} from 'components/Field';\nimport {getDescribedBy, getStatusMessageID} from 'components/Field/inputUtils';\nimport isReactNode from 'internal/isReactNode';\nimport {useListboxNavigation} from 'internal/useListboxNavigation';\n\nexport interface SelectListboxOptionData {\n isDisabled?: boolean;\n label?: string;\n value: string;\n}\n\nexport interface SelectListboxDivider {\n type: 'divider';\n}\n\nexport interface SelectListboxSection<TOption extends SelectListboxOptionData> {\n options: ReadonlyArray<TOption>;\n title?: string;\n type: 'section';\n}\n\nexport type SelectListboxOption<TOption extends SelectListboxOptionData> =\n | SelectListboxDivider\n | SelectListboxSection<TOption>\n | TOption\n | string;\n\nfunction normalizeSelectListboxOption<TOption extends SelectListboxOptionData>(\n option: string | TOption,\n): TOption {\n return (\n typeof option === 'string'\n ? {label: option, value: option}\n : {...option, label: option.label ?? option.value}\n ) as TOption;\n}\n\nfunction getSelectListboxOptions<TOption extends SelectListboxOptionData>(\n options: ReadonlyArray<SelectListboxOption<TOption>>,\n): TOption[] {\n return options.flatMap(option => {\n if (typeof option === 'string') {\n return [normalizeSelectListboxOption<TOption>(option)];\n }\n if ('type' in option) {\n return option.type === 'section'\n ? option.options.map(normalizeSelectListboxOption<TOption>)\n : [];\n }\n return [normalizeSelectListboxOption<TOption>(option)];\n });\n}\n\nexport type UseSelectListboxOptions<TOption extends SelectListboxOptionData> = {\n clearQueryOnCommit?: boolean;\n closeOnCommit?: boolean;\n description: ReactNode;\n isDefaultOpen?: boolean;\n isDisabled?: boolean;\n isLoading?: boolean;\n onCommitOption: (option: TOption) => boolean | undefined;\n options: ReadonlyArray<SelectListboxOption<TOption>>;\n selectedValues: ReadonlySet<string>;\n shouldClearOnCommit?: boolean;\n status: InputStatus | undefined;\n};\n\nexport type UseSelectListboxResult<TOption extends SelectListboxOptionData> = {\n activeDescendantId: string | undefined;\n describedBy: string | undefined;\n descriptionID: string | undefined;\n filteredValues: ReadonlySet<string>;\n getOptionId: (optionValue: string) => string;\n handleKeyboardNavigation: (\n event: KeyboardEvent<HTMLInputElement | HTMLButtonElement>,\n ) => void;\n handleOptionClick: (event: MouseEvent<HTMLElement>) => void;\n handleOptionMouseEnter: (event: MouseEvent<HTMLElement>) => void;\n highlightedValue: string | null;\n inputId: string;\n isInteractionDisabled: boolean;\n isOpen: boolean;\n listboxId: string;\n optionByValue: ReadonlyMap<string, TOption>;\n query: string;\n selectableOptions: ReadonlyArray<TOption>;\n setHighlightedValue: Dispatch<SetStateAction<string | null>>;\n setIsOpen: Dispatch<SetStateAction<boolean>>;\n setQuery: Dispatch<SetStateAction<string>>;\n statusMessageID: string | undefined;\n triggerRef: RefObject<HTMLDivElement | null>;\n visibleSelectableOptions: ReadonlyArray<TOption>;\n};\n\nexport function useSelectListbox<TOption extends SelectListboxOptionData>({\n clearQueryOnCommit = false,\n closeOnCommit = false,\n description,\n isDefaultOpen = false,\n isDisabled = false,\n isLoading = false,\n onCommitOption,\n options,\n selectedValues,\n shouldClearOnCommit = true,\n status,\n}: UseSelectListboxOptions<TOption>): UseSelectListboxResult<TOption> {\n const inputId = useId();\n const descriptionID = isReactNode(description)\n ? `${inputId}-description`\n : undefined;\n const statusMessageID = getStatusMessageID(inputId, status);\n const describedBy = getDescribedBy(descriptionID, statusMessageID);\n const [isOpen, setIsOpen] = useState(isDefaultOpen);\n const [query, setQuery] = useState('');\n const triggerRef = useRef<HTMLDivElement>(null);\n const listboxId = `${inputId}-listbox`;\n const selectableOptions = useMemo(\n () => getSelectListboxOptions(options),\n [options],\n );\n const optionByValue = useMemo(\n () => new Map(selectableOptions.map(option => [option.value, option])),\n [selectableOptions],\n );\n const filteredValues = useMemo(() => {\n if (query.trim() === '') {\n return new Set(selectableOptions.map(option => option.value));\n }\n const lowerQuery = query.toLowerCase();\n return new Set(\n selectableOptions\n .filter(option =>\n (option.label ?? option.value).toLowerCase().includes(lowerQuery),\n )\n .map(option => option.value),\n );\n }, [query, selectableOptions]);\n const visibleSelectableOptions = useMemo(\n () => selectableOptions.filter(option => filteredValues.has(option.value)),\n [filteredValues, selectableOptions],\n );\n const isInteractionDisabled = isDisabled || isLoading;\n\n const {\n activeDescendantId,\n getOptionId,\n handleKeyboardNavigation,\n highlightedValue,\n setHighlightedValue,\n } = useListboxNavigation({\n inputId,\n isDisabled: isInteractionDisabled,\n isOpen,\n onCommit: optionValue => {\n const option = optionByValue.get(optionValue);\n if (option == null) {\n return;\n }\n\n if (onCommitOption(option) === false) {\n return;\n }\n\n if (closeOnCommit) {\n setIsOpen(false);\n }\n if (clearQueryOnCommit) {\n setQuery('');\n }\n },\n onOpenChange: setIsOpen,\n options: visibleSelectableOptions,\n selectedValues,\n shouldClearOnCommit,\n });\n\n const handleOptionClick = useCallback(\n (event: MouseEvent<HTMLElement>) => {\n const optionValue = event.currentTarget.dataset.value;\n const option =\n optionValue == null ? undefined : optionByValue.get(optionValue);\n if (option == null || onCommitOption(option) === false) {\n return;\n }\n\n if (closeOnCommit) {\n setIsOpen(false);\n }\n if (clearQueryOnCommit) {\n setQuery('');\n }\n },\n [clearQueryOnCommit, closeOnCommit, onCommitOption, optionByValue],\n );\n\n const handleOptionMouseEnter = useCallback(\n (event: MouseEvent<HTMLElement>) => {\n const optionValue = event.currentTarget.dataset.value;\n const option =\n optionValue == null ? undefined : optionByValue.get(optionValue);\n if (option != null && !option.isDisabled) {\n setHighlightedValue(option.value);\n }\n },\n [optionByValue, setHighlightedValue],\n );\n\n return {\n activeDescendantId,\n describedBy,\n descriptionID,\n filteredValues,\n getOptionId,\n handleKeyboardNavigation,\n handleOptionClick,\n handleOptionMouseEnter,\n highlightedValue,\n inputId,\n isInteractionDisabled,\n isOpen,\n listboxId,\n optionByValue,\n query,\n selectableOptions,\n setHighlightedValue,\n setIsOpen,\n setQuery,\n statusMessageID,\n triggerRef,\n visibleSelectableOptions,\n };\n}\n\nexport type RenderSelectListboxOptionsConfig<\n TOption extends SelectListboxOptionData,\n> = {\n dividerClassName: string;\n inputId: string;\n options: ReadonlyArray<SelectListboxOption<TOption>>;\n renderOption: (option: TOption) => ReactNode;\n sectionHeadingClassName: string;\n};\n\nexport function renderSelectListboxOptions<\n TOption extends SelectListboxOptionData,\n>({\n dividerClassName,\n inputId,\n options,\n renderOption,\n sectionHeadingClassName,\n}: RenderSelectListboxOptionsConfig<TOption>): ReactNode[] {\n const optionNodes: ReactNode[] = [];\n let dividerCount = 0;\n let sectionCount = 0;\n\n for (const option of options) {\n if (typeof option === 'string') {\n optionNodes.push(\n renderOption(normalizeSelectListboxOption<TOption>(option)),\n );\n } else if ('type' in option) {\n if (option.type === 'divider') {\n dividerCount += 1;\n optionNodes.push(\n <div\n className={dividerClassName}\n key={`divider-${dividerCount}`}\n role=\"separator\"\n />,\n );\n } else {\n const sectionKey =\n option.title ??\n option.options.map(sectionOption => sectionOption.value).join('|');\n sectionCount += 1;\n const sectionHeadingId =\n option.title == null\n ? undefined\n : `${inputId}-section-${sectionKey.replace(\n /[^a-zA-Z0-9_-]/g,\n '-',\n )}-${sectionCount}`;\n const sectionOptionNodes: ReactNode[] = [];\n for (const sectionOption of option.options) {\n sectionOptionNodes.push(\n renderOption(normalizeSelectListboxOption<TOption>(sectionOption)),\n );\n }\n optionNodes.push(\n <div\n aria-labelledby={sectionHeadingId}\n key={`section-${sectionKey}-${sectionCount}`}\n role=\"group\">\n {option.title != null ? (\n <div className={sectionHeadingClassName} id={sectionHeadingId}>\n {option.title}\n </div>\n ) : null}\n {sectionOptionNodes}\n </div>,\n );\n }\n } else {\n optionNodes.push(\n renderOption(normalizeSelectListboxOption<TOption>(option)),\n );\n }\n }\n\n return optionNodes;\n}\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var
|
|
3
|
+
var chunkHWD4HDQ5_cjs = require('./chunk-HWD4HDQ5.cjs');
|
|
4
|
+
var chunkKVJ27734_cjs = require('./chunk-KVJ27734.cjs');
|
|
5
|
+
var chunk5XMWGK3O_cjs = require('./chunk-5XMWGK3O.cjs');
|
|
6
6
|
var lucideReact = require('lucide-react');
|
|
7
7
|
var jsxRuntime = require('react/jsx-runtime');
|
|
8
8
|
|
|
@@ -29,7 +29,7 @@ function SplitButton({
|
|
|
29
29
|
variant = "secondary"
|
|
30
30
|
}) {
|
|
31
31
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
32
|
-
|
|
32
|
+
chunkKVJ27734_cjs.ButtonGroup,
|
|
33
33
|
{
|
|
34
34
|
className,
|
|
35
35
|
isDisabled,
|
|
@@ -38,7 +38,7 @@ function SplitButton({
|
|
|
38
38
|
style,
|
|
39
39
|
children: [
|
|
40
40
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
41
|
-
|
|
41
|
+
chunk5XMWGK3O_cjs.Button,
|
|
42
42
|
{
|
|
43
43
|
"data-testid": dataTestId,
|
|
44
44
|
endContent,
|
|
@@ -52,7 +52,7 @@ function SplitButton({
|
|
|
52
52
|
}
|
|
53
53
|
),
|
|
54
54
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
55
|
-
|
|
55
|
+
chunkHWD4HDQ5_cjs.DropdownMenu,
|
|
56
56
|
{
|
|
57
57
|
button: {
|
|
58
58
|
icon: lucideReact.ChevronDown,
|
|
@@ -76,5 +76,5 @@ function SplitButton({
|
|
|
76
76
|
SplitButton.displayName = "SplitButton";
|
|
77
77
|
|
|
78
78
|
exports.SplitButton = SplitButton;
|
|
79
|
-
//# sourceMappingURL=chunk-
|
|
80
|
-
//# sourceMappingURL=chunk-
|
|
79
|
+
//# sourceMappingURL=chunk-ANACERIO.cjs.map
|
|
80
|
+
//# sourceMappingURL=chunk-ANACERIO.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/SplitButton/SplitButton.tsx"],"names":["jsxs","ButtonGroup","jsx","Button","DropdownMenu","ChevronDown"],"mappings":";;;;;;;;AA2FO,SAAS,WAAA,CAAY;AAAA,EAC1B,QAAA;AAAA,EACA,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,UAAA;AAAA,EACA,YAAA;AAAA,EACA,IAAA;AAAA,EACA,UAAA,GAAa,KAAA;AAAA,EACb,SAAA;AAAA,EACA,UAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA,GAAY,cAAA;AAAA,EACZ,SAAA;AAAA,EACA,OAAA;AAAA,EACA,YAAA;AAAA,EACA,GAAA;AAAA,EACA,IAAA,GAAO,IAAA;AAAA,EACP,YAAA;AAAA,EACA,KAAA;AAAA,EACA,OAAA,GAAU;AACZ,CAAA,EAAwC;AACtC,EAAA,uBACEA,eAAA;AAAA,IAACC,6BAAA;AAAA,IAAA;AAAA,MACC,SAAA;AAAA,MACA,UAAA;AAAA,MACA,KAAA;AAAA,MACA,IAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA,EAAA;AAAA,wBAAAC,cAAA;AAAA,UAACC,wBAAA;AAAA,UAAA;AAAA,YACC,aAAA,EAAa,UAAA;AAAA,YACb,UAAA;AAAA,YACA,IAAA;AAAA,YACA,SAAA;AAAA,YACA,KAAA;AAAA,YACA,OAAA;AAAA,YACA,GAAA;AAAA,YACA,YAAA;AAAA,YACA;AAAA;AAAA,SACF;AAAA,wBACAD,cAAA;AAAA,UAACE,8BAAA;AAAA,UAAA;AAAA,YACC,MAAA,EAAQ;AAAA,cACN,IAAA,EAAMC,uBAAA;AAAA,cACN,UAAA,EAAY,IAAA;AAAA,cACZ,KAAA,EAAO,SAAA;AAAA,cACP;AAAA,aACF;AAAA,YACA,YAAA;AAAA,YACA,UAAA,EAAY,KAAA;AAAA,YACZ,UAAA;AAAA,YACA,KAAA;AAAA,YACA,SAAA;AAAA,YACA,YAAA;AAAA,YACC;AAAA;AAAA;AACH;AAAA;AAAA,GACF;AAEJ;AAEA,WAAA,CAAY,WAAA,GAAc,aAAA","file":"chunk-ANACERIO.cjs","sourcesContent":["import {ChevronDown} from 'lucide-react';\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {Button, type ButtonProps, type ButtonSize} from 'components/Button';\nimport {ButtonGroup} from 'components/ButtonGroup';\nimport {DropdownMenu, type DropdownMenuOption} from 'components/DropdownMenu';\nimport type {IconComponent} from 'components/Icon';\n\n/**\n * A directly-clickable primary action paired with an attached chevron toggle\n * that opens a menu of related actions. A thin composition of `ButtonGroup`,\n * `Button`, and `DropdownMenu`.\n */\nexport interface SplitButtonProps extends Pick<\n ButtonProps,\n 'endContent' | 'isLoading' | 'onClick' | 'startContent'\n> {\n /**\n * Compound menu content (`<DropdownMenuItem>`), an alternative to `items`.\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 primary action button.\n */\n 'data-testid'?: string;\n /**\n * Whether to auto-focus the first menu item on open.\n * @default true\n */\n hasAutoFocus?: boolean;\n /**\n * Icon rendered before the primary action's label.\n */\n icon?: IconComponent;\n /**\n * Whether both the primary action and the menu toggle are disabled.\n */\n isDisabled?: boolean;\n /**\n * Controlled open state of the menu.\n */\n isMenuOpen?: boolean;\n /**\n * Data-driven menu items (alternative to `children`).\n */\n items?: ReadonlyArray<DropdownMenuOption>;\n /**\n * Visible text for the primary action. Also used as the group's accessible\n * label.\n */\n label: string;\n /**\n * Accessible label for the chevron toggle that opens the menu.\n * @default 'More actions'\n */\n menuLabel?: string;\n /**\n * Width of the menu surface.\n */\n menuWidth?: number | string;\n /**\n * Called when the menu open state changes.\n */\n onOpenChange?: (isOpen: boolean) => void;\n /**\n * Ref forwarded to the primary action button.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Default size for both buttons.\n * @default 'md'\n */\n size?: ButtonSize;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Visual style variant shared by both buttons.\n * @default 'secondary'\n */\n variant?: ButtonProps['variant'];\n}\n\n/**\n * A directly-clickable primary action paired with an attached chevron toggle\n * that opens a menu of related actions.\n */\nexport function SplitButton({\n children,\n className,\n 'data-testid': dataTestId,\n endContent,\n hasAutoFocus,\n icon,\n isDisabled = false,\n isLoading,\n isMenuOpen,\n items,\n label,\n menuLabel = 'More actions',\n menuWidth,\n onClick,\n onOpenChange,\n ref,\n size = 'md',\n startContent,\n style,\n variant = 'secondary',\n}: SplitButtonProps): React.JSX.Element {\n return (\n <ButtonGroup\n className={className}\n isDisabled={isDisabled}\n label={label}\n size={size}\n style={style}>\n <Button\n data-testid={dataTestId}\n endContent={endContent}\n icon={icon}\n isLoading={isLoading}\n label={label}\n onClick={onClick}\n ref={ref}\n startContent={startContent}\n variant={variant}\n />\n <DropdownMenu\n button={{\n icon: ChevronDown,\n isIconOnly: true,\n label: menuLabel,\n variant,\n }}\n hasAutoFocus={hasAutoFocus}\n hasChevron={false}\n isMenuOpen={isMenuOpen}\n items={items}\n menuWidth={menuWidth}\n onOpenChange={onOpenChange}>\n {children}\n </DropdownMenu>\n </ButtonGroup>\n );\n}\n\nSplitButton.displayName = 'SplitButton';\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkJ4PIYOWT_cjs = require('./chunk-J4PIYOWT.cjs');
|
|
4
4
|
var chunkZ6RT3WPE_cjs = require('./chunk-Z6RT3WPE.cjs');
|
|
5
5
|
var chunkRU6JG3FS_cjs = require('./chunk-RU6JG3FS.cjs');
|
|
6
6
|
var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
|
|
@@ -12,6 +12,25 @@ var AccordionContext = react.createContext(
|
|
|
12
12
|
null
|
|
13
13
|
);
|
|
14
14
|
AccordionContext.displayName = "AccordionContext";
|
|
15
|
+
function useAccordionDevWarning(controlledValue) {
|
|
16
|
+
const prevControlledArrayRef = react.useRef(
|
|
17
|
+
void 0
|
|
18
|
+
);
|
|
19
|
+
const hasWarnedUnstableValueRef = react.useRef(false);
|
|
20
|
+
react.useEffect(() => {
|
|
21
|
+
if (process.env.NODE_ENV === "production" || !Array.isArray(controlledValue)) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
const prev = prevControlledArrayRef.current;
|
|
25
|
+
if (!hasWarnedUnstableValueRef.current && prev !== void 0 && prev !== controlledValue && prev.length === controlledValue.length && prev.every((item, i) => item === controlledValue[i])) {
|
|
26
|
+
hasWarnedUnstableValueRef.current = true;
|
|
27
|
+
console.warn(
|
|
28
|
+
"Accordion: the `value` array changed identity between renders but contains the same items. Memoize it (e.g. with `useMemo`) to avoid unnecessary re-renders of the accordion items."
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
prevControlledArrayRef.current = controlledValue;
|
|
32
|
+
}, [controlledValue]);
|
|
33
|
+
}
|
|
15
34
|
function normalizeToSet(value) {
|
|
16
35
|
if (value == null) {
|
|
17
36
|
return /* @__PURE__ */ new Set();
|
|
@@ -42,22 +61,7 @@ function Accordion({
|
|
|
42
61
|
const [internalValue, setInternalValue] = react.useState(
|
|
43
62
|
() => normalizeToSet(defaultValue)
|
|
44
63
|
);
|
|
45
|
-
|
|
46
|
-
void 0
|
|
47
|
-
);
|
|
48
|
-
const hasWarnedUnstableValueRef = react.useRef(false);
|
|
49
|
-
if (process.env.NODE_ENV !== "production") {
|
|
50
|
-
if (Array.isArray(controlledValue)) {
|
|
51
|
-
const prev = prevControlledArrayRef.current;
|
|
52
|
-
if (!hasWarnedUnstableValueRef.current && prev !== void 0 && prev !== controlledValue && prev.length === controlledValue.length && prev.every((item, i) => item === controlledValue[i])) {
|
|
53
|
-
hasWarnedUnstableValueRef.current = true;
|
|
54
|
-
console.warn(
|
|
55
|
-
"Accordion: the `value` array changed identity between renders but contains the same items. Memoize it (e.g. with `useMemo`) to avoid unnecessary re-renders of the accordion items."
|
|
56
|
-
);
|
|
57
|
-
}
|
|
58
|
-
prevControlledArrayRef.current = controlledValue;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
64
|
+
useAccordionDevWarning(controlledValue);
|
|
61
65
|
const openValues = react.useMemo(
|
|
62
66
|
() => isControlled ? normalizeToSet(controlledValue) : internalValue,
|
|
63
67
|
[isControlled, controlledValue, internalValue]
|
|
@@ -278,7 +282,7 @@ function AccordionItem({
|
|
|
278
282
|
type: "button",
|
|
279
283
|
children: [
|
|
280
284
|
trigger,
|
|
281
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: classes.chevron, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
285
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: classes.chevron, children: /* @__PURE__ */ jsxRuntime.jsx(chunkJ4PIYOWT_cjs.Icon, { icon: lucideReact.ChevronDown, size: "md" }) })
|
|
282
286
|
]
|
|
283
287
|
}
|
|
284
288
|
),
|
|
@@ -321,5 +325,5 @@ Collapsible.displayName = "Collapsible";
|
|
|
321
325
|
exports.Accordion = Accordion;
|
|
322
326
|
exports.AccordionItem = AccordionItem;
|
|
323
327
|
exports.Collapsible = Collapsible;
|
|
324
|
-
//# sourceMappingURL=chunk-
|
|
325
|
-
//# sourceMappingURL=chunk-
|
|
328
|
+
//# sourceMappingURL=chunk-ARUOMLOJ.cjs.map
|
|
329
|
+
//# sourceMappingURL=chunk-ARUOMLOJ.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Accordion/AccordionContext.tsx","../src/components/Accordion/useAccordionDevWarning.ts","../src/components/Accordion/Accordion.tsx","../src/components/Accordion/AccordionItem.recipe.ts","../src/components/Accordion/useCollapsible.ts","../src/components/Accordion/AccordionItem.tsx","../src/components/Accordion/Collapsible.tsx"],"names":["createContext","useRef","useEffect","css","useState","useMemo","useCallback","jsx","cx","sva","use","useId","jsxs","Icon","ChevronDown"],"mappings":"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","file":"chunk-ARUOMLOJ.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 {useEffect, useRef} from 'react';\n\n/**\n * Dev-only: warns when a controlled `value` array is recreated each render with\n * the same contents, which defeats the `openValues` memo and forces unnecessary\n * re-renders. Runs in an effect (not during render) so the ref reads/writes stay\n * pure, and the whole hook is inert in production.\n */\nexport function useAccordionDevWarning(\n controlledValue: string | string[] | null | undefined,\n): void {\n const prevControlledArrayRef = useRef<ReadonlyArray<string> | undefined>(\n undefined,\n );\n const hasWarnedUnstableValueRef = useRef(false);\n useEffect(() => {\n if (\n process.env.NODE_ENV === 'production' ||\n !Array.isArray(controlledValue)\n ) {\n return;\n }\n const prev = prevControlledArrayRef.current;\n if (\n !hasWarnedUnstableValueRef.current &&\n prev !== undefined &&\n prev !== controlledValue &&\n prev.length === controlledValue.length &&\n prev.every((item, i) => item === controlledValue[i])\n ) {\n hasWarnedUnstableValueRef.current = true;\n console.warn(\n 'Accordion: the `value` array changed identity between renders but ' +\n 'contains the same items. Memoize it (e.g. with `useMemo`) to ' +\n 'avoid unnecessary re-renders of the accordion items.',\n );\n }\n prevControlledArrayRef.current = controlledValue;\n }, [controlledValue]);\n}\n","import {\n useCallback,\n useMemo,\n useState,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {\n AccordionContext,\n type AccordionContextValue,\n} from 'components/Accordion/AccordionContext';\nimport {useAccordionDevWarning} from 'components/Accordion/useAccordionDevWarning';\nimport {cx} from 'internal/cx';\nimport {css} from 'styled-system/css';\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 useAccordionDevWarning(controlledValue);\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 {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const accordionItemRecipe = sva({\n slots: ['root', 'trigger', 'chevron', 'panel', 'panelInner'],\n base: {\n root: {\n w: '100%',\n },\n trigger: {\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: {\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 panel: {\n display: 'grid',\n gridTemplateRows: '1fr',\n // `visibility` is transitioned alongside the rows so the content stays\n // readable while collapsing, then becomes `hidden` (removing it from the\n // a11y tree and tab order) once closed. The inline `visibility` style in\n // the component drives the open/closed value.\n transitionProperty: 'grid-template-rows, visibility',\n transitionDuration: 'normal',\n transitionTimingFunction: 'default',\n '@media (prefers-reduced-motion: reduce)': {\n transitionDuration: '0.01s',\n },\n },\n panelInner: {\n overflow: 'hidden',\n minH: 0,\n pt: '1',\n },\n },\n variants: {\n isOpen: {\n true: {\n chevron: {transform: 'rotate(180deg)'},\n },\n false: {\n panel: {gridTemplateRows: '0fr'},\n },\n },\n },\n defaultVariants: {\n isOpen: false,\n },\n});\n\nexport type AccordionItemVariants = RecipeVariantProps<\n typeof accordionItemRecipe\n>;\n","import {use, useCallback, useState} from 'react';\nimport {AccordionContext} from 'components/Accordion/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 configIsOpen = config?.isOpen;\n const onOpenChange = config?.onOpenChange;\n\n // Depend on the primitive config fields rather than the `config` object so\n // the toggle keeps a stable identity across renders (callers commonly build\n // a fresh `config` object each render). Re-checking `group`/`value` inside\n // the callback also gives TypeScript the non-null narrowing it needs.\n const toggle = useCallback(() => {\n if (group != null && value != null) {\n group.toggle(value);\n } else if (group != null) {\n // Inside a group but missing a `value` prop: nothing to toggle.\n return;\n } else if (configIsOpen !== undefined) {\n onOpenChange?.(!configIsOpen);\n } else {\n setInternalIsOpen(prev => !prev);\n onOpenChange?.(!isOpen);\n }\n }, [group, value, configIsOpen, onOpenChange, isOpen]);\n\n return {isOpen, toggle};\n}\n","import {ChevronDown} from 'lucide-react';\nimport {useId, type CSSProperties, type ReactNode, type Ref} from 'react';\nimport {accordionItemRecipe} from 'components/Accordion/AccordionItem.recipe';\nimport {useCollapsible} from 'components/Accordion/useCollapsible';\nimport {Icon} from 'components/Icon';\nimport {cx} from 'internal/cx';\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\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 const classes = accordionItemRecipe({isOpen});\n\n return (\n <div\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n <button\n aria-controls={panelId}\n aria-expanded={isOpen}\n className={classes.trigger}\n disabled={isDisabled}\n id={triggerId}\n onClick={toggle}\n type=\"button\">\n {trigger}\n <span className={classes.chevron}>\n <Icon icon={ChevronDown} size=\"md\" />\n </span>\n </button>\n <div\n aria-labelledby={triggerId}\n className={classes.panel}\n id={panelId}\n role=\"region\"\n style={{visibility: isOpen ? undefined : 'hidden'}}>\n <div className={classes.panelInner}>{children}</div>\n </div>\n </div>\n );\n}\n\nAccordionItem.displayName = 'AccordionItem';\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {AccordionItem} from 'components/Accordion/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"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Card } from './chunk-
|
|
2
|
-
import { Divider } from './chunk-
|
|
3
|
-
import { Button } from './chunk-
|
|
4
|
-
import { token } from './chunk-
|
|
1
|
+
import { Card } from './chunk-EIT2QSCA.js';
|
|
2
|
+
import { Divider } from './chunk-BQWUTDTN.js';
|
|
3
|
+
import { Button } from './chunk-THTVYP5V.js';
|
|
4
|
+
import { token } from './chunk-RJEZBOSH.js';
|
|
5
5
|
import { sva } from './chunk-IAVZKGZS.js';
|
|
6
6
|
import { cx } from './chunk-PPNETWIP.js';
|
|
7
7
|
import { Check, Copy } from 'lucide-react';
|
|
@@ -410,5 +410,5 @@ function CodeBlock({
|
|
|
410
410
|
CodeBlock.displayName = "CodeBlock";
|
|
411
411
|
|
|
412
412
|
export { CodeBlock };
|
|
413
|
-
//# sourceMappingURL=chunk-
|
|
414
|
-
//# sourceMappingURL=chunk-
|
|
413
|
+
//# sourceMappingURL=chunk-AV7D3SXF.js.map
|
|
414
|
+
//# sourceMappingURL=chunk-AV7D3SXF.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/CodeBlock/CodeBlock.recipe.ts","../src/components/CodeBlock/CodeBlock.tsx"],"names":[],"mappings":"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","file":"chunk-YAWVGZRC.js","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const codeBlockRecipe = sva({\n slots: [\n 'root',\n 'header',\n 'headerTitle',\n 'scroll',\n 'body',\n 'gutter',\n 'gutterLine',\n 'pre',\n 'code',\n 'line',\n 'copyButtonFloating',\n 'inlineCode',\n 'inlineDivider',\n ],\n base: {\n root: {\n color: 'fg',\n overflow: 'hidden',\n },\n header: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: '3',\n px: '4',\n py: '2',\n borderBlockEndWidth: 'default',\n borderBlockEndStyle: 'solid',\n borderBlockEndColor: 'border',\n },\n headerTitle: {\n minW: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n color: 'fg.muted',\n fontFamily: 'mono',\n fontSize: 'xs',\n fontWeight: 'medium',\n },\n scroll: {\n overflow: 'auto',\n },\n body: {\n display: 'flex',\n minW: 'fit-content',\n },\n gutter: {\n flexShrink: 0,\n py: '3',\n ps: '4',\n pe: '3',\n borderInlineEndWidth: 'default',\n borderInlineEndStyle: 'solid',\n borderInlineEndColor: 'border',\n color: 'fg.muted',\n textAlign: 'end',\n userSelect: 'none',\n },\n gutterLine: {\n fontFamily: 'mono',\n lineHeight: '1.5rem',\n },\n pre: {\n m: 0,\n flex: 1,\n minW: 0,\n },\n code: {\n display: 'flex',\n flexDirection: 'column',\n color: 'fg',\n fontFamily: 'mono',\n tabSize: 2,\n whiteSpace: 'pre',\n wordBreak: 'normal',\n overflowWrap: 'normal',\n },\n line: {\n display: 'block',\n minH: '1.5rem',\n '&[data-highlighted]': {\n bg: 'bg.selected',\n mx: 'calc(var(--cb-padding) * -1)',\n px: 'var(--cb-padding)',\n },\n },\n copyButtonFloating: {\n position: 'absolute',\n top: '3',\n right: '3',\n zIndex: 1,\n // On hover-capable devices, hide until the block is hovered/focused (the\n // root reveals it via [data-cb-copy]). On touch devices it stays visible.\n '@media (hover: hover)': {\n opacity: 0,\n pointerEvents: 'none',\n transitionProperty: 'opacity',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n '@media (prefers-reduced-motion: reduce)': {\n transitionDuration: '0s',\n },\n },\n },\n inlineCode: {\n minW: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'pre',\n fontFamily: 'mono',\n },\n inlineDivider: {\n alignSelf: 'stretch',\n ms: '1.5',\n },\n },\n variants: {\n container: {\n card: {\n root: {\n position: 'relative',\n isolation: 'isolate',\n display: 'flex',\n flexDirection: 'column',\n borderRadius: 'md',\n '&:hover [data-cb-copy], &:focus-within [data-cb-copy]': {\n opacity: 1,\n pointerEvents: 'auto',\n },\n },\n },\n section: {\n root: {\n position: 'relative',\n isolation: 'isolate',\n display: 'flex',\n flexDirection: 'column',\n '&:hover [data-cb-copy], &:focus-within [data-cb-copy]': {\n opacity: 1,\n pointerEvents: 'auto',\n },\n },\n },\n inline: {\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '1',\n maxWidth: '100%',\n ps: '2.5',\n },\n },\n },\n size: {\n sm: {\n code: {fontSize: 'xs', lineHeight: '1.5rem'},\n gutter: {fontSize: 'xs', lineHeight: '1.5rem'},\n inlineCode: {fontSize: 'xs', lineHeight: '1.5rem'},\n },\n md: {\n code: {fontSize: 'sm', lineHeight: '1.5rem'},\n gutter: {fontSize: 'sm', lineHeight: '1.5rem'},\n inlineCode: {fontSize: 'sm', lineHeight: '1.5rem'},\n },\n },\n isWrapped: {\n true: {\n code: {\n whiteSpace: 'pre-wrap',\n wordBreak: 'break-word',\n overflowWrap: 'anywhere',\n },\n },\n },\n hasFloatingCopy: {\n true: {\n code: {pe: '12'},\n },\n },\n },\n defaultVariants: {\n container: 'card',\n size: 'md',\n isWrapped: false,\n hasFloatingCopy: false,\n },\n});\n\nexport type CodeBlockVariants = RecipeVariantProps<typeof codeBlockRecipe>;\n","'use client';\n\nimport {Check, Copy} from 'lucide-react';\nimport {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type Ref,\n} from 'react';\nimport {token} from 'styled-system/tokens';\nimport {cx} from '../../internal/cx';\nimport type {SpacingToken} from '../../internal/spacingTokens';\nimport {Button} from '../Button';\nimport {Card} from '../Card';\nimport {Divider} from '../Divider';\nimport {codeBlockRecipe} from './CodeBlock.recipe';\n\nexport type CodeBlockContainer = 'card' | 'section' | 'inline';\nexport type CodeBlockSize = 'sm' | 'md';\n\nexport interface CodeBlockProps {\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Source code to display.\n */\n code: string;\n /**\n * Container presentation style. Use `'inline'` for a compact, single-line\n * snippet (e.g. an install command) with the copy button rendered inline;\n * line numbers, titles, and `maxHeight` do not apply to inline blocks.\n * @default 'card'\n */\n container?: CodeBlockContainer;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Whether to show a copy button.\n * @default true\n */\n hasCopyButton?: boolean;\n /**\n * Whether to render line numbers.\n * @default false\n */\n hasLineNumbers?: boolean;\n /**\n * One-based line numbers to visually highlight.\n */\n highlightLines?: number[];\n /**\n * Whether long lines should wrap.\n * @default false\n */\n isWrapped?: boolean;\n /**\n * Accessible label for the code block region.\n */\n label?: string;\n /**\n * Maximum scrollable body height. Numbers are treated as pixels.\n */\n maxHeight?: number | string;\n /**\n * Called after code is successfully copied.\n */\n onCopy?: () => void;\n /**\n * Inner padding step.\n * @default 4\n */\n padding?: SpacingToken;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Visual size.\n * @default 'md'\n */\n size?: CodeBlockSize;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Optional header title.\n */\n title?: string;\n /**\n * Width of the code block. Accepts any CSS width value.\n * @default 'fit-content'\n */\n width?: string;\n}\n\nfunction getLines(code: string): string[] {\n const lines = code.split('\\n');\n if (lines.length > 1 && lines[lines.length - 1] === '') {\n lines.pop();\n }\n return lines;\n}\n\nfunction getLineEntries(code: string): {lineNumber: number; text: string}[] {\n return getLines(code).map((text, index) => ({\n lineNumber: index + 1,\n text,\n }));\n}\n\nfunction getRegionLabel({\n label,\n title,\n}: {\n label?: string;\n title?: string;\n}): string {\n if (label != null) {\n return label;\n }\n\n if (title != null && title.length > 0) {\n return `${title} code block`;\n }\n\n return 'Code block';\n}\n\n/**\n * Read-only source code display.\n */\nexport function CodeBlock({\n className,\n code,\n container = 'card',\n 'data-testid': dataTestId,\n hasCopyButton = true,\n hasLineNumbers = false,\n highlightLines,\n isWrapped = false,\n label,\n maxHeight,\n onCopy,\n padding = 4,\n ref,\n size = 'md',\n style,\n title,\n width = 'fit-content',\n}: CodeBlockProps): React.JSX.Element {\n const [copied, setCopied] = useState(false);\n const copiedResetTimeoutRef = useRef<number | null>(null);\n const lines = useMemo(() => getLineEntries(code), [code]);\n const highlightLineKey = highlightLines?.join(',');\n const highlightedLines = useMemo(\n () =>\n highlightLineKey == null || highlightLineKey.length === 0\n ? null\n : new Set(highlightLineKey.split(',').map(Number)),\n [highlightLineKey],\n );\n const isInline = container === 'inline';\n const showHeader = !isInline && title != null;\n const regionLabel = getRegionLabel({label, title});\n\n const classes = codeBlockRecipe({\n container,\n size,\n isWrapped,\n hasFloatingCopy: !showHeader && hasCopyButton,\n });\n\n useEffect(() => {\n return () => {\n if (copiedResetTimeoutRef.current != null) {\n window.clearTimeout(copiedResetTimeoutRef.current);\n }\n };\n }, []);\n\n const handleCopy = useCallback(async () => {\n try {\n await navigator.clipboard.writeText(code);\n setCopied(true);\n onCopy?.();\n if (copiedResetTimeoutRef.current != null) {\n window.clearTimeout(copiedResetTimeoutRef.current);\n }\n copiedResetTimeoutRef.current = window.setTimeout(() => {\n setCopied(false);\n copiedResetTimeoutRef.current = null;\n }, 2000);\n } catch {\n // Clipboard failures leave the copied state unchanged.\n }\n }, [code, onCopy]);\n\n const paddingToken = token(`spacing.${padding}`);\n const codeStyle: CSSProperties = {\n ['--cb-padding' as string]: paddingToken,\n padding: paddingToken,\n };\n\n const rootStyle: CSSProperties = isInline\n ? {...style}\n : {\n width,\n minWidth: width === 'fit-content' ? 'min(100%, 400px)' : undefined,\n maxWidth: width === 'fit-content' ? '100%' : undefined,\n ...style,\n };\n const scrollStyle: CSSProperties | undefined =\n maxHeight == null\n ? undefined\n : {\n maxHeight:\n typeof maxHeight === 'number' ? `${maxHeight}px` : maxHeight,\n };\n const scrollRegionProps = {\n 'aria-label': `${regionLabel} scroll area`,\n role: 'region',\n tabIndex: 0,\n } as const;\n\n const copyLabel = copied ? 'Copied' : 'Copy code';\n const copyButton = hasCopyButton ? (\n <Button\n icon={copied ? Check : Copy}\n isIconOnly\n label={copyLabel}\n onClick={() => {\n void handleCopy();\n }}\n size=\"sm\"\n tooltip={copyLabel}\n variant=\"ghost\"\n />\n ) : null;\n\n if (isInline) {\n return (\n <Card\n aria-label={regionLabel}\n className={cx(classes.root, className)}\n data-container={container}\n data-size={size}\n data-testid={dataTestId}\n padding={1}\n ref={ref}\n role=\"group\"\n style={rootStyle}>\n <code\n className={classes.inlineCode}\n data-testid={dataTestId == null ? undefined : `${dataTestId}-code`}>\n {code}\n </code>\n {copyButton != null ? (\n <>\n <Divider\n className={classes.inlineDivider}\n height=\"auto\"\n isFullBleed\n orientation=\"vertical\"\n />\n {copyButton}\n </>\n ) : null}\n </Card>\n );\n }\n\n return (\n <Card\n aria-label={regionLabel}\n className={cx(classes.root, className)}\n data-container={container}\n data-size={size}\n data-testid={dataTestId}\n ref={ref}\n role=\"region\"\n style={rootStyle}\n variant={container === 'section' ? 'section' : 'default'}>\n {showHeader ? (\n <div className={classes.header}>\n <div className={classes.headerTitle}>{title}</div>\n {copyButton}\n </div>\n ) : null}\n <div\n {...scrollRegionProps}\n className={classes.scroll}\n data-testid={dataTestId == null ? undefined : `${dataTestId}-scroll`}\n style={scrollStyle}>\n <div className={classes.body}>\n {hasLineNumbers ? (\n <div aria-hidden=\"true\" className={classes.gutter}>\n {lines.map(line => (\n <div className={classes.gutterLine} key={line.lineNumber}>\n {line.lineNumber}\n </div>\n ))}\n </div>\n ) : null}\n <pre className={classes.pre}>\n <code\n className={classes.code}\n data-testid={\n dataTestId == null ? undefined : `${dataTestId}-code`\n }\n data-wrapped={isWrapped ? '' : undefined}\n style={codeStyle}>\n {lines.map(line => (\n <span\n className={classes.line}\n data-highlighted={\n highlightedLines?.has(line.lineNumber) ? '' : undefined\n }\n data-line={line.lineNumber}\n key={line.lineNumber}>\n {line.text.length === 0 ? '\\u200b' : line.text}\n </span>\n ))}\n </code>\n </pre>\n </div>\n </div>\n {!showHeader && copyButton != null ? (\n <div className={classes.copyButtonFloating} data-cb-copy=\"\">\n {copyButton}\n </div>\n ) : null}\n </Card>\n );\n}\n\nCodeBlock.displayName = 'CodeBlock';\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/CodeBlock/CodeBlock.recipe.ts","../src/components/CodeBlock/CodeBlock.tsx"],"names":[],"mappings":"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","file":"chunk-AV7D3SXF.js","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const codeBlockRecipe = sva({\n slots: [\n 'root',\n 'header',\n 'headerTitle',\n 'scroll',\n 'body',\n 'gutter',\n 'gutterLine',\n 'pre',\n 'code',\n 'line',\n 'copyButtonFloating',\n 'inlineCode',\n 'inlineDivider',\n ],\n base: {\n root: {\n color: 'fg',\n overflow: 'hidden',\n },\n header: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: '3',\n px: '4',\n py: '2',\n borderBlockEndWidth: 'default',\n borderBlockEndStyle: 'solid',\n borderBlockEndColor: 'border',\n },\n headerTitle: {\n minW: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n color: 'fg.muted',\n fontFamily: 'mono',\n fontSize: 'xs',\n fontWeight: 'medium',\n },\n scroll: {\n overflow: 'auto',\n },\n body: {\n display: 'flex',\n minW: 'fit-content',\n },\n gutter: {\n flexShrink: 0,\n py: '3',\n ps: '4',\n pe: '3',\n borderInlineEndWidth: 'default',\n borderInlineEndStyle: 'solid',\n borderInlineEndColor: 'border',\n color: 'fg.muted',\n textAlign: 'end',\n userSelect: 'none',\n },\n gutterLine: {\n fontFamily: 'mono',\n lineHeight: '1.5rem',\n },\n pre: {\n m: 0,\n flex: 1,\n minW: 0,\n },\n code: {\n display: 'flex',\n flexDirection: 'column',\n color: 'fg',\n fontFamily: 'mono',\n tabSize: 2,\n whiteSpace: 'pre',\n wordBreak: 'normal',\n overflowWrap: 'normal',\n },\n line: {\n display: 'block',\n minH: '1.5rem',\n '&[data-highlighted]': {\n bg: 'bg.selected',\n mx: 'calc(var(--cb-padding) * -1)',\n px: 'var(--cb-padding)',\n },\n },\n copyButtonFloating: {\n position: 'absolute',\n top: '3',\n right: '3',\n zIndex: 1,\n // On hover-capable devices, hide until the block is hovered/focused (the\n // root reveals it via [data-cb-copy]). On touch devices it stays visible.\n '@media (hover: hover)': {\n opacity: 0,\n pointerEvents: 'none',\n transitionProperty: 'opacity',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n '@media (prefers-reduced-motion: reduce)': {\n transitionDuration: '0s',\n },\n },\n },\n inlineCode: {\n minW: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'pre',\n fontFamily: 'mono',\n },\n inlineDivider: {\n alignSelf: 'stretch',\n ms: '1.5',\n },\n },\n variants: {\n container: {\n card: {\n root: {\n position: 'relative',\n isolation: 'isolate',\n display: 'flex',\n flexDirection: 'column',\n borderRadius: 'md',\n '&:hover [data-cb-copy], &:focus-within [data-cb-copy]': {\n opacity: 1,\n pointerEvents: 'auto',\n },\n },\n },\n section: {\n root: {\n position: 'relative',\n isolation: 'isolate',\n display: 'flex',\n flexDirection: 'column',\n '&:hover [data-cb-copy], &:focus-within [data-cb-copy]': {\n opacity: 1,\n pointerEvents: 'auto',\n },\n },\n },\n inline: {\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '1',\n maxWidth: '100%',\n ps: '2.5',\n },\n },\n },\n size: {\n sm: {\n code: {fontSize: 'xs', lineHeight: '1.5rem'},\n gutter: {fontSize: 'xs', lineHeight: '1.5rem'},\n inlineCode: {fontSize: 'xs', lineHeight: '1.5rem'},\n },\n md: {\n code: {fontSize: 'sm', lineHeight: '1.5rem'},\n gutter: {fontSize: 'sm', lineHeight: '1.5rem'},\n inlineCode: {fontSize: 'sm', lineHeight: '1.5rem'},\n },\n },\n isWrapped: {\n true: {\n code: {\n whiteSpace: 'pre-wrap',\n wordBreak: 'break-word',\n overflowWrap: 'anywhere',\n },\n },\n },\n hasFloatingCopy: {\n true: {\n code: {pe: '12'},\n },\n },\n },\n defaultVariants: {\n container: 'card',\n size: 'md',\n isWrapped: false,\n hasFloatingCopy: false,\n },\n});\n\nexport type CodeBlockVariants = RecipeVariantProps<typeof codeBlockRecipe>;\n","'use client';\n\nimport {Check, Copy} from 'lucide-react';\nimport {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type Ref,\n} from 'react';\nimport {Button} from 'components/Button';\nimport {Card} from 'components/Card';\nimport {codeBlockRecipe} from 'components/CodeBlock/CodeBlock.recipe';\nimport {Divider} from 'components/Divider';\nimport {cx} from 'internal/cx';\nimport type {SpacingToken} from 'internal/spacingTokens';\nimport {token} from 'styled-system/tokens';\n\nexport type CodeBlockContainer = 'card' | 'section' | 'inline';\nexport type CodeBlockSize = 'sm' | 'md';\n\nexport interface CodeBlockProps {\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Source code to display.\n */\n code: string;\n /**\n * Container presentation style. Use `'inline'` for a compact, single-line\n * snippet (e.g. an install command) with the copy button rendered inline;\n * line numbers, titles, and `maxHeight` do not apply to inline blocks.\n * @default 'card'\n */\n container?: CodeBlockContainer;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Whether to show a copy button.\n * @default true\n */\n hasCopyButton?: boolean;\n /**\n * Whether to render line numbers.\n * @default false\n */\n hasLineNumbers?: boolean;\n /**\n * One-based line numbers to visually highlight.\n */\n highlightLines?: number[];\n /**\n * Whether long lines should wrap.\n * @default false\n */\n isWrapped?: boolean;\n /**\n * Accessible label for the code block region.\n */\n label?: string;\n /**\n * Maximum scrollable body height. Numbers are treated as pixels.\n */\n maxHeight?: number | string;\n /**\n * Called after code is successfully copied.\n */\n onCopy?: () => void;\n /**\n * Inner padding step.\n * @default 4\n */\n padding?: SpacingToken;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Visual size.\n * @default 'md'\n */\n size?: CodeBlockSize;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Optional header title.\n */\n title?: string;\n /**\n * Width of the code block. Accepts any CSS width value.\n * @default 'fit-content'\n */\n width?: string;\n}\n\nfunction getLines(code: string): string[] {\n const lines = code.split('\\n');\n if (lines.length > 1 && lines[lines.length - 1] === '') {\n lines.pop();\n }\n return lines;\n}\n\nfunction getLineEntries(code: string): {lineNumber: number; text: string}[] {\n return getLines(code).map((text, index) => ({\n lineNumber: index + 1,\n text,\n }));\n}\n\nfunction getRegionLabel({\n label,\n title,\n}: {\n label?: string;\n title?: string;\n}): string {\n if (label != null) {\n return label;\n }\n\n if (title != null && title.length > 0) {\n return `${title} code block`;\n }\n\n return 'Code block';\n}\n\n/**\n * Read-only source code display.\n */\nexport function CodeBlock({\n className,\n code,\n container = 'card',\n 'data-testid': dataTestId,\n hasCopyButton = true,\n hasLineNumbers = false,\n highlightLines,\n isWrapped = false,\n label,\n maxHeight,\n onCopy,\n padding = 4,\n ref,\n size = 'md',\n style,\n title,\n width = 'fit-content',\n}: CodeBlockProps): React.JSX.Element {\n const [copied, setCopied] = useState(false);\n const copiedResetTimeoutRef = useRef<number | null>(null);\n const lines = useMemo(() => getLineEntries(code), [code]);\n const highlightLineKey = highlightLines?.join(',');\n const highlightedLines = useMemo(\n () =>\n highlightLineKey == null || highlightLineKey.length === 0\n ? null\n : new Set(highlightLineKey.split(',').map(Number)),\n [highlightLineKey],\n );\n const isInline = container === 'inline';\n const showHeader = !isInline && title != null;\n const regionLabel = getRegionLabel({label, title});\n\n const classes = codeBlockRecipe({\n container,\n size,\n isWrapped,\n hasFloatingCopy: !showHeader && hasCopyButton,\n });\n\n useEffect(() => {\n return () => {\n if (copiedResetTimeoutRef.current != null) {\n window.clearTimeout(copiedResetTimeoutRef.current);\n }\n };\n }, []);\n\n const handleCopy = useCallback(async () => {\n try {\n await navigator.clipboard.writeText(code);\n setCopied(true);\n onCopy?.();\n if (copiedResetTimeoutRef.current != null) {\n window.clearTimeout(copiedResetTimeoutRef.current);\n }\n copiedResetTimeoutRef.current = window.setTimeout(() => {\n setCopied(false);\n copiedResetTimeoutRef.current = null;\n }, 2000);\n } catch {\n // Clipboard failures leave the copied state unchanged.\n }\n }, [code, onCopy]);\n\n const paddingToken = token(`spacing.${padding}`);\n const codeStyle: CSSProperties = {\n ['--cb-padding' as string]: paddingToken,\n padding: paddingToken,\n };\n\n const rootStyle: CSSProperties = isInline\n ? {...style}\n : {\n width,\n minWidth: width === 'fit-content' ? 'min(100%, 400px)' : undefined,\n maxWidth: width === 'fit-content' ? '100%' : undefined,\n ...style,\n };\n const scrollStyle: CSSProperties | undefined =\n maxHeight == null\n ? undefined\n : {\n maxHeight:\n typeof maxHeight === 'number' ? `${maxHeight}px` : maxHeight,\n };\n const scrollRegionProps = {\n 'aria-label': `${regionLabel} scroll area`,\n role: 'region',\n tabIndex: 0,\n } as const;\n\n const copyLabel = copied ? 'Copied' : 'Copy code';\n const copyButton = hasCopyButton ? (\n <Button\n icon={copied ? Check : Copy}\n isIconOnly\n label={copyLabel}\n onClick={() => {\n void handleCopy();\n }}\n size=\"sm\"\n tooltip={copyLabel}\n variant=\"ghost\"\n />\n ) : null;\n\n if (isInline) {\n return (\n <Card\n aria-label={regionLabel}\n className={cx(classes.root, className)}\n data-container={container}\n data-size={size}\n data-testid={dataTestId}\n padding={1}\n ref={ref}\n role=\"group\"\n style={rootStyle}>\n <code\n className={classes.inlineCode}\n data-testid={dataTestId == null ? undefined : `${dataTestId}-code`}>\n {code}\n </code>\n {copyButton != null ? (\n <>\n <Divider\n className={classes.inlineDivider}\n height=\"auto\"\n isFullBleed\n orientation=\"vertical\"\n />\n {copyButton}\n </>\n ) : null}\n </Card>\n );\n }\n\n return (\n <Card\n aria-label={regionLabel}\n className={cx(classes.root, className)}\n data-container={container}\n data-size={size}\n data-testid={dataTestId}\n ref={ref}\n role=\"region\"\n style={rootStyle}\n variant={container === 'section' ? 'section' : 'default'}>\n {showHeader ? (\n <div className={classes.header}>\n <div className={classes.headerTitle}>{title}</div>\n {copyButton}\n </div>\n ) : null}\n <div\n {...scrollRegionProps}\n className={classes.scroll}\n data-testid={dataTestId == null ? undefined : `${dataTestId}-scroll`}\n style={scrollStyle}>\n <div className={classes.body}>\n {hasLineNumbers ? (\n <div aria-hidden=\"true\" className={classes.gutter}>\n {lines.map(line => (\n <div className={classes.gutterLine} key={line.lineNumber}>\n {line.lineNumber}\n </div>\n ))}\n </div>\n ) : null}\n <pre className={classes.pre}>\n <code\n className={classes.code}\n data-testid={\n dataTestId == null ? undefined : `${dataTestId}-code`\n }\n data-wrapped={isWrapped ? '' : undefined}\n style={codeStyle}>\n {lines.map(line => (\n <span\n className={classes.line}\n data-highlighted={\n highlightedLines?.has(line.lineNumber) ? '' : undefined\n }\n data-line={line.lineNumber}\n key={line.lineNumber}>\n {line.text.length === 0 ? '\\u200b' : line.text}\n </span>\n ))}\n </code>\n </pre>\n </div>\n </div>\n {!showHeader && copyButton != null ? (\n <div className={classes.copyButtonFloating} data-cb-copy=\"\">\n {copyButton}\n </div>\n ) : null}\n </Card>\n );\n}\n\nCodeBlock.displayName = 'CodeBlock';\n"]}
|