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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/AutocompleteInput/AutocompleteInput.recipe.ts","../src/components/AutocompleteInput/AutocompleteInputItem.tsx","../src/components/AutocompleteInput/BaseAutocompleteInput.tsx","../src/components/AutocompleteInput/AutocompleteInput.tsx","../src/components/AutocompleteInput/types.ts"],"names":["sva","css","isReactNode","jsx","Fragment","jsxs","cx","Icon","Text","useId","useRef","useState","useCallback","useEffect","LoaderCircle","Check","mergeRefs","Spinner","Popover","styles","getStatusMessageID","getDescribedBy","useMemo","getNecessity","Field","inputRecipe","inputStyles","Tag","Button","X"],"mappings":"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","file":"chunk-BLRWA445.cjs","sourcesContent":["import {css, sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const autocompleteMenuRecipe = sva({\n slots: ['menu', 'option', 'check', 'loading', 'empty'],\n base: {\n menu: {\n display: 'flex',\n flexDirection: 'column',\n gap: '0.5',\n maxH: '80',\n overflowY: 'auto',\n p: '1',\n },\n option: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: '2',\n w: 'full',\n borderWidth: 0,\n borderRadius: 'md',\n bg: 'transparent',\n color: 'fg',\n cursor: 'pointer',\n fontFamily: 'body',\n textAlign: 'start',\n _hover: {bg: 'bg.subtle'},\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffsetTight',\n },\n },\n check: {\n display: 'inline-flex',\n flexShrink: 0,\n color: 'primary',\n },\n loading: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '1',\n p: '2',\n color: 'fg.muted',\n '& > svg': {\n animation: 'spin 0.8s linear infinite',\n },\n '@media (prefers-reduced-motion: reduce)': {\n '& > svg': {animation: 'none'},\n },\n },\n empty: {\n p: '3',\n textAlign: 'center',\n },\n },\n variants: {\n size: {\n sm: {option: {px: '2', py: '1'}},\n md: {option: {px: '2', py: '2'}},\n lg: {option: {px: '3', py: '2.5'}},\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\nexport type AutocompleteMenuVariants = RecipeVariantProps<\n typeof autocompleteMenuRecipe\n>;\n\n/**\n * Per-option state styles applied via `cx()` since they vary per-row\n * rather than per-component instance.\n */\nexport const optionHighlightedStyle = css({bg: 'bg.subtle'});\nexport const optionSelectedStyle = css({fontWeight: 'medium'});\n\nexport const autocompleteItemRecipe = sva({\n slots: ['root', 'icon', 'text'],\n base: {\n root: {\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n minW: 0,\n },\n icon: {\n display: 'inline-flex',\n flexShrink: 0,\n color: 'fg.muted',\n },\n text: {\n display: 'flex',\n flexDirection: 'column',\n minW: 0,\n },\n },\n variants: {\n isDisabled: {\n true: {root: {opacity: 0.55}},\n false: {},\n },\n },\n defaultVariants: {\n isDisabled: false,\n },\n});\n\nexport type AutocompleteItemVariants = RecipeVariantProps<\n typeof autocompleteItemRecipe\n>;\n","/* eslint-disable silver-ui/require-component-props -- discriminated union: custom-element items render item.element directly; passthrough props only apply to standard items */\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Text} from '../Text';\nimport {autocompleteItemRecipe} from './AutocompleteInput.recipe';\nimport type {SearchableItem} from './types';\n\n/**\n * Props for an item with a custom `element`. The element is rendered\n * directly — layout props like `icon` and `description` do not apply.\n */\ninterface AutocompleteInputCustomItemProps {\n /**\n * Search result item with custom element content.\n */\n item: SearchableItem & {element: ReactNode};\n}\n\n/**\n * Props for a standard item rendered with the default layout.\n */\ninterface AutocompleteInputStandardItemProps {\n /**\n * Additional CSS class names applied to the item layout.\n */\n className?: string;\n /**\n * Test ID applied to the item layout.\n */\n 'data-testid'?: string;\n /**\n * Supporting text displayed below the label.\n */\n description?: ReactNode;\n /**\n * Icon or avatar rendered before the label.\n */\n icon?: IconComponent;\n /**\n * Whether the item is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Search result item without a custom element.\n */\n item: SearchableItem & {element?: undefined};\n /**\n * Ref forwarded to the item layout.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Inline styles applied to the item layout.\n */\n style?: CSSProperties;\n}\n\nexport type AutocompleteInputItemProps =\n | AutocompleteInputCustomItemProps\n | AutocompleteInputStandardItemProps;\n\n/**\n * Default layout for AutocompleteInput and TagsInput result rows.\n *\n * When the item has a pre-rendered `element`, it is returned directly.\n * Otherwise the component renders a flex row with an optional icon,\n * primary label, and description.\n */\nexport function AutocompleteInputItem(\n props: AutocompleteInputItemProps,\n): React.JSX.Element {\n if (isReactNode(props.item.element)) {\n return <>{props.item.element}</>;\n }\n\n const {\n className,\n 'data-testid': dataTestId,\n description,\n icon,\n isDisabled = false,\n item,\n ref,\n style,\n } = props as AutocompleteInputStandardItemProps;\n\n const classes = autocompleteItemRecipe({isDisabled});\n\n return (\n <div\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n {icon != null ? (\n <span className={classes.icon}>\n <Icon color=\"secondary\" icon={icon} size=\"sm\" />\n </span>\n ) : null}\n <span className={classes.text}>\n <Text as=\"span\" color=\"inherit\" type=\"label\">\n {item.label}\n </Text>\n {isReactNode(description) ? (\n <Text as=\"span\" color=\"secondary\" type=\"supporting\">\n {description}\n </Text>\n ) : null}\n </span>\n </div>\n );\n}\n\nAutocompleteInputItem.displayName = 'AutocompleteInputItem';\n","import {Check, LoaderCircle} from 'lucide-react';\nimport {\n useCallback,\n useEffect,\n useId,\n useRef,\n useState,\n type CSSProperties,\n type KeyboardEvent,\n type ReactNode,\n type Ref,\n type RefObject,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {mergeRefs} from '../../internal/mergeRefs';\nimport {Icon} from '../Icon';\nimport {Popover} from '../Popover';\nimport {Spinner} from '../Spinner';\nimport {Text} from '../Text';\nimport {\n autocompleteMenuRecipe,\n optionHighlightedStyle,\n optionSelectedStyle,\n} from './AutocompleteInput.recipe';\nimport {AutocompleteInputItem} from './AutocompleteInputItem';\nimport type {SearchableItem, SearchSource} from './types';\n\nexport interface BaseAutocompleteInputProps<T extends SearchableItem> {\n /**\n * Ref to the element the result popover should align to.\n */\n anchorRef?: RefObject<HTMLElement | null>;\n /**\n * IDs describing the input.\n */\n ariaDescribedBy?: string;\n /**\n * Additional CSS class names applied to the input.\n */\n className?: string;\n /**\n * Test ID applied to the input element.\n */\n 'data-testid'?: string;\n /**\n * Debounce delay in milliseconds before search runs.\n * @default 150\n */\n debounceMs?: number;\n /**\n * Empty state text.\n * @default 'No results found'\n */\n emptySearchResultsText?: string;\n /**\n * Text shown in the menu when a search fails.\n * @default 'Something went wrong'\n */\n errorText?: string;\n /**\n * Whether to focus the input on mount.\n * @default false\n */\n hasAutoFocus?: boolean;\n /**\n * Whether to show bootstrap results on focus before typing.\n * @default false\n */\n hasEntriesOnFocus?: boolean;\n /**\n * Whether to re-bootstrap results after selecting an item. Useful for\n * multi-select comboboxes where the user picks several items in a row.\n * @default false\n */\n hasReopenOnSelect?: boolean;\n /**\n * Optional ID for the input.\n */\n inputId?: string;\n /**\n * Whether the input is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether the input is required.\n * @default false\n */\n isRequired?: boolean;\n /**\n * Maximum number of menu items.\n * @default 10\n */\n maxMenuItems?: number;\n /**\n * Called when a result is selected.\n */\n onChange: (item: T | null) => void;\n /**\n * Keyboard handler invoked before internal navigation.\n */\n onKeyDown?: (event: KeyboardEvent<HTMLInputElement>) => void;\n /**\n * Called when the result popover opens or closes.\n */\n onOpenChange?: (isOpen: boolean) => void;\n /**\n * Called when the query changes.\n */\n onQueryChange: (query: string) => void;\n /**\n * Placeholder text.\n * @default 'Search...'\n */\n placeholder?: string;\n /**\n * Current query string.\n */\n query: string;\n /**\n * Ref forwarded to the input.\n */\n ref?: Ref<HTMLInputElement>;\n /**\n * Custom result renderer.\n */\n renderItem?: (item: T) => ReactNode;\n /**\n * Provides results for the menu. Use `createStaticSearchSource` for\n * in-memory data, or implement {@link SearchSource} for async/remote\n * search.\n */\n searchSource: SearchSource<T>;\n /**\n * Visual size.\n * @default 'md'\n */\n size?: 'sm' | 'md' | 'lg';\n /**\n * Inline styles applied to the input.\n */\n style?: CSSProperties;\n /**\n * Selected item.\n */\n value: T | null;\n}\n\nconst styles = {\n input: css({\n display: 'block',\n flex: 1,\n minW: '15',\n borderWidth: 0,\n p: 0,\n fontFamily: 'body',\n fontSize: 'md',\n lineHeight: 'normal',\n color: 'fg',\n bg: 'transparent',\n outline: 'none',\n _placeholder: {color: 'fg.muted'},\n _disabled: {cursor: 'not-allowed'},\n }),\n} as const;\n\n/**\n * Internal combobox engine used by AutocompleteInput and TagsInput.\n */\nexport function BaseAutocompleteInput<T extends SearchableItem>({\n anchorRef,\n ariaDescribedBy,\n className,\n 'data-testid': dataTestId,\n debounceMs = 150,\n emptySearchResultsText = 'No results found',\n errorText = 'Something went wrong',\n hasAutoFocus = false,\n hasEntriesOnFocus = false,\n hasReopenOnSelect = false,\n inputId,\n isDisabled = false,\n isRequired = false,\n maxMenuItems = 10,\n onChange,\n onKeyDown,\n onOpenChange,\n onQueryChange,\n placeholder = 'Search...',\n query,\n ref,\n renderItem,\n searchSource,\n size = 'md',\n style,\n value,\n}: BaseAutocompleteInputProps<T>): React.JSX.Element {\n const generatedId = useId();\n const listboxId = useId();\n const resolvedInputId = inputId ?? generatedId;\n const inputRef = useRef<HTMLInputElement>(null);\n const fallbackAnchorRef = useRef<HTMLInputElement>(null);\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const generationRef = useRef(0);\n const [results, setResults] = useState<T[]>([]);\n const [highlightedIndex, setHighlightedIndex] = useState(-1);\n const [isLoading, setIsLoading] = useState(false);\n const [hasSearched, setHasSearched] = useState(false);\n const [hasError, setHasError] = useState(false);\n const [isOpen, setIsOpen] = useState(false);\n const selectingRef = useRef(false);\n\n const setOpen = useCallback(\n (isNextOpen: boolean) => {\n setIsOpen(isNextOpen);\n onOpenChange?.(isNextOpen);\n if (!isNextOpen) {\n searchSource.cancel?.();\n setHighlightedIndex(-1);\n }\n },\n [onOpenChange, searchSource],\n );\n\n const showMenu = useCallback(() => {\n setOpen(true);\n }, [setOpen]);\n\n const runSearch = useCallback(\n async (nextQuery: string, kind: 'bootstrap' | 'search') => {\n const generation = ++generationRef.current;\n searchSource.cancel?.();\n setIsLoading(true);\n setHasSearched(true);\n setHasError(false);\n\n try {\n const nextResults =\n kind === 'bootstrap'\n ? await searchSource.bootstrap()\n : await searchSource.search(nextQuery);\n if (generationRef.current !== generation) {\n return;\n }\n const limitedResults = nextResults.slice(0, maxMenuItems);\n setResults(limitedResults);\n setHighlightedIndex(limitedResults.length > 0 ? 0 : -1);\n if (limitedResults.length > 0 || nextQuery !== '') {\n showMenu();\n } else {\n setOpen(false);\n }\n } catch {\n if (generationRef.current === generation) {\n setResults([]);\n setHighlightedIndex(-1);\n setHasError(true);\n showMenu();\n }\n } finally {\n if (generationRef.current === generation) {\n setIsLoading(false);\n }\n }\n },\n [maxMenuItems, searchSource, setOpen, showMenu],\n );\n\n const updateQuery = useCallback(\n (nextQuery: string) => {\n onQueryChange(nextQuery);\n\n if (timeoutRef.current != null) {\n clearTimeout(timeoutRef.current);\n }\n\n if (nextQuery === '' && !hasEntriesOnFocus) {\n generationRef.current++;\n searchSource.cancel?.();\n setResults([]);\n setHasSearched(false);\n setHasError(false);\n setIsLoading(false);\n setOpen(false);\n return;\n }\n\n const searchKind = nextQuery === '' ? 'bootstrap' : 'search';\n if (debounceMs <= 0) {\n void runSearch(nextQuery, searchKind);\n return;\n }\n\n timeoutRef.current = setTimeout(() => {\n void runSearch(nextQuery, searchKind);\n }, debounceMs);\n },\n [\n debounceMs,\n hasEntriesOnFocus,\n onQueryChange,\n runSearch,\n searchSource,\n setOpen,\n ],\n );\n\n const selectItem = useCallback(\n (item: T) => {\n generationRef.current++;\n if (timeoutRef.current != null) {\n clearTimeout(timeoutRef.current);\n }\n searchSource.cancel?.();\n onQueryChange('');\n setResults([]);\n setHasSearched(false);\n setHasError(false);\n setIsLoading(false);\n onChange(item);\n selectingRef.current = true;\n inputRef.current?.focus();\n selectingRef.current = false;\n if (hasReopenOnSelect && hasEntriesOnFocus) {\n void runSearch('', 'bootstrap');\n } else {\n setOpen(false);\n }\n },\n [\n hasEntriesOnFocus,\n hasReopenOnSelect,\n onChange,\n onQueryChange,\n runSearch,\n searchSource,\n setOpen,\n ],\n );\n\n useEffect(() => {\n return () => {\n if (timeoutRef.current != null) {\n clearTimeout(timeoutRef.current);\n }\n searchSource.cancel?.();\n };\n }, [searchSource]);\n\n const menuClasses = autocompleteMenuRecipe({size});\n\n const menu = (\n <div\n aria-label=\"Search results\"\n className={menuClasses.menu}\n id={listboxId}\n role=\"listbox\">\n {isLoading ? (\n <div className={menuClasses.loading} role=\"status\">\n <Icon icon={LoaderCircle} size=\"sm\" />\n <Text as=\"span\" color=\"secondary\" type=\"supporting\">\n Loading\n </Text>\n </div>\n ) : hasError ? (\n <div className={menuClasses.empty} role=\"alert\">\n <Text as=\"span\" color=\"secondary\" type=\"supporting\">\n {errorText}\n </Text>\n </div>\n ) : results.length === 0 && hasSearched ? (\n <div className={menuClasses.empty}>\n <Text as=\"span\" color=\"secondary\" type=\"supporting\">\n {emptySearchResultsText}\n </Text>\n </div>\n ) : (\n results.map((item, index) => {\n const isSelected = value?.id === item.id;\n return (\n // eslint-disable-next-line jsx-a11y-x/click-events-have-key-events -- keyboard navigation is handled by the combobox input, not individual options\n <div\n aria-selected={isSelected}\n className={cx(\n menuClasses.option,\n index === highlightedIndex ? optionHighlightedStyle : undefined,\n isSelected ? optionSelectedStyle : undefined,\n )}\n id={`${listboxId}-option-${index}`}\n key={item.id}\n onClick={() => selectItem(item)}\n onMouseEnter={() => setHighlightedIndex(index)}\n role=\"option\"\n tabIndex={-1}>\n {renderItem == null ? (\n <AutocompleteInputItem item={item} />\n ) : (\n renderItem(item)\n )}\n {isSelected ? (\n <span className={menuClasses.check}>\n <Icon color=\"accent\" icon={Check} size=\"sm\" />\n </span>\n ) : null}\n </div>\n );\n })\n )}\n </div>\n );\n\n return (\n <>\n <input\n aria-activedescendant={\n isOpen && highlightedIndex >= 0\n ? `${listboxId}-option-${highlightedIndex}`\n : undefined\n }\n aria-autocomplete=\"list\"\n aria-controls={listboxId}\n aria-describedby={ariaDescribedBy}\n aria-expanded={isOpen}\n aria-required={isRequired || undefined}\n autoComplete=\"off\"\n // eslint-disable-next-line jsx-a11y-x/no-autofocus\n autoFocus={hasAutoFocus}\n className={cx(styles.input, className)}\n data-autofocus={hasAutoFocus || undefined}\n data-testid={dataTestId}\n disabled={isDisabled}\n id={resolvedInputId}\n onBlur={() => {\n // Defer so we can check whether focus moved to an option inside\n // the popover (e.g. the user clicked a result). If focus left\n // both the input and the popover, close the menu.\n requestAnimationFrame(() => {\n if (\n !inputRef.current?.contains(document.activeElement) &&\n !document.activeElement?.closest('[role=\"listbox\"]')\n ) {\n setOpen(false);\n }\n });\n }}\n onChange={event => updateQuery(event.target.value)}\n onFocus={() => {\n if (selectingRef.current) {\n return;\n }\n if (query !== '' && results.length === 0) {\n void runSearch(query, 'search');\n } else if (\n hasEntriesOnFocus &&\n query === '' &&\n results.length === 0\n ) {\n void runSearch('', 'bootstrap');\n } else if (results.length > 0) {\n showMenu();\n }\n }}\n onKeyDown={event => {\n onKeyDown?.(event);\n if (event.defaultPrevented) {\n return;\n }\n\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n if (!isOpen) {\n if (results.length > 0) {\n showMenu();\n } else if (hasEntriesOnFocus) {\n void runSearch('', 'bootstrap');\n }\n return;\n }\n setHighlightedIndex(index =>\n results.length === 0 ? -1 : (index + 1) % results.length,\n );\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n setHighlightedIndex(index =>\n results.length === 0\n ? -1\n : (index - 1 + results.length) % results.length,\n );\n } else if (\n event.key === 'Enter' &&\n isOpen &&\n highlightedIndex >= 0 &&\n highlightedIndex < results.length\n ) {\n event.preventDefault();\n selectItem(results[highlightedIndex]);\n } else if (event.key === 'Escape' && isOpen) {\n event.preventDefault();\n setOpen(false);\n }\n }}\n placeholder={placeholder}\n ref={mergeRefs(ref, inputRef, fallbackAnchorRef)}\n role=\"combobox\"\n style={style}\n type=\"text\"\n value={query}\n />\n {isLoading ? <Spinner size=\"sm\" /> : null}\n <Popover\n anchorRef={anchorRef ?? fallbackAnchorRef}\n content={menu}\n hasAutoFocus={false}\n hasCloseButton={false}\n hasLightDismiss={false}\n isOpen={isOpen}\n onOpenChange={setOpen}\n />\n </>\n );\n}\n\nBaseAutocompleteInput.displayName = 'BaseAutocompleteInput';\n","import {X} from 'lucide-react';\nimport {\n useCallback,\n useId,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\nimport {Button} from '../Button';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputSize,\n type InputStatus,\n} from '../Field';\nimport {inputRecipe, inputStyles} from '../Field/inputStyles';\nimport {getDescribedBy, getStatusMessageID} from '../Field/inputUtils';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Tag} from '../Tag';\nimport {BaseAutocompleteInput} from './BaseAutocompleteInput';\nimport type {SearchableItem, SearchSource} from './types';\n\nexport type AutocompleteInputProps<T extends SearchableItem = SearchableItem> =\n {\n /**\n * Additional CSS class names applied to the input wrapper.\n */\n className?: string;\n /**\n * Test ID applied to the input wrapper.\n */\n 'data-testid'?: string;\n /**\n * Debounce delay in milliseconds before search runs.\n * @default 150\n */\n debounceMs?: number;\n /**\n * Supporting text rendered below the label.\n */\n description?: ReactNode;\n /**\n * Empty state text.\n * @default 'No results found'\n */\n emptySearchResultsText?: string;\n /**\n * Text shown in the menu when a search fails.\n * @default 'Something went wrong'\n */\n errorText?: string;\n /**\n * Whether to focus the input on mount.\n * @default false\n */\n hasAutoFocus?: boolean;\n /**\n * Whether to show a clear button when a value is selected.\n * @default true\n */\n hasClear?: boolean;\n /**\n * Whether to show bootstrap results on focus before typing.\n * @default false\n */\n hasEntriesOnFocus?: boolean;\n /**\n * Whether the input is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label.\n * @default false\n */\n isLabelHidden?: boolean;\n /**\n * Field label.\n */\n label: string;\n /**\n * Icon shown before the label.\n */\n labelIcon?: IconComponent;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: ReactNode;\n /**\n * Maximum number of menu items.\n * @default 10\n */\n maxMenuItems?: number;\n /**\n * Called when selection changes.\n */\n onChange: (item: T | null) => void;\n /**\n * Called when the result popover opens or closes.\n */\n onOpenChange?: (isOpen: boolean) => void;\n /**\n * Called when the query changes.\n */\n onQueryChange?: (query: string) => void;\n /**\n * Placeholder text.\n */\n placeholder?: string;\n /**\n * Ref forwarded to the field root.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Custom result renderer.\n */\n renderItem?: (item: T) => ReactNode;\n /**\n * Provides results for the menu. Use `createStaticSearchSource` for\n * in-memory data, or implement {@link SearchSource} for async/remote\n * search.\n */\n searchSource: SearchSource<T>;\n /**\n * Visual size.\n * @default 'md'\n */\n size?: InputSize;\n /**\n * Icon shown before the input.\n */\n startIcon?: IconComponent;\n /**\n * Validation status displayed below the selector.\n */\n status?: InputStatus;\n /**\n * Inline styles applied to the input wrapper.\n */\n style?: CSSProperties;\n /**\n * Selected item.\n */\n value: T | null;\n } & FieldNecessity;\n\nconst styles = {\n wrapper: css({\n cursor: 'text',\n flexWrap: 'wrap',\n }),\n tag: css({\n my: '-1',\n ms: '-1',\n }),\n inputHidden: css({\n position: 'absolute',\n opacity: 0,\n w: 0,\n minW: 0,\n flexBasis: 0,\n }),\n clearButton: css({\n ms: 'auto',\n }),\n} as const;\n\n/**\n * Search-as-you-type field for selecting a single item from a search source.\n */\nexport function AutocompleteInput<T extends SearchableItem>({\n className,\n 'data-testid': dataTestId,\n debounceMs,\n description,\n emptySearchResultsText,\n errorText,\n hasAutoFocus = false,\n hasClear = true,\n hasEntriesOnFocus = false,\n isDisabled = false,\n isLabelHidden = false,\n isOptional,\n isRequired,\n label,\n labelIcon,\n labelTooltip,\n maxMenuItems,\n onChange,\n onOpenChange,\n onQueryChange,\n placeholder,\n ref,\n renderItem,\n searchSource,\n size = 'md',\n startIcon,\n status,\n style,\n value,\n}: AutocompleteInputProps<T>): React.JSX.Element {\n const inputId = useId();\n const descriptionID = isReactNode(description)\n ? `${inputId}-description`\n : undefined;\n const statusMessageID = getStatusMessageID(inputId, status);\n const describedBy = getDescribedBy(descriptionID, statusMessageID);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const [isEditing, setIsEditing] = useState(false);\n const [queryValue, setQueryValue] = useState('');\n const showTag = value != null && !isEditing;\n const fieldStatus = useMemo(\n () =>\n status == null ? undefined : {...status, messageID: statusMessageID},\n [status, statusMessageID],\n );\n\n const necessity = getNecessity(isOptional, isRequired);\n\n const startEditing = useCallback(\n (seedQuery: string) => {\n if (isDisabled) {\n return;\n }\n setIsEditing(true);\n setQueryValue(seedQuery);\n requestAnimationFrame(() => {\n const input = inputRef.current;\n if (input != null) {\n input.focus();\n input.setSelectionRange(seedQuery.length, seedQuery.length);\n }\n });\n },\n [isDisabled],\n );\n\n return (\n <Field\n className={className}\n description={description}\n descriptionID={descriptionID}\n inputId={inputId}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n {...necessity}\n label={label}\n labelIcon={labelIcon}\n labelTooltip={labelTooltip}\n ref={ref}\n status={fieldStatus}\n style={style}>\n {/* eslint-disable-next-line jsx-a11y-x/click-events-have-key-events, jsx-a11y-x/no-static-element-interactions -- wrapper delegates focus to the inner input; keyboard users interact with the input directly */}\n <div\n className={cx(\n inputRecipe({\n size,\n status: status?.type,\n isDisabled,\n }),\n styles.wrapper,\n )}\n data-testid={dataTestId}\n onClick={() => {\n if (showTag) {\n startEditing(value.label);\n }\n }}\n ref={wrapperRef}>\n {startIcon != null ? (\n <span className={inputStyles.iconSlot}>\n <Icon color=\"secondary\" icon={startIcon} size=\"sm\" />\n </span>\n ) : null}\n {showTag ? (\n <Tag\n className={styles.tag}\n isDisabled={isDisabled}\n label={value.label}\n onClick={() => startEditing(value.label)}\n size={size}\n />\n ) : null}\n <BaseAutocompleteInput\n anchorRef={wrapperRef}\n ariaDescribedBy={describedBy}\n className={showTag ? styles.inputHidden : undefined}\n debounceMs={debounceMs}\n emptySearchResultsText={emptySearchResultsText}\n errorText={errorText}\n hasAutoFocus={hasAutoFocus}\n hasEntriesOnFocus={hasEntriesOnFocus}\n inputId={inputId}\n isDisabled={isDisabled}\n isRequired={isRequired}\n maxMenuItems={maxMenuItems}\n onChange={item => {\n setIsEditing(false);\n setQueryValue('');\n onChange(item);\n }}\n onOpenChange={onOpenChange}\n onQueryChange={nextQuery => {\n setQueryValue(nextQuery);\n onQueryChange?.(nextQuery);\n }}\n placeholder={showTag ? undefined : placeholder}\n query={queryValue}\n ref={inputRef}\n renderItem={renderItem}\n searchSource={searchSource}\n size={size}\n value={value}\n />\n {hasClear && value != null && !isDisabled ? (\n <Button\n className={styles.clearButton}\n icon={X}\n isIconOnly\n label={`Clear ${label}`}\n onClick={event => {\n event.stopPropagation();\n setIsEditing(false);\n onChange(null);\n inputRef.current?.focus();\n }}\n size=\"sm\"\n variant=\"ghost\"\n />\n ) : null}\n </div>\n </Field>\n );\n}\n\nAutocompleteInput.displayName = 'AutocompleteInput';\n","import type {ReactNode} from 'react';\n\n/**\n * A search result item with a fully custom pre-rendered element. When\n * `element` is set, `AutocompleteInputItem` renders it directly — props\n * like `icon`, `description`, and `className` do not apply.\n */\nexport interface CustomSearchableItem<TAuxiliaryData = unknown> {\n /**\n * Custom data associated with the item.\n */\n auxiliaryData?: TAuxiliaryData;\n /**\n * Pre-rendered item content. When set, `AutocompleteInputItem` renders\n * this element directly and ignores layout props like `icon` and\n * `description`.\n */\n element: ReactNode;\n /**\n * Stable unique identifier.\n */\n id: string;\n /**\n * Display text used for the selected-value tag chip.\n */\n label: string;\n}\n\n/**\n * A search result item rendered by the default `AutocompleteInputItem`\n * layout with an optional icon and description.\n */\nexport interface StandardSearchableItem<TAuxiliaryData = unknown> {\n /**\n * Custom data associated with the item.\n */\n auxiliaryData?: TAuxiliaryData;\n /**\n * Must be omitted to use the standard layout. Set `element` on a\n * {@link CustomSearchableItem} for fully custom rendering.\n */\n element?: undefined;\n /**\n * Stable unique identifier.\n */\n id: string;\n /**\n * Display text.\n */\n label: string;\n}\n\n/**\n * A search result item. Items without `element` use the default\n * `AutocompleteInputItem` layout; items with `element` render fully\n * custom content.\n */\nexport type SearchableItem<TAuxiliaryData = unknown> =\n | CustomSearchableItem<TAuxiliaryData>\n | StandardSearchableItem<TAuxiliaryData>;\n\nexport interface SearchSource<T extends SearchableItem = SearchableItem> {\n /**\n * Return initial items, usually recent or common selections.\n */\n bootstrap(): Promise<T[]> | T[];\n /**\n * Optional cancellation for in-flight async searches.\n */\n cancel?(): void;\n /**\n * Return items matching the query.\n */\n search(query: string): Promise<T[]> | T[];\n}\n\nexport interface CreateStaticSearchSourceOptions<\n T extends SearchableItem = SearchableItem,\n> {\n /**\n * Extra searchable terms for each item.\n */\n getKeywords?: (item: T) => string[];\n}\n\nexport function createStaticSearchSource<T extends SearchableItem>(\n items: T[],\n options?: CreateStaticSearchSourceOptions<T>,\n): SearchSource<T> {\n return {\n bootstrap: () => items,\n search(query) {\n const normalizedQuery = query.trim().toLowerCase();\n if (normalizedQuery === '') {\n return items;\n }\n\n return items.filter(item => {\n if (item.label.toLowerCase().includes(normalizedQuery)) {\n return true;\n }\n return (\n options\n ?.getKeywords?.(item)\n .some(keyword => keyword.toLowerCase().includes(normalizedQuery)) ??\n false\n );\n });\n },\n };\n}\n"]}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import { Calendar } from './chunk-
|
|
1
|
+
import { Calendar } from './chunk-6ONAGCCZ.js';
|
|
2
2
|
import { plainDateFormat, DATE_FORMAT_LONG, plainDateIsBefore, plainDateIsAfter, plainDateCreate } from './chunk-QSEDH7T2.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, getStatusIcon } from './chunk-WOIWI2UO.js';
|
|
6
|
-
import { Popover } from './chunk-
|
|
7
|
-
import { Button } from './chunk-
|
|
8
|
-
import { Spinner } from './chunk-
|
|
6
|
+
import { Popover } from './chunk-ZAX2UJBC.js';
|
|
7
|
+
import { Button } from './chunk-2LABTS4P.js';
|
|
8
|
+
import { Spinner } from './chunk-6ULCJ3XZ.js';
|
|
9
9
|
import { mergeRefs } from './chunk-SGLIDI6R.js';
|
|
10
|
-
import {
|
|
10
|
+
import { isReactNode } from './chunk-2PSZAWLC.js';
|
|
11
11
|
import { css } from './chunk-OD4DHHZH.js';
|
|
12
|
+
import { cx } from './chunk-PPNETWIP.js';
|
|
12
13
|
import { CalendarIcon, X } from 'lucide-react';
|
|
13
14
|
import { useId, useRef, useState, useCallback } from 'react';
|
|
14
15
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
@@ -125,6 +126,7 @@ function DateInput({
|
|
|
125
126
|
isDisabled = false,
|
|
126
127
|
isLoading = false,
|
|
127
128
|
hasClear = false,
|
|
129
|
+
htmlId,
|
|
128
130
|
status,
|
|
129
131
|
labelIcon,
|
|
130
132
|
labelTooltip,
|
|
@@ -133,8 +135,9 @@ function DateInput({
|
|
|
133
135
|
style,
|
|
134
136
|
ref
|
|
135
137
|
}) {
|
|
136
|
-
const
|
|
137
|
-
const
|
|
138
|
+
const generatedId = useId();
|
|
139
|
+
const inputId = htmlId ?? generatedId;
|
|
140
|
+
const descriptionID = isReactNode(description) ? `${inputId}-description` : void 0;
|
|
138
141
|
const statusMessageID = getStatusMessageID(inputId, status);
|
|
139
142
|
const describedBy = getDescribedBy(descriptionID, statusMessageID);
|
|
140
143
|
const inputRef = useRef(null);
|
|
@@ -304,5 +307,5 @@ function DateInput({
|
|
|
304
307
|
DateInput.displayName = "DateInput";
|
|
305
308
|
|
|
306
309
|
export { DateInput };
|
|
307
|
-
//# sourceMappingURL=chunk-
|
|
308
|
-
//# sourceMappingURL=chunk-
|
|
310
|
+
//# sourceMappingURL=chunk-BSAZRW6T.js.map
|
|
311
|
+
//# sourceMappingURL=chunk-BSAZRW6T.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/internal/parseDateInput.ts","../src/components/DateInput/DateInput.tsx"],"names":[],"mappings":"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","file":"chunk-BSAZRW6T.js","sourcesContent":["import {plainDateCreate, type PlainDate} from './plainDate';\n\nconst MONTH_NAMES: Partial<Record<string, number>> = {\n jan: 1,\n january: 1,\n feb: 2,\n february: 2,\n mar: 3,\n march: 3,\n apr: 4,\n april: 4,\n may: 5,\n jun: 6,\n june: 6,\n jul: 7,\n july: 7,\n aug: 8,\n august: 8,\n sep: 9,\n september: 9,\n oct: 10,\n october: 10,\n nov: 11,\n november: 11,\n dec: 12,\n december: 12,\n};\n\n/**\n * Parses common date input formats into a PlainDate.\n * Supports: \"2026-05-21\", \"05/21/2026\", \"May 21, 2026\", \"21 May 2026\", etc.\n * Returns null if the input cannot be parsed.\n */\nexport function parseDateInput(input: string): PlainDate | null {\n const trimmed = input.trim();\n if (trimmed === '') {\n return null;\n }\n\n // ISO format: 2026-05-21\n const isoMatch = /^(\\d{4})-(\\d{1,2})-(\\d{1,2})$/.exec(trimmed);\n if (isoMatch != null) {\n return tryCreate(\n parseInt(isoMatch[1], 10),\n parseInt(isoMatch[2], 10),\n parseInt(isoMatch[3], 10),\n );\n }\n\n // US format: 05/21/2026, 5/21/2026, or 3/4/25 (2-digit year)\n const usMatch = /^(\\d{1,2})[/\\-.](\\d{1,2})[/\\-.](\\d{2,4})$/.exec(trimmed);\n if (usMatch != null) {\n let year = parseInt(usMatch[3], 10);\n if (year < 100) {\n year += year < 50 ? 2000 : 1900;\n }\n return tryCreate(year, parseInt(usMatch[1], 10), parseInt(usMatch[2], 10));\n }\n\n // Named month: \"May 21, 2026\" or \"May 21 2026\"\n const namedMonthFirst = /^([A-Za-z]+)\\s+(\\d{1,2}),?\\s+(\\d{4})$/.exec(trimmed);\n if (namedMonthFirst != null) {\n const month = MONTH_NAMES[namedMonthFirst[1].toLowerCase()];\n if (month != null) {\n return tryCreate(\n parseInt(namedMonthFirst[3], 10),\n month,\n parseInt(namedMonthFirst[2], 10),\n );\n }\n }\n\n // Named month reversed: \"21 May 2026\"\n const namedMonthLast = /^(\\d{1,2})\\s+([A-Za-z]+),?\\s+(\\d{4})$/.exec(trimmed);\n if (namedMonthLast != null) {\n const month = MONTH_NAMES[namedMonthLast[2].toLowerCase()];\n if (month != null) {\n return tryCreate(\n parseInt(namedMonthLast[3], 10),\n month,\n parseInt(namedMonthLast[1], 10),\n );\n }\n }\n\n return null;\n}\n\nfunction tryCreate(year: number, month: number, day: number): PlainDate | null {\n try {\n return plainDateCreate(year, month, day);\n } catch {\n return null;\n }\n}\n","import {CalendarIcon, X} from 'lucide-react';\nimport {\n useCallback,\n useId,\n useRef,\n useState,\n type ChangeEvent,\n type CSSProperties,\n type KeyboardEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\nimport {mergeRefs} from '../../internal/mergeRefs';\nimport {parseDateInput} from '../../internal/parseDateInput';\nimport {\n DATE_FORMAT_LONG,\n plainDateFormat,\n plainDateIsAfter,\n plainDateIsBefore,\n type PlainDate,\n} from '../../internal/plainDate';\nimport {Button} from '../Button';\nimport {Calendar, type CalendarHandle} from '../Calendar';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputSize,\n type InputStatus,\n} from '../Field';\nimport {inputRecipe, inputStyles} from '../Field/inputStyles';\nimport {\n getDescribedBy,\n getStatusIcon,\n getStatusMessageID,\n} from '../Field/inputUtils';\nimport type {IconComponent} from '../Icon';\nimport {Popover} from '../Popover';\nimport {Spinner} from '../Spinner';\n\nexport type {PlainDate} from '../../internal/plainDate';\n\nconst styles = {\n wrapper: css({ps: '1', gap: '1'}),\n} as const;\n\nexport type DateInputProps = {\n /**\n * Additional CSS class names applied to the input wrapper.\n */\n className?: string;\n /**\n * Test ID applied to the input element.\n */\n 'data-testid'?: string;\n /**\n * Supporting text rendered below the label.\n */\n description?: ReactNode;\n /**\n * Returns true for dates that should be disabled.\n */\n getIsDateDisabled?: (date: PlainDate) => boolean;\n /**\n * Whether to show a clear button when a value is selected.\n * @default false\n */\n hasClear?: boolean;\n /**\n * Custom HTML id applied to the input element.\n */\n htmlId?: string;\n /**\n * Whether the input is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label.\n * @default false\n */\n isLabelHidden?: boolean;\n /**\n * Whether the input is 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.\n */\n max?: PlainDate;\n /**\n * Minimum selectable date.\n */\n min?: PlainDate;\n /**\n * Called when the selected date changes.\n */\n onChange: (value: PlainDate | undefined) => void;\n /**\n * Placeholder text shown when no date is selected.\n */\n placeholder?: string;\n /**\n * Ref forwarded to the input element.\n */\n ref?: Ref<HTMLInputElement>;\n /**\n * Visual size of the input.\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 input wrapper.\n */\n style?: CSSProperties;\n /**\n * Currently selected date.\n */\n value: PlainDate | undefined;\n} & FieldNecessity;\n\nfunction formatDate(value: PlainDate | undefined): string {\n return value == null ? '' : plainDateFormat(value, DATE_FORMAT_LONG);\n}\n\nfunction isDateAllowed(\n date: PlainDate,\n options: {\n getIsDateDisabled?: (date: PlainDate) => boolean;\n max?: PlainDate;\n min?: PlainDate;\n },\n): boolean {\n if (options.min != null && plainDateIsBefore(date, options.min)) {\n return false;\n }\n if (options.max != null && plainDateIsAfter(date, options.max)) {\n return false;\n }\n if (options.getIsDateDisabled?.(date)) {\n return false;\n }\n return true;\n}\n\n/**\n * A date picker input that combines a text input with a calendar popover.\n * Users can type a date directly or select one from the calendar.\n */\nexport function DateInput({\n label,\n value,\n onChange,\n min,\n max,\n getIsDateDisabled,\n placeholder = 'Select a date',\n size = 'md',\n description,\n isLabelHidden = false,\n isOptional,\n isRequired,\n isDisabled = false,\n isLoading = false,\n hasClear = false,\n htmlId,\n status,\n labelIcon,\n labelTooltip,\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: DateInputProps): React.JSX.Element {\n const generatedId = useId();\n const inputId = htmlId ?? generatedId;\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>(null);\n const calendarRef = useRef<CalendarHandle | null>(null);\n const wrapperRef = useRef<HTMLDivElement | null>(null);\n const [isOpen, setIsOpen] = useState(false);\n const [pendingInput, setPendingInput] = useState<string | null>(null);\n\n const displayValue = pendingInput ?? formatDate(value);\n\n const necessity = getNecessity(isOptional, isRequired);\n\n const handleCalendarChange = useCallback(\n (nextValue: PlainDate) => {\n onChange(nextValue);\n setPendingInput(null);\n setIsOpen(false);\n inputRef.current?.focus();\n },\n [onChange],\n );\n\n const handleInputChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n const text = event.target.value;\n setPendingInput(text);\n\n const parsed = parseDateInput(text);\n if (\n parsed != null &&\n isDateAllowed(parsed, {min, max, getIsDateDisabled})\n ) {\n onChange(parsed);\n calendarRef.current?.navigateTo(parsed);\n }\n },\n [getIsDateDisabled, max, min, onChange],\n );\n\n const commitPendingInput = useCallback(() => {\n if (pendingInput == null) {\n return;\n }\n\n if (pendingInput.trim() === '') {\n if (value != null) {\n onChange(undefined);\n }\n setPendingInput(null);\n return;\n }\n\n const parsed = parseDateInput(pendingInput);\n if (\n parsed != null &&\n isDateAllowed(parsed, {min, max, getIsDateDisabled})\n ) {\n onChange(parsed);\n }\n setPendingInput(null);\n }, [getIsDateDisabled, max, min, onChange, pendingInput, value]);\n\n const handleBlur = useCallback(() => {\n commitPendingInput();\n }, [commitPendingInput]);\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n commitPendingInput();\n }\n },\n [commitPendingInput],\n );\n\n const handleClear = useCallback(() => {\n onChange(undefined);\n setPendingInput(null);\n inputRef.current?.focus();\n }, [onChange]);\n\n return (\n <Field\n className={className}\n description={description}\n descriptionID={descriptionID}\n inputId={inputId}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n {...necessity}\n label={label}\n labelIcon={labelIcon}\n labelTooltip={labelTooltip}\n status={\n status == null ? undefined : {...status, messageID: statusMessageID}\n }\n style={style}>\n <div\n className={cx(\n inputRecipe({\n size,\n status: status?.type,\n isDisabled: isDisabled,\n }),\n styles.wrapper,\n )}\n ref={wrapperRef}>\n <Popover\n content={\n <Calendar\n getIsDateDisabled={getIsDateDisabled}\n max={max}\n min={min}\n onChange={handleCalendarChange}\n ref={calendarRef}\n value={value}\n viewDate={value}\n />\n }\n hasAutoFocus\n isEnabled={!isDisabled}\n isOpen={isOpen}\n label={`Choose ${label}`}\n onOpenChange={setIsOpen}\n padding={3}>\n <Button\n icon={CalendarIcon}\n isDisabled={isDisabled}\n isIconOnly\n label={`Choose ${label}`}\n size=\"sm\"\n variant=\"ghost\"\n />\n </Popover>\n <input\n aria-busy={isLoading || undefined}\n aria-describedby={describedBy}\n aria-invalid={status?.type === 'error' || undefined}\n aria-required={isRequired ?? undefined}\n autoComplete=\"off\"\n className={inputStyles.control}\n data-testid={dataTestId}\n disabled={isDisabled}\n id={inputId}\n onBlur={handleBlur}\n onChange={handleInputChange}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n ref={mergeRefs(ref, inputRef)}\n type=\"text\"\n value={displayValue}\n />\n {hasClear && value != null && !isDisabled && !isLoading ? (\n <Button\n icon={X}\n isIconOnly\n label={`Clear ${label}`}\n onClick={handleClear}\n size=\"sm\"\n variant=\"ghost\"\n />\n ) : null}\n {isLoading ? <Spinner size=\"sm\" /> : null}\n {status != null ? (\n <span className={inputStyles.iconSlot}>\n {getStatusIcon(status.type)}\n </span>\n ) : null}\n </div>\n </Field>\n );\n}\n\nDateInput.displayName = 'DateInput';\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var
|
|
3
|
+
var chunkYY6KJO5Z_cjs = require('./chunk-YY6KJO5Z.cjs');
|
|
4
|
+
var chunk7CCXHH6Y_cjs = require('./chunk-7CCXHH6Y.cjs');
|
|
5
|
+
var chunkZ6RT3WPE_cjs = require('./chunk-Z6RT3WPE.cjs');
|
|
6
6
|
var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
|
|
7
7
|
var react = require('react');
|
|
8
8
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -10,7 +10,7 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
10
10
|
// src/components/Slider/Slider.recipe.ts
|
|
11
11
|
var THUMB_SIZE = 20;
|
|
12
12
|
var TRACK_SIZE = 4;
|
|
13
|
-
var sliderRecipe =
|
|
13
|
+
var sliderRecipe = chunkZ6RT3WPE_cjs.sva({
|
|
14
14
|
slots: [
|
|
15
15
|
"field",
|
|
16
16
|
"filledTrack",
|
|
@@ -436,9 +436,9 @@ function Slider({
|
|
|
436
436
|
isDisabled: isDisabled || void 0
|
|
437
437
|
});
|
|
438
438
|
const textDisplay = valueDisplay === "text" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: classes.textValue, children: isRange ? `${displayValue(values[0])} - ${displayValue(values[1])}` : displayValue(values[0]) }) : null;
|
|
439
|
-
const necessity =
|
|
439
|
+
const necessity = chunkYY6KJO5Z_cjs.getNecessity(isOptional, isRequired);
|
|
440
440
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
441
|
-
|
|
441
|
+
chunkYY6KJO5Z_cjs.Field,
|
|
442
442
|
{
|
|
443
443
|
className: chunkSPDVNY2Z_cjs.cx(className, classes.field),
|
|
444
444
|
"data-testid": dataTestId,
|
|
@@ -533,7 +533,7 @@ function Slider({
|
|
|
533
533
|
return thumb;
|
|
534
534
|
}
|
|
535
535
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
536
|
-
|
|
536
|
+
chunk7CCXHH6Y_cjs.Tooltip,
|
|
537
537
|
{
|
|
538
538
|
content: displayValue(currentValue),
|
|
539
539
|
delay: 0,
|
|
@@ -555,5 +555,5 @@ function Slider({
|
|
|
555
555
|
Slider.displayName = "Slider";
|
|
556
556
|
|
|
557
557
|
exports.Slider = Slider;
|
|
558
|
-
//# sourceMappingURL=chunk-
|
|
559
|
-
//# sourceMappingURL=chunk-
|
|
558
|
+
//# sourceMappingURL=chunk-BUESV4DR.cjs.map
|
|
559
|
+
//# sourceMappingURL=chunk-BUESV4DR.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/Slider/Slider.recipe.ts","../src/components/Slider/Slider.tsx"],"names":["sva","useId","useRef","useMemo","useEffect","useCallback","jsx","getNecessity","Field","cx","jsxs","Tooltip"],"mappings":"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","file":"chunk-I2X2Z7FA.cjs","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nconst THUMB_SIZE = 20;\nconst TRACK_SIZE = 4;\n\nexport const sliderRecipe = sva({\n slots: [\n 'field',\n 'filledTrack',\n 'mark',\n 'markLabel',\n 'marksContainer',\n 'row',\n 'textValue',\n 'thumb',\n 'track',\n 'trackContainer',\n ],\n base: {\n row: {\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n },\n trackContainer: {\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n isolation: 'isolate',\n touchAction: 'none',\n userSelect: 'none',\n },\n track: {\n position: 'absolute',\n bg: 'track',\n borderRadius: 'full',\n },\n filledTrack: {\n position: 'absolute',\n bg: 'primary',\n borderRadius: 'full',\n },\n thumb: {\n position: 'absolute',\n zIndex: 1,\n w: `${THUMB_SIZE}px`,\n h: `${THUMB_SIZE}px`,\n borderRadius: 'full',\n bg: 'primary',\n cursor: 'grab',\n outline: 'none',\n transform: 'translate(-50%, -50%)',\n transitionDuration: 'fast',\n transitionProperty: 'background-color, box-shadow',\n transitionTimingFunction: 'default',\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n _hover: {\n '@media (hover: hover)': {\n bg: 'primary.emphasized',\n },\n },\n },\n marksContainer: {\n position: 'absolute',\n },\n mark: {\n position: 'absolute',\n bg: 'border.emphasized',\n borderRadius: 'full',\n },\n markLabel: {\n position: 'absolute',\n color: 'fg.muted',\n fontFamily: 'body',\n fontSize: 'xs',\n whiteSpace: 'nowrap',\n },\n textValue: {\n flexShrink: 0,\n color: 'fg',\n fontFamily: 'body',\n fontSize: 'sm',\n whiteSpace: 'nowrap',\n },\n },\n variants: {\n orientation: {\n horizontal: {\n trackContainer: {\n w: 'full',\n h: `${THUMB_SIZE}px`,\n flexGrow: 1,\n cursor: 'pointer',\n },\n track: {\n insetInline: 0,\n top: '50%',\n h: `${TRACK_SIZE}px`,\n transform: 'translateY(-50%)',\n },\n filledTrack: {\n top: '50%',\n h: `${TRACK_SIZE}px`,\n transform: 'translateY(-50%)',\n },\n thumb: {\n top: '50%',\n },\n marksContainer: {\n insetInline: 0,\n top: '50%',\n },\n mark: {\n w: '0.5',\n h: '2',\n transform: 'translate(-50%, -50%)',\n },\n markLabel: {\n top: `${THUMB_SIZE / 2 + 4}px`,\n transform: 'translateX(-50%)',\n },\n },\n vertical: {\n field: {\n alignItems: 'center',\n w: 'fit-content',\n },\n row: {\n flexDirection: 'column',\n alignItems: 'center',\n },\n trackContainer: {\n w: `${THUMB_SIZE}px`,\n h: '40',\n flexDirection: 'column',\n justifyContent: 'center',\n cursor: 'pointer',\n },\n track: {\n insetBlock: 0,\n left: '50%',\n w: `${TRACK_SIZE}px`,\n transform: 'translateX(-50%)',\n },\n filledTrack: {\n left: '50%',\n w: `${TRACK_SIZE}px`,\n transform: 'translateX(-50%)',\n },\n thumb: {\n left: '50%',\n transform: 'translate(-50%, 50%)',\n },\n marksContainer: {\n insetBlock: 0,\n left: '50%',\n },\n mark: {\n w: '2',\n h: '0.5',\n transform: 'translate(-50%, 50%)',\n },\n markLabel: {\n left: `${THUMB_SIZE / 2 + 4}px`,\n transform: 'translateY(50%)',\n },\n },\n },\n isDisabled: {\n true: {\n trackContainer: {\n cursor: 'not-allowed',\n opacity: 0.5,\n },\n thumb: {\n bg: 'track.disabled',\n cursor: 'not-allowed',\n },\n },\n },\n },\n defaultVariants: {\n orientation: 'horizontal',\n },\n});\n\nexport type SliderVariants = RecipeVariantProps<typeof sliderRecipe>;\n","import {\n useCallback,\n useEffect,\n useId,\n useMemo,\n useRef,\n type CSSProperties,\n type KeyboardEvent,\n type PointerEvent,\n type Ref,\n} from 'react';\nimport {cx} from '../../internal/cx';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputStatus,\n} from '../Field';\nimport {Tooltip} from '../Tooltip';\nimport {sliderRecipe} from './Slider.recipe';\n\nexport type SliderOrientation = 'horizontal' | 'vertical';\nexport type SliderValueDisplay = 'tooltip' | 'text' | 'none';\n\nexport interface SliderMark {\n /**\n * Text label rendered beside the mark.\n */\n label?: string;\n /**\n * Numeric position of the mark along the track.\n */\n value: number;\n}\n\nexport type SliderBaseProps = {\n /**\n * Additional CSS class names applied to the field root.\n */\n className?: string;\n /**\n * Test ID applied to the field root.\n */\n 'data-testid'?: string;\n /**\n * Supporting text displayed below the label.\n */\n description?: string;\n /**\n * Custom value formatter used for visible value text, tooltip content, and\n * `aria-valuetext`.\n */\n formatValue?: (value: number) => string;\n /**\n * Whether the slider is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label.\n * @default false\n */\n isLabelHidden?: boolean;\n /**\n * Field label.\n */\n label: string;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: string;\n /**\n * Tick marks rendered along the track.\n */\n marks?: SliderMark[];\n /**\n * Maximum value.\n * @default 100\n */\n max?: number;\n /**\n * Minimum value.\n * @default 0\n */\n min?: number;\n /**\n * Slider orientation.\n * @default 'horizontal'\n */\n orientation?: SliderOrientation;\n /**\n * Ref forwarded to the field root.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Validation status displayed below the slider.\n */\n status?: InputStatus;\n /**\n * Step increment.\n * @default 1\n */\n step?: number;\n /**\n * Inline styles applied to the field root.\n */\n style?: CSSProperties;\n /**\n * How to display the current value.\n * @default 'tooltip'\n */\n valueDisplay?: SliderValueDisplay;\n} & FieldNecessity;\n\nexport type SliderSingleProps = SliderBaseProps & {\n /**\n * Called when the value changes during pointer or keyboard interaction.\n */\n onChange: (value: number) => void;\n /**\n * Called when pointer or keyboard interaction commits a value.\n */\n onChangeEnd?: (value: number) => void;\n /**\n * Current value.\n */\n value: number;\n};\n\nexport type SliderRangeProps = SliderBaseProps & {\n /**\n * Minimum number of steps between range thumbs.\n * @default 0\n */\n minStepsBetweenThumbs?: number;\n /**\n * Called when the range changes during pointer or keyboard interaction.\n */\n onChange: (value: [number, number]) => void;\n /**\n * Called when pointer or keyboard interaction commits a range.\n */\n onChangeEnd?: (value: [number, number]) => void;\n /**\n * Current range.\n */\n value: [number, number];\n};\n\nexport type SliderProps = SliderRangeProps | SliderSingleProps;\n\nfunction clamp(value: number, min: number, max: number): number {\n return Math.min(Math.max(value, min), max);\n}\n\nfunction snapToStep(value: number, min: number, step: number): number {\n if (step <= 0) {\n return value;\n }\n return min + Math.round((value - min) / step) * step;\n}\n\nfunction getPercent(value: number, min: number, max: number): number {\n if (max === min) {\n return 0;\n }\n return ((value - min) / (max - min)) * 100;\n}\n\n/**\n * Slider control for selecting a single value or a range.\n */\nexport function Slider({\n className,\n 'data-testid': dataTestId,\n description,\n formatValue,\n isDisabled = false,\n isLabelHidden = false,\n isOptional,\n isRequired,\n label,\n labelTooltip,\n marks,\n max = 100,\n min = 0,\n orientation = 'horizontal',\n ref,\n status,\n step = 1,\n style,\n value,\n valueDisplay = 'tooltip',\n ...props\n}: SliderProps): React.JSX.Element {\n const inputId = useId();\n const trackRef = useRef<HTMLDivElement>(null);\n const pendingValuesRef = useRef<number[] | null>(null);\n const draggingThumbRef = useRef<number | null>(null);\n const isRange = Array.isArray(value);\n const isHorizontal = orientation === 'horizontal';\n const values = useMemo(() => (isRange ? value : [value]), [isRange, value]);\n const onChange = props.onChange;\n const onChangeEnd = 'onChangeEnd' in props ? props.onChangeEnd : undefined;\n const minStepsBetweenThumbs =\n isRange && 'minStepsBetweenThumbs' in props\n ? (props.minStepsBetweenThumbs ?? 0)\n : 0;\n const descriptionID =\n description != null ? `${inputId}-description` : undefined;\n const statusMessageID =\n status?.message != null ? `${inputId}-status` : undefined;\n const ariaDescribedBy =\n [descriptionID, statusMessageID].filter(Boolean).join(' ') || undefined;\n\n useEffect(() => {\n pendingValuesRef.current = values;\n }, [values]);\n\n const displayValue = useCallback(\n (displayedValue: number): string =>\n formatValue == null\n ? String(displayedValue)\n : formatValue(displayedValue),\n [formatValue],\n );\n\n const getValueFromPosition = useCallback(\n (clientX: number, clientY: number): number => {\n const track = trackRef.current;\n if (track == null) {\n return min;\n }\n const rect = track.getBoundingClientRect();\n const rawPercent = isHorizontal\n ? (clientX - rect.left) / rect.width\n : 1 - (clientY - rect.top) / rect.height;\n const percent = clamp(rawPercent, 0, 1);\n const rawValue = min + percent * (max - min);\n return clamp(snapToStep(rawValue, min, step), min, max);\n },\n [isHorizontal, max, min, step],\n );\n\n const getClosestThumb = useCallback(\n (newValue: number): number => {\n if (!isRange) {\n return 0;\n }\n const [lower, upper] = values;\n return Math.abs(newValue - lower) <= Math.abs(newValue - upper) ? 0 : 1;\n },\n [isRange, values],\n );\n\n const getNextValues = useCallback(\n (thumbIndex: number, newValue: number): number[] => {\n const snapped = clamp(snapToStep(newValue, min, step), min, max);\n if (!isRange) {\n return [snapped];\n }\n\n const nextValues = [...values] as [number, number];\n nextValues[thumbIndex] = snapped;\n const minGap = minStepsBetweenThumbs * step;\n if (thumbIndex === 0) {\n nextValues[0] = Math.min(nextValues[0], nextValues[1] - minGap);\n } else {\n nextValues[1] = Math.max(nextValues[1], nextValues[0] + minGap);\n }\n nextValues[0] = clamp(nextValues[0], min, max);\n nextValues[1] = clamp(nextValues[1], min, max);\n return nextValues;\n },\n [isRange, max, min, minStepsBetweenThumbs, step, values],\n );\n\n const emitChange = useCallback(\n (nextValues: number[]) => {\n pendingValuesRef.current = nextValues;\n if (isRange) {\n (onChange as SliderRangeProps['onChange'])(\n nextValues as [number, number],\n );\n } else {\n (onChange as SliderSingleProps['onChange'])(nextValues[0]);\n }\n },\n [isRange, onChange],\n );\n\n const emitChangeEnd = useCallback(\n (nextValues: number[]) => {\n if (isRange) {\n (onChangeEnd as SliderRangeProps['onChangeEnd'])?.(\n nextValues as [number, number],\n );\n } else {\n (onChangeEnd as SliderSingleProps['onChangeEnd'])?.(nextValues[0]);\n }\n },\n [isRange, onChangeEnd],\n );\n\n const updateValue = useCallback(\n (thumbIndex: number, newValue: number): number[] | null => {\n if (isDisabled) {\n return null;\n }\n const nextValues = getNextValues(thumbIndex, newValue);\n emitChange(nextValues);\n return nextValues;\n },\n [emitChange, getNextValues, isDisabled],\n );\n\n const handlePointerDown = useCallback(\n (event: PointerEvent<HTMLDivElement>) => {\n if (isDisabled) {\n return;\n }\n event.preventDefault();\n const markElement = (event.target as HTMLElement).closest<HTMLElement>(\n '[data-mark-value]',\n );\n const newValue =\n markElement == null\n ? getValueFromPosition(event.clientX, event.clientY)\n : Number(markElement.dataset.markValue);\n const thumbIndex = getClosestThumb(newValue);\n draggingThumbRef.current = thumbIndex;\n updateValue(thumbIndex, newValue);\n\n if (typeof event.currentTarget.setPointerCapture === 'function') {\n event.currentTarget.setPointerCapture(event.pointerId);\n }\n },\n [getClosestThumb, getValueFromPosition, isDisabled, updateValue],\n );\n\n const handlePointerMove = useCallback(\n (event: PointerEvent<HTMLDivElement>) => {\n if (draggingThumbRef.current == null || isDisabled) {\n return;\n }\n updateValue(\n draggingThumbRef.current,\n getValueFromPosition(event.clientX, event.clientY),\n );\n },\n [getValueFromPosition, isDisabled, updateValue],\n );\n\n const handlePointerUp = useCallback(() => {\n if (draggingThumbRef.current == null) {\n return;\n }\n draggingThumbRef.current = null;\n emitChangeEnd(pendingValuesRef.current ?? values);\n }, [emitChangeEnd, values]);\n\n const handleKeyDown = useCallback(\n (thumbIndex: number, event: KeyboardEvent<HTMLDivElement>) => {\n if (isDisabled) {\n return;\n }\n\n const currentValue = values[thumbIndex];\n let nextValue: number;\n switch (event.key) {\n case 'ArrowDown':\n case 'ArrowLeft':\n nextValue = currentValue - step;\n break;\n case 'ArrowRight':\n case 'ArrowUp':\n nextValue = currentValue + step;\n break;\n case 'End':\n nextValue = max;\n break;\n case 'Home':\n nextValue = min;\n break;\n case 'PageDown':\n nextValue = currentValue - step * 10;\n break;\n case 'PageUp':\n nextValue = currentValue + step * 10;\n break;\n default:\n return;\n }\n\n event.preventDefault();\n const nextValues = getNextValues(thumbIndex, nextValue);\n emitChange(nextValues);\n emitChangeEnd(nextValues);\n },\n [\n emitChange,\n emitChangeEnd,\n getNextValues,\n isDisabled,\n max,\n min,\n step,\n values,\n ],\n );\n\n const filledStyle: CSSProperties = (() => {\n if (isRange) {\n const [lower, upper] = values;\n const lowerPercent = getPercent(lower, min, max);\n const upperPercent = getPercent(upper, min, max);\n return isHorizontal\n ? {left: `${lowerPercent}%`, width: `${upperPercent - lowerPercent}%`}\n : {\n bottom: `${lowerPercent}%`,\n height: `${upperPercent - lowerPercent}%`,\n };\n }\n const percent = getPercent(values[0], min, max);\n return isHorizontal\n ? {left: '0%', width: `${percent}%`}\n : {bottom: '0%', height: `${percent}%`};\n })();\n\n const classes = sliderRecipe({\n orientation,\n isDisabled: isDisabled || undefined,\n });\n\n const textDisplay =\n valueDisplay === 'text' ? (\n <span className={classes.textValue}>\n {isRange\n ? `${displayValue(values[0])} - ${displayValue(values[1])}`\n : displayValue(values[0])}\n </span>\n ) : null;\n\n const necessity = getNecessity(isOptional, isRequired);\n\n return (\n <Field\n className={cx(className, classes.field)}\n data-testid={dataTestId}\n description={description}\n descriptionID={descriptionID}\n inputId={inputId}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n {...necessity}\n label={label}\n labelAs=\"span\"\n labelTooltip={labelTooltip}\n ref={ref}\n status={\n status == null ? undefined : {...status, messageID: statusMessageID}\n }\n statusVariant=\"detached\"\n style={style}>\n <div className={classes.row}>\n <div\n aria-label={isRange ? label : undefined}\n className={classes.trackContainer}\n data-testid=\"slider-track-container\"\n onPointerCancel={handlePointerUp}\n onPointerDown={handlePointerDown}\n onPointerMove={handlePointerMove}\n onPointerUp={handlePointerUp}\n ref={trackRef}\n role={isRange ? 'group' : undefined}>\n <div aria-hidden=\"true\" className={classes.track} />\n <div\n aria-hidden=\"true\"\n className={classes.filledTrack}\n style={filledStyle}\n />\n {marks == null ? null : (\n <div aria-hidden=\"true\" className={classes.marksContainer}>\n {marks.map(mark => {\n const percent = getPercent(mark.value, min, max);\n const markStyle = isHorizontal\n ? {left: `${percent}%`}\n : {bottom: `${percent}%`};\n return (\n <div key={mark.value}>\n <div\n className={classes.mark}\n data-mark-value={mark.value}\n data-testid=\"slider-mark\"\n style={markStyle}\n />\n {mark.label == null ? null : (\n <span\n className={classes.markLabel}\n data-mark-value={mark.value}\n data-testid=\"slider-mark-label\"\n style={markStyle}>\n {mark.label}\n </span>\n )}\n </div>\n );\n })}\n </div>\n )}\n {values.map((currentValue, thumbIndex) => {\n const percent = getPercent(currentValue, min, max);\n const thumbStyle = isHorizontal\n ? {left: `${percent}%`}\n : {bottom: `${percent}%`, left: '50%'};\n const thumbLabel = isRange\n ? thumbIndex === 0\n ? `${label}, minimum value`\n : `${label}, maximum value`\n : label;\n const thumbKey = isRange\n ? thumbIndex === 0\n ? 'minimum'\n : 'maximum'\n : 'value';\n const thumb = (\n <div\n aria-describedby={ariaDescribedBy}\n aria-disabled={isDisabled || undefined}\n aria-invalid={status?.type === 'error' || undefined}\n aria-label={thumbLabel}\n aria-orientation={orientation}\n aria-valuemax={max}\n aria-valuemin={min}\n aria-valuenow={currentValue}\n aria-valuetext={\n formatValue == null ? undefined : formatValue(currentValue)\n }\n className={classes.thumb}\n id={!isRange || thumbIndex === 0 ? inputId : undefined}\n key={thumbKey}\n onKeyDown={event => handleKeyDown(thumbIndex, event)}\n role=\"slider\"\n style={thumbStyle}\n tabIndex={isDisabled ? -1 : 0}\n />\n );\n\n if (valueDisplay !== 'tooltip') {\n return thumb;\n }\n\n return (\n <Tooltip\n content={displayValue(currentValue)}\n delay={0}\n focusTrigger=\"always\"\n key={thumbKey}\n placement={isHorizontal ? 'above' : 'start'}>\n {thumb}\n </Tooltip>\n );\n })}\n </div>\n {textDisplay}\n </div>\n </Field>\n );\n}\n\nSlider.displayName = 'Slider';\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/Slider/Slider.recipe.ts","../src/components/Slider/Slider.tsx"],"names":["sva","useId","useRef","useMemo","useEffect","useCallback","jsx","getNecessity","Field","cx","jsxs","Tooltip"],"mappings":"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","file":"chunk-BUESV4DR.cjs","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nconst THUMB_SIZE = 20;\nconst TRACK_SIZE = 4;\n\nexport const sliderRecipe = sva({\n slots: [\n 'field',\n 'filledTrack',\n 'mark',\n 'markLabel',\n 'marksContainer',\n 'row',\n 'textValue',\n 'thumb',\n 'track',\n 'trackContainer',\n ],\n base: {\n row: {\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n },\n trackContainer: {\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n isolation: 'isolate',\n touchAction: 'none',\n userSelect: 'none',\n },\n track: {\n position: 'absolute',\n bg: 'track',\n borderRadius: 'full',\n },\n filledTrack: {\n position: 'absolute',\n bg: 'primary',\n borderRadius: 'full',\n },\n thumb: {\n position: 'absolute',\n zIndex: 1,\n w: `${THUMB_SIZE}px`,\n h: `${THUMB_SIZE}px`,\n borderRadius: 'full',\n bg: 'primary',\n cursor: 'grab',\n outline: 'none',\n transform: 'translate(-50%, -50%)',\n transitionDuration: 'fast',\n transitionProperty: 'background-color, box-shadow',\n transitionTimingFunction: 'default',\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n _hover: {\n '@media (hover: hover)': {\n bg: 'primary.emphasized',\n },\n },\n },\n marksContainer: {\n position: 'absolute',\n },\n mark: {\n position: 'absolute',\n bg: 'border.emphasized',\n borderRadius: 'full',\n },\n markLabel: {\n position: 'absolute',\n color: 'fg.muted',\n fontFamily: 'body',\n fontSize: 'xs',\n whiteSpace: 'nowrap',\n },\n textValue: {\n flexShrink: 0,\n color: 'fg',\n fontFamily: 'body',\n fontSize: 'sm',\n whiteSpace: 'nowrap',\n },\n },\n variants: {\n orientation: {\n horizontal: {\n trackContainer: {\n w: 'full',\n h: `${THUMB_SIZE}px`,\n flexGrow: 1,\n cursor: 'pointer',\n },\n track: {\n insetInline: 0,\n top: '50%',\n h: `${TRACK_SIZE}px`,\n transform: 'translateY(-50%)',\n },\n filledTrack: {\n top: '50%',\n h: `${TRACK_SIZE}px`,\n transform: 'translateY(-50%)',\n },\n thumb: {\n top: '50%',\n },\n marksContainer: {\n insetInline: 0,\n top: '50%',\n },\n mark: {\n w: '0.5',\n h: '2',\n transform: 'translate(-50%, -50%)',\n },\n markLabel: {\n top: `${THUMB_SIZE / 2 + 4}px`,\n transform: 'translateX(-50%)',\n },\n },\n vertical: {\n field: {\n alignItems: 'center',\n w: 'fit-content',\n },\n row: {\n flexDirection: 'column',\n alignItems: 'center',\n },\n trackContainer: {\n w: `${THUMB_SIZE}px`,\n h: '40',\n flexDirection: 'column',\n justifyContent: 'center',\n cursor: 'pointer',\n },\n track: {\n insetBlock: 0,\n left: '50%',\n w: `${TRACK_SIZE}px`,\n transform: 'translateX(-50%)',\n },\n filledTrack: {\n left: '50%',\n w: `${TRACK_SIZE}px`,\n transform: 'translateX(-50%)',\n },\n thumb: {\n left: '50%',\n transform: 'translate(-50%, 50%)',\n },\n marksContainer: {\n insetBlock: 0,\n left: '50%',\n },\n mark: {\n w: '2',\n h: '0.5',\n transform: 'translate(-50%, 50%)',\n },\n markLabel: {\n left: `${THUMB_SIZE / 2 + 4}px`,\n transform: 'translateY(50%)',\n },\n },\n },\n isDisabled: {\n true: {\n trackContainer: {\n cursor: 'not-allowed',\n opacity: 0.5,\n },\n thumb: {\n bg: 'track.disabled',\n cursor: 'not-allowed',\n },\n },\n },\n },\n defaultVariants: {\n orientation: 'horizontal',\n },\n});\n\nexport type SliderVariants = RecipeVariantProps<typeof sliderRecipe>;\n","import {\n useCallback,\n useEffect,\n useId,\n useMemo,\n useRef,\n type CSSProperties,\n type KeyboardEvent,\n type PointerEvent,\n type Ref,\n} from 'react';\nimport {cx} from '../../internal/cx';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputStatus,\n} from '../Field';\nimport {Tooltip} from '../Tooltip';\nimport {sliderRecipe} from './Slider.recipe';\n\nexport type SliderOrientation = 'horizontal' | 'vertical';\nexport type SliderValueDisplay = 'tooltip' | 'text' | 'none';\n\nexport interface SliderMark {\n /**\n * Text label rendered beside the mark.\n */\n label?: string;\n /**\n * Numeric position of the mark along the track.\n */\n value: number;\n}\n\nexport type SliderBaseProps = {\n /**\n * Additional CSS class names applied to the field root.\n */\n className?: string;\n /**\n * Test ID applied to the field root.\n */\n 'data-testid'?: string;\n /**\n * Supporting text displayed below the label.\n */\n description?: string;\n /**\n * Custom value formatter used for visible value text, tooltip content, and\n * `aria-valuetext`.\n */\n formatValue?: (value: number) => string;\n /**\n * Whether the slider is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label.\n * @default false\n */\n isLabelHidden?: boolean;\n /**\n * Field label.\n */\n label: string;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: string;\n /**\n * Tick marks rendered along the track.\n */\n marks?: SliderMark[];\n /**\n * Maximum value.\n * @default 100\n */\n max?: number;\n /**\n * Minimum value.\n * @default 0\n */\n min?: number;\n /**\n * Slider orientation.\n * @default 'horizontal'\n */\n orientation?: SliderOrientation;\n /**\n * Ref forwarded to the field root.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Validation status displayed below the slider.\n */\n status?: InputStatus;\n /**\n * Step increment.\n * @default 1\n */\n step?: number;\n /**\n * Inline styles applied to the field root.\n */\n style?: CSSProperties;\n /**\n * How to display the current value.\n * @default 'tooltip'\n */\n valueDisplay?: SliderValueDisplay;\n} & FieldNecessity;\n\nexport type SliderSingleProps = SliderBaseProps & {\n /**\n * Called when the value changes during pointer or keyboard interaction.\n */\n onChange: (value: number) => void;\n /**\n * Called when pointer or keyboard interaction commits a value.\n */\n onChangeEnd?: (value: number) => void;\n /**\n * Current value.\n */\n value: number;\n};\n\nexport type SliderRangeProps = SliderBaseProps & {\n /**\n * Minimum number of steps between range thumbs.\n * @default 0\n */\n minStepsBetweenThumbs?: number;\n /**\n * Called when the range changes during pointer or keyboard interaction.\n */\n onChange: (value: [number, number]) => void;\n /**\n * Called when pointer or keyboard interaction commits a range.\n */\n onChangeEnd?: (value: [number, number]) => void;\n /**\n * Current range.\n */\n value: [number, number];\n};\n\nexport type SliderProps = SliderRangeProps | SliderSingleProps;\n\nfunction clamp(value: number, min: number, max: number): number {\n return Math.min(Math.max(value, min), max);\n}\n\nfunction snapToStep(value: number, min: number, step: number): number {\n if (step <= 0) {\n return value;\n }\n return min + Math.round((value - min) / step) * step;\n}\n\nfunction getPercent(value: number, min: number, max: number): number {\n if (max === min) {\n return 0;\n }\n return ((value - min) / (max - min)) * 100;\n}\n\n/**\n * Slider control for selecting a single value or a range.\n */\nexport function Slider({\n className,\n 'data-testid': dataTestId,\n description,\n formatValue,\n isDisabled = false,\n isLabelHidden = false,\n isOptional,\n isRequired,\n label,\n labelTooltip,\n marks,\n max = 100,\n min = 0,\n orientation = 'horizontal',\n ref,\n status,\n step = 1,\n style,\n value,\n valueDisplay = 'tooltip',\n ...props\n}: SliderProps): React.JSX.Element {\n const inputId = useId();\n const trackRef = useRef<HTMLDivElement>(null);\n const pendingValuesRef = useRef<number[] | null>(null);\n const draggingThumbRef = useRef<number | null>(null);\n const isRange = Array.isArray(value);\n const isHorizontal = orientation === 'horizontal';\n const values = useMemo(() => (isRange ? value : [value]), [isRange, value]);\n const onChange = props.onChange;\n const onChangeEnd = 'onChangeEnd' in props ? props.onChangeEnd : undefined;\n const minStepsBetweenThumbs =\n isRange && 'minStepsBetweenThumbs' in props\n ? (props.minStepsBetweenThumbs ?? 0)\n : 0;\n const descriptionID =\n description != null ? `${inputId}-description` : undefined;\n const statusMessageID =\n status?.message != null ? `${inputId}-status` : undefined;\n const ariaDescribedBy =\n [descriptionID, statusMessageID].filter(Boolean).join(' ') || undefined;\n\n useEffect(() => {\n pendingValuesRef.current = values;\n }, [values]);\n\n const displayValue = useCallback(\n (displayedValue: number): string =>\n formatValue == null\n ? String(displayedValue)\n : formatValue(displayedValue),\n [formatValue],\n );\n\n const getValueFromPosition = useCallback(\n (clientX: number, clientY: number): number => {\n const track = trackRef.current;\n if (track == null) {\n return min;\n }\n const rect = track.getBoundingClientRect();\n const rawPercent = isHorizontal\n ? (clientX - rect.left) / rect.width\n : 1 - (clientY - rect.top) / rect.height;\n const percent = clamp(rawPercent, 0, 1);\n const rawValue = min + percent * (max - min);\n return clamp(snapToStep(rawValue, min, step), min, max);\n },\n [isHorizontal, max, min, step],\n );\n\n const getClosestThumb = useCallback(\n (newValue: number): number => {\n if (!isRange) {\n return 0;\n }\n const [lower, upper] = values;\n return Math.abs(newValue - lower) <= Math.abs(newValue - upper) ? 0 : 1;\n },\n [isRange, values],\n );\n\n const getNextValues = useCallback(\n (thumbIndex: number, newValue: number): number[] => {\n const snapped = clamp(snapToStep(newValue, min, step), min, max);\n if (!isRange) {\n return [snapped];\n }\n\n const nextValues = [...values] as [number, number];\n nextValues[thumbIndex] = snapped;\n const minGap = minStepsBetweenThumbs * step;\n if (thumbIndex === 0) {\n nextValues[0] = Math.min(nextValues[0], nextValues[1] - minGap);\n } else {\n nextValues[1] = Math.max(nextValues[1], nextValues[0] + minGap);\n }\n nextValues[0] = clamp(nextValues[0], min, max);\n nextValues[1] = clamp(nextValues[1], min, max);\n return nextValues;\n },\n [isRange, max, min, minStepsBetweenThumbs, step, values],\n );\n\n const emitChange = useCallback(\n (nextValues: number[]) => {\n pendingValuesRef.current = nextValues;\n if (isRange) {\n (onChange as SliderRangeProps['onChange'])(\n nextValues as [number, number],\n );\n } else {\n (onChange as SliderSingleProps['onChange'])(nextValues[0]);\n }\n },\n [isRange, onChange],\n );\n\n const emitChangeEnd = useCallback(\n (nextValues: number[]) => {\n if (isRange) {\n (onChangeEnd as SliderRangeProps['onChangeEnd'])?.(\n nextValues as [number, number],\n );\n } else {\n (onChangeEnd as SliderSingleProps['onChangeEnd'])?.(nextValues[0]);\n }\n },\n [isRange, onChangeEnd],\n );\n\n const updateValue = useCallback(\n (thumbIndex: number, newValue: number): number[] | null => {\n if (isDisabled) {\n return null;\n }\n const nextValues = getNextValues(thumbIndex, newValue);\n emitChange(nextValues);\n return nextValues;\n },\n [emitChange, getNextValues, isDisabled],\n );\n\n const handlePointerDown = useCallback(\n (event: PointerEvent<HTMLDivElement>) => {\n if (isDisabled) {\n return;\n }\n event.preventDefault();\n const markElement = (event.target as HTMLElement).closest<HTMLElement>(\n '[data-mark-value]',\n );\n const newValue =\n markElement == null\n ? getValueFromPosition(event.clientX, event.clientY)\n : Number(markElement.dataset.markValue);\n const thumbIndex = getClosestThumb(newValue);\n draggingThumbRef.current = thumbIndex;\n updateValue(thumbIndex, newValue);\n\n if (typeof event.currentTarget.setPointerCapture === 'function') {\n event.currentTarget.setPointerCapture(event.pointerId);\n }\n },\n [getClosestThumb, getValueFromPosition, isDisabled, updateValue],\n );\n\n const handlePointerMove = useCallback(\n (event: PointerEvent<HTMLDivElement>) => {\n if (draggingThumbRef.current == null || isDisabled) {\n return;\n }\n updateValue(\n draggingThumbRef.current,\n getValueFromPosition(event.clientX, event.clientY),\n );\n },\n [getValueFromPosition, isDisabled, updateValue],\n );\n\n const handlePointerUp = useCallback(() => {\n if (draggingThumbRef.current == null) {\n return;\n }\n draggingThumbRef.current = null;\n emitChangeEnd(pendingValuesRef.current ?? values);\n }, [emitChangeEnd, values]);\n\n const handleKeyDown = useCallback(\n (thumbIndex: number, event: KeyboardEvent<HTMLDivElement>) => {\n if (isDisabled) {\n return;\n }\n\n const currentValue = values[thumbIndex];\n let nextValue: number;\n switch (event.key) {\n case 'ArrowDown':\n case 'ArrowLeft':\n nextValue = currentValue - step;\n break;\n case 'ArrowRight':\n case 'ArrowUp':\n nextValue = currentValue + step;\n break;\n case 'End':\n nextValue = max;\n break;\n case 'Home':\n nextValue = min;\n break;\n case 'PageDown':\n nextValue = currentValue - step * 10;\n break;\n case 'PageUp':\n nextValue = currentValue + step * 10;\n break;\n default:\n return;\n }\n\n event.preventDefault();\n const nextValues = getNextValues(thumbIndex, nextValue);\n emitChange(nextValues);\n emitChangeEnd(nextValues);\n },\n [\n emitChange,\n emitChangeEnd,\n getNextValues,\n isDisabled,\n max,\n min,\n step,\n values,\n ],\n );\n\n const filledStyle: CSSProperties = (() => {\n if (isRange) {\n const [lower, upper] = values;\n const lowerPercent = getPercent(lower, min, max);\n const upperPercent = getPercent(upper, min, max);\n return isHorizontal\n ? {left: `${lowerPercent}%`, width: `${upperPercent - lowerPercent}%`}\n : {\n bottom: `${lowerPercent}%`,\n height: `${upperPercent - lowerPercent}%`,\n };\n }\n const percent = getPercent(values[0], min, max);\n return isHorizontal\n ? {left: '0%', width: `${percent}%`}\n : {bottom: '0%', height: `${percent}%`};\n })();\n\n const classes = sliderRecipe({\n orientation,\n isDisabled: isDisabled || undefined,\n });\n\n const textDisplay =\n valueDisplay === 'text' ? (\n <span className={classes.textValue}>\n {isRange\n ? `${displayValue(values[0])} - ${displayValue(values[1])}`\n : displayValue(values[0])}\n </span>\n ) : null;\n\n const necessity = getNecessity(isOptional, isRequired);\n\n return (\n <Field\n className={cx(className, classes.field)}\n data-testid={dataTestId}\n description={description}\n descriptionID={descriptionID}\n inputId={inputId}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n {...necessity}\n label={label}\n labelAs=\"span\"\n labelTooltip={labelTooltip}\n ref={ref}\n status={\n status == null ? undefined : {...status, messageID: statusMessageID}\n }\n statusVariant=\"detached\"\n style={style}>\n <div className={classes.row}>\n <div\n aria-label={isRange ? label : undefined}\n className={classes.trackContainer}\n data-testid=\"slider-track-container\"\n onPointerCancel={handlePointerUp}\n onPointerDown={handlePointerDown}\n onPointerMove={handlePointerMove}\n onPointerUp={handlePointerUp}\n ref={trackRef}\n role={isRange ? 'group' : undefined}>\n <div aria-hidden=\"true\" className={classes.track} />\n <div\n aria-hidden=\"true\"\n className={classes.filledTrack}\n style={filledStyle}\n />\n {marks == null ? null : (\n <div aria-hidden=\"true\" className={classes.marksContainer}>\n {marks.map(mark => {\n const percent = getPercent(mark.value, min, max);\n const markStyle = isHorizontal\n ? {left: `${percent}%`}\n : {bottom: `${percent}%`};\n return (\n <div key={mark.value}>\n <div\n className={classes.mark}\n data-mark-value={mark.value}\n data-testid=\"slider-mark\"\n style={markStyle}\n />\n {mark.label == null ? null : (\n <span\n className={classes.markLabel}\n data-mark-value={mark.value}\n data-testid=\"slider-mark-label\"\n style={markStyle}>\n {mark.label}\n </span>\n )}\n </div>\n );\n })}\n </div>\n )}\n {values.map((currentValue, thumbIndex) => {\n const percent = getPercent(currentValue, min, max);\n const thumbStyle = isHorizontal\n ? {left: `${percent}%`}\n : {bottom: `${percent}%`, left: '50%'};\n const thumbLabel = isRange\n ? thumbIndex === 0\n ? `${label}, minimum value`\n : `${label}, maximum value`\n : label;\n const thumbKey = isRange\n ? thumbIndex === 0\n ? 'minimum'\n : 'maximum'\n : 'value';\n const thumb = (\n <div\n aria-describedby={ariaDescribedBy}\n aria-disabled={isDisabled || undefined}\n aria-invalid={status?.type === 'error' || undefined}\n aria-label={thumbLabel}\n aria-orientation={orientation}\n aria-valuemax={max}\n aria-valuemin={min}\n aria-valuenow={currentValue}\n aria-valuetext={\n formatValue == null ? undefined : formatValue(currentValue)\n }\n className={classes.thumb}\n id={!isRange || thumbIndex === 0 ? inputId : undefined}\n key={thumbKey}\n onKeyDown={event => handleKeyDown(thumbIndex, event)}\n role=\"slider\"\n style={thumbStyle}\n tabIndex={isDisabled ? -1 : 0}\n />\n );\n\n if (valueDisplay !== 'tooltip') {\n return thumb;\n }\n\n return (\n <Tooltip\n content={displayValue(currentValue)}\n delay={0}\n focusTrigger=\"always\"\n key={thumbKey}\n placement={isHorizontal ? 'above' : 'start'}>\n {thumb}\n </Tooltip>\n );\n })}\n </div>\n {textDisplay}\n </div>\n </Field>\n );\n}\n\nSlider.displayName = 'Slider';\n"]}
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chunk2P6D43V2_cjs = require('./chunk-2P6D43V2.cjs');
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
var
|
|
4
|
+
var chunkSBS7U7CN_cjs = require('./chunk-SBS7U7CN.cjs');
|
|
5
|
+
var chunkM26XECB2_cjs = require('./chunk-M26XECB2.cjs');
|
|
6
|
+
var chunkGYVWTH3U_cjs = require('./chunk-GYVWTH3U.cjs');
|
|
7
|
+
var chunk7CCXHH6Y_cjs = require('./chunk-7CCXHH6Y.cjs');
|
|
8
|
+
var chunkQAO6QMNQ_cjs = require('./chunk-QAO6QMNQ.cjs');
|
|
9
9
|
var chunk4TIAKZ4Q_cjs = require('./chunk-4TIAKZ4Q.cjs');
|
|
10
|
+
var chunkZ6RT3WPE_cjs = require('./chunk-Z6RT3WPE.cjs');
|
|
10
11
|
var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
|
|
11
12
|
var lucideReact = require('lucide-react');
|
|
12
13
|
var react = require('react');
|
|
13
14
|
var jsxRuntime = require('react/jsx-runtime');
|
|
14
15
|
|
|
15
16
|
// src/components/Switch/Switch.recipe.ts
|
|
16
|
-
var switchRecipe =
|
|
17
|
+
var switchRecipe = chunkZ6RT3WPE_cjs.sva({
|
|
17
18
|
slots: [
|
|
18
19
|
"field",
|
|
19
20
|
"row",
|
|
@@ -201,7 +202,7 @@ function Switch({
|
|
|
201
202
|
isSelected
|
|
202
203
|
}) {
|
|
203
204
|
const inputId = react.useId();
|
|
204
|
-
const descriptionID = description
|
|
205
|
+
const descriptionID = chunkQAO6QMNQ_cjs.isReactNode(description) ? `${inputId}-description` : void 0;
|
|
205
206
|
const statusMessageID = chunk2P6D43V2_cjs.getStatusMessageID(inputId, status);
|
|
206
207
|
const describedBy = chunk2P6D43V2_cjs.getDescribedBy(descriptionID, statusMessageID);
|
|
207
208
|
const requirednessText = isOptional ? "Optional" : isRequired ? "Required" : null;
|
|
@@ -239,27 +240,27 @@ function Switch({
|
|
|
239
240
|
className: classes.track,
|
|
240
241
|
"data-selected": isSelected ? "true" : void 0,
|
|
241
242
|
"data-switch-track": "",
|
|
242
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: classes.thumb, children: isLoading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
243
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: classes.thumb, children: isLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkSBS7U7CN_cjs.Spinner, { size: "sm" }) : null })
|
|
243
244
|
}
|
|
244
245
|
),
|
|
245
|
-
isLoading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
246
|
+
isLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkGYVWTH3U_cjs.VisuallyHidden, { children: /* @__PURE__ */ jsxRuntime.jsx("span", { role: "status", children: "Loading" }) }) : null
|
|
246
247
|
] });
|
|
247
248
|
const labelNode = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: classes.labelWrapper, children: [
|
|
248
249
|
/* @__PURE__ */ jsxRuntime.jsxs("label", { className: classes.label, htmlFor: inputId, children: [
|
|
249
250
|
labelIcon != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: classes.labelIcon, children: /* @__PURE__ */ jsxRuntime.jsx(chunk4TIAKZ4Q_cjs.Icon, { color: "secondary", icon: labelIcon, size: "sm" }) }) : null,
|
|
250
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
251
|
-
requirednessText != null ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
251
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkM26XECB2_cjs.Text, { as: "span", color: "inherit", type: "label", children: label }),
|
|
252
|
+
requirednessText != null ? /* @__PURE__ */ jsxRuntime.jsxs(chunkM26XECB2_cjs.Text, { as: "span", className: classes.requiredness, type: "supporting", children: [
|
|
252
253
|
/* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", children: " \xB7 " }),
|
|
253
254
|
requirednessText
|
|
254
255
|
] }) : null,
|
|
255
|
-
labelTooltip
|
|
256
|
+
chunkQAO6QMNQ_cjs.isReactNode(labelTooltip) ? /* @__PURE__ */ jsxRuntime.jsx(chunk7CCXHH6Y_cjs.Tooltip, { content: labelTooltip, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: classes.tooltipIcon, children: /* @__PURE__ */ jsxRuntime.jsx(chunk4TIAKZ4Q_cjs.Icon, { icon: lucideReact.Info, size: "sm" }) }) }) : null
|
|
256
257
|
] }),
|
|
257
|
-
description
|
|
258
|
+
chunkQAO6QMNQ_cjs.isReactNode(description) ? /* @__PURE__ */ jsxRuntime.jsx(chunkM26XECB2_cjs.Text, { as: "span", color: "secondary", id: descriptionID, type: "supporting", children: description }) : null
|
|
258
259
|
] });
|
|
259
260
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkSPDVNY2Z_cjs.cx(classes.field, className), style, children: [
|
|
260
261
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: classes.row, children: [
|
|
261
|
-
labelPosition === "start" ? isLabelHidden ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
262
|
-
labelPosition === "start" ? control : isLabelHidden ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
262
|
+
labelPosition === "start" ? isLabelHidden ? /* @__PURE__ */ jsxRuntime.jsx(chunkGYVWTH3U_cjs.VisuallyHidden, { children: labelNode }) : labelNode : control,
|
|
263
|
+
labelPosition === "start" ? control : isLabelHidden ? /* @__PURE__ */ jsxRuntime.jsx(chunkGYVWTH3U_cjs.VisuallyHidden, { children: labelNode }) : labelNode
|
|
263
264
|
] }),
|
|
264
265
|
status?.message != null ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
265
266
|
"div",
|
|
@@ -276,5 +277,5 @@ function Switch({
|
|
|
276
277
|
Switch.displayName = "Switch";
|
|
277
278
|
|
|
278
279
|
exports.Switch = Switch;
|
|
279
|
-
//# sourceMappingURL=chunk-
|
|
280
|
-
//# sourceMappingURL=chunk-
|
|
280
|
+
//# sourceMappingURL=chunk-BULJWVPU.cjs.map
|
|
281
|
+
//# sourceMappingURL=chunk-BULJWVPU.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Switch/Switch.recipe.ts","../src/components/Switch/Switch.tsx"],"names":["sva","useId","isReactNode","getStatusMessageID","getDescribedBy","jsxs","jsx","Spinner","VisuallyHidden","Icon","Text","Tooltip","Info","cx"],"mappings":"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","file":"chunk-BULJWVPU.cjs","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const switchRecipe = sva({\n slots: [\n 'field',\n 'row',\n 'labelWrapper',\n 'label',\n 'labelIcon',\n 'requiredness',\n 'tooltipIcon',\n 'status',\n 'control',\n 'input',\n 'track',\n 'thumb',\n ],\n base: {\n field: {\n display: 'flex',\n flexDirection: 'column',\n gap: '1',\n w: 'fit-content',\n },\n row: {\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n },\n labelWrapper: {\n display: 'flex',\n flexDirection: 'column',\n gap: '0.5',\n minW: 0,\n },\n label: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '1',\n w: 'fit-content',\n color: 'fg.muted',\n cursor: 'pointer',\n },\n labelIcon: {\n display: 'inline-flex',\n alignItems: 'center',\n },\n requiredness: {\n fontWeight: 'normal',\n color: 'fg.muted',\n },\n tooltipIcon: {\n display: 'inline-flex',\n color: 'fg.muted',\n },\n status: {\n fontFamily: 'body',\n fontSize: 'sm',\n lineHeight: 'normal',\n px: '2',\n py: '1.5',\n mt: '1',\n borderRadius: 'md',\n },\n control: {\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n w: '10',\n h: '6',\n borderRadius: 'full',\n isolation: 'isolate',\n '&:has(input:focus-visible)': {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n '& [data-switch-track][data-selected=\"true\"]': {\n bg: 'primary',\n },\n '&:has(input:active:not(:disabled)) [data-switch-track]': {\n bg: 'primary.active',\n },\n },\n input: {\n position: 'absolute',\n inset: 0,\n m: 0,\n p: 0,\n opacity: 0,\n cursor: 'pointer',\n zIndex: 1,\n _disabled: {\n cursor: 'not-allowed',\n },\n },\n track: {\n display: 'flex',\n alignItems: 'center',\n w: '10',\n h: '6',\n p: '1',\n borderRadius: 'full',\n bg: 'track.emphasized',\n transitionProperty: 'background-color',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n pointerEvents: 'none',\n '@media (prefers-reduced-motion: reduce)': {\n transitionDuration: '0s',\n },\n },\n thumb: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n w: '4',\n h: '4',\n borderRadius: 'full',\n bg: 'bg',\n color: 'primary',\n transform: 'translateX(0)',\n transitionProperty: 'transform',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n '@media (prefers-reduced-motion: reduce)': {\n transitionDuration: '0s',\n },\n },\n },\n variants: {\n labelSpacing: {\n default: {},\n spread: {\n field: {w: 'full'},\n row: {justifyContent: 'space-between', w: 'full'},\n },\n },\n isSelected: {\n true: {\n track: {bg: 'primary'},\n thumb: {transform: 'translateX(16px)'},\n },\n false: {},\n },\n isDisabled: {\n true: {\n label: {color: 'fg.disabled', cursor: 'not-allowed'},\n track: {opacity: 0.5},\n },\n false: {},\n },\n // Applied only when a status message is rendered (status?.type is defined).\n status: {\n warning: {status: {bg: 'surface.yellow', color: 'surface.yellow.fg'}},\n error: {status: {bg: 'surface.red', color: 'surface.red.fg'}},\n success: {status: {bg: 'surface.green', color: 'surface.green.fg'}},\n },\n },\n defaultVariants: {\n labelSpacing: 'default',\n isSelected: false,\n isDisabled: false,\n },\n});\n\nexport type SwitchVariants = RecipeVariantProps<typeof switchRecipe>;\n","import {Info} from 'lucide-react';\nimport {\n useId,\n type ChangeEvent,\n type CSSProperties,\n type FocusEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {VisuallyHidden} from '../../internal/VisuallyHidden';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\nimport type {FieldNecessity, InputStatus} from '../Field';\nimport {getDescribedBy, getStatusMessageID} from '../Field/inputUtils';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Spinner} from '../Spinner';\nimport {Text} from '../Text';\nimport {Tooltip} from '../Tooltip';\nimport {switchRecipe} from './Switch.recipe';\n\nexport type SwitchLabelPosition = 'end' | 'start';\nexport type SwitchLabelSpacing = 'default' | 'spread';\n\nexport type SwitchProps = {\n /**\n * Additional CSS class names applied to the field root.\n */\n className?: string;\n /**\n * Test ID applied to the checkbox input.\n */\n 'data-testid'?: string;\n /**\n * Supporting text displayed below the label.\n */\n description?: ReactNode;\n /**\n * Whether the switch 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 switch is loading.\n * @default false\n */\n isLoading?: boolean;\n /**\n * Whether the switch is on.\n */\n isSelected: boolean;\n /**\n * Switch label.\n */\n label: string;\n /**\n * Content rendered before the label.\n */\n labelIcon?: IconComponent;\n /**\n * Which side of the switch the label appears on.\n * @default 'end'\n */\n labelPosition?: SwitchLabelPosition;\n /**\n * Spacing behavior between label and switch.\n * @default 'default'\n */\n labelSpacing?: SwitchLabelSpacing;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: ReactNode;\n /**\n * Called when the switch loses focus.\n */\n onBlur?: (event: FocusEvent<HTMLInputElement>) => void;\n /**\n * Called when the checked state changes.\n */\n onChange: (checked: boolean, event: ChangeEvent<HTMLInputElement>) => void;\n /**\n * Called when the switch receives focus.\n */\n onFocus?: (event: FocusEvent<HTMLInputElement>) => void;\n /**\n * Ref forwarded to the checkbox input.\n */\n ref?: Ref<HTMLInputElement>;\n /**\n * Validation status displayed below the switch.\n */\n status?: InputStatus;\n /**\n * Inline styles applied to the field root.\n */\n style?: CSSProperties;\n} & FieldNecessity;\n\n/**\n * A controlled switch for boolean settings.\n */\nexport function Switch({\n className,\n 'data-testid': dataTestId,\n description,\n isDisabled = false,\n isLabelHidden = false,\n isLoading = false,\n isOptional,\n isRequired,\n label,\n labelIcon,\n labelTooltip,\n labelPosition = 'end',\n labelSpacing = 'default',\n onBlur,\n onChange,\n onFocus,\n ref,\n status,\n style,\n isSelected,\n}: SwitchProps): 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 requirednessText = isOptional\n ? 'Optional'\n : isRequired\n ? 'Required'\n : null;\n const classes = switchRecipe({\n labelSpacing,\n isSelected,\n isDisabled,\n status: status?.type,\n });\n const control = (\n <span className={classes.control}>\n <input\n aria-busy={isLoading || undefined}\n aria-describedby={describedBy}\n aria-invalid={status?.type === 'error' || undefined}\n checked={isSelected}\n className={classes.input}\n data-testid={dataTestId}\n disabled={isDisabled}\n id={inputId}\n onBlur={onBlur}\n onChange={event => onChange(event.target.checked, event)}\n onFocus={onFocus}\n ref={ref}\n required={isRequired}\n role=\"switch\"\n type=\"checkbox\"\n />\n <span\n aria-hidden=\"true\"\n className={classes.track}\n data-selected={isSelected ? 'true' : undefined}\n data-switch-track=\"\">\n <span className={classes.thumb}>\n {isLoading ? <Spinner size=\"sm\" /> : null}\n </span>\n </span>\n {isLoading ? (\n <VisuallyHidden>\n <span role=\"status\">Loading</span>\n </VisuallyHidden>\n ) : null}\n </span>\n );\n const labelNode = (\n <div className={classes.labelWrapper}>\n <label className={classes.label} htmlFor={inputId}>\n {labelIcon != null ? (\n <span className={classes.labelIcon}>\n <Icon color=\"secondary\" icon={labelIcon} size=\"sm\" />\n </span>\n ) : null}\n <Text as=\"span\" color=\"inherit\" type=\"label\">\n {label}\n </Text>\n {requirednessText != null ? (\n <Text as=\"span\" className={classes.requiredness} type=\"supporting\">\n <span aria-hidden=\"true\"> · </span>\n {requirednessText}\n </Text>\n ) : null}\n {isReactNode(labelTooltip) ? (\n <Tooltip content={labelTooltip}>\n <span className={classes.tooltipIcon}>\n <Icon icon={Info} size=\"sm\" />\n </span>\n </Tooltip>\n ) : null}\n </label>\n {isReactNode(description) ? (\n <Text as=\"span\" color=\"secondary\" id={descriptionID} type=\"supporting\">\n {description}\n </Text>\n ) : null}\n </div>\n );\n\n return (\n <div className={cx(classes.field, className)} style={style}>\n <div className={classes.row}>\n {labelPosition === 'start' ? (\n isLabelHidden ? (\n <VisuallyHidden>{labelNode}</VisuallyHidden>\n ) : (\n labelNode\n )\n ) : (\n control\n )}\n {labelPosition === 'start' ? (\n control\n ) : isLabelHidden ? (\n <VisuallyHidden>{labelNode}</VisuallyHidden>\n ) : (\n labelNode\n )}\n </div>\n {status?.message != null ? (\n <div\n aria-live={status.type === 'error' ? 'assertive' : 'polite'}\n className={classes.status}\n id={statusMessageID}\n role={status.type === 'error' ? 'alert' : 'status'}>\n {status.message}\n </div>\n ) : null}\n </div>\n );\n}\n\nSwitch.displayName = 'Switch';\n"]}
|