silver-ui 0.5.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-FNRYGCO3.js → chunk-2SN3KVWF.js} +4 -4
- package/dist/{chunk-FNRYGCO3.js.map → chunk-2SN3KVWF.js.map} +1 -1
- package/dist/{chunk-BSPWX2OZ.cjs → chunk-3IDT3PZC.cjs} +10 -10
- package/dist/{chunk-BSPWX2OZ.cjs.map → chunk-3IDT3PZC.cjs.map} +1 -1
- package/dist/chunk-3PEK2Q54.cjs +31 -0
- package/dist/chunk-3PEK2Q54.cjs.map +1 -0
- package/dist/{chunk-4SUQFPWH.js → chunk-45OSUS5A.js} +6 -6
- package/dist/{chunk-4SUQFPWH.js.map → chunk-45OSUS5A.js.map} +1 -1
- package/dist/{chunk-L7XJZJCM.js → chunk-4EUUZQAM.js} +5 -5
- package/dist/{chunk-L7XJZJCM.js.map → chunk-4EUUZQAM.js.map} +1 -1
- package/dist/{chunk-Q3HMGFGI.js → chunk-4JJFQZVY.js} +98 -77
- package/dist/chunk-4JJFQZVY.js.map +1 -0
- package/dist/chunk-5FQKELP6.js +28 -0
- package/dist/chunk-5FQKELP6.js.map +1 -0
- package/dist/{chunk-TTDNCN5G.cjs → chunk-5JROXZBG.cjs} +13 -39
- package/dist/chunk-5JROXZBG.cjs.map +1 -0
- package/dist/{chunk-OUZX7STE.cjs → chunk-5K3C3INR.cjs} +25 -53
- package/dist/chunk-5K3C3INR.cjs.map +1 -0
- package/dist/{chunk-AEYJ6PWC.js → chunk-5RFHYDQY.js} +16 -11
- package/dist/chunk-5RFHYDQY.js.map +1 -0
- package/dist/{chunk-PGTOVMP7.cjs → chunk-6FC5YF2O.cjs} +10 -10
- package/dist/{chunk-PGTOVMP7.cjs.map → chunk-6FC5YF2O.cjs.map} +1 -1
- package/dist/{chunk-6EYLEVC6.js → chunk-6I5QWA6A.js} +13 -6
- package/dist/chunk-6I5QWA6A.js.map +1 -0
- package/dist/{chunk-F7BFO3SD.cjs → chunk-6ZV7HGZT.cjs} +24 -8
- package/dist/chunk-6ZV7HGZT.cjs.map +1 -0
- package/dist/{chunk-2WTHSGDP.cjs → chunk-7EE6DCRP.cjs} +14 -14
- package/dist/{chunk-2WTHSGDP.cjs.map → chunk-7EE6DCRP.cjs.map} +1 -1
- package/dist/{chunk-HIH6MS5D.js → chunk-7TJ2O56S.js} +4 -4
- package/dist/{chunk-HIH6MS5D.js.map → chunk-7TJ2O56S.js.map} +1 -1
- package/dist/chunk-A2AC6WL5.cjs +4 -0
- package/dist/chunk-A2AC6WL5.cjs.map +1 -0
- package/dist/{chunk-BIJ6YDWJ.cjs → chunk-AFJEAYR4.cjs} +15 -8
- 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-L5PJCLV6.js → chunk-AKAXQ4RL.js} +16 -25
- package/dist/chunk-AKAXQ4RL.js.map +1 -0
- package/dist/{chunk-OTQAREYU.js → chunk-ATK3F3MC.js} +4 -4
- package/dist/{chunk-OTQAREYU.js.map → chunk-ATK3F3MC.js.map} +1 -1
- package/dist/{chunk-2VL66QBX.js → chunk-B5QX6KGJ.js} +3 -3
- package/dist/{chunk-2VL66QBX.js.map → chunk-B5QX6KGJ.js.map} +1 -1
- package/dist/{chunk-TOQ4MGM5.js → chunk-BDFNEQR3.js} +6 -6
- package/dist/{chunk-TOQ4MGM5.js.map → chunk-BDFNEQR3.js.map} +1 -1
- package/dist/{chunk-UARQIMPS.js → chunk-BGLT7XH6.js} +5 -5
- package/dist/{chunk-UARQIMPS.js.map → chunk-BGLT7XH6.js.map} +1 -1
- package/dist/{chunk-2AWSJF22.js → chunk-BNGYGCT2.js} +8 -8
- package/dist/chunk-BNGYGCT2.js.map +1 -0
- package/dist/{chunk-TH537HOM.js → chunk-C6EWA3H2.js} +6 -6
- package/dist/{chunk-TH537HOM.js.map → chunk-C6EWA3H2.js.map} +1 -1
- package/dist/{chunk-2F5TDBRT.cjs → chunk-CABYRYVA.cjs} +8 -8
- package/dist/{chunk-2F5TDBRT.cjs.map → chunk-CABYRYVA.cjs.map} +1 -1
- package/dist/{chunk-7CTHD4G6.cjs → chunk-CNDUYO7I.cjs} +5 -5
- package/dist/{chunk-7CTHD4G6.cjs.map → chunk-CNDUYO7I.cjs.map} +1 -1
- package/dist/{chunk-3VJIUZAY.cjs → chunk-CVT7JW6C.cjs} +16 -25
- package/dist/chunk-CVT7JW6C.cjs.map +1 -0
- package/dist/{chunk-GSTINE4X.js → chunk-CZUMVOPH.js} +1771 -575
- package/dist/chunk-CZUMVOPH.js.map +1 -0
- package/dist/{chunk-MGJLBHPJ.js → chunk-DAO4UXR4.js} +4 -4
- package/dist/{chunk-MGJLBHPJ.js.map → chunk-DAO4UXR4.js.map} +1 -1
- package/dist/{chunk-HWD4HDQ5.cjs → chunk-DFEAB7Z3.cjs} +10 -10
- package/dist/{chunk-HWD4HDQ5.cjs.map → chunk-DFEAB7Z3.cjs.map} +1 -1
- package/dist/{chunk-GY2ZZR4Z.cjs → chunk-DK6USFZP.cjs} +18 -18
- package/dist/{chunk-GY2ZZR4Z.cjs.map → chunk-DK6USFZP.cjs.map} +1 -1
- package/dist/{chunk-WPMWHKJX.js → chunk-DPSAPA6B.js} +5 -5
- package/dist/{chunk-WPMWHKJX.js.map → chunk-DPSAPA6B.js.map} +1 -1
- package/dist/{chunk-AV7D3SXF.js → chunk-DWZR2AGT.js} +4 -4
- package/dist/{chunk-AV7D3SXF.js.map → chunk-DWZR2AGT.js.map} +1 -1
- package/dist/{chunk-2RZNX26F.cjs → chunk-DXUFDJHA.cjs} +12 -13
- package/dist/chunk-DXUFDJHA.cjs.map +1 -0
- package/dist/{chunk-67UUGI3M.cjs → chunk-DYMZ4DLN.cjs} +8 -8
- package/dist/{chunk-67UUGI3M.cjs.map → chunk-DYMZ4DLN.cjs.map} +1 -1
- package/dist/{chunk-JM4Q7ZQH.cjs → chunk-EEOUWM2F.cjs} +8 -8
- package/dist/chunk-EEOUWM2F.cjs.map +1 -0
- package/dist/{chunk-KC4EKXGF.js → chunk-EIJSWHG7.js} +9 -10
- package/dist/chunk-EIJSWHG7.js.map +1 -0
- package/dist/{chunk-FCUUGJTM.cjs → chunk-ENVDR66N.cjs} +132 -160
- package/dist/chunk-ENVDR66N.cjs.map +1 -0
- package/dist/{chunk-J2YKUHQM.js → chunk-ERVWZILR.js} +14 -23
- package/dist/chunk-ERVWZILR.js.map +1 -0
- package/dist/{chunk-IX26TMZD.cjs → chunk-EVCQCZMM.cjs} +5 -5
- package/dist/{chunk-IX26TMZD.cjs.map → chunk-EVCQCZMM.cjs.map} +1 -1
- package/dist/{chunk-E42WOTIC.js → chunk-FIOCTAXT.js} +3 -3
- package/dist/{chunk-E42WOTIC.js.map → chunk-FIOCTAXT.js.map} +1 -1
- package/dist/{chunk-LW3DJOF4.cjs → chunk-FLDTPAG4.cjs} +6 -6
- package/dist/{chunk-LW3DJOF4.cjs.map → chunk-FLDTPAG4.cjs.map} +1 -1
- package/dist/{chunk-XHJRAEGW.js → chunk-FQN22DO5.js} +5 -5
- package/dist/{chunk-XHJRAEGW.js.map → chunk-FQN22DO5.js.map} +1 -1
- package/dist/{chunk-XPGIWOJO.cjs → chunk-FWBYCTUB.cjs} +18 -18
- package/dist/chunk-FWBYCTUB.cjs.map +1 -0
- package/dist/{chunk-UXGHFKLA.js → chunk-G5PU2EL2.js} +4 -4
- package/dist/{chunk-UXGHFKLA.js.map → chunk-G5PU2EL2.js.map} +1 -1
- package/dist/{chunk-UXQSSRBQ.cjs → chunk-GJKRSQEA.cjs} +1781 -581
- package/dist/chunk-GJKRSQEA.cjs.map +1 -0
- package/dist/{chunk-JSAYTQTJ.cjs → chunk-GJZAGTPV.cjs} +7 -7
- package/dist/chunk-GJZAGTPV.cjs.map +1 -0
- package/dist/{chunk-BSI4BQEX.cjs → chunk-GU65FGY6.cjs} +4 -4
- package/dist/{chunk-BSI4BQEX.cjs.map → chunk-GU65FGY6.cjs.map} +1 -1
- package/dist/{chunk-W5F7PYT2.js → chunk-GUUCIG7U.js} +6 -6
- package/dist/{chunk-W5F7PYT2.js.map → chunk-GUUCIG7U.js.map} +1 -1
- package/dist/{chunk-XZZI3JYK.cjs → chunk-H5VMHDRD.cjs} +6 -6
- package/dist/{chunk-XZZI3JYK.cjs.map → chunk-H5VMHDRD.cjs.map} +1 -1
- package/dist/{chunk-ZPJW3PP7.cjs → chunk-H7VK36SZ.cjs} +16 -9
- package/dist/chunk-H7VK36SZ.cjs.map +1 -0
- package/dist/{chunk-2Y7ULSEU.js → chunk-HKGFMJFK.js} +17 -17
- package/dist/{chunk-2Y7ULSEU.js.map → chunk-HKGFMJFK.js.map} +1 -1
- package/dist/{chunk-THTVYP5V.js → chunk-HMJINNXZ.js} +21 -32
- package/dist/chunk-HMJINNXZ.js.map +1 -0
- package/dist/{chunk-VV72PGKH.cjs → chunk-HPOURAKV.cjs} +27 -27
- package/dist/chunk-HPOURAKV.cjs.map +1 -0
- package/dist/{chunk-I2NG2P5K.cjs → chunk-INQ34SVW.cjs} +5 -5
- package/dist/{chunk-I2NG2P5K.cjs.map → chunk-INQ34SVW.cjs.map} +1 -1
- package/dist/{chunk-D5OX6II7.cjs → chunk-IREOTHD3.cjs} +8 -8
- package/dist/chunk-IREOTHD3.cjs.map +1 -0
- package/dist/{chunk-GW6P4FJ4.cjs → chunk-ISWZQUVA.cjs} +25 -40
- package/dist/chunk-ISWZQUVA.cjs.map +1 -0
- package/dist/{chunk-J3X465QT.cjs → chunk-J4LJXCXB.cjs} +9 -9
- package/dist/{chunk-J3X465QT.cjs.map → chunk-J4LJXCXB.cjs.map} +1 -1
- package/dist/{chunk-PBQMHXVO.js → chunk-JC66FRQX.js} +3 -3
- package/dist/{chunk-PBQMHXVO.js.map → chunk-JC66FRQX.js.map} +1 -1
- package/dist/{chunk-S5CMLG2E.js → chunk-JHMUMJF3.js} +9 -5
- package/dist/chunk-JHMUMJF3.js.map +1 -0
- package/dist/{chunk-CUHJDV6K.js → chunk-JR353MN5.js} +6 -6
- package/dist/{chunk-CUHJDV6K.js.map → chunk-JR353MN5.js.map} +1 -1
- package/dist/{chunk-JS6MRT6M.js → chunk-K2V3IOAX.js} +4 -4
- package/dist/{chunk-JS6MRT6M.js.map → chunk-K2V3IOAX.js.map} +1 -1
- package/dist/{chunk-VH3G4IUX.js → chunk-K2WT7A64.js} +12 -38
- package/dist/chunk-K2WT7A64.js.map +1 -0
- package/dist/{chunk-OERNLR2P.js → chunk-KCI4I42U.js} +8 -8
- package/dist/{chunk-OERNLR2P.js.map → chunk-KCI4I42U.js.map} +1 -1
- package/dist/{chunk-EBJPUXFQ.js → chunk-KEPCKSDE.js} +31 -11
- package/dist/chunk-KEPCKSDE.js.map +1 -0
- package/dist/{chunk-OF5NULAO.js → chunk-KG7RHDVX.js} +7 -7
- package/dist/{chunk-OF5NULAO.js.map → chunk-KG7RHDVX.js.map} +1 -1
- package/dist/{chunk-6PIVWNUR.js → chunk-KWZMXX4F.js} +5 -5
- package/dist/chunk-KWZMXX4F.js.map +1 -0
- package/dist/{chunk-DZZEJY3J.js → chunk-LDYUVGD4.js} +120 -148
- package/dist/chunk-LDYUVGD4.js.map +1 -0
- package/dist/{chunk-VD52FLHL.js → chunk-LF6I2B7G.js} +9 -9
- package/dist/{chunk-VD52FLHL.js.map → chunk-LF6I2B7G.js.map} +1 -1
- package/dist/{chunk-3IYM5MAC.js → chunk-LLSWAAFH.js} +4 -4
- package/dist/{chunk-3IYM5MAC.js.map → chunk-LLSWAAFH.js.map} +1 -1
- package/dist/{chunk-LBGC6EC5.js → chunk-M64WMYYV.js} +15 -15
- package/dist/chunk-M64WMYYV.js.map +1 -0
- package/dist/{chunk-3Z5PF75J.cjs → chunk-MHAXS4GO.cjs} +17 -19
- package/dist/chunk-MHAXS4GO.cjs.map +1 -0
- package/dist/{chunk-TKTCN4JE.cjs → chunk-MHEPDHL5.cjs} +9 -9
- package/dist/{chunk-TKTCN4JE.cjs.map → chunk-MHEPDHL5.cjs.map} +1 -1
- package/dist/{chunk-Z7OUMVR5.cjs → chunk-NFEL5GNX.cjs} +9 -9
- package/dist/{chunk-Z7OUMVR5.cjs.map → chunk-NFEL5GNX.cjs.map} +1 -1
- package/dist/{chunk-X4I5YARV.cjs → chunk-NG2H3PYA.cjs} +11 -11
- package/dist/{chunk-X4I5YARV.cjs.map → chunk-NG2H3PYA.cjs.map} +1 -1
- package/dist/{chunk-VO4FG3L2.cjs → chunk-NW36BN7N.cjs} +17 -17
- package/dist/{chunk-VO4FG3L2.cjs.map → chunk-NW36BN7N.cjs.map} +1 -1
- package/dist/{chunk-RJEZBOSH.js → chunk-NXTDP6AX.js} +12 -14
- package/dist/chunk-NXTDP6AX.js.map +1 -0
- package/dist/{chunk-N77K3NQY.cjs → chunk-P5LMEANN.cjs} +7 -7
- package/dist/{chunk-N77K3NQY.cjs.map → chunk-P5LMEANN.cjs.map} +1 -1
- package/dist/{chunk-4HXNBLCJ.js → chunk-P7TSM63O.js} +3 -3
- package/dist/{chunk-4HXNBLCJ.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-SUT35RHA.cjs → chunk-PHFJBQXU.cjs} +8 -8
- package/dist/{chunk-SUT35RHA.cjs.map → chunk-PHFJBQXU.cjs.map} +1 -1
- package/dist/{chunk-YJEX32HZ.cjs → chunk-PNM7MPUX.cjs} +8 -8
- package/dist/{chunk-YJEX32HZ.cjs.map → chunk-PNM7MPUX.cjs.map} +1 -1
- package/dist/{chunk-MEXR5ONE.js → chunk-PU4PBI3H.js} +5 -5
- package/dist/{chunk-MEXR5ONE.js.map → chunk-PU4PBI3H.js.map} +1 -1
- package/dist/{chunk-2GMDMZKI.cjs → chunk-PYJX2SBC.cjs} +5 -5
- package/dist/{chunk-2GMDMZKI.cjs.map → chunk-PYJX2SBC.cjs.map} +1 -1
- package/dist/{chunk-U5M4JZBX.js → chunk-PYN75QAG.js} +6 -6
- package/dist/chunk-PYN75QAG.js.map +1 -0
- package/dist/{chunk-2VAUVJVG.js → chunk-QHXI2QDK.js} +3 -3
- package/dist/{chunk-2VAUVJVG.js.map → chunk-QHXI2QDK.js.map} +1 -1
- package/dist/{chunk-RRXOSNCX.cjs → chunk-QTOFQB26.cjs} +11 -11
- package/dist/{chunk-RRXOSNCX.cjs.map → chunk-QTOFQB26.cjs.map} +1 -1
- package/dist/{chunk-DV4K35UC.cjs → chunk-QYZXTIB2.cjs} +4 -4
- package/dist/{chunk-DV4K35UC.cjs.map → chunk-QYZXTIB2.cjs.map} +1 -1
- package/dist/{chunk-FFF57VHO.cjs → chunk-R3ZS6FU6.cjs} +8 -8
- package/dist/{chunk-FFF57VHO.cjs.map → chunk-R3ZS6FU6.cjs.map} +1 -1
- package/dist/{chunk-L5JS6P62.cjs → chunk-RAMDISDK.cjs} +14 -10
- package/dist/chunk-RAMDISDK.cjs.map +1 -0
- package/dist/{chunk-SUWRSJAN.cjs → chunk-RLIBY7XB.cjs} +16 -11
- package/dist/chunk-RLIBY7XB.cjs.map +1 -0
- package/dist/{chunk-I47WOF6E.js → chunk-RU7JPU7V.js} +3 -3
- package/dist/{chunk-I47WOF6E.js.map → chunk-RU7JPU7V.js.map} +1 -1
- package/dist/{chunk-HNDDNW52.js → chunk-RXKDRZF3.js} +3 -3
- package/dist/{chunk-HNDDNW52.js.map → chunk-RXKDRZF3.js.map} +1 -1
- package/dist/{chunk-EFBSEJBD.js → chunk-S4WWBV4N.js} +22 -47
- package/dist/chunk-S4WWBV4N.js.map +1 -0
- package/dist/{chunk-6J326CN6.js → chunk-SEDUAMDW.js} +4 -4
- package/dist/{chunk-6J326CN6.js.map → chunk-SEDUAMDW.js.map} +1 -1
- package/dist/{chunk-TSKFGLGQ.cjs → chunk-SKZNSOB7.cjs} +18 -27
- package/dist/chunk-SKZNSOB7.cjs.map +1 -0
- package/dist/{chunk-YDNEAHVK.cjs → chunk-TNYAYXKC.cjs} +37 -37
- package/dist/{chunk-YDNEAHVK.cjs.map → chunk-TNYAYXKC.cjs.map} +1 -1
- package/dist/{chunk-JJNXQ7EL.js → chunk-TQDJVPHP.js} +3 -3
- package/dist/{chunk-JJNXQ7EL.js.map → chunk-TQDJVPHP.js.map} +1 -1
- package/dist/{chunk-MEUELWGO.cjs → chunk-TVWU4XBL.cjs} +8 -8
- package/dist/{chunk-MEUELWGO.cjs.map → chunk-TVWU4XBL.cjs.map} +1 -1
- package/dist/{chunk-HWP2UGOC.cjs → chunk-U4L75VA4.cjs} +126 -105
- package/dist/chunk-U4L75VA4.cjs.map +1 -0
- package/dist/{chunk-6DAZ2ZOW.cjs → chunk-U5HW5P7Q.cjs} +11 -11
- package/dist/{chunk-6DAZ2ZOW.cjs.map → chunk-U5HW5P7Q.cjs.map} +1 -1
- package/dist/{chunk-R4DGCQTA.cjs → chunk-UMS46KF4.cjs} +7 -7
- package/dist/{chunk-R4DGCQTA.cjs.map → chunk-UMS46KF4.cjs.map} +1 -1
- package/dist/{chunk-75KSHZTV.js → chunk-UT45YVPI.js} +7 -7
- package/dist/{chunk-75KSHZTV.js.map → chunk-UT45YVPI.js.map} +1 -1
- package/dist/{chunk-LKGHYNLH.js → chunk-UYZQGHFI.js} +10 -10
- package/dist/chunk-UYZQGHFI.js.map +1 -0
- package/dist/{chunk-IGJEZLHP.cjs → chunk-UZGPFPIV.cjs} +17 -17
- package/dist/{chunk-IGJEZLHP.cjs.map → chunk-UZGPFPIV.cjs.map} +1 -1
- package/dist/{chunk-Q4HAXT5C.cjs → chunk-VK7DXUGH.cjs} +31 -11
- package/dist/chunk-VK7DXUGH.cjs.map +1 -0
- package/dist/chunk-VPWNRWNO.cjs +81 -0
- package/dist/chunk-VPWNRWNO.cjs.map +1 -0
- package/dist/{chunk-K4K4FU3D.cjs → chunk-VREW3BK6.cjs} +11 -11
- package/dist/{chunk-K4K4FU3D.cjs.map → chunk-VREW3BK6.cjs.map} +1 -1
- package/dist/{chunk-ANACERIO.cjs → chunk-VRQ66IBW.cjs} +6 -6
- package/dist/{chunk-ANACERIO.cjs.map → chunk-VRQ66IBW.cjs.map} +1 -1
- package/dist/{chunk-HXIU3SIQ.cjs → chunk-VW52NVGM.cjs} +5 -5
- package/dist/{chunk-HXIU3SIQ.cjs.map → chunk-VW52NVGM.cjs.map} +1 -1
- package/dist/{chunk-5XMWGK3O.cjs → chunk-VXOIOPGZ.cjs} +25 -36
- package/dist/chunk-VXOIOPGZ.cjs.map +1 -0
- package/dist/{chunk-4RDA4W4N.js → chunk-WAWHHXSR.js} +23 -7
- package/dist/chunk-WAWHHXSR.js.map +1 -0
- package/dist/{chunk-65MJZYO6.js → chunk-WEXTGWRE.js} +14 -29
- package/dist/chunk-WEXTGWRE.js.map +1 -0
- package/dist/{chunk-ECDYAZ2R.js → chunk-WHDDBOJN.js} +5 -5
- package/dist/{chunk-ECDYAZ2R.js.map → chunk-WHDDBOJN.js.map} +1 -1
- package/dist/{chunk-ESRDHDYN.cjs → chunk-WINDLDH3.cjs} +9 -9
- package/dist/{chunk-ESRDHDYN.cjs.map → chunk-WINDLDH3.cjs.map} +1 -1
- package/dist/{chunk-ADSG24VE.js → chunk-WM7NEOME.js} +6 -6
- package/dist/{chunk-ADSG24VE.js.map → chunk-WM7NEOME.js.map} +1 -1
- package/dist/{chunk-H4L456EW.js → chunk-XTLNUYCK.js} +12 -5
- package/dist/chunk-XTLNUYCK.js.map +1 -0
- package/dist/{chunk-QO5C7TIV.js → chunk-ZSB43DEI.js} +5 -5
- package/dist/{chunk-QO5C7TIV.js.map → chunk-ZSB43DEI.js.map} +1 -1
- package/dist/{chunk-V4ZH2H2P.cjs → chunk-ZUAWNT66.cjs} +14 -14
- package/dist/{chunk-V4ZH2H2P.cjs.map → chunk-ZUAWNT66.cjs.map} +1 -1
- package/dist/components/Alert/index.cjs +10 -8
- package/dist/components/Alert/index.js +9 -7
- package/dist/components/AlertDialog/index.cjs +12 -10
- package/dist/components/AlertDialog/index.js +10 -8
- package/dist/components/AppShell/index.cjs +18 -15
- package/dist/components/AppShell/index.js +15 -12
- package/dist/components/AutocompleteInput/index.cjs +17 -14
- package/dist/components/AutocompleteInput/index.js +13 -10
- package/dist/components/Breadcrumbs/BreadcrumbItem.d.ts.map +1 -1
- package/dist/components/Breadcrumbs/index.cjs +5 -10
- package/dist/components/Breadcrumbs/index.js +2 -7
- package/dist/components/Button/Button.d.ts +5 -3
- package/dist/components/Button/Button.d.ts.map +1 -1
- package/dist/components/Button/index.cjs +9 -7
- package/dist/components/Button/index.js +8 -6
- package/dist/components/Calendar/index.cjs +10 -8
- package/dist/components/Calendar/index.js +9 -7
- package/dist/components/CheckboxInput/index.cjs +9 -8
- package/dist/components/CheckboxInput/index.js +8 -7
- package/dist/components/CodeBlock/index.cjs +10 -8
- package/dist/components/CodeBlock/index.js +9 -7
- package/dist/components/ContextMenu/index.cjs +14 -12
- package/dist/components/ContextMenu/index.js +12 -10
- package/dist/components/DateInput/index.cjs +13 -11
- package/dist/components/DateInput/index.js +12 -10
- package/dist/components/DateRangeInput/index.cjs +13 -11
- package/dist/components/DateRangeInput/index.js +12 -10
- package/dist/components/DateTimeInput/index.cjs +15 -13
- package/dist/components/DateTimeInput/index.js +14 -12
- package/dist/components/DropdownMenu/index.cjs +15 -13
- package/dist/components/DropdownMenu/index.js +11 -9
- package/dist/components/EmptyState/index.cjs +5 -5
- package/dist/components/EmptyState/index.js +4 -4
- package/dist/components/Field/index.cjs +6 -6
- package/dist/components/Field/index.js +4 -4
- package/dist/components/FileInput/index.cjs +11 -9
- package/dist/components/FileInput/index.js +10 -8
- package/dist/components/HoverCard/HoverCard.d.ts +6 -6
- package/dist/components/HoverCard/HoverCard.d.ts.map +1 -1
- package/dist/components/HoverCard/index.cjs +4 -4
- package/dist/components/HoverCard/index.js +2 -2
- package/dist/components/InputGroup/index.cjs +9 -9
- package/dist/components/InputGroup/index.js +5 -5
- package/dist/components/Item/Item.d.ts.map +1 -1
- package/dist/components/Item/index.cjs +7 -8
- package/dist/components/Item/index.js +6 -7
- package/dist/components/Layout/Layout.recipe.d.ts +17 -0
- package/dist/components/Layout/Layout.recipe.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/index.cjs +14 -12
- package/dist/components/Layout/index.js +9 -7
- package/dist/components/Lightbox/index.cjs +11 -9
- package/dist/components/Lightbox/index.js +9 -7
- package/dist/components/Link/Link.d.ts +4 -5
- 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/index.cjs +9 -6
- package/dist/components/Link/index.js +6 -3
- package/dist/components/List/index.cjs +9 -10
- package/dist/components/List/index.js +7 -8
- package/dist/components/MetadataList/MetadataList.recipe.d.ts +9 -1
- package/dist/components/MetadataList/MetadataList.recipe.d.ts.map +1 -1
- 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 +9 -6
- package/dist/components/MetadataList/index.js +7 -4
- package/dist/components/MultiSelect/index.cjs +13 -11
- package/dist/components/MultiSelect/index.js +12 -10
- package/dist/components/NumberInput/index.cjs +12 -10
- package/dist/components/NumberInput/index.js +11 -9
- package/dist/components/Pagination/index.cjs +10 -8
- package/dist/components/Pagination/index.js +9 -7
- package/dist/components/PasswordInput/index.cjs +13 -11
- package/dist/components/PasswordInput/index.js +12 -10
- package/dist/components/Popover/Popover.d.ts +13 -1
- package/dist/components/Popover/Popover.d.ts.map +1 -1
- package/dist/components/Popover/index.cjs +11 -9
- package/dist/components/Popover/index.js +9 -7
- package/dist/components/RadioGroup/index.cjs +10 -9
- package/dist/components/RadioGroup/index.js +8 -7
- package/dist/components/Schedule/CalendarEvent.d.ts +18 -4
- 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.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/ScheduleEvent.recipe.d.ts +17 -0
- package/dist/components/Schedule/ScheduleEvent.recipe.d.ts.map +1 -1
- 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/index.cjs +44 -21
- package/dist/components/Schedule/index.d.ts +6 -2
- package/dist/components/Schedule/index.d.ts.map +1 -1
- package/dist/components/Schedule/index.js +17 -10
- 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/ScheduleEventPopoverContent.d.ts +39 -0
- package/dist/components/Schedule/plugins/ScheduleEventPopoverContent.d.ts.map +1 -0
- 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/shared.d.ts +58 -3
- package/dist/components/Schedule/shared.d.ts.map +1 -1
- package/dist/components/Schedule/types.d.ts +47 -1
- package/dist/components/Schedule/types.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/index.cjs +32 -29
- package/dist/components/SearchFilterInput/index.js +24 -21
- package/dist/components/Select/index.cjs +15 -13
- package/dist/components/Select/index.js +13 -11
- 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/SideNavItem.d.ts.map +1 -1
- package/dist/components/SideNav/index.cjs +18 -15
- package/dist/components/SideNav/index.js +12 -9
- package/dist/components/Slider/index.cjs +6 -6
- package/dist/components/Slider/index.js +5 -5
- package/dist/components/Spinner/index.cjs +5 -5
- package/dist/components/Spinner/index.js +4 -4
- package/dist/components/SplitButton/index.cjs +13 -11
- package/dist/components/SplitButton/index.js +12 -10
- package/dist/components/Stepper/index.cjs +5 -5
- package/dist/components/Stepper/index.js +4 -4
- package/dist/components/Switch/index.cjs +6 -6
- package/dist/components/Switch/index.js +5 -5
- package/dist/components/Table/index.cjs +54 -51
- package/dist/components/Table/index.js +28 -25
- package/dist/components/Tabs/Tab.d.ts.map +1 -1
- package/dist/components/Tabs/index.cjs +15 -13
- package/dist/components/Tabs/index.js +10 -8
- package/dist/components/Tag/Tag.d.ts.map +1 -1
- package/dist/components/Tag/index.cjs +8 -5
- package/dist/components/Tag/index.js +7 -4
- package/dist/components/TagsInput/index.cjs +15 -12
- package/dist/components/TagsInput/index.js +14 -11
- package/dist/components/Text/Heading.d.ts +5 -5
- 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.js +3 -3
- package/dist/components/TextArea/index.cjs +7 -7
- package/dist/components/TextArea/index.js +6 -6
- package/dist/components/TextInput/index.cjs +12 -10
- package/dist/components/TextInput/index.js +11 -9
- package/dist/components/Thumbnail/index.cjs +10 -8
- package/dist/components/Thumbnail/index.js +9 -7
- package/dist/components/TimeInput/index.cjs +11 -9
- package/dist/components/TimeInput/index.js +10 -8
- package/dist/components/Toast/index.cjs +12 -10
- package/dist/components/Toast/index.js +9 -7
- package/dist/components/ToggleButton/ToggleButton.recipe.d.ts.map +1 -1
- package/dist/components/ToggleButton/index.cjs +7 -7
- package/dist/components/ToggleButton/index.js +5 -5
- package/dist/components/Tooltip/Tooltip.d.ts +6 -6
- package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/components/Tooltip/index.cjs +4 -4
- package/dist/components/Tooltip/index.js +2 -2
- package/dist/components/TopNav/TopNavItem.d.ts.map +1 -1
- package/dist/components/TopNav/index.cjs +16 -13
- package/dist/components/TopNav/index.js +11 -8
- package/dist/components/TreeView/TreeViewItem.d.ts.map +1 -1
- package/dist/components/TreeView/index.cjs +3 -2
- package/dist/components/TreeView/index.js +2 -1
- package/dist/index.cjs +233 -214
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +60 -57
- 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/useLayer.d.ts +12 -0
- package/dist/internal/useLayer.d.ts.map +1 -1
- package/dist/internal/useSelectListbox.d.ts +5 -5
- package/dist/internal/useSelectListbox.d.ts.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
- package/dist/chunk-2AWSJF22.js.map +0 -1
- package/dist/chunk-2RZNX26F.cjs.map +0 -1
- package/dist/chunk-3VJIUZAY.cjs.map +0 -1
- package/dist/chunk-3Z5PF75J.cjs.map +0 -1
- package/dist/chunk-4RDA4W4N.js.map +0 -1
- package/dist/chunk-5XMWGK3O.cjs.map +0 -1
- package/dist/chunk-65MJZYO6.js.map +0 -1
- package/dist/chunk-6EYLEVC6.js.map +0 -1
- package/dist/chunk-6PIVWNUR.js.map +0 -1
- package/dist/chunk-AEYJ6PWC.js.map +0 -1
- package/dist/chunk-BIJ6YDWJ.cjs.map +0 -1
- package/dist/chunk-D5OX6II7.cjs.map +0 -1
- package/dist/chunk-DZZEJY3J.js.map +0 -1
- package/dist/chunk-EBJPUXFQ.js.map +0 -1
- package/dist/chunk-EFBSEJBD.js.map +0 -1
- package/dist/chunk-F7BFO3SD.cjs.map +0 -1
- package/dist/chunk-FCUUGJTM.cjs.map +0 -1
- package/dist/chunk-GSTINE4X.js.map +0 -1
- package/dist/chunk-GW6P4FJ4.cjs.map +0 -1
- package/dist/chunk-H4L456EW.js.map +0 -1
- package/dist/chunk-HWP2UGOC.cjs.map +0 -1
- package/dist/chunk-J2YKUHQM.js.map +0 -1
- package/dist/chunk-JM4Q7ZQH.cjs.map +0 -1
- package/dist/chunk-JSAYTQTJ.cjs.map +0 -1
- package/dist/chunk-KC4EKXGF.js.map +0 -1
- package/dist/chunk-L5JS6P62.cjs.map +0 -1
- package/dist/chunk-L5PJCLV6.js.map +0 -1
- package/dist/chunk-LBGC6EC5.js.map +0 -1
- package/dist/chunk-LKGHYNLH.js.map +0 -1
- package/dist/chunk-OUZX7STE.cjs.map +0 -1
- package/dist/chunk-Q3HMGFGI.js.map +0 -1
- package/dist/chunk-Q4HAXT5C.cjs.map +0 -1
- package/dist/chunk-RJEZBOSH.js.map +0 -1
- package/dist/chunk-S5CMLG2E.js.map +0 -1
- package/dist/chunk-SUWRSJAN.cjs.map +0 -1
- package/dist/chunk-THTVYP5V.js.map +0 -1
- package/dist/chunk-TSKFGLGQ.cjs.map +0 -1
- package/dist/chunk-TTDNCN5G.cjs.map +0 -1
- package/dist/chunk-U5M4JZBX.js.map +0 -1
- package/dist/chunk-UXQSSRBQ.cjs.map +0 -1
- package/dist/chunk-VH3G4IUX.js.map +0 -1
- package/dist/chunk-VV72PGKH.cjs.map +0 -1
- package/dist/chunk-XPGIWOJO.cjs.map +0 -1
- package/dist/chunk-ZPJW3PP7.cjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Item/Item.recipe.ts","../src/components/Item/Item.tsx"],"names":[],"mappings":"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","file":"chunk-ERVWZILR.js","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const itemRecipe = sva({\n slots: [\n 'root',\n 'interactiveContent',\n 'content',\n 'textContent',\n 'startContent',\n 'endContent',\n 'endContentInline',\n 'labelRow',\n 'trailingContent',\n ],\n base: {\n root: {\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n px: '2',\n py: '2',\n textAlign: 'start',\n borderRadius: 'md',\n },\n interactiveContent: {\n cursor: 'inherit',\n color: 'inherit',\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n flex: 1,\n minW: 0,\n textAlign: 'start',\n textDecoration: 'none',\n },\n content: {\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n flex: 1,\n minW: 0,\n textAlign: 'start',\n },\n textContent: {\n display: 'flex',\n flexDirection: 'column',\n flex: 1,\n minW: 0,\n },\n startContent: {\n display: 'inline-flex',\n flexShrink: 0,\n },\n endContent: {\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n marginInlineStart: 'auto',\n },\n endContentInline: {\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n },\n labelRow: {\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n },\n trailingContent: {\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n },\n },\n variants: {\n align: {\n center: {},\n start: {root: {alignItems: 'flex-start'}},\n },\n width: {\n full: {root: {w: 'full'}},\n auto: {},\n },\n isInteractive: {\n true: {\n root: {\n cursor: 'pointer',\n transitionProperty: 'background-color',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n _hover: {bg: 'bg.subtle'},\n _active: {bg: 'bg.hover'},\n '&:has(:focus-visible)': {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n },\n false: {},\n },\n isHighlighted: {\n true: {root: {bg: 'bg.subtle'}},\n false: {},\n },\n isSelected: {\n true: {root: {bg: 'bg.selected'}},\n false: {},\n },\n // The disabled wrapper dims everything inside it via opacity (which\n // compounds through the tree), so the dimming lives only on the content\n // wrappers — applying it to nested slots like endContent would double-dim.\n isDisabled: {\n true: {\n content: {opacity: 0.5},\n interactiveContent: {opacity: 0.5},\n },\n false: {},\n },\n // Marker variant; whether a parent owns the role gates the disabled root\n // styling, which lives in compoundVariants below.\n hasParentRole: {\n true: {},\n false: {},\n },\n },\n compoundVariants: [\n {\n isDisabled: true,\n hasParentRole: false,\n css: {\n root: {\n cursor: 'not-allowed',\n pointerEvents: 'none',\n },\n },\n },\n ],\n defaultVariants: {\n align: 'center',\n width: 'full',\n isInteractive: false,\n isHighlighted: false,\n isSelected: false,\n isDisabled: false,\n hasParentRole: false,\n },\n});\n\nexport type ItemVariants = RecipeVariantProps<typeof itemRecipe>;\n","import {\n useCallback,\n useRef,\n type AriaAttributes,\n type CSSProperties,\n type MouseEvent,\n type MouseEventHandler,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {itemRecipe} from 'components/Item/Item.recipe';\nimport type {LinkComponent as LinkComponentType} from 'components/Link';\nimport {Text} from 'components/Text';\nimport {ActionElement} from 'internal/ActionElement';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\nimport {useRel} from 'internal/linkAccessibility';\n\nconst SELECTABLE_ROLES = new Set([\n 'option',\n 'tab',\n 'row',\n 'gridcell',\n 'treeitem',\n]);\n\nexport type ItemAlign = 'center' | 'start';\nexport type ItemElement = 'div' | 'li' | 'span';\n\nexport interface ItemProps {\n /**\n * Vertical alignment of the start and end content slots.\n * @default 'center'\n */\n align?: ItemAlign;\n /**\n * ARIA current indicator forwarded to the interactive element.\n */\n 'aria-current'?: AriaAttributes['aria-current'];\n /**\n * HTML element used for the root.\n * @default 'div'\n */\n as?: ItemElement;\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 shown below the label.\n */\n description?: ReactNode;\n /**\n * Maximum number of description lines before truncation.\n */\n descriptionLines?: number;\n /**\n * Content rendered after the label and description.\n * Position controlled by `endContentPosition`.\n */\n endContent?: ReactNode;\n /**\n * Where to place `endContent` within the item.\n * `'end'` pushes it to the trailing edge; `'inline'` keeps it next to the label.\n * @default 'end'\n */\n endContentPosition?: 'end' | 'inline';\n /**\n * Link URL. When set, the content area renders as a link.\n */\n href?: string;\n /**\n * Whether the item is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether the item should show highlighted styling.\n * @default false\n */\n isHighlighted?: boolean;\n /**\n * Whether the item is selected.\n * @default false\n */\n isSelected?: boolean;\n /**\n * Primary item label.\n */\n label: ReactNode;\n /**\n * Maximum number of label lines before truncation.\n */\n labelLines?: number;\n /**\n * Content rendered outside the interactive area, before it.\n */\n leadingContent?: ReactNode;\n /**\n * Custom link component used when href is set.\n */\n linkComponent?: LinkComponentType;\n /**\n * Click handler. When set without href, the content area renders as a\n * button. When set with href, also fires on link clicks.\n */\n onClick?: MouseEventHandler<HTMLElement>;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Link relationship. `noopener noreferrer` are added for `_blank` targets.\n */\n rel?: string;\n /**\n * ARIA role applied to the root element. When set, click handling is attached\n * to the root so parent composite widgets can own keyboard behavior.\n */\n role?: string;\n /**\n * Leading visual content, such as an icon, avatar, or image.\n */\n startContent?: ReactNode;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Link target.\n */\n target?: string;\n /**\n * Content rendered outside the interactive area, after it.\n */\n trailingContent?: ReactNode;\n /**\n * Width of the root element.\n * @default 'full'\n */\n width?: 'full' | 'auto';\n}\n\n// Native and ARIA interactive elements that own their own click, plus anything\n// explicitly placed in the tab order or made editable. Used as a safety net so\n// the row action does not also fire when a consumer-provided control in a slot\n// is clicked.\nconst INTERACTIVE_SELECTOR = [\n 'button',\n 'a[href]',\n 'input',\n 'select',\n 'textarea',\n '[role=\"button\"]',\n '[role=\"link\"]',\n '[role=\"checkbox\"]',\n '[role=\"switch\"]',\n '[role=\"menuitem\"]',\n '[role=\"menuitemcheckbox\"]',\n '[role=\"menuitemradio\"]',\n '[role=\"tab\"]',\n '[role=\"radio\"]',\n '[role=\"option\"]',\n '[contenteditable=\"true\"]',\n '[tabindex]:not([tabindex=\"-1\"])',\n].join(', ');\n\nfunction isInteractiveTarget(element: HTMLElement): boolean {\n return element.closest(INTERACTIVE_SELECTOR) != null;\n}\n\nfunction getMaxLines(\n explicitLines: number | undefined,\n content: ReactNode,\n): number {\n if (explicitLines != null) {\n return explicitLines;\n }\n\n return typeof content === 'string' ? 1 : 0;\n}\n\n/**\n * Shared start content, label, description, and end content row primitive.\n */\nexport function Item({\n align = 'center',\n 'aria-current': ariaCurrent,\n as: Component = 'div',\n className,\n 'data-testid': dataTestId,\n description,\n descriptionLines,\n endContent,\n endContentPosition = 'end',\n href,\n isDisabled = false,\n isHighlighted = false,\n isSelected = false,\n label,\n labelLines,\n leadingContent,\n linkComponent,\n onClick,\n ref,\n rel,\n role,\n startContent,\n style,\n target,\n trailingContent,\n width = 'full',\n}: ItemProps): React.JSX.Element {\n const linkRel = useRel({target, rel});\n const isInteractive = href != null || onClick != null;\n const hasParentRole = role != null;\n // The item renders its own interactive control (link/button) only when it is\n // interactive and no parent widget owns the role. Otherwise it renders a\n // plain content wrapper and any interaction is handled by the parent.\n const ownsInteraction = isInteractive && !hasParentRole;\n // Tracks the inner interactive control (button/link) so the row handler can\n // tell, precisely, when a click already fired on our own element.\n const interactiveRef = useRef<HTMLElement | null>(null);\n const setInteractiveRef = useCallback((node: HTMLElement | null) => {\n interactiveRef.current = node;\n }, []);\n const classes = itemRecipe({\n align,\n width,\n isInteractive,\n isHighlighted,\n isSelected,\n isDisabled,\n hasParentRole,\n });\n\n const inlineEndContent =\n isReactNode(endContent) && endContentPosition === 'inline' ? (\n <span className={classes.endContentInline}>{endContent}</span>\n ) : null;\n\n const labelAndDescription = (\n <>\n {inlineEndContent != null ? (\n <span className={classes.labelRow}>\n <Text as=\"span\" maxLines={getMaxLines(labelLines, label)} type=\"body\">\n {label}\n </Text>\n {inlineEndContent}\n </span>\n ) : (\n <Text as=\"span\" maxLines={getMaxLines(labelLines, label)} type=\"body\">\n {label}\n </Text>\n )}\n {isReactNode(description) ? (\n <Text\n as=\"span\"\n maxLines={getMaxLines(descriptionLines, description)}\n type=\"supporting\">\n {description}\n </Text>\n ) : null}\n </>\n );\n\n const handleContainerClick = (event: MouseEvent<HTMLElement>) => {\n if (isDisabled) {\n return;\n }\n\n const targetElement = event.target as HTMLElement;\n // Our own interactive control already fired its onClick; don't double-fire.\n if (interactiveRef.current?.contains(targetElement)) {\n return;\n }\n // A consumer-provided interactive control in a slot owns its own click, so\n // the row action should not also fire.\n if (isInteractiveTarget(targetElement)) {\n return;\n }\n\n onClick?.(event);\n };\n\n const innerSlots = (\n <>\n {isReactNode(startContent) ? (\n <span className={classes.startContent}>{startContent}</span>\n ) : null}\n <span className={classes.textContent}>{labelAndDescription}</span>\n {isReactNode(endContent) && endContentPosition !== 'inline' ? (\n <span className={classes.endContent}>{endContent}</span>\n ) : null}\n </>\n );\n\n const content = !ownsInteraction ? (\n <span className={classes.content}>{innerSlots}</span>\n ) : (\n <ActionElement\n aria-current={ariaCurrent ?? undefined}\n aria-disabled={href != null && isDisabled ? true : undefined}\n as={linkComponent}\n className={classes.interactiveContent}\n href={href}\n isDisabled={href == null ? isDisabled : undefined}\n isLink={href != null}\n onClick={(e: MouseEvent<HTMLElement>) => {\n if (isDisabled) {\n e.preventDefault();\n return;\n }\n onClick?.(e);\n }}\n ref={setInteractiveRef}\n rel={href != null ? linkRel : undefined}\n tabIndex={href != null && isDisabled ? -1 : undefined}\n target={href != null ? target : undefined}>\n {innerSlots}\n </ActionElement>\n );\n\n return (\n <Component\n aria-disabled={isDisabled || undefined}\n aria-selected={\n isSelected && role != null && SELECTABLE_ROLES.has(role)\n ? true\n : undefined\n }\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n onClick={\n hasParentRole\n ? onClick\n : ownsInteraction\n ? handleContainerClick\n : undefined\n }\n ref={ref as Ref<never>}\n role={role}\n style={style}>\n {leadingContent}\n {content}\n {isReactNode(trailingContent) ? (\n <span className={classes.trailingContent}>{trailingContent}</span>\n ) : null}\n </Component>\n );\n}\n\nItem.displayName = 'Item';\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkMHAXS4GO_cjs = require('./chunk-MHAXS4GO.cjs');
|
|
4
4
|
var chunkQAO6QMNQ_cjs = require('./chunk-QAO6QMNQ.cjs');
|
|
5
5
|
var chunkZ6RT3WPE_cjs = require('./chunk-Z6RT3WPE.cjs');
|
|
6
6
|
var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
|
|
@@ -97,8 +97,8 @@ function EmptyState({
|
|
|
97
97
|
children: [
|
|
98
98
|
chunkQAO6QMNQ_cjs.isReactNode(illustration) ? /* @__PURE__ */ jsxRuntime.jsx("div", { "aria-hidden": "true", className: classes.illustration, children: illustration }) : null,
|
|
99
99
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: classes.text, children: [
|
|
100
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
101
|
-
description != null ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
100
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMHAXS4GO_cjs.Heading, { id: headingId, level: headingLevel, children: title }),
|
|
101
|
+
description != null ? /* @__PURE__ */ jsxRuntime.jsx(chunkMHAXS4GO_cjs.Text, { as: "p", color: "secondary", children: description }) : null
|
|
102
102
|
] }),
|
|
103
103
|
chunkQAO6QMNQ_cjs.isReactNode(actions) ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: classes.actions, children: actions }) : null
|
|
104
104
|
]
|
|
@@ -108,5 +108,5 @@ function EmptyState({
|
|
|
108
108
|
EmptyState.displayName = "EmptyState";
|
|
109
109
|
|
|
110
110
|
exports.EmptyState = EmptyState;
|
|
111
|
-
//# sourceMappingURL=chunk-
|
|
112
|
-
//# sourceMappingURL=chunk-
|
|
111
|
+
//# sourceMappingURL=chunk-EVCQCZMM.cjs.map
|
|
112
|
+
//# sourceMappingURL=chunk-EVCQCZMM.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/EmptyState/EmptyState.recipe.ts","../src/components/EmptyState/EmptyState.tsx"],"names":["sva","useId","jsxs","cx","isReactNode","jsx","Heading","Text"],"mappings":";;;;;;;;;;AAEO,IAAM,mBAAmBA,qBAAA,CAAI;AAAA,EAClC,KAAA,EAAO,CAAC,MAAA,EAAQ,cAAA,EAAgB,QAAQ,SAAS,CAAA;AAAA,EACjD,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM;AAAA,MACJ,OAAA,EAAS,MAAA;AAAA,MACT,aAAA,EAAe,QAAA;AAAA,MACf,UAAA,EAAY,QAAA;AAAA,MACZ,cAAA,EAAgB,QAAA;AAAA,MAChB,SAAA,EAAW,QAAA;AAAA,MACX,GAAA,EAAK,GAAA;AAAA,MACL,CAAA,EAAG,MAAA;AAAA,MACH,EAAA,EAAI,GAAA;AAAA,MACJ,EAAA,EAAI;AAAA,KACN;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,OAAA,EAAS,aAAA;AAAA,MACT,KAAA,EAAO,UAAA;AAAA,MACP,CAAA,EAAG,IAAA;AAAA,MACH,CAAA,EAAG,IAAA;AAAA,MACH,SAAA,EAAW;AAAA,QACT,CAAA,EAAG,MAAA;AAAA,QACH,CAAA,EAAG;AAAA;AACL,KACF;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,OAAA,EAAS,MAAA;AAAA,MACT,aAAA,EAAe,QAAA;AAAA,MACf,UAAA,EAAY,QAAA;AAAA,MACZ,GAAA,EAAK,GAAA;AAAA,MACL,IAAA,EAAM;AAAA,KACR;AAAA,IACA,OAAA,EAAS;AAAA,MACP,OAAA,EAAS,MAAA;AAAA,MACT,UAAA,EAAY,QAAA;AAAA,MACZ,cAAA,EAAgB,QAAA;AAAA,MAChB,QAAA,EAAU,MAAA;AAAA,MACV,GAAA,EAAK,GAAA;AAAA,MACL,EAAA,EAAI;AAAA;AACN,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,SAAA,EAAW;AAAA,MACT,IAAA,EAAM;AAAA,QACJ,IAAA,EAAM;AAAA,UACJ,GAAA,EAAK,GAAA;AAAA,UACL,EAAA,EAAI,GAAA;AAAA,UACJ,EAAA,EAAI;AAAA,SACN;AAAA,QACA,YAAA,EAAc;AAAA,UACZ,CAAA,EAAG,IAAA;AAAA,UACH,CAAA,EAAG;AAAA,SACL;AAAA,QACA,OAAA,EAAS;AAAA,UACP,EAAA,EAAI;AAAA;AACN,OACF;AAAA,MACA,OAAO;AAAC;AACV,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,SAAA,EAAW;AAAA;AAEf,CAAC,CAAA;ACVM,SAAS,UAAA,CAAW;AAAA,EACzB,OAAA;AAAA,EACA,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,WAAA;AAAA,EACA,YAAA,GAAe,CAAA;AAAA,EACf,YAAA;AAAA,EACA,SAAA,GAAY,KAAA;AAAA,EACZ,GAAA;AAAA,EACA,KAAA;AAAA,EACA;AACF,CAAA,EAAuC;AACrC,EAAA,MAAM,YAAYC,WAAA,EAAM;AACxB,EAAA,MAAM,OAAA,GAAU,gBAAA,CAAiB,EAAC,SAAA,EAAU,CAAA;AAE5C,EAAA,uBACEC,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,iBAAA,EAAiB,SAAA;AAAA,MACjB,SAAA,EAAWC,oBAAA,CAAG,OAAA,CAAQ,IAAA,EAAM,SAAS,CAAA;AAAA,MACrC,aAAA,EAAa,UAAA;AAAA,MACb,GAAA;AAAA,MACA,IAAA,EAAK,QAAA;AAAA,MACL,KAAA;AAAA,MACC,QAAA,EAAA;AAAA,QAAAC,6BAAA,CAAY,YAAY,CAAA,mBACvBC,cAAA,CAAC,KAAA,EAAA,EAAI,aAAA,EAAY,QAAO,SAAA,EAAW,OAAA,CAAQ,YAAA,EACxC,QAAA,EAAA,YAAA,EACH,CAAA,GACE,IAAA;AAAA,wBACJH,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,OAAA,CAAQ,IAAA,EACtB,QAAA,EAAA;AAAA,0BAAAG,cAAA,CAACC,yBAAA,EAAA,EAAQ,EAAA,EAAI,SAAA,EAAW,KAAA,EAAO,cAC5B,QAAA,EAAA,KAAA,EACH,CAAA;AAAA,UACC,WAAA,IAAe,uBACdD,cAAA,CAACE,sBAAA,EAAA,EAAK,IAAG,GAAA,EAAI,KAAA,EAAM,WAAA,EAChB,QAAA,EAAA,WAAA,EACH,CAAA,GACE;AAAA,SAAA,EACN,CAAA;AAAA,QACCH,6BAAA,CAAY,OAAO,CAAA,mBAClBC,cAAA,CAAC,SAAI,SAAA,EAAW,OAAA,CAAQ,OAAA,EAAU,QAAA,EAAA,OAAA,EAAQ,CAAA,GACxC;AAAA;AAAA;AAAA,GACN;AAEJ;AAEA,UAAA,CAAW,WAAA,GAAc,YAAA","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/components/EmptyState/EmptyState.recipe.ts","../src/components/EmptyState/EmptyState.tsx"],"names":["sva","useId","jsxs","cx","isReactNode","jsx","Heading","Text"],"mappings":"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","file":"chunk-EVCQCZMM.cjs","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const emptyStateRecipe = sva({\n slots: ['root', 'illustration', 'text', 'actions'],\n base: {\n root: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n textAlign: 'center',\n gap: '4',\n w: 'full',\n px: '6',\n py: '8',\n },\n illustration: {\n display: 'inline-flex',\n color: 'fg.muted',\n w: '16',\n h: '16',\n '& > svg': {\n w: 'full',\n h: 'full',\n },\n },\n text: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n gap: '1',\n maxW: '96',\n },\n actions: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexWrap: 'wrap',\n gap: '2',\n mt: '1',\n },\n },\n variants: {\n isCompact: {\n true: {\n root: {\n gap: '2',\n px: '4',\n py: '4',\n },\n illustration: {\n w: '12',\n h: '12',\n },\n actions: {\n mt: '0',\n },\n },\n false: {},\n },\n },\n defaultVariants: {\n isCompact: false,\n },\n});\n\nexport type EmptyStateVariants = RecipeVariantProps<typeof emptyStateRecipe>;\n","import {useId, type CSSProperties, type ReactNode, type Ref} from 'react';\nimport {emptyStateRecipe} from 'components/EmptyState/EmptyState.recipe';\nimport {Heading, type HeadingLevel, Text} from 'components/Text';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\n\nexport interface EmptyStateProps {\n /**\n * Action controls rendered below the text.\n */\n actions?: ReactNode;\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Supporting text.\n */\n description?: string;\n /**\n * Semantic heading level for the title.\n * @default 3\n */\n headingLevel?: HeadingLevel;\n /**\n * Decorative illustration or large icon rendered above the title.\n */\n illustration?: ReactNode;\n /**\n * Whether to use tighter spacing for constrained areas.\n * @default false\n */\n isCompact?: boolean;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Primary empty-state message.\n */\n title: string;\n}\n\n/**\n * A placeholder for an empty data or content area.\n */\nexport function EmptyState({\n actions,\n className,\n 'data-testid': dataTestId,\n description,\n headingLevel = 3,\n illustration,\n isCompact = false,\n ref,\n style,\n title,\n}: EmptyStateProps): React.JSX.Element {\n const headingId = useId();\n const classes = emptyStateRecipe({isCompact});\n\n return (\n <div\n aria-labelledby={headingId}\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n ref={ref}\n role=\"region\"\n style={style}>\n {isReactNode(illustration) ? (\n <div aria-hidden=\"true\" className={classes.illustration}>\n {illustration}\n </div>\n ) : null}\n <div className={classes.text}>\n <Heading id={headingId} level={headingLevel}>\n {title}\n </Heading>\n {description != null ? (\n <Text as=\"p\" color=\"secondary\">\n {description}\n </Text>\n ) : null}\n </div>\n {isReactNode(actions) ? (\n <div className={classes.actions}>{actions}</div>\n ) : null}\n </div>\n );\n}\n\nEmptyState.displayName = 'EmptyState';\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getNecessity, Field } from './chunk-
|
|
1
|
+
import { getNecessity, Field } from './chunk-SEDUAMDW.js';
|
|
2
2
|
import { isReactNode } from './chunk-2PSZAWLC.js';
|
|
3
3
|
import { cva } from './chunk-FMEIPGUP.js';
|
|
4
4
|
import { cx } from './chunk-PPNETWIP.js';
|
|
@@ -214,5 +214,5 @@ function InputGroupText({
|
|
|
214
214
|
InputGroupText.displayName = "InputGroupText";
|
|
215
215
|
|
|
216
216
|
export { InputGroup, InputGroupContext, InputGroupText, useInputGroup };
|
|
217
|
-
//# sourceMappingURL=chunk-
|
|
218
|
-
//# sourceMappingURL=chunk-
|
|
217
|
+
//# sourceMappingURL=chunk-FIOCTAXT.js.map
|
|
218
|
+
//# sourceMappingURL=chunk-FIOCTAXT.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/InputGroup/InputGroup.recipe.ts","../src/components/InputGroup/InputGroupContext.ts","../src/components/InputGroup/InputGroup.tsx","../src/components/InputGroup/InputGroupText.tsx"],"names":["jsx"],"mappings":"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","file":"chunk-E42WOTIC.js","sourcesContent":["import type {InputSize, InputStatusType} from 'components/Field';\nimport {cva, type RecipeVariantProps} from 'styled-system/css';\n\nconst addonSelector = '& > [data-silver-input-group-text]';\nconst controlSelector = '& > :not([data-silver-input-group-text])';\nconst itemSelector = '& > *';\n\nconst statusStyles = {\n error: {\n borderColor: 'status.error.border',\n _focusWithin: {borderColor: 'status.error.border'},\n },\n success: {\n borderColor: 'status.success.border',\n _focusWithin: {borderColor: 'status.success.border'},\n },\n warning: {\n borderColor: 'status.warning.border',\n _focusWithin: {borderColor: 'status.warning.border'},\n },\n} satisfies Record<InputStatusType, object>;\n\nexport const inputGroupRecipe = cva({\n base: {\n display: 'inline-flex',\n alignItems: 'stretch',\n isolation: 'isolate',\n maxW: 'full',\n [itemSelector]: {\n position: 'relative',\n borderRadius: 0,\n },\n [`${itemSelector}:not(:first-child)`]: {\n marginInlineStart: '-1px',\n },\n [`${itemSelector}:first-child`]: {\n borderStartStartRadius: 'md',\n borderEndStartRadius: 'md',\n },\n [`${itemSelector}:last-child`]: {\n borderStartEndRadius: 'md',\n borderEndEndRadius: 'md',\n },\n [`${itemSelector}:focus-within`]: {\n zIndex: 1,\n },\n [controlSelector]: {\n flex: 1,\n minW: 0,\n h: 'full',\n },\n [addonSelector]: {\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n px: '3',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'border.emphasized',\n bg: 'bg.subtle',\n color: 'fg.muted',\n fontFamily: 'body',\n fontSize: 'md',\n lineHeight: 'normal',\n whiteSpace: 'nowrap',\n },\n },\n variants: {\n isDisabled: {\n false: {},\n true: {\n cursor: 'not-allowed',\n opacity: 0.55,\n },\n },\n size: {\n lg: {\n [addonSelector]: {\n minH: 'component.lg',\n },\n },\n md: {\n [addonSelector]: {\n minH: 'component.md',\n },\n },\n sm: {\n [addonSelector]: {\n minH: 'component.sm',\n },\n },\n },\n status: {\n error: {\n [addonSelector]: statusStyles.error,\n [controlSelector]: statusStyles.error,\n },\n success: {\n [addonSelector]: statusStyles.success,\n [controlSelector]: statusStyles.success,\n },\n warning: {\n [addonSelector]: statusStyles.warning,\n [controlSelector]: statusStyles.warning,\n },\n },\n },\n defaultVariants: {\n isDisabled: false,\n size: 'md',\n },\n});\n\nexport type InputGroupVariants = RecipeVariantProps<typeof inputGroupRecipe>;\nexport type InputGroupSize = InputSize;\n","import {createContext, use} from 'react';\nimport type {InputSize, InputStatusType} from 'components/Field';\n\nexport interface InputGroupContextValue {\n isDisabled: boolean;\n isInGroup: true;\n label: string;\n size: InputSize;\n statusType?: InputStatusType;\n}\n\nexport const InputGroupContext = createContext<InputGroupContextValue | null>(\n null,\n);\n\nInputGroupContext.displayName = 'InputGroupContext';\n\nexport function useInputGroup(): InputGroupContextValue | null {\n return use(InputGroupContext);\n}\n","import {\n useMemo,\n useId,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputSize,\n type InputStatus,\n} from 'components/Field';\nimport {inputGroupRecipe} from 'components/InputGroup/InputGroup.recipe';\nimport {InputGroupContext} from 'components/InputGroup/InputGroupContext';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\n\nexport type InputGroupProps = {\n /**\n * Grouped input children to render side-by-side.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the group wrapper.\n */\n className?: string;\n /**\n * Test ID applied to the group wrapper.\n */\n 'data-testid'?: string;\n /**\n * Supporting text displayed below the label.\n */\n description?: ReactNode;\n /**\n * Whether all grouped inputs are 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 * Label text for the input group.\n */\n label: string;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: ReactNode;\n /**\n * Ref forwarded to the group wrapper.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Visual size applied to the group.\n * @default 'md'\n */\n size?: InputSize;\n /**\n * Validation status displayed below the group.\n */\n status?: InputStatus;\n /**\n * Inline styles applied to the group wrapper.\n */\n style?: CSSProperties;\n} & FieldNecessity;\n\n/**\n * Groups multiple inputs into a single visually connected row.\n */\nexport function InputGroup({\n children,\n label,\n description,\n isDisabled = false,\n isLabelHidden = false,\n isOptional,\n isRequired,\n size = 'md',\n status,\n labelTooltip,\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: InputGroupProps): React.JSX.Element {\n const inputId = useId();\n const labelId = `${inputId}-label`;\n const descriptionID = isReactNode(description)\n ? `${inputId}-description`\n : undefined;\n const statusID = status?.message != null ? `${inputId}-status` : undefined;\n const describedBy =\n [descriptionID, statusID].filter(Boolean).join(' ') || undefined;\n const contextValue = useMemo(\n () => ({\n isInGroup: true as const,\n isDisabled,\n label,\n size,\n statusType: status?.type,\n }),\n [isDisabled, label, size, status?.type],\n );\n\n const necessity = getNecessity(isOptional, isRequired);\n\n return (\n <InputGroupContext value={contextValue}>\n <Field\n description={description}\n descriptionID={descriptionID}\n inputId={inputId}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n labelAs=\"span\"\n labelId={labelId}\n {...necessity}\n label={label}\n labelTooltip={labelTooltip}\n status={status == null ? undefined : {...status, messageID: statusID}}\n statusVariant=\"detached\">\n <div\n aria-describedby={describedBy}\n aria-disabled={isDisabled || undefined}\n aria-labelledby={labelId}\n className={cx(\n inputGroupRecipe({\n isDisabled,\n size,\n status: status?.type,\n }),\n className,\n )}\n data-testid={dataTestId}\n ref={ref}\n role=\"group\"\n style={style}>\n {children}\n </div>\n </Field>\n </InputGroupContext>\n );\n}\n\nInputGroup.displayName = 'InputGroup';\n","import type {CSSProperties, ReactNode, Ref} from 'react';\n\nexport interface InputGroupTextProps {\n children: ReactNode;\n className?: string;\n 'data-testid'?: string;\n ref?: Ref<HTMLDivElement>;\n style?: CSSProperties;\n}\n\nexport function InputGroupText({\n children,\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: InputGroupTextProps): React.JSX.Element {\n return (\n <div\n className={className}\n data-silver-input-group-text=\"\"\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n {children}\n </div>\n );\n}\n\nInputGroupText.displayName = 'InputGroupText';\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/InputGroup/InputGroup.recipe.ts","../src/components/InputGroup/InputGroupContext.ts","../src/components/InputGroup/InputGroup.tsx","../src/components/InputGroup/InputGroupText.tsx"],"names":["jsx"],"mappings":"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","file":"chunk-FIOCTAXT.js","sourcesContent":["import type {InputSize, InputStatusType} from 'components/Field';\nimport {cva, type RecipeVariantProps} from 'styled-system/css';\n\nconst addonSelector = '& > [data-silver-input-group-text]';\nconst controlSelector = '& > :not([data-silver-input-group-text])';\nconst itemSelector = '& > *';\n\nconst statusStyles = {\n error: {\n borderColor: 'status.error.border',\n _focusWithin: {borderColor: 'status.error.border'},\n },\n success: {\n borderColor: 'status.success.border',\n _focusWithin: {borderColor: 'status.success.border'},\n },\n warning: {\n borderColor: 'status.warning.border',\n _focusWithin: {borderColor: 'status.warning.border'},\n },\n} satisfies Record<InputStatusType, object>;\n\nexport const inputGroupRecipe = cva({\n base: {\n display: 'inline-flex',\n alignItems: 'stretch',\n isolation: 'isolate',\n maxW: 'full',\n [itemSelector]: {\n position: 'relative',\n borderRadius: 0,\n },\n [`${itemSelector}:not(:first-child)`]: {\n marginInlineStart: '-1px',\n },\n [`${itemSelector}:first-child`]: {\n borderStartStartRadius: 'md',\n borderEndStartRadius: 'md',\n },\n [`${itemSelector}:last-child`]: {\n borderStartEndRadius: 'md',\n borderEndEndRadius: 'md',\n },\n [`${itemSelector}:focus-within`]: {\n zIndex: 1,\n },\n [controlSelector]: {\n flex: 1,\n minW: 0,\n h: 'full',\n },\n [addonSelector]: {\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n px: '3',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'border.emphasized',\n bg: 'bg.subtle',\n color: 'fg.muted',\n fontFamily: 'body',\n fontSize: 'md',\n lineHeight: 'normal',\n whiteSpace: 'nowrap',\n },\n },\n variants: {\n isDisabled: {\n false: {},\n true: {\n cursor: 'not-allowed',\n opacity: 0.55,\n },\n },\n size: {\n lg: {\n [addonSelector]: {\n minH: 'component.lg',\n },\n },\n md: {\n [addonSelector]: {\n minH: 'component.md',\n },\n },\n sm: {\n [addonSelector]: {\n minH: 'component.sm',\n },\n },\n },\n status: {\n error: {\n [addonSelector]: statusStyles.error,\n [controlSelector]: statusStyles.error,\n },\n success: {\n [addonSelector]: statusStyles.success,\n [controlSelector]: statusStyles.success,\n },\n warning: {\n [addonSelector]: statusStyles.warning,\n [controlSelector]: statusStyles.warning,\n },\n },\n },\n defaultVariants: {\n isDisabled: false,\n size: 'md',\n },\n});\n\nexport type InputGroupVariants = RecipeVariantProps<typeof inputGroupRecipe>;\nexport type InputGroupSize = InputSize;\n","import {createContext, use} from 'react';\nimport type {InputSize, InputStatusType} from 'components/Field';\n\nexport interface InputGroupContextValue {\n isDisabled: boolean;\n isInGroup: true;\n label: string;\n size: InputSize;\n statusType?: InputStatusType;\n}\n\nexport const InputGroupContext = createContext<InputGroupContextValue | null>(\n null,\n);\n\nInputGroupContext.displayName = 'InputGroupContext';\n\nexport function useInputGroup(): InputGroupContextValue | null {\n return use(InputGroupContext);\n}\n","import {\n useMemo,\n useId,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputSize,\n type InputStatus,\n} from 'components/Field';\nimport {inputGroupRecipe} from 'components/InputGroup/InputGroup.recipe';\nimport {InputGroupContext} from 'components/InputGroup/InputGroupContext';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\n\nexport type InputGroupProps = {\n /**\n * Grouped input children to render side-by-side.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the group wrapper.\n */\n className?: string;\n /**\n * Test ID applied to the group wrapper.\n */\n 'data-testid'?: string;\n /**\n * Supporting text displayed below the label.\n */\n description?: ReactNode;\n /**\n * Whether all grouped inputs are 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 * Label text for the input group.\n */\n label: string;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: ReactNode;\n /**\n * Ref forwarded to the group wrapper.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Visual size applied to the group.\n * @default 'md'\n */\n size?: InputSize;\n /**\n * Validation status displayed below the group.\n */\n status?: InputStatus;\n /**\n * Inline styles applied to the group wrapper.\n */\n style?: CSSProperties;\n} & FieldNecessity;\n\n/**\n * Groups multiple inputs into a single visually connected row.\n */\nexport function InputGroup({\n children,\n label,\n description,\n isDisabled = false,\n isLabelHidden = false,\n isOptional,\n isRequired,\n size = 'md',\n status,\n labelTooltip,\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: InputGroupProps): React.JSX.Element {\n const inputId = useId();\n const labelId = `${inputId}-label`;\n const descriptionID = isReactNode(description)\n ? `${inputId}-description`\n : undefined;\n const statusID = status?.message != null ? `${inputId}-status` : undefined;\n const describedBy =\n [descriptionID, statusID].filter(Boolean).join(' ') || undefined;\n const contextValue = useMemo(\n () => ({\n isInGroup: true as const,\n isDisabled,\n label,\n size,\n statusType: status?.type,\n }),\n [isDisabled, label, size, status?.type],\n );\n\n const necessity = getNecessity(isOptional, isRequired);\n\n return (\n <InputGroupContext value={contextValue}>\n <Field\n description={description}\n descriptionID={descriptionID}\n inputId={inputId}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n labelAs=\"span\"\n labelId={labelId}\n {...necessity}\n label={label}\n labelTooltip={labelTooltip}\n status={status == null ? undefined : {...status, messageID: statusID}}\n statusVariant=\"detached\">\n <div\n aria-describedby={describedBy}\n aria-disabled={isDisabled || undefined}\n aria-labelledby={labelId}\n className={cx(\n inputGroupRecipe({\n isDisabled,\n size,\n status: status?.type,\n }),\n className,\n )}\n data-testid={dataTestId}\n ref={ref}\n role=\"group\"\n style={style}>\n {children}\n </div>\n </Field>\n </InputGroupContext>\n );\n}\n\nInputGroup.displayName = 'InputGroup';\n","import type {CSSProperties, ReactNode, Ref} from 'react';\n\nexport interface InputGroupTextProps {\n children: ReactNode;\n className?: string;\n 'data-testid'?: string;\n ref?: Ref<HTMLDivElement>;\n style?: CSSProperties;\n}\n\nexport function InputGroupText({\n children,\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: InputGroupTextProps): React.JSX.Element {\n return (\n <div\n className={className}\n data-silver-input-group-text=\"\"\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n {children}\n </div>\n );\n}\n\nInputGroupText.displayName = 'InputGroupText';\n"]}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
var chunkDLIYUFTS_cjs = require('./chunk-DLIYUFTS.cjs');
|
|
4
4
|
var chunkQB2BSOM4_cjs = require('./chunk-QB2BSOM4.cjs');
|
|
5
|
-
var
|
|
6
|
-
var
|
|
5
|
+
var chunkVXOIOPGZ_cjs = require('./chunk-VXOIOPGZ.cjs');
|
|
6
|
+
var chunkMHAXS4GO_cjs = require('./chunk-MHAXS4GO.cjs');
|
|
7
7
|
var chunkZ6RT3WPE_cjs = require('./chunk-Z6RT3WPE.cjs');
|
|
8
8
|
var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
|
|
9
9
|
var lucideReact = require('lucide-react');
|
|
@@ -284,7 +284,7 @@ function CodeBlock({
|
|
|
284
284
|
} catch {
|
|
285
285
|
}
|
|
286
286
|
}, [code, onCopy]);
|
|
287
|
-
const paddingToken =
|
|
287
|
+
const paddingToken = chunkMHAXS4GO_cjs.token(`spacing.${padding}`);
|
|
288
288
|
const codeStyle = {
|
|
289
289
|
["--cb-padding"]: paddingToken,
|
|
290
290
|
padding: paddingToken
|
|
@@ -305,7 +305,7 @@ function CodeBlock({
|
|
|
305
305
|
};
|
|
306
306
|
const copyLabel = copied ? "Copied" : "Copy code";
|
|
307
307
|
const copyButton = hasCopyButton ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
308
|
-
|
|
308
|
+
chunkVXOIOPGZ_cjs.Button,
|
|
309
309
|
{
|
|
310
310
|
icon: copied ? lucideReact.Check : lucideReact.Copy,
|
|
311
311
|
isIconOnly: true,
|
|
@@ -412,5 +412,5 @@ function CodeBlock({
|
|
|
412
412
|
CodeBlock.displayName = "CodeBlock";
|
|
413
413
|
|
|
414
414
|
exports.CodeBlock = CodeBlock;
|
|
415
|
-
//# sourceMappingURL=chunk-
|
|
416
|
-
//# sourceMappingURL=chunk-
|
|
415
|
+
//# sourceMappingURL=chunk-FLDTPAG4.cjs.map
|
|
416
|
+
//# sourceMappingURL=chunk-FLDTPAG4.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/CodeBlock/CodeBlock.recipe.ts","../src/components/CodeBlock/CodeBlock.tsx"],"names":["sva","useState","useRef","useMemo","useEffect","useCallback","token","jsx","Button","Check","Copy","jsxs","Card","cx","Fragment","Divider"],"mappings":"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","file":"chunk-LW3DJOF4.cjs","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const codeBlockRecipe = sva({\n slots: [\n 'root',\n 'header',\n 'headerTitle',\n 'scroll',\n 'body',\n 'gutter',\n 'gutterLine',\n 'pre',\n 'code',\n 'line',\n 'copyButtonFloating',\n 'inlineCode',\n 'inlineDivider',\n ],\n base: {\n root: {\n color: 'fg',\n overflow: 'hidden',\n },\n header: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: '3',\n px: '4',\n py: '2',\n borderBlockEndWidth: 'default',\n borderBlockEndStyle: 'solid',\n borderBlockEndColor: 'border',\n },\n headerTitle: {\n minW: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n color: 'fg.muted',\n fontFamily: 'mono',\n fontSize: 'xs',\n fontWeight: 'medium',\n },\n scroll: {\n overflow: 'auto',\n },\n body: {\n display: 'flex',\n minW: 'fit-content',\n },\n gutter: {\n flexShrink: 0,\n py: '3',\n ps: '4',\n pe: '3',\n borderInlineEndWidth: 'default',\n borderInlineEndStyle: 'solid',\n borderInlineEndColor: 'border',\n color: 'fg.muted',\n textAlign: 'end',\n userSelect: 'none',\n },\n gutterLine: {\n fontFamily: 'mono',\n lineHeight: '1.5rem',\n },\n pre: {\n m: 0,\n flex: 1,\n minW: 0,\n },\n code: {\n display: 'flex',\n flexDirection: 'column',\n color: 'fg',\n fontFamily: 'mono',\n tabSize: 2,\n whiteSpace: 'pre',\n wordBreak: 'normal',\n overflowWrap: 'normal',\n },\n line: {\n display: 'block',\n minH: '1.5rem',\n '&[data-highlighted]': {\n bg: 'bg.selected',\n mx: 'calc(var(--cb-padding) * -1)',\n px: 'var(--cb-padding)',\n },\n },\n copyButtonFloating: {\n position: 'absolute',\n top: '3',\n right: '3',\n zIndex: 1,\n // On hover-capable devices, hide until the block is hovered/focused (the\n // root reveals it via [data-cb-copy]). On touch devices it stays visible.\n '@media (hover: hover)': {\n opacity: 0,\n pointerEvents: 'none',\n transitionProperty: 'opacity',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n '@media (prefers-reduced-motion: reduce)': {\n transitionDuration: '0s',\n },\n },\n },\n inlineCode: {\n minW: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'pre',\n fontFamily: 'mono',\n },\n inlineDivider: {\n alignSelf: 'stretch',\n ms: '1.5',\n },\n },\n variants: {\n container: {\n card: {\n root: {\n position: 'relative',\n isolation: 'isolate',\n display: 'flex',\n flexDirection: 'column',\n borderRadius: 'md',\n '&:hover [data-cb-copy], &:focus-within [data-cb-copy]': {\n opacity: 1,\n pointerEvents: 'auto',\n },\n },\n },\n section: {\n root: {\n position: 'relative',\n isolation: 'isolate',\n display: 'flex',\n flexDirection: 'column',\n '&:hover [data-cb-copy], &:focus-within [data-cb-copy]': {\n opacity: 1,\n pointerEvents: 'auto',\n },\n },\n },\n inline: {\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '1',\n maxWidth: '100%',\n ps: '2.5',\n },\n },\n },\n size: {\n sm: {\n code: {fontSize: 'xs', lineHeight: '1.5rem'},\n gutter: {fontSize: 'xs', lineHeight: '1.5rem'},\n inlineCode: {fontSize: 'xs', lineHeight: '1.5rem'},\n },\n md: {\n code: {fontSize: 'sm', lineHeight: '1.5rem'},\n gutter: {fontSize: 'sm', lineHeight: '1.5rem'},\n inlineCode: {fontSize: 'sm', lineHeight: '1.5rem'},\n },\n },\n isWrapped: {\n true: {\n code: {\n whiteSpace: 'pre-wrap',\n wordBreak: 'break-word',\n overflowWrap: 'anywhere',\n },\n },\n },\n hasFloatingCopy: {\n true: {\n code: {pe: '12'},\n },\n },\n },\n defaultVariants: {\n container: 'card',\n size: 'md',\n isWrapped: false,\n hasFloatingCopy: false,\n },\n});\n\nexport type CodeBlockVariants = RecipeVariantProps<typeof codeBlockRecipe>;\n","'use client';\n\nimport {Check, Copy} from 'lucide-react';\nimport {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type Ref,\n} from 'react';\nimport {Button} from 'components/Button';\nimport {Card} from 'components/Card';\nimport {codeBlockRecipe} from 'components/CodeBlock/CodeBlock.recipe';\nimport {Divider} from 'components/Divider';\nimport {cx} from 'internal/cx';\nimport type {SpacingToken} from 'internal/spacingTokens';\nimport {token} from 'styled-system/tokens';\n\nexport type CodeBlockContainer = 'card' | 'section' | 'inline';\nexport type CodeBlockSize = 'sm' | 'md';\n\nexport interface CodeBlockProps {\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Source code to display.\n */\n code: string;\n /**\n * Container presentation style. Use `'inline'` for a compact, single-line\n * snippet (e.g. an install command) with the copy button rendered inline;\n * line numbers, titles, and `maxHeight` do not apply to inline blocks.\n * @default 'card'\n */\n container?: CodeBlockContainer;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Whether to show a copy button.\n * @default true\n */\n hasCopyButton?: boolean;\n /**\n * Whether to render line numbers.\n * @default false\n */\n hasLineNumbers?: boolean;\n /**\n * One-based line numbers to visually highlight.\n */\n highlightLines?: number[];\n /**\n * Whether long lines should wrap.\n * @default false\n */\n isWrapped?: boolean;\n /**\n * Accessible label for the code block region.\n */\n label?: string;\n /**\n * Maximum scrollable body height. Numbers are treated as pixels.\n */\n maxHeight?: number | string;\n /**\n * Called after code is successfully copied.\n */\n onCopy?: () => void;\n /**\n * Inner padding step.\n * @default 4\n */\n padding?: SpacingToken;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Visual size.\n * @default 'md'\n */\n size?: CodeBlockSize;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Optional header title.\n */\n title?: string;\n /**\n * Width of the code block. Accepts any CSS width value.\n * @default 'fit-content'\n */\n width?: string;\n}\n\nfunction getLines(code: string): string[] {\n const lines = code.split('\\n');\n if (lines.length > 1 && lines[lines.length - 1] === '') {\n lines.pop();\n }\n return lines;\n}\n\nfunction getLineEntries(code: string): {lineNumber: number; text: string}[] {\n return getLines(code).map((text, index) => ({\n lineNumber: index + 1,\n text,\n }));\n}\n\nfunction getRegionLabel({\n label,\n title,\n}: {\n label?: string;\n title?: string;\n}): string {\n if (label != null) {\n return label;\n }\n\n if (title != null && title.length > 0) {\n return `${title} code block`;\n }\n\n return 'Code block';\n}\n\n/**\n * Read-only source code display.\n */\nexport function CodeBlock({\n className,\n code,\n container = 'card',\n 'data-testid': dataTestId,\n hasCopyButton = true,\n hasLineNumbers = false,\n highlightLines,\n isWrapped = false,\n label,\n maxHeight,\n onCopy,\n padding = 4,\n ref,\n size = 'md',\n style,\n title,\n width = 'fit-content',\n}: CodeBlockProps): React.JSX.Element {\n const [copied, setCopied] = useState(false);\n const copiedResetTimeoutRef = useRef<number | null>(null);\n const lines = useMemo(() => getLineEntries(code), [code]);\n const highlightLineKey = highlightLines?.join(',');\n const highlightedLines = useMemo(\n () =>\n highlightLineKey == null || highlightLineKey.length === 0\n ? null\n : new Set(highlightLineKey.split(',').map(Number)),\n [highlightLineKey],\n );\n const isInline = container === 'inline';\n const showHeader = !isInline && title != null;\n const regionLabel = getRegionLabel({label, title});\n\n const classes = codeBlockRecipe({\n container,\n size,\n isWrapped,\n hasFloatingCopy: !showHeader && hasCopyButton,\n });\n\n useEffect(() => {\n return () => {\n if (copiedResetTimeoutRef.current != null) {\n window.clearTimeout(copiedResetTimeoutRef.current);\n }\n };\n }, []);\n\n const handleCopy = useCallback(async () => {\n try {\n await navigator.clipboard.writeText(code);\n setCopied(true);\n onCopy?.();\n if (copiedResetTimeoutRef.current != null) {\n window.clearTimeout(copiedResetTimeoutRef.current);\n }\n copiedResetTimeoutRef.current = window.setTimeout(() => {\n setCopied(false);\n copiedResetTimeoutRef.current = null;\n }, 2000);\n } catch {\n // Clipboard failures leave the copied state unchanged.\n }\n }, [code, onCopy]);\n\n const paddingToken = token(`spacing.${padding}`);\n const codeStyle: CSSProperties = {\n ['--cb-padding' as string]: paddingToken,\n padding: paddingToken,\n };\n\n const rootStyle: CSSProperties = isInline\n ? {...style}\n : {\n width,\n minWidth: width === 'fit-content' ? 'min(100%, 400px)' : undefined,\n maxWidth: width === 'fit-content' ? '100%' : undefined,\n ...style,\n };\n const scrollStyle: CSSProperties | undefined =\n maxHeight == null\n ? undefined\n : {\n maxHeight:\n typeof maxHeight === 'number' ? `${maxHeight}px` : maxHeight,\n };\n const scrollRegionProps = {\n 'aria-label': `${regionLabel} scroll area`,\n role: 'region',\n tabIndex: 0,\n } as const;\n\n const copyLabel = copied ? 'Copied' : 'Copy code';\n const copyButton = hasCopyButton ? (\n <Button\n icon={copied ? Check : Copy}\n isIconOnly\n label={copyLabel}\n onClick={() => {\n void handleCopy();\n }}\n size=\"sm\"\n tooltip={copyLabel}\n variant=\"ghost\"\n />\n ) : null;\n\n if (isInline) {\n return (\n <Card\n aria-label={regionLabel}\n className={cx(classes.root, className)}\n data-container={container}\n data-size={size}\n data-testid={dataTestId}\n padding={1}\n ref={ref}\n role=\"group\"\n style={rootStyle}>\n <code\n className={classes.inlineCode}\n data-testid={dataTestId == null ? undefined : `${dataTestId}-code`}>\n {code}\n </code>\n {copyButton != null ? (\n <>\n <Divider\n className={classes.inlineDivider}\n height=\"auto\"\n isFullBleed\n orientation=\"vertical\"\n />\n {copyButton}\n </>\n ) : null}\n </Card>\n );\n }\n\n return (\n <Card\n aria-label={regionLabel}\n className={cx(classes.root, className)}\n data-container={container}\n data-size={size}\n data-testid={dataTestId}\n ref={ref}\n role=\"region\"\n style={rootStyle}\n variant={container === 'section' ? 'section' : 'default'}>\n {showHeader ? (\n <div className={classes.header}>\n <div className={classes.headerTitle}>{title}</div>\n {copyButton}\n </div>\n ) : null}\n <div\n {...scrollRegionProps}\n className={classes.scroll}\n data-testid={dataTestId == null ? undefined : `${dataTestId}-scroll`}\n style={scrollStyle}>\n <div className={classes.body}>\n {hasLineNumbers ? (\n <div aria-hidden=\"true\" className={classes.gutter}>\n {lines.map(line => (\n <div className={classes.gutterLine} key={line.lineNumber}>\n {line.lineNumber}\n </div>\n ))}\n </div>\n ) : null}\n <pre className={classes.pre}>\n <code\n className={classes.code}\n data-testid={\n dataTestId == null ? undefined : `${dataTestId}-code`\n }\n data-wrapped={isWrapped ? '' : undefined}\n style={codeStyle}>\n {lines.map(line => (\n <span\n className={classes.line}\n data-highlighted={\n highlightedLines?.has(line.lineNumber) ? '' : undefined\n }\n data-line={line.lineNumber}\n key={line.lineNumber}>\n {line.text.length === 0 ? '\\u200b' : line.text}\n </span>\n ))}\n </code>\n </pre>\n </div>\n </div>\n {!showHeader && copyButton != null ? (\n <div className={classes.copyButtonFloating} data-cb-copy=\"\">\n {copyButton}\n </div>\n ) : null}\n </Card>\n );\n}\n\nCodeBlock.displayName = 'CodeBlock';\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/CodeBlock/CodeBlock.recipe.ts","../src/components/CodeBlock/CodeBlock.tsx"],"names":["sva","useState","useRef","useMemo","useEffect","useCallback","token","jsx","Button","Check","Copy","jsxs","Card","cx","Fragment","Divider"],"mappings":"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","file":"chunk-FLDTPAG4.cjs","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const codeBlockRecipe = sva({\n slots: [\n 'root',\n 'header',\n 'headerTitle',\n 'scroll',\n 'body',\n 'gutter',\n 'gutterLine',\n 'pre',\n 'code',\n 'line',\n 'copyButtonFloating',\n 'inlineCode',\n 'inlineDivider',\n ],\n base: {\n root: {\n color: 'fg',\n overflow: 'hidden',\n },\n header: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: '3',\n px: '4',\n py: '2',\n borderBlockEndWidth: 'default',\n borderBlockEndStyle: 'solid',\n borderBlockEndColor: 'border',\n },\n headerTitle: {\n minW: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n color: 'fg.muted',\n fontFamily: 'mono',\n fontSize: 'xs',\n fontWeight: 'medium',\n },\n scroll: {\n overflow: 'auto',\n },\n body: {\n display: 'flex',\n minW: 'fit-content',\n },\n gutter: {\n flexShrink: 0,\n py: '3',\n ps: '4',\n pe: '3',\n borderInlineEndWidth: 'default',\n borderInlineEndStyle: 'solid',\n borderInlineEndColor: 'border',\n color: 'fg.muted',\n textAlign: 'end',\n userSelect: 'none',\n },\n gutterLine: {\n fontFamily: 'mono',\n lineHeight: '1.5rem',\n },\n pre: {\n m: 0,\n flex: 1,\n minW: 0,\n },\n code: {\n display: 'flex',\n flexDirection: 'column',\n color: 'fg',\n fontFamily: 'mono',\n tabSize: 2,\n whiteSpace: 'pre',\n wordBreak: 'normal',\n overflowWrap: 'normal',\n },\n line: {\n display: 'block',\n minH: '1.5rem',\n '&[data-highlighted]': {\n bg: 'bg.selected',\n mx: 'calc(var(--cb-padding) * -1)',\n px: 'var(--cb-padding)',\n },\n },\n copyButtonFloating: {\n position: 'absolute',\n top: '3',\n right: '3',\n zIndex: 1,\n // On hover-capable devices, hide until the block is hovered/focused (the\n // root reveals it via [data-cb-copy]). On touch devices it stays visible.\n '@media (hover: hover)': {\n opacity: 0,\n pointerEvents: 'none',\n transitionProperty: 'opacity',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n '@media (prefers-reduced-motion: reduce)': {\n transitionDuration: '0s',\n },\n },\n },\n inlineCode: {\n minW: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'pre',\n fontFamily: 'mono',\n },\n inlineDivider: {\n alignSelf: 'stretch',\n ms: '1.5',\n },\n },\n variants: {\n container: {\n card: {\n root: {\n position: 'relative',\n isolation: 'isolate',\n display: 'flex',\n flexDirection: 'column',\n borderRadius: 'md',\n '&:hover [data-cb-copy], &:focus-within [data-cb-copy]': {\n opacity: 1,\n pointerEvents: 'auto',\n },\n },\n },\n section: {\n root: {\n position: 'relative',\n isolation: 'isolate',\n display: 'flex',\n flexDirection: 'column',\n '&:hover [data-cb-copy], &:focus-within [data-cb-copy]': {\n opacity: 1,\n pointerEvents: 'auto',\n },\n },\n },\n inline: {\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '1',\n maxWidth: '100%',\n ps: '2.5',\n },\n },\n },\n size: {\n sm: {\n code: {fontSize: 'xs', lineHeight: '1.5rem'},\n gutter: {fontSize: 'xs', lineHeight: '1.5rem'},\n inlineCode: {fontSize: 'xs', lineHeight: '1.5rem'},\n },\n md: {\n code: {fontSize: 'sm', lineHeight: '1.5rem'},\n gutter: {fontSize: 'sm', lineHeight: '1.5rem'},\n inlineCode: {fontSize: 'sm', lineHeight: '1.5rem'},\n },\n },\n isWrapped: {\n true: {\n code: {\n whiteSpace: 'pre-wrap',\n wordBreak: 'break-word',\n overflowWrap: 'anywhere',\n },\n },\n },\n hasFloatingCopy: {\n true: {\n code: {pe: '12'},\n },\n },\n },\n defaultVariants: {\n container: 'card',\n size: 'md',\n isWrapped: false,\n hasFloatingCopy: false,\n },\n});\n\nexport type CodeBlockVariants = RecipeVariantProps<typeof codeBlockRecipe>;\n","'use client';\n\nimport {Check, Copy} from 'lucide-react';\nimport {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type Ref,\n} from 'react';\nimport {Button} from 'components/Button';\nimport {Card} from 'components/Card';\nimport {codeBlockRecipe} from 'components/CodeBlock/CodeBlock.recipe';\nimport {Divider} from 'components/Divider';\nimport {cx} from 'internal/cx';\nimport type {SpacingToken} from 'internal/spacingTokens';\nimport {token} from 'styled-system/tokens';\n\nexport type CodeBlockContainer = 'card' | 'section' | 'inline';\nexport type CodeBlockSize = 'sm' | 'md';\n\nexport interface CodeBlockProps {\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Source code to display.\n */\n code: string;\n /**\n * Container presentation style. Use `'inline'` for a compact, single-line\n * snippet (e.g. an install command) with the copy button rendered inline;\n * line numbers, titles, and `maxHeight` do not apply to inline blocks.\n * @default 'card'\n */\n container?: CodeBlockContainer;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Whether to show a copy button.\n * @default true\n */\n hasCopyButton?: boolean;\n /**\n * Whether to render line numbers.\n * @default false\n */\n hasLineNumbers?: boolean;\n /**\n * One-based line numbers to visually highlight.\n */\n highlightLines?: number[];\n /**\n * Whether long lines should wrap.\n * @default false\n */\n isWrapped?: boolean;\n /**\n * Accessible label for the code block region.\n */\n label?: string;\n /**\n * Maximum scrollable body height. Numbers are treated as pixels.\n */\n maxHeight?: number | string;\n /**\n * Called after code is successfully copied.\n */\n onCopy?: () => void;\n /**\n * Inner padding step.\n * @default 4\n */\n padding?: SpacingToken;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Visual size.\n * @default 'md'\n */\n size?: CodeBlockSize;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Optional header title.\n */\n title?: string;\n /**\n * Width of the code block. Accepts any CSS width value.\n * @default 'fit-content'\n */\n width?: string;\n}\n\nfunction getLines(code: string): string[] {\n const lines = code.split('\\n');\n if (lines.length > 1 && lines[lines.length - 1] === '') {\n lines.pop();\n }\n return lines;\n}\n\nfunction getLineEntries(code: string): {lineNumber: number; text: string}[] {\n return getLines(code).map((text, index) => ({\n lineNumber: index + 1,\n text,\n }));\n}\n\nfunction getRegionLabel({\n label,\n title,\n}: {\n label?: string;\n title?: string;\n}): string {\n if (label != null) {\n return label;\n }\n\n if (title != null && title.length > 0) {\n return `${title} code block`;\n }\n\n return 'Code block';\n}\n\n/**\n * Read-only source code display.\n */\nexport function CodeBlock({\n className,\n code,\n container = 'card',\n 'data-testid': dataTestId,\n hasCopyButton = true,\n hasLineNumbers = false,\n highlightLines,\n isWrapped = false,\n label,\n maxHeight,\n onCopy,\n padding = 4,\n ref,\n size = 'md',\n style,\n title,\n width = 'fit-content',\n}: CodeBlockProps): React.JSX.Element {\n const [copied, setCopied] = useState(false);\n const copiedResetTimeoutRef = useRef<number | null>(null);\n const lines = useMemo(() => getLineEntries(code), [code]);\n const highlightLineKey = highlightLines?.join(',');\n const highlightedLines = useMemo(\n () =>\n highlightLineKey == null || highlightLineKey.length === 0\n ? null\n : new Set(highlightLineKey.split(',').map(Number)),\n [highlightLineKey],\n );\n const isInline = container === 'inline';\n const showHeader = !isInline && title != null;\n const regionLabel = getRegionLabel({label, title});\n\n const classes = codeBlockRecipe({\n container,\n size,\n isWrapped,\n hasFloatingCopy: !showHeader && hasCopyButton,\n });\n\n useEffect(() => {\n return () => {\n if (copiedResetTimeoutRef.current != null) {\n window.clearTimeout(copiedResetTimeoutRef.current);\n }\n };\n }, []);\n\n const handleCopy = useCallback(async () => {\n try {\n await navigator.clipboard.writeText(code);\n setCopied(true);\n onCopy?.();\n if (copiedResetTimeoutRef.current != null) {\n window.clearTimeout(copiedResetTimeoutRef.current);\n }\n copiedResetTimeoutRef.current = window.setTimeout(() => {\n setCopied(false);\n copiedResetTimeoutRef.current = null;\n }, 2000);\n } catch {\n // Clipboard failures leave the copied state unchanged.\n }\n }, [code, onCopy]);\n\n const paddingToken = token(`spacing.${padding}`);\n const codeStyle: CSSProperties = {\n ['--cb-padding' as string]: paddingToken,\n padding: paddingToken,\n };\n\n const rootStyle: CSSProperties = isInline\n ? {...style}\n : {\n width,\n minWidth: width === 'fit-content' ? 'min(100%, 400px)' : undefined,\n maxWidth: width === 'fit-content' ? '100%' : undefined,\n ...style,\n };\n const scrollStyle: CSSProperties | undefined =\n maxHeight == null\n ? undefined\n : {\n maxHeight:\n typeof maxHeight === 'number' ? `${maxHeight}px` : maxHeight,\n };\n const scrollRegionProps = {\n 'aria-label': `${regionLabel} scroll area`,\n role: 'region',\n tabIndex: 0,\n } as const;\n\n const copyLabel = copied ? 'Copied' : 'Copy code';\n const copyButton = hasCopyButton ? (\n <Button\n icon={copied ? Check : Copy}\n isIconOnly\n label={copyLabel}\n onClick={() => {\n void handleCopy();\n }}\n size=\"sm\"\n tooltip={copyLabel}\n variant=\"ghost\"\n />\n ) : null;\n\n if (isInline) {\n return (\n <Card\n aria-label={regionLabel}\n className={cx(classes.root, className)}\n data-container={container}\n data-size={size}\n data-testid={dataTestId}\n padding={1}\n ref={ref}\n role=\"group\"\n style={rootStyle}>\n <code\n className={classes.inlineCode}\n data-testid={dataTestId == null ? undefined : `${dataTestId}-code`}>\n {code}\n </code>\n {copyButton != null ? (\n <>\n <Divider\n className={classes.inlineDivider}\n height=\"auto\"\n isFullBleed\n orientation=\"vertical\"\n />\n {copyButton}\n </>\n ) : null}\n </Card>\n );\n }\n\n return (\n <Card\n aria-label={regionLabel}\n className={cx(classes.root, className)}\n data-container={container}\n data-size={size}\n data-testid={dataTestId}\n ref={ref}\n role=\"region\"\n style={rootStyle}\n variant={container === 'section' ? 'section' : 'default'}>\n {showHeader ? (\n <div className={classes.header}>\n <div className={classes.headerTitle}>{title}</div>\n {copyButton}\n </div>\n ) : null}\n <div\n {...scrollRegionProps}\n className={classes.scroll}\n data-testid={dataTestId == null ? undefined : `${dataTestId}-scroll`}\n style={scrollStyle}>\n <div className={classes.body}>\n {hasLineNumbers ? (\n <div aria-hidden=\"true\" className={classes.gutter}>\n {lines.map(line => (\n <div className={classes.gutterLine} key={line.lineNumber}>\n {line.lineNumber}\n </div>\n ))}\n </div>\n ) : null}\n <pre className={classes.pre}>\n <code\n className={classes.code}\n data-testid={\n dataTestId == null ? undefined : `${dataTestId}-code`\n }\n data-wrapped={isWrapped ? '' : undefined}\n style={codeStyle}>\n {lines.map(line => (\n <span\n className={classes.line}\n data-highlighted={\n highlightedLines?.has(line.lineNumber) ? '' : undefined\n }\n data-line={line.lineNumber}\n key={line.lineNumber}>\n {line.text.length === 0 ? '\\u200b' : line.text}\n </span>\n ))}\n </code>\n </pre>\n </div>\n </div>\n {!showHeader && copyButton != null ? (\n <div className={classes.copyButtonFloating} data-cb-copy=\"\">\n {copyButton}\n </div>\n ) : null}\n </Card>\n );\n}\n\nCodeBlock.displayName = 'CodeBlock';\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { inputStyles, inputRecipe } from './chunk-3M23WX6K.js';
|
|
2
|
-
import { getNecessity, Field } from './chunk-
|
|
2
|
+
import { getNecessity, Field } from './chunk-SEDUAMDW.js';
|
|
3
3
|
import { getStatusMessageID, getDescribedBy, getStatusIcon } from './chunk-G6HS52US.js';
|
|
4
|
-
import { Button } from './chunk-
|
|
5
|
-
import { Spinner } from './chunk-
|
|
4
|
+
import { Button } from './chunk-HMJINNXZ.js';
|
|
5
|
+
import { Spinner } from './chunk-QHXI2QDK.js';
|
|
6
6
|
import { isReactNode } from './chunk-2PSZAWLC.js';
|
|
7
7
|
import { Icon } from './chunk-IUW777WZ.js';
|
|
8
8
|
import { css } from './chunk-OD4DHHZH.js';
|
|
@@ -144,5 +144,5 @@ function TimeInput({
|
|
|
144
144
|
TimeInput.displayName = "TimeInput";
|
|
145
145
|
|
|
146
146
|
export { TimeInput };
|
|
147
|
-
//# sourceMappingURL=chunk-
|
|
148
|
-
//# sourceMappingURL=chunk-
|
|
147
|
+
//# sourceMappingURL=chunk-FQN22DO5.js.map
|
|
148
|
+
//# sourceMappingURL=chunk-FQN22DO5.js.map
|
|
@@ -1 +1 @@
|
|
|
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,EAAiC;AACxD,EAAA,IAAI,UAAU,EAAA,EAAI;AAChB,IAAA,OAAO,IAAA;AAAA,EACT;AACA,EAAA,IAAI;AACF,IAAA,OAAO,QAAA,CAAS,SAAA,CAAU,IAAA,CAAK,KAAK,CAAA;AAAA,EACtC,CAAA,CAAA,MAAQ;AACN,IAAA,OAAO,IAAA;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,IAAI,CAAA;AAAA,gBAC5B,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-XHJRAEGW.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 {Button} from 'components/Button';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputSize,\n type InputStatus,\n} from 'components/Field';\nimport {inputRecipe, inputStyles} from 'components/Field/inputStyles';\nimport {\n getDescribedBy,\n getStatusIcon,\n getStatusMessageID,\n} from 'components/Field/inputUtils';\nimport {Icon, type IconComponent} from 'components/Icon';\nimport {Spinner} from 'components/Spinner';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\nimport {css} from 'styled-system/css';\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 | null) => 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. Pass `null` for an empty input.\n */\n value: PlainTime | null;\n} & FieldNecessity;\n\nfunction toInputString(\n time: PlainTime | null | 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 | null {\n if (value === '') {\n return null;\n }\n try {\n return Temporal.PlainTime.from(value);\n } catch {\n return null;\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(null)}\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
|
+
{"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,EAAiC;AACxD,EAAA,IAAI,UAAU,EAAA,EAAI;AAChB,IAAA,OAAO,IAAA;AAAA,EACT;AACA,EAAA,IAAI;AACF,IAAA,OAAO,QAAA,CAAS,SAAA,CAAU,IAAA,CAAK,KAAK,CAAA;AAAA,EACtC,CAAA,CAAA,MAAQ;AACN,IAAA,OAAO,IAAA;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,IAAI,CAAA;AAAA,gBAC5B,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-FQN22DO5.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 {Button} from 'components/Button';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputSize,\n type InputStatus,\n} from 'components/Field';\nimport {inputRecipe, inputStyles} from 'components/Field/inputStyles';\nimport {\n getDescribedBy,\n getStatusIcon,\n getStatusMessageID,\n} from 'components/Field/inputUtils';\nimport {Icon, type IconComponent} from 'components/Icon';\nimport {Spinner} from 'components/Spinner';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\nimport {css} from 'styled-system/css';\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 | null) => 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. Pass `null` for an empty input.\n */\n value: PlainTime | null;\n} & FieldNecessity;\n\nfunction toInputString(\n time: PlainTime | null | 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 | null {\n if (value === '') {\n return null;\n }\n try {\n return Temporal.PlainTime.from(value);\n } catch {\n return null;\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(null)}\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,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var chunkRLIBY7XB_cjs = require('./chunk-RLIBY7XB.cjs');
|
|
4
|
+
var chunkSKZNSOB7_cjs = require('./chunk-SKZNSOB7.cjs');
|
|
5
5
|
var chunkVXBVSYPA_cjs = require('./chunk-VXBVSYPA.cjs');
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var
|
|
6
|
+
var chunkR3ZS6FU6_cjs = require('./chunk-R3ZS6FU6.cjs');
|
|
7
|
+
var chunkRAMDISDK_cjs = require('./chunk-RAMDISDK.cjs');
|
|
8
|
+
var chunkVXOIOPGZ_cjs = require('./chunk-VXOIOPGZ.cjs');
|
|
9
|
+
var chunkGU65FGY6_cjs = require('./chunk-GU65FGY6.cjs');
|
|
10
10
|
var chunkJ4PIYOWT_cjs = require('./chunk-J4PIYOWT.cjs');
|
|
11
11
|
var chunkZ6RT3WPE_cjs = require('./chunk-Z6RT3WPE.cjs');
|
|
12
12
|
var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
|
|
@@ -238,12 +238,12 @@ function Select({
|
|
|
238
238
|
setQuery,
|
|
239
239
|
statusMessageID,
|
|
240
240
|
triggerRef
|
|
241
|
-
} =
|
|
242
|
-
clearQueryOnCommit: true,
|
|
243
|
-
closeOnCommit: true,
|
|
241
|
+
} = chunkRLIBY7XB_cjs.useSelectListbox({
|
|
244
242
|
description,
|
|
245
243
|
isDisabled,
|
|
246
244
|
isLoading,
|
|
245
|
+
isListboxClosedOnCommit: true,
|
|
246
|
+
isQueryClearedOnCommit: true,
|
|
247
247
|
onCommitOption: commitOption,
|
|
248
248
|
options,
|
|
249
249
|
selectedValues,
|
|
@@ -298,7 +298,7 @@ function Select({
|
|
|
298
298
|
value
|
|
299
299
|
]
|
|
300
300
|
);
|
|
301
|
-
const optionNodes =
|
|
301
|
+
const optionNodes = chunkRLIBY7XB_cjs.renderSelectListboxOptions({
|
|
302
302
|
dividerClassName: menuClasses.divider ?? "",
|
|
303
303
|
inputId,
|
|
304
304
|
options,
|
|
@@ -335,7 +335,7 @@ function Select({
|
|
|
335
335
|
}
|
|
336
336
|
)
|
|
337
337
|
] });
|
|
338
|
-
const necessity =
|
|
338
|
+
const necessity = chunkR3ZS6FU6_cjs.getNecessity(isOptional, isRequired);
|
|
339
339
|
const triggerClasses = selectTriggerRecipe({
|
|
340
340
|
isDisabled: isInteractionDisabled,
|
|
341
341
|
isPlaceholder: selectedOption == null
|
|
@@ -382,9 +382,9 @@ function Select({
|
|
|
382
382
|
children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: triggerClasses.label, children: selectedOption?.label ?? placeholder })
|
|
383
383
|
}
|
|
384
384
|
),
|
|
385
|
-
isLoading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
385
|
+
isLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkGU65FGY6_cjs.Spinner, { size: "sm" }) : null,
|
|
386
386
|
hasClear && selectedOption != null && !isDisabled ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
387
|
-
|
|
387
|
+
chunkVXOIOPGZ_cjs.Button,
|
|
388
388
|
{
|
|
389
389
|
icon: lucideReact.X,
|
|
390
390
|
isIconOnly: true,
|
|
@@ -403,7 +403,7 @@ function Select({
|
|
|
403
403
|
)
|
|
404
404
|
);
|
|
405
405
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
406
|
-
|
|
406
|
+
chunkR3ZS6FU6_cjs.Field,
|
|
407
407
|
{
|
|
408
408
|
className,
|
|
409
409
|
description,
|
|
@@ -420,7 +420,7 @@ function Select({
|
|
|
420
420
|
children: [
|
|
421
421
|
trigger,
|
|
422
422
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
423
|
-
|
|
423
|
+
chunkRAMDISDK_cjs.Popover,
|
|
424
424
|
{
|
|
425
425
|
anchorRef: triggerRef,
|
|
426
426
|
content: menu,
|
|
@@ -448,7 +448,7 @@ function SelectOption({
|
|
|
448
448
|
}) {
|
|
449
449
|
const classes = selectOptionItemRecipe();
|
|
450
450
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
451
|
-
|
|
451
|
+
chunkSKZNSOB7_cjs.Item,
|
|
452
452
|
{
|
|
453
453
|
as: "span",
|
|
454
454
|
className: chunkSPDVNY2Z_cjs.cx(classes.root, className),
|
|
@@ -466,5 +466,5 @@ SelectOption.displayName = "SelectOption";
|
|
|
466
466
|
|
|
467
467
|
exports.Select = Select;
|
|
468
468
|
exports.SelectOption = SelectOption;
|
|
469
|
-
//# sourceMappingURL=chunk-
|
|
470
|
-
//# sourceMappingURL=chunk-
|
|
469
|
+
//# sourceMappingURL=chunk-FWBYCTUB.cjs.map
|
|
470
|
+
//# sourceMappingURL=chunk-FWBYCTUB.cjs.map
|