silver-ui 0.3.0 → 0.4.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 -1
- package/dist/chunk-2A3V6OR7.cjs +112 -0
- package/dist/chunk-2A3V6OR7.cjs.map +1 -0
- package/dist/{chunk-HLN3JQYD.js → chunk-2LABTS4P.js} +18 -58
- package/dist/chunk-2LABTS4P.js.map +1 -0
- package/dist/{chunk-GI5MVVIX.js → chunk-2N6FOSNM.js} +15 -14
- package/dist/chunk-2N6FOSNM.js.map +1 -0
- package/dist/chunk-2PSZAWLC.js +8 -0
- package/dist/chunk-2PSZAWLC.js.map +1 -0
- package/dist/{chunk-YGYA4BYN.js → chunk-2RKMG2TC.js} +19 -18
- package/dist/chunk-2RKMG2TC.js.map +1 -0
- package/dist/{chunk-5MDH6QZE.js → chunk-2XAA3CM5.js} +7 -10
- package/dist/chunk-2XAA3CM5.js.map +1 -0
- package/dist/{chunk-EMHLPPQZ.js → chunk-3CJC4QE6.js} +4 -4
- package/dist/chunk-3CJC4QE6.js.map +1 -0
- package/dist/{chunk-P3SMNZCT.js → chunk-3JPUXC5U.js} +3 -3
- package/dist/{chunk-P3SMNZCT.js.map → chunk-3JPUXC5U.js.map} +1 -1
- package/dist/{chunk-OJCJPYXE.js → chunk-3OIUA2NY.js} +9 -8
- package/dist/chunk-3OIUA2NY.js.map +1 -0
- package/dist/chunk-3ZV3EGGK.cjs +470 -0
- package/dist/chunk-3ZV3EGGK.cjs.map +1 -0
- package/dist/{chunk-BERQEJYB.js → chunk-4H7X5FGX.js} +7 -6
- package/dist/chunk-4H7X5FGX.js.map +1 -0
- package/dist/{chunk-EUN5TCB2.js → chunk-52WQDDWQ.js} +18 -20
- package/dist/chunk-52WQDDWQ.js.map +1 -0
- package/dist/{chunk-UMGW7WJI.cjs → chunk-5D2OR64D.cjs} +11 -9
- package/dist/chunk-5D2OR64D.cjs.map +1 -0
- package/dist/{chunk-YAIEA2YE.cjs → chunk-5PX76QOL.cjs} +3 -3
- package/dist/{chunk-YAIEA2YE.cjs.map → chunk-5PX76QOL.cjs.map} +1 -1
- package/dist/{chunk-HM7IEGQ2.cjs → chunk-5YS43PSQ.cjs} +7 -7
- package/dist/chunk-5YS43PSQ.cjs.map +1 -0
- package/dist/{chunk-AH4AMQEO.js → chunk-6ONAGCCZ.js} +262 -208
- package/dist/chunk-6ONAGCCZ.js.map +1 -0
- package/dist/{chunk-S54CKWKV.js → chunk-6ULCJ3XZ.js} +4 -4
- package/dist/{chunk-S54CKWKV.js.map → chunk-6ULCJ3XZ.js.map} +1 -1
- package/dist/{chunk-6XESVFC3.js → chunk-6XWXBXYE.js} +90 -75
- package/dist/chunk-6XWXBXYE.js.map +1 -0
- package/dist/{chunk-EXYBQVZT.js → chunk-7BSFKG7N.js} +3 -3
- package/dist/{chunk-EXYBQVZT.js.map → chunk-7BSFKG7N.js.map} +1 -1
- package/dist/{chunk-7GN6YTSS.cjs → chunk-7CCXHH6Y.cjs} +7 -7
- package/dist/chunk-7CCXHH6Y.cjs.map +1 -0
- package/dist/{chunk-3PDUOYAT.cjs → chunk-7U7JMRVF.cjs} +28 -30
- package/dist/chunk-7U7JMRVF.cjs.map +1 -0
- package/dist/chunk-AFI4V7LI.js +393 -0
- package/dist/chunk-AFI4V7LI.js.map +1 -0
- package/dist/{chunk-DSNJDFO3.cjs → chunk-AHVHLNHU.cjs} +18 -17
- package/dist/chunk-AHVHLNHU.cjs.map +1 -0
- package/dist/{chunk-35MFOORC.js → chunk-AJ6X62AI.js} +5 -5
- package/dist/{chunk-35MFOORC.js.map → chunk-AJ6X62AI.js.map} +1 -1
- package/dist/{chunk-OMHOVHPX.js → chunk-AP7BDTTF.js} +4 -4
- package/dist/{chunk-OMHOVHPX.js.map → chunk-AP7BDTTF.js.map} +1 -1
- package/dist/{chunk-4T62TLOD.cjs → chunk-AWDIKDX5.cjs} +10 -10
- package/dist/{chunk-4T62TLOD.cjs.map → chunk-AWDIKDX5.cjs.map} +1 -1
- package/dist/chunk-BCCPNGUV.js +162 -0
- package/dist/chunk-BCCPNGUV.js.map +1 -0
- package/dist/{chunk-PTJ5YZFY.cjs → chunk-BLRWA445.cjs} +242 -182
- package/dist/chunk-BLRWA445.cjs.map +1 -0
- package/dist/{chunk-67VLK263.js → chunk-BSAZRW6T.js} +13 -10
- package/dist/chunk-BSAZRW6T.js.map +1 -0
- package/dist/{chunk-I2X2Z7FA.cjs → chunk-BUESV4DR.cjs} +9 -9
- package/dist/{chunk-I2X2Z7FA.cjs.map → chunk-BUESV4DR.cjs.map} +1 -1
- package/dist/{chunk-UJODHP7E.cjs → chunk-BULJWVPU.cjs} +18 -17
- package/dist/chunk-BULJWVPU.cjs.map +1 -0
- package/dist/{chunk-PNYF6NS4.cjs → chunk-C6EYCIKJ.cjs} +9 -8
- package/dist/chunk-C6EYCIKJ.cjs.map +1 -0
- package/dist/{chunk-ZTQQ2O6O.cjs → chunk-C732WXKS.cjs} +36 -34
- package/dist/chunk-C732WXKS.cjs.map +1 -0
- package/dist/{chunk-GTPRZCNZ.js → chunk-CGYZ6QWY.js} +4 -4
- package/dist/{chunk-GTPRZCNZ.js.map → chunk-CGYZ6QWY.js.map} +1 -1
- package/dist/{chunk-X5ZQRMEM.cjs → chunk-CKTXDIH4.cjs} +39 -40
- package/dist/chunk-CKTXDIH4.cjs.map +1 -0
- package/dist/{chunk-PYW5UO2Z.js → chunk-D3LZQ5QS.js} +4 -4
- package/dist/chunk-D3LZQ5QS.js.map +1 -0
- package/dist/{chunk-WNGBWUWZ.cjs → chunk-DIRVAHOF.cjs} +6 -6
- package/dist/{chunk-WNGBWUWZ.cjs.map → chunk-DIRVAHOF.cjs.map} +1 -1
- package/dist/{chunk-K77D7H4V.cjs → chunk-DP7VC4FW.cjs} +7 -6
- package/dist/chunk-DP7VC4FW.cjs.map +1 -0
- package/dist/{chunk-4I6VIR44.cjs → chunk-DVGLYE3G.cjs} +16 -15
- package/dist/chunk-DVGLYE3G.cjs.map +1 -0
- package/dist/{chunk-ISYUZ5FS.js → chunk-DWUEPOYH.js} +31 -29
- package/dist/chunk-DWUEPOYH.js.map +1 -0
- package/dist/chunk-DXPQRAGI.js +110 -0
- package/dist/chunk-DXPQRAGI.js.map +1 -0
- package/dist/{chunk-P4A7GWQY.cjs → chunk-E2A3GJSN.cjs} +9 -8
- package/dist/chunk-E2A3GJSN.cjs.map +1 -0
- package/dist/{chunk-32G54PL3.cjs → chunk-EALKX3ST.cjs} +9 -8
- package/dist/chunk-EALKX3ST.cjs.map +1 -0
- package/dist/{chunk-ZW2ATXTL.js → chunk-EBDODJ5X.js} +8 -7
- package/dist/chunk-EBDODJ5X.js.map +1 -0
- package/dist/chunk-FB245S6T.cjs +395 -0
- package/dist/chunk-FB245S6T.cjs.map +1 -0
- package/dist/{chunk-RNB4BDEG.js → chunk-FDUO2HVX.js} +3 -3
- package/dist/{chunk-RNB4BDEG.js.map → chunk-FDUO2HVX.js.map} +1 -1
- package/dist/{chunk-JAHKLROD.cjs → chunk-FDZQPWFZ.cjs} +13 -12
- package/dist/chunk-FDZQPWFZ.cjs.map +1 -0
- package/dist/{chunk-KIGRE6NA.js → chunk-FMLIYHDP.js} +5 -5
- package/dist/{chunk-KIGRE6NA.js.map → chunk-FMLIYHDP.js.map} +1 -1
- package/dist/{chunk-4YQSKCVF.cjs → chunk-FNOUX5T2.cjs} +5 -5
- package/dist/{chunk-4YQSKCVF.cjs.map → chunk-FNOUX5T2.cjs.map} +1 -1
- package/dist/{chunk-LFRTNC7M.cjs → chunk-FNZOICR4.cjs} +7 -7
- package/dist/{chunk-LFRTNC7M.cjs.map → chunk-FNZOICR4.cjs.map} +1 -1
- package/dist/{chunk-4M2KCZMO.js → chunk-FP5E5BUM.js} +5 -4
- package/dist/chunk-FP5E5BUM.js.map +1 -0
- package/dist/{chunk-VSEKSDTK.js → chunk-G2U2W422.js} +8 -7
- package/dist/chunk-G2U2W422.js.map +1 -0
- package/dist/{chunk-MAL4D4LR.cjs → chunk-G2WW52GO.cjs} +14 -13
- package/dist/chunk-G2WW52GO.cjs.map +1 -0
- package/dist/{chunk-FQSOUCZS.cjs → chunk-G3KKLGZU.cjs} +9 -9
- package/dist/{chunk-FQSOUCZS.cjs.map → chunk-G3KKLGZU.cjs.map} +1 -1
- package/dist/{chunk-IKF6VHA4.cjs → chunk-GC5VUTUR.cjs} +4 -4
- package/dist/{chunk-IKF6VHA4.cjs.map → chunk-GC5VUTUR.cjs.map} +1 -1
- package/dist/{chunk-ITDQSF2O.cjs → chunk-GL7PSN7H.cjs} +17 -16
- package/dist/chunk-GL7PSN7H.cjs.map +1 -0
- package/dist/{chunk-WMXIUOOU.cjs → chunk-GYVWTH3U.cjs} +3 -3
- package/dist/{chunk-WMXIUOOU.cjs.map → chunk-GYVWTH3U.cjs.map} +1 -1
- package/dist/{chunk-ACQMLJ4I.cjs → chunk-H2CZ6IE5.cjs} +42 -39
- package/dist/chunk-H2CZ6IE5.cjs.map +1 -0
- package/dist/{chunk-CZNN2GOC.js → chunk-H7HQYBPH.js} +25 -26
- package/dist/chunk-H7HQYBPH.js.map +1 -0
- package/dist/{chunk-ZNUOFLCQ.js → chunk-HINS4GY6.js} +3 -3
- package/dist/chunk-HINS4GY6.js.map +1 -0
- package/dist/{chunk-PXTE3XRD.js → chunk-HNZWPIJE.js} +74 -68
- package/dist/chunk-HNZWPIJE.js.map +1 -0
- package/dist/{chunk-Y5SXQR52.cjs → chunk-IA5GII7N.cjs} +33 -22
- package/dist/chunk-IA5GII7N.cjs.map +1 -0
- package/dist/{chunk-EHCAF6D3.js → chunk-IAVZKGZS.js} +14 -3
- package/dist/chunk-IAVZKGZS.js.map +1 -0
- package/dist/{chunk-XM3AZXOA.js → chunk-ILEKDNP7.js} +6 -6
- package/dist/{chunk-XM3AZXOA.js.map → chunk-ILEKDNP7.js.map} +1 -1
- package/dist/{chunk-XSQOHNIF.js → chunk-J3DNWPXJ.js} +3 -3
- package/dist/{chunk-XSQOHNIF.js.map → chunk-J3DNWPXJ.js.map} +1 -1
- package/dist/{chunk-25FU5AVR.cjs → chunk-J4OEETYQ.cjs} +14 -13
- package/dist/chunk-J4OEETYQ.cjs.map +1 -0
- package/dist/{chunk-4Z62KDKI.js → chunk-J5IRFGUP.js} +25 -14
- package/dist/chunk-J5IRFGUP.js.map +1 -0
- package/dist/{chunk-2YC7SMVF.js → chunk-JDAJ2HJQ.js} +7 -6
- package/dist/chunk-JDAJ2HJQ.js.map +1 -0
- package/dist/{chunk-AGJ5SZCM.js → chunk-JIVYPJKO.js} +6 -6
- package/dist/{chunk-AGJ5SZCM.js.map → chunk-JIVYPJKO.js.map} +1 -1
- package/dist/{chunk-U2WVHZ24.cjs → chunk-JJ324PSZ.cjs} +6 -6
- package/dist/chunk-JJ324PSZ.cjs.map +1 -0
- package/dist/{chunk-WWB4NSEY.cjs → chunk-JSINCF2R.cjs} +10 -10
- package/dist/{chunk-WWB4NSEY.cjs.map → chunk-JSINCF2R.cjs.map} +1 -1
- package/dist/{chunk-BJD32VBQ.cjs → chunk-JTFNNEWR.cjs} +90 -75
- package/dist/chunk-JTFNNEWR.cjs.map +1 -0
- package/dist/{chunk-YAYINZT2.cjs → chunk-JYVYCU22.cjs} +3 -3
- package/dist/{chunk-YAYINZT2.cjs.map → chunk-JYVYCU22.cjs.map} +1 -1
- package/dist/chunk-K3XHXWBW.js +242 -0
- package/dist/chunk-K3XHXWBW.js.map +1 -0
- package/dist/{chunk-TRK2ZZFB.cjs → chunk-K4ZJNQTX.cjs} +6 -5
- package/dist/chunk-K4ZJNQTX.cjs.map +1 -0
- package/dist/{chunk-WA4VZ363.cjs → chunk-KDR5DCYL.cjs} +13 -12
- package/dist/chunk-KDR5DCYL.cjs.map +1 -0
- package/dist/{chunk-2D6SGEPH.cjs → chunk-KXIILLQD.cjs} +16 -11
- package/dist/chunk-KXIILLQD.cjs.map +1 -0
- package/dist/{chunk-ZNZ67KFM.js → chunk-L6VSBBPP.js} +9 -8
- package/dist/chunk-L6VSBBPP.js.map +1 -0
- package/dist/{chunk-YJJOKZN2.js → chunk-LNT2IFOA.js} +4 -4
- package/dist/{chunk-YJJOKZN2.js.map → chunk-LNT2IFOA.js.map} +1 -1
- package/dist/{chunk-IXJOPMJX.cjs → chunk-LO5NZY7N.cjs} +7 -6
- package/dist/chunk-LO5NZY7N.cjs.map +1 -0
- package/dist/{chunk-AADUJ6CN.js → chunk-LQIZSE3O.js} +212 -183
- package/dist/chunk-LQIZSE3O.js.map +1 -0
- package/dist/{chunk-OJKZS6HG.cjs → chunk-LUQVSNQL.cjs} +265 -211
- package/dist/chunk-LUQVSNQL.cjs.map +1 -0
- package/dist/{chunk-BYBVI7UN.js → chunk-LY6Z6A54.js} +10 -9
- package/dist/chunk-LY6Z6A54.js.map +1 -0
- package/dist/{chunk-JMNH45Q3.cjs → chunk-M26XECB2.cjs} +91 -97
- package/dist/chunk-M26XECB2.cjs.map +1 -0
- package/dist/chunk-M2MC3E27.cjs +220 -0
- package/dist/chunk-M2MC3E27.cjs.map +1 -0
- package/dist/chunk-MAYQGKKW.cjs +193 -0
- package/dist/chunk-MAYQGKKW.cjs.map +1 -0
- package/dist/{chunk-2IKWX66Q.js → chunk-MI5QU37D.js} +5 -5
- package/dist/{chunk-2IKWX66Q.js.map → chunk-MI5QU37D.js.map} +1 -1
- package/dist/{chunk-XVRQSTUF.js → chunk-N2TNBDQI.js} +4 -3
- package/dist/chunk-N2TNBDQI.js.map +1 -0
- package/dist/{chunk-H2SGYAUO.js → chunk-NFABMGNH.js} +56 -46
- package/dist/chunk-NFABMGNH.js.map +1 -0
- package/dist/{chunk-76FHSISK.cjs → chunk-NHXJVSZZ.cjs} +7 -10
- package/dist/chunk-NHXJVSZZ.cjs.map +1 -0
- package/dist/chunk-NI55JEYL.js +213 -0
- package/dist/chunk-NI55JEYL.js.map +1 -0
- package/dist/{chunk-BDPE6ZKX.cjs → chunk-O2WICOUK.cjs} +5 -5
- package/dist/{chunk-BDPE6ZKX.cjs.map → chunk-O2WICOUK.cjs.map} +1 -1
- package/dist/{chunk-ATDW2VII.cjs → chunk-OBWWRRL6.cjs} +66 -51
- package/dist/chunk-OBWWRRL6.cjs.map +1 -0
- package/dist/{chunk-3DW2N6UN.js → chunk-PIOMR4X2.js} +5 -5
- package/dist/{chunk-3DW2N6UN.js.map → chunk-PIOMR4X2.js.map} +1 -1
- package/dist/{chunk-7P3VY5JZ.js → chunk-PIZMCOKL.js} +9 -8
- package/dist/chunk-PIZMCOKL.js.map +1 -0
- package/dist/{chunk-W3QVSVL7.cjs → chunk-PQEFVHJZ.cjs} +12 -11
- package/dist/chunk-PQEFVHJZ.cjs.map +1 -0
- package/dist/chunk-QAO6QMNQ.cjs +10 -0
- package/dist/chunk-QAO6QMNQ.cjs.map +1 -0
- package/dist/{chunk-CFOGSQCG.cjs → chunk-QATCDVZ6.cjs} +14 -13
- package/dist/chunk-QATCDVZ6.cjs.map +1 -0
- package/dist/{chunk-YBPG5RPR.cjs → chunk-QOKEU3DC.cjs} +22 -62
- package/dist/chunk-QOKEU3DC.cjs.map +1 -0
- package/dist/{chunk-J2FCNWYM.js → chunk-QRFDPG34.js} +85 -91
- package/dist/chunk-QRFDPG34.js.map +1 -0
- package/dist/{chunk-UYXQBM2B.cjs → chunk-QVNDZZS6.cjs} +10 -10
- package/dist/{chunk-UYXQBM2B.cjs.map → chunk-QVNDZZS6.cjs.map} +1 -1
- package/dist/{chunk-AMG3S252.js → chunk-QY6OMQW6.js} +11 -10
- package/dist/chunk-QY6OMQW6.js.map +1 -0
- package/dist/{chunk-XIFLSMGW.js → chunk-R6CMJMIJ.js} +3 -3
- package/dist/{chunk-XIFLSMGW.js.map → chunk-R6CMJMIJ.js.map} +1 -1
- package/dist/{chunk-K6CQ45C2.js → chunk-RLOGQBFD.js} +10 -9
- package/dist/chunk-RLOGQBFD.js.map +1 -0
- package/dist/{chunk-5Q5TJUHI.js → chunk-S7INL5NI.js} +12 -7
- package/dist/chunk-S7INL5NI.js.map +1 -0
- package/dist/{chunk-VYFMYXU4.js → chunk-SBOXHIES.js} +234 -174
- package/dist/chunk-SBOXHIES.js.map +1 -0
- package/dist/{chunk-YXYD5HKL.cjs → chunk-SBS7U7CN.cjs} +6 -6
- package/dist/{chunk-YXYD5HKL.cjs.map → chunk-SBS7U7CN.cjs.map} +1 -1
- package/dist/chunk-SCGXGVNN.cjs +244 -0
- package/dist/chunk-SCGXGVNN.cjs.map +1 -0
- package/dist/{chunk-XQU4ECJY.js → chunk-SOCSUNIM.js} +19 -18
- package/dist/chunk-SOCSUNIM.js.map +1 -0
- package/dist/chunk-SR5VVJ5Y.cjs +164 -0
- package/dist/chunk-SR5VVJ5Y.cjs.map +1 -0
- package/dist/{chunk-SEAVOF6B.js → chunk-SSAYBCAD.js} +9 -7
- package/dist/chunk-SSAYBCAD.js.map +1 -0
- package/dist/{chunk-L6JT244G.cjs → chunk-SSOAZZNR.cjs} +4 -3
- package/dist/chunk-SSOAZZNR.cjs.map +1 -0
- package/dist/{chunk-24J3BUKL.js → chunk-SUH62Z64.js} +3 -3
- package/dist/{chunk-24J3BUKL.js.map → chunk-SUH62Z64.js.map} +1 -1
- package/dist/{chunk-3WMLV4VP.cjs → chunk-TBOQTPRO.cjs} +9 -9
- package/dist/chunk-TBOQTPRO.cjs.map +1 -0
- package/dist/chunk-TCTPR7YQ.js +191 -0
- package/dist/chunk-TCTPR7YQ.js.map +1 -0
- package/dist/{chunk-SFT5LCQP.cjs → chunk-TF7XVTSP.cjs} +61 -51
- package/dist/chunk-TF7XVTSP.cjs.map +1 -0
- package/dist/{chunk-PXVVTPRJ.js → chunk-TKTLWX2V.js} +11 -10
- package/dist/chunk-TKTLWX2V.js.map +1 -0
- package/dist/{chunk-ZXPKFGRB.cjs → chunk-TPB53MHV.cjs} +82 -76
- package/dist/chunk-TPB53MHV.cjs.map +1 -0
- package/dist/chunk-TQA3BI7M.cjs +216 -0
- package/dist/chunk-TQA3BI7M.cjs.map +1 -0
- package/dist/{chunk-MACIT6C6.js → chunk-U6NH54YD.js} +7 -6
- package/dist/chunk-U6NH54YD.js.map +1 -0
- package/dist/{chunk-NUTB2K4G.js → chunk-U7ALNPFJ.js} +3 -3
- package/dist/{chunk-NUTB2K4G.js.map → chunk-U7ALNPFJ.js.map} +1 -1
- package/dist/{chunk-S4GLMGFI.js → chunk-UKW2C5RN.js} +6 -5
- package/dist/chunk-UKW2C5RN.js.map +1 -0
- package/dist/chunk-UUVLEOSD.js +216 -0
- package/dist/chunk-UUVLEOSD.js.map +1 -0
- package/dist/{chunk-BA2VUDQS.js → chunk-VFGSNR35.js} +4 -4
- package/dist/{chunk-BA2VUDQS.js.map → chunk-VFGSNR35.js.map} +1 -1
- package/dist/{chunk-6ADWXOZ2.cjs → chunk-VGHNBMEJ.cjs} +6 -6
- package/dist/{chunk-6ADWXOZ2.cjs.map → chunk-VGHNBMEJ.cjs.map} +1 -1
- package/dist/{chunk-UR7RYJOU.cjs → chunk-VHKA25IV.cjs} +20 -17
- package/dist/chunk-VHKA25IV.cjs.map +1 -0
- package/dist/{chunk-E7UOFIBW.cjs → chunk-VK4O6W2K.cjs} +8 -7
- package/dist/chunk-VK4O6W2K.cjs.map +1 -0
- package/dist/{chunk-2VOB6LEI.js → chunk-VQ7U3ASC.js} +4 -4
- package/dist/{chunk-2VOB6LEI.js.map → chunk-VQ7U3ASC.js.map} +1 -1
- package/dist/{chunk-E4KM3RQ2.js → chunk-VUCMGGU5.js} +32 -17
- package/dist/chunk-VUCMGGU5.js.map +1 -0
- package/dist/{chunk-UY3MYNI6.js → chunk-W2Q4PQ6I.js} +6 -5
- package/dist/chunk-W2Q4PQ6I.js.map +1 -0
- package/dist/{chunk-RKMW3ZOK.js → chunk-W3C6QQF7.js} +5 -5
- package/dist/{chunk-RKMW3ZOK.js.map → chunk-W3C6QQF7.js.map} +1 -1
- package/dist/{chunk-GEGYC7CE.js → chunk-WBGFFP3G.js} +7 -7
- package/dist/chunk-WBGFFP3G.js.map +1 -0
- package/dist/{chunk-5BLNJVIA.js → chunk-WBQNPBXR.js} +10 -9
- package/dist/chunk-WBQNPBXR.js.map +1 -0
- package/dist/{chunk-ZH3GKYUZ.js → chunk-WY5BOT7O.js} +4 -4
- package/dist/{chunk-ZH3GKYUZ.js.map → chunk-WY5BOT7O.js.map} +1 -1
- package/dist/{chunk-PLXUM7U6.cjs → chunk-X574M2JB.cjs} +13 -13
- package/dist/{chunk-PLXUM7U6.cjs.map → chunk-X574M2JB.cjs.map} +1 -1
- package/dist/{chunk-ZNPTARIS.cjs → chunk-XLKXFJMU.cjs} +8 -8
- package/dist/{chunk-ZNPTARIS.cjs.map → chunk-XLKXFJMU.cjs.map} +1 -1
- package/dist/{chunk-W5G7ZDQ6.cjs → chunk-XLNRO3S6.cjs} +4 -4
- package/dist/{chunk-W5G7ZDQ6.cjs.map → chunk-XLNRO3S6.cjs.map} +1 -1
- package/dist/{chunk-A66NIFJE.cjs → chunk-XXBA3KSH.cjs} +5 -5
- package/dist/{chunk-A66NIFJE.cjs.map → chunk-XXBA3KSH.cjs.map} +1 -1
- package/dist/{chunk-PXIWITSS.js → chunk-YAWVGZRC.js} +6 -6
- package/dist/{chunk-PXIWITSS.js.map → chunk-YAWVGZRC.js.map} +1 -1
- package/dist/{chunk-BFWKL5MJ.cjs → chunk-YHBYVERE.cjs} +29 -28
- package/dist/chunk-YHBYVERE.cjs.map +1 -0
- package/dist/{chunk-CPOYENSZ.cjs → chunk-YO3MBGBP.cjs} +4 -4
- package/dist/{chunk-CPOYENSZ.cjs.map → chunk-YO3MBGBP.cjs.map} +1 -1
- package/dist/{chunk-MQQ4GSUG.cjs → chunk-YVHWOKR7.cjs} +33 -32
- package/dist/chunk-YVHWOKR7.cjs.map +1 -0
- package/dist/{chunk-C264Z2GQ.cjs → chunk-YWGYN6YV.cjs} +11 -10
- package/dist/chunk-YWGYN6YV.cjs.map +1 -0
- package/dist/{chunk-KFEXS6OK.cjs → chunk-YY6KJO5Z.cjs} +15 -14
- package/dist/chunk-YY6KJO5Z.cjs.map +1 -0
- package/dist/{chunk-IG4UJZ6B.js → chunk-YYNWZRXZ.js} +24 -21
- package/dist/chunk-YYNWZRXZ.js.map +1 -0
- package/dist/{chunk-5QPM5LUS.cjs → chunk-Z6RT3WPE.cjs} +15 -4
- package/dist/chunk-Z6RT3WPE.cjs.map +1 -0
- package/dist/{chunk-7FY26X2V.js → chunk-ZAX2UJBC.js} +8 -7
- package/dist/chunk-ZAX2UJBC.js.map +1 -0
- package/dist/{chunk-WATCCAQU.js → chunk-ZEA2VYX4.js} +5 -4
- package/dist/chunk-ZEA2VYX4.js.map +1 -0
- package/dist/{chunk-AXT4VA5N.cjs → chunk-ZFBQ4R7M.cjs} +11 -10
- package/dist/chunk-ZFBQ4R7M.cjs.map +1 -0
- package/dist/{chunk-AX6HC2YY.cjs → chunk-ZN7CULIL.cjs} +3 -3
- package/dist/{chunk-AX6HC2YY.cjs.map → chunk-ZN7CULIL.cjs.map} +1 -1
- package/dist/{chunk-OHKL4DOV.js → chunk-ZQUPAIBS.js} +8 -7
- package/dist/chunk-ZQUPAIBS.js.map +1 -0
- package/dist/{chunk-JVLE7PCJ.cjs → chunk-ZTWBG2XY.cjs} +8 -8
- package/dist/{chunk-JVLE7PCJ.cjs.map → chunk-ZTWBG2XY.cjs.map} +1 -1
- package/dist/components/Accordion/AccordionItem.recipe.d.ts +1 -1
- package/dist/components/Accordion/index.cjs +6 -7
- package/dist/components/Accordion/index.js +3 -4
- package/dist/components/Alert/Alert.d.ts.map +1 -1
- package/dist/components/Alert/Alert.recipe.d.ts +1 -1
- package/dist/components/Alert/index.cjs +13 -13
- package/dist/components/Alert/index.js +12 -12
- package/dist/components/AlertDialog/index.cjs +16 -16
- package/dist/components/AlertDialog/index.js +14 -14
- package/dist/components/AppShell/AppShell.d.ts.map +1 -1
- package/dist/components/AppShell/index.cjs +21 -21
- package/dist/components/AppShell/index.js +18 -18
- package/dist/components/AspectRatio/index.cjs +3 -3
- package/dist/components/AspectRatio/index.js +2 -2
- package/dist/components/AutocompleteInput/AutocompleteInput.d.ts +9 -2
- package/dist/components/AutocompleteInput/AutocompleteInput.d.ts.map +1 -1
- package/dist/components/AutocompleteInput/AutocompleteInput.recipe.d.ts +42 -0
- package/dist/components/AutocompleteInput/AutocompleteInput.recipe.d.ts.map +1 -0
- package/dist/components/AutocompleteInput/AutocompleteInputItem.d.ts +27 -4
- package/dist/components/AutocompleteInput/AutocompleteInputItem.d.ts.map +1 -1
- package/dist/components/AutocompleteInput/BaseAutocompleteInput.d.ts +25 -3
- package/dist/components/AutocompleteInput/BaseAutocompleteInput.d.ts.map +1 -1
- package/dist/components/AutocompleteInput/index.cjs +21 -21
- package/dist/components/AutocompleteInput/index.d.ts +1 -1
- package/dist/components/AutocompleteInput/index.d.ts.map +1 -1
- package/dist/components/AutocompleteInput/index.js +16 -16
- package/dist/components/AutocompleteInput/types.d.ts +42 -6
- package/dist/components/AutocompleteInput/types.d.ts.map +1 -1
- package/dist/components/Avatar/Avatar.d.ts.map +1 -1
- package/dist/components/Avatar/AvatarStatusDot.d.ts.map +1 -1
- package/dist/components/Avatar/index.cjs +7 -7
- package/dist/components/Avatar/index.js +4 -4
- package/dist/components/AvatarGroup/index.cjs +7 -7
- package/dist/components/AvatarGroup/index.js +5 -5
- package/dist/components/Badge/index.cjs +1 -1
- package/dist/components/Badge/index.js +1 -1
- package/dist/components/Blockquote/Blockquote.d.ts.map +1 -1
- package/dist/components/Blockquote/index.cjs +5 -5
- package/dist/components/Blockquote/index.js +4 -4
- package/dist/components/Breadcrumbs/BreadcrumbItem.d.ts.map +1 -1
- package/dist/components/Breadcrumbs/BreadcrumbItem.recipe.d.ts +22 -0
- package/dist/components/Breadcrumbs/BreadcrumbItem.recipe.d.ts.map +1 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.recipe.d.ts +4 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.recipe.d.ts.map +1 -0
- package/dist/components/Breadcrumbs/index.cjs +11 -10
- package/dist/components/Breadcrumbs/index.js +8 -7
- package/dist/components/Button/Button.d.ts.map +1 -1
- package/dist/components/Button/Button.recipe.d.ts +80 -62
- package/dist/components/Button/Button.recipe.d.ts.map +1 -1
- package/dist/components/Button/index.cjs +12 -12
- package/dist/components/Button/index.js +11 -11
- package/dist/components/ButtonGroup/index.cjs +1 -1
- package/dist/components/ButtonGroup/index.js +1 -1
- package/dist/components/Calendar/Calendar.d.ts.map +1 -1
- package/dist/components/Calendar/Calendar.recipe.d.ts +86 -0
- package/dist/components/Calendar/Calendar.recipe.d.ts.map +1 -0
- package/dist/components/Calendar/index.cjs +13 -13
- package/dist/components/Calendar/index.js +12 -12
- package/dist/components/Card/index.cjs +1 -1
- package/dist/components/Card/index.js +1 -1
- package/dist/components/Center/index.cjs +1 -1
- package/dist/components/Center/index.js +1 -1
- package/dist/components/CheckboxInput/CheckboxInput.d.ts.map +1 -1
- package/dist/components/CheckboxInput/CheckboxInput.recipe.d.ts +39 -0
- package/dist/components/CheckboxInput/CheckboxInput.recipe.d.ts.map +1 -0
- package/dist/components/CheckboxInput/index.cjs +13 -13
- package/dist/components/CheckboxInput/index.js +12 -12
- package/dist/components/CodeBlock/index.cjs +14 -14
- package/dist/components/CodeBlock/index.js +13 -13
- package/dist/components/ContextMenu/index.cjs +18 -18
- package/dist/components/ContextMenu/index.js +16 -16
- package/dist/components/DateInput/DateInput.d.ts +5 -1
- package/dist/components/DateInput/DateInput.d.ts.map +1 -1
- package/dist/components/DateInput/index.cjs +17 -17
- package/dist/components/DateInput/index.js +16 -16
- package/dist/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
- package/dist/components/DateRangeInput/index.cjs +17 -17
- package/dist/components/DateRangeInput/index.js +16 -16
- package/dist/components/DateTimeInput/DateTimeInput.d.ts.map +1 -1
- package/dist/components/DateTimeInput/index.cjs +19 -19
- package/dist/components/DateTimeInput/index.js +18 -18
- package/dist/components/Dialog/index.cjs +5 -6
- package/dist/components/Dialog/index.js +3 -4
- package/dist/components/Divider/Divider.d.ts.map +1 -1
- package/dist/components/Divider/index.cjs +5 -5
- package/dist/components/Divider/index.js +4 -4
- package/dist/components/Drawer/index.cjs +4 -4
- package/dist/components/Drawer/index.js +2 -2
- package/dist/components/DropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenuItem.recipe.d.ts +36 -0
- package/dist/components/DropdownMenu/DropdownMenuItem.recipe.d.ts.map +1 -0
- package/dist/components/DropdownMenu/index.cjs +19 -19
- package/dist/components/DropdownMenu/index.js +15 -15
- package/dist/components/EmptyState/EmptyState.d.ts.map +1 -1
- package/dist/components/EmptyState/EmptyState.recipe.d.ts +13 -4
- package/dist/components/EmptyState/EmptyState.recipe.d.ts.map +1 -1
- package/dist/components/EmptyState/index.cjs +8 -7
- package/dist/components/EmptyState/index.js +7 -6
- package/dist/components/Field/Field.d.ts.map +1 -1
- package/dist/components/Field/index.cjs +11 -11
- package/dist/components/Field/index.js +9 -9
- package/dist/components/FileInput/FileInput.d.ts.map +1 -1
- package/dist/components/FileInput/index.cjs +15 -15
- package/dist/components/FileInput/index.js +14 -14
- package/dist/components/HoverCard/index.cjs +5 -5
- package/dist/components/HoverCard/index.js +3 -3
- package/dist/components/HoverCard/useHoverCard.d.ts.map +1 -1
- package/dist/components/Icon/index.cjs +1 -1
- package/dist/components/Icon/index.js +1 -1
- package/dist/components/InputGroup/InputGroup.d.ts.map +1 -1
- package/dist/components/InputGroup/index.cjs +14 -14
- package/dist/components/InputGroup/index.js +10 -10
- package/dist/components/Item/Item.d.ts.map +1 -1
- package/dist/components/Item/index.cjs +9 -9
- package/dist/components/Item/index.js +8 -8
- package/dist/components/Kbd/index.cjs +4 -5
- package/dist/components/Kbd/index.js +3 -4
- package/dist/components/Layout/Layout.d.ts.map +1 -1
- package/dist/components/Layout/LayoutFooter.d.ts.map +1 -1
- package/dist/components/Layout/LayoutHeader.d.ts.map +1 -1
- package/dist/components/Layout/index.cjs +17 -17
- package/dist/components/Layout/index.js +12 -12
- package/dist/components/Lightbox/Lightbox.d.ts.map +1 -1
- package/dist/components/Lightbox/index.cjs +14 -14
- package/dist/components/Lightbox/index.js +12 -12
- package/dist/components/Link/index.cjs +9 -9
- package/dist/components/Link/index.js +6 -6
- package/dist/components/List/List.d.ts.map +1 -1
- package/dist/components/List/List.recipe.d.ts +42 -0
- package/dist/components/List/List.recipe.d.ts.map +1 -0
- package/dist/components/List/ListItem.d.ts.map +1 -1
- package/dist/components/List/index.cjs +12 -11
- package/dist/components/List/index.js +10 -9
- package/dist/components/MetadataList/index.cjs +7 -8
- package/dist/components/MetadataList/index.js +5 -6
- package/dist/components/MultiSelect/MultiSelect.d.ts.map +1 -1
- package/dist/components/MultiSelect/index.cjs +17 -17
- package/dist/components/MultiSelect/index.js +16 -16
- package/dist/components/NavIcon/index.cjs +3 -3
- package/dist/components/NavIcon/index.js +2 -2
- package/dist/components/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/components/NumberInput/index.cjs +16 -16
- package/dist/components/NumberInput/index.js +15 -15
- package/dist/components/Pagination/index.cjs +13 -13
- package/dist/components/Pagination/index.js +12 -12
- package/dist/components/PasswordInput/index.cjs +17 -17
- package/dist/components/PasswordInput/index.js +16 -16
- package/dist/components/Popover/Popover.d.ts.map +1 -1
- package/dist/components/Popover/index.cjs +14 -14
- package/dist/components/Popover/index.js +12 -12
- package/dist/components/Progress/Progress.d.ts.map +1 -1
- package/dist/components/Progress/Progress.recipe.d.ts +34 -16
- package/dist/components/Progress/Progress.recipe.d.ts.map +1 -1
- package/dist/components/Progress/index.cjs +5 -4
- package/dist/components/Progress/index.js +4 -3
- package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -1
- package/dist/components/RadioGroup/RadioGroupItem.d.ts.map +1 -1
- package/dist/components/RadioGroup/index.cjs +14 -14
- package/dist/components/RadioGroup/index.js +12 -12
- package/dist/components/Rating/index.cjs +5 -6
- package/dist/components/Rating/index.js +4 -5
- package/dist/components/Schedule/ListView.d.ts.map +1 -1
- package/dist/components/Schedule/MonthlyView.d.ts.map +1 -1
- package/dist/components/Schedule/TimeGridView.d.ts.map +1 -1
- package/dist/components/Schedule/index.cjs +27 -27
- package/dist/components/Schedule/index.js +16 -16
- package/dist/components/Schedule/shared.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/SearchFilterInput.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/index.cjs +36 -36
- package/dist/components/SearchFilterInput/index.js +28 -28
- package/dist/components/SegmentedControl/index.cjs +5 -5
- package/dist/components/SegmentedControl/index.js +3 -3
- package/dist/components/Select/Select.d.ts.map +1 -1
- package/dist/components/Select/Select.recipe.d.ts +25 -0
- package/dist/components/Select/Select.recipe.d.ts.map +1 -0
- package/dist/components/Select/SelectOption.d.ts.map +1 -1
- package/dist/components/Select/index.cjs +19 -19
- package/dist/components/Select/index.js +17 -17
- package/dist/components/SideNav/SideNav.d.ts.map +1 -1
- package/dist/components/SideNav/SideNavHeading.d.ts.map +1 -1
- package/dist/components/SideNav/SideNavItem.d.ts.map +1 -1
- package/dist/components/SideNav/SideNavSection.d.ts.map +1 -1
- package/dist/components/SideNav/index.cjs +20 -20
- package/dist/components/SideNav/index.js +14 -14
- package/dist/components/Skeleton/index.cjs +1 -1
- package/dist/components/Skeleton/index.js +1 -1
- package/dist/components/Slider/index.cjs +11 -11
- package/dist/components/Slider/index.js +10 -10
- package/dist/components/Spinner/index.cjs +7 -8
- package/dist/components/Spinner/index.js +6 -7
- package/dist/components/SplitButton/index.cjs +17 -17
- package/dist/components/SplitButton/index.js +16 -16
- package/dist/components/Stack/HStack.d.ts +1 -1
- package/dist/components/Stack/HStack.d.ts.map +1 -1
- package/dist/components/Stack/VStack.d.ts +1 -1
- package/dist/components/Stack/VStack.d.ts.map +1 -1
- package/dist/components/Stack/index.cjs +4 -4
- package/dist/components/Stack/index.d.ts +1 -1
- package/dist/components/Stack/index.d.ts.map +1 -1
- package/dist/components/Stack/index.js +2 -2
- package/dist/components/Stack/{Stack.d.ts → internal/Stack.d.ts} +13 -3
- package/dist/components/Stack/internal/Stack.d.ts.map +1 -0
- package/dist/components/Stack/{Stack.recipe.d.ts → internal/Stack.recipe.d.ts} +1 -1
- package/dist/components/Stack/internal/Stack.recipe.d.ts.map +1 -0
- package/dist/components/Stepper/Step.d.ts.map +1 -1
- package/dist/components/Stepper/index.cjs +9 -9
- package/dist/components/Stepper/index.js +6 -6
- package/dist/components/Switch/Switch.d.ts.map +1 -1
- package/dist/components/Switch/index.cjs +10 -10
- package/dist/components/Switch/index.js +9 -9
- package/dist/components/Table/BaseTable.d.ts.map +1 -1
- package/dist/components/Table/index.cjs +59 -59
- package/dist/components/Table/index.js +31 -31
- package/dist/components/Table/plugins/filtering/useTableFiltering.d.ts.map +1 -1
- package/dist/components/Tabs/Tab.d.ts.map +1 -1
- package/dist/components/Tabs/index.cjs +18 -18
- package/dist/components/Tabs/index.js +13 -13
- package/dist/components/Tag/Tag.d.ts +2 -2
- package/dist/components/Tag/Tag.d.ts.map +1 -1
- package/dist/components/Tag/Tag.recipe.d.ts +103 -68
- package/dist/components/Tag/Tag.recipe.d.ts.map +1 -1
- package/dist/components/Tag/index.cjs +9 -8
- package/dist/components/Tag/index.js +8 -7
- package/dist/components/TagsInput/TagsInput.d.ts +3 -1
- package/dist/components/TagsInput/TagsInput.d.ts.map +1 -1
- package/dist/components/TagsInput/index.cjs +18 -18
- package/dist/components/TagsInput/index.js +17 -17
- package/dist/components/Text/Heading.d.ts.map +1 -1
- package/dist/components/Text/Text.d.ts.map +1 -1
- package/dist/components/Text/index.cjs +6 -6
- package/dist/components/Text/index.js +4 -4
- package/dist/components/TextArea/TextArea.d.ts.map +1 -1
- package/dist/components/TextArea/index.cjs +12 -12
- package/dist/components/TextArea/index.js +11 -11
- package/dist/components/TextInput/TextInput.d.ts.map +1 -1
- package/dist/components/TextInput/index.cjs +16 -16
- package/dist/components/TextInput/index.js +15 -15
- package/dist/components/Thumbnail/Thumbnail.recipe.d.ts +1 -1
- package/dist/components/Thumbnail/index.cjs +13 -13
- package/dist/components/Thumbnail/index.js +12 -12
- package/dist/components/TimeInput/TimeInput.d.ts +10 -2
- package/dist/components/TimeInput/TimeInput.d.ts.map +1 -1
- package/dist/components/TimeInput/index.cjs +15 -15
- package/dist/components/TimeInput/index.js +14 -14
- package/dist/components/Toast/Toast.d.ts.map +1 -1
- package/dist/components/Toast/Toast.recipe.d.ts +39 -0
- package/dist/components/Toast/Toast.recipe.d.ts.map +1 -0
- package/dist/components/Toast/ToastViewport.d.ts.map +1 -1
- package/dist/components/Toast/index.cjs +15 -15
- package/dist/components/Toast/index.js +12 -12
- package/dist/components/ToggleButton/index.cjs +10 -11
- package/dist/components/ToggleButton/index.js +8 -9
- package/dist/components/Tooltip/index.cjs +5 -5
- package/dist/components/Tooltip/index.js +3 -3
- package/dist/components/Tooltip/useTooltip.d.ts.map +1 -1
- package/dist/components/TopNav/TopNav.d.ts.map +1 -1
- package/dist/components/TopNav/TopNavHeading.d.ts.map +1 -1
- package/dist/components/TopNav/index.cjs +20 -20
- package/dist/components/TopNav/index.js +14 -14
- package/dist/components/TreeView/TreeView.d.ts.map +1 -1
- package/dist/components/TreeView/TreeViewItem.d.ts.map +1 -1
- package/dist/components/TreeView/index.cjs +4 -3
- package/dist/components/TreeView/index.js +3 -2
- package/dist/index.cjs +248 -248
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +77 -77
- package/dist/internal/HoverLayerTrigger.d.ts.map +1 -1
- package/dist/internal/MobileNav/MobileNav.d.ts.map +1 -1
- package/dist/internal/OverflowList.d.ts.map +1 -1
- package/dist/internal/index.d.ts +1 -0
- package/dist/internal/index.d.ts.map +1 -1
- package/dist/internal/isReactNode.d.ts +3 -0
- package/dist/internal/isReactNode.d.ts.map +1 -0
- package/dist/internal/useLayer.d.ts.map +1 -1
- package/dist/internal/useSelectListbox.d.ts +2 -2
- package/dist/internal/useSelectListbox.d.ts.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
- package/dist/chunk-25FU5AVR.cjs.map +0 -1
- package/dist/chunk-2D6SGEPH.cjs.map +0 -1
- package/dist/chunk-2TGDDZG6.cjs +0 -441
- package/dist/chunk-2TGDDZG6.cjs.map +0 -1
- package/dist/chunk-2YC7SMVF.js.map +0 -1
- package/dist/chunk-32G54PL3.cjs.map +0 -1
- package/dist/chunk-3PDUOYAT.cjs.map +0 -1
- package/dist/chunk-3WMLV4VP.cjs.map +0 -1
- package/dist/chunk-4I6VIR44.cjs.map +0 -1
- package/dist/chunk-4M2KCZMO.js.map +0 -1
- package/dist/chunk-4YESF35X.cjs +0 -211
- package/dist/chunk-4YESF35X.cjs.map +0 -1
- package/dist/chunk-4Z62KDKI.js.map +0 -1
- package/dist/chunk-5BLNJVIA.js.map +0 -1
- package/dist/chunk-5MDH6QZE.js.map +0 -1
- package/dist/chunk-5Q5TJUHI.js.map +0 -1
- package/dist/chunk-5QPM5LUS.cjs.map +0 -1
- package/dist/chunk-67VLK263.js.map +0 -1
- package/dist/chunk-6BK4LUK4.cjs +0 -17
- package/dist/chunk-6BK4LUK4.cjs.map +0 -1
- package/dist/chunk-6D3FA247.js +0 -126
- package/dist/chunk-6D3FA247.js.map +0 -1
- package/dist/chunk-6XESVFC3.js.map +0 -1
- package/dist/chunk-76FHSISK.cjs.map +0 -1
- package/dist/chunk-77RGTGRM.cjs +0 -128
- package/dist/chunk-77RGTGRM.cjs.map +0 -1
- package/dist/chunk-7FY26X2V.js.map +0 -1
- package/dist/chunk-7GN6YTSS.cjs.map +0 -1
- package/dist/chunk-7P3VY5JZ.js.map +0 -1
- package/dist/chunk-AADUJ6CN.js.map +0 -1
- package/dist/chunk-ACQMLJ4I.cjs.map +0 -1
- package/dist/chunk-AH4AMQEO.js.map +0 -1
- package/dist/chunk-AMG3S252.js.map +0 -1
- package/dist/chunk-ATDW2VII.cjs.map +0 -1
- package/dist/chunk-AXT4VA5N.cjs.map +0 -1
- package/dist/chunk-BERQEJYB.js.map +0 -1
- package/dist/chunk-BFWKL5MJ.cjs.map +0 -1
- package/dist/chunk-BJD32VBQ.cjs.map +0 -1
- package/dist/chunk-BYBVI7UN.js.map +0 -1
- package/dist/chunk-C264Z2GQ.cjs.map +0 -1
- package/dist/chunk-CFOGSQCG.cjs.map +0 -1
- package/dist/chunk-CZNN2GOC.js.map +0 -1
- package/dist/chunk-DSNJDFO3.cjs.map +0 -1
- package/dist/chunk-E2JZGYKU.cjs +0 -181
- package/dist/chunk-E2JZGYKU.cjs.map +0 -1
- package/dist/chunk-E4KM3RQ2.js.map +0 -1
- package/dist/chunk-E7UOFIBW.cjs.map +0 -1
- package/dist/chunk-EFO5NDBJ.js +0 -191
- package/dist/chunk-EFO5NDBJ.js.map +0 -1
- package/dist/chunk-EHCAF6D3.js.map +0 -1
- package/dist/chunk-EMHLPPQZ.js.map +0 -1
- package/dist/chunk-EUN5TCB2.js.map +0 -1
- package/dist/chunk-GEGYC7CE.js.map +0 -1
- package/dist/chunk-GI5MVVIX.js.map +0 -1
- package/dist/chunk-GUKZNXTB.js +0 -15
- package/dist/chunk-GUKZNXTB.js.map +0 -1
- package/dist/chunk-H2SGYAUO.js.map +0 -1
- package/dist/chunk-HLN3JQYD.js.map +0 -1
- package/dist/chunk-HM7IEGQ2.cjs.map +0 -1
- package/dist/chunk-IG4UJZ6B.js.map +0 -1
- package/dist/chunk-ISYUZ5FS.js.map +0 -1
- package/dist/chunk-ITDQSF2O.cjs.map +0 -1
- package/dist/chunk-IXJOPMJX.cjs.map +0 -1
- package/dist/chunk-J2FCNWYM.js.map +0 -1
- package/dist/chunk-JAHKLROD.cjs.map +0 -1
- package/dist/chunk-JMNH45Q3.cjs.map +0 -1
- package/dist/chunk-K6CQ45C2.js.map +0 -1
- package/dist/chunk-K77D7H4V.cjs.map +0 -1
- package/dist/chunk-KFEXS6OK.cjs.map +0 -1
- package/dist/chunk-L6JT244G.cjs.map +0 -1
- package/dist/chunk-L6WUK7O4.js +0 -207
- package/dist/chunk-L6WUK7O4.js.map +0 -1
- package/dist/chunk-LJLCGQRV.js +0 -99
- package/dist/chunk-LJLCGQRV.js.map +0 -1
- package/dist/chunk-MACIT6C6.js.map +0 -1
- package/dist/chunk-MAL4D4LR.cjs.map +0 -1
- package/dist/chunk-MMST4VXH.cjs +0 -392
- package/dist/chunk-MMST4VXH.cjs.map +0 -1
- package/dist/chunk-MQQ4GSUG.cjs.map +0 -1
- package/dist/chunk-OHKL4DOV.js.map +0 -1
- package/dist/chunk-OJCJPYXE.js.map +0 -1
- package/dist/chunk-OJKZS6HG.cjs.map +0 -1
- package/dist/chunk-P4A7GWQY.cjs.map +0 -1
- package/dist/chunk-P4TOIB2A.cjs +0 -101
- package/dist/chunk-P4TOIB2A.cjs.map +0 -1
- package/dist/chunk-PJXJOI73.js +0 -232
- package/dist/chunk-PJXJOI73.js.map +0 -1
- package/dist/chunk-PNYF6NS4.cjs.map +0 -1
- package/dist/chunk-PTJ5YZFY.cjs.map +0 -1
- package/dist/chunk-PXTE3XRD.js.map +0 -1
- package/dist/chunk-PXVVTPRJ.js.map +0 -1
- package/dist/chunk-PYW5UO2Z.js.map +0 -1
- package/dist/chunk-S4GLMGFI.js.map +0 -1
- package/dist/chunk-SEAVOF6B.js.map +0 -1
- package/dist/chunk-SFT5LCQP.cjs.map +0 -1
- package/dist/chunk-SSOHJEHS.js +0 -390
- package/dist/chunk-SSOHJEHS.js.map +0 -1
- package/dist/chunk-TO3ZPSYO.cjs +0 -234
- package/dist/chunk-TO3ZPSYO.cjs.map +0 -1
- package/dist/chunk-TRK2ZZFB.cjs.map +0 -1
- package/dist/chunk-U2WVHZ24.cjs.map +0 -1
- package/dist/chunk-UJODHP7E.cjs.map +0 -1
- package/dist/chunk-UMGW7WJI.cjs.map +0 -1
- package/dist/chunk-UR7RYJOU.cjs.map +0 -1
- package/dist/chunk-UX2Z7LRM.cjs +0 -194
- package/dist/chunk-UX2Z7LRM.cjs.map +0 -1
- package/dist/chunk-UY3MYNI6.js.map +0 -1
- package/dist/chunk-VSEKSDTK.js.map +0 -1
- package/dist/chunk-VYFMYXU4.js.map +0 -1
- package/dist/chunk-W3QVSVL7.cjs.map +0 -1
- package/dist/chunk-WA4VZ363.cjs.map +0 -1
- package/dist/chunk-WATCCAQU.js.map +0 -1
- package/dist/chunk-X5ZQRMEM.cjs.map +0 -1
- package/dist/chunk-XQU4ECJY.js.map +0 -1
- package/dist/chunk-XVRQSTUF.js.map +0 -1
- package/dist/chunk-Y5SXQR52.cjs.map +0 -1
- package/dist/chunk-YBPG5RPR.cjs.map +0 -1
- package/dist/chunk-YGYA4BYN.js.map +0 -1
- package/dist/chunk-ZC6GLBEL.js +0 -179
- package/dist/chunk-ZC6GLBEL.js.map +0 -1
- package/dist/chunk-ZNUOFLCQ.js.map +0 -1
- package/dist/chunk-ZNZ67KFM.js.map +0 -1
- package/dist/chunk-ZTQQ2O6O.cjs.map +0 -1
- package/dist/chunk-ZW2ATXTL.js.map +0 -1
- package/dist/chunk-ZXPKFGRB.cjs.map +0 -1
- package/dist/components/Stack/Stack.d.ts.map +0 -1
- package/dist/components/Stack/Stack.recipe.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/Thumbnail/Thumbnail.recipe.ts","../src/components/Thumbnail/Thumbnail.tsx"],"names":[],"mappings":"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","file":"chunk-XM3AZXOA.js","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const thumbnailRecipe = sva({\n slots: [\n 'root',\n 'imageContainer',\n 'imageButton',\n 'image',\n 'placeholder',\n 'insetBorder',\n 'remove',\n 'overlay',\n ],\n base: {\n root: {\n position: 'relative',\n display: 'inline-flex',\n flexDirection: 'column',\n w: '16',\n flexShrink: 0,\n isolation: 'isolate',\n },\n imageContainer: {\n position: 'relative',\n w: 'full',\n aspectRatio: '1',\n borderRadius: 'md',\n overflow: 'hidden',\n bg: 'surface.gray',\n },\n imageButton: {\n display: 'block',\n w: 'full',\n h: 'full',\n cursor: 'pointer',\n borderRadius: 'inherit',\n overflow: 'hidden',\n },\n image: {\n display: 'block',\n w: 'full',\n h: 'full',\n objectFit: 'cover',\n },\n placeholder: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n w: 'full',\n h: 'full',\n color: 'fg.muted',\n },\n insetBorder: {\n position: 'absolute',\n inset: 0,\n borderRadius: 'inherit',\n boxShadow: 'inset 0 0 0 1px token(colors.border.emphasized)',\n pointerEvents: 'none',\n },\n remove: {\n position: 'absolute',\n top: '1',\n right: '1',\n zIndex: 1,\n color: 'fg.onPrimary',\n },\n overlay: {\n position: 'absolute',\n inset: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n bg: 'overlay.scrim.subtle',\n borderRadius: 'inherit',\n zIndex: 1,\n },\n },\n variants: {\n isDisabled: {\n true: {\n root: {\n opacity: 0.5,\n pointerEvents: 'none',\n },\n },\n },\n isInteractive: {\n true: {\n imageContainer: {\n cursor: 'pointer',\n transitionProperty: 'opacity, box-shadow',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n _hover: {\n boxShadow: 'lg',\n opacity: 0.9,\n },\n _active: {\n opacity: 0.75,\n },\n '&:has(:focus-visible)': {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n },\n },\n },\n defaultVariants: {\n isDisabled: false,\n isInteractive: false,\n },\n});\n\nexport type ThumbnailVariants = RecipeVariantProps<typeof thumbnailRecipe>;\n","import {ImageIcon, X} from 'lucide-react';\nimport {useState, type CSSProperties, type MouseEvent, type Ref} from 'react';\nimport {cx} from '../../internal/cx';\nimport {Button} from '../Button';\nimport {Icon} from '../Icon';\nimport {Skeleton} from '../Skeleton';\nimport {Spinner} from '../Spinner';\nimport {Tooltip} from '../Tooltip';\nimport {thumbnailRecipe} from './Thumbnail.recipe';\n\nexport interface ThumbnailProps {\n /**\n * Alt text describing the image content. Use `label` for a file name or\n * action label shown in the tooltip and button accessible names.\n */\n alt?: string;\n /**\n * Additional CSS class names applied to the root.\n */\n className?: string;\n /**\n * Test ID applied to the root.\n */\n 'data-testid'?: string;\n /**\n * Whether the thumbnail is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether the thumbnail is loading.\n * @default false\n */\n isLoading?: boolean;\n /**\n * File name or short item label used for the root accessible name, tooltip,\n * and open/remove button labels. When omitted, `alt` is used as a fallback.\n */\n label?: string;\n /**\n * Called when the thumbnail image area is clicked.\n */\n onClick?: (event: MouseEvent<HTMLButtonElement>) => void;\n /**\n * Called when the remove button is clicked.\n */\n onRemove?: (event: MouseEvent<HTMLButtonElement>) => void;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Image source.\n */\n src?: string;\n /**\n * Inline styles applied to the root.\n */\n style?: CSSProperties;\n}\n\ntype ThumbnailClasses = ReturnType<typeof thumbnailRecipe>;\n\ntype ThumbnailImageAreaProps = Pick<\n ThumbnailProps,\n 'alt' | 'isLoading' | 'onClick' | 'onRemove' | 'src'\n> & {\n accessibleName: string;\n classes: ThumbnailClasses;\n isDisabled: boolean;\n};\n\nfunction ThumbnailImageArea({\n accessibleName,\n alt,\n classes,\n isDisabled,\n isLoading = false,\n onClick,\n onRemove,\n src,\n}: ThumbnailImageAreaProps): React.JSX.Element {\n const [hasImageError, setHasImageError] = useState(false);\n const hasImage = src != null && !hasImageError;\n const isInteractive = onClick != null && !isDisabled && !isLoading;\n const imageContent =\n isLoading && !hasImage ? (\n <Skeleton radius={2} />\n ) : hasImage ? (\n <img\n alt={alt ?? ''}\n className={classes.image}\n onError={() => setHasImageError(true)}\n src={src}\n />\n ) : (\n <div className={classes.placeholder}>\n <Icon icon={ImageIcon} size=\"lg\" />\n </div>\n );\n\n return (\n <div className={classes.imageContainer}>\n {isInteractive ? (\n <button\n aria-label={`Open ${accessibleName}`}\n className={classes.imageButton}\n onClick={onClick}\n type=\"button\">\n {imageContent}\n </button>\n ) : (\n imageContent\n )}\n {hasImage ? <div className={classes.insetBorder} /> : null}\n {isLoading && hasImage ? (\n <div className={classes.overlay}>\n <Spinner size=\"sm\" variant=\"onMedia\" />\n </div>\n ) : null}\n {onRemove != null && !isDisabled ? (\n <div className={classes.remove}>\n <Button\n icon={X}\n isIconOnly\n label={`Remove ${accessibleName}`}\n onClick={event => {\n event.stopPropagation();\n onRemove(event as MouseEvent<HTMLButtonElement>);\n }}\n size=\"sm\"\n variant=\"onSolid\"\n />\n </div>\n ) : null}\n </div>\n );\n}\n\n/**\n * Square image preview for attachments and media.\n */\nexport function Thumbnail({\n alt,\n className,\n 'data-testid': dataTestId,\n isDisabled = false,\n isLoading = false,\n label,\n onClick,\n onRemove,\n ref,\n src,\n style,\n}: ThumbnailProps): React.JSX.Element {\n const accessibleName = label ?? alt ?? 'thumbnail';\n const isInteractive = onClick != null && !isDisabled && !isLoading;\n const classes = thumbnailRecipe({isDisabled, isInteractive});\n\n const thumbnail = (\n <div\n aria-busy={isLoading || undefined}\n aria-label={accessibleName}\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n <ThumbnailImageArea\n accessibleName={accessibleName}\n alt={alt}\n classes={classes}\n isDisabled={isDisabled}\n isLoading={isLoading}\n key={src ?? 'empty'}\n onClick={onClick}\n onRemove={onRemove}\n src={src}\n />\n </div>\n );\n\n return label != null ? (\n <Tooltip content={label}>{thumbnail}</Tooltip>\n ) : (\n thumbnail\n );\n}\n\nThumbnail.displayName = 'Thumbnail';\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/Thumbnail/Thumbnail.recipe.ts","../src/components/Thumbnail/Thumbnail.tsx"],"names":[],"mappings":"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","file":"chunk-ILEKDNP7.js","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const thumbnailRecipe = sva({\n slots: [\n 'root',\n 'imageContainer',\n 'imageButton',\n 'image',\n 'placeholder',\n 'insetBorder',\n 'remove',\n 'overlay',\n ],\n base: {\n root: {\n position: 'relative',\n display: 'inline-flex',\n flexDirection: 'column',\n w: '16',\n flexShrink: 0,\n isolation: 'isolate',\n },\n imageContainer: {\n position: 'relative',\n w: 'full',\n aspectRatio: '1',\n borderRadius: 'md',\n overflow: 'hidden',\n bg: 'surface.gray',\n },\n imageButton: {\n display: 'block',\n w: 'full',\n h: 'full',\n cursor: 'pointer',\n borderRadius: 'inherit',\n overflow: 'hidden',\n },\n image: {\n display: 'block',\n w: 'full',\n h: 'full',\n objectFit: 'cover',\n },\n placeholder: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n w: 'full',\n h: 'full',\n color: 'fg.muted',\n },\n insetBorder: {\n position: 'absolute',\n inset: 0,\n borderRadius: 'inherit',\n boxShadow: 'inset 0 0 0 1px token(colors.border.emphasized)',\n pointerEvents: 'none',\n },\n remove: {\n position: 'absolute',\n top: '1',\n right: '1',\n zIndex: 1,\n color: 'fg.onPrimary',\n },\n overlay: {\n position: 'absolute',\n inset: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n bg: 'overlay.scrim.subtle',\n borderRadius: 'inherit',\n zIndex: 1,\n },\n },\n variants: {\n isDisabled: {\n true: {\n root: {\n opacity: 0.5,\n pointerEvents: 'none',\n },\n },\n },\n isInteractive: {\n true: {\n imageContainer: {\n cursor: 'pointer',\n transitionProperty: 'opacity, box-shadow',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n _hover: {\n boxShadow: 'lg',\n opacity: 0.9,\n },\n _active: {\n opacity: 0.75,\n },\n '&:has(:focus-visible)': {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n },\n },\n },\n defaultVariants: {\n isDisabled: false,\n isInteractive: false,\n },\n});\n\nexport type ThumbnailVariants = RecipeVariantProps<typeof thumbnailRecipe>;\n","import {ImageIcon, X} from 'lucide-react';\nimport {useState, type CSSProperties, type MouseEvent, type Ref} from 'react';\nimport {cx} from '../../internal/cx';\nimport {Button} from '../Button';\nimport {Icon} from '../Icon';\nimport {Skeleton} from '../Skeleton';\nimport {Spinner} from '../Spinner';\nimport {Tooltip} from '../Tooltip';\nimport {thumbnailRecipe} from './Thumbnail.recipe';\n\nexport interface ThumbnailProps {\n /**\n * Alt text describing the image content. Use `label` for a file name or\n * action label shown in the tooltip and button accessible names.\n */\n alt?: string;\n /**\n * Additional CSS class names applied to the root.\n */\n className?: string;\n /**\n * Test ID applied to the root.\n */\n 'data-testid'?: string;\n /**\n * Whether the thumbnail is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether the thumbnail is loading.\n * @default false\n */\n isLoading?: boolean;\n /**\n * File name or short item label used for the root accessible name, tooltip,\n * and open/remove button labels. When omitted, `alt` is used as a fallback.\n */\n label?: string;\n /**\n * Called when the thumbnail image area is clicked.\n */\n onClick?: (event: MouseEvent<HTMLButtonElement>) => void;\n /**\n * Called when the remove button is clicked.\n */\n onRemove?: (event: MouseEvent<HTMLButtonElement>) => void;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Image source.\n */\n src?: string;\n /**\n * Inline styles applied to the root.\n */\n style?: CSSProperties;\n}\n\ntype ThumbnailClasses = ReturnType<typeof thumbnailRecipe>;\n\ntype ThumbnailImageAreaProps = Pick<\n ThumbnailProps,\n 'alt' | 'isLoading' | 'onClick' | 'onRemove' | 'src'\n> & {\n accessibleName: string;\n classes: ThumbnailClasses;\n isDisabled: boolean;\n};\n\nfunction ThumbnailImageArea({\n accessibleName,\n alt,\n classes,\n isDisabled,\n isLoading = false,\n onClick,\n onRemove,\n src,\n}: ThumbnailImageAreaProps): React.JSX.Element {\n const [hasImageError, setHasImageError] = useState(false);\n const hasImage = src != null && !hasImageError;\n const isInteractive = onClick != null && !isDisabled && !isLoading;\n const imageContent =\n isLoading && !hasImage ? (\n <Skeleton radius={2} />\n ) : hasImage ? (\n <img\n alt={alt ?? ''}\n className={classes.image}\n onError={() => setHasImageError(true)}\n src={src}\n />\n ) : (\n <div className={classes.placeholder}>\n <Icon icon={ImageIcon} size=\"lg\" />\n </div>\n );\n\n return (\n <div className={classes.imageContainer}>\n {isInteractive ? (\n <button\n aria-label={`Open ${accessibleName}`}\n className={classes.imageButton}\n onClick={onClick}\n type=\"button\">\n {imageContent}\n </button>\n ) : (\n imageContent\n )}\n {hasImage ? <div className={classes.insetBorder} /> : null}\n {isLoading && hasImage ? (\n <div className={classes.overlay}>\n <Spinner size=\"sm\" variant=\"onMedia\" />\n </div>\n ) : null}\n {onRemove != null && !isDisabled ? (\n <div className={classes.remove}>\n <Button\n icon={X}\n isIconOnly\n label={`Remove ${accessibleName}`}\n onClick={event => {\n event.stopPropagation();\n onRemove(event as MouseEvent<HTMLButtonElement>);\n }}\n size=\"sm\"\n variant=\"onSolid\"\n />\n </div>\n ) : null}\n </div>\n );\n}\n\n/**\n * Square image preview for attachments and media.\n */\nexport function Thumbnail({\n alt,\n className,\n 'data-testid': dataTestId,\n isDisabled = false,\n isLoading = false,\n label,\n onClick,\n onRemove,\n ref,\n src,\n style,\n}: ThumbnailProps): React.JSX.Element {\n const accessibleName = label ?? alt ?? 'thumbnail';\n const isInteractive = onClick != null && !isDisabled && !isLoading;\n const classes = thumbnailRecipe({isDisabled, isInteractive});\n\n const thumbnail = (\n <div\n aria-busy={isLoading || undefined}\n aria-label={accessibleName}\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n <ThumbnailImageArea\n accessibleName={accessibleName}\n alt={alt}\n classes={classes}\n isDisabled={isDisabled}\n isLoading={isLoading}\n key={src ?? 'empty'}\n onClick={onClick}\n onRemove={onRemove}\n src={src}\n />\n </div>\n );\n\n return label != null ? (\n <Tooltip content={label}>{thumbnail}</Tooltip>\n ) : (\n thumbnail\n );\n}\n\nThumbnail.displayName = 'Thumbnail';\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { cva } from './chunk-FMEIPGUP.js';
|
|
2
|
-
import { cx } from './chunk-PPNETWIP.js';
|
|
3
2
|
import { css } from './chunk-OD4DHHZH.js';
|
|
3
|
+
import { cx } from './chunk-PPNETWIP.js';
|
|
4
4
|
import { jsx } from 'react/jsx-runtime';
|
|
5
5
|
|
|
6
6
|
// src/components/AspectRatio/AspectRatio.recipe.ts
|
|
@@ -54,5 +54,5 @@ function AspectRatio({
|
|
|
54
54
|
AspectRatio.displayName = "AspectRatio";
|
|
55
55
|
|
|
56
56
|
export { AspectRatio };
|
|
57
|
-
//# sourceMappingURL=chunk-
|
|
58
|
-
//# sourceMappingURL=chunk-
|
|
57
|
+
//# sourceMappingURL=chunk-J3DNWPXJ.js.map
|
|
58
|
+
//# sourceMappingURL=chunk-J3DNWPXJ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/AspectRatio/AspectRatio.recipe.ts","../src/components/AspectRatio/AspectRatio.tsx"],"names":[],"mappings":";;;;;;AAEO,IAAM,oBAAoB,GAAA,CAAI;AAAA,EACnC,IAAA,EAAM;AAAA,IACJ,QAAA,EAAU,UAAA;AAAA,IACV,CAAA,EAAG,MAAA;AAAA,IACH,IAAA,EAAM,CAAA;AAAA,IACN,UAAA,EAAY,CAAA;AAAA,IACZ,QAAA,EAAU;AAAA;AAEd,CAAC,CAAA;ACSD,IAAM,MAAA,GAAS;AAAA,EACb,OAAO,GAAA,CAAI;AAAA,IACT,QAAA,EAAU,UAAA;AAAA,IACV,KAAA,EAAO,CAAA;AAAA,IACP,CAAA,EAAG,MAAA;AAAA,IACH,CAAA,EAAG;AAAA,GACJ;AACH,CAAA;AAEO,SAAS,WAAA,CAAY;AAAA,EAC1B,QAAA;AAAA,EACA,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,KAAA;AAAA,EACA,GAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAwC;AACtC,EAAA,MAAM,YAAA,GAAe,MAAA,CAAO,QAAA,CAAS,KAAK,KAAK,KAAA,GAAQ,CAAA;AAEvD,EAAA,IAAI,OAAA,CAAQ,GAAA,CAAI,QAAA,KAAa,YAAA,EAAc;AACzC,IAAA,IAAI,CAAC,YAAA,EAAc;AACjB,MAAA,MAAM,IAAI,KAAA;AAAA,QACR,CAAA,kEAAA,EAAqE,MAAA,CAAO,KAAK,CAAC,CAAA,CAAA;AAAA,OACpF;AAAA,IACF;AAAA,EACF;AAEA,EAAA,MAAM,aAAA,GAAgB,eAAe,KAAA,GAAQ,CAAA;AAE7C,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACE,GAAG,IAAA;AAAA,MACJ,SAAA,EAAW,EAAA,CAAG,iBAAA,EAAkB,EAAG,SAAS,CAAA;AAAA,MAC5C,aAAA,EAAa,UAAA;AAAA,MACb,GAAA;AAAA,MACA,KAAA,EAAO,EAAC,GAAG,KAAA,EAAO,aAAa,aAAA,EAAa;AAAA,MAC5C,QAAA,kBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,OAAQ,QAAA,EAAS;AAAA;AAAA,GAC1C;AAEJ;AAEA,WAAA,CAAY,WAAA,GAAc,aAAA","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/components/AspectRatio/AspectRatio.recipe.ts","../src/components/AspectRatio/AspectRatio.tsx"],"names":[],"mappings":";;;;;;AAEO,IAAM,oBAAoB,GAAA,CAAI;AAAA,EACnC,IAAA,EAAM;AAAA,IACJ,QAAA,EAAU,UAAA;AAAA,IACV,CAAA,EAAG,MAAA;AAAA,IACH,IAAA,EAAM,CAAA;AAAA,IACN,UAAA,EAAY,CAAA;AAAA,IACZ,QAAA,EAAU;AAAA;AAEd,CAAC,CAAA;ACSD,IAAM,MAAA,GAAS;AAAA,EACb,OAAO,GAAA,CAAI;AAAA,IACT,QAAA,EAAU,UAAA;AAAA,IACV,KAAA,EAAO,CAAA;AAAA,IACP,CAAA,EAAG,MAAA;AAAA,IACH,CAAA,EAAG;AAAA,GACJ;AACH,CAAA;AAEO,SAAS,WAAA,CAAY;AAAA,EAC1B,QAAA;AAAA,EACA,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,KAAA;AAAA,EACA,GAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAwC;AACtC,EAAA,MAAM,YAAA,GAAe,MAAA,CAAO,QAAA,CAAS,KAAK,KAAK,KAAA,GAAQ,CAAA;AAEvD,EAAA,IAAI,OAAA,CAAQ,GAAA,CAAI,QAAA,KAAa,YAAA,EAAc;AACzC,IAAA,IAAI,CAAC,YAAA,EAAc;AACjB,MAAA,MAAM,IAAI,KAAA;AAAA,QACR,CAAA,kEAAA,EAAqE,MAAA,CAAO,KAAK,CAAC,CAAA,CAAA;AAAA,OACpF;AAAA,IACF;AAAA,EACF;AAEA,EAAA,MAAM,aAAA,GAAgB,eAAe,KAAA,GAAQ,CAAA;AAE7C,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACE,GAAG,IAAA;AAAA,MACJ,SAAA,EAAW,EAAA,CAAG,iBAAA,EAAkB,EAAG,SAAS,CAAA;AAAA,MAC5C,aAAA,EAAa,UAAA;AAAA,MACb,GAAA;AAAA,MACA,KAAA,EAAO,EAAC,GAAG,KAAA,EAAO,aAAa,aAAA,EAAa;AAAA,MAC5C,QAAA,kBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,OAAQ,QAAA,EAAS;AAAA;AAAA,GAC1C;AAEJ;AAEA,WAAA,CAAY,WAAA,GAAc,aAAA","file":"chunk-J3DNWPXJ.js","sourcesContent":["import {cva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const aspectRatioRecipe = cva({\n base: {\n position: 'relative',\n w: '100%',\n minH: 0,\n flexShrink: 0,\n overflow: 'clip',\n },\n});\n\nexport type AspectRatioVariants = RecipeVariantProps<typeof aspectRatioRecipe>;\n","import type {ComponentPropsWithRef} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {aspectRatioRecipe} from './AspectRatio.recipe';\n\n/**\n * Maintains a fixed width-to-height ratio for media or embedded content.\n */\nexport interface AspectRatioProps extends ComponentPropsWithRef<'div'> {\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Width divided by height, such as `16 / 9`, `4 / 3`, or `1`.\n */\n ratio: number;\n}\n\nconst styles = {\n child: css({\n position: 'absolute',\n inset: 0,\n w: '100%',\n h: '100%',\n }),\n};\n\nexport function AspectRatio({\n children,\n className,\n 'data-testid': dataTestId,\n ratio,\n ref,\n style,\n ...rest\n}: AspectRatioProps): React.JSX.Element {\n const isValidRatio = Number.isFinite(ratio) && ratio > 0;\n\n if (process.env.NODE_ENV !== 'production') {\n if (!isValidRatio) {\n throw new Error(\n `AspectRatio: \\`ratio\\` must be a finite positive number, received ${String(ratio)}.`,\n );\n }\n }\n\n const resolvedRatio = isValidRatio ? ratio : 1;\n\n return (\n <div\n {...rest}\n className={cx(aspectRatioRecipe(), className)}\n data-testid={dataTestId}\n ref={ref}\n style={{...style, aspectRatio: resolvedRatio}}>\n <div className={styles.child}>{children}</div>\n </div>\n );\n}\n\nAspectRatio.displayName = 'AspectRatio';\n"]}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var
|
|
3
|
+
var chunkQOKEU3DC_cjs = require('./chunk-QOKEU3DC.cjs');
|
|
4
|
+
var chunkM26XECB2_cjs = require('./chunk-M26XECB2.cjs');
|
|
5
|
+
var chunkQAO6QMNQ_cjs = require('./chunk-QAO6QMNQ.cjs');
|
|
6
6
|
var chunk4TIAKZ4Q_cjs = require('./chunk-4TIAKZ4Q.cjs');
|
|
7
|
+
var chunkZ6RT3WPE_cjs = require('./chunk-Z6RT3WPE.cjs');
|
|
7
8
|
var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
|
|
8
9
|
var lucideReact = require('lucide-react');
|
|
9
10
|
var react = require('react');
|
|
@@ -23,7 +24,7 @@ var paddingVariants = {
|
|
|
23
24
|
8: { bodyContent: { px: "8", py: "8" } },
|
|
24
25
|
10: { bodyContent: { px: "10", py: "10" } }
|
|
25
26
|
};
|
|
26
|
-
var alertRecipe =
|
|
27
|
+
var alertRecipe = chunkZ6RT3WPE_cjs.sva({
|
|
27
28
|
slots: [
|
|
28
29
|
"root",
|
|
29
30
|
"header",
|
|
@@ -200,10 +201,10 @@ function Alert({
|
|
|
200
201
|
const bodyId = react.useId();
|
|
201
202
|
const [isDismissed, setIsDismissed] = react.useState(false);
|
|
202
203
|
const [isExpanded, setIsExpanded] = react.useState(isDefaultExpanded);
|
|
203
|
-
const hasChildren = children
|
|
204
|
+
const hasChildren = chunkQAO6QMNQ_cjs.isReactNode(children);
|
|
204
205
|
const showContent = hasChildren && isExpanded;
|
|
205
|
-
const showEndArea = endContent
|
|
206
|
-
const isSingleLine = description
|
|
206
|
+
const showEndArea = chunkQAO6QMNQ_cjs.isReactNode(endContent) || isDismissable || hasChildren;
|
|
207
|
+
const isSingleLine = !chunkQAO6QMNQ_cjs.isReactNode(description) && (chunkQAO6QMNQ_cjs.isReactNode(endContent) || isDismissable || hasChildren);
|
|
207
208
|
if (isDismissed) {
|
|
208
209
|
return null;
|
|
209
210
|
}
|
|
@@ -227,13 +228,13 @@ function Alert({
|
|
|
227
228
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: classes.header, children: [
|
|
228
229
|
/* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", className: classes.icon, children: icon ?? defaultIcons[status] }),
|
|
229
230
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: classes.content, children: [
|
|
230
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
231
|
-
description
|
|
231
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkM26XECB2_cjs.Text, { as: "p", type: "label", weight: "semibold", children: title }),
|
|
232
|
+
chunkQAO6QMNQ_cjs.isReactNode(description) ? /* @__PURE__ */ jsxRuntime.jsx(chunkM26XECB2_cjs.Text, { as: "p", color: "secondary", type: "supporting", children: description }) : null
|
|
232
233
|
] }),
|
|
233
234
|
showEndArea ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: classes.endArea, children: [
|
|
234
235
|
endContent,
|
|
235
236
|
hasChildren ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
236
|
-
|
|
237
|
+
chunkQOKEU3DC_cjs.Button,
|
|
237
238
|
{
|
|
238
239
|
"aria-controls": bodyId,
|
|
239
240
|
"aria-expanded": isExpanded,
|
|
@@ -247,7 +248,7 @@ function Alert({
|
|
|
247
248
|
}
|
|
248
249
|
) : null,
|
|
249
250
|
isDismissable ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
250
|
-
|
|
251
|
+
chunkQOKEU3DC_cjs.Button,
|
|
251
252
|
{
|
|
252
253
|
icon: lucideReact.X,
|
|
253
254
|
isIconOnly: true,
|
|
@@ -278,5 +279,5 @@ function Alert({
|
|
|
278
279
|
Alert.displayName = "Alert";
|
|
279
280
|
|
|
280
281
|
exports.Alert = Alert;
|
|
281
|
-
//# sourceMappingURL=chunk-
|
|
282
|
-
//# sourceMappingURL=chunk-
|
|
282
|
+
//# sourceMappingURL=chunk-J4OEETYQ.cjs.map
|
|
283
|
+
//# sourceMappingURL=chunk-J4OEETYQ.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Alert/Alert.recipe.ts","../src/components/Alert/Alert.tsx"],"names":["sva","jsx","Icon","XCircle","Info","CheckCircle2","TriangleAlert","useId","useState","isReactNode","jsxs","cx","Text","Button","ChevronDown","X"],"mappings":";;;;;;;;;;;;;AAOA,IAAM,eAAA,GAAkB;AAAA,EACtB,CAAA,EAAG,EAAC,WAAA,EAAa,EAAC,IAAI,GAAA,EAAK,EAAA,EAAI,KAAG,EAAC;AAAA,EACnC,GAAA,EAAK,EAAC,WAAA,EAAa,EAAC,IAAI,KAAA,EAAO,EAAA,EAAI,OAAK,EAAC;AAAA,EACzC,CAAA,EAAG,EAAC,WAAA,EAAa,EAAC,IAAI,GAAA,EAAK,EAAA,EAAI,KAAG,EAAC;AAAA,EACnC,GAAA,EAAK,EAAC,WAAA,EAAa,EAAC,IAAI,KAAA,EAAO,EAAA,EAAI,OAAK,EAAC;AAAA,EACzC,CAAA,EAAG,EAAC,WAAA,EAAa,EAAC,IAAI,GAAA,EAAK,EAAA,EAAI,KAAG,EAAC;AAAA,EACnC,CAAA,EAAG,EAAC,WAAA,EAAa,EAAC,IAAI,GAAA,EAAK,EAAA,EAAI,KAAG,EAAC;AAAA,EACnC,CAAA,EAAG,EAAC,WAAA,EAAa,EAAC,IAAI,GAAA,EAAK,EAAA,EAAI,KAAG,EAAC;AAAA,EACnC,CAAA,EAAG,EAAC,WAAA,EAAa,EAAC,IAAI,GAAA,EAAK,EAAA,EAAI,KAAG,EAAC;AAAA,EACnC,CAAA,EAAG,EAAC,WAAA,EAAa,EAAC,IAAI,GAAA,EAAK,EAAA,EAAI,KAAG,EAAC;AAAA,EACnC,CAAA,EAAG,EAAC,WAAA,EAAa,EAAC,IAAI,GAAA,EAAK,EAAA,EAAI,KAAG,EAAC;AAAA,EACnC,EAAA,EAAI,EAAC,WAAA,EAAa,EAAC,IAAI,IAAA,EAAM,EAAA,EAAI,MAAI;AACvC,CAAA;AAEO,IAAM,cAAcA,qBAAA,CAAI;AAAA,EAC7B,KAAA,EAAO;AAAA,IACL,MAAA;AAAA,IACA,QAAA;AAAA,IACA,MAAA;AAAA,IACA,SAAA;AAAA,IACA,SAAA;AAAA,IACA,SAAA;AAAA,IACA,MAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM;AAAA,MACJ,OAAA,EAAS,MAAA;AAAA,MACT,aAAA,EAAe,QAAA;AAAA,MACf,UAAA,EAAY;AAAA,KACd;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,OAAA,EAAS,MAAA;AAAA,MACT,UAAA,EAAY,YAAA;AAAA,MACZ,GAAA,EAAK,GAAA;AAAA,MACL,EAAA,EAAI,GAAA;AAAA,MACJ,EAAA,EAAI;AAAA,KACN;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,OAAA,EAAS,aAAA;AAAA,MACT,UAAA,EAAY,QAAA;AAAA,MACZ,UAAA,EAAY;AAAA,KACd;AAAA,IACA,OAAA,EAAS;AAAA,MACP,OAAA,EAAS,MAAA;AAAA,MACT,IAAA,EAAM,CAAA;AAAA,MACN,aAAA,EAAe,QAAA;AAAA,MACf,IAAA,EAAM;AAAA,KACR;AAAA,IACA,OAAA,EAAS;AAAA,MACP,OAAA,EAAS,MAAA;AAAA,MACT,UAAA,EAAY,QAAA;AAAA,MACZ,UAAA,EAAY,CAAA;AAAA,MACZ,GAAA,EAAK,GAAA;AAAA,MACL,EAAA,EAAI;AAAA,KACN;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,IAAA,EAAM;AAAA,MACJ,OAAA,EAAS,MAAA;AAAA,MACT,gBAAA,EAAkB,KAAA;AAAA,MAClB,QAAA,EAAU,QAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAKV,kBAAA,EAAoB,gCAAA;AAAA,MACpB,kBAAA,EAAoB,QAAA;AAAA,MACpB,wBAAA,EAA0B,SAAA;AAAA,MAC1B,yCAAA,EAA2C;AAAA,QACzC,kBAAA,EAAoB;AAAA;AACtB,KACF;AAAA,IACA,WAAA,EAAa;AAAA,MACX,IAAA,EAAM,CAAA;AAAA,MACN,EAAA,EAAI,IAAA;AAAA,MACJ,mBAAA,EAAqB,SAAA;AAAA,MACrB,WAAA,EAAa,QAAA;AAAA,MACb,iBAAA,EAAmB,SAAA;AAAA,MACnB,WAAA,EAAa,OAAA;AAAA,MACb,EAAA,EAAI,GAAA;AAAA,MACJ,EAAA,EAAI;AAAA;AACN,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,MAAA,EAAQ;AAAA,MACN,KAAA,EAAO;AAAA,QACL,MAAA,EAAQ;AAAA,UACN,EAAA,EAAI,aAAA;AAAA,UACJ,KAAA,EAAO,gBAAA;AAAA,UACP,qBAAA,EAAuB,8BAAA;AAAA,UACvB,2BAAA,EAA6B;AAAA;AAC/B,OACF;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,MAAA,EAAQ;AAAA,UACN,EAAA,EAAI,cAAA;AAAA,UACJ,KAAA,EAAO,iBAAA;AAAA,UACP,qBAAA,EAAuB,+BAAA;AAAA,UACvB,2BAAA,EAA6B;AAAA;AAC/B,OACF;AAAA,MACA,OAAA,EAAS;AAAA,QACP,MAAA,EAAQ;AAAA,UACN,EAAA,EAAI,eAAA;AAAA,UACJ,KAAA,EAAO,kBAAA;AAAA,UACP,qBAAA,EAAuB,gCAAA;AAAA,UACvB,2BAAA,EAA6B;AAAA;AAC/B,OACF;AAAA,MACA,OAAA,EAAS;AAAA,QACP,MAAA,EAAQ;AAAA,UACN,EAAA,EAAI,gBAAA;AAAA,UACJ,KAAA,EAAO,mBAAA;AAAA,UACP,qBAAA,EAAuB,iCAAA;AAAA,UACvB,2BAAA,EAA6B;AAAA;AAC/B;AACF,KACF;AAAA,IACA,SAAA,EAAW;AAAA,MACT,IAAA,EAAM;AAAA,QACJ,MAAA,EAAQ,EAAC,eAAA,EAAiB,IAAA,EAAI;AAAA,QAC9B,WAAA,EAAa,EAAC,kBAAA,EAAoB,IAAA;AAAI,OACxC;AAAA,MACA,SAAS;AAAC,KACZ;AAAA;AAAA;AAAA,IAGA,UAAA,EAAY;AAAA,MACV,MAAM,EAAC;AAAA,MACP,OAAO;AAAC,KACV;AAAA,IACA,UAAA,EAAY;AAAA,MACV,MAAM,EAAC,MAAA,EAAQ,EAAC,UAAA,EAAY,UAAQ,EAAC;AAAA,MACrC,OAAO;AAAC,KACV;AAAA,IACA,UAAA,EAAY;AAAA,MACV,MAAM,EAAC,OAAA,EAAS,EAAC,SAAA,EAAW,kBAAgB,EAAC;AAAA,MAC7C,OAAO,EAAC,IAAA,EAAM,EAAC,gBAAA,EAAkB,OAAK;AAAC,KACzC;AAAA,IACA,OAAA,EAAS;AAAA,GACX;AAAA,EACA,gBAAA,EAAkB;AAAA,IAChB;AAAA,MACE,SAAA,EAAW,MAAA;AAAA,MACX,KAAK,EAAC,MAAA,EAAQ,EAAC,kBAAA,EAAoB,MAAI,EAAC;AAAA,MACxC,UAAA,EAAY;AAAA;AACd,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,SAAA,EAAW,MAAA;AAAA,IACX,UAAA,EAAY,KAAA;AAAA,IACZ,UAAA,EAAY,KAAA;AAAA,IACZ,UAAA,EAAY,KAAA;AAAA,IACZ,MAAA,EAAQ;AAAA;AAEZ,CAAC,CAAA;AC9DD,IAAM,UAAA,GAAsD;AAAA,EAC1D,KAAA,EAAO,OAAA;AAAA,EACP,IAAA,EAAM,QAAA;AAAA,EACN,OAAA,EAAS,QAAA;AAAA,EACT,OAAA,EAAS;AACX,CAAA;AAEA,IAAM,YAAA,GAA+C;AAAA,EACnD,uBAAOC,cAAA,CAACC,sBAAA,EAAA,EAAK,KAAA,EAAM,OAAA,EAAQ,MAAMC,mBAAA,EAAS,CAAA;AAAA,EAC1C,sBAAMF,cAAA,CAACC,sBAAA,EAAA,EAAK,KAAA,EAAM,MAAA,EAAO,MAAME,gBAAA,EAAM,CAAA;AAAA,EACrC,yBAASH,cAAA,CAACC,sBAAA,EAAA,EAAK,KAAA,EAAM,SAAA,EAAU,MAAMG,wBAAA,EAAc,CAAA;AAAA,EACnD,yBAASJ,cAAA,CAACC,sBAAA,EAAA,EAAK,KAAA,EAAM,SAAA,EAAU,MAAMI,yBAAA,EAAe;AACtD,CAAA;AAMO,SAAS,KAAA,CAAM;AAAA,EACpB,QAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA,GAAY,MAAA;AAAA,EACZ,aAAA,EAAe,UAAA;AAAA,EACf,WAAA;AAAA,EACA,UAAA;AAAA,EACA,IAAA;AAAA,EACA,iBAAA,GAAoB,KAAA;AAAA,EACpB,aAAA,GAAgB,KAAA;AAAA,EAChB,SAAA;AAAA,EACA,OAAA;AAAA,EACA,GAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA;AACF,CAAA,EAAyC;AACvC,EAAA,MAAM,SAASC,WAAA,EAAM;AACrB,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAIC,eAAS,KAAK,CAAA;AACpD,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAIA,eAAS,iBAAiB,CAAA;AAC9D,EAAA,MAAM,WAAA,GAAcC,8BAAY,QAAQ,CAAA;AAKxC,EAAA,MAAM,cAAc,WAAA,IAAe,UAAA;AACnC,EAAA,MAAM,WAAA,GAAcA,6BAAA,CAAY,UAAU,CAAA,IAAK,aAAA,IAAiB,WAAA;AAChE,EAAA,MAAM,YAAA,GACJ,CAACA,6BAAA,CAAY,WAAW,MACvBA,6BAAA,CAAY,UAAU,KAAK,aAAA,IAAiB,WAAA,CAAA;AAE/C,EAAA,IAAI,WAAA,EAAa;AACf,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,MAAM,UAAU,WAAA,CAAY;AAAA,IAC1B,SAAA;AAAA,IACA,UAAA,EAAY,WAAA;AAAA,IACZ,UAAA,EAAY,YAAA;AAAA,IACZ,UAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,GACD,CAAA;AAED,EAAA,uBACEC,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAWC,oBAAA,CAAG,OAAA,CAAQ,IAAA,EAAM,SAAS,CAAA;AAAA,MACrC,aAAA,EAAa,UAAA;AAAA,MACb,GAAA;AAAA,MACA,IAAA,EAAM,WAAW,MAAM,CAAA;AAAA,MACvB,KAAA;AAAA,MACA,QAAA,EAAA;AAAA,wBAAAD,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,OAAA,CAAQ,MAAA,EACtB,QAAA,EAAA;AAAA,0BAAAT,cAAA,CAAC,MAAA,EAAA,EAAK,eAAY,MAAA,EAAO,SAAA,EAAW,QAAQ,IAAA,EACzC,QAAA,EAAA,IAAA,IAAQ,YAAA,CAAa,MAAM,CAAA,EAC9B,CAAA;AAAA,0BACAS,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,OAAA,CAAQ,OAAA,EACtB,QAAA,EAAA;AAAA,4BAAAT,cAAA,CAACW,0BAAK,EAAA,EAAG,GAAA,EAAI,MAAK,OAAA,EAAQ,MAAA,EAAO,YAC9B,QAAA,EAAA,KAAA,EACH,CAAA;AAAA,YACCH,6BAAA,CAAY,WAAW,CAAA,mBACtBR,cAAA,CAACW,sBAAA,EAAA,EAAK,EAAA,EAAG,GAAA,EAAI,KAAA,EAAM,WAAA,EAAY,IAAA,EAAK,YAAA,EACjC,QAAA,EAAA,WAAA,EACH,CAAA,GACE;AAAA,WAAA,EACN,CAAA;AAAA,UACC,WAAA,mBACCF,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,QAAQ,OAAA,EACrB,QAAA,EAAA;AAAA,YAAA,UAAA;AAAA,YACA,WAAA,mBACCT,cAAA;AAAA,cAACY,wBAAA;AAAA,cAAA;AAAA,gBACC,eAAA,EAAe,MAAA;AAAA,gBACf,eAAA,EAAe,UAAA;AAAA,gBACf,WAAW,OAAA,CAAQ,OAAA;AAAA,gBACnB,IAAA,EAAMC,uBAAA;AAAA,gBACN,UAAA,EAAU,IAAA;AAAA,gBACV,KAAA,EAAO,aAAa,UAAA,GAAa,QAAA;AAAA,gBACjC,OAAA,EAAS,MAAM,aAAA,CAAc,CAAA,KAAA,KAAS,CAAC,KAAK,CAAA;AAAA,gBAC5C,IAAA,EAAK,IAAA;AAAA,gBACL,OAAA,EAAQ;AAAA;AAAA,aACV,GACE,IAAA;AAAA,YACH,aAAA,mBACCb,cAAA;AAAA,cAACY,wBAAA;AAAA,cAAA;AAAA,gBACC,IAAA,EAAME,aAAA;AAAA,gBACN,UAAA,EAAU,IAAA;AAAA,gBACV,KAAA,EAAM,SAAA;AAAA,gBACN,SAAS,MAAM;AACb,kBAAA,cAAA,CAAe,IAAI,CAAA;AACnB,kBAAA,SAAA,IAAY;AAAA,gBACd,CAAA;AAAA,gBACA,IAAA,EAAK,IAAA;AAAA,gBACL,OAAA,EAAQ;AAAA;AAAA,aACV,GACE;AAAA,WAAA,EACN,CAAA,GACE;AAAA,SAAA,EACN,CAAA;AAAA,QACC,WAAA,mBACCd,cAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,WAAW,OAAA,CAAQ,IAAA;AAAA,YACnB,EAAA,EAAI,MAAA;AAAA,YACJ,KAAA,EAAO,EAAC,UAAA,EAAY,UAAA,GAAa,SAAY,QAAA,EAAQ;AAAA,YACrD,QAAA,kBAAAA,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,OAAA,CAAQ,aAAc,QAAA,EAAS;AAAA;AAAA,SACjD,GACE;AAAA;AAAA;AAAA,GACN;AAEJ;AAEA,KAAA,CAAM,WAAA,GAAc,OAAA","file":"chunk-J4OEETYQ.cjs","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\n/**\n * Symmetric padding overrides for the collapsible body. Keys mirror the\n * `SpacingToken` scale so the `padding` prop maps onto build-time-validated\n * spacing tokens instead of a runtime token lookup.\n */\nconst paddingVariants = {\n 0: {bodyContent: {px: '0', py: '0'}},\n 0.5: {bodyContent: {px: '0.5', py: '0.5'}},\n 1: {bodyContent: {px: '1', py: '1'}},\n 1.5: {bodyContent: {px: '1.5', py: '1.5'}},\n 2: {bodyContent: {px: '2', py: '2'}},\n 3: {bodyContent: {px: '3', py: '3'}},\n 4: {bodyContent: {px: '4', py: '4'}},\n 5: {bodyContent: {px: '5', py: '5'}},\n 6: {bodyContent: {px: '6', py: '6'}},\n 8: {bodyContent: {px: '8', py: '8'}},\n 10: {bodyContent: {px: '10', py: '10'}},\n};\n\nexport const alertRecipe = sva({\n slots: [\n 'root',\n 'header',\n 'icon',\n 'content',\n 'endArea',\n 'chevron',\n 'body',\n 'bodyContent',\n ],\n base: {\n root: {\n display: 'flex',\n flexDirection: 'column',\n fontFamily: 'body',\n },\n header: {\n display: 'flex',\n alignItems: 'flex-start',\n gap: '2',\n px: '4',\n py: '3',\n },\n icon: {\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n },\n content: {\n display: 'flex',\n flex: 1,\n flexDirection: 'column',\n minW: 0,\n },\n endArea: {\n display: 'flex',\n alignItems: 'center',\n flexShrink: 0,\n gap: '2',\n ms: 'auto',\n },\n // The body stays mounted so child state and the `aria-controls` target are\n // preserved; it is collapsed with a `grid-template-rows` 1fr -> 0fr\n // transition (mirroring `AccordionItem`). `overflow: hidden` lives on this\n // grid so the body chrome on `bodyContent` is fully clipped when collapsed.\n body: {\n display: 'grid',\n gridTemplateRows: '1fr',\n overflow: 'hidden',\n // `visibility` is transitioned alongside the rows so the content stays\n // readable while collapsing, then becomes `hidden` (removing it from the\n // a11y tree and tab order) once closed. The inline `visibility` style in\n // the component drives the open/closed value.\n transitionProperty: 'grid-template-rows, visibility',\n transitionDuration: 'normal',\n transitionTimingFunction: 'default',\n '@media (prefers-reduced-motion: reduce)': {\n transitionDuration: '0.01s',\n },\n },\n bodyContent: {\n minH: 0,\n bg: 'bg',\n borderBlockEndWidth: 'default',\n borderColor: 'border',\n borderInlineWidth: 'default',\n borderStyle: 'solid',\n px: '4',\n py: '3',\n },\n },\n variants: {\n status: {\n error: {\n header: {\n bg: 'surface.red',\n color: 'surface.red.fg',\n '--silver-text-color': 'token(colors.surface.red.fg)',\n '--silver-text-color-muted': 'token(colors.surface.red.fg)',\n },\n },\n info: {\n header: {\n bg: 'surface.blue',\n color: 'surface.blue.fg',\n '--silver-text-color': 'token(colors.surface.blue.fg)',\n '--silver-text-color-muted': 'token(colors.surface.blue.fg)',\n },\n },\n success: {\n header: {\n bg: 'surface.green',\n color: 'surface.green.fg',\n '--silver-text-color': 'token(colors.surface.green.fg)',\n '--silver-text-color-muted': 'token(colors.surface.green.fg)',\n },\n },\n warning: {\n header: {\n bg: 'surface.yellow',\n color: 'surface.yellow.fg',\n '--silver-text-color': 'token(colors.surface.yellow.fg)',\n '--silver-text-color-muted': 'token(colors.surface.yellow.fg)',\n },\n },\n },\n container: {\n card: {\n header: {borderTopRadius: 'lg'},\n bodyContent: {borderBottomRadius: 'lg'},\n },\n section: {},\n },\n // Squares off the header's bottom corners while the body is revealed; the\n // compound variant rounds them back when there is no expanded content.\n hasContent: {\n true: {},\n false: {},\n },\n isCentered: {\n true: {header: {alignItems: 'center'}},\n false: {},\n },\n isExpanded: {\n true: {chevron: {transform: 'rotate(180deg)'}},\n false: {body: {gridTemplateRows: '0fr'}},\n },\n padding: paddingVariants,\n },\n compoundVariants: [\n {\n container: 'card',\n css: {header: {borderBottomRadius: 'lg'}},\n hasContent: false,\n },\n ],\n defaultVariants: {\n container: 'card',\n hasContent: false,\n isCentered: false,\n isExpanded: false,\n status: 'info',\n },\n});\n\nexport type AlertVariants = RecipeVariantProps<typeof alertRecipe>;\n","import {\n CheckCircle2,\n ChevronDown,\n Info,\n TriangleAlert,\n X,\n XCircle,\n} from 'lucide-react';\nimport {\n useId,\n useState,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\nimport type {SpacingToken} from '../../internal/spacingTokens';\nimport {Button} from '../Button';\nimport {Icon} from '../Icon';\nimport {Text} from '../Text';\nimport {alertRecipe, type AlertVariants} from './Alert.recipe';\n\n/**\n * Derived from the recipe's `container` variant so the prop stays in sync with\n * the styles.\n */\nexport type AlertContainer = NonNullable<\n NonNullable<AlertVariants>['container']\n>;\n/**\n * Derived from the recipe's `status` variant so the prop stays in sync with the\n * styles.\n */\nexport type AlertStatus = NonNullable<NonNullable<AlertVariants>['status']>;\n\nexport interface AlertProps {\n /**\n * Extra content rendered below the alert header in a collapsible area.\n */\n children?: ReactNode;\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Visual container style.\n * @default 'card'\n */\n container?: AlertContainer;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Supporting description displayed below the title.\n */\n description?: ReactNode;\n /**\n * Content rendered at the end of the header, before collapse and dismiss controls.\n */\n endContent?: ReactNode;\n /**\n * Custom status icon. A default icon is rendered when omitted.\n */\n icon?: ReactNode;\n /**\n * Whether collapsible children are expanded initially.\n * @default false\n */\n isDefaultExpanded?: boolean;\n /**\n * Whether the alert can be dismissed.\n * @default false\n */\n isDismissable?: boolean;\n /**\n * Called when the dismiss button is clicked.\n */\n onDismiss?: () => 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 * Status controlling role, icon, and color.\n */\n status: AlertStatus;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Primary alert title.\n */\n title: ReactNode;\n}\n\nconst statusRole: Record<AlertStatus, 'alert' | 'status'> = {\n error: 'alert',\n info: 'status',\n success: 'status',\n warning: 'alert',\n};\n\nconst defaultIcons: Record<AlertStatus, ReactNode> = {\n error: <Icon color=\"error\" icon={XCircle} />,\n info: <Icon color=\"info\" icon={Info} />,\n success: <Icon color=\"success\" icon={CheckCircle2} />,\n warning: <Icon color=\"warning\" icon={TriangleAlert} />,\n};\n\n/**\n * Displays a contextual message with status-based styling, an optional\n * collapsible body, and dismiss functionality.\n */\nexport function Alert({\n children,\n className,\n container = 'card',\n 'data-testid': dataTestId,\n description,\n endContent,\n icon,\n isDefaultExpanded = false,\n isDismissable = false,\n onDismiss,\n padding,\n ref,\n status,\n style,\n title,\n}: AlertProps): React.JSX.Element | null {\n const bodyId = useId();\n const [isDismissed, setIsDismissed] = useState(false);\n const [isExpanded, setIsExpanded] = useState(isDefaultExpanded);\n const hasChildren = isReactNode(children);\n // The body is kept mounted whenever there are children (so child state and\n // the `aria-controls` target survive collapsing); `isExpanded` only drives\n // the visual collapse. `showContent` reflects whether the body is currently\n // revealed, which the header uses to square off its bottom corners.\n const showContent = hasChildren && isExpanded;\n const showEndArea = isReactNode(endContent) || isDismissable || hasChildren;\n const isSingleLine =\n !isReactNode(description) &&\n (isReactNode(endContent) || isDismissable || hasChildren);\n\n if (isDismissed) {\n return null;\n }\n\n const classes = alertRecipe({\n container,\n hasContent: showContent,\n isCentered: isSingleLine,\n isExpanded,\n padding,\n status,\n });\n\n return (\n <div\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n ref={ref}\n role={statusRole[status]}\n style={style}>\n <div className={classes.header}>\n <span aria-hidden=\"true\" className={classes.icon}>\n {icon ?? defaultIcons[status]}\n </span>\n <div className={classes.content}>\n <Text as=\"p\" type=\"label\" weight=\"semibold\">\n {title}\n </Text>\n {isReactNode(description) ? (\n <Text as=\"p\" color=\"secondary\" type=\"supporting\">\n {description}\n </Text>\n ) : null}\n </div>\n {showEndArea ? (\n <div className={classes.endArea}>\n {endContent}\n {hasChildren ? (\n <Button\n aria-controls={bodyId}\n aria-expanded={isExpanded}\n className={classes.chevron}\n icon={ChevronDown}\n isIconOnly\n label={isExpanded ? 'Collapse' : 'Expand'}\n onClick={() => setIsExpanded(value => !value)}\n size=\"sm\"\n variant=\"ghost\"\n />\n ) : null}\n {isDismissable ? (\n <Button\n icon={X}\n isIconOnly\n label=\"Dismiss\"\n onClick={() => {\n setIsDismissed(true);\n onDismiss?.();\n }}\n size=\"sm\"\n variant=\"ghost\"\n />\n ) : null}\n </div>\n ) : null}\n </div>\n {hasChildren ? (\n <div\n className={classes.body}\n id={bodyId}\n style={{visibility: isExpanded ? undefined : 'hidden'}}>\n <div className={classes.bodyContent}>{children}</div>\n </div>\n ) : null}\n </div>\n );\n}\n\nAlert.displayName = 'Alert';\n"]}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import { BaseAutocompleteInput } from './chunk-
|
|
2
|
-
import { Tag } from './chunk-
|
|
1
|
+
import { BaseAutocompleteInput } from './chunk-SBOXHIES.js';
|
|
2
|
+
import { Tag } from './chunk-AFI4V7LI.js';
|
|
3
3
|
import { inputStyles, inputRecipe } from './chunk-3M23WX6K.js';
|
|
4
|
-
import { getNecessity, Field } from './chunk-
|
|
4
|
+
import { getNecessity, Field } from './chunk-RLOGQBFD.js';
|
|
5
5
|
import { getStatusMessageID, getDescribedBy } from './chunk-WOIWI2UO.js';
|
|
6
|
-
import { Button } from './chunk-
|
|
7
|
-
import { useLayer, useIsomorphicLayoutEffect } from './chunk-
|
|
6
|
+
import { Button } from './chunk-2LABTS4P.js';
|
|
7
|
+
import { useLayer, useIsomorphicLayoutEffect } from './chunk-HINS4GY6.js';
|
|
8
8
|
import { mergeRefs } from './chunk-SGLIDI6R.js';
|
|
9
|
+
import { isReactNode } from './chunk-2PSZAWLC.js';
|
|
9
10
|
import { Icon } from './chunk-7T3SWOY7.js';
|
|
10
|
-
import { cx } from './chunk-PPNETWIP.js';
|
|
11
11
|
import { css } from './chunk-OD4DHHZH.js';
|
|
12
|
+
import { cx } from './chunk-PPNETWIP.js';
|
|
12
13
|
import { X } from 'lucide-react';
|
|
13
14
|
import { useId, useRef, useState, useCallback, useMemo, useImperativeHandle, Children } from 'react';
|
|
14
15
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
@@ -144,7 +145,7 @@ function OverflowList({
|
|
|
144
145
|
style: { gap },
|
|
145
146
|
children: [
|
|
146
147
|
childArray,
|
|
147
|
-
measureIndicator
|
|
148
|
+
isReactNode(measureIndicator) ? /* @__PURE__ */ jsx("div", { className: styles.measureIndicator, children: measureIndicator }) : null
|
|
148
149
|
]
|
|
149
150
|
}
|
|
150
151
|
),
|
|
@@ -270,13 +271,14 @@ function TagsInput({
|
|
|
270
271
|
value
|
|
271
272
|
}) {
|
|
272
273
|
const inputId = useId();
|
|
273
|
-
const descriptionID = description
|
|
274
|
+
const descriptionID = isReactNode(description) ? `${inputId}-description` : void 0;
|
|
274
275
|
const statusMessageID = getStatusMessageID(inputId, status);
|
|
275
276
|
const describedBy = getDescribedBy(descriptionID, statusMessageID);
|
|
276
277
|
const inputRef = useRef(null);
|
|
277
278
|
const wrapperRef = useRef(null);
|
|
278
279
|
const [isFocusedWithin, setIsFocusedWithin] = useState(false);
|
|
279
280
|
const [announcement, setAnnouncement] = useState("");
|
|
281
|
+
const [queryValue, setQueryValue] = useState("");
|
|
280
282
|
const isLayerMode = tagOverflowBehavior === "unfocusedLayer";
|
|
281
283
|
const layer = useLayer();
|
|
282
284
|
const layerContentRef = useRef(null);
|
|
@@ -403,11 +405,15 @@ function TagsInput({
|
|
|
403
405
|
}
|
|
404
406
|
document.addEventListener(
|
|
405
407
|
"click",
|
|
406
|
-
() =>
|
|
408
|
+
(event) => {
|
|
409
|
+
if (isFocusInTagsInput(event.target)) {
|
|
410
|
+
requestAnimationFrame(() => inputRef.current?.focus());
|
|
411
|
+
}
|
|
412
|
+
},
|
|
407
413
|
{ once: true }
|
|
408
414
|
);
|
|
409
415
|
}
|
|
410
|
-
}, [isDisabled, isLayerMode, layer]);
|
|
416
|
+
}, [isDisabled, isFocusInTagsInput, isLayerMode, layer]);
|
|
411
417
|
const necessity = getNecessity(isOptional, isRequired);
|
|
412
418
|
const tokens = value.map((item) => /* @__PURE__ */ jsx("span", { className: styles2.tag, children: renderTag == null ? /* @__PURE__ */ jsx(
|
|
413
419
|
Tag,
|
|
@@ -468,6 +474,7 @@ function TagsInput({
|
|
|
468
474
|
emptySearchResultsText,
|
|
469
475
|
hasAutoFocus,
|
|
470
476
|
hasEntriesOnFocus,
|
|
477
|
+
hasReopenOnSelect: hasEntriesOnFocus,
|
|
471
478
|
inputId,
|
|
472
479
|
isDisabled: isDisabled || isReadOnly || isAtMax,
|
|
473
480
|
maxMenuItems,
|
|
@@ -501,8 +508,12 @@ function TagsInput({
|
|
|
501
508
|
removeItem(item);
|
|
502
509
|
}
|
|
503
510
|
},
|
|
504
|
-
onQueryChange
|
|
511
|
+
onQueryChange: (nextQuery) => {
|
|
512
|
+
setQueryValue(nextQuery);
|
|
513
|
+
onQueryChange?.(nextQuery);
|
|
514
|
+
},
|
|
505
515
|
placeholder: value.length === 0 ? placeholder : void 0,
|
|
516
|
+
query: queryValue,
|
|
506
517
|
ref: inputRef,
|
|
507
518
|
renderItem,
|
|
508
519
|
searchSource: filteredSource,
|
|
@@ -510,7 +521,7 @@ function TagsInput({
|
|
|
510
521
|
value: null
|
|
511
522
|
}
|
|
512
523
|
),
|
|
513
|
-
endContent
|
|
524
|
+
isReactNode(endContent) ? /* @__PURE__ */ jsx("span", { className: styles2.endContent, children: endContent }) : null,
|
|
514
525
|
hasClear && value.length > 0 && !isDisabled && !isReadOnly ? /* @__PURE__ */ jsx(
|
|
515
526
|
Button,
|
|
516
527
|
{
|
|
@@ -613,5 +624,5 @@ function TagsInput({
|
|
|
613
624
|
TagsInput.displayName = "TagsInput";
|
|
614
625
|
|
|
615
626
|
export { TagsInput };
|
|
616
|
-
//# sourceMappingURL=chunk-
|
|
617
|
-
//# sourceMappingURL=chunk-
|
|
627
|
+
//# sourceMappingURL=chunk-J5IRFGUP.js.map
|
|
628
|
+
//# sourceMappingURL=chunk-J5IRFGUP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/internal/OverflowList.tsx","../src/components/TagsInput/TagsInput.tsx"],"names":["styles","useRef","useState","useCallback","jsx","Fragment","jsxs"],"mappings":"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","file":"chunk-J5IRFGUP.js","sourcesContent":["import {\n Children,\n useCallback,\n useRef,\n useState,\n type CSSProperties,\n type ReactElement,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from './cx';\nimport isReactNode from './isReactNode';\nimport {mergeRefs} from './mergeRefs';\nimport {useIsomorphicLayoutEffect} from './useIsomorphicLayoutEffect';\n\nexport interface OverflowItem {\n child: ReactElement;\n index: number;\n}\n\nexport interface OverflowListProps {\n behavior?: 'observeParent' | 'observeSelf';\n children: ReactNode;\n className?: string;\n collapseFrom?: 'end' | 'start';\n gap?: number;\n minVisibleItems?: number;\n overflowRenderer?: (overflowItems: OverflowItem[]) => ReactNode;\n ref?: Ref<HTMLDivElement>;\n style?: CSSProperties;\n}\n\nconst styles = {\n container: css({\n display: 'flex',\n alignItems: 'center',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n minW: 0,\n }),\n fillParent: css({\n flex: '1 1 0',\n }),\n measureContainer: css({\n position: 'absolute',\n visibility: 'hidden',\n h: 0,\n overflow: 'hidden',\n display: 'flex',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n pointerEvents: 'none',\n }),\n measureIndicator: css({\n display: 'inline-flex',\n }),\n} as const;\n\nfunction getAvailableWidth(\n container: HTMLElement,\n observeParent: boolean,\n): number {\n if (observeParent && container.parentElement != null) {\n const parent = container.parentElement;\n const parentStyle = window.getComputedStyle(parent);\n const paddingLeft = Number.parseFloat(parentStyle.paddingLeft) || 0;\n const paddingRight = Number.parseFloat(parentStyle.paddingRight) || 0;\n return parent.clientWidth - paddingLeft - paddingRight;\n }\n\n return container.offsetWidth;\n}\n\nexport function OverflowList({\n behavior = 'observeSelf',\n children,\n className,\n collapseFrom = 'end',\n gap = 0,\n minVisibleItems = 0,\n overflowRenderer,\n ref,\n style,\n}: OverflowListProps): React.JSX.Element {\n // eslint-disable-next-line @eslint-react/no-children-to-array -- matches XDSOverflowList: normalizes children before width measurement\n const childArray = Children.toArray(children) as ReactElement[];\n const itemCount = childArray.length;\n const observeParent = behavior === 'observeParent';\n const [visibleCount, setVisibleCount] = useState(itemCount);\n const containerRef = useRef<HTMLElement | null>(null);\n const measureRef = useRef<HTMLElement | null>(null);\n\n const calculate = useCallback(() => {\n const container = containerRef.current;\n const measure = measureRef.current;\n if (container == null || measure == null) {\n return;\n }\n\n const availableWidth = Math.min(\n getAvailableWidth(container, observeParent),\n container.offsetWidth || Number.POSITIVE_INFINITY,\n );\n const allChildren = Array.from(measure.children) as HTMLElement[];\n const hasIndicator = allChildren.length > itemCount;\n const measuredItems = hasIndicator\n ? allChildren.slice(0, itemCount)\n : allChildren;\n const indicatorWidth = hasIndicator\n ? allChildren[allChildren.length - 1].offsetWidth\n : 0;\n\n if (measuredItems.length === 0) {\n // eslint-disable-next-line @eslint-react/set-state-in-effect -- visible count is derived from measured DOM widths\n setVisibleCount(0);\n return;\n }\n\n const measuredWidths = measuredItems.map(item => item.offsetWidth);\n const orderedWidths =\n collapseFrom === 'end' ? measuredWidths : [...measuredWidths].reverse();\n let totalWidth = 0;\n let count = 0;\n\n for (const itemWidth of orderedWidths) {\n const gapWidth = count > 0 ? gap : 0;\n const candidateWidth = totalWidth + itemWidth + gapWidth;\n const isLastItem = count === orderedWidths.length - 1;\n const reservedWidth = isLastItem\n ? 0\n : indicatorWidth + (count > 0 || indicatorWidth > 0 ? gap : 0);\n\n if (\n candidateWidth + reservedWidth > availableWidth &&\n count >= minVisibleItems\n ) {\n break;\n }\n\n totalWidth = candidateWidth;\n count++;\n }\n\n // eslint-disable-next-line @eslint-react/set-state-in-effect -- visible count is derived from measured DOM widths\n setVisibleCount(Math.max(Math.min(count, itemCount), minVisibleItems));\n }, [collapseFrom, gap, itemCount, minVisibleItems, observeParent]);\n\n const containerRefCallback = useCallback((element: HTMLDivElement | null) => {\n containerRef.current = element;\n }, []);\n\n const measureRefCallback = useCallback(\n (element: HTMLDivElement | null) => {\n measureRef.current = element;\n if (element != null) {\n calculate();\n }\n },\n [calculate],\n );\n\n useIsomorphicLayoutEffect(() => {\n calculate();\n }, [calculate]);\n\n useIsomorphicLayoutEffect(() => {\n const container = containerRef.current;\n if (container == null || typeof ResizeObserver === 'undefined') {\n return;\n }\n\n const target =\n observeParent && container.parentElement != null\n ? container.parentElement\n : container;\n const observer = new ResizeObserver(calculate);\n observer.observe(target);\n return () => observer.disconnect();\n }, [calculate, observeParent]);\n\n const allItems: OverflowItem[] = childArray.map((child, index) => ({\n child,\n index,\n }));\n const visibleItems =\n collapseFrom === 'end'\n ? allItems.slice(0, visibleCount)\n : allItems.slice(itemCount - visibleCount);\n const overflowItems =\n collapseFrom === 'end'\n ? allItems.slice(visibleCount)\n : allItems.slice(0, itemCount - visibleCount);\n const hasOverflow = visibleCount < itemCount;\n const measureIndicator = overflowRenderer?.(allItems);\n\n return (\n <>\n <div\n aria-hidden=\"true\"\n className={styles.measureContainer}\n inert\n ref={measureRefCallback}\n style={{gap}}>\n {childArray}\n {isReactNode(measureIndicator) ? (\n <div className={styles.measureIndicator}>{measureIndicator}</div>\n ) : null}\n </div>\n <div\n className={cx(\n styles.container,\n observeParent && hasOverflow ? styles.fillParent : undefined,\n className,\n )}\n ref={mergeRefs(ref, containerRefCallback)}\n style={{gap, ...style}}>\n {collapseFrom === 'start' && hasOverflow\n ? overflowRenderer?.(overflowItems)\n : null}\n {visibleItems.map(({child}) => child)}\n {collapseFrom === 'end' && hasOverflow\n ? overflowRenderer?.(overflowItems)\n : null}\n </div>\n </>\n );\n}\n","import {X} from 'lucide-react';\nimport {\n useCallback,\n useImperativeHandle,\n useId,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type FocusEvent,\n type KeyboardEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {OverflowList} from '../../internal/OverflowList';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\nimport {useLayer} from '../../internal/useLayer';\nimport {BaseAutocompleteInput} from '../AutocompleteInput';\nimport type {SearchableItem, SearchSource} from '../AutocompleteInput';\nimport {Button} from '../Button';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputSize,\n type InputStatus,\n} from '../Field';\nimport {inputRecipe, inputStyles} from '../Field/inputStyles';\nimport {getDescribedBy, getStatusMessageID} from '../Field/inputUtils';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Tag} from '../Tag';\n\nexport type TagsInputChange<T extends SearchableItem> =\n | {item: T; type: 'add'}\n | {item: T; type: 'create'}\n | {item: T; type: 'remove'}\n | {items: T[]; type: 'remove-all'};\n\nexport type TagsInputOverflowBehavior =\n | 'none'\n | 'unfocusedInline'\n | 'unfocusedLayer';\n\nexport interface TagsInputHandle {\n /**\n * Blur the input.\n */\n blur(): void;\n /**\n * Focus the input.\n */\n focus(): void;\n}\n\nexport type TagsInputProps<T extends SearchableItem = SearchableItem> = {\n /**\n * Additional CSS class names applied to the input wrapper.\n */\n className?: string;\n /**\n * Test ID applied to the input wrapper.\n */\n 'data-testid'?: string;\n /**\n * Debounce delay in milliseconds before search runs.\n * @default 150\n */\n debounceMs?: number;\n /**\n * Supporting text rendered below the label.\n */\n description?: ReactNode;\n /**\n * Empty state text.\n * @default 'No results found'\n */\n emptySearchResultsText?: string;\n /**\n * Content rendered at the end of the input row.\n */\n endContent?: ReactNode;\n /**\n * Imperative focus/blur handle.\n */\n handleRef?: Ref<TagsInputHandle>;\n /**\n * Whether to focus the input on mount.\n * @default false\n */\n hasAutoFocus?: boolean;\n /**\n * Whether to show a clear button that removes all tags.\n * @default false\n */\n hasClear?: boolean;\n /**\n * Whether users can create a tag from free text.\n * @default false\n */\n hasCreate?: boolean;\n /**\n * Whether to show bootstrap results on focus before typing.\n * @default false\n */\n hasEntriesOnFocus?: boolean;\n /**\n * Whether the input is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label.\n * @default false\n */\n isLabelHidden?: boolean;\n /**\n * Whether the input is read-only. Prevents typing and hides the clear\n * button without applying disabled opacity.\n * @default false\n */\n isReadOnly?: boolean;\n /**\n * Field label.\n */\n label: string;\n /**\n * Icon shown before the label.\n */\n labelIcon?: IconComponent;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: ReactNode;\n /**\n * Maximum number of selected tags.\n */\n maxEntries?: number;\n /**\n * Maximum number of menu items.\n * @default 10\n */\n maxMenuItems?: number;\n /**\n * Called when focus leaves the tags-input.\n */\n onBlur?: (event: FocusEvent<HTMLDivElement>) => void;\n /**\n * Called when selected tags change.\n */\n onChange: (items: T[], change: TagsInputChange<T>) => void;\n /**\n * Called when focus enters the tags-input.\n */\n onFocus?: (event: FocusEvent<HTMLDivElement>) => void;\n /**\n * Called when the query changes.\n */\n onQueryChange?: (query: string) => void;\n /**\n * Placeholder text.\n */\n placeholder?: string;\n /**\n * Ref forwarded to the field root.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Custom result renderer.\n */\n renderItem?: (item: T) => ReactNode;\n /**\n * Custom tag renderer.\n */\n renderTag?: (item: T, onRemove: () => void) => ReactNode;\n /**\n * Provides results for the menu. Use `createStaticSearchSource` for\n * in-memory data, or implement {@link SearchSource} for async/remote\n * search.\n */\n searchSource: SearchSource<T>;\n /**\n * Visual size.\n * @default 'md'\n */\n size?: InputSize;\n /**\n * Icon shown before the input.\n */\n startIcon?: IconComponent;\n /**\n * Validation status displayed below the tags-input.\n */\n status?: InputStatus;\n /**\n * Inline styles applied to the input wrapper.\n */\n style?: CSSProperties;\n /**\n * Controls how tags overflow when the container is too narrow.\n * - `'none'`: Tags wrap to multiple lines (default).\n * - `'unfocusedInline'`: Single line with \"+ N more\" when unfocused; expands inline on focus.\n * - `'unfocusedLayer'`: Single line with \"+ N more\" when unfocused; expands as overlay on focus.\n * @default 'none'\n */\n tagOverflowBehavior?: TagsInputOverflowBehavior;\n /**\n * Selected items.\n */\n value: T[];\n} & FieldNecessity;\n\nconst CREATABLE_ID_PREFIX = '__silver_create__';\n\nconst styles = {\n wrapper: css({\n cursor: 'text',\n flexWrap: 'wrap',\n alignItems: 'center',\n h: 'auto',\n }),\n wrapperWithTags: css({\n rowGap: '1',\n }),\n wrapperWithTagsSize: {\n sm: css({pt: '0px', pb: '0.5'}),\n md: css({py: '1'}),\n lg: css({py: '1'}),\n },\n layerPopover: css({\n w: 'anchor-size(width)',\n }),\n truncatedWrapper: css({\n flexWrap: 'nowrap',\n overflow: 'hidden',\n }),\n truncatedSize: {\n sm: css({h: 'component.sm'}),\n md: css({h: 'component.md'}),\n lg: css({h: 'component.lg'}),\n },\n tag: css({flexShrink: 0}),\n input: css({\n minW: '10',\n flex: '1 1 40px',\n }),\n inputHidden: css({\n position: 'absolute',\n opacity: 0,\n w: 0,\n minW: 0,\n flexBasis: 0,\n }),\n endContent: css({\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n }),\n overflowText: css({\n flexShrink: 0,\n whiteSpace: 'nowrap',\n fontSize: 'sm',\n color: 'fg.muted',\n px: '1',\n }),\n liveRegion: css({\n position: 'absolute',\n w: '1px',\n h: '1px',\n overflow: 'hidden',\n clip: 'rect(0 0 0 0)',\n whiteSpace: 'nowrap',\n }),\n} as const;\n\nfunction isCreatableItem<T extends SearchableItem>(item: T): boolean {\n return item.id.startsWith(CREATABLE_ID_PREFIX);\n}\n\n/**\n * Multi-select combobox that renders selected values as removable tags.\n */\nexport function TagsInput<T extends SearchableItem>({\n className,\n 'data-testid': dataTestId,\n debounceMs,\n description,\n emptySearchResultsText,\n endContent,\n hasAutoFocus = false,\n hasClear = false,\n hasCreate = false,\n hasEntriesOnFocus = false,\n handleRef,\n isDisabled = false,\n isLabelHidden = false,\n isReadOnly = false,\n isOptional,\n isRequired,\n label,\n labelIcon,\n labelTooltip,\n maxEntries,\n maxMenuItems,\n onBlur,\n onChange,\n onFocus,\n onQueryChange,\n placeholder,\n ref,\n renderItem,\n renderTag,\n searchSource,\n size = 'md',\n startIcon,\n status,\n style,\n tagOverflowBehavior = 'none',\n value,\n}: TagsInputProps<T>): React.JSX.Element {\n const inputId = useId();\n const descriptionID = isReactNode(description)\n ? `${inputId}-description`\n : undefined;\n const statusMessageID = getStatusMessageID(inputId, status);\n const describedBy = getDescribedBy(descriptionID, statusMessageID);\n const inputRef = useRef<HTMLInputElement>(null);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const [isFocusedWithin, setIsFocusedWithin] = useState(false);\n const [announcement, setAnnouncement] = useState('');\n const [queryValue, setQueryValue] = useState('');\n const isLayerMode = tagOverflowBehavior === 'unfocusedLayer';\n const layer = useLayer();\n const layerContentRef = useRef<HTMLDivElement>(null);\n const selectedIDsRef = useRef(new Set<string>());\n // eslint-disable-next-line @eslint-react/refs -- latest-ref pattern: synchronous, idempotent sync with props\n selectedIDsRef.current = new Set(value.map(item => item.id));\n const isAtMax = maxEntries != null && value.length >= maxEntries;\n const isAtMaxRef = useRef(false);\n // eslint-disable-next-line @eslint-react/refs -- latest-ref pattern\n isAtMaxRef.current = isAtMax;\n const isTruncated =\n !isFocusedWithin && tagOverflowBehavior !== 'none' && value.length > 0;\n\n const placeholderRef = useCallback(\n (element: HTMLElement | null) => {\n if (isLayerMode) {\n layer.ref(element);\n }\n },\n [isLayerMode, layer],\n );\n\n const isFocusInTagsInput = useCallback(\n (target: EventTarget | null): boolean => {\n if (!(target instanceof Node)) {\n return false;\n }\n if (wrapperRef.current?.contains(target)) {\n return true;\n }\n if (layerContentRef.current?.contains(target)) {\n return true;\n }\n const popoverElement = document.getElementById(layer.id);\n return popoverElement?.contains(target) ?? false;\n },\n [layer.id],\n );\n\n const filteredSource = useMemo<SearchSource<T>>(\n () => ({\n cancel: () => searchSource.cancel?.(),\n async bootstrap() {\n const results = await searchSource.bootstrap();\n return results.filter(item => !selectedIDsRef.current.has(item.id));\n },\n async search(searchQuery) {\n const results = await searchSource.search(searchQuery);\n const filteredResults = results.filter(\n item => !selectedIDsRef.current.has(item.id),\n );\n if (!hasCreate || searchQuery.trim() === '' || isAtMaxRef.current) {\n return filteredResults;\n }\n const existing = filteredResults.some(\n item => item.label.toLowerCase() === searchQuery.trim().toLowerCase(),\n );\n if (existing) {\n return filteredResults;\n }\n return [\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n {\n id: `${CREATABLE_ID_PREFIX}${searchQuery}`,\n label: `Create \"${searchQuery}\"`,\n auxiliaryData: {value: searchQuery},\n } as T,\n ...filteredResults,\n ];\n },\n }),\n [hasCreate, searchSource],\n );\n\n useImperativeHandle(\n handleRef,\n () => ({\n blur: () => inputRef.current?.blur(),\n focus: () => inputRef.current?.focus(),\n }),\n [],\n );\n\n const valueRef = useRef(value);\n // eslint-disable-next-line @eslint-react/refs -- latest-ref pattern\n valueRef.current = value;\n const onChangeRef = useRef(onChange);\n // eslint-disable-next-line @eslint-react/refs -- latest-ref pattern\n onChangeRef.current = onChange;\n\n const announce = useCallback((message: string) => {\n setAnnouncement('');\n requestAnimationFrame(() => setAnnouncement(message));\n }, []);\n\n const removeItem = useCallback(\n (item: T) => {\n onChangeRef.current(\n valueRef.current.filter(selectedItem => selectedItem.id !== item.id),\n {item, type: 'remove'},\n );\n announce(`Removed ${item.label}`);\n },\n [announce],\n );\n\n const handleFocus = useCallback(\n (event: FocusEvent<HTMLDivElement>) => {\n const comingFromOutside = !isFocusInTagsInput(event.relatedTarget);\n setIsFocusedWithin(true);\n if (isLayerMode) {\n layer.show();\n }\n if (comingFromOutside) {\n onFocus?.(event);\n }\n },\n [isFocusInTagsInput, isLayerMode, layer, onFocus],\n );\n\n const handleBlur = useCallback(\n (event: FocusEvent<HTMLDivElement>) => {\n if (!isFocusInTagsInput(event.relatedTarget)) {\n setIsFocusedWithin(false);\n if (isLayerMode) {\n layer.hide();\n }\n onBlur?.(event);\n }\n },\n [isFocusInTagsInput, isLayerMode, layer, onBlur],\n );\n\n const handleWrapperPointerDown = useCallback(() => {\n if (!isDisabled) {\n if (isLayerMode) {\n layer.show();\n setIsFocusedWithin(true);\n }\n document.addEventListener(\n 'click',\n event => {\n // Focus the input only when the click that completes this press lands\n // inside the TagsInput. A press on a tag may open a popover anchored to\n // it (e.g. SearchFilterInput's edit popover); since the tag's own click\n // can stop propagation, this listener instead fires on the next click\n // — which might be a control in that popover. Focusing the input then\n // would steal focus back and briefly re-open the input's surface.\n if (isFocusInTagsInput(event.target)) {\n requestAnimationFrame(() => inputRef.current?.focus());\n }\n },\n {once: true},\n );\n }\n }, [isDisabled, isFocusInTagsInput, isLayerMode, layer]);\n\n const necessity = getNecessity(isOptional, isRequired);\n\n const tokens = value.map(item => (\n <span className={styles.tag} key={item.id}>\n {renderTag == null ? (\n <Tag\n isDisabled={isDisabled}\n label={item.label}\n onRemove={() => removeItem(item)}\n size={size}\n />\n ) : (\n renderTag(item, () => removeItem(item))\n )}\n </span>\n ));\n\n const wrapperContent = (\n <>\n {/* eslint-disable-next-line jsx-a11y-x/no-noninteractive-element-interactions -- pointerdown delegates to inner input for focus convenience */}\n <div\n aria-label={label}\n className={cx(\n inputRecipe({\n size,\n status: status?.type,\n isDisabled,\n }),\n styles.wrapper,\n value.length > 0 && !isTruncated ? styles.wrapperWithTags : undefined,\n value.length > 0 && !isTruncated\n ? styles.wrapperWithTagsSize[size]\n : undefined,\n isTruncated ? styles.truncatedWrapper : undefined,\n isTruncated ? styles.truncatedSize[size] : undefined,\n )}\n data-testid={dataTestId}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onPointerDown={handleWrapperPointerDown}\n ref={wrapperRef}\n role=\"group\">\n {startIcon != null ? (\n <span className={inputStyles.iconSlot}>\n <Icon color=\"secondary\" icon={startIcon} size=\"sm\" />\n </span>\n ) : null}\n {isTruncated ? (\n <OverflowList\n behavior=\"observeParent\"\n gap={4}\n overflowRenderer={overflowItems => (\n <span className={styles.overflowText}>\n +{overflowItems.length} more\n </span>\n )}>\n {tokens}\n </OverflowList>\n ) : (\n tokens\n )}\n <BaseAutocompleteInput\n anchorRef={wrapperRef}\n ariaDescribedBy={describedBy}\n className={cx(\n styles.input,\n isAtMax || isTruncated ? styles.inputHidden : undefined,\n )}\n debounceMs={debounceMs}\n emptySearchResultsText={emptySearchResultsText}\n hasAutoFocus={hasAutoFocus}\n hasEntriesOnFocus={hasEntriesOnFocus}\n hasReopenOnSelect={hasEntriesOnFocus}\n inputId={inputId}\n isDisabled={isDisabled || isReadOnly || isAtMax}\n maxMenuItems={maxMenuItems}\n onChange={item => {\n if (item == null) {\n return;\n }\n if (isCreatableItem(item)) {\n const rawValue =\n typeof item.auxiliaryData === 'object' &&\n item.auxiliaryData != null &&\n 'value' in item.auxiliaryData\n ? String(item.auxiliaryData.value)\n : item.label;\n const createdItem = {\n ...item,\n id: rawValue,\n label: rawValue,\n };\n onChangeRef.current([...valueRef.current, createdItem], {\n item: createdItem,\n type: 'create',\n });\n announce(`Added ${rawValue}`);\n return;\n }\n onChangeRef.current([...valueRef.current, item], {\n item,\n type: 'add',\n });\n announce(`Added ${item.label}`);\n }}\n onKeyDown={(event: KeyboardEvent<HTMLInputElement>) => {\n if (\n event.key === 'Backspace' &&\n event.currentTarget.value === '' &&\n valueRef.current.length > 0\n ) {\n const item = valueRef.current[valueRef.current.length - 1];\n removeItem(item);\n }\n }}\n onQueryChange={nextQuery => {\n setQueryValue(nextQuery);\n onQueryChange?.(nextQuery);\n }}\n placeholder={value.length === 0 ? placeholder : undefined}\n query={queryValue}\n ref={inputRef}\n renderItem={renderItem}\n searchSource={filteredSource}\n size={size}\n value={null}\n />\n {isReactNode(endContent) ? (\n <span className={styles.endContent}>{endContent}</span>\n ) : null}\n {hasClear && value.length > 0 && !isDisabled && !isReadOnly ? (\n <Button\n icon={X}\n isIconOnly\n label={`Clear ${label}`}\n onClick={event => {\n event.stopPropagation();\n onChangeRef.current([], {\n items: valueRef.current,\n type: 'remove-all',\n });\n announce('Cleared all tags');\n }}\n size=\"sm\"\n variant=\"ghost\"\n />\n ) : null}\n <span aria-live=\"polite\" className={styles.liveRegion} role=\"status\">\n {announcement}\n </span>\n </div>\n </>\n );\n\n const popoverOverrideStyle: CSSProperties = {\n positionArea: undefined,\n positionTryFallbacks: undefined,\n top: 'anchor(top)',\n left: 'anchor(start)',\n };\n\n const inputContent = isLayerMode ? (\n <>\n <div\n className={cx(\n inputRecipe({\n size,\n status: status?.type,\n isDisabled,\n }),\n styles.wrapper,\n isTruncated ? styles.truncatedWrapper : undefined,\n styles.truncatedSize[size],\n )}\n onPointerDown={handleWrapperPointerDown}\n ref={placeholderRef}>\n {isTruncated ? (\n <>\n {startIcon != null ? (\n <span className={inputStyles.iconSlot}>\n <Icon color=\"secondary\" icon={startIcon} size=\"sm\" />\n </span>\n ) : null}\n <OverflowList\n behavior=\"observeParent\"\n gap={4}\n overflowRenderer={overflowItems => (\n <span className={styles.overflowText}>\n +{overflowItems.length} more\n </span>\n )}>\n {tokens}\n </OverflowList>\n </>\n ) : null}\n </div>\n {layer.render(\n <div\n data-testid={dataTestId == null ? undefined : `${dataTestId}-layer`}\n ref={layerContentRef}>\n {wrapperContent}\n </div>,\n {\n alignment: 'start',\n className: styles.layerPopover,\n placement: 'below',\n style: popoverOverrideStyle,\n },\n )}\n </>\n ) : (\n wrapperContent\n );\n\n return (\n <Field\n className={className}\n description={description}\n descriptionID={descriptionID}\n inputId={inputId}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n {...necessity}\n label={label}\n labelIcon={labelIcon}\n labelTooltip={labelTooltip}\n ref={ref}\n status={\n status == null ? undefined : {...status, messageID: statusMessageID}\n }\n style={style}>\n {inputContent}\n </Field>\n );\n}\n\nTagsInput.displayName = 'TagsInput';\n"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { TimeInput } from './chunk-
|
|
2
|
-
import { DateInput } from './chunk-
|
|
1
|
+
import { TimeInput } from './chunk-S7INL5NI.js';
|
|
2
|
+
import { DateInput } from './chunk-BSAZRW6T.js';
|
|
3
3
|
import { plainDateIsEqual } from './chunk-QSEDH7T2.js';
|
|
4
|
-
import { getNecessity, Field } from './chunk-
|
|
5
|
-
import { cx } from './chunk-PPNETWIP.js';
|
|
4
|
+
import { getNecessity, Field } from './chunk-RLOGQBFD.js';
|
|
6
5
|
import { css } from './chunk-OD4DHHZH.js';
|
|
6
|
+
import { cx } from './chunk-PPNETWIP.js';
|
|
7
7
|
import { Temporal } from '@js-temporal/polyfill';
|
|
8
8
|
import { useId, useMemo, useCallback } from 'react';
|
|
9
9
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
@@ -113,6 +113,7 @@ function DateTimeInput({
|
|
|
113
113
|
DateInput,
|
|
114
114
|
{
|
|
115
115
|
getIsDateDisabled,
|
|
116
|
+
htmlId: fieldId,
|
|
116
117
|
isDisabled,
|
|
117
118
|
isLabelHidden: true,
|
|
118
119
|
isLoading,
|
|
@@ -149,5 +150,5 @@ function DateTimeInput({
|
|
|
149
150
|
DateTimeInput.displayName = "DateTimeInput";
|
|
150
151
|
|
|
151
152
|
export { DateTimeInput };
|
|
152
|
-
//# sourceMappingURL=chunk-
|
|
153
|
-
//# sourceMappingURL=chunk-
|
|
153
|
+
//# sourceMappingURL=chunk-JDAJ2HJQ.js.map
|
|
154
|
+
//# sourceMappingURL=chunk-JDAJ2HJQ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/DateTimeInput/DateTimeInput.tsx"],"names":[],"mappings":"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","file":"chunk-JDAJ2HJQ.js","sourcesContent":["import {Temporal} from '@js-temporal/polyfill';\nimport {\n useCallback,\n useId,\n useMemo,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {plainDateIsEqual, type PlainDate} from '../../internal/plainDate';\nimport {DateInput} from '../DateInput';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputSize,\n type InputStatus,\n} from '../Field';\nimport type {IconComponent} from '../Icon';\nimport {TimeInput, type PlainTime} from '../TimeInput';\n\nexport type PlainDateTime = Temporal.PlainDateTime;\n\nexport type DateTimeInputProps = {\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 * Returns true for dates that should be disabled.\n */\n getIsDateDisabled?: (date: PlainDate) => boolean;\n /**\n * Supporting text rendered below the label.\n */\n description?: ReactNode;\n /**\n * Whether to show the seconds field in the time input.\n * @default false\n */\n hasSeconds?: boolean;\n /**\n * Whether the input is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label.\n * @default false\n */\n isLabelHidden?: boolean;\n /**\n * Whether the input is in a loading state.\n * @default false\n */\n isLoading?: boolean;\n /**\n * Field label text.\n */\n label: string;\n /**\n * Icon shown before the label.\n */\n labelIcon?: IconComponent;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: ReactNode;\n /**\n * Maximum selectable date-time.\n */\n max?: PlainDateTime;\n /**\n * Minimum selectable date-time.\n */\n min?: PlainDateTime;\n /**\n * Called when the selected date-time changes.\n */\n onChange: (value: PlainDateTime | undefined) => void;\n /**\n * Ref forwarded to the date input element.\n */\n ref?: Ref<HTMLInputElement>;\n /**\n * Visual size of the inputs.\n * @default 'md'\n */\n size?: InputSize;\n /**\n * Validation status displayed below the input.\n */\n status?: InputStatus;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Currently selected date-time.\n */\n value: PlainDateTime | undefined;\n} & FieldNecessity;\n\nconst styles = {\n row: css({\n display: 'grid',\n gridTemplateColumns: 'minmax(0, 1fr) minmax(0, 0.75fr)',\n gap: '2',\n }),\n} as const;\n\nfunction splitDateTime(value: PlainDateTime | undefined): {\n date: PlainDate | undefined;\n time: PlainTime | undefined;\n} {\n if (value == null) {\n return {date: undefined, time: undefined};\n }\n return {\n date: value.toPlainDate(),\n time: value.toPlainTime(),\n };\n}\n\nfunction combineDateTime(\n date: PlainDate | undefined,\n time: PlainTime | undefined,\n): PlainDateTime | undefined {\n if (date == null && time == null) {\n return undefined;\n }\n const resolvedDate = date ?? Temporal.Now.plainDateISO();\n const resolvedTime = time ?? Temporal.Now.plainTimeISO();\n return resolvedDate.toPlainDateTime(resolvedTime);\n}\n\nfunction clampTime(\n time: PlainTime,\n min: PlainTime | undefined,\n max: PlainTime | undefined,\n): PlainTime {\n if (min != null && Temporal.PlainTime.compare(time, min) < 0) {\n return min;\n }\n if (max != null && Temporal.PlainTime.compare(time, max) > 0) {\n return max;\n }\n return time;\n}\n\n/**\n * A combined date and time input with calendar popover and time fields.\n */\nexport function DateTimeInput({\n label,\n value,\n onChange,\n min,\n max,\n getIsDateDisabled,\n hasSeconds = false,\n size = 'md',\n description,\n isLabelHidden = false,\n isOptional,\n isRequired,\n isDisabled = false,\n isLoading = false,\n status,\n labelIcon,\n labelTooltip,\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: DateTimeInputProps): React.JSX.Element {\n const fieldId = useId();\n const {date, time} = useMemo(() => splitDateTime(value), [value]);\n const minParts = useMemo(() => splitDateTime(min), [min]);\n const maxParts = useMemo(() => splitDateTime(max), [max]);\n\n const handleDateChange = useCallback(\n (nextDate: PlainDate | undefined) => {\n if (nextDate == null || time == null) {\n onChange(combineDateTime(nextDate, time));\n return;\n }\n const effectiveTimeMin =\n min != null && nextDate.equals(min.toPlainDate())\n ? min.toPlainTime()\n : undefined;\n const effectiveTimeMax =\n max != null && nextDate.equals(max.toPlainDate())\n ? max.toPlainTime()\n : undefined;\n onChange(\n combineDateTime(\n nextDate,\n clampTime(time, effectiveTimeMin, effectiveTimeMax),\n ),\n );\n },\n [onChange, time, min, max],\n );\n const handleTimeChange = useCallback(\n (nextTime: PlainTime | undefined) =>\n onChange(combineDateTime(date, nextTime)),\n [onChange, date],\n );\n\n const necessity = getNecessity(isOptional, isRequired);\n\n return (\n <Field\n description={description}\n inputId={fieldId}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n {...necessity}\n label={label}\n labelIcon={labelIcon}\n labelTooltip={labelTooltip}\n status={status}>\n <div\n className={cx(styles.row, className)}\n data-testid={dataTestId}\n style={style}>\n <DateInput\n getIsDateDisabled={getIsDateDisabled}\n htmlId={fieldId}\n isDisabled={isDisabled}\n isLabelHidden\n isLoading={isLoading}\n label={`${label} date`}\n max={maxParts.date}\n min={minParts.date}\n onChange={handleDateChange}\n ref={ref}\n size={size}\n value={date}\n />\n <TimeInput\n hasSeconds={hasSeconds}\n isDisabled={isDisabled}\n isLabelHidden\n isLoading={isLoading}\n label={`${label} time`}\n max={\n date != null &&\n maxParts.date != null &&\n plainDateIsEqual(date, maxParts.date)\n ? maxParts.time\n : undefined\n }\n min={\n date != null &&\n minParts.date != null &&\n plainDateIsEqual(date, minParts.date)\n ? minParts.time\n : undefined\n }\n onChange={handleTimeChange}\n size={size}\n value={time}\n />\n </div>\n </Field>\n );\n}\n\nDateTimeInput.displayName = 'DateTimeInput';\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Dialog } from './chunk-
|
|
2
|
-
import { Layout, LayoutHeader, LayoutFooter, LayoutContent } from './chunk-
|
|
3
|
-
import { Button } from './chunk-
|
|
4
|
-
import { Text } from './chunk-
|
|
1
|
+
import { Dialog } from './chunk-3JPUXC5U.js';
|
|
2
|
+
import { Layout, LayoutHeader, LayoutFooter, LayoutContent } from './chunk-2N6FOSNM.js';
|
|
3
|
+
import { Button } from './chunk-2LABTS4P.js';
|
|
4
|
+
import { Text } from './chunk-QRFDPG34.js';
|
|
5
5
|
import { useRef, useEffect, useCallback, useState } from 'react';
|
|
6
6
|
import { jsx } from 'react/jsx-runtime';
|
|
7
7
|
|
|
@@ -101,5 +101,5 @@ function useAlertDialog() {
|
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
export { AlertDialog, useAlertDialog };
|
|
104
|
-
//# sourceMappingURL=chunk-
|
|
105
|
-
//# sourceMappingURL=chunk-
|
|
104
|
+
//# sourceMappingURL=chunk-JIVYPJKO.js.map
|
|
105
|
+
//# sourceMappingURL=chunk-JIVYPJKO.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/AlertDialog/AlertDialog.tsx","../src/components/AlertDialog/useAlertDialog.tsx"],"names":["useCallback","jsx"],"mappings":"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","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/components/AlertDialog/AlertDialog.tsx","../src/components/AlertDialog/useAlertDialog.tsx"],"names":["useCallback","jsx"],"mappings":"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","file":"chunk-JIVYPJKO.js","sourcesContent":["import {\n useCallback,\n useEffect,\n useRef,\n type CSSProperties,\n type Ref,\n} from 'react';\nimport {Button} from '../Button';\nimport {Dialog} from '../Dialog';\nimport {Layout, LayoutContent, LayoutFooter, LayoutHeader} from '../Layout';\nimport {Text} from '../Text';\n\nexport type AlertDialogActionVariant = 'destructive' | 'primary';\n\nexport interface AlertDialogProps {\n /**\n * Action button label.\n */\n actionLabel: string;\n /**\n * Visual variant for the action button.\n * @default 'destructive'\n */\n actionVariant?: AlertDialogActionVariant;\n /**\n * Cancel button label.\n * @default 'Cancel'\n */\n cancelLabel?: string;\n /**\n * Additional CSS class names applied to the dialog.\n */\n className?: string;\n /**\n * Test ID applied to the dialog.\n */\n 'data-testid'?: string;\n /**\n * Consequence description.\n */\n description: string;\n /**\n * Whether the action button is loading.\n * @default false\n */\n isActionLoading?: boolean;\n /**\n * Whether the dialog is open.\n */\n isOpen: boolean;\n /**\n * Called when the primary action is clicked.\n */\n onAction: () => void;\n /**\n * Called when the dialog requests an open-state change.\n */\n onOpenChange: (isOpen: boolean) => void;\n /**\n * Ref forwarded to the dialog element.\n */\n ref?: Ref<HTMLDialogElement>;\n /**\n * Inline styles applied to the dialog.\n */\n style?: CSSProperties;\n /**\n * Dialog title.\n */\n title: string;\n /**\n * Dialog width. Numbers are treated as pixels.\n * @default 400\n */\n width?: number | string;\n}\n\n/**\n * A modal confirmation dialog for destructive or irreversible actions.\n */\nexport function AlertDialog({\n actionLabel,\n actionVariant = 'destructive',\n cancelLabel = 'Cancel',\n className,\n 'data-testid': dataTestId,\n description,\n isActionLoading = false,\n isOpen,\n onAction,\n onOpenChange,\n ref,\n style,\n title,\n width = 400,\n}: AlertDialogProps): React.JSX.Element | null {\n /**\n * Synchronous guard against rapid double-invocation of onAction.\n * The ref flips immediately on the first call — before React can\n * re-render with `isActionLoading=true` — so a second Enter/click\n * in the same event-loop tick is ignored.\n */\n const actionFiredRef = useRef(false);\n\n useEffect(() => {\n if (!isActionLoading) {\n actionFiredRef.current = false;\n }\n }, [isActionLoading]);\n\n useEffect(() => {\n if (!isOpen) {\n actionFiredRef.current = false;\n }\n }, [isOpen]);\n\n const handleAction = useCallback(() => {\n if (actionFiredRef.current) {\n return;\n }\n actionFiredRef.current = true;\n onAction();\n }, [onAction]);\n\n return (\n <Dialog\n className={className}\n data-testid={dataTestId}\n dismissBehavior={false}\n isOpen={isOpen}\n onOpenChange={onOpenChange}\n ref={ref}\n role=\"alertdialog\"\n style={style}\n width={width}>\n <Layout\n content={\n <LayoutContent>\n <Text as=\"p\" color=\"secondary\">\n {description}\n </Text>\n </LayoutContent>\n }\n footer={\n <LayoutFooter\n primaryButton={\n <Button\n isLoading={isActionLoading}\n label={actionLabel}\n onClick={handleAction}\n variant={actionVariant}\n />\n }\n secondaryButton={\n <Button\n label={cancelLabel}\n onClick={() => onOpenChange(false)}\n variant=\"ghost\"\n />\n }\n />\n }\n hasDividers\n header={<LayoutHeader title={title} />}\n />\n </Dialog>\n );\n}\n\nAlertDialog.displayName = 'AlertDialog';\n","import {useCallback, useState, type ReactNode} from 'react';\nimport {AlertDialog, type AlertDialogProps} from './AlertDialog';\n\nexport type AlertDialogOptions = Omit<\n AlertDialogProps,\n 'isOpen' | 'onOpenChange'\n>;\n\nexport interface UseAlertDialogReturn {\n /**\n * Render this element in your tree.\n */\n element: ReactNode;\n /**\n * Hide the current alert dialog.\n */\n hide: () => void;\n /**\n * Whether the alert dialog is open.\n */\n isOpen: boolean;\n /**\n * Show an alert dialog with the provided options.\n */\n show: (options: AlertDialogOptions) => void;\n}\n\nexport function useAlertDialog(): UseAlertDialogReturn {\n const [isOpen, setIsOpen] = useState(false);\n const [options, setOptions] = useState<AlertDialogOptions | null>(null);\n\n const show = useCallback((nextOptions: AlertDialogOptions) => {\n setOptions(nextOptions);\n setIsOpen(true);\n }, []);\n const hide = useCallback(() => {\n setIsOpen(false);\n setOptions(null);\n }, []);\n\n const element: ReactNode =\n options == null ? null : (\n <AlertDialog {...options} isOpen={isOpen} onOpenChange={setIsOpen} />\n );\n\n return {element, hide, isOpen, show};\n}\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chunk6SHL7FYO_cjs = require('./chunk-6SHL7FYO.cjs');
|
|
4
|
-
var chunk6BK4LUK4_cjs = require('./chunk-6BK4LUK4.cjs');
|
|
5
4
|
var chunkRU6JG3FS_cjs = require('./chunk-RU6JG3FS.cjs');
|
|
5
|
+
var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
|
|
6
6
|
var react = require('react');
|
|
7
7
|
var jsxRuntime = require('react/jsx-runtime');
|
|
8
8
|
|
|
@@ -73,7 +73,7 @@ function HoverLayerTrigger({
|
|
|
73
73
|
"span",
|
|
74
74
|
{
|
|
75
75
|
"aria-describedby": describedBy,
|
|
76
|
-
className:
|
|
76
|
+
className: chunkSPDVNY2Z_cjs.cx(
|
|
77
77
|
styles.wrapperInline,
|
|
78
78
|
showHoverIndication ? styles.hoverIndication : void 0,
|
|
79
79
|
className
|
|
@@ -89,7 +89,7 @@ function HoverLayerTrigger({
|
|
|
89
89
|
] });
|
|
90
90
|
}
|
|
91
91
|
const nonTextWrapperRef = shouldForwardNonTextWrapperProps ? chunk6SHL7FYO_cjs.mergeRefs(ownWrapperRef, wrapperRef) : ownWrapperRef;
|
|
92
|
-
const nonTextWrapperClassName =
|
|
92
|
+
const nonTextWrapperClassName = chunkSPDVNY2Z_cjs.cx(
|
|
93
93
|
styles.wrapperContents,
|
|
94
94
|
shouldForwardNonTextWrapperProps ? className : void 0
|
|
95
95
|
);
|
|
@@ -234,7 +234,7 @@ function useLayer({
|
|
|
234
234
|
id,
|
|
235
235
|
role: props?.role,
|
|
236
236
|
popover: hasLightDismiss ? "auto" : "manual",
|
|
237
|
-
className:
|
|
237
|
+
className: chunkSPDVNY2Z_cjs.cx(styles2.layer, props?.className),
|
|
238
238
|
style: { ...anchorStyle, ...props?.style }
|
|
239
239
|
};
|
|
240
240
|
return react.createElement("div", layerProps, children);
|
|
@@ -440,5 +440,5 @@ exports.HoverLayerTrigger = HoverLayerTrigger;
|
|
|
440
440
|
exports.useHoverLayer = useHoverLayer;
|
|
441
441
|
exports.useIsomorphicLayoutEffect = useIsomorphicLayoutEffect;
|
|
442
442
|
exports.useLayer = useLayer;
|
|
443
|
-
//# sourceMappingURL=chunk-
|
|
444
|
-
//# sourceMappingURL=chunk-
|
|
443
|
+
//# sourceMappingURL=chunk-JJ324PSZ.cjs.map
|
|
444
|
+
//# sourceMappingURL=chunk-JJ324PSZ.cjs.map
|