silver-ui 0.4.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -65
- package/dist/{chunk-JYVYCU22.cjs → chunk-27EAV2GT.cjs} +2 -2
- package/dist/chunk-27EAV2GT.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-AP7BDTTF.js → chunk-2SN3KVWF.js} +5 -5
- package/dist/chunk-2SN3KVWF.js.map +1 -0
- package/dist/{chunk-SCGXGVNN.cjs → chunk-3IDT3PZC.cjs} +18 -18
- package/dist/{chunk-SCGXGVNN.cjs.map → chunk-3IDT3PZC.cjs.map} +1 -1
- package/dist/chunk-3NIDAKCF.cjs +38 -0
- package/dist/chunk-3NIDAKCF.cjs.map +1 -0
- package/dist/chunk-3PEK2Q54.cjs +31 -0
- package/dist/chunk-3PEK2Q54.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-J3DNWPXJ.js → chunk-4426KMA7.js} +2 -2
- package/dist/{chunk-J3DNWPXJ.js.map → chunk-4426KMA7.js.map} +1 -1
- package/dist/{chunk-L6VSBBPP.js → chunk-45OSUS5A.js} +176 -102
- package/dist/chunk-45OSUS5A.js.map +1 -0
- package/dist/{chunk-FMLIYHDP.js → chunk-4EUUZQAM.js} +5 -5
- package/dist/chunk-4EUUZQAM.js.map +1 -0
- package/dist/{chunk-VUCMGGU5.js → chunk-4JJFQZVY.js} +129 -121
- package/dist/chunk-4JJFQZVY.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-5FQKELP6.js +28 -0
- package/dist/chunk-5FQKELP6.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-5JROXZBG.cjs +491 -0
- package/dist/chunk-5JROXZBG.cjs.map +1 -0
- package/dist/{chunk-FNZOICR4.cjs → chunk-5K3C3INR.cjs} +29 -58
- package/dist/chunk-5K3C3INR.cjs.map +1 -0
- package/dist/{chunk-N2TNBDQI.js → chunk-5RFHYDQY.js} +17 -12
- package/dist/chunk-5RFHYDQY.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-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-BULJWVPU.cjs → chunk-6FC5YF2O.cjs} +19 -19
- package/dist/{chunk-BULJWVPU.cjs.map → chunk-6FC5YF2O.cjs.map} +1 -1
- package/dist/{chunk-2N6FOSNM.js → chunk-6I5QWA6A.js} +210 -172
- package/dist/chunk-6I5QWA6A.js.map +1 -0
- package/dist/chunk-6ZV7HGZT.cjs +169 -0
- package/dist/chunk-6ZV7HGZT.cjs.map +1 -0
- package/dist/{chunk-GL7PSN7H.cjs → chunk-7EE6DCRP.cjs} +29 -23
- package/dist/chunk-7EE6DCRP.cjs.map +1 -0
- package/dist/{chunk-6XWXBXYE.js → chunk-7TJ2O56S.js} +8 -10
- package/dist/chunk-7TJ2O56S.js.map +1 -0
- package/dist/chunk-A2AC6WL5.cjs +4 -0
- package/dist/chunk-A2AC6WL5.cjs.map +1 -0
- package/dist/{chunk-TBOQTPRO.cjs → chunk-AFJEAYR4.cjs} +91 -57
- package/dist/chunk-AFJEAYR4.cjs.map +1 -0
- package/dist/chunk-AFXU6XIS.js +3 -0
- package/dist/chunk-AFXU6XIS.js.map +1 -0
- package/dist/{chunk-PIZMCOKL.js → chunk-AKAXQ4RL.js} +276 -246
- package/dist/chunk-AKAXQ4RL.js.map +1 -0
- package/dist/{chunk-O2WICOUK.cjs → chunk-ARUOMLOJ.cjs} +24 -20
- package/dist/chunk-ARUOMLOJ.cjs.map +1 -0
- package/dist/{chunk-3OIUA2NY.js → chunk-ATK3F3MC.js} +5 -5
- package/dist/{chunk-3OIUA2NY.js.map → chunk-ATK3F3MC.js.map} +1 -1
- package/dist/{chunk-6ONAGCCZ.js → chunk-B5QX6KGJ.js} +113 -105
- package/dist/chunk-B5QX6KGJ.js.map +1 -0
- package/dist/{chunk-52WQDDWQ.js → chunk-BDFNEQR3.js} +50 -50
- package/dist/chunk-BDFNEQR3.js.map +1 -0
- package/dist/{chunk-JDAJ2HJQ.js → chunk-BGLT7XH6.js} +9 -9
- package/dist/chunk-BGLT7XH6.js.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-UUVLEOSD.js → chunk-BNGYGCT2.js} +9 -9
- package/dist/chunk-BNGYGCT2.js.map +1 -0
- 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-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-NFABMGNH.js → chunk-C6EWA3H2.js} +8 -8
- package/dist/chunk-C6EWA3H2.js.map +1 -0
- package/dist/{chunk-YWGYN6YV.cjs → chunk-CABYRYVA.cjs} +171 -153
- package/dist/chunk-CABYRYVA.cjs.map +1 -0
- package/dist/{chunk-5D2OR64D.cjs → chunk-CNDUYO7I.cjs} +7 -15
- package/dist/chunk-CNDUYO7I.cjs.map +1 -0
- package/dist/chunk-CPDWUT2H.cjs +59 -0
- package/dist/chunk-CPDWUT2H.cjs.map +1 -0
- package/dist/{chunk-C6EYCIKJ.cjs → chunk-CVT7JW6C.cjs} +276 -246
- package/dist/chunk-CVT7JW6C.cjs.map +1 -0
- package/dist/chunk-CZUMVOPH.js +3525 -0
- package/dist/chunk-CZUMVOPH.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-U6NH54YD.js → chunk-DAO4UXR4.js} +166 -148
- package/dist/chunk-DAO4UXR4.js.map +1 -0
- package/dist/{chunk-RDNMAV5B.js → chunk-DE7JLNSO.js} +2 -2
- package/dist/chunk-DE7JLNSO.js.map +1 -0
- package/dist/{chunk-TF7XVTSP.cjs → chunk-DFEAB7Z3.cjs} +15 -15
- package/dist/chunk-DFEAB7Z3.cjs.map +1 -0
- package/dist/{chunk-BLRWA445.cjs → chunk-DK6USFZP.cjs} +27 -27
- package/dist/chunk-DK6USFZP.cjs.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-JIVYPJKO.js → chunk-DPSAPA6B.js} +6 -6
- package/dist/chunk-DPSAPA6B.js.map +1 -0
- package/dist/{chunk-YAWVGZRC.js → chunk-DWZR2AGT.js} +6 -6
- package/dist/{chunk-YAWVGZRC.js.map → chunk-DWZR2AGT.js.map} +1 -1
- package/dist/{chunk-FB245S6T.cjs → chunk-DXUFDJHA.cjs} +17 -18
- package/dist/chunk-DXUFDJHA.cjs.map +1 -0
- package/dist/{chunk-G3KKLGZU.cjs → chunk-DYMZ4DLN.cjs} +8 -8
- package/dist/chunk-DYMZ4DLN.cjs.map +1 -0
- package/dist/{chunk-M2MC3E27.cjs → chunk-EEOUWM2F.cjs} +10 -10
- package/dist/chunk-EEOUWM2F.cjs.map +1 -0
- package/dist/{chunk-AFI4V7LI.js → chunk-EIJSWHG7.js} +11 -12
- package/dist/chunk-EIJSWHG7.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-YVHWOKR7.cjs → chunk-ENVDR66N.cjs} +314 -324
- package/dist/chunk-ENVDR66N.cjs.map +1 -0
- package/dist/chunk-ERVWZILR.js +321 -0
- package/dist/chunk-ERVWZILR.js.map +1 -0
- package/dist/{chunk-2A3V6OR7.cjs → chunk-EVCQCZMM.cjs} +5 -5
- package/dist/{chunk-2A3V6OR7.cjs.map → chunk-EVCQCZMM.cjs.map} +1 -1
- package/dist/{chunk-GC5VUTUR.cjs → chunk-EZFQCREN.cjs} +17 -44
- package/dist/chunk-EZFQCREN.cjs.map +1 -0
- package/dist/{chunk-FP5E5BUM.js → chunk-FIOCTAXT.js} +4 -4
- package/dist/chunk-FIOCTAXT.js.map +1 -0
- package/dist/{chunk-AWDIKDX5.cjs → chunk-FLDTPAG4.cjs} +11 -11
- package/dist/{chunk-AWDIKDX5.cjs.map → chunk-FLDTPAG4.cjs.map} +1 -1
- package/dist/{chunk-S7INL5NI.js → chunk-FQN22DO5.js} +10 -10
- package/dist/chunk-FQN22DO5.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-3ZV3EGGK.cjs → chunk-FWBYCTUB.cjs} +24 -24
- package/dist/chunk-FWBYCTUB.cjs.map +1 -0
- package/dist/{chunk-WBQNPBXR.js → chunk-G5PU2EL2.js} +5 -5
- package/dist/{chunk-WBQNPBXR.js.map → chunk-G5PU2EL2.js.map} +1 -1
- 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-GJKRSQEA.cjs +3541 -0
- package/dist/chunk-GJKRSQEA.cjs.map +1 -0
- package/dist/{chunk-7CCXHH6Y.cjs → chunk-GJZAGTPV.cjs} +7 -7
- package/dist/chunk-GJZAGTPV.cjs.map +1 -0
- package/dist/{chunk-SBS7U7CN.cjs → chunk-GU65FGY6.cjs} +4 -4
- package/dist/{chunk-SBS7U7CN.cjs.map → chunk-GU65FGY6.cjs.map} +1 -1
- package/dist/{chunk-K3XHXWBW.js → chunk-GUUCIG7U.js} +9 -9
- package/dist/{chunk-K3XHXWBW.js.map → chunk-GUUCIG7U.js.map} +1 -1
- 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-JTFNNEWR.cjs → chunk-H5VMHDRD.cjs} +8 -10
- package/dist/chunk-H5VMHDRD.cjs.map +1 -0
- package/dist/{chunk-AHVHLNHU.cjs → chunk-H7VK36SZ.cjs} +213 -175
- package/dist/chunk-H7VK36SZ.cjs.map +1 -0
- package/dist/{chunk-YYNWZRXZ.js → chunk-HKGFMJFK.js} +491 -431
- package/dist/chunk-HKGFMJFK.js.map +1 -0
- package/dist/{chunk-2LABTS4P.js → chunk-HMJINNXZ.js} +24 -35
- package/dist/chunk-HMJINNXZ.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-IA5GII7N.cjs → chunk-HPOURAKV.cjs} +264 -218
- package/dist/chunk-HPOURAKV.cjs.map +1 -0
- package/dist/{chunk-LUQVSNQL.cjs → chunk-INQ34SVW.cjs} +141 -133
- package/dist/chunk-INQ34SVW.cjs.map +1 -0
- package/dist/{chunk-5YS43PSQ.cjs → chunk-IREOTHD3.cjs} +8 -8
- package/dist/chunk-IREOTHD3.cjs.map +1 -0
- package/dist/chunk-ISWZQUVA.cjs +409 -0
- package/dist/chunk-ISWZQUVA.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-ZFBQ4R7M.cjs → chunk-J4LJXCXB.cjs} +15 -15
- package/dist/chunk-J4LJXCXB.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-LNT2IFOA.js → chunk-JC66FRQX.js} +3 -3
- package/dist/chunk-JC66FRQX.js.map +1 -0
- package/dist/{chunk-ZAX2UJBC.js → chunk-JHMUMJF3.js} +37 -28
- package/dist/chunk-JHMUMJF3.js.map +1 -0
- package/dist/{chunk-O32BKXTR.cjs → chunk-JIF5TZHC.cjs} +2 -2
- package/dist/chunk-JIF5TZHC.cjs.map +1 -0
- package/dist/{chunk-CK3UJQRI.cjs → chunk-JK4YAQ2N.cjs} +2 -6
- package/dist/chunk-JK4YAQ2N.cjs.map +1 -0
- package/dist/{chunk-G2U2W422.js → chunk-JR353MN5.js} +8 -8
- package/dist/chunk-JR353MN5.js.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-PIOMR4X2.js → chunk-K2V3IOAX.js} +4 -4
- package/dist/{chunk-PIOMR4X2.js.map → chunk-K2V3IOAX.js.map} +1 -1
- package/dist/{chunk-4H7X5FGX.js → chunk-K2WT7A64.js} +239 -274
- package/dist/chunk-K2WT7A64.js.map +1 -0
- package/dist/{chunk-SBOXHIES.js → chunk-KCI4I42U.js} +11 -11
- package/dist/chunk-KCI4I42U.js.map +1 -0
- package/dist/{chunk-HINS4GY6.js → chunk-KEPCKSDE.js} +168 -146
- package/dist/chunk-KEPCKSDE.js.map +1 -0
- package/dist/{chunk-LY6Z6A54.js → chunk-KG7RHDVX.js} +18 -12
- package/dist/chunk-KG7RHDVX.js.map +1 -0
- 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-3CJC4QE6.js → chunk-KWZMXX4F.js} +5 -5
- package/dist/chunk-KWZMXX4F.js.map +1 -0
- package/dist/{chunk-SOCSUNIM.js → chunk-LDYUVGD4.js} +303 -313
- package/dist/chunk-LDYUVGD4.js.map +1 -0
- package/dist/{chunk-HNZWPIJE.js → chunk-LF6I2B7G.js} +215 -197
- package/dist/chunk-LF6I2B7G.js.map +1 -0
- package/dist/{chunk-W3C6QQF7.js → chunk-LLSWAAFH.js} +4 -4
- package/dist/chunk-LLSWAAFH.js.map +1 -0
- package/dist/{chunk-J5IRFGUP.js → chunk-M64WMYYV.js} +256 -210
- package/dist/chunk-M64WMYYV.js.map +1 -0
- package/dist/{chunk-VFGSNR35.js → chunk-MDQSVB2Y.js} +24 -20
- package/dist/chunk-MDQSVB2Y.js.map +1 -0
- package/dist/{chunk-M26XECB2.cjs → chunk-MHAXS4GO.cjs} +17 -19
- package/dist/chunk-MHAXS4GO.cjs.map +1 -0
- package/dist/{chunk-KXIILLQD.cjs → chunk-MHEPDHL5.cjs} +18 -18
- package/dist/chunk-MHEPDHL5.cjs.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-PQEFVHJZ.cjs → chunk-NFEL5GNX.cjs} +16 -15
- package/dist/chunk-NFEL5GNX.cjs.map +1 -0
- package/dist/{chunk-FDZQPWFZ.cjs → chunk-NG2H3PYA.cjs} +17 -17
- package/dist/chunk-NG2H3PYA.cjs.map +1 -0
- package/dist/{chunk-7U7JMRVF.cjs → chunk-NW36BN7N.cjs} +61 -61
- package/dist/chunk-NW36BN7N.cjs.map +1 -0
- package/dist/{chunk-QRFDPG34.js → chunk-NXTDP6AX.js} +12 -14
- package/dist/chunk-NXTDP6AX.js.map +1 -0
- 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-BUESV4DR.cjs → chunk-P5LMEANN.cjs} +7 -7
- package/dist/{chunk-BUESV4DR.cjs.map → chunk-P5LMEANN.cjs.map} +1 -1
- package/dist/{chunk-NI55JEYL.js → chunk-P7TSM63O.js} +3 -3
- package/dist/{chunk-NI55JEYL.js.map → chunk-P7TSM63O.js.map} +1 -1
- package/dist/chunk-PG4CZRTU.js +77 -0
- package/dist/chunk-PG4CZRTU.js.map +1 -0
- package/dist/{chunk-XLKXFJMU.cjs → chunk-PHFJBQXU.cjs} +8 -8
- package/dist/chunk-PHFJBQXU.cjs.map +1 -0
- package/dist/{chunk-2OXKEUKG.cjs → chunk-PKZSJX53.cjs} +2 -2
- package/dist/chunk-PKZSJX53.cjs.map +1 -0
- package/dist/{chunk-J4OEETYQ.cjs → chunk-PNM7MPUX.cjs} +13 -13
- package/dist/{chunk-J4OEETYQ.cjs.map → chunk-PNM7MPUX.cjs.map} +1 -1
- package/dist/{chunk-TKTLWX2V.js → chunk-PU4PBI3H.js} +8 -8
- package/dist/{chunk-TKTLWX2V.js.map → chunk-PU4PBI3H.js.map} +1 -1
- package/dist/{chunk-LO5NZY7N.cjs → chunk-PYJX2SBC.cjs} +6 -6
- package/dist/chunk-PYJX2SBC.cjs.map +1 -0
- package/dist/{chunk-D3LZQ5QS.js → chunk-PYN75QAG.js} +6 -6
- package/dist/chunk-PYN75QAG.js.map +1 -0
- package/dist/chunk-PZHRFASW.js +36 -0
- package/dist/chunk-PZHRFASW.js.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-6ULCJ3XZ.js → chunk-QHXI2QDK.js} +3 -3
- package/dist/{chunk-6ULCJ3XZ.js.map → chunk-QHXI2QDK.js.map} +1 -1
- package/dist/{chunk-C732WXKS.cjs → chunk-QTOFQB26.cjs} +17 -17
- package/dist/chunk-QTOFQB26.cjs.map +1 -0
- package/dist/{chunk-TQA3BI7M.cjs → chunk-QYZXTIB2.cjs} +4 -4
- package/dist/{chunk-TQA3BI7M.cjs.map → chunk-QYZXTIB2.cjs.map} +1 -1
- package/dist/{chunk-YY6KJO5Z.cjs → chunk-R3ZS6FU6.cjs} +12 -12
- package/dist/chunk-R3ZS6FU6.cjs.map +1 -0
- package/dist/{chunk-G2WW52GO.cjs → chunk-RAMDISDK.cjs} +40 -31
- package/dist/chunk-RAMDISDK.cjs.map +1 -0
- package/dist/{chunk-SSOAZZNR.cjs → chunk-RLIBY7XB.cjs} +19 -14
- package/dist/chunk-RLIBY7XB.cjs.map +1 -0
- package/dist/chunk-RU7JPU7V.js +389 -0
- package/dist/chunk-RU7JPU7V.js.map +1 -0
- package/dist/{chunk-SSAYBCAD.js → chunk-RXKDRZF3.js} +5 -13
- package/dist/chunk-RXKDRZF3.js.map +1 -0
- package/dist/{chunk-VQ7U3ASC.js → chunk-S4IHNNA2.js} +111 -111
- package/dist/chunk-S4IHNNA2.js.map +1 -0
- package/dist/{chunk-MI5QU37D.js → chunk-S4WWBV4N.js} +24 -50
- package/dist/chunk-S4WWBV4N.js.map +1 -0
- package/dist/{chunk-RLOGQBFD.js → chunk-SEDUAMDW.js} +6 -6
- package/dist/chunk-SEDUAMDW.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-SKZNSOB7.cjs +323 -0
- package/dist/chunk-SKZNSOB7.cjs.map +1 -0
- 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-H2CZ6IE5.cjs → chunk-TNYAYXKC.cjs} +509 -451
- package/dist/chunk-TNYAYXKC.cjs.map +1 -0
- package/dist/{chunk-DXPQRAGI.js → chunk-TQDJVPHP.js} +3 -3
- package/dist/{chunk-DXPQRAGI.js.map → chunk-TQDJVPHP.js.map} +1 -1
- package/dist/{chunk-JSINCF2R.cjs → chunk-TVWU4XBL.cjs} +12 -12
- package/dist/{chunk-JSINCF2R.cjs.map → chunk-TVWU4XBL.cjs.map} +1 -1
- package/dist/{chunk-OBWWRRL6.cjs → chunk-U4L75VA4.cjs} +167 -159
- package/dist/chunk-U4L75VA4.cjs.map +1 -0
- package/dist/{chunk-X574M2JB.cjs → chunk-U5HW5P7Q.cjs} +13 -13
- package/dist/chunk-U5HW5P7Q.cjs.map +1 -0
- package/dist/{chunk-KDR5DCYL.cjs → chunk-UMS46KF4.cjs} +10 -10
- package/dist/{chunk-KDR5DCYL.cjs.map → chunk-UMS46KF4.cjs.map} +1 -1
- package/dist/{chunk-BSAZRW6T.js → chunk-UT45YVPI.js} +22 -15
- package/dist/chunk-UT45YVPI.js.map +1 -0
- package/dist/{chunk-LQIZSE3O.js → chunk-UYZQGHFI.js} +11 -11
- package/dist/chunk-UYZQGHFI.js.map +1 -0
- package/dist/{chunk-TPB53MHV.cjs → chunk-UZGPFPIV.cjs} +224 -206
- package/dist/chunk-UZGPFPIV.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-IUUQXCDE.js → chunk-VJXSJXEX.js} +2 -2
- package/dist/{chunk-IUUQXCDE.js.map → chunk-VJXSJXEX.js.map} +1 -1
- package/dist/{chunk-JJ324PSZ.cjs → chunk-VK7DXUGH.cjs} +168 -145
- package/dist/chunk-VK7DXUGH.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-VPWNRWNO.cjs +81 -0
- package/dist/chunk-VPWNRWNO.cjs.map +1 -0
- package/dist/{chunk-QATCDVZ6.cjs → chunk-VREW3BK6.cjs} +182 -108
- package/dist/chunk-VREW3BK6.cjs.map +1 -0
- package/dist/{chunk-DIRVAHOF.cjs → chunk-VRQ66IBW.cjs} +8 -8
- package/dist/chunk-VRQ66IBW.cjs.map +1 -0
- package/dist/chunk-VW52NVGM.cjs +391 -0
- package/dist/chunk-VW52NVGM.cjs.map +1 -0
- package/dist/{chunk-QOKEU3DC.cjs → chunk-VXOIOPGZ.cjs} +30 -41
- package/dist/chunk-VXOIOPGZ.cjs.map +1 -0
- package/dist/chunk-WAWHHXSR.js +166 -0
- package/dist/chunk-WAWHHXSR.js.map +1 -0
- package/dist/{chunk-2RKMG2TC.js → chunk-WEXTGWRE.js} +176 -140
- package/dist/chunk-WEXTGWRE.js.map +1 -0
- package/dist/{chunk-ILEKDNP7.js → chunk-WHDDBOJN.js} +7 -7
- package/dist/{chunk-ILEKDNP7.js.map → chunk-WHDDBOJN.js.map} +1 -1
- package/dist/{chunk-QVNDZZS6.cjs → chunk-WINDLDH3.cjs} +9 -9
- package/dist/chunk-WINDLDH3.cjs.map +1 -0
- package/dist/{chunk-DWUEPOYH.js → chunk-WM7NEOME.js} +8 -8
- package/dist/chunk-WM7NEOME.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-2P6D43V2.cjs → chunk-XPHXAZCE.cjs} +6 -6
- package/dist/chunk-XPHXAZCE.cjs.map +1 -0
- package/dist/{chunk-WBGFFP3G.js → chunk-XTLNUYCK.js} +90 -56
- package/dist/chunk-XTLNUYCK.js.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/{chunk-EBDODJ5X.js → chunk-ZSB43DEI.js} +8 -7
- package/dist/chunk-ZSB43DEI.js.map +1 -0
- package/dist/{chunk-VHKA25IV.cjs → chunk-ZUAWNT66.cjs} +36 -29
- package/dist/chunk-ZUAWNT66.cjs.map +1 -0
- 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 +13 -11
- package/dist/components/Alert/index.d.ts.map +1 -1
- package/dist/components/Alert/index.js +12 -10
- package/dist/components/AlertDialog/AlertDialog.d.ts.map +1 -1
- package/dist/components/AlertDialog/index.cjs +18 -14
- package/dist/components/AlertDialog/index.d.ts.map +1 -1
- package/dist/components/AlertDialog/index.js +16 -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 +23 -19
- package/dist/components/AppShell/index.d.ts.map +1 -1
- package/dist/components/AppShell/index.js +20 -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 +21 -19
- package/dist/components/AutocompleteInput/index.d.ts.map +1 -1
- package/dist/components/AutocompleteInput/index.js +17 -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 +6 -11
- 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 +3 -8
- package/dist/components/Button/Button.d.ts +7 -7
- 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 +12 -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 +11 -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 +14 -12
- package/dist/components/Calendar/index.d.ts.map +1 -1
- package/dist/components/Calendar/index.js +13 -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 +12 -11
- package/dist/components/CheckboxInput/index.d.ts.map +1 -1
- package/dist/components/CheckboxInput/index.js +11 -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 +15 -13
- package/dist/components/CodeBlock/index.d.ts.map +1 -1
- package/dist/components/CodeBlock/index.js +14 -12
- package/dist/components/ContextMenu/ContextMenu.d.ts.map +1 -1
- package/dist/components/ContextMenu/index.cjs +18 -17
- package/dist/components/ContextMenu/index.d.ts.map +1 -1
- package/dist/components/ContextMenu/index.js +16 -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 +19 -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 +18 -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 +19 -17
- package/dist/components/DateRangeInput/index.d.ts.map +1 -1
- package/dist/components/DateRangeInput/index.js +18 -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 +21 -19
- package/dist/components/DateTimeInput/index.d.ts.map +1 -1
- package/dist/components/DateTimeInput/index.js +20 -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 +19 -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 +15 -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 +15 -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 +14 -13
- package/dist/components/HoverCard/HoverCard.d.ts +7 -7
- 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 +8 -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 +7 -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 +118 -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 +6 -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 +17 -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 +12 -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 +15 -12
- package/dist/components/Lightbox/index.d.ts.map +1 -1
- package/dist/components/Lightbox/index.js +13 -10
- package/dist/components/Lightbox/useLightbox.d.ts.map +1 -1
- package/dist/components/Link/Link.d.ts +5 -6
- package/dist/components/Link/Link.d.ts.map +1 -1
- package/dist/components/Link/Link.recipe.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 +11 -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 +8 -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 +9 -10
- package/dist/components/List/index.d.ts.map +1 -1
- package/dist/components/List/index.js +7 -8
- package/dist/components/MetadataList/MetadataList.d.ts.map +1 -1
- package/dist/components/MetadataList/MetadataList.recipe.d.ts +37 -0
- package/dist/components/MetadataList/MetadataList.recipe.d.ts.map +1 -0
- package/dist/components/MetadataList/MetadataListItem.d.ts +6 -1
- package/dist/components/MetadataList/MetadataListItem.d.ts.map +1 -1
- package/dist/components/MetadataList/index.cjs +11 -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 +9 -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 +18 -17
- package/dist/components/MultiSelect/index.d.ts.map +1 -1
- package/dist/components/MultiSelect/index.js +17 -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 +16 -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 +15 -13
- package/dist/components/Pagination/Pagination.d.ts.map +1 -1
- package/dist/components/Pagination/index.cjs +13 -11
- package/dist/components/Pagination/index.d.ts.map +1 -1
- package/dist/components/Pagination/index.js +12 -10
- package/dist/components/PasswordInput/PasswordInput.d.ts.map +1 -1
- package/dist/components/PasswordInput/index.cjs +17 -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 +16 -14
- package/dist/components/Popover/Popover.d.ts +21 -3
- package/dist/components/Popover/Popover.d.ts.map +1 -1
- package/dist/components/Popover/index.cjs +14 -13
- package/dist/components/Popover/index.d.ts.map +1 -1
- package/dist/components/Popover/index.js +12 -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 +13 -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 +11 -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 +20 -6
- package/dist/components/Schedule/CalendarEvent.d.ts.map +1 -1
- package/dist/components/Schedule/DayView.d.ts +7 -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/ListView.recipe.d.ts +56 -0
- package/dist/components/Schedule/ListView.recipe.d.ts.map +1 -0
- package/dist/components/Schedule/MonthlyView.d.ts +12 -1
- package/dist/components/Schedule/MonthlyView.d.ts.map +1 -1
- package/dist/components/Schedule/MonthlyView.recipe.d.ts +47 -0
- package/dist/components/Schedule/MonthlyView.recipe.d.ts.map +1 -0
- 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 +208 -0
- package/dist/components/Schedule/ScheduleEvent.recipe.d.ts.map +1 -0
- package/dist/components/Schedule/TimeGridView.d.ts +7 -1
- package/dist/components/Schedule/TimeGridView.d.ts.map +1 -1
- package/dist/components/Schedule/TimeGridView.recipe.d.ts +43 -0
- package/dist/components/Schedule/TimeGridView.recipe.d.ts.map +1 -0
- package/dist/components/Schedule/WeeklyView.d.ts +7 -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 +50 -27
- package/dist/components/Schedule/index.d.ts +8 -4
- package/dist/components/Schedule/index.d.ts.map +1 -1
- package/dist/components/Schedule/index.js +23 -16
- package/dist/components/Schedule/plugins/EventMovePlugin.d.ts +23 -0
- package/dist/components/Schedule/plugins/EventMovePlugin.d.ts.map +1 -0
- package/dist/components/Schedule/plugins/EventPopoverPlugin.d.ts +31 -0
- package/dist/components/Schedule/plugins/EventPopoverPlugin.d.ts.map +1 -0
- package/dist/components/Schedule/plugins/EventResizePlugin.d.ts +24 -0
- package/dist/components/Schedule/plugins/EventResizePlugin.d.ts.map +1 -0
- 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/ScheduleEventPopoverContent.d.ts +39 -0
- package/dist/components/Schedule/plugins/ScheduleEventPopoverContent.d.ts.map +1 -0
- package/dist/components/Schedule/plugins/ViewSelectorPlugin.d.ts.map +1 -1
- package/dist/components/Schedule/plugins/index.d.ts +4 -0
- 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 +68 -22
- package/dist/components/Schedule/shared.d.ts.map +1 -1
- package/dist/components/Schedule/types.d.ts +55 -8
- 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/SearchFilterInputEditPopover.recipe.d.ts +4 -0
- package/dist/components/SearchFilterInput/SearchFilterInputEditPopover.recipe.d.ts.map +1 -0
- 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 +39 -36
- package/dist/components/SearchFilterInput/index.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/index.js +31 -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 +19 -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 +17 -16
- package/dist/components/SideNav/SideNav.d.ts.map +1 -1
- package/dist/components/SideNav/SideNav.recipe.d.ts +26 -7
- package/dist/components/SideNav/SideNav.recipe.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 +22 -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 +16 -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 +18 -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 +17 -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 +61 -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 +35 -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 +18 -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 +13 -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 +10 -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 +9 -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 +19 -17
- package/dist/components/TagsInput/index.d.ts.map +1 -1
- package/dist/components/TagsInput/index.js +18 -16
- package/dist/components/Text/Heading.d.ts +6 -6
- package/dist/components/Text/Heading.d.ts.map +1 -1
- package/dist/components/Text/Text.d.ts +5 -5
- 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 +16 -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 +15 -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 +14 -12
- package/dist/components/Thumbnail/index.d.ts.map +1 -1
- package/dist/components/Thumbnail/index.js +13 -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 +15 -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 +14 -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 +15 -13
- package/dist/components/Toast/index.d.ts.map +1 -1
- package/dist/components/Toast/index.js +12 -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 +7 -7
- 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 +21 -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 +16 -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 +5 -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 +4 -2
- package/dist/index.cjs +290 -289
- 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 +88 -83
- package/dist/index.js.map +1 -1
- package/dist/internal/ActionElement.d.ts +45 -0
- package/dist/internal/ActionElement.d.ts.map +1 -0
- package/dist/internal/HoverLayerTrigger.d.ts +3 -4
- package/dist/internal/HoverLayerTrigger.d.ts.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 +67 -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 +5 -5
- 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-3ZV3EGGK.cjs.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-AFI4V7LI.js.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 +0 -2029
- 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 +0 -526
- package/dist/chunk-EALKX3ST.cjs.map +0 -1
- package/dist/chunk-EBDODJ5X.js.map +0 -1
- package/dist/chunk-FB245S6T.cjs.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 +0 -2017
- 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-LQIZSE3O.js.map +0 -1
- package/dist/chunk-LUQVSNQL.cjs.map +0 -1
- package/dist/chunk-LY6Z6A54.js.map +0 -1
- package/dist/chunk-M26XECB2.cjs.map +0 -1
- package/dist/chunk-M2MC3E27.cjs.map +0 -1
- package/dist/chunk-MI5QU37D.js.map +0 -1
- package/dist/chunk-N2TNBDQI.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-QRFDPG34.js.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-SSOAZZNR.cjs.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-UUVLEOSD.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 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/Theme/Theme.tsx"],"names":[],"mappings":"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","file":"chunk-RDNMAV5B.js","sourcesContent":["import {\n Fragment,\n createElement,\n useId,\n type CSSProperties,\n type ElementType,\n type HTMLAttributes,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {cx} from '../../internal/cx';\n\nexport type ThemeMode = 'dark' | 'light' | 'system';\n\nexport type ThemePaletteName =\n | 'blue'\n | 'cyan'\n | 'gray'\n | 'green'\n | 'orange'\n | 'pink'\n | 'purple'\n | 'red'\n | 'teal'\n | 'yellow';\n\nexport type ThemePaletteStep =\n | 50\n | 100\n | 200\n | 300\n | 400\n | 500\n | 600\n | 700\n | 800\n | 900;\n\nexport type ThemePaletteReference =\n | `${ThemePaletteName}.${ThemePaletteStep}`\n | `${ThemePaletteName}-${ThemePaletteStep}`;\n\nexport type ThemeColorValue = ThemePaletteReference | (string & {});\ntype ThemeCssVariableName = `--silver-${string}`;\ntype ThemeCssVariables = Partial<Record<ThemeCssVariableName, string>>;\n\nexport interface ThemeColorTokens {\n bg?: ThemeColorValue;\n bgGhostActive?: ThemeColorValue;\n bgGhostHover?: ThemeColorValue;\n bgHover?: ThemeColorValue;\n bgSelected?: ThemeColorValue;\n bgSubtle?: ThemeColorValue;\n border?: ThemeColorValue;\n borderEmphasized?: ThemeColorValue;\n destructive?: ThemeColorValue;\n destructiveActive?: ThemeColorValue;\n destructiveFg?: ThemeColorValue;\n destructiveHover?: ThemeColorValue;\n fg?: ThemeColorValue;\n fgDisabled?: ThemeColorValue;\n fgMuted?: ThemeColorValue;\n fgOnPrimary?: ThemeColorValue;\n iconAccent?: ThemeColorValue;\n iconBlue?: ThemeColorValue;\n iconCyan?: ThemeColorValue;\n iconDisabled?: ThemeColorValue;\n iconError?: ThemeColorValue;\n iconGray?: ThemeColorValue;\n iconGreen?: ThemeColorValue;\n iconInfo?: ThemeColorValue;\n iconOrange?: ThemeColorValue;\n iconPink?: ThemeColorValue;\n iconPrimary?: ThemeColorValue;\n iconPurple?: ThemeColorValue;\n iconRed?: ThemeColorValue;\n iconSecondary?: ThemeColorValue;\n iconSuccess?: ThemeColorValue;\n iconTeal?: ThemeColorValue;\n iconTertiary?: ThemeColorValue;\n iconWarning?: ThemeColorValue;\n iconYellow?: ThemeColorValue;\n overlayScrim?: ThemeColorValue;\n overlayScrimStrong?: ThemeColorValue;\n overlayScrimSubtle?: ThemeColorValue;\n presenceError?: ThemeColorValue;\n presenceNeutral?: ThemeColorValue;\n presenceSuccess?: ThemeColorValue;\n primary?: ThemeColorValue;\n primaryActive?: ThemeColorValue;\n primaryHover?: ThemeColorValue;\n primarySubtle?: ThemeColorValue;\n skeleton?: ThemeColorValue;\n skeletonShimmer?: ThemeColorValue;\n statusDisabledSolid?: ThemeColorValue;\n statusDisabledSolidFg?: ThemeColorValue;\n statusErrorBorder?: ThemeColorValue;\n statusErrorBorderHover?: ThemeColorValue;\n statusErrorFg?: ThemeColorValue;\n statusErrorSolid?: ThemeColorValue;\n statusErrorSolidFg?: ThemeColorValue;\n statusInfoFg?: ThemeColorValue;\n statusInfoSolid?: ThemeColorValue;\n statusInfoSolidFg?: ThemeColorValue;\n statusNeutralSolid?: ThemeColorValue;\n statusNeutralSolidFg?: ThemeColorValue;\n statusSuccessBorder?: ThemeColorValue;\n statusSuccessBorderHover?: ThemeColorValue;\n statusSuccessFg?: ThemeColorValue;\n statusSuccessSolid?: ThemeColorValue;\n statusSuccessSolidFg?: ThemeColorValue;\n statusWarningBorder?: ThemeColorValue;\n statusWarningBorderHover?: ThemeColorValue;\n statusWarningFg?: ThemeColorValue;\n statusWarningSolid?: ThemeColorValue;\n statusWarningSolidFg?: ThemeColorValue;\n surfaceBlue?: ThemeColorValue;\n surfaceBlueAccent?: ThemeColorValue;\n surfaceBlueFg?: ThemeColorValue;\n surfaceBlueHover?: ThemeColorValue;\n surfaceCyan?: ThemeColorValue;\n surfaceCyanAccent?: ThemeColorValue;\n surfaceCyanFg?: ThemeColorValue;\n surfaceCyanHover?: ThemeColorValue;\n surfaceGray?: ThemeColorValue;\n surfaceGrayAccent?: ThemeColorValue;\n surfaceGrayFg?: ThemeColorValue;\n surfaceGrayHover?: ThemeColorValue;\n surfaceGreen?: ThemeColorValue;\n surfaceGreenAccent?: ThemeColorValue;\n surfaceGreenFg?: ThemeColorValue;\n surfaceGreenHover?: ThemeColorValue;\n surfaceOrange?: ThemeColorValue;\n surfaceOrangeAccent?: ThemeColorValue;\n surfaceOrangeFg?: ThemeColorValue;\n surfaceOrangeHover?: ThemeColorValue;\n surfacePink?: ThemeColorValue;\n surfacePinkAccent?: ThemeColorValue;\n surfacePinkFg?: ThemeColorValue;\n surfacePinkHover?: ThemeColorValue;\n surfacePurple?: ThemeColorValue;\n surfacePurpleAccent?: ThemeColorValue;\n surfacePurpleFg?: ThemeColorValue;\n surfacePurpleHover?: ThemeColorValue;\n surfaceRed?: ThemeColorValue;\n surfaceRedAccent?: ThemeColorValue;\n surfaceRedFg?: ThemeColorValue;\n surfaceRedHover?: ThemeColorValue;\n surfaceTeal?: ThemeColorValue;\n surfaceTealAccent?: ThemeColorValue;\n surfaceTealFg?: ThemeColorValue;\n surfaceTealHover?: ThemeColorValue;\n surfaceYellow?: ThemeColorValue;\n surfaceYellowAccent?: ThemeColorValue;\n surfaceYellowFg?: ThemeColorValue;\n surfaceYellowHover?: ThemeColorValue;\n track?: ThemeColorValue;\n trackDisabled?: ThemeColorValue;\n trackEmphasized?: ThemeColorValue;\n}\n\nexport interface ThemeFontTokens {\n body?: string;\n mono?: string;\n}\n\nexport interface ThemeFontSizeTokens {\n componentLg?: string;\n componentMd?: string;\n componentSm?: string;\n iconLg?: string;\n iconMd?: string;\n iconSm?: string;\n}\n\nexport interface ThemeRadiusTokens {\n componentLg?: string;\n componentMd?: string;\n componentSm?: string;\n lg?: string;\n md?: string;\n sm?: string;\n}\n\nexport interface ThemeShadowTokens {\n focus?: string;\n focusError?: string;\n focusSuccess?: string;\n focusWarning?: string;\n}\n\nexport interface ThemeSizeTokens {\n componentLg?: string;\n componentMd?: string;\n componentSm?: string;\n iconLg?: string;\n iconMd?: string;\n iconSm?: string;\n}\n\nexport interface ThemeSpacingTokens {\n componentLg?: string;\n componentMd?: string;\n componentSm?: string;\n focusOffset?: string;\n focusOffsetLoose?: string;\n focusOffsetTight?: string;\n}\n\nexport interface ThemeTokens {\n colors?: ThemeColorTokens;\n fonts?: ThemeFontTokens;\n fontSizes?: ThemeFontSizeTokens;\n radii?: ThemeRadiusTokens;\n shadows?: ThemeShadowTokens;\n sizes?: ThemeSizeTokens;\n spacing?: ThemeSpacingTokens;\n}\n\nexport interface ThemeModeTokens {\n dark?: ThemeTokens;\n light?: ThemeTokens;\n}\n\nexport interface ThemeProps extends HTMLAttributes<HTMLElement> {\n /**\n * HTML element type to render.\n * @default 'div'\n */\n as?: ElementType;\n /**\n * Theme content.\n */\n children?: ReactNode;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Theme mode. System mode omits data-theme and follows existing CSS/media\n * query behavior.\n * @default 'system'\n */\n mode?: ThemeMode;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Friendly token overrides mapped to Silver CSS custom properties.\n */\n themes?: ThemeModeTokens;\n /**\n * Friendly token overrides applied in every mode.\n */\n tokens?: ThemeTokens;\n}\n\nconst colorTokenVariables: Record<\n keyof ThemeColorTokens,\n ThemeCssVariableName\n> = {\n bg: '--silver-colors-bg',\n bgGhostActive: '--silver-colors-bg-ghost-active',\n bgGhostHover: '--silver-colors-bg-ghost-hover',\n bgHover: '--silver-colors-bg-hover',\n bgSelected: '--silver-colors-bg-selected',\n bgSubtle: '--silver-colors-bg-subtle',\n border: '--silver-colors-border',\n borderEmphasized: '--silver-colors-border-emphasized',\n destructive: '--silver-colors-destructive',\n destructiveActive: '--silver-colors-destructive-active',\n destructiveFg: '--silver-colors-destructive-fg',\n destructiveHover: '--silver-colors-destructive-hover',\n fg: '--silver-colors-fg',\n fgDisabled: '--silver-colors-fg-disabled',\n fgMuted: '--silver-colors-fg-muted',\n fgOnPrimary: '--silver-colors-fg-on-primary',\n primary: '--silver-colors-primary',\n primaryActive: '--silver-colors-primary-active',\n primaryHover: '--silver-colors-primary-hover',\n primarySubtle: '--silver-colors-primary-subtle',\n iconAccent: '--silver-colors-icon-accent',\n iconBlue: '--silver-colors-icon-blue',\n iconCyan: '--silver-colors-icon-cyan',\n iconDisabled: '--silver-colors-icon-disabled',\n iconError: '--silver-colors-icon-error',\n iconGray: '--silver-colors-icon-gray',\n iconGreen: '--silver-colors-icon-green',\n iconInfo: '--silver-colors-icon-info',\n iconOrange: '--silver-colors-icon-orange',\n iconPink: '--silver-colors-icon-pink',\n iconPrimary: '--silver-colors-icon-primary',\n iconPurple: '--silver-colors-icon-purple',\n iconRed: '--silver-colors-icon-red',\n iconSecondary: '--silver-colors-icon-secondary',\n iconSuccess: '--silver-colors-icon-success',\n iconTeal: '--silver-colors-icon-teal',\n iconTertiary: '--silver-colors-icon-tertiary',\n iconWarning: '--silver-colors-icon-warning',\n iconYellow: '--silver-colors-icon-yellow',\n overlayScrim: '--silver-colors-overlay-scrim',\n overlayScrimStrong: '--silver-colors-overlay-scrim-strong',\n overlayScrimSubtle: '--silver-colors-overlay-scrim-subtle',\n presenceError: '--silver-colors-presence-error',\n presenceNeutral: '--silver-colors-presence-neutral',\n presenceSuccess: '--silver-colors-presence-success',\n skeleton: '--silver-colors-skeleton',\n skeletonShimmer: '--silver-colors-skeleton-shimmer',\n statusDisabledSolid: '--silver-colors-status-disabled-solid',\n statusDisabledSolidFg: '--silver-colors-status-disabled-solid-fg',\n statusErrorBorder: '--silver-colors-status-error-border',\n statusErrorBorderHover: '--silver-colors-status-error-border-hover',\n statusErrorFg: '--silver-colors-status-error-fg',\n statusErrorSolid: '--silver-colors-status-error-solid',\n statusErrorSolidFg: '--silver-colors-status-error-solid-fg',\n statusInfoFg: '--silver-colors-status-info-fg',\n statusInfoSolid: '--silver-colors-status-info-solid',\n statusInfoSolidFg: '--silver-colors-status-info-solid-fg',\n statusNeutralSolid: '--silver-colors-status-neutral-solid',\n statusNeutralSolidFg: '--silver-colors-status-neutral-solid-fg',\n statusSuccessBorder: '--silver-colors-status-success-border',\n statusSuccessBorderHover: '--silver-colors-status-success-border-hover',\n statusSuccessFg: '--silver-colors-status-success-fg',\n statusSuccessSolid: '--silver-colors-status-success-solid',\n statusSuccessSolidFg: '--silver-colors-status-success-solid-fg',\n statusWarningBorder: '--silver-colors-status-warning-border',\n statusWarningBorderHover: '--silver-colors-status-warning-border-hover',\n statusWarningFg: '--silver-colors-status-warning-fg',\n statusWarningSolid: '--silver-colors-status-warning-solid',\n statusWarningSolidFg: '--silver-colors-status-warning-solid-fg',\n surfaceBlue: '--silver-colors-surface-blue',\n surfaceBlueAccent: '--silver-colors-surface-blue-accent',\n surfaceBlueFg: '--silver-colors-surface-blue-fg',\n surfaceBlueHover: '--silver-colors-surface-blue-hover',\n surfaceCyan: '--silver-colors-surface-cyan',\n surfaceCyanAccent: '--silver-colors-surface-cyan-accent',\n surfaceCyanFg: '--silver-colors-surface-cyan-fg',\n surfaceCyanHover: '--silver-colors-surface-cyan-hover',\n surfaceGray: '--silver-colors-surface-gray',\n surfaceGrayAccent: '--silver-colors-surface-gray-accent',\n surfaceGrayFg: '--silver-colors-surface-gray-fg',\n surfaceGrayHover: '--silver-colors-surface-gray-hover',\n surfaceGreen: '--silver-colors-surface-green',\n surfaceGreenAccent: '--silver-colors-surface-green-accent',\n surfaceGreenFg: '--silver-colors-surface-green-fg',\n surfaceGreenHover: '--silver-colors-surface-green-hover',\n surfaceOrange: '--silver-colors-surface-orange',\n surfaceOrangeAccent: '--silver-colors-surface-orange-accent',\n surfaceOrangeFg: '--silver-colors-surface-orange-fg',\n surfaceOrangeHover: '--silver-colors-surface-orange-hover',\n surfacePink: '--silver-colors-surface-pink',\n surfacePinkAccent: '--silver-colors-surface-pink-accent',\n surfacePinkFg: '--silver-colors-surface-pink-fg',\n surfacePinkHover: '--silver-colors-surface-pink-hover',\n surfacePurple: '--silver-colors-surface-purple',\n surfacePurpleAccent: '--silver-colors-surface-purple-accent',\n surfacePurpleFg: '--silver-colors-surface-purple-fg',\n surfacePurpleHover: '--silver-colors-surface-purple-hover',\n surfaceRed: '--silver-colors-surface-red',\n surfaceRedAccent: '--silver-colors-surface-red-accent',\n surfaceRedFg: '--silver-colors-surface-red-fg',\n surfaceRedHover: '--silver-colors-surface-red-hover',\n surfaceTeal: '--silver-colors-surface-teal',\n surfaceTealAccent: '--silver-colors-surface-teal-accent',\n surfaceTealFg: '--silver-colors-surface-teal-fg',\n surfaceTealHover: '--silver-colors-surface-teal-hover',\n surfaceYellow: '--silver-colors-surface-yellow',\n surfaceYellowAccent: '--silver-colors-surface-yellow-accent',\n surfaceYellowFg: '--silver-colors-surface-yellow-fg',\n surfaceYellowHover: '--silver-colors-surface-yellow-hover',\n track: '--silver-colors-track',\n trackDisabled: '--silver-colors-track-disabled',\n trackEmphasized: '--silver-colors-track-emphasized',\n};\n\nconst fontTokenVariables: Record<keyof ThemeFontTokens, ThemeCssVariableName> =\n {\n body: '--silver-fonts-body',\n mono: '--silver-fonts-mono',\n };\n\nconst fontSizeTokenVariables: Record<\n keyof ThemeFontSizeTokens,\n ThemeCssVariableName\n> = {\n componentLg: '--silver-font-sizes-component-lg',\n componentMd: '--silver-font-sizes-component-md',\n componentSm: '--silver-font-sizes-component-sm',\n iconLg: '--silver-font-sizes-icon-lg',\n iconMd: '--silver-font-sizes-icon-md',\n iconSm: '--silver-font-sizes-icon-sm',\n};\n\nconst radiusTokenVariables: Record<\n keyof ThemeRadiusTokens,\n ThemeCssVariableName\n> = {\n componentLg: '--silver-radii-component-lg',\n componentMd: '--silver-radii-component-md',\n componentSm: '--silver-radii-component-sm',\n lg: '--silver-radii-lg',\n md: '--silver-radii-md',\n sm: '--silver-radii-sm',\n};\n\nconst shadowTokenVariables: Record<\n keyof ThemeShadowTokens,\n ThemeCssVariableName\n> = {\n focus: '--silver-shadows-focus',\n focusError: '--silver-shadows-focus-error',\n focusSuccess: '--silver-shadows-focus-success',\n focusWarning: '--silver-shadows-focus-warning',\n};\n\nconst sizeTokenVariables: Record<keyof ThemeSizeTokens, ThemeCssVariableName> =\n {\n componentLg: '--silver-sizes-component-lg',\n componentMd: '--silver-sizes-component-md',\n componentSm: '--silver-sizes-component-sm',\n iconLg: '--silver-sizes-icon-lg',\n iconMd: '--silver-sizes-icon-md',\n iconSm: '--silver-sizes-icon-sm',\n };\n\nconst spacingTokenVariables: Record<\n keyof ThemeSpacingTokens,\n ThemeCssVariableName\n> = {\n componentLg: '--silver-spacing-component-lg',\n componentMd: '--silver-spacing-component-md',\n componentSm: '--silver-spacing-component-sm',\n focusOffset: '--silver-spacing-focus-offset',\n focusOffsetLoose: '--silver-spacing-focus-offset-loose',\n focusOffsetTight: '--silver-spacing-focus-offset-tight',\n};\n\nconst paletteReferencePattern =\n /^(blue|cyan|gray|green|orange|pink|purple|red|teal|yellow)[.-](50|100|200|300|400|500|600|700|800|900)$/;\n\nfunction resolveThemeColorValue(value: ThemeColorValue): string {\n const match = paletteReferencePattern.exec(value);\n\n if (match == null) {\n return value;\n }\n\n const [, paletteName, paletteStep] = match;\n return `var(--silver-colors-${paletteName}-${paletteStep})`;\n}\n\nfunction assignTokenVariables<TTokenName extends string>(\n style: ThemeCssVariables,\n tokens: Partial<Record<TTokenName, string>> | undefined,\n variables: Record<TTokenName, ThemeCssVariableName>,\n resolveValue: (value: string) => string = value => value,\n): void {\n if (tokens == null) {\n return;\n }\n\n for (const tokenName of Object.keys(variables) as TTokenName[]) {\n const value = tokens[tokenName];\n\n if (value != null) {\n style[variables[tokenName]] = resolveValue(value);\n }\n }\n}\n\nfunction createThemeStyle(\n tokens: ThemeTokens | undefined,\n style: CSSProperties | undefined,\n): CSSProperties {\n return {\n ...createThemeVariables(tokens),\n ...style,\n };\n}\n\nfunction createThemeVariables(\n tokens: ThemeTokens | undefined,\n): ThemeCssVariables {\n const themeStyle: ThemeCssVariables = {};\n\n assignTokenVariables(\n themeStyle,\n tokens?.colors,\n colorTokenVariables,\n resolveThemeColorValue,\n );\n assignTokenVariables(themeStyle, tokens?.fontSizes, fontSizeTokenVariables);\n assignTokenVariables(themeStyle, tokens?.fonts, fontTokenVariables);\n assignTokenVariables(themeStyle, tokens?.radii, radiusTokenVariables);\n assignTokenVariables(themeStyle, tokens?.shadows, shadowTokenVariables);\n assignTokenVariables(themeStyle, tokens?.sizes, sizeTokenVariables);\n assignTokenVariables(themeStyle, tokens?.spacing, spacingTokenVariables);\n\n return themeStyle;\n}\n\nfunction sanitizeThemeClassName(id: string): string {\n return `silver-theme-${id.replace(/[^a-zA-Z0-9_-]/g, '')}`;\n}\n\nfunction serializeThemeVariables(variables: ThemeCssVariables): string {\n return Object.entries(variables)\n .map(\n ([name, value]) =>\n `${name}: ${String(value).replace(/<\\/style/gi, '<\\\\/style')};`,\n )\n .join('');\n}\n\nfunction createThemeCss(\n className: string,\n tokens: ThemeModeTokens,\n mode: ThemeMode,\n): string | undefined {\n const baseTokens =\n mode === 'dark'\n ? (tokens.dark ?? tokens.light)\n : (tokens.light ?? tokens.dark);\n\n if (baseTokens == null) {\n return undefined;\n }\n\n const selector = `.${className}`;\n const baseCss = `${selector}{${serializeThemeVariables(createThemeVariables(baseTokens))}}`;\n\n if (mode !== 'system' || tokens.dark == null) {\n return baseCss;\n }\n\n const darkVariables = serializeThemeVariables(\n createThemeVariables(tokens.dark),\n );\n const darkSelector = `.${className}[data-theme=\"dark\"],[data-theme=\"dark\"] .${className}`;\n const darkCss = `${darkSelector}{${darkVariables}}`;\n\n return `${baseCss}@media (prefers-color-scheme: dark){${selector}{${darkVariables}}}${darkCss}`;\n}\n\n/**\n * Scoped Silver UI theme provider backed by CSS custom properties.\n */\nexport function Theme({\n as: Element = 'div',\n children,\n className,\n 'data-testid': dataTestId,\n mode = 'system',\n ref,\n style,\n themes,\n tokens,\n ...htmlProps\n}: ThemeProps): React.JSX.Element {\n const themeId = useId();\n const themeClassName =\n themes == null ? undefined : sanitizeThemeClassName(themeId);\n const themeCss =\n themes != null && themeClassName != null\n ? createThemeCss(themeClassName, themes, mode)\n : undefined;\n const themeStyle = createThemeStyle(tokens, style);\n\n return createElement(\n Element,\n {\n ...htmlProps,\n className: cx(themeClassName, className),\n 'data-testid': dataTestId,\n 'data-theme': mode === 'system' ? undefined : mode,\n ref,\n style: themeStyle,\n },\n themeCss == null\n ? children\n : createElement(\n Fragment,\n null,\n createElement(\n 'style',\n dataTestId == null ? null : {'data-testid': `${dataTestId}-styles`},\n themeCss,\n ),\n children,\n ),\n );\n}\n\nTheme.displayName = 'Theme';\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/Field/Field.tsx"],"names":[],"mappings":"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","file":"chunk-RLOGQBFD.js","sourcesContent":["import {Info} from 'lucide-react';\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {VisuallyHidden} from '../../internal/VisuallyHidden';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Text} from '../Text';\nimport {Tooltip} from '../Tooltip';\nimport {fieldRecipe} from './Field.recipe';\nimport type {InputStatusType} from './types';\n\nexport type FieldStatusVariant = 'attached' | 'detached';\n\nexport interface FieldStatus {\n /**\n * Optional status text displayed below the input.\n */\n message?: string;\n /**\n * Status message ID used by `aria-describedby`.\n */\n messageID?: string;\n /**\n * Validation state for the field.\n */\n type: InputStatusType;\n}\n\ninterface FieldBaseProps {\n /**\n * The form control rendered inside the field.\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 * Supporting text rendered between the label and control.\n */\n description?: ReactNode;\n /**\n * ID for the description element.\n */\n descriptionID?: string;\n /**\n * ID of the associated control.\n */\n inputId: string;\n /**\n * Whether the associated control is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label and description.\n * @default false\n */\n isLabelHidden?: boolean;\n /**\n * Field label text.\n */\n label: string;\n /**\n * HTML element used for the label. Use 'span' for group controls\n * (e.g., radiogroup) where `htmlFor` cannot target a labelable element.\n * @default 'label'\n */\n labelAs?: 'label' | 'span';\n /**\n * Optional icon shown before the label.\n */\n labelIcon?: IconComponent;\n /**\n * ID applied to the label element, useful for `aria-labelledby`.\n */\n labelId?: string;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: ReactNode;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Validation status displayed below the control.\n */\n status?: FieldStatus;\n /**\n * How the status message is positioned.\n * @default 'attached'\n */\n statusVariant?: FieldStatusVariant;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n}\n\n/**\n * Controls whether a field displays an \"Optional\" or \"Required\" indicator.\n * The two options are mutually exclusive — a field cannot be both optional\n * and required at the same time. TypeScript enforces this at the type level.\n */\nexport type FieldNecessity =\n | {isOptional?: false; isRequired?: false}\n | {isOptional: true; isRequired?: false}\n | {isOptional?: false; isRequired: true};\n\nexport type FieldProps = FieldBaseProps & FieldNecessity;\n\n/**\n * Narrows individually-typed `isOptional`/`isRequired` values back into\n * a valid `FieldNecessity` union member. Useful when forwarding necessity\n * props that were destructured from a component's own props (which widens\n * the discriminated union to `boolean | undefined`).\n */\nexport function getNecessity(\n isOptional: boolean | undefined,\n isRequired: boolean | undefined,\n): FieldNecessity {\n if (isOptional === true) {\n return {isOptional: true};\n }\n if (isRequired === true) {\n return {isRequired: true};\n }\n return {};\n}\n\n/**\n * A form field wrapper that renders a label, description, control slot, and validation status.\n */\nexport function Field({\n children,\n label,\n isLabelHidden = false,\n description,\n inputId,\n descriptionID,\n isOptional = false,\n isRequired = false,\n isDisabled = false,\n labelAs: LabelComponent = 'label',\n labelIcon,\n labelId,\n labelTooltip,\n status,\n statusVariant = 'attached',\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: FieldProps): React.JSX.Element {\n const resolvedDescriptionID =\n descriptionID ??\n (isReactNode(description) ? `${inputId}-description` : undefined);\n const resolvedStatusID =\n status?.messageID ??\n (status?.message != null ? `${inputId}-status` : undefined);\n const statusText = isOptional ? 'Optional' : isRequired ? 'Required' : null;\n const classes = fieldRecipe({\n isDisabled,\n statusType: status?.type,\n statusVariant,\n });\n const labelNode = (\n <LabelComponent\n className={classes.label}\n {...(LabelComponent === 'label' ? {htmlFor: inputId} : undefined)}\n id={labelId}>\n {labelIcon != null ? (\n <Icon color=\"secondary\" icon={labelIcon} size=\"sm\" />\n ) : null}\n <Text as=\"span\" color=\"inherit\" type=\"label\">\n {label}\n </Text>\n {statusText != null ? (\n <Text as=\"span\" className={classes.indicator} type=\"supporting\">\n <span aria-hidden=\"true\"> · </span>\n {statusText}\n </Text>\n ) : null}\n {isReactNode(labelTooltip) ? (\n <Tooltip content={labelTooltip}>\n <span className={classes.tooltipIcon}>\n <Icon icon={Info} size=\"sm\" />\n </span>\n </Tooltip>\n ) : null}\n </LabelComponent>\n );\n const descriptionNode = isReactNode(description) ? (\n <Text\n as=\"span\"\n color=\"secondary\"\n id={resolvedDescriptionID}\n type=\"supporting\">\n {description}\n </Text>\n ) : null;\n const statusNode =\n status?.message != null ? (\n <div\n aria-live={status.type === 'error' ? 'assertive' : 'polite'}\n className={classes.status}\n id={resolvedStatusID}\n role={status.type === 'error' ? 'alert' : 'status'}>\n {status.message}\n </div>\n ) : null;\n\n return (\n <div\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n {isLabelHidden ? (\n <VisuallyHidden>\n {labelNode}\n {descriptionNode}\n </VisuallyHidden>\n ) : (\n <>\n {labelNode}\n {descriptionNode}\n </>\n )}\n {statusVariant === 'attached' ? (\n <div className={classes.inputWrapper}>\n {children}\n {statusNode}\n </div>\n ) : (\n <>\n {children}\n {statusNode}\n </>\n )}\n </div>\n );\n}\n\nField.displayName = 'Field';\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/TimeInput/TimeInput.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;AA6BA,IAAM,MAAA,GAAS;AAAA,EACb,OAAO,GAAA,CAAI;AAAA,IACT,sCAAA,EAAwC;AAAA,MACtC,OAAA,EAAS;AAAA;AACX,GACD;AACH,CAAA;AAmHA,SAAS,aAAA,CACP,MACA,UAAA,EACQ;AACR,EAAA,IAAI,QAAQ,IAAA,EAAM;AAChB,IAAA,OAAO,EAAA;AAAA,EACT;AACA,EAAA,OAAO,KAAK,QAAA,CAAS;AAAA,IACnB,YAAA,EAAc,aAAa,QAAA,GAAW;AAAA,GACvC,CAAA;AACH;AAEA,SAAS,gBAAgB,KAAA,EAAsC;AAC7D,EAAA,IAAI,UAAU,EAAA,EAAI;AAChB,IAAA,OAAO,MAAA;AAAA,EACT;AACA,EAAA,IAAI;AACF,IAAA,OAAO,QAAA,CAAS,SAAA,CAAU,IAAA,CAAK,KAAK,CAAA;AAAA,EACtC,CAAA,CAAA,MAAQ;AACN,IAAA,OAAO,MAAA;AAAA,EACT;AACF;AAKO,SAAS,SAAA,CAAU;AAAA,EACxB,KAAA;AAAA,EACA,KAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,UAAA,GAAa,KAAA;AAAA,EACb,QAAA,GAAW,KAAA;AAAA,EACX,YAAA,GAAe,KAAA;AAAA,EACf,GAAA;AAAA,EACA,GAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA,GAAO,IAAA;AAAA,EACP,WAAA;AAAA,EACA,aAAA,GAAgB,KAAA;AAAA,EAChB,UAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA,GAAa,KAAA;AAAA,EACb,SAAA,GAAY,KAAA;AAAA,EACZ,QAAA;AAAA,EACA,MAAA;AAAA,EACA,SAAA;AAAA,EACA,YAAA;AAAA,EACA,WAAA,GAAc,eAAA;AAAA,EACd,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,KAAA;AAAA,EACA;AACF,CAAA,EAAsC;AACpC,EAAA,MAAM,UAAU,KAAA,EAAM;AACtB,EAAA,MAAM,gBAAgB,WAAA,CAAY,WAAW,CAAA,GACzC,CAAA,EAAG,OAAO,CAAA,YAAA,CAAA,GACV,MAAA;AACJ,EAAA,MAAM,eAAA,GAAkB,kBAAA,CAAmB,OAAA,EAAS,MAAM,CAAA;AAC1D,EAAA,MAAM,WAAA,GAAc,cAAA,CAAe,aAAA,EAAe,eAAe,CAAA;AAEjE,EAAA,MAAM,SAAA,GAAY,YAAA,CAAa,UAAA,EAAY,UAAU,CAAA;AAErD,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA;AAAA,MACA,WAAA;AAAA,MACA,aAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA;AAAA,MACA,aAAA;AAAA,MACC,GAAG,SAAA;AAAA,MACJ,KAAA;AAAA,MACA,SAAA;AAAA,MACA,YAAA;AAAA,MACA,MAAA,EACE,UAAU,IAAA,GAAO,MAAA,GAAY,EAAC,GAAG,MAAA,EAAQ,WAAW,eAAA,EAAe;AAAA,MAErE,KAAA;AAAA,MACA,QAAA,kBAAA,IAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,WAAW,WAAA,CAAY;AAAA,YACrB,IAAA;AAAA,YACA,QAAQ,MAAA,EAAQ,IAAA;AAAA,YAChB;AAAA,WACD,CAAA;AAAA,UACD,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,WAAA,CAAY,QAAA,EAC3B,QAAA,kBAAA,GAAA,CAAC,QAAK,IAAA,EAAM,KAAA,EAAO,IAAA,EAAK,IAAA,EAAK,CAAA,EAC/B,CAAA;AAAA,4BACA,GAAA;AAAA,cAAC,OAAA;AAAA,cAAA;AAAA,gBACC,aAAW,SAAA,IAAa,MAAA;AAAA,gBACxB,kBAAA,EAAkB,WAAA;AAAA,gBAClB,cAAA,EAAc,MAAA,EAAQ,IAAA,KAAS,OAAA,IAAW,MAAA;AAAA,gBAC1C,iBAAe,UAAA,IAAc,MAAA;AAAA,gBAE7B,SAAA,EAAW,YAAA;AAAA,gBACX,SAAA,EAAW,EAAA,CAAG,WAAA,CAAY,OAAA,EAAS,OAAO,KAAK,CAAA;AAAA,gBAC/C,kBAAgB,YAAA,IAAgB,MAAA;AAAA,gBAChC,aAAA,EAAa,UAAA;AAAA,gBACb,QAAA,EAAU,UAAA;AAAA,gBACV,EAAA,EAAI,OAAA;AAAA,gBACJ,GAAA,EAAK,aAAA,CAAc,GAAA,EAAK,UAAU,CAAA;AAAA,gBAClC,GAAA,EAAK,aAAA,CAAc,GAAA,EAAK,UAAU,CAAA;AAAA,gBAClC,IAAA,EAAM,QAAA;AAAA,gBACN,MAAA;AAAA,gBACA,UAAU,CAAA,KAAA,KAAS,QAAA,CAAS,gBAAgB,KAAA,CAAM,MAAA,CAAO,KAAK,CAAC,CAAA;AAAA,gBAC/D,OAAA;AAAA,gBACA,WAAA;AAAA,gBACA,GAAA;AAAA,gBACA,IAAA,EAAM,IAAA,KAAS,UAAA,GAAa,CAAA,GAAI,EAAA,CAAA;AAAA,gBAChC,IAAA,EAAK,MAAA;AAAA,gBACL,KAAA,EAAO,aAAA,CAAc,KAAA,EAAO,UAAU;AAAA;AAAA,aACxC;AAAA,YACC,QAAA,IAAY,KAAA,IAAS,IAAA,IAAQ,CAAC,UAAA,mBAC7B,GAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBACC,IAAA,EAAM,CAAA;AAAA,gBACN,UAAA,EAAU,IAAA;AAAA,gBACV,KAAA,EAAO,SAAS,KAAK,CAAA,CAAA;AAAA,gBACrB,OAAA,EAAS,MAAM,QAAA,CAAS,MAAS,CAAA;AAAA,gBACjC,IAAA,EAAK,IAAA;AAAA,gBACL,OAAA,EAAQ;AAAA;AAAA,aACV,GACE,IAAA;AAAA,YACH,SAAA,mBAAY,GAAA,CAAC,OAAA,EAAA,EAAQ,IAAA,EAAK,MAAK,CAAA,GAAK,IAAA;AAAA,YACpC,MAAA,IAAU,IAAA,mBACT,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,WAAA,CAAY,QAAA,EAC1B,QAAA,EAAA,aAAA,CAAc,MAAA,CAAO,IAAI,CAAA,EAC5B,CAAA,GACE;AAAA;AAAA;AAAA;AACN;AAAA,GACF;AAEJ;AAEA,SAAA,CAAU,WAAA,GAAc,WAAA","file":"chunk-S7INL5NI.js","sourcesContent":["import {Temporal} from '@js-temporal/polyfill';\nimport {Clock, X} from 'lucide-react';\nimport {\n useId,\n type CSSProperties,\n type FocusEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\nimport {Button} from '../Button';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputSize,\n type InputStatus,\n} from '../Field';\nimport {inputRecipe, inputStyles} from '../Field/inputStyles';\nimport {\n getDescribedBy,\n getStatusIcon,\n getStatusMessageID,\n} from '../Field/inputUtils';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Spinner} from '../Spinner';\n\nconst styles = {\n input: css({\n '&::-webkit-calendar-picker-indicator': {\n display: 'none',\n },\n }),\n} as const;\n\nexport type PlainTime = Temporal.PlainTime;\n\nexport type TimeInputProps = {\n /**\n * Additional CSS class names applied to the input wrapper.\n */\n className?: string;\n /**\n * Test ID applied to the input element.\n */\n 'data-testid'?: string;\n /**\n * Supporting text displayed below the label.\n */\n description?: ReactNode;\n /**\n * Whether to focus the input on mount.\n * @default false\n */\n hasAutoFocus?: boolean;\n /**\n * Whether to show a clear button when a value is set.\n * @default false\n */\n hasClear?: boolean;\n /**\n * Whether the input includes a seconds field.\n * @default false\n */\n hasSeconds?: boolean;\n /**\n * HTML name attribute.\n */\n htmlName?: string;\n /**\n * Whether the input is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label.\n * @default false\n */\n isLabelHidden?: boolean;\n /**\n * Whether the input is loading.\n * @default false\n */\n isLoading?: boolean;\n /**\n * Field label.\n */\n label: string;\n /**\n * Icon shown before the label.\n */\n labelIcon?: IconComponent;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: ReactNode;\n /**\n * Latest allowed time.\n */\n max?: PlainTime;\n /**\n * Earliest allowed time.\n */\n min?: PlainTime;\n /**\n * Called when the input loses focus.\n */\n onBlur?: (event: FocusEvent<HTMLInputElement>) => void;\n /**\n * Called when the time value changes.\n */\n onChange: (value: PlainTime | undefined) => void;\n /**\n * Called when the input gains focus.\n */\n onFocus?: (event: FocusEvent<HTMLInputElement>) => void;\n /**\n * Placeholder text.\n * @default 'Select a time'\n */\n placeholder?: string;\n /**\n * Ref forwarded to the input element.\n */\n ref?: Ref<HTMLInputElement>;\n /**\n * Visual size.\n * @default 'md'\n */\n size?: InputSize;\n /**\n * Validation status displayed below the input.\n */\n status?: InputStatus;\n /**\n * Step increment in seconds for the time picker.\n */\n step?: number;\n /**\n * Inline styles applied to the input wrapper.\n */\n style?: CSSProperties;\n /**\n * Controlled time value.\n */\n value: PlainTime | undefined;\n} & FieldNecessity;\n\nfunction toInputString(\n time: PlainTime | undefined,\n hasSeconds: boolean,\n): string {\n if (time == null) {\n return '';\n }\n return time.toString({\n smallestUnit: hasSeconds ? 'second' : 'minute',\n });\n}\n\nfunction fromInputString(value: string): PlainTime | undefined {\n if (value === '') {\n return undefined;\n }\n try {\n return Temporal.PlainTime.from(value);\n } catch {\n return undefined;\n }\n}\n\n/**\n * Time picker input field with optional seconds granularity.\n */\nexport function TimeInput({\n label,\n value,\n onBlur,\n onChange,\n onFocus,\n hasSeconds = false,\n hasClear = false,\n hasAutoFocus = false,\n min,\n max,\n step,\n size = 'md',\n description,\n isLabelHidden = false,\n isOptional,\n isRequired,\n isDisabled = false,\n isLoading = false,\n htmlName,\n status,\n labelIcon,\n labelTooltip,\n placeholder = 'Select a time',\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: TimeInputProps): React.JSX.Element {\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\n const necessity = getNecessity(isOptional, isRequired);\n\n return (\n <Field\n className={className}\n description={description}\n descriptionID={descriptionID}\n inputId={inputId}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n {...necessity}\n label={label}\n labelIcon={labelIcon}\n labelTooltip={labelTooltip}\n status={\n status == null ? undefined : {...status, messageID: statusMessageID}\n }\n style={style}>\n <div\n className={inputRecipe({\n size,\n status: status?.type,\n isDisabled,\n })}>\n <span className={inputStyles.iconSlot}>\n <Icon icon={Clock} size=\"sm\" />\n </span>\n <input\n aria-busy={isLoading || undefined}\n aria-describedby={describedBy}\n aria-invalid={status?.type === 'error' || undefined}\n aria-required={isRequired ?? undefined}\n // eslint-disable-next-line jsx-a11y-x/no-autofocus\n autoFocus={hasAutoFocus}\n className={cx(inputStyles.control, styles.input)}\n data-autofocus={hasAutoFocus || undefined}\n data-testid={dataTestId}\n disabled={isDisabled}\n id={inputId}\n max={toInputString(max, hasSeconds)}\n min={toInputString(min, hasSeconds)}\n name={htmlName}\n onBlur={onBlur}\n onChange={event => onChange(fromInputString(event.target.value))}\n onFocus={onFocus}\n placeholder={placeholder}\n ref={ref}\n step={step ?? (hasSeconds ? 1 : 60)}\n type=\"time\"\n value={toInputString(value, hasSeconds)}\n />\n {hasClear && value != null && !isDisabled ? (\n <Button\n icon={X}\n isIconOnly\n label={`Clear ${label}`}\n onClick={() => onChange(undefined)}\n size=\"sm\"\n variant=\"ghost\"\n />\n ) : null}\n {isLoading ? <Spinner size=\"sm\" /> : null}\n {status != null ? (\n <span className={inputStyles.iconSlot}>\n {getStatusIcon(status.type)}\n </span>\n ) : null}\n </div>\n </Field>\n );\n}\n\nTimeInput.displayName = 'TimeInput';\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/AutocompleteInput/AutocompleteInput.recipe.ts","../src/components/AutocompleteInput/AutocompleteInputItem.tsx","../src/components/AutocompleteInput/BaseAutocompleteInput.tsx","../src/components/AutocompleteInput/AutocompleteInput.tsx","../src/components/AutocompleteInput/types.ts"],"names":["jsx","jsxs","Fragment","styles","useId","useRef","useState","useCallback"],"mappings":"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","file":"chunk-SBOXHIES.js","sourcesContent":["import {css, sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const autocompleteMenuRecipe = sva({\n slots: ['menu', 'option', 'check', 'loading', 'empty'],\n base: {\n menu: {\n display: 'flex',\n flexDirection: 'column',\n gap: '0.5',\n maxH: '80',\n overflowY: 'auto',\n p: '1',\n },\n option: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: '2',\n w: 'full',\n borderWidth: 0,\n borderRadius: 'md',\n bg: 'transparent',\n color: 'fg',\n cursor: 'pointer',\n fontFamily: 'body',\n textAlign: 'start',\n _hover: {bg: 'bg.subtle'},\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffsetTight',\n },\n },\n check: {\n display: 'inline-flex',\n flexShrink: 0,\n color: 'primary',\n },\n loading: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '1',\n p: '2',\n color: 'fg.muted',\n '& > svg': {\n animation: 'spin 0.8s linear infinite',\n },\n '@media (prefers-reduced-motion: reduce)': {\n '& > svg': {animation: 'none'},\n },\n },\n empty: {\n p: '3',\n textAlign: 'center',\n },\n },\n variants: {\n size: {\n sm: {option: {px: '2', py: '1'}},\n md: {option: {px: '2', py: '2'}},\n lg: {option: {px: '3', py: '2.5'}},\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\nexport type AutocompleteMenuVariants = RecipeVariantProps<\n typeof autocompleteMenuRecipe\n>;\n\n/**\n * Per-option state styles applied via `cx()` since they vary per-row\n * rather than per-component instance.\n */\nexport const optionHighlightedStyle = css({bg: 'bg.subtle'});\nexport const optionSelectedStyle = css({fontWeight: 'medium'});\n\nexport const autocompleteItemRecipe = sva({\n slots: ['root', 'icon', 'text'],\n base: {\n root: {\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n minW: 0,\n },\n icon: {\n display: 'inline-flex',\n flexShrink: 0,\n color: 'fg.muted',\n },\n text: {\n display: 'flex',\n flexDirection: 'column',\n minW: 0,\n },\n },\n variants: {\n isDisabled: {\n true: {root: {opacity: 0.55}},\n false: {},\n },\n },\n defaultVariants: {\n isDisabled: false,\n },\n});\n\nexport type AutocompleteItemVariants = RecipeVariantProps<\n typeof autocompleteItemRecipe\n>;\n","/* eslint-disable silver-ui/require-component-props -- discriminated union: custom-element items render item.element directly; passthrough props only apply to standard items */\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Text} from '../Text';\nimport {autocompleteItemRecipe} from './AutocompleteInput.recipe';\nimport type {SearchableItem} from './types';\n\n/**\n * Props for an item with a custom `element`. The element is rendered\n * directly — layout props like `icon` and `description` do not apply.\n */\ninterface AutocompleteInputCustomItemProps {\n /**\n * Search result item with custom element content.\n */\n item: SearchableItem & {element: ReactNode};\n}\n\n/**\n * Props for a standard item rendered with the default layout.\n */\ninterface AutocompleteInputStandardItemProps {\n /**\n * Additional CSS class names applied to the item layout.\n */\n className?: string;\n /**\n * Test ID applied to the item layout.\n */\n 'data-testid'?: string;\n /**\n * Supporting text displayed below the label.\n */\n description?: ReactNode;\n /**\n * Icon or avatar rendered before the label.\n */\n icon?: IconComponent;\n /**\n * Whether the item is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Search result item without a custom element.\n */\n item: SearchableItem & {element?: undefined};\n /**\n * Ref forwarded to the item layout.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Inline styles applied to the item layout.\n */\n style?: CSSProperties;\n}\n\nexport type AutocompleteInputItemProps =\n | AutocompleteInputCustomItemProps\n | AutocompleteInputStandardItemProps;\n\n/**\n * Default layout for AutocompleteInput and TagsInput result rows.\n *\n * When the item has a pre-rendered `element`, it is returned directly.\n * Otherwise the component renders a flex row with an optional icon,\n * primary label, and description.\n */\nexport function AutocompleteInputItem(\n props: AutocompleteInputItemProps,\n): React.JSX.Element {\n if (isReactNode(props.item.element)) {\n return <>{props.item.element}</>;\n }\n\n const {\n className,\n 'data-testid': dataTestId,\n description,\n icon,\n isDisabled = false,\n item,\n ref,\n style,\n } = props as AutocompleteInputStandardItemProps;\n\n const classes = autocompleteItemRecipe({isDisabled});\n\n return (\n <div\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n {icon != null ? (\n <span className={classes.icon}>\n <Icon color=\"secondary\" icon={icon} size=\"sm\" />\n </span>\n ) : null}\n <span className={classes.text}>\n <Text as=\"span\" color=\"inherit\" type=\"label\">\n {item.label}\n </Text>\n {isReactNode(description) ? (\n <Text as=\"span\" color=\"secondary\" type=\"supporting\">\n {description}\n </Text>\n ) : null}\n </span>\n </div>\n );\n}\n\nAutocompleteInputItem.displayName = 'AutocompleteInputItem';\n","import {Check, LoaderCircle} from 'lucide-react';\nimport {\n useCallback,\n useEffect,\n useId,\n useRef,\n useState,\n type CSSProperties,\n type KeyboardEvent,\n type ReactNode,\n type Ref,\n type RefObject,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {mergeRefs} from '../../internal/mergeRefs';\nimport {Icon} from '../Icon';\nimport {Popover} from '../Popover';\nimport {Spinner} from '../Spinner';\nimport {Text} from '../Text';\nimport {\n autocompleteMenuRecipe,\n optionHighlightedStyle,\n optionSelectedStyle,\n} from './AutocompleteInput.recipe';\nimport {AutocompleteInputItem} from './AutocompleteInputItem';\nimport type {SearchableItem, SearchSource} from './types';\n\nexport interface BaseAutocompleteInputProps<T extends SearchableItem> {\n /**\n * Ref to the element the result popover should align to.\n */\n anchorRef?: RefObject<HTMLElement | null>;\n /**\n * IDs describing the input.\n */\n ariaDescribedBy?: string;\n /**\n * Additional CSS class names applied to the input.\n */\n className?: string;\n /**\n * Test ID applied to the input element.\n */\n 'data-testid'?: string;\n /**\n * Debounce delay in milliseconds before search runs.\n * @default 150\n */\n debounceMs?: number;\n /**\n * Empty state text.\n * @default 'No results found'\n */\n emptySearchResultsText?: string;\n /**\n * Text shown in the menu when a search fails.\n * @default 'Something went wrong'\n */\n errorText?: string;\n /**\n * Whether to focus the input on mount.\n * @default false\n */\n hasAutoFocus?: boolean;\n /**\n * Whether to show bootstrap results on focus before typing.\n * @default false\n */\n hasEntriesOnFocus?: boolean;\n /**\n * Whether to re-bootstrap results after selecting an item. Useful for\n * multi-select comboboxes where the user picks several items in a row.\n * @default false\n */\n hasReopenOnSelect?: boolean;\n /**\n * Optional ID for the input.\n */\n inputId?: string;\n /**\n * Whether the input is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether the input is required.\n * @default false\n */\n isRequired?: boolean;\n /**\n * Maximum number of menu items.\n * @default 10\n */\n maxMenuItems?: number;\n /**\n * Called when a result is selected.\n */\n onChange: (item: T | null) => void;\n /**\n * Keyboard handler invoked before internal navigation.\n */\n onKeyDown?: (event: KeyboardEvent<HTMLInputElement>) => void;\n /**\n * Called when the result popover opens or closes.\n */\n onOpenChange?: (isOpen: boolean) => void;\n /**\n * Called when the query changes.\n */\n onQueryChange: (query: string) => void;\n /**\n * Placeholder text.\n * @default 'Search...'\n */\n placeholder?: string;\n /**\n * Current query string.\n */\n query: string;\n /**\n * Ref forwarded to the input.\n */\n ref?: Ref<HTMLInputElement>;\n /**\n * Custom result renderer.\n */\n renderItem?: (item: T) => ReactNode;\n /**\n * Provides results for the menu. Use `createStaticSearchSource` for\n * in-memory data, or implement {@link SearchSource} for async/remote\n * search.\n */\n searchSource: SearchSource<T>;\n /**\n * Visual size.\n * @default 'md'\n */\n size?: 'sm' | 'md' | 'lg';\n /**\n * Inline styles applied to the input.\n */\n style?: CSSProperties;\n /**\n * Selected item.\n */\n value: T | null;\n}\n\nconst styles = {\n input: css({\n display: 'block',\n flex: 1,\n minW: '15',\n borderWidth: 0,\n p: 0,\n fontFamily: 'body',\n fontSize: 'md',\n lineHeight: 'normal',\n color: 'fg',\n bg: 'transparent',\n outline: 'none',\n _placeholder: {color: 'fg.muted'},\n _disabled: {cursor: 'not-allowed'},\n }),\n} as const;\n\n/**\n * Internal combobox engine used by AutocompleteInput and TagsInput.\n */\nexport function BaseAutocompleteInput<T extends SearchableItem>({\n anchorRef,\n ariaDescribedBy,\n className,\n 'data-testid': dataTestId,\n debounceMs = 150,\n emptySearchResultsText = 'No results found',\n errorText = 'Something went wrong',\n hasAutoFocus = false,\n hasEntriesOnFocus = false,\n hasReopenOnSelect = false,\n inputId,\n isDisabled = false,\n isRequired = false,\n maxMenuItems = 10,\n onChange,\n onKeyDown,\n onOpenChange,\n onQueryChange,\n placeholder = 'Search...',\n query,\n ref,\n renderItem,\n searchSource,\n size = 'md',\n style,\n value,\n}: BaseAutocompleteInputProps<T>): React.JSX.Element {\n const generatedId = useId();\n const listboxId = useId();\n const resolvedInputId = inputId ?? generatedId;\n const inputRef = useRef<HTMLInputElement>(null);\n const fallbackAnchorRef = useRef<HTMLInputElement>(null);\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const generationRef = useRef(0);\n const [results, setResults] = useState<T[]>([]);\n const [highlightedIndex, setHighlightedIndex] = useState(-1);\n const [isLoading, setIsLoading] = useState(false);\n const [hasSearched, setHasSearched] = useState(false);\n const [hasError, setHasError] = useState(false);\n const [isOpen, setIsOpen] = useState(false);\n const selectingRef = useRef(false);\n\n const setOpen = useCallback(\n (isNextOpen: boolean) => {\n setIsOpen(isNextOpen);\n onOpenChange?.(isNextOpen);\n if (!isNextOpen) {\n searchSource.cancel?.();\n setHighlightedIndex(-1);\n }\n },\n [onOpenChange, searchSource],\n );\n\n const showMenu = useCallback(() => {\n setOpen(true);\n }, [setOpen]);\n\n const runSearch = useCallback(\n async (nextQuery: string, kind: 'bootstrap' | 'search') => {\n const generation = ++generationRef.current;\n searchSource.cancel?.();\n setIsLoading(true);\n setHasSearched(true);\n setHasError(false);\n\n try {\n const nextResults =\n kind === 'bootstrap'\n ? await searchSource.bootstrap()\n : await searchSource.search(nextQuery);\n if (generationRef.current !== generation) {\n return;\n }\n const limitedResults = nextResults.slice(0, maxMenuItems);\n setResults(limitedResults);\n setHighlightedIndex(limitedResults.length > 0 ? 0 : -1);\n if (limitedResults.length > 0 || nextQuery !== '') {\n showMenu();\n } else {\n setOpen(false);\n }\n } catch {\n if (generationRef.current === generation) {\n setResults([]);\n setHighlightedIndex(-1);\n setHasError(true);\n showMenu();\n }\n } finally {\n if (generationRef.current === generation) {\n setIsLoading(false);\n }\n }\n },\n [maxMenuItems, searchSource, setOpen, showMenu],\n );\n\n const updateQuery = useCallback(\n (nextQuery: string) => {\n onQueryChange(nextQuery);\n\n if (timeoutRef.current != null) {\n clearTimeout(timeoutRef.current);\n }\n\n if (nextQuery === '' && !hasEntriesOnFocus) {\n generationRef.current++;\n searchSource.cancel?.();\n setResults([]);\n setHasSearched(false);\n setHasError(false);\n setIsLoading(false);\n setOpen(false);\n return;\n }\n\n const searchKind = nextQuery === '' ? 'bootstrap' : 'search';\n if (debounceMs <= 0) {\n void runSearch(nextQuery, searchKind);\n return;\n }\n\n timeoutRef.current = setTimeout(() => {\n void runSearch(nextQuery, searchKind);\n }, debounceMs);\n },\n [\n debounceMs,\n hasEntriesOnFocus,\n onQueryChange,\n runSearch,\n searchSource,\n setOpen,\n ],\n );\n\n const selectItem = useCallback(\n (item: T) => {\n generationRef.current++;\n if (timeoutRef.current != null) {\n clearTimeout(timeoutRef.current);\n }\n searchSource.cancel?.();\n onQueryChange('');\n setResults([]);\n setHasSearched(false);\n setHasError(false);\n setIsLoading(false);\n onChange(item);\n selectingRef.current = true;\n inputRef.current?.focus();\n selectingRef.current = false;\n if (hasReopenOnSelect && hasEntriesOnFocus) {\n void runSearch('', 'bootstrap');\n } else {\n setOpen(false);\n }\n },\n [\n hasEntriesOnFocus,\n hasReopenOnSelect,\n onChange,\n onQueryChange,\n runSearch,\n searchSource,\n setOpen,\n ],\n );\n\n useEffect(() => {\n return () => {\n if (timeoutRef.current != null) {\n clearTimeout(timeoutRef.current);\n }\n searchSource.cancel?.();\n };\n }, [searchSource]);\n\n const menuClasses = autocompleteMenuRecipe({size});\n\n const menu = (\n <div\n aria-label=\"Search results\"\n className={menuClasses.menu}\n id={listboxId}\n role=\"listbox\">\n {isLoading ? (\n <div className={menuClasses.loading} role=\"status\">\n <Icon icon={LoaderCircle} size=\"sm\" />\n <Text as=\"span\" color=\"secondary\" type=\"supporting\">\n Loading\n </Text>\n </div>\n ) : hasError ? (\n <div className={menuClasses.empty} role=\"alert\">\n <Text as=\"span\" color=\"secondary\" type=\"supporting\">\n {errorText}\n </Text>\n </div>\n ) : results.length === 0 && hasSearched ? (\n <div className={menuClasses.empty}>\n <Text as=\"span\" color=\"secondary\" type=\"supporting\">\n {emptySearchResultsText}\n </Text>\n </div>\n ) : (\n results.map((item, index) => {\n const isSelected = value?.id === item.id;\n return (\n // eslint-disable-next-line jsx-a11y-x/click-events-have-key-events -- keyboard navigation is handled by the combobox input, not individual options\n <div\n aria-selected={isSelected}\n className={cx(\n menuClasses.option,\n index === highlightedIndex ? optionHighlightedStyle : undefined,\n isSelected ? optionSelectedStyle : undefined,\n )}\n id={`${listboxId}-option-${index}`}\n key={item.id}\n onClick={() => selectItem(item)}\n onMouseEnter={() => setHighlightedIndex(index)}\n role=\"option\"\n tabIndex={-1}>\n {renderItem == null ? (\n <AutocompleteInputItem item={item} />\n ) : (\n renderItem(item)\n )}\n {isSelected ? (\n <span className={menuClasses.check}>\n <Icon color=\"accent\" icon={Check} size=\"sm\" />\n </span>\n ) : null}\n </div>\n );\n })\n )}\n </div>\n );\n\n return (\n <>\n <input\n aria-activedescendant={\n isOpen && highlightedIndex >= 0\n ? `${listboxId}-option-${highlightedIndex}`\n : undefined\n }\n aria-autocomplete=\"list\"\n aria-controls={listboxId}\n aria-describedby={ariaDescribedBy}\n aria-expanded={isOpen}\n aria-required={isRequired || undefined}\n autoComplete=\"off\"\n // eslint-disable-next-line jsx-a11y-x/no-autofocus\n autoFocus={hasAutoFocus}\n className={cx(styles.input, className)}\n data-autofocus={hasAutoFocus || undefined}\n data-testid={dataTestId}\n disabled={isDisabled}\n id={resolvedInputId}\n onBlur={() => {\n // Defer so we can check whether focus moved to an option inside\n // the popover (e.g. the user clicked a result). If focus left\n // both the input and the popover, close the menu.\n requestAnimationFrame(() => {\n if (\n !inputRef.current?.contains(document.activeElement) &&\n !document.activeElement?.closest('[role=\"listbox\"]')\n ) {\n setOpen(false);\n }\n });\n }}\n onChange={event => updateQuery(event.target.value)}\n onFocus={() => {\n if (selectingRef.current) {\n return;\n }\n if (query !== '' && results.length === 0) {\n void runSearch(query, 'search');\n } else if (\n hasEntriesOnFocus &&\n query === '' &&\n results.length === 0\n ) {\n void runSearch('', 'bootstrap');\n } else if (results.length > 0) {\n showMenu();\n }\n }}\n onKeyDown={event => {\n onKeyDown?.(event);\n if (event.defaultPrevented) {\n return;\n }\n\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n if (!isOpen) {\n if (results.length > 0) {\n showMenu();\n } else if (hasEntriesOnFocus) {\n void runSearch('', 'bootstrap');\n }\n return;\n }\n setHighlightedIndex(index =>\n results.length === 0 ? -1 : (index + 1) % results.length,\n );\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n setHighlightedIndex(index =>\n results.length === 0\n ? -1\n : (index - 1 + results.length) % results.length,\n );\n } else if (\n event.key === 'Enter' &&\n isOpen &&\n highlightedIndex >= 0 &&\n highlightedIndex < results.length\n ) {\n event.preventDefault();\n selectItem(results[highlightedIndex]);\n } else if (event.key === 'Escape' && isOpen) {\n event.preventDefault();\n setOpen(false);\n }\n }}\n placeholder={placeholder}\n ref={mergeRefs(ref, inputRef, fallbackAnchorRef)}\n role=\"combobox\"\n style={style}\n type=\"text\"\n value={query}\n />\n {isLoading ? <Spinner size=\"sm\" /> : null}\n <Popover\n anchorRef={anchorRef ?? fallbackAnchorRef}\n content={menu}\n hasAutoFocus={false}\n hasCloseButton={false}\n hasLightDismiss={false}\n isOpen={isOpen}\n onOpenChange={setOpen}\n />\n </>\n );\n}\n\nBaseAutocompleteInput.displayName = 'BaseAutocompleteInput';\n","import {X} from 'lucide-react';\nimport {\n useCallback,\n useId,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\nimport {Button} from '../Button';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputSize,\n type InputStatus,\n} from '../Field';\nimport {inputRecipe, inputStyles} from '../Field/inputStyles';\nimport {getDescribedBy, getStatusMessageID} from '../Field/inputUtils';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Tag} from '../Tag';\nimport {BaseAutocompleteInput} from './BaseAutocompleteInput';\nimport type {SearchableItem, SearchSource} from './types';\n\nexport type AutocompleteInputProps<T extends SearchableItem = SearchableItem> =\n {\n /**\n * Additional CSS class names applied to the input wrapper.\n */\n className?: string;\n /**\n * Test ID applied to the input wrapper.\n */\n 'data-testid'?: string;\n /**\n * Debounce delay in milliseconds before search runs.\n * @default 150\n */\n debounceMs?: number;\n /**\n * Supporting text rendered below the label.\n */\n description?: ReactNode;\n /**\n * Empty state text.\n * @default 'No results found'\n */\n emptySearchResultsText?: string;\n /**\n * Text shown in the menu when a search fails.\n * @default 'Something went wrong'\n */\n errorText?: string;\n /**\n * Whether to focus the input on mount.\n * @default false\n */\n hasAutoFocus?: boolean;\n /**\n * Whether to show a clear button when a value is selected.\n * @default true\n */\n hasClear?: boolean;\n /**\n * Whether to show bootstrap results on focus before typing.\n * @default false\n */\n hasEntriesOnFocus?: boolean;\n /**\n * Whether the input is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label.\n * @default false\n */\n isLabelHidden?: boolean;\n /**\n * Field label.\n */\n label: string;\n /**\n * Icon shown before the label.\n */\n labelIcon?: IconComponent;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: ReactNode;\n /**\n * Maximum number of menu items.\n * @default 10\n */\n maxMenuItems?: number;\n /**\n * Called when selection changes.\n */\n onChange: (item: T | null) => void;\n /**\n * Called when the result popover opens or closes.\n */\n onOpenChange?: (isOpen: boolean) => void;\n /**\n * Called when the query changes.\n */\n onQueryChange?: (query: string) => void;\n /**\n * Placeholder text.\n */\n placeholder?: string;\n /**\n * Ref forwarded to the field root.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Custom result renderer.\n */\n renderItem?: (item: T) => ReactNode;\n /**\n * Provides results for the menu. Use `createStaticSearchSource` for\n * in-memory data, or implement {@link SearchSource} for async/remote\n * search.\n */\n searchSource: SearchSource<T>;\n /**\n * Visual size.\n * @default 'md'\n */\n size?: InputSize;\n /**\n * Icon shown before the input.\n */\n startIcon?: IconComponent;\n /**\n * Validation status displayed below the selector.\n */\n status?: InputStatus;\n /**\n * Inline styles applied to the input wrapper.\n */\n style?: CSSProperties;\n /**\n * Selected item.\n */\n value: T | null;\n } & FieldNecessity;\n\nconst styles = {\n wrapper: css({\n cursor: 'text',\n flexWrap: 'wrap',\n }),\n tag: css({\n my: '-1',\n ms: '-1',\n }),\n inputHidden: css({\n position: 'absolute',\n opacity: 0,\n w: 0,\n minW: 0,\n flexBasis: 0,\n }),\n clearButton: css({\n ms: 'auto',\n }),\n} as const;\n\n/**\n * Search-as-you-type field for selecting a single item from a search source.\n */\nexport function AutocompleteInput<T extends SearchableItem>({\n className,\n 'data-testid': dataTestId,\n debounceMs,\n description,\n emptySearchResultsText,\n errorText,\n hasAutoFocus = false,\n hasClear = true,\n hasEntriesOnFocus = false,\n isDisabled = false,\n isLabelHidden = false,\n isOptional,\n isRequired,\n label,\n labelIcon,\n labelTooltip,\n maxMenuItems,\n onChange,\n onOpenChange,\n onQueryChange,\n placeholder,\n ref,\n renderItem,\n searchSource,\n size = 'md',\n startIcon,\n status,\n style,\n value,\n}: AutocompleteInputProps<T>): React.JSX.Element {\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 wrapperRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const [isEditing, setIsEditing] = useState(false);\n const [queryValue, setQueryValue] = useState('');\n const showTag = value != null && !isEditing;\n const fieldStatus = useMemo(\n () =>\n status == null ? undefined : {...status, messageID: statusMessageID},\n [status, statusMessageID],\n );\n\n const necessity = getNecessity(isOptional, isRequired);\n\n const startEditing = useCallback(\n (seedQuery: string) => {\n if (isDisabled) {\n return;\n }\n setIsEditing(true);\n setQueryValue(seedQuery);\n requestAnimationFrame(() => {\n const input = inputRef.current;\n if (input != null) {\n input.focus();\n input.setSelectionRange(seedQuery.length, seedQuery.length);\n }\n });\n },\n [isDisabled],\n );\n\n return (\n <Field\n className={className}\n description={description}\n descriptionID={descriptionID}\n inputId={inputId}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n {...necessity}\n label={label}\n labelIcon={labelIcon}\n labelTooltip={labelTooltip}\n ref={ref}\n status={fieldStatus}\n style={style}>\n {/* eslint-disable-next-line jsx-a11y-x/click-events-have-key-events, jsx-a11y-x/no-static-element-interactions -- wrapper delegates focus to the inner input; keyboard users interact with the input directly */}\n <div\n className={cx(\n inputRecipe({\n size,\n status: status?.type,\n isDisabled,\n }),\n styles.wrapper,\n )}\n data-testid={dataTestId}\n onClick={() => {\n if (showTag) {\n startEditing(value.label);\n }\n }}\n ref={wrapperRef}>\n {startIcon != null ? (\n <span className={inputStyles.iconSlot}>\n <Icon color=\"secondary\" icon={startIcon} size=\"sm\" />\n </span>\n ) : null}\n {showTag ? (\n <Tag\n className={styles.tag}\n isDisabled={isDisabled}\n label={value.label}\n onClick={() => startEditing(value.label)}\n size={size}\n />\n ) : null}\n <BaseAutocompleteInput\n anchorRef={wrapperRef}\n ariaDescribedBy={describedBy}\n className={showTag ? styles.inputHidden : undefined}\n debounceMs={debounceMs}\n emptySearchResultsText={emptySearchResultsText}\n errorText={errorText}\n hasAutoFocus={hasAutoFocus}\n hasEntriesOnFocus={hasEntriesOnFocus}\n inputId={inputId}\n isDisabled={isDisabled}\n isRequired={isRequired}\n maxMenuItems={maxMenuItems}\n onChange={item => {\n setIsEditing(false);\n setQueryValue('');\n onChange(item);\n }}\n onOpenChange={onOpenChange}\n onQueryChange={nextQuery => {\n setQueryValue(nextQuery);\n onQueryChange?.(nextQuery);\n }}\n placeholder={showTag ? undefined : placeholder}\n query={queryValue}\n ref={inputRef}\n renderItem={renderItem}\n searchSource={searchSource}\n size={size}\n value={value}\n />\n {hasClear && value != null && !isDisabled ? (\n <Button\n className={styles.clearButton}\n icon={X}\n isIconOnly\n label={`Clear ${label}`}\n onClick={event => {\n event.stopPropagation();\n setIsEditing(false);\n onChange(null);\n inputRef.current?.focus();\n }}\n size=\"sm\"\n variant=\"ghost\"\n />\n ) : null}\n </div>\n </Field>\n );\n}\n\nAutocompleteInput.displayName = 'AutocompleteInput';\n","import type {ReactNode} from 'react';\n\n/**\n * A search result item with a fully custom pre-rendered element. When\n * `element` is set, `AutocompleteInputItem` renders it directly — props\n * like `icon`, `description`, and `className` do not apply.\n */\nexport interface CustomSearchableItem<TAuxiliaryData = unknown> {\n /**\n * Custom data associated with the item.\n */\n auxiliaryData?: TAuxiliaryData;\n /**\n * Pre-rendered item content. When set, `AutocompleteInputItem` renders\n * this element directly and ignores layout props like `icon` and\n * `description`.\n */\n element: ReactNode;\n /**\n * Stable unique identifier.\n */\n id: string;\n /**\n * Display text used for the selected-value tag chip.\n */\n label: string;\n}\n\n/**\n * A search result item rendered by the default `AutocompleteInputItem`\n * layout with an optional icon and description.\n */\nexport interface StandardSearchableItem<TAuxiliaryData = unknown> {\n /**\n * Custom data associated with the item.\n */\n auxiliaryData?: TAuxiliaryData;\n /**\n * Must be omitted to use the standard layout. Set `element` on a\n * {@link CustomSearchableItem} for fully custom rendering.\n */\n element?: undefined;\n /**\n * Stable unique identifier.\n */\n id: string;\n /**\n * Display text.\n */\n label: string;\n}\n\n/**\n * A search result item. Items without `element` use the default\n * `AutocompleteInputItem` layout; items with `element` render fully\n * custom content.\n */\nexport type SearchableItem<TAuxiliaryData = unknown> =\n | CustomSearchableItem<TAuxiliaryData>\n | StandardSearchableItem<TAuxiliaryData>;\n\nexport interface SearchSource<T extends SearchableItem = SearchableItem> {\n /**\n * Return initial items, usually recent or common selections.\n */\n bootstrap(): Promise<T[]> | T[];\n /**\n * Optional cancellation for in-flight async searches.\n */\n cancel?(): void;\n /**\n * Return items matching the query.\n */\n search(query: string): Promise<T[]> | T[];\n}\n\nexport interface CreateStaticSearchSourceOptions<\n T extends SearchableItem = SearchableItem,\n> {\n /**\n * Extra searchable terms for each item.\n */\n getKeywords?: (item: T) => string[];\n}\n\nexport function createStaticSearchSource<T extends SearchableItem>(\n items: T[],\n options?: CreateStaticSearchSourceOptions<T>,\n): SearchSource<T> {\n return {\n bootstrap: () => items,\n search(query) {\n const normalizedQuery = query.trim().toLowerCase();\n if (normalizedQuery === '') {\n return items;\n }\n\n return items.filter(item => {\n if (item.label.toLowerCase().includes(normalizedQuery)) {\n return true;\n }\n return (\n options\n ?.getKeywords?.(item)\n .some(keyword => keyword.toLowerCase().includes(normalizedQuery)) ??\n false\n );\n });\n },\n };\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/SideNav/SideNav.recipe.ts","../src/components/SideNav/SideNavContext.ts","../src/components/SideNav/internal/SideNavCollapseButton.tsx","../src/components/SideNav/SideNav.tsx","../src/components/SideNav/SideNavHeading.tsx","../src/components/SideNav/SideNavItem.tsx","../src/components/SideNav/SideNavSection.tsx"],"names":["styles","jsx","jsxs","useState","useCallback","Fragment","useId"],"mappings":"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","file":"chunk-SOCSUNIM.js","sourcesContent":["import {cva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const sideNavRecipe = cva({\n base: {\n display: 'flex',\n flexDirection: 'column',\n h: '100%',\n w: '260px',\n bg: 'inherit',\n overflow: 'hidden',\n },\n variants: {\n isCollapsed: {\n true: {\n w: '12',\n },\n false: {},\n },\n mode: {\n default: {},\n topbar: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n h: '12',\n w: '100%',\n },\n },\n },\n defaultVariants: {\n isCollapsed: false,\n mode: 'default',\n },\n});\n\nexport type SideNavVariants = RecipeVariantProps<typeof sideNavRecipe>;\n","import {createContext, use} from 'react';\n\nexport type SideNavRenderMode =\n | 'default'\n | 'topbar'\n | 'drawer'\n | 'drawer-content';\n\nexport interface SideNavCollapseState {\n isCollapsed: boolean;\n isCollapsible: boolean;\n toggle: () => void;\n}\n\nexport const SideNavRenderContext = createContext<SideNavRenderMode>('default');\nSideNavRenderContext.displayName = 'SideNavRenderContext';\nexport const SideNavCollapseContext = createContext<SideNavCollapseState>({\n isCollapsed: false,\n isCollapsible: false,\n toggle: () => {},\n});\nSideNavCollapseContext.displayName = 'SideNavCollapseContext';\n\nexport function useSideNavRenderMode(): SideNavRenderMode {\n return use(SideNavRenderContext);\n}\n\nexport function useSideNavCollapse(): SideNavCollapseState {\n return use(SideNavCollapseContext);\n}\n","import {ChevronLeft, ChevronRight} from 'lucide-react';\nimport {css} from 'styled-system/css';\nimport {Button} from '../../Button';\nimport {useSideNavCollapse} from '../SideNavContext';\n\nconst styles = {\n expanded: css({\n ms: '-2',\n }),\n};\n\n/**\n * Toggle button for collapsing and expanding the SideNav.\n * Reads collapse state from context when placed inside a SideNav.\n */\nexport function SideNavCollapseButton(): React.JSX.Element | null {\n const {isCollapsed, isCollapsible, toggle} = useSideNavCollapse();\n\n if (!isCollapsible) {\n return null;\n }\n\n const tooltipLabel = isCollapsed ? 'Expand sidebar' : 'Collapse sidebar';\n\n return (\n <Button\n className={isCollapsed ? undefined : styles.expanded}\n icon={isCollapsed ? ChevronRight : ChevronLeft}\n isIconOnly\n label={tooltipLabel}\n onClick={toggle}\n size=\"sm\"\n tooltip={tooltipLabel}\n variant=\"ghost\"\n />\n );\n}\n\nSideNavCollapseButton.displayName = 'SideNavCollapseButton';\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {useCallback, useMemo, useState} from 'react';\nimport {css} from 'styled-system/css';\nimport {MobileNav} from '../../internal/MobileNav';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\nimport {sideNavRecipe} from './SideNav.recipe';\nimport {SideNavCollapseContext, useSideNavRenderMode} from './SideNavContext';\nimport {SideNavCollapseButton} from './internal/SideNavCollapseButton';\n\nexport interface SideNavProps {\n /**\n * Navigation item children rendered in the scrollable area.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the nav element.\n */\n className?: string;\n /**\n * Test ID applied to the nav element.\n */\n 'data-testid'?: string;\n /**\n * Content rendered in the sticky bottom section.\n */\n footer?: ReactNode;\n /**\n * Icon actions rendered alongside the footer.\n */\n footerIcons?: ReactNode;\n /**\n * Content rendered at the top of the nav (e.g. a logo or title).\n */\n header?: ReactNode;\n /**\n * Whether the nav can be collapsed to an icon-only toolbar.\n * @default false\n */\n isCollapsible?: boolean;\n /**\n * Ref forwarded to the nav element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Inline styles applied to the nav element.\n */\n style?: CSSProperties;\n /**\n * Non-scrollable content rendered below the header.\n */\n topContent?: ReactNode;\n}\n\nconst styles = {\n stickyTop: css({\n display: 'flex',\n flexDirection: 'column',\n flexShrink: 0,\n p: '2',\n gap: '2',\n }),\n scrollable: css({\n flex: 1,\n overflowY: 'auto',\n overflowX: 'hidden',\n px: '2',\n }),\n scrollableCollapsed: css({\n flex: 'none',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n }),\n stickyBottom: css({\n display: 'flex',\n flexDirection: 'column',\n flexShrink: 0,\n mt: 'auto',\n p: '2',\n gap: '2',\n borderBlockStartWidth: 'default',\n borderBlockStartStyle: 'solid',\n borderBlockStartColor: 'border',\n }),\n footerRow: css({\n display: 'flex',\n alignItems: 'center',\n gap: '1',\n }),\n footerRowCollapsed: css({\n flexDirection: 'column-reverse',\n alignItems: 'center',\n }),\n footerIcons: css({\n display: 'flex',\n alignItems: 'center',\n gap: '1',\n ms: 'auto',\n }),\n footerIconsCollapsed: css({\n flexDirection: 'column',\n alignItems: 'center',\n ms: '0',\n }),\n topbarIcons: css({\n display: 'flex',\n alignItems: 'center',\n gap: '1',\n ms: 'auto',\n }),\n};\n\n/**\n * Vertical side navigation panel with optional collapsing support.\n * Adapts to AppShell render modes (inline, drawer, topbar).\n */\nexport function SideNav({\n children,\n className,\n isCollapsible = false,\n 'data-testid': dataTestId,\n footer,\n footerIcons,\n header,\n ref,\n style,\n topContent,\n}: SideNavProps): React.JSX.Element {\n const renderMode = useSideNavRenderMode();\n const [isCollapsed, setIsCollapsed] = useState(false);\n const toggle = useCallback(() => {\n setIsCollapsed(prev => !prev);\n }, []);\n const collapseContext = useMemo(\n () => ({isCollapsed, isCollapsible, toggle}),\n [isCollapsed, isCollapsible, toggle],\n );\n\n if (renderMode === 'topbar') {\n return (\n <div\n className={cx(sideNavRecipe({mode: 'topbar'}), className)}\n data-testid={dataTestId}\n style={style}>\n {header}\n <div className={styles.topbarIcons}>{footerIcons}</div>\n </div>\n );\n }\n\n if (renderMode === 'drawer') {\n return (\n <MobileNav data-testid={dataTestId} header={header}>\n {topContent}\n {children}\n {footer}\n {footerIcons}\n </MobileNav>\n );\n }\n\n if (renderMode === 'drawer-content') {\n return (\n <>\n {topContent}\n {children}\n {footer}\n {footerIcons}\n </>\n );\n }\n\n return (\n <SideNavCollapseContext value={collapseContext}>\n <nav\n aria-label=\"Side navigation\"\n className={cx(sideNavRecipe({isCollapsed}), className)}\n data-testid={dataTestId}\n ref={ref}\n role=\"navigation\"\n style={style}>\n {isReactNode(header) || (!isCollapsed && isReactNode(topContent)) ? (\n <div className={styles.stickyTop}>\n {header}\n {!isCollapsed ? topContent : null}\n </div>\n ) : null}\n <div\n className={cx(\n styles.scrollable,\n isCollapsed && styles.scrollableCollapsed,\n )}>\n {children}\n </div>\n {isReactNode(footer) || isReactNode(footerIcons) || isCollapsible ? (\n <div className={styles.stickyBottom}>\n {footer}\n <div\n className={cx(\n styles.footerRow,\n isCollapsed && styles.footerRowCollapsed,\n )}>\n {isCollapsible ? <SideNavCollapseButton /> : null}\n {isReactNode(footerIcons) ? (\n <div\n className={cx(\n styles.footerIcons,\n isCollapsed && styles.footerIconsCollapsed,\n )}>\n {footerIcons}\n </div>\n ) : null}\n </div>\n </div>\n ) : null}\n </nav>\n </SideNavCollapseContext>\n );\n}\n\nSideNav.displayName = 'SideNav';\n","/* eslint-disable @eslint-react/static-components -- intentional polymorphism via as prop */\n\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\nimport type {LinkComponent} from '../Link';\nimport {useLinkComponent} from '../Link';\nimport {Text} from '../Text';\nimport {useSideNavCollapse} from './SideNavContext';\n\nexport interface SideNavHeadingProps {\n as?: LinkComponent;\n className?: string;\n 'data-testid'?: string;\n headerEndContent?: ReactNode;\n heading?: string;\n headingHref?: string;\n href?: string;\n logo?: ReactNode;\n ref?: Ref<HTMLElement>;\n style?: CSSProperties;\n subheading?: string;\n superheading?: string;\n}\n\nconst styles = {\n root: css({\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n minH: '8',\n px: '2',\n color: 'fg',\n textDecoration: 'none',\n }),\n collapsed: css({\n justifyContent: 'center',\n px: 0,\n }),\n logo: css({\n flexShrink: 0,\n display: 'inline-flex',\n alignItems: 'center',\n }),\n text: css({\n display: 'flex',\n flexDirection: 'column',\n flex: 1,\n minW: 0,\n }),\n endContent: css({\n ms: 'auto',\n flexShrink: 0,\n }),\n};\n\nexport function SideNavHeading({\n as,\n className,\n 'data-testid': dataTestId,\n headerEndContent,\n heading,\n headingHref,\n href,\n logo,\n ref,\n style,\n subheading,\n superheading,\n}: SideNavHeadingProps): React.JSX.Element | null {\n const LinkComponent = useLinkComponent(as);\n const {isCollapsed} = useSideNavCollapse();\n const resolvedHref = headingHref ?? href;\n const Element = resolvedHref != null ? LinkComponent : 'div';\n\n if (isCollapsed && !isReactNode(logo)) {\n return null;\n }\n\n return (\n <Element\n aria-label={isCollapsed && resolvedHref != null ? heading : undefined}\n className={cx(styles.root, isCollapsed && styles.collapsed, className)}\n data-testid={dataTestId}\n href={resolvedHref}\n ref={ref as Ref<HTMLAnchorElement & HTMLDivElement>}\n style={style}\n to={Element === 'a' ? undefined : resolvedHref}>\n {isReactNode(logo) ? <span className={styles.logo}>{logo}</span> : null}\n {!isCollapsed ? (\n <span className={styles.text}>\n {superheading != null ? (\n <Text color=\"secondary\" type=\"supporting\">\n {superheading}\n </Text>\n ) : null}\n {heading != null ? (\n <Text type=\"large\" weight=\"semibold\">\n {heading}\n </Text>\n ) : null}\n {subheading != null ? (\n <Text color=\"secondary\" type=\"supporting\">\n {subheading}\n </Text>\n ) : null}\n </span>\n ) : null}\n {!isCollapsed && isReactNode(headerEndContent) ? (\n <span className={styles.endContent}>{headerEndContent}</span>\n ) : null}\n </Element>\n );\n}\n\nSideNavHeading.displayName = 'SideNavHeading';\n","/* eslint-disable @eslint-react/static-components -- intentional polymorphism via as prop */\n\nimport {ChevronDown} from 'lucide-react';\nimport type {CSSProperties, MouseEventHandler, ReactNode, Ref} from 'react';\nimport {useCallback, useId, useState} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\nimport {useAppShellMobile} from '../AppShell/AppShellMobileContext';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Item} from '../Item';\nimport type {LinkComponent} from '../Link';\nimport {useLinkComponent} from '../Link';\nimport {useSideNavCollapse} from './SideNavContext';\n\nexport interface SideNavItemProps {\n /**\n * Custom link component used when href is set.\n */\n as?: LinkComponent;\n /**\n * Nested sub-items rendered below this item.\n */\n children?: ReactNode;\n /**\n * Additional CSS class names applied to the item.\n */\n className?: string;\n /**\n * Test ID applied to the item.\n */\n 'data-testid'?: string;\n /**\n * Content rendered at the end of the item (e.g. a badge).\n */\n endContent?: ReactNode;\n /**\n * Link destination. When set, the item renders as a link.\n */\n href?: string;\n /**\n * Icon rendered before the label.\n */\n icon?: IconComponent;\n /**\n * Whether the item can expand/collapse its children.\n * @default false\n */\n isCollapsible?: boolean;\n /**\n * Whether the item's children are initially expanded.\n * @default true\n */\n isDefaultExpanded?: boolean;\n /**\n * Whether the item is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether the item is currently selected.\n * @default false\n */\n isSelected?: boolean;\n /**\n * Accessible item label, also used as visible text.\n */\n label: string;\n /**\n * Click handler for the item.\n */\n onClick?: MouseEventHandler<HTMLElement>;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Inline styles applied to the item.\n */\n style?: CSSProperties;\n}\n\nconst styles = {\n navItem: css({\n color: 'fg.muted',\n fontSize: 'sm',\n fontWeight: 'medium',\n minH: '8',\n py: '0.5',\n // Override Item's default `bg.subtle` hover, which is invisible when the\n // SideNav sits on the AppShell's `bg.subtle` surface. Match TopNavItem's\n // darker `bg.hover` so the hover is visible in both navs.\n _hover: {bg: 'bg.hover'},\n }),\n navItemSelected: css({\n bg: 'bg.hover',\n color: 'fg',\n fontWeight: 'semibold',\n }),\n icon: css({\n flexShrink: 0,\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n fontSize: 'var(--silver-sizes-icon-md)',\n }),\n collapsed: css({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n w: '10',\n minH: '8',\n px: 0,\n py: '1.5',\n borderRadius: 'md',\n color: 'fg.muted',\n textDecoration: 'none',\n bg: 'transparent',\n borderWidth: 0,\n cursor: 'pointer',\n _hover: {bg: 'bg.hover'},\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n }),\n collapsedSelected: css({\n bg: 'bg.hover',\n color: 'fg',\n }),\n collapsedDisabled: css({\n opacity: 0.5,\n cursor: 'not-allowed',\n pointerEvents: 'none',\n }),\n toggleRow: css({\n display: 'flex',\n w: '100%',\n cursor: 'pointer',\n borderRadius: 'md',\n _hover: {bg: 'bg.hover'},\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n }),\n toggleRowDisabled: css({\n opacity: 0.5,\n cursor: 'not-allowed',\n pointerEvents: 'none',\n }),\n chevron: css({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n transitionProperty: 'transform',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n }),\n chevronExpanded: css({\n transform: 'rotate(180deg)',\n }),\n toggleButton: css({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n w: '7',\n h: '7',\n borderRadius: 'md',\n cursor: 'pointer',\n color: 'fg.muted',\n _hover: {bg: 'bg.hover'},\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n }),\n childrenContainer: css({\n display: 'grid',\n gridTemplateRows: '1fr',\n transitionProperty: 'grid-template-rows',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n }),\n childrenCollapsed: css({\n gridTemplateRows: '0fr',\n }),\n childrenInner: css({\n overflow: 'hidden',\n ps: '6',\n }),\n};\n\n/**\n * A single navigation item inside a SideNav. Renders as a link when\n * `href` is provided, or a button otherwise. Supports nested sub-items\n * via `children` with optional expand/collapse behavior.\n */\nexport function SideNavItem({\n as,\n children,\n className,\n 'data-testid': dataTestId,\n endContent,\n href,\n icon,\n isCollapsible: isItemCollapsible = false,\n isDefaultExpanded = true,\n isDisabled = false,\n isSelected = false,\n label,\n onClick,\n ref,\n style,\n}: SideNavItemProps): React.JSX.Element {\n const LinkComponent = useLinkComponent(as);\n const {closeMobileNav} = useAppShellMobile();\n const {isCollapsed} = useSideNavCollapse();\n const [isExpanded, setIsExpanded] = useState(isDefaultExpanded);\n const childrenId = useId();\n\n const hasChildren = isReactNode(children);\n const isExpandable = hasChildren && isItemCollapsible;\n const hasPrimaryAction = href != null || onClick != null;\n\n const toggleExpanded = useCallback(() => {\n setIsExpanded(prev => !prev);\n }, []);\n\n const handleClick: MouseEventHandler<HTMLElement> = event => {\n if (isDisabled) {\n event.preventDefault();\n return;\n }\n onClick?.(event);\n closeMobileNav();\n };\n\n const iconSlot =\n icon != null ? (\n <span aria-hidden=\"true\" className={styles.icon}>\n <Icon icon={icon} size=\"sm\" />\n </span>\n ) : undefined;\n\n // --- Collapsed sidebar: icon-only rendering ---\n if (isCollapsed) {\n const collapsedClassNames = cx(\n styles.collapsed,\n isSelected && styles.collapsedSelected,\n isDisabled && styles.collapsedDisabled,\n className,\n );\n\n if (href != null && !isDisabled) {\n return (\n <LinkComponent\n aria-current={isSelected ? 'page' : undefined}\n aria-label={label}\n className={collapsedClassNames}\n data-testid={dataTestId}\n href={href}\n onClick={handleClick}\n ref={ref as Ref<HTMLAnchorElement>}\n style={style}\n to={LinkComponent === 'a' ? undefined : href}>\n {iconSlot}\n </LinkComponent>\n );\n }\n\n return (\n <button\n aria-current={isSelected ? 'page' : undefined}\n aria-label={label}\n className={collapsedClassNames}\n data-testid={dataTestId}\n disabled={isDisabled}\n onClick={handleClick}\n ref={ref as Ref<HTMLButtonElement>}\n style={style}\n type=\"button\">\n {iconSlot}\n </button>\n );\n }\n\n // --- Expanded sidebar ---\n\n const chevronSlot = isExpandable ? (\n <span className={cx(styles.chevron, isExpanded && styles.chevronExpanded)}>\n <Icon icon={ChevronDown} size=\"sm\" />\n </span>\n ) : null;\n\n const childrenContainer = isReactNode(children) ? (\n <div\n className={cx(\n styles.childrenContainer,\n isExpandable && !isExpanded && styles.childrenCollapsed,\n )}\n id={childrenId}\n role=\"group\">\n <div className={styles.childrenInner}>{children}</div>\n </div>\n ) : null;\n\n // Collapsible WITHOUT primary action: whole row toggles\n if (isExpandable && !hasPrimaryAction) {\n return (\n <>\n <button\n aria-controls={childrenId}\n aria-expanded={isExpanded}\n className={cx(\n styles.toggleRow,\n isSelected && styles.navItemSelected,\n isDisabled && styles.toggleRowDisabled,\n className,\n )}\n data-testid={dataTestId}\n disabled={isDisabled}\n onClick={toggleExpanded}\n ref={ref as Ref<HTMLButtonElement>}\n style={style}\n type=\"button\">\n <Item\n as=\"span\"\n className={styles.navItem}\n endContent={chevronSlot}\n label={label}\n startContent={iconSlot}\n />\n </button>\n {childrenContainer}\n </>\n );\n }\n\n // Collapsible WITH primary action: split-action (link + chevron)\n if (isExpandable && hasPrimaryAction) {\n return (\n <>\n <Item\n aria-current={isSelected ? 'page' : undefined}\n className={cx(\n styles.navItem,\n isSelected && styles.navItemSelected,\n className,\n )}\n data-testid={dataTestId}\n endContent={endContent}\n href={isDisabled ? undefined : href}\n isDisabled={isDisabled}\n label={label}\n linkComponent={as}\n onClick={handleClick}\n ref={ref}\n startContent={iconSlot}\n style={style}\n trailingContent={\n <button\n aria-controls={childrenId}\n aria-expanded={isExpanded}\n aria-label={isExpanded ? `Collapse ${label}` : `Expand ${label}`}\n className={styles.toggleButton}\n onClick={toggleExpanded}\n type=\"button\">\n {chevronSlot}\n </button>\n }\n />\n {childrenContainer}\n </>\n );\n }\n\n // Leaf item (no collapsible children): compose Item directly\n return (\n <>\n <Item\n aria-current={isSelected ? 'page' : undefined}\n className={cx(\n styles.navItem,\n isSelected && styles.navItemSelected,\n className,\n )}\n data-testid={dataTestId}\n endContent={endContent}\n href={isDisabled ? undefined : href}\n isDisabled={isDisabled}\n label={label}\n linkComponent={as}\n onClick={handleClick}\n ref={ref}\n startContent={iconSlot}\n style={style}\n />\n {childrenContainer}\n </>\n );\n}\n\nSideNavItem.displayName = 'SideNavItem';\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {useId} from 'react';\nimport {css} from 'styled-system/css';\nimport {VisuallyHidden} from '../../internal';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\nimport {Text} from '../Text';\nimport {useSideNavCollapse} from './SideNavContext';\n\nexport interface SideNavSectionProps {\n children: ReactNode;\n className?: string;\n 'data-testid'?: string;\n endContent?: ReactNode;\n isHeaderHidden?: boolean;\n ref?: Ref<HTMLDivElement>;\n style?: CSSProperties;\n subtitle?: string;\n title: string;\n}\n\nconst styles = {\n root: css({\n display: 'flex',\n flexDirection: 'column',\n py: '1',\n }),\n rootCollapsed: css({\n py: '0',\n }),\n header: css({\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n px: '2',\n py: '1',\n }),\n titleContainer: css({\n display: 'flex',\n flexDirection: 'column',\n flex: 1,\n minW: 0,\n }),\n endContent: css({\n flexShrink: 0,\n display: 'flex',\n alignItems: 'center',\n }),\n items: css({\n display: 'flex',\n flexDirection: 'column',\n gap: '0.5',\n }),\n};\n\nexport function SideNavSection({\n children,\n className,\n 'data-testid': dataTestId,\n endContent,\n isHeaderHidden = false,\n ref,\n style,\n subtitle,\n title,\n}: SideNavSectionProps): React.JSX.Element {\n const {isCollapsed} = useSideNavCollapse();\n const id = useId();\n const titleId = `${id}-title`;\n const shouldHideHeader = isHeaderHidden || isCollapsed;\n const header = (\n <div className={styles.header}>\n <span className={styles.titleContainer}>\n <Text\n as=\"span\"\n color=\"secondary\"\n data-testid={undefined}\n id={titleId}\n type=\"supporting\"\n weight=\"semibold\">\n {title}\n </Text>\n {subtitle != null ? (\n <Text as=\"span\" color=\"secondary\" type=\"supporting\">\n {subtitle}\n </Text>\n ) : null}\n </span>\n {isReactNode(endContent) ? (\n <span className={styles.endContent}>{endContent}</span>\n ) : null}\n </div>\n );\n\n return (\n <div\n aria-labelledby={titleId}\n className={cx(\n styles.root,\n isCollapsed && styles.rootCollapsed,\n className,\n )}\n data-testid={dataTestId}\n ref={ref}\n role=\"group\"\n style={style}>\n {shouldHideHeader ? <VisuallyHidden>{header}</VisuallyHidden> : header}\n <div className={styles.items}>{children}</div>\n </div>\n );\n}\n\nSideNavSection.displayName = 'SideNavSection';\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/AppShell/AppShellMobileContext.tsx","../src/internal/MobileNav/MobileNav.recipe.ts","../src/internal/MobileNav/MobileNav.tsx","../src/internal/MobileNav/MobileNavToggle.tsx"],"names":["jsx"],"mappings":"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","file":"chunk-SSAYBCAD.js","sourcesContent":["import {createContext, use} from 'react';\n\nexport interface AppShellMobileContextValue {\n closeMobileNav: () => void;\n hasAutoToggle: boolean;\n isMobile: boolean;\n isMobileNavEnabled: boolean;\n isMobileNavOpen: boolean;\n openMobileNav: () => void;\n toggleMobileNav: () => void;\n}\n\nconst defaultValue: AppShellMobileContextValue = {\n closeMobileNav: () => {},\n hasAutoToggle: true,\n isMobile: false,\n isMobileNavEnabled: false,\n isMobileNavOpen: false,\n openMobileNav: () => {},\n toggleMobileNav: () => {},\n};\n\nexport const AppShellMobileContext =\n createContext<AppShellMobileContextValue>(defaultValue);\nAppShellMobileContext.displayName = 'AppShellMobileContext';\n\nexport function useAppShellMobile(): AppShellMobileContextValue {\n return use(AppShellMobileContext);\n}\n","import {cva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const mobileNavRecipe = cva({\n base: {\n position: 'fixed',\n inset: 0,\n m: 0,\n p: 0,\n borderWidth: 0,\n maxW: 'none',\n maxH: 'none',\n w: '100vw',\n h: '100dvh',\n bg: 'transparent',\n overflow: 'hidden',\n display: 'none',\n '&::backdrop': {\n bg: 'overlay.scrim',\n backdropFilter: 'blur(2px)',\n },\n },\n variants: {\n isOpen: {\n true: {\n display: 'flex',\n },\n false: {},\n },\n },\n defaultVariants: {\n isOpen: false,\n },\n});\n\nexport type MobileNavVariants = RecipeVariantProps<typeof mobileNavRecipe>;\n","import {X} from 'lucide-react';\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {useCallback, useEffect, useRef} from 'react';\nimport {css} from 'styled-system/css';\nimport {useAppShellMobile} from '../../components/AppShell/AppShellMobileContext';\nimport {Button} from '../../components/Button';\nimport {cx} from '../cx';\nimport {mergeRefs} from '../mergeRefs';\nimport {mobileNavRecipe} from './MobileNav.recipe';\n\nexport type MobileNavSide = 'start' | 'end';\n\n/**\n * Slide-out drawer for mobile navigation.\n */\nexport interface MobileNavProps {\n /**\n * Drawer body content.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the dialog element.\n */\n className?: string;\n /**\n * Test ID applied to the dialog element.\n */\n 'data-testid'?: string;\n /**\n * Content rendered in the drawer header bar.\n */\n header?: ReactNode;\n /**\n * Whether the drawer is open.\n */\n isOpen?: boolean;\n /**\n * Accessible label for the dialog.\n */\n label?: string;\n /**\n * Called when the drawer requests an open-state change.\n */\n onOpenChange?: (isOpen: boolean) => void;\n /**\n * Ref forwarded to the dialog element.\n */\n ref?: Ref<HTMLDialogElement>;\n /**\n * Which edge of the viewport the drawer slides from.\n * @default 'end'\n */\n side?: MobileNavSide;\n /**\n * Maximum drawer width.\n * @default 320\n */\n size?: number | string;\n /**\n * Inline styles applied to the dialog element.\n */\n style?: CSSProperties;\n}\n\nfunction formatSize(value: number | string): string {\n return typeof value === 'number' ? `${value}px` : value;\n}\n\nconst CLOSE_BUTTON_SELECTOR = '[aria-label=\"Close navigation\"]';\n\nconst styles = {\n drawer: css({\n position: 'absolute',\n insetBlock: 0,\n display: 'flex',\n flexDirection: 'column',\n bg: 'bg',\n borderColor: 'border',\n overflow: 'hidden',\n transitionProperty: 'transform',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n '@media (prefers-reduced-motion: reduce)': {\n transitionDuration: '0.01s',\n },\n }),\n drawerStart: css({\n insetInlineStart: 0,\n borderInlineEndWidth: 'default',\n transform: 'translateX(-100%)',\n _rtl: {transform: 'translateX(100%)'},\n }),\n drawerEnd: css({\n insetInlineEnd: 0,\n borderInlineStartWidth: 'default',\n transform: 'translateX(100%)',\n _rtl: {transform: 'translateX(-100%)'},\n }),\n drawerOpen: css({\n transform: 'translateX(0)',\n }),\n header: css({\n h: '12',\n px: '2',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n borderBlockEndWidth: 'default',\n borderBlockEndStyle: 'solid',\n borderBlockEndColor: 'border',\n flexShrink: 0,\n }),\n body: css({\n flex: 1,\n overflowY: 'auto',\n overflowX: 'hidden',\n p: '2',\n }),\n};\n\nexport function MobileNav({\n children,\n className,\n 'data-testid': dataTestId,\n header,\n isOpen: isOpenFromProps,\n label,\n onOpenChange: onOpenChangeFromProps,\n ref,\n side = 'end',\n size = 320,\n style,\n}: MobileNavProps): React.JSX.Element {\n const appShellMobile = useAppShellMobile();\n const isOpen = isOpenFromProps ?? appShellMobile.isMobileNavOpen;\n const {openMobileNav, closeMobileNav} = appShellMobile;\n const onOpenChange = useCallback(\n (isNextOpen: boolean) => {\n if (onOpenChangeFromProps != null) {\n onOpenChangeFromProps(isNextOpen);\n } else if (isNextOpen) {\n openMobileNav();\n } else {\n closeMobileNav();\n }\n },\n [openMobileNav, closeMobileNav, onOpenChangeFromProps],\n );\n const dialogRef = useRef<HTMLDialogElement>(null);\n\n useEffect(() => {\n const dialog = dialogRef.current;\n\n if (dialog == null) {\n return;\n }\n\n if (isOpen && !dialog.open) {\n dialog.showModal();\n\n const firstFocusable = dialog.querySelector<HTMLElement>(\n `a[href], button:not(${CLOSE_BUTTON_SELECTOR}):not([disabled])`,\n );\n if (firstFocusable != null) {\n firstFocusable.focus();\n }\n } else if (!isOpen && dialog.open) {\n dialog.close();\n }\n }, [isOpen]);\n\n useEffect(() => {\n if (!isOpen) {\n return;\n }\n\n const previousOverflow = document.body.style.overflow;\n document.body.style.overflow = 'hidden';\n return () => {\n document.body.style.overflow = previousOverflow;\n };\n }, [isOpen]);\n\n const formattedSize = formatSize(size);\n\n return (\n <dialog\n aria-label={label ?? (typeof header === 'string' ? header : 'Navigation')}\n className={cx(mobileNavRecipe({isOpen}), className)}\n data-testid={dataTestId}\n onCancel={event => {\n event.preventDefault();\n onOpenChange(false);\n }}\n onClick={event => {\n if (event.target === event.currentTarget) {\n onOpenChange(false);\n }\n }}\n ref={mergeRefs(ref, dialogRef)}\n style={style}>\n <div\n className={cx(\n styles.drawer,\n side === 'start' ? styles.drawerStart : styles.drawerEnd,\n isOpen && styles.drawerOpen,\n )}\n style={{maxWidth: formattedSize, width: '100vw'}}>\n <div className={styles.header}>\n {header ?? <span />}\n <Button\n icon={X}\n isIconOnly\n label=\"Close navigation\"\n onClick={() => onOpenChange(false)}\n variant=\"ghost\"\n />\n </div>\n <div className={styles.body}>{children}</div>\n </div>\n </dialog>\n );\n}\n\nMobileNav.displayName = 'MobileNav';\n","import {Menu} from 'lucide-react';\nimport type {CSSProperties, Ref} from 'react';\nimport {useAppShellMobile} from '../../components/AppShell/AppShellMobileContext';\nimport {Button} from '../../components/Button';\n\n/**\n * Props for {@link MobileNavToggle}.\n */\nexport interface MobileNavToggleProps {\n /**\n * Additional CSS class names applied to the toggle button.\n */\n className?: string;\n /**\n * Test ID applied to the toggle button.\n */\n 'data-testid'?: string;\n /**\n * Accessible label for the toggle button.\n * @default 'Open navigation'\n */\n label?: string;\n /**\n * Ref forwarded to the toggle button.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Inline styles applied to the toggle button.\n */\n style?: CSSProperties;\n}\n\n/**\n * Hamburger-style button that toggles the mobile navigation drawer.\n * Renders nothing when the viewport is above the mobile breakpoint or\n * mobile navigation is disabled.\n */\nexport function MobileNavToggle({\n className,\n 'data-testid': dataTestId,\n label = 'Open navigation',\n ref,\n style,\n}: MobileNavToggleProps): React.JSX.Element | null {\n const {isMobile, isMobileNavEnabled, toggleMobileNav} = useAppShellMobile();\n\n if (!isMobile || !isMobileNavEnabled) {\n return null;\n }\n\n return (\n <Button\n className={className}\n data-testid={dataTestId}\n icon={Menu}\n isIconOnly\n label={label}\n onClick={toggleMobileNav}\n ref={ref}\n style={style}\n variant=\"ghost\"\n />\n );\n}\n\nMobileNavToggle.displayName = 'MobileNavToggle';\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/internal/useListboxNavigation.ts","../src/internal/useSelectListbox.tsx"],"names":["useState","useMemo","useCallback","useId","isReactNode","getStatusMessageID","getDescribedBy","useRef","jsx","jsxs"],"mappings":"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","file":"chunk-SSOAZZNR.cjs","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 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/NavIcon/NavIcon.tsx"],"names":[],"mappings":";;;;AA2BA,IAAM,MAAA,GAAS;AAAA,EACb,MAAM,GAAA,CAAI;AAAA,IACR,OAAA,EAAS,MAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA,IACZ,cAAA,EAAgB,QAAA;AAAA,IAChB,YAAA,EAAc,MAAA;AAAA,IACd,EAAA,EAAI,SAAA;AAAA,IACJ,KAAA,EAAO,cAAA;AAAA,IACP,UAAA,EAAY,CAAA;AAAA,IACZ,CAAA,EAAG,cAAA;AAAA,IACH,CAAA,EAAG;AAAA,GACJ;AACH,CAAA;AAMO,SAAS,OAAA,CAAQ;AAAA,EACtB,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,IAAA;AAAA,EACA,GAAA;AAAA,EACA;AACF,CAAA,EAAoC;AAClC,EAAA,uBACE,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,MAAA,CAAO,IAAA,EAAM,SAAS,CAAA;AAAA,MACpC,aAAA,EAAa,UAAA;AAAA,MACb,GAAA;AAAA,MACA,KAAA;AAAA,MACC,QAAA,EAAA;AAAA;AAAA,GACH;AAEJ;AAEA,OAAA,CAAQ,WAAA,GAAc,SAAA","file":"chunk-SUH62Z64.js","sourcesContent":["import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\n\nexport interface NavIconProps {\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * The icon element to render inside the circular background.\n */\n icon: ReactNode;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLSpanElement>;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n}\n\nconst styles = {\n base: css({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: 'full',\n bg: 'primary',\n color: 'fg.onPrimary',\n flexShrink: 0,\n w: 'component.sm',\n h: 'component.sm',\n }),\n};\n\n/**\n * Circular icon container for navigation headers.\n * Wraps an icon with a circular accent-colored background.\n */\nexport function NavIcon({\n className,\n 'data-testid': dataTestId,\n icon,\n ref,\n style,\n}: NavIconProps): React.JSX.Element {\n return (\n <span\n className={cx(styles.base, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n {icon}\n </span>\n );\n}\n\nNavIcon.displayName = 'NavIcon';\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ToggleButton/ToggleButtonGroup.tsx","../src/components/ToggleButton/ToggleButton.tsx"],"names":["createContext","use","css","useMemo","useCallback","current","jsx","cx","styles","buttonRecipe","Icon","jsxs","Spinner","Tooltip"],"mappings":"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","file":"chunk-TBOQTPRO.cjs","sourcesContent":["import {\n createContext,\n use,\n useCallback,\n useMemo,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport type {ButtonSize} from '../Button';\n\nexport type ToggleButtonGroupOrientation = 'horizontal' | 'vertical';\n\ninterface ToggleButtonGroupContextValue {\n isDisabled?: boolean;\n onToggle: (value: string) => void;\n selectedValues: Set<string>;\n size?: ButtonSize;\n}\n\nconst ToggleButtonGroupContext =\n createContext<ToggleButtonGroupContextValue | null>(null);\n\nToggleButtonGroupContext.displayName = 'ToggleButtonGroupContext';\n\nexport function useToggleButtonGroup(): ToggleButtonGroupContextValue | null {\n return use(ToggleButtonGroupContext);\n}\n\ninterface ToggleButtonGroupBaseProps {\n /**\n * Toggle button children.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the group root.\n */\n className?: string;\n /**\n * Test ID applied to the group root.\n */\n 'data-testid'?: string;\n /**\n * Whether all buttons in the group are disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Accessible label for the group.\n */\n label: string;\n /**\n * Group orientation.\n * @default 'horizontal'\n */\n orientation?: ToggleButtonGroupOrientation;\n /**\n * Ref forwarded to the group root.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Default size for buttons in the group.\n */\n size?: ButtonSize;\n /**\n * Inline styles applied to the group root.\n */\n style?: CSSProperties;\n}\n\nexport interface ToggleButtonGroupSingleProps extends ToggleButtonGroupBaseProps {\n /**\n * Called with the selected value when selection changes, or `null`\n * when the active button is deselected.\n */\n onChange: (value: string | null) => void;\n /**\n * Single-selection mode. Clicking the active button clears selection.\n * @default 'single'\n */\n type?: 'single';\n /**\n * Currently selected value, or `null` for no selection.\n */\n value: string | null;\n}\n\nexport interface ToggleButtonGroupMultipleProps extends ToggleButtonGroupBaseProps {\n /**\n * Called with the array of selected values when selection changes.\n */\n onChange: (value: string[]) => void;\n /**\n * Multiple-selection mode.\n */\n type: 'multiple';\n /**\n * Currently selected values.\n */\n value: string[];\n}\n\nexport type ToggleButtonGroupProps =\n | ToggleButtonGroupSingleProps\n | ToggleButtonGroupMultipleProps;\n\nconst styles = {\n group: css({\n display: 'inline-flex',\n alignItems: 'center',\n gap: '1',\n }),\n vertical: css({\n flexDirection: 'column',\n alignItems: 'stretch',\n }),\n} as const;\n\n/**\n * Groups related ToggleButtons and manages shared selection state.\n */\nexport function ToggleButtonGroup({\n children,\n className,\n 'data-testid': dataTestId,\n isDisabled = false,\n label,\n orientation = 'horizontal',\n ref,\n size,\n style,\n ...props\n}: ToggleButtonGroupProps): React.JSX.Element {\n const isMultiple = props.type === 'multiple';\n const {onChange, value} = props;\n\n const selectedValues = useMemo(() => {\n if (isMultiple) {\n return new Set(value as string[]);\n }\n\n return value == null ? new Set<string>() : new Set([value as string]);\n }, [isMultiple, value]);\n\n const onToggle = useCallback(\n (itemValue: string) => {\n if (isMultiple) {\n const current = value as string[];\n (onChange as (v: string[]) => void)(\n current.includes(itemValue)\n ? current.filter(v => v !== itemValue)\n : [...current, itemValue],\n );\n return;\n }\n\n const current = value as string | null;\n (onChange as (v: string | null) => void)(\n current === itemValue ? null : itemValue,\n );\n },\n [isMultiple, value, onChange],\n );\n\n const contextValue = useMemo(\n () => ({isDisabled, onToggle, selectedValues, size}),\n [isDisabled, onToggle, selectedValues, size],\n );\n\n return (\n <ToggleButtonGroupContext value={contextValue}>\n <div\n aria-label={label}\n className={cx(\n styles.group,\n orientation === 'vertical' ? styles.vertical : undefined,\n className,\n )}\n data-testid={dataTestId}\n ref={ref}\n role=\"group\"\n style={style}>\n {children}\n </div>\n </ToggleButtonGroupContext>\n );\n}\n\nToggleButtonGroup.displayName = 'ToggleButtonGroup';\n","import type {CSSProperties, MouseEvent, ReactNode, Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport type {ButtonSize} from '../Button';\nimport {buttonRecipe} from '../Button/Button.recipe';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Spinner} from '../Spinner';\nimport {Tooltip} from '../Tooltip';\nimport {useToggleButtonGroup} from './ToggleButtonGroup';\n\nexport interface ToggleButtonProps {\n /**\n * Custom visible content. When omitted, `label` is rendered.\n */\n children?: ReactNode;\n /**\n * Additional CSS class names applied to the button root.\n */\n className?: string;\n /**\n * Test ID applied to the button root.\n */\n 'data-testid'?: string;\n /**\n * Icon element rendered before the label.\n */\n icon?: IconComponent;\n /**\n * Whether the button is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label and render a square icon button.\n * @default false\n */\n isIconOnly?: boolean;\n /**\n * Whether the button is loading.\n * @default false\n */\n isLoading?: boolean;\n /**\n * Whether the button is currently selected.\n * @default false\n */\n isSelected?: boolean;\n /**\n * Accessible label for the button.\n */\n label: string;\n /**\n * Called when the selected state should change.\n */\n onChange?: (isSelected: boolean) => void;\n /**\n * Ref forwarded to the button root.\n */\n ref?: Ref<HTMLButtonElement>;\n /**\n * Icon element rendered when the button is selected.\n */\n selectedIcon?: IconComponent;\n /**\n * Visual size of the button.\n */\n size?: ButtonSize;\n /**\n * Inline styles applied to the button root.\n */\n style?: CSSProperties;\n /**\n * Tooltip text shown on hover.\n */\n tooltip?: string;\n /**\n * Value identifier when used inside `ToggleButtonGroup`.\n */\n value?: string;\n}\n\nconst styles = {\n selected: css({\n bg: 'bg.subtle',\n fontWeight: 'semibold',\n _hover: {bg: 'bg.subtle'},\n _active: {bg: 'bg.subtle'},\n }),\n content: css({\n display: 'contents',\n }),\n labelWrapper: css({\n display: 'inline-flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n minW: 0,\n }),\n label: css({\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n minW: 0,\n }),\n widthReservation: css({\n display: 'block',\n h: 0,\n overflow: 'hidden',\n visibility: 'hidden',\n pointerEvents: 'none',\n fontWeight: 'semibold',\n }),\n icon: css({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n }),\n spinner: css({\n display: 'inline-flex',\n alignItems: 'center',\n color: 'inherit',\n }),\n} as const;\n\n/**\n * Button that toggles between selected and unselected states.\n */\nexport function ToggleButton({\n children,\n className,\n 'data-testid': dataTestId,\n icon,\n isDisabled: isDisabledProp = false,\n isIconOnly = false,\n isLoading = false,\n isSelected: isSelectedProp = false,\n label,\n onChange,\n selectedIcon,\n ref,\n size: sizeProp,\n style,\n tooltip,\n value,\n}: ToggleButtonProps): React.JSX.Element {\n const group = useToggleButtonGroup();\n\n if (process.env.NODE_ENV !== 'production') {\n if (group != null && value == null) {\n throw new Error(\n 'ToggleButton: `value` prop is required when used inside a ToggleButtonGroup.',\n );\n }\n }\n\n const isSelected =\n group != null && value != null\n ? group.selectedValues.has(value)\n : isSelectedProp;\n const size = sizeProp ?? group?.size ?? 'md';\n const isDisabled = isDisabledProp || group?.isDisabled === true;\n const resolvedIcon = isSelected && selectedIcon != null ? selectedIcon : icon;\n const visibleLabel = children ?? label;\n\n const handleClick = (event: MouseEvent<HTMLButtonElement>) => {\n if (isDisabled || isLoading) {\n event.preventDefault();\n return;\n }\n\n if (group != null && value != null) {\n group.onToggle(value);\n return;\n }\n\n onChange?.(!isSelected);\n };\n\n const button = (\n <button\n aria-busy={isLoading || undefined}\n aria-label={isIconOnly || isLoading ? label : undefined}\n aria-pressed={isSelected}\n className={cx(\n buttonRecipe({variant: 'ghost', size, iconOnly: isIconOnly}).root,\n isSelected ? styles.selected : undefined,\n className,\n )}\n data-testid={dataTestId}\n disabled={isDisabled || isLoading}\n onClick={handleClick}\n ref={ref}\n style={style}\n type=\"button\">\n <span aria-hidden={isLoading || undefined} className={styles.content}>\n {resolvedIcon != null ? (\n <span className={styles.icon}>\n <Icon icon={resolvedIcon} size={size} />\n </span>\n ) : null}\n {!isIconOnly ? (\n <span className={styles.labelWrapper}>\n <span className={styles.label}>{visibleLabel}</span>\n <span aria-hidden=\"true\" className={styles.widthReservation}>\n {visibleLabel}\n </span>\n </span>\n ) : null}\n {!isIconOnly && isLoading ? (\n <span aria-hidden=\"true\" className={styles.spinner}>\n <Spinner size={size} />\n </span>\n ) : null}\n </span>\n </button>\n );\n\n if (tooltip != null) {\n return <Tooltip content={tooltip}>{button}</Tooltip>;\n }\n\n return button;\n}\n\nToggleButton.displayName = 'ToggleButton';\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/DropdownMenu/DropdownMenuContext.ts","../src/components/DropdownMenu/DropdownMenuItem.recipe.ts","../src/components/DropdownMenu/DropdownMenuItem.tsx","../src/components/DropdownMenu/menuUtils.tsx","../src/components/DropdownMenu/DropdownMenu.tsx"],"names":["createContext","use","sva","jsx","cx","Item","Icon","css","Divider","jsxs","Text","useCallback","useState","useRef","isReactNode","useMemo","Popover","Button","Fragment","ChevronDown"],"mappings":"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","file":"chunk-TF7XVTSP.cjs","sourcesContent":["import {createContext, use} from 'react';\nimport type {ButtonSize} from '../Button';\n\nexport interface DropdownMenuContextValue {\n closeMenu: () => void;\n menuSize: ButtonSize;\n}\n\nexport const DropdownMenuContext =\n createContext<DropdownMenuContextValue | null>(null);\n\nDropdownMenuContext.displayName = 'DropdownMenuContext';\n\nexport function useDropdownMenuContext(): DropdownMenuContextValue | null {\n return use(DropdownMenuContext);\n}\n","import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const dropdownMenuItemRecipe = sva({\n slots: ['root', 'icon'],\n base: {\n root: {\n display: 'block',\n w: 'full',\n borderRadius: 'md',\n color: 'fg',\n cursor: 'pointer',\n fontFamily: 'body',\n textAlign: 'start',\n _hover: {bg: 'bg.subtle'},\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffsetTight',\n },\n _disabled: {\n opacity: 0.5,\n cursor: 'not-allowed',\n },\n },\n icon: {\n display: 'inline-flex',\n flexShrink: 0,\n color: 'fg.muted',\n },\n },\n variants: {\n size: {\n sm: {\n root: {\n minH: 'component.sm',\n '& > *': {py: '0.5', px: '1.5', gap: '1.5'},\n },\n },\n md: {\n root: {minH: 'component.md', '& > *': {py: '1.5', px: '2'}},\n },\n lg: {\n root: {\n minH: 'component.lg',\n '& > *': {py: '2.5', px: '2.5', gap: '2.5'},\n },\n },\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\nexport type DropdownMenuItemVariants = RecipeVariantProps<\n typeof dropdownMenuItemRecipe\n>;\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {cx} from '../../internal/cx';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Item} from '../Item';\nimport {useDropdownMenuContext} from './DropdownMenuContext';\nimport {dropdownMenuItemRecipe} from './DropdownMenuItem.recipe';\n\nexport interface DropdownMenuItemProps {\n /**\n * Additional CSS class names applied to the item.\n */\n className?: string;\n /**\n * Test ID applied to the item.\n */\n 'data-testid'?: string;\n /**\n * Supporting text shown below the label.\n */\n description?: ReactNode;\n /**\n * Trailing content.\n */\n endContent?: ReactNode;\n /**\n * Icon rendered before the label.\n */\n icon?: IconComponent;\n /**\n * Whether the item is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Item label.\n */\n label: string;\n /**\n * Called when the item is selected.\n */\n onClick?: () => void;\n /**\n * Ref forwarded to the item button.\n */\n ref?: Ref<HTMLButtonElement>;\n /**\n * Inline styles applied to the item.\n */\n style?: CSSProperties;\n}\n\n/**\n * Action item inside a `DropdownMenu`.\n */\nexport function DropdownMenuItem({\n className,\n 'data-testid': dataTestId,\n description,\n endContent,\n icon,\n isDisabled = false,\n label,\n onClick,\n ref,\n style,\n}: DropdownMenuItemProps): React.JSX.Element {\n const context = useDropdownMenuContext();\n const menuSize = context?.menuSize ?? 'md';\n const classes = dropdownMenuItemRecipe({size: menuSize});\n\n return (\n <button\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n disabled={isDisabled}\n onClick={() => {\n onClick?.();\n context?.closeMenu();\n }}\n ref={ref}\n role=\"menuitem\"\n style={style}\n type=\"button\">\n <Item\n as=\"span\"\n description={description}\n endContent={endContent}\n label={label}\n startContent={\n icon != null ? (\n <span className={classes.icon}>\n <Icon color=\"secondary\" icon={icon} size=\"sm\" />\n </span>\n ) : null\n }\n />\n </button>\n );\n}\n\nDropdownMenuItem.displayName = 'DropdownMenuItem';\n","/* eslint-disable @eslint-react/no-array-index-key */\nimport {useCallback, type KeyboardEvent, type ReactNode} from 'react';\nimport {css} from 'styled-system/css';\nimport {Divider} from '../Divider';\nimport {Text} from '../Text';\nimport {DropdownMenuItem} from './DropdownMenuItem';\nimport type {DropdownMenuOption} from './types';\n\nconst menuStyles = {\n section: css({\n display: 'flex',\n flexDirection: 'column',\n gap: '0.5',\n }),\n heading: css({\n px: '2',\n py: '1',\n userSelect: 'none',\n }),\n divider: css({\n my: '1',\n }),\n} as const;\n\nexport function formatMenuWidth(\n value: number | string | undefined,\n): string | undefined {\n if (value == null) {\n return undefined;\n }\n return typeof value === 'number' ? `${value}px` : value;\n}\n\nexport function renderMenuItems(\n items: ReadonlyArray<DropdownMenuOption>,\n): ReactNode {\n return items.map((item, index) => {\n if ('type' in item && item.type === 'divider') {\n return (\n <Divider className={menuStyles.divider} key={`divider-${index}`} />\n );\n }\n\n if ('type' in item) {\n return (\n <div\n aria-label={item.title}\n className={menuStyles.section}\n key={`section-${item.title ?? index}`}\n role=\"group\">\n {item.title != null ? (\n <Text\n as=\"span\"\n className={menuStyles.heading}\n color=\"secondary\"\n type=\"supporting\">\n {item.title}\n </Text>\n ) : null}\n {item.items.map(sectionItem => (\n <DropdownMenuItem\n description={sectionItem.description}\n icon={sectionItem.icon}\n isDisabled={sectionItem.isDisabled}\n key={sectionItem.label}\n label={sectionItem.label}\n onClick={sectionItem.onClick}\n />\n ))}\n </div>\n );\n }\n\n return (\n <DropdownMenuItem\n description={item.description}\n icon={item.icon}\n isDisabled={item.isDisabled}\n key={item.label}\n label={item.label}\n onClick={item.onClick}\n />\n );\n });\n}\n\nexport function useMenuKeyboard(\n menuRef: React.RefObject<HTMLElement | null>,\n onClose: () => void,\n): (event: KeyboardEvent<HTMLElement>) => void {\n const getMenuItems = useCallback(() => {\n if (menuRef.current == null) {\n return [];\n }\n return Array.from(\n menuRef.current.querySelectorAll<HTMLElement>(\n '[role=\"menuitem\"]:not(:disabled):not([aria-disabled=\"true\"])',\n ),\n );\n }, [menuRef]);\n\n return useCallback(\n (event: KeyboardEvent<HTMLElement>) => {\n const menuItems = getMenuItems();\n if (menuItems.length === 0) {\n return;\n }\n const currentIndex = menuItems.findIndex(\n item => item === document.activeElement,\n );\n let nextIndex: number;\n\n switch (event.key) {\n case 'ArrowDown':\n nextIndex =\n currentIndex === -1 ? 0 : (currentIndex + 1) % menuItems.length;\n break;\n case 'ArrowUp':\n nextIndex =\n currentIndex === -1\n ? menuItems.length - 1\n : (currentIndex - 1 + menuItems.length) % menuItems.length;\n break;\n case 'Home':\n nextIndex = 0;\n break;\n case 'End':\n nextIndex = menuItems.length - 1;\n break;\n case 'Escape':\n event.preventDefault();\n onClose();\n return;\n case 'Enter':\n case ' ':\n if (document.activeElement instanceof HTMLElement) {\n event.preventDefault();\n document.activeElement.click();\n }\n return;\n default:\n if (event.key.length === 1) {\n const char = event.key.toLowerCase();\n const startIndex = currentIndex === -1 ? 0 : currentIndex + 1;\n for (let i = 0; i < menuItems.length; i++) {\n const index = (startIndex + i) % menuItems.length;\n const label = menuItems[index].textContent.trim().toLowerCase();\n if (label.startsWith(char)) {\n event.preventDefault();\n menuItems[index].focus();\n return;\n }\n }\n }\n return;\n }\n\n event.preventDefault();\n menuItems[nextIndex]?.focus();\n },\n [getMenuItems, onClose],\n );\n}\n","import {ChevronDown} from 'lucide-react';\nimport {\n useCallback,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\nimport {Button, type ButtonProps, type ButtonSize} from '../Button';\nimport {Icon} from '../Icon';\nimport {Popover} from '../Popover';\nimport {DropdownMenuContext} from './DropdownMenuContext';\nimport {formatMenuWidth, renderMenuItems, useMenuKeyboard} from './menuUtils';\nimport type {DropdownMenuOption} from './types';\n\nexport type {\n DropdownMenuDivider,\n DropdownMenuItemData,\n DropdownMenuOption,\n DropdownMenuSection,\n} from './types';\n\ntype DistributiveOmit<T, K extends PropertyKey> = T extends unknown\n ? Omit<T, K>\n : never;\n\nexport type DropdownMenuButtonProps = DistributiveOmit<ButtonProps, 'onClick'>;\n\nexport interface DropdownMenuProps {\n /**\n * Trigger button props.\n */\n button?: DropdownMenuButtonProps;\n /**\n * Compound menu content (alternative to `items`).\n */\n children?: ReactNode;\n /**\n * Additional CSS class names applied to the menu surface.\n */\n className?: string;\n /**\n * Test ID applied to the trigger 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 * Whether to show a chevron on the trigger button.\n * @default true\n */\n hasChevron?: boolean;\n /**\n * Controlled open state.\n */\n isMenuOpen?: boolean;\n /**\n * Data-driven menu items.\n */\n items?: ReadonlyArray<DropdownMenuOption>;\n /**\n * Width of the menu surface.\n */\n menuWidth?: number | string;\n /**\n * Click handler for the trigger button.\n */\n onClick?: () => void;\n /**\n * Called when the menu open state changes.\n */\n onOpenChange?: (isOpen: boolean) => void;\n /**\n * Ref forwarded to the trigger button.\n */\n ref?: Ref<HTMLButtonElement>;\n /**\n * Inline styles applied to the menu surface.\n */\n style?: CSSProperties;\n}\n\nconst styles = {\n menu: css({\n display: 'flex',\n flexDirection: 'column',\n gap: '0.5',\n maxH: '80',\n overflowY: 'auto',\n p: '1',\n }),\n} as const;\n\nconst defaultButton = {label: 'Menu'} satisfies DropdownMenuButtonProps;\n\n/**\n * Button-triggered menu for grouped actions.\n */\nexport function DropdownMenu({\n button = defaultButton,\n children,\n className,\n 'data-testid': dataTestId,\n hasAutoFocus = true,\n hasChevron = true,\n isMenuOpen,\n items,\n menuWidth,\n onClick,\n onOpenChange,\n ref,\n style,\n}: DropdownMenuProps): React.JSX.Element {\n const [internalOpen, setInternalOpen] = useState(false);\n const isControlled = isMenuOpen !== undefined;\n const isOpen = isControlled ? isMenuOpen : internalOpen;\n const menuSize: ButtonSize = button.size ?? 'md';\n const menuRef = useRef<HTMLDivElement>(null);\n\n if (process.env.NODE_ENV !== 'production') {\n if (items != null && isReactNode(children)) {\n throw new Error(\n 'DropdownMenu: pass either `items` or `children`, not both.',\n );\n }\n if (items == null && !isReactNode(children)) {\n throw new Error('DropdownMenu: provide either `items` or `children`.');\n }\n }\n\n const hide = useCallback(() => {\n if (isControlled) {\n onOpenChange?.(false);\n } else {\n setInternalOpen(false);\n }\n }, [isControlled, onOpenChange]);\n\n const handleMenuKeyDown = useMenuKeyboard(menuRef, hide);\n\n const contextValue = useMemo(\n () => ({\n closeMenu: hide,\n menuSize,\n }),\n [hide, menuSize],\n );\n\n const menuNode = useMemo(\n (): ReactNode => (items == null ? children : renderMenuItems(items)),\n [items, children],\n );\n\n return (\n <Popover\n content={\n <DropdownMenuContext value={contextValue}>\n {/* eslint-disable-next-line jsx-a11y-x/no-static-element-interactions -- keyboard handler captures events for the parent role=\"menu\" element */}\n <div\n className={cx(styles.menu, className)}\n onKeyDown={handleMenuKeyDown}\n ref={menuRef}\n tabIndex={-1}>\n {menuNode}\n </div>\n </DropdownMenuContext>\n }\n hasAutoFocus={hasAutoFocus}\n hasCloseButton={false}\n isOpen={isOpen}\n onOpenChange={(isNextOpen: boolean): void => {\n if (isControlled) {\n onOpenChange?.(isNextOpen);\n } else {\n setInternalOpen(isNextOpen);\n }\n }}\n role=\"menu\"\n style={{width: formatMenuWidth(menuWidth), ...style}}>\n <Button\n {...button}\n data-testid={dataTestId}\n endContent={\n <>\n {button.endContent}\n {hasChevron ? <Icon icon={ChevronDown} size=\"sm\" /> : null}\n </>\n }\n onClick={onClick}\n ref={ref}\n />\n </Popover>\n );\n}\n\nDropdownMenu.displayName = 'DropdownMenu';\n"]}
|