silver-ui 0.3.1 → 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/dist/{chunk-QGHFUOUB.cjs → chunk-2A3V6OR7.cjs} +7 -7
- package/dist/{chunk-QGHFUOUB.cjs.map → chunk-2A3V6OR7.cjs.map} +1 -1
- package/dist/{chunk-RVENUWRD.js → chunk-2LABTS4P.js} +7 -7
- package/dist/{chunk-RVENUWRD.js.map → chunk-2LABTS4P.js.map} +1 -1
- package/dist/{chunk-DIIE44GO.js → chunk-2N6FOSNM.js} +5 -5
- package/dist/{chunk-DIIE44GO.js.map → chunk-2N6FOSNM.js.map} +1 -1
- package/dist/{chunk-LUBVZVY3.js → chunk-2RKMG2TC.js} +7 -7
- package/dist/{chunk-LUBVZVY3.js.map → chunk-2RKMG2TC.js.map} +1 -1
- 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-F3ZNRO6W.js → chunk-3OIUA2NY.js} +5 -5
- package/dist/{chunk-F3ZNRO6W.js.map → chunk-3OIUA2NY.js.map} +1 -1
- package/dist/{chunk-PZ63ZCEO.cjs → chunk-3ZV3EGGK.cjs} +17 -17
- package/dist/{chunk-PZ63ZCEO.cjs.map → chunk-3ZV3EGGK.cjs.map} +1 -1
- package/dist/{chunk-O5A47TA2.js → chunk-4H7X5FGX.js} +5 -5
- package/dist/{chunk-O5A47TA2.js.map → chunk-4H7X5FGX.js.map} +1 -1
- package/dist/{chunk-Q3OA23V5.js → chunk-52WQDDWQ.js} +7 -7
- package/dist/{chunk-Q3OA23V5.js.map → chunk-52WQDDWQ.js.map} +1 -1
- package/dist/{chunk-ZLATP3P5.cjs → chunk-5D2OR64D.cjs} +6 -6
- package/dist/{chunk-ZLATP3P5.cjs.map → chunk-5D2OR64D.cjs.map} +1 -1
- 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-D2DOHX4W.js → chunk-6ONAGCCZ.js} +13 -6
- package/dist/chunk-6ONAGCCZ.js.map +1 -0
- package/dist/{chunk-DSB4Q3AS.js → chunk-6ULCJ3XZ.js} +4 -4
- package/dist/{chunk-DSB4Q3AS.js.map → chunk-6ULCJ3XZ.js.map} +1 -1
- package/dist/{chunk-GXRH5XQY.js → chunk-6XWXBXYE.js} +5 -5
- package/dist/{chunk-GXRH5XQY.js.map → chunk-6XWXBXYE.js.map} +1 -1
- 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-PJMV2HTO.cjs → chunk-7U7JMRVF.cjs} +18 -18
- package/dist/{chunk-PJMV2HTO.cjs.map → chunk-7U7JMRVF.cjs.map} +1 -1
- package/dist/{chunk-M3IKL2VG.js → chunk-AFI4V7LI.js} +6 -6
- package/dist/{chunk-M3IKL2VG.js.map → chunk-AFI4V7LI.js.map} +1 -1
- package/dist/{chunk-OSBVDRVD.cjs → chunk-AHVHLNHU.cjs} +8 -8
- package/dist/{chunk-OSBVDRVD.cjs.map → chunk-AHVHLNHU.cjs.map} +1 -1
- package/dist/{chunk-6USJ4LJJ.js → chunk-AJ6X62AI.js} +4 -4
- package/dist/{chunk-6USJ4LJJ.js.map → chunk-AJ6X62AI.js.map} +1 -1
- package/dist/{chunk-UKDGDMWN.js → chunk-AP7BDTTF.js} +4 -4
- package/dist/{chunk-UKDGDMWN.js.map → chunk-AP7BDTTF.js.map} +1 -1
- package/dist/{chunk-7U7RP6N2.cjs → chunk-AWDIKDX5.cjs} +10 -10
- package/dist/{chunk-7U7RP6N2.cjs.map → chunk-AWDIKDX5.cjs.map} +1 -1
- package/dist/{chunk-5AYGQJOW.js → chunk-BCCPNGUV.js} +4 -4
- package/dist/{chunk-5AYGQJOW.js.map → chunk-BCCPNGUV.js.map} +1 -1
- package/dist/{chunk-QRKRVCA3.cjs → chunk-BLRWA445.cjs} +25 -25
- package/dist/{chunk-QRKRVCA3.cjs.map → chunk-BLRWA445.cjs.map} +1 -1
- package/dist/{chunk-BA4A7C7U.js → chunk-BSAZRW6T.js} +8 -8
- package/dist/{chunk-BA4A7C7U.js.map → chunk-BSAZRW6T.js.map} +1 -1
- package/dist/{chunk-5TT4PGZO.cjs → chunk-BUESV4DR.cjs} +9 -9
- package/dist/{chunk-5TT4PGZO.cjs.map → chunk-BUESV4DR.cjs.map} +1 -1
- package/dist/{chunk-HPVXP3DG.cjs → chunk-BULJWVPU.cjs} +16 -16
- package/dist/{chunk-HPVXP3DG.cjs.map → chunk-BULJWVPU.cjs.map} +1 -1
- package/dist/{chunk-L7BOLGF2.cjs → chunk-C6EYCIKJ.cjs} +3 -3
- package/dist/{chunk-L7BOLGF2.cjs.map → chunk-C6EYCIKJ.cjs.map} +1 -1
- package/dist/{chunk-4H35H54I.cjs → chunk-C732WXKS.cjs} +12 -12
- package/dist/{chunk-4H35H54I.cjs.map → chunk-C732WXKS.cjs.map} +1 -1
- package/dist/{chunk-S4B2D427.js → chunk-CGYZ6QWY.js} +4 -4
- package/dist/{chunk-S4B2D427.js.map → chunk-CGYZ6QWY.js.map} +1 -1
- package/dist/{chunk-QCT4BPB6.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-D3SSMY73.cjs → chunk-DIRVAHOF.cjs} +6 -6
- package/dist/{chunk-D3SSMY73.cjs.map → chunk-DIRVAHOF.cjs.map} +1 -1
- package/dist/{chunk-ZD3NPHZ7.cjs → chunk-DP7VC4FW.cjs} +4 -4
- package/dist/{chunk-ZD3NPHZ7.cjs.map → chunk-DP7VC4FW.cjs.map} +1 -1
- package/dist/{chunk-NYQPIBOD.cjs → chunk-DVGLYE3G.cjs} +10 -10
- package/dist/{chunk-NYQPIBOD.cjs.map → chunk-DVGLYE3G.cjs.map} +1 -1
- package/dist/{chunk-ZWULWVN3.js → chunk-DWUEPOYH.js} +7 -7
- package/dist/{chunk-ZWULWVN3.js.map → chunk-DWUEPOYH.js.map} +1 -1
- package/dist/{chunk-UN35QV25.js → chunk-DXPQRAGI.js} +4 -4
- package/dist/{chunk-UN35QV25.js.map → chunk-DXPQRAGI.js.map} +1 -1
- package/dist/{chunk-3XDUR3IG.cjs → chunk-E2A3GJSN.cjs} +5 -5
- package/dist/{chunk-3XDUR3IG.cjs.map → chunk-E2A3GJSN.cjs.map} +1 -1
- package/dist/{chunk-OULO3YDQ.cjs → chunk-EALKX3ST.cjs} +7 -7
- package/dist/{chunk-OULO3YDQ.cjs.map → chunk-EALKX3ST.cjs.map} +1 -1
- package/dist/{chunk-VAK4JQYL.js → chunk-EBDODJ5X.js} +6 -6
- package/dist/{chunk-VAK4JQYL.js.map → chunk-EBDODJ5X.js.map} +1 -1
- package/dist/{chunk-U5GTHA44.cjs → chunk-FB245S6T.cjs} +11 -11
- package/dist/{chunk-U5GTHA44.cjs.map → chunk-FB245S6T.cjs.map} +1 -1
- 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-6W3L6IJB.cjs → chunk-FDZQPWFZ.cjs} +11 -11
- package/dist/{chunk-6W3L6IJB.cjs.map → chunk-FDZQPWFZ.cjs.map} +1 -1
- package/dist/{chunk-3L6KAW7G.js → chunk-FMLIYHDP.js} +5 -5
- package/dist/{chunk-3L6KAW7G.js.map → chunk-FMLIYHDP.js.map} +1 -1
- package/dist/{chunk-XADTIY7J.cjs → chunk-FNOUX5T2.cjs} +5 -5
- package/dist/{chunk-XADTIY7J.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-IRSJHEYI.js → chunk-FP5E5BUM.js} +3 -3
- package/dist/{chunk-IRSJHEYI.js.map → chunk-FP5E5BUM.js.map} +1 -1
- package/dist/{chunk-ZVH3BLYO.js → chunk-G2U2W422.js} +6 -6
- package/dist/{chunk-ZVH3BLYO.js.map → chunk-G2U2W422.js.map} +1 -1
- package/dist/{chunk-W3KMDQKP.cjs → chunk-G2WW52GO.cjs} +12 -12
- package/dist/{chunk-W3KMDQKP.cjs.map → chunk-G2WW52GO.cjs.map} +1 -1
- package/dist/{chunk-U2U4FMFM.cjs → chunk-G3KKLGZU.cjs} +9 -9
- package/dist/{chunk-U2U4FMFM.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-QL3YSC3H.cjs → chunk-GL7PSN7H.cjs} +15 -15
- package/dist/{chunk-QL3YSC3H.cjs.map → chunk-GL7PSN7H.cjs.map} +1 -1
- 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-UXDXE7Z6.cjs → chunk-H2CZ6IE5.cjs} +38 -36
- package/dist/chunk-H2CZ6IE5.cjs.map +1 -0
- package/dist/{chunk-MGVEX3RS.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-EC2ALHNJ.js → chunk-HNZWPIJE.js} +8 -8
- package/dist/{chunk-EC2ALHNJ.js.map → chunk-HNZWPIJE.js.map} +1 -1
- package/dist/{chunk-3ZFEBOXD.cjs → chunk-IA5GII7N.cjs} +16 -16
- 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-AJTJD5C6.js → chunk-ILEKDNP7.js} +6 -6
- package/dist/{chunk-AJTJD5C6.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-M3BF3BBJ.cjs → chunk-J4OEETYQ.cjs} +10 -10
- package/dist/{chunk-M3BF3BBJ.cjs.map → chunk-J4OEETYQ.cjs.map} +1 -1
- package/dist/{chunk-YSTESYUB.js → chunk-J5IRFGUP.js} +8 -8
- package/dist/chunk-J5IRFGUP.js.map +1 -0
- package/dist/{chunk-5D4LRSIV.js → chunk-JDAJ2HJQ.js} +6 -6
- package/dist/{chunk-5D4LRSIV.js.map → chunk-JDAJ2HJQ.js.map} +1 -1
- package/dist/{chunk-3DJ46WN4.js → chunk-JIVYPJKO.js} +6 -6
- package/dist/{chunk-3DJ46WN4.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-EE2O457Z.cjs → chunk-JSINCF2R.cjs} +10 -10
- package/dist/{chunk-EE2O457Z.cjs.map → chunk-JSINCF2R.cjs.map} +1 -1
- package/dist/{chunk-X2GRBPCJ.cjs → chunk-JTFNNEWR.cjs} +7 -7
- package/dist/{chunk-X2GRBPCJ.cjs.map → chunk-JTFNNEWR.cjs.map} +1 -1
- 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-PQRIV5XU.js → chunk-K3XHXWBW.js} +9 -9
- package/dist/{chunk-PQRIV5XU.js.map → chunk-K3XHXWBW.js.map} +1 -1
- package/dist/{chunk-65QAZWOG.cjs → chunk-K4ZJNQTX.cjs} +4 -4
- package/dist/{chunk-65QAZWOG.cjs.map → chunk-K4ZJNQTX.cjs.map} +1 -1
- package/dist/{chunk-CZM5FAWL.cjs → chunk-KDR5DCYL.cjs} +9 -9
- package/dist/{chunk-CZM5FAWL.cjs.map → chunk-KDR5DCYL.cjs.map} +1 -1
- package/dist/{chunk-GLJWAY4A.cjs → chunk-KXIILLQD.cjs} +10 -10
- package/dist/{chunk-GLJWAY4A.cjs.map → chunk-KXIILLQD.cjs.map} +1 -1
- package/dist/{chunk-Y4FH67QZ.js → chunk-L6VSBBPP.js} +7 -7
- package/dist/{chunk-Y4FH67QZ.js.map → chunk-L6VSBBPP.js.map} +1 -1
- package/dist/{chunk-O4RTJESR.js → chunk-LNT2IFOA.js} +4 -4
- package/dist/{chunk-O4RTJESR.js.map → chunk-LNT2IFOA.js.map} +1 -1
- package/dist/{chunk-MUUPZEZ5.cjs → chunk-LO5NZY7N.cjs} +5 -5
- package/dist/{chunk-MUUPZEZ5.cjs.map → chunk-LO5NZY7N.cjs.map} +1 -1
- package/dist/{chunk-CN2HJ7CP.js → chunk-LQIZSE3O.js} +8 -8
- package/dist/{chunk-CN2HJ7CP.js.map → chunk-LQIZSE3O.js.map} +1 -1
- package/dist/{chunk-5GNYP3PH.cjs → chunk-LUQVSNQL.cjs} +16 -9
- package/dist/chunk-LUQVSNQL.cjs.map +1 -0
- package/dist/{chunk-TF7IWMV2.js → chunk-LY6Z6A54.js} +8 -8
- package/dist/{chunk-TF7IWMV2.js.map → chunk-LY6Z6A54.js.map} +1 -1
- package/dist/{chunk-QEFE4QBL.cjs → chunk-M26XECB2.cjs} +14 -14
- package/dist/{chunk-QEFE4QBL.cjs.map → chunk-M26XECB2.cjs.map} +1 -1
- package/dist/{chunk-VVO7GIHG.cjs → chunk-M2MC3E27.cjs} +7 -7
- package/dist/{chunk-VVO7GIHG.cjs.map → chunk-M2MC3E27.cjs.map} +1 -1
- package/dist/{chunk-HVUYVPQL.cjs → chunk-MAYQGKKW.cjs} +4 -4
- package/dist/{chunk-HVUYVPQL.cjs.map → chunk-MAYQGKKW.cjs.map} +1 -1
- 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-XUJZTD4E.js → chunk-NFABMGNH.js} +54 -45
- package/dist/chunk-NFABMGNH.js.map +1 -0
- package/dist/{chunk-4MRORQNN.js → chunk-NI55JEYL.js} +4 -4
- package/dist/{chunk-4MRORQNN.js.map → chunk-NI55JEYL.js.map} +1 -1
- package/dist/{chunk-6MOJEGDU.cjs → chunk-O2WICOUK.cjs} +5 -5
- package/dist/{chunk-6MOJEGDU.cjs.map → chunk-O2WICOUK.cjs.map} +1 -1
- package/dist/{chunk-LX64ENLC.cjs → chunk-OBWWRRL6.cjs} +43 -43
- package/dist/chunk-OBWWRRL6.cjs.map +1 -0
- package/dist/{chunk-NH7KH7QP.js → chunk-PIOMR4X2.js} +5 -5
- package/dist/{chunk-NH7KH7QP.js.map → chunk-PIOMR4X2.js.map} +1 -1
- package/dist/{chunk-75CPTIET.js → chunk-PIZMCOKL.js} +3 -3
- package/dist/{chunk-75CPTIET.js.map → chunk-PIZMCOKL.js.map} +1 -1
- package/dist/{chunk-L5YTMHDI.cjs → chunk-PQEFVHJZ.cjs} +10 -10
- package/dist/{chunk-L5YTMHDI.cjs.map → chunk-PQEFVHJZ.cjs.map} +1 -1
- package/dist/{chunk-I7KILUVL.cjs → chunk-QATCDVZ6.cjs} +12 -12
- package/dist/{chunk-I7KILUVL.cjs.map → chunk-QATCDVZ6.cjs.map} +1 -1
- package/dist/{chunk-BRB52QFV.cjs → chunk-QOKEU3DC.cjs} +15 -15
- package/dist/{chunk-BRB52QFV.cjs.map → chunk-QOKEU3DC.cjs.map} +1 -1
- package/dist/{chunk-76B2VLID.js → chunk-QRFDPG34.js} +5 -5
- package/dist/{chunk-76B2VLID.js.map → chunk-QRFDPG34.js.map} +1 -1
- package/dist/{chunk-3IBY374V.cjs → chunk-QVNDZZS6.cjs} +10 -10
- package/dist/{chunk-3IBY374V.cjs.map → chunk-QVNDZZS6.cjs.map} +1 -1
- package/dist/{chunk-EBQ3A4XO.js → chunk-QY6OMQW6.js} +5 -5
- package/dist/{chunk-EBQ3A4XO.js.map → chunk-QY6OMQW6.js.map} +1 -1
- 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-ASJ5CBCR.js → chunk-RLOGQBFD.js} +6 -6
- package/dist/{chunk-ASJ5CBCR.js.map → chunk-RLOGQBFD.js.map} +1 -1
- package/dist/{chunk-S4LVSSJI.js → chunk-S7INL5NI.js} +6 -6
- package/dist/{chunk-S4LVSSJI.js.map → chunk-S7INL5NI.js.map} +1 -1
- package/dist/{chunk-HNROO7CR.js → chunk-SBOXHIES.js} +13 -13
- package/dist/{chunk-HNROO7CR.js.map → chunk-SBOXHIES.js.map} +1 -1
- package/dist/{chunk-KFDHP4WP.cjs → chunk-SBS7U7CN.cjs} +6 -6
- package/dist/{chunk-KFDHP4WP.cjs.map → chunk-SBS7U7CN.cjs.map} +1 -1
- package/dist/{chunk-WYE3VOFK.cjs → chunk-SCGXGVNN.cjs} +16 -16
- package/dist/{chunk-WYE3VOFK.cjs.map → chunk-SCGXGVNN.cjs.map} +1 -1
- package/dist/{chunk-54J6FRPG.js → chunk-SOCSUNIM.js} +9 -9
- package/dist/{chunk-54J6FRPG.js.map → chunk-SOCSUNIM.js.map} +1 -1
- package/dist/{chunk-BS55BG2U.cjs → chunk-SR5VVJ5Y.cjs} +7 -7
- package/dist/{chunk-BS55BG2U.cjs.map → chunk-SR5VVJ5Y.cjs.map} +1 -1
- package/dist/{chunk-YLGAJD6Q.js → chunk-SSAYBCAD.js} +4 -4
- package/dist/{chunk-YLGAJD6Q.js.map → chunk-SSAYBCAD.js.map} +1 -1
- 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-PL6J55JB.cjs → chunk-TBOQTPRO.cjs} +9 -9
- package/dist/{chunk-PL6J55JB.cjs.map → chunk-TBOQTPRO.cjs.map} +1 -1
- package/dist/{chunk-YNTPHZFJ.js → chunk-TCTPR7YQ.js} +3 -3
- package/dist/{chunk-YNTPHZFJ.js.map → chunk-TCTPR7YQ.js.map} +1 -1
- package/dist/{chunk-M3RNFDA2.cjs → chunk-TF7XVTSP.cjs} +59 -50
- package/dist/chunk-TF7XVTSP.cjs.map +1 -0
- package/dist/{chunk-CRQXHA7N.js → chunk-TKTLWX2V.js} +7 -7
- package/dist/{chunk-CRQXHA7N.js.map → chunk-TKTLWX2V.js.map} +1 -1
- package/dist/{chunk-F3NATTQG.cjs → chunk-TPB53MHV.cjs} +14 -14
- package/dist/{chunk-F3NATTQG.cjs.map → chunk-TPB53MHV.cjs.map} +1 -1
- package/dist/{chunk-MSNRGNVY.cjs → chunk-TQA3BI7M.cjs} +7 -7
- package/dist/{chunk-MSNRGNVY.cjs.map → chunk-TQA3BI7M.cjs.map} +1 -1
- package/dist/{chunk-WO6FS4DV.js → chunk-U6NH54YD.js} +5 -5
- package/dist/{chunk-WO6FS4DV.js.map → chunk-U6NH54YD.js.map} +1 -1
- 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-RINP34ZG.js → chunk-UKW2C5RN.js} +4 -4
- package/dist/{chunk-RINP34ZG.js.map → chunk-UKW2C5RN.js.map} +1 -1
- package/dist/{chunk-AMFFE5UJ.js → chunk-UUVLEOSD.js} +4 -4
- package/dist/{chunk-AMFFE5UJ.js.map → chunk-UUVLEOSD.js.map} +1 -1
- package/dist/{chunk-6NTDPZWP.js → chunk-VFGSNR35.js} +4 -4
- package/dist/{chunk-6NTDPZWP.js.map → chunk-VFGSNR35.js.map} +1 -1
- package/dist/{chunk-KRZ57O2J.cjs → chunk-VGHNBMEJ.cjs} +6 -6
- package/dist/{chunk-KRZ57O2J.cjs.map → chunk-VGHNBMEJ.cjs.map} +1 -1
- package/dist/{chunk-5BCLEOFF.cjs → chunk-VHKA25IV.cjs} +15 -15
- package/dist/{chunk-5BCLEOFF.cjs.map → chunk-VHKA25IV.cjs.map} +1 -1
- package/dist/{chunk-23NN5WRP.cjs → chunk-VK4O6W2K.cjs} +6 -6
- package/dist/{chunk-23NN5WRP.cjs.map → chunk-VK4O6W2K.cjs.map} +1 -1
- 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-7MN4JDP7.js → chunk-VUCMGGU5.js} +14 -14
- package/dist/chunk-VUCMGGU5.js.map +1 -0
- package/dist/{chunk-IHM2M74J.js → chunk-W2Q4PQ6I.js} +3 -3
- package/dist/{chunk-IHM2M74J.js.map → chunk-W2Q4PQ6I.js.map} +1 -1
- package/dist/{chunk-UPQHFW47.js → chunk-W3C6QQF7.js} +5 -5
- package/dist/{chunk-UPQHFW47.js.map → chunk-W3C6QQF7.js.map} +1 -1
- package/dist/{chunk-P6RAOXJA.js → chunk-WBGFFP3G.js} +6 -6
- package/dist/{chunk-P6RAOXJA.js.map → chunk-WBGFFP3G.js.map} +1 -1
- package/dist/{chunk-CZC2K5GJ.js → chunk-WBQNPBXR.js} +5 -5
- package/dist/{chunk-CZC2K5GJ.js.map → chunk-WBQNPBXR.js.map} +1 -1
- package/dist/{chunk-3TXVDCF2.js → chunk-WY5BOT7O.js} +4 -4
- package/dist/{chunk-3TXVDCF2.js.map → chunk-WY5BOT7O.js.map} +1 -1
- package/dist/{chunk-CEU7BIL6.cjs → chunk-X574M2JB.cjs} +13 -13
- package/dist/{chunk-CEU7BIL6.cjs.map → chunk-X574M2JB.cjs.map} +1 -1
- package/dist/{chunk-7PNLMDAR.cjs → chunk-XLKXFJMU.cjs} +8 -8
- package/dist/{chunk-7PNLMDAR.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-OWBNRALR.js → chunk-YAWVGZRC.js} +6 -6
- package/dist/{chunk-OWBNRALR.js.map → chunk-YAWVGZRC.js.map} +1 -1
- package/dist/{chunk-JEIQ5GDK.cjs → chunk-YHBYVERE.cjs} +18 -18
- package/dist/{chunk-JEIQ5GDK.cjs.map → chunk-YHBYVERE.cjs.map} +1 -1
- 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-EVKFA5FA.cjs → chunk-YVHWOKR7.cjs} +23 -23
- package/dist/{chunk-EVKFA5FA.cjs.map → chunk-YVHWOKR7.cjs.map} +1 -1
- package/dist/{chunk-66LRFIYK.cjs → chunk-YWGYN6YV.cjs} +9 -9
- package/dist/{chunk-66LRFIYK.cjs.map → chunk-YWGYN6YV.cjs.map} +1 -1
- package/dist/{chunk-BAPCHFNX.cjs → chunk-YY6KJO5Z.cjs} +12 -12
- package/dist/{chunk-BAPCHFNX.cjs.map → chunk-YY6KJO5Z.cjs.map} +1 -1
- package/dist/{chunk-UYBGXFYX.js → chunk-YYNWZRXZ.js} +20 -18
- 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-VEUZ5DZR.js → chunk-ZAX2UJBC.js} +6 -6
- package/dist/{chunk-VEUZ5DZR.js.map → chunk-ZAX2UJBC.js.map} +1 -1
- package/dist/{chunk-LHP47U6H.js → chunk-ZEA2VYX4.js} +3 -3
- package/dist/{chunk-LHP47U6H.js.map → chunk-ZEA2VYX4.js.map} +1 -1
- package/dist/{chunk-QEX7V7TI.cjs → chunk-ZFBQ4R7M.cjs} +10 -10
- package/dist/{chunk-QEX7V7TI.cjs.map → chunk-ZFBQ4R7M.cjs.map} +1 -1
- 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-FZCBTFHY.js → chunk-ZQUPAIBS.js} +4 -4
- package/dist/{chunk-FZCBTFHY.js.map → chunk-ZQUPAIBS.js.map} +1 -1
- package/dist/{chunk-VJBBMBRT.cjs → chunk-ZTWBG2XY.cjs} +7 -7
- package/dist/{chunk-VJBBMBRT.cjs.map → chunk-ZTWBG2XY.cjs.map} +1 -1
- package/dist/components/Accordion/index.cjs +6 -7
- package/dist/components/Accordion/index.js +3 -4
- package/dist/components/Alert/index.cjs +12 -13
- package/dist/components/Alert/index.js +11 -12
- package/dist/components/AlertDialog/index.cjs +15 -16
- package/dist/components/AlertDialog/index.js +13 -14
- package/dist/components/AppShell/index.cjs +20 -21
- package/dist/components/AppShell/index.js +17 -18
- package/dist/components/AspectRatio/index.cjs +3 -3
- package/dist/components/AspectRatio/index.js +2 -2
- package/dist/components/AutocompleteInput/AutocompleteInput.d.ts +3 -1
- package/dist/components/AutocompleteInput/AutocompleteInput.d.ts.map +1 -1
- package/dist/components/AutocompleteInput/BaseAutocompleteInput.d.ts +3 -1
- package/dist/components/AutocompleteInput/BaseAutocompleteInput.d.ts.map +1 -1
- package/dist/components/AutocompleteInput/index.cjs +20 -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 +15 -16
- package/dist/components/AutocompleteInput/types.d.ts +3 -3
- package/dist/components/AutocompleteInput/types.d.ts.map +1 -1
- package/dist/components/Avatar/index.cjs +6 -7
- package/dist/components/Avatar/index.js +3 -4
- package/dist/components/AvatarGroup/index.cjs +6 -7
- package/dist/components/AvatarGroup/index.js +4 -5
- package/dist/components/Badge/index.cjs +1 -1
- package/dist/components/Badge/index.js +1 -1
- package/dist/components/Blockquote/index.cjs +4 -5
- package/dist/components/Blockquote/index.js +3 -4
- package/dist/components/Breadcrumbs/index.cjs +10 -11
- package/dist/components/Breadcrumbs/index.js +7 -8
- package/dist/components/Button/index.cjs +11 -12
- package/dist/components/Button/index.js +10 -11
- package/dist/components/ButtonGroup/index.cjs +1 -1
- package/dist/components/ButtonGroup/index.js +1 -1
- package/dist/components/Calendar/index.cjs +12 -13
- package/dist/components/Calendar/index.js +11 -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/index.cjs +12 -13
- package/dist/components/CheckboxInput/index.js +11 -12
- package/dist/components/CodeBlock/index.cjs +13 -14
- package/dist/components/CodeBlock/index.js +12 -13
- package/dist/components/ContextMenu/index.cjs +17 -18
- package/dist/components/ContextMenu/index.js +15 -16
- package/dist/components/DateInput/index.cjs +16 -17
- package/dist/components/DateInput/index.js +15 -16
- package/dist/components/DateRangeInput/index.cjs +16 -17
- package/dist/components/DateRangeInput/index.js +15 -16
- package/dist/components/DateTimeInput/index.cjs +18 -19
- package/dist/components/DateTimeInput/index.js +17 -18
- package/dist/components/Dialog/index.cjs +5 -6
- package/dist/components/Dialog/index.js +3 -4
- package/dist/components/Divider/index.cjs +4 -5
- package/dist/components/Divider/index.js +3 -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 +18 -19
- package/dist/components/DropdownMenu/index.js +14 -15
- package/dist/components/EmptyState/index.cjs +7 -8
- package/dist/components/EmptyState/index.js +6 -7
- package/dist/components/Field/index.cjs +10 -11
- package/dist/components/Field/index.js +8 -9
- package/dist/components/FileInput/index.cjs +14 -15
- package/dist/components/FileInput/index.js +13 -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/index.cjs +13 -14
- package/dist/components/InputGroup/index.js +9 -10
- package/dist/components/Item/index.cjs +8 -9
- package/dist/components/Item/index.js +7 -8
- package/dist/components/Kbd/index.cjs +4 -5
- package/dist/components/Kbd/index.js +3 -4
- package/dist/components/Layout/index.cjs +16 -17
- package/dist/components/Layout/index.js +11 -12
- package/dist/components/Lightbox/index.cjs +13 -14
- package/dist/components/Lightbox/index.js +11 -12
- package/dist/components/Link/index.cjs +8 -9
- package/dist/components/Link/index.js +5 -6
- package/dist/components/List/index.cjs +11 -12
- package/dist/components/List/index.js +9 -10
- package/dist/components/MetadataList/index.cjs +7 -8
- package/dist/components/MetadataList/index.js +5 -6
- package/dist/components/MultiSelect/index.cjs +15 -16
- package/dist/components/MultiSelect/index.js +14 -15
- package/dist/components/NavIcon/index.cjs +3 -3
- package/dist/components/NavIcon/index.js +2 -2
- package/dist/components/NumberInput/index.cjs +15 -16
- package/dist/components/NumberInput/index.js +14 -15
- package/dist/components/Pagination/index.cjs +12 -13
- package/dist/components/Pagination/index.js +11 -12
- package/dist/components/PasswordInput/index.cjs +16 -17
- package/dist/components/PasswordInput/index.js +15 -16
- package/dist/components/Popover/Popover.d.ts.map +1 -1
- package/dist/components/Popover/index.cjs +13 -14
- package/dist/components/Popover/index.js +11 -12
- package/dist/components/Progress/index.cjs +5 -6
- package/dist/components/Progress/index.js +4 -5
- package/dist/components/RadioGroup/index.cjs +13 -14
- package/dist/components/RadioGroup/index.js +11 -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 +26 -27
- package/dist/components/Schedule/index.js +15 -16
- package/dist/components/Schedule/shared.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/index.cjs +33 -34
- package/dist/components/SearchFilterInput/index.js +25 -26
- package/dist/components/SegmentedControl/index.cjs +5 -5
- package/dist/components/SegmentedControl/index.js +3 -3
- package/dist/components/Select/index.cjs +17 -18
- package/dist/components/Select/index.js +15 -16
- package/dist/components/SideNav/index.cjs +19 -20
- package/dist/components/SideNav/index.js +13 -14
- package/dist/components/Skeleton/index.cjs +1 -1
- package/dist/components/Skeleton/index.js +1 -1
- package/dist/components/Slider/index.cjs +10 -11
- package/dist/components/Slider/index.js +9 -10
- package/dist/components/Spinner/index.cjs +7 -8
- package/dist/components/Spinner/index.js +6 -7
- package/dist/components/SplitButton/index.cjs +16 -17
- package/dist/components/SplitButton/index.js +15 -16
- package/dist/components/Stack/index.cjs +1 -1
- package/dist/components/Stack/index.js +1 -1
- package/dist/components/Stepper/index.cjs +8 -9
- package/dist/components/Stepper/index.js +5 -6
- package/dist/components/Switch/index.cjs +9 -10
- package/dist/components/Switch/index.js +8 -9
- package/dist/components/Table/index.cjs +57 -58
- package/dist/components/Table/index.js +29 -30
- package/dist/components/Table/plugins/filtering/useTableFiltering.d.ts.map +1 -1
- package/dist/components/Tabs/index.cjs +17 -18
- package/dist/components/Tabs/index.js +12 -13
- package/dist/components/Tag/index.cjs +8 -9
- package/dist/components/Tag/index.js +7 -8
- 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 +17 -18
- package/dist/components/TagsInput/index.js +16 -17
- package/dist/components/Text/index.cjs +6 -6
- package/dist/components/Text/index.js +4 -4
- package/dist/components/TextArea/index.cjs +11 -12
- package/dist/components/TextArea/index.js +10 -11
- package/dist/components/TextInput/index.cjs +15 -16
- package/dist/components/TextInput/index.js +14 -15
- package/dist/components/Thumbnail/index.cjs +12 -13
- package/dist/components/Thumbnail/index.js +11 -12
- package/dist/components/TimeInput/index.cjs +14 -15
- package/dist/components/TimeInput/index.js +13 -14
- package/dist/components/Toast/index.cjs +14 -15
- package/dist/components/Toast/index.js +11 -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/index.cjs +19 -20
- package/dist/components/TopNav/index.js +13 -14
- package/dist/components/TreeView/index.cjs +3 -3
- package/dist/components/TreeView/index.js +2 -2
- package/dist/index.cjs +243 -244
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +74 -75
- package/dist/index.js.map +1 -1
- package/dist/internal/HoverLayerTrigger.d.ts.map +1 -1
- package/dist/internal/useLayer.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-3ZFEBOXD.cjs.map +0 -1
- package/dist/chunk-5GNYP3PH.cjs.map +0 -1
- package/dist/chunk-5QPM5LUS.cjs.map +0 -1
- package/dist/chunk-6BK4LUK4.cjs +0 -17
- package/dist/chunk-6BK4LUK4.cjs.map +0 -1
- package/dist/chunk-7GN6YTSS.cjs.map +0 -1
- package/dist/chunk-7MN4JDP7.js.map +0 -1
- package/dist/chunk-D2DOHX4W.js.map +0 -1
- package/dist/chunk-EHCAF6D3.js.map +0 -1
- package/dist/chunk-EMHLPPQZ.js.map +0 -1
- package/dist/chunk-GUKZNXTB.js +0 -15
- package/dist/chunk-GUKZNXTB.js.map +0 -1
- package/dist/chunk-HM7IEGQ2.cjs.map +0 -1
- package/dist/chunk-LX64ENLC.cjs.map +0 -1
- package/dist/chunk-M3RNFDA2.cjs.map +0 -1
- package/dist/chunk-MGVEX3RS.js.map +0 -1
- package/dist/chunk-PYW5UO2Z.js.map +0 -1
- package/dist/chunk-QCT4BPB6.cjs.map +0 -1
- package/dist/chunk-U2WVHZ24.cjs.map +0 -1
- package/dist/chunk-UXDXE7Z6.cjs.map +0 -1
- package/dist/chunk-UYBGXFYX.js.map +0 -1
- package/dist/chunk-XUJZTD4E.js.map +0 -1
- package/dist/chunk-YSTESYUB.js.map +0 -1
- package/dist/chunk-ZNUOFLCQ.js.map +0 -1
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var
|
|
3
|
+
var chunkYHBYVERE_cjs = require('./chunk-YHBYVERE.cjs');
|
|
4
|
+
var chunkYVHWOKR7_cjs = require('./chunk-YVHWOKR7.cjs');
|
|
5
|
+
var chunk5D2OR64D_cjs = require('./chunk-5D2OR64D.cjs');
|
|
6
|
+
var chunkAHVHLNHU_cjs = require('./chunk-AHVHLNHU.cjs');
|
|
7
7
|
var chunk6SHL7FYO_cjs = require('./chunk-6SHL7FYO.cjs');
|
|
8
8
|
var chunkQAO6QMNQ_cjs = require('./chunk-QAO6QMNQ.cjs');
|
|
9
9
|
var chunkJRBQKFVO_cjs = require('./chunk-JRBQKFVO.cjs');
|
|
10
|
-
var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
|
|
11
10
|
var chunkRU6JG3FS_cjs = require('./chunk-RU6JG3FS.cjs');
|
|
11
|
+
var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
|
|
12
12
|
var react = require('react');
|
|
13
13
|
var jsxRuntime = require('react/jsx-runtime');
|
|
14
14
|
|
|
@@ -270,9 +270,9 @@ function AppShell({
|
|
|
270
270
|
}),
|
|
271
271
|
[isBelowBreakpoint, isMobileNavOpen, mobileNavEnabled]
|
|
272
272
|
);
|
|
273
|
-
const mobileContentValue = hasSideNavContent ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
274
|
-
const drawerMobileContentValue = hasSideNavContent ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
275
|
-
const topNavContent = hasTopNav && isBelowBreakpoint && !isMobileNavDisabled ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
273
|
+
const mobileContentValue = hasSideNavContent ? /* @__PURE__ */ jsxRuntime.jsx(chunkYVHWOKR7_cjs.SideNavRenderContext, { value: "drawer-content", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.slotContents, ref: sideNavPresenceRef, children: sideNav }) }) : null;
|
|
274
|
+
const drawerMobileContentValue = hasSideNavContent ? /* @__PURE__ */ jsxRuntime.jsx(chunkYVHWOKR7_cjs.SideNavRenderContext, { value: "drawer-content", children: sideNav }) : null;
|
|
275
|
+
const topNavContent = hasTopNav && isBelowBreakpoint && !isMobileNavDisabled ? /* @__PURE__ */ jsxRuntime.jsx(chunkYHBYVERE_cjs.TopNavMobileContentContext, { value: mobileContentValue, children: /* @__PURE__ */ jsxRuntime.jsx(chunkYHBYVERE_cjs.TopNavRenderContext, { value: "mobile-bar", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.slotContents, ref: topNavPresenceRef, children: topNav }) }) }) : topNav;
|
|
276
276
|
const headerContent = hasTopNav || chunkQAO6QMNQ_cjs.isReactNode(banner) ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkSPDVNY2Z_cjs.cx(isAuto && styles.headerSticky), ref: headerRef, children: /* @__PURE__ */ jsxRuntime.jsxs("header", { style: { flexShrink: 0 }, children: [
|
|
277
277
|
chunkQAO6QMNQ_cjs.isReactNode(banner) ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.banner, children: banner }) : null,
|
|
278
278
|
hasTopNav ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.slotContents, ref: topNavPresenceRef, children: topNavContent }) : null
|
|
@@ -284,16 +284,16 @@ function AppShell({
|
|
|
284
284
|
className: styles.autoMobileTopBar,
|
|
285
285
|
role: "navigation",
|
|
286
286
|
children: [
|
|
287
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
288
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
287
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkYVHWOKR7_cjs.SideNavRenderContext, { value: "topbar", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.slotContents, ref: sideNavPresenceRef, children: sideNav }) }),
|
|
288
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunk5D2OR64D_cjs.MobileNavToggle, {})
|
|
289
289
|
]
|
|
290
290
|
}
|
|
291
291
|
) }) : void 0;
|
|
292
|
-
const sideNavPanel = showSideNavInline ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
292
|
+
const sideNavPanel = showSideNavInline ? /* @__PURE__ */ jsxRuntime.jsx(chunkAHVHLNHU_cjs.LayoutPanel, { isScrollable: isFill, padding: 0, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.slotContents, ref: sideNavPresenceRef, children: sideNav }) }) : void 0;
|
|
293
293
|
const sideNavContent = sideNavPanel != null && isAuto ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.sideNavSticky, children: sideNavPanel }) : sideNavPanel;
|
|
294
294
|
const contentClassName = variant === "default" && hasTopNavContent && showSideNavInline ? styles.contentTransparent : variant === "default" ? styles.contentSurface : void 0;
|
|
295
295
|
const mainInner = /* @__PURE__ */ jsxRuntime.jsx(
|
|
296
|
-
|
|
296
|
+
chunkAHVHLNHU_cjs.LayoutContent,
|
|
297
297
|
{
|
|
298
298
|
as: "main",
|
|
299
299
|
className: contentClassName,
|
|
@@ -309,7 +309,7 @@ function AppShell({
|
|
|
309
309
|
mainInner
|
|
310
310
|
] }) : mainInner;
|
|
311
311
|
const rootStyle = { ...style };
|
|
312
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
312
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunk5D2OR64D_cjs.AppShellMobileContext, { value: mobileContextValue, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
313
313
|
"div",
|
|
314
314
|
{
|
|
315
315
|
className: chunkSPDVNY2Z_cjs.cx(appShellRecipe({ height, variant }), className),
|
|
@@ -327,7 +327,7 @@ function AppShell({
|
|
|
327
327
|
}
|
|
328
328
|
),
|
|
329
329
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
330
|
-
|
|
330
|
+
chunkAHVHLNHU_cjs.Layout,
|
|
331
331
|
{
|
|
332
332
|
content: mainContent,
|
|
333
333
|
hasDividers: navHasDividers,
|
|
@@ -341,8 +341,8 @@ function AppShell({
|
|
|
341
341
|
}
|
|
342
342
|
),
|
|
343
343
|
isBelowBreakpoint && !isMobileNavDisabled ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
344
|
-
hasSideNav && !hasTopNavContent ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
345
|
-
hasTopNav && hasTopNavContent ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
344
|
+
hasSideNav && !hasTopNavContent ? /* @__PURE__ */ jsxRuntime.jsx(chunkYVHWOKR7_cjs.SideNavRenderContext, { value: "drawer", children: sideNav }) : null,
|
|
345
|
+
hasTopNav && hasTopNavContent ? /* @__PURE__ */ jsxRuntime.jsx(chunkYHBYVERE_cjs.TopNavMobileContentContext, { value: drawerMobileContentValue, children: /* @__PURE__ */ jsxRuntime.jsx(chunkYHBYVERE_cjs.TopNavRenderContext, { value: "drawer", children: topNav }) }) : null
|
|
346
346
|
] }) : null
|
|
347
347
|
]
|
|
348
348
|
}
|
|
@@ -351,5 +351,5 @@ function AppShell({
|
|
|
351
351
|
AppShell.displayName = "AppShell";
|
|
352
352
|
|
|
353
353
|
exports.AppShell = AppShell;
|
|
354
|
-
//# sourceMappingURL=chunk-
|
|
355
|
-
//# sourceMappingURL=chunk-
|
|
354
|
+
//# sourceMappingURL=chunk-7U7JMRVF.cjs.map
|
|
355
|
+
//# sourceMappingURL=chunk-7U7JMRVF.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/internal/sharedResizeObserver.ts","../src/internal/useMediaQuery.ts","../src/components/AppShell/AppShell.recipe.ts","../src/components/AppShell/useSlotPresence.tsx","../src/components/AppShell/AppShell.tsx"],"names":["useCallback","useSyncExternalStore","cva","useState","useRef","observer","useEffect","css","useId","isReactNode","useMemo","jsx","SideNavRenderContext","TopNavMobileContentContext","TopNavRenderContext","cx","jsxs","MobileNavToggle","LayoutPanel","LayoutContent","AppShellMobileContext","mergeRefs","Layout","Fragment"],"mappings":"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","file":"chunk-PJMV2HTO.cjs","sourcesContent":["type ResizeCallback = (entry: ResizeObserverEntry) => void;\n\nlet observer: ResizeObserver | null = null;\nconst callbacks = new Map<Element, ResizeCallback>();\n\nfunction getObserver(): ResizeObserver {\n observer ??= new ResizeObserver(entries => {\n for (const entry of entries) {\n callbacks.get(entry.target)?.(entry);\n }\n });\n\n return observer;\n}\n\nexport function observeResize(\n element: Element,\n callback: ResizeCallback,\n): void {\n callbacks.set(element, callback);\n getObserver().observe(element);\n}\n\nexport function unobserveResize(element: Element): void {\n callbacks.delete(element);\n\n if (observer == null) {\n return;\n }\n\n observer.unobserve(element);\n\n if (callbacks.size === 0) {\n observer.disconnect();\n observer = null;\n }\n}\n","import {useCallback, useSyncExternalStore} from 'react';\n\nfunction getServerSnapshot(): boolean {\n return false;\n}\n\n/**\n * Subscribe to a browser media query using React's external-store API.\n */\nexport function useMediaQuery(query: string): boolean {\n const subscribe = useCallback(\n (onStoreChange: () => void) => {\n const mediaQueryList = window.matchMedia(query);\n mediaQueryList.addEventListener('change', onStoreChange);\n return () => mediaQueryList.removeEventListener('change', onStoreChange);\n },\n [query],\n );\n\n const getSnapshot = useCallback(() => {\n return window.matchMedia(query).matches;\n }, [query]);\n\n return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n}\n","import {cva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const appShellRecipe = cva({\n base: {\n display: 'flex',\n flexDirection: 'column',\n position: 'relative',\n },\n variants: {\n height: {\n fill: {\n h: '100dvh',\n },\n auto: {\n minH: '100dvh',\n },\n },\n variant: {\n default: {\n bg: 'bg.subtle',\n },\n section: {\n bg: 'bg',\n },\n },\n },\n defaultVariants: {\n height: 'fill',\n variant: 'default',\n },\n});\n\nexport type AppShellVariants = RecipeVariantProps<typeof appShellRecipe>;\n","import {useCallback, useEffect, useRef, useState} from 'react';\n\nfunction hasChildContent(element: HTMLElement): boolean {\n for (const node of element.childNodes) {\n if (node.nodeType === Node.ELEMENT_NODE) {\n return true;\n }\n\n if (node.nodeType === Node.TEXT_NODE && node.textContent?.trim() !== '') {\n return true;\n }\n }\n\n return false;\n}\n\nexport function useSlotPresence(initialValue = false): {\n hasContent: boolean;\n ref: (node: HTMLDivElement | null) => void;\n} {\n const [hasContent, setHasContent] = useState(initialValue);\n const observerRef = useRef<MutationObserver | null>(null);\n\n const ref = useCallback((node: HTMLDivElement | null) => {\n observerRef.current?.disconnect();\n observerRef.current = null;\n\n if (node == null) {\n setHasContent(false);\n return;\n }\n\n setHasContent(hasChildContent(node));\n\n const observer = new MutationObserver(() => {\n setHasContent(hasChildContent(node));\n });\n observer.observe(node, {childList: true});\n observerRef.current = observer;\n }, []);\n\n useEffect(() => {\n return () => observerRef.current?.disconnect();\n }, []);\n\n return {hasContent, ref};\n}\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {useEffect, useId, useMemo, useRef, useState} from 'react';\nimport {css} from 'styled-system/css';\nimport {MobileNavToggle} from '../../internal/MobileNav';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\nimport {mergeRefs} from '../../internal/mergeRefs';\nimport {\n observeResize,\n unobserveResize,\n} from '../../internal/sharedResizeObserver';\nimport type {SpacingToken} from '../../internal/spacingTokens';\nimport {useMediaQuery} from '../../internal/useMediaQuery';\nimport {Layout, LayoutContent, LayoutPanel} from '../Layout';\nimport {SideNavRenderContext} from '../SideNav';\nimport {TopNavMobileContentContext, TopNavRenderContext} from '../TopNav';\nimport {appShellRecipe} from './AppShell.recipe';\nimport {\n AppShellMobileContext,\n type AppShellMobileContextValue,\n} from './AppShellMobileContext';\nimport {useSlotPresence} from './useSlotPresence';\n\nexport type AppShellBreakpoint = 'sm' | 'md' | 'lg' | 'none';\nexport type AppShellVariant = 'default' | 'section';\nexport type AppShellHeight = 'fill' | 'auto';\n\n/**\n * Application-level layout shell with top navigation, side navigation,\n * banner, skip-to-content support, and responsive mobile navigation.\n */\nexport interface AppShellProps {\n /**\n * System-wide content rendered above the top navigation.\n */\n banner?: ReactNode;\n /**\n * Main content rendered inside the shell's `<main>` landmark.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Padding applied to the main content area. Default is `0`.\n */\n contentPadding?: SpacingToken;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Height behavior. `fill` keeps scrolling inside the shell; `auto` lets the\n * page grow with content.\n */\n height?: AppShellHeight;\n /**\n * Disable generated mobile navigation.\n */\n isMobileNavDisabled?: boolean;\n /**\n * Breakpoint below which mobile navigation is used.\n * @default 'md'\n */\n mobileBreakpoint?: AppShellBreakpoint;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Side navigation slot, typically a SideNav.\n */\n sideNav?: ReactNode;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Top navigation slot, typically a TopNav.\n */\n topNav?: ReactNode;\n /**\n * Background and divider style for the shell.\n */\n variant?: AppShellVariant;\n}\n\nconst BREAKPOINT_VALUES: Record<AppShellBreakpoint, number> = {\n sm: 640,\n md: 768,\n lg: 1024,\n none: 0,\n};\n\nconst styles = {\n skipLink: css({\n position: 'absolute',\n top: 0,\n insetInlineStart: 0,\n w: '1px',\n h: '1px',\n p: 0,\n m: '-1px',\n overflow: 'hidden',\n clipPath: 'inset(50%)',\n whiteSpace: 'nowrap',\n borderWidth: 0,\n zIndex: 9999,\n bg: 'bg',\n color: 'primary',\n textDecoration: 'none',\n fontWeight: 'semibold',\n _focus: {\n position: 'fixed',\n top: '2',\n insetInlineStart: '2',\n w: 'auto',\n h: 'auto',\n p: '2',\n m: 0,\n overflow: 'visible',\n clipPath: 'none',\n whiteSpace: 'normal',\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n }),\n headerSticky: css({\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }),\n banner: css({\n flexShrink: 0,\n }),\n autoMobileTopBar: css({\n display: 'flex',\n alignItems: 'center',\n h: '12',\n px: '2',\n }),\n sideNavSticky: css({\n flexShrink: 0,\n overflow: 'clip',\n position: 'sticky',\n top: 'var(--appshell-header-height, 0px)',\n h: 'calc(100dvh - var(--appshell-header-height, 0px))',\n display: 'flex',\n flexDirection: 'column',\n }),\n elevatedWrapper: css({\n position: 'relative',\n display: 'flex',\n flex: 1,\n minH: 0,\n h: '100%',\n }),\n elevatedBackdrop: css({\n position: 'absolute',\n inset: 0,\n bg: 'bg',\n borderStartStartRadius: '2xl',\n pointerEvents: 'none',\n }),\n contentSurface: css({\n bg: 'bg',\n }),\n contentTransparent: css({\n bg: 'transparent',\n isolation: 'isolate',\n }),\n slotContents: css({\n display: 'contents',\n }),\n};\n\ntype AppShellRootStyle = CSSProperties & {\n '--appshell-header-height'?: string;\n};\n\n/**\n * Application-level layout shell with top navigation, side navigation,\n * banner, skip-to-content support, and responsive mobile navigation.\n */\nexport function AppShell({\n banner,\n children,\n className,\n contentPadding,\n 'data-testid': dataTestId,\n height = 'fill',\n isMobileNavDisabled = false,\n mobileBreakpoint = 'md',\n ref,\n sideNav,\n style,\n topNav,\n variant = 'default',\n}: AppShellProps): React.JSX.Element {\n const mainContentId = useId();\n const breakpointQuery =\n mobileBreakpoint === 'none'\n ? '(max-width: 0px)'\n : `(max-width: ${BREAKPOINT_VALUES[mobileBreakpoint]}px)`;\n const isBelowBreakpoint = useMediaQuery(breakpointQuery);\n const [isMobileNavOpen, setIsMobileNavOpen] = useState(false);\n const {ref: topNavPresenceRef, hasContent: hasTopNavContent} =\n useSlotPresence(isReactNode(topNav));\n const {ref: sideNavPresenceRef, hasContent: hasSideNavContent} =\n useSlotPresence(isReactNode(sideNav));\n const hasTopNav = isReactNode(topNav);\n const hasSideNav = isReactNode(sideNav);\n const hasNavContent = hasTopNavContent || hasSideNavContent;\n const mobileNavEnabled = !isMobileNavDisabled && hasNavContent;\n const showSideNavInline = hasSideNav && !isBelowBreakpoint;\n const isAuto = height === 'auto';\n const isFill = height === 'fill';\n const navHasDividers = variant === 'section';\n const headerRef = useRef<HTMLDivElement>(null);\n const shellRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!isAuto || headerRef.current == null || shellRef.current == null) {\n return;\n }\n\n const headerElement = headerRef.current;\n const shellElement = shellRef.current;\n const updateHeight = () => {\n shellElement.style.setProperty(\n '--appshell-header-height',\n `${headerElement.getBoundingClientRect().height}px`,\n );\n };\n\n observeResize(headerElement, updateHeight);\n return () => unobserveResize(headerElement);\n }, [isAuto]);\n\n const mobileContextValue = useMemo<AppShellMobileContextValue>(\n () => ({\n closeMobileNav: () => setIsMobileNavOpen(false),\n hasAutoToggle: true,\n isMobile: isBelowBreakpoint,\n isMobileNavEnabled: mobileNavEnabled,\n isMobileNavOpen,\n openMobileNav: () => mobileNavEnabled && setIsMobileNavOpen(true),\n toggleMobileNav: () => {\n if (mobileNavEnabled) {\n setIsMobileNavOpen(prev => !prev);\n }\n },\n }),\n [isBelowBreakpoint, isMobileNavOpen, mobileNavEnabled],\n );\n\n /* eslint-disable @eslint-react/no-unstable-context-value -- sideNav ReactNode prop prevents stable memoization */\n const mobileContentValue = hasSideNavContent ? (\n <SideNavRenderContext value=\"drawer-content\">\n <div className={styles.slotContents} ref={sideNavPresenceRef}>\n {sideNav}\n </div>\n </SideNavRenderContext>\n ) : null;\n const drawerMobileContentValue = hasSideNavContent ? (\n <SideNavRenderContext value=\"drawer-content\">\n {sideNav}\n </SideNavRenderContext>\n ) : null;\n /* eslint-enable @eslint-react/no-unstable-context-value */\n const topNavContent =\n hasTopNav && isBelowBreakpoint && !isMobileNavDisabled ? (\n <TopNavMobileContentContext value={mobileContentValue}>\n <TopNavRenderContext value=\"mobile-bar\">\n <div className={styles.slotContents} ref={topNavPresenceRef}>\n {topNav}\n </div>\n </TopNavRenderContext>\n </TopNavMobileContentContext>\n ) : (\n topNav\n );\n const headerContent =\n hasTopNav || isReactNode(banner) ? (\n <div className={cx(isAuto && styles.headerSticky)} ref={headerRef}>\n <header style={{flexShrink: 0}}>\n {isReactNode(banner) ? (\n <div className={styles.banner}>{banner}</div>\n ) : null}\n {hasTopNav ? (\n <div className={styles.slotContents} ref={topNavPresenceRef}>\n {topNavContent}\n </div>\n ) : null}\n </header>\n </div>\n ) : undefined;\n const autoMobileTopBar =\n !isMobileNavDisabled &&\n isBelowBreakpoint &&\n !hasTopNavContent &&\n hasSideNav ? (\n <header style={{flexShrink: 0}}>\n <div\n aria-label=\"Mobile navigation\"\n className={styles.autoMobileTopBar}\n role=\"navigation\">\n <SideNavRenderContext value=\"topbar\">\n <div className={styles.slotContents} ref={sideNavPresenceRef}>\n {sideNav}\n </div>\n </SideNavRenderContext>\n <MobileNavToggle />\n </div>\n </header>\n ) : undefined;\n const sideNavPanel = showSideNavInline ? (\n <LayoutPanel isScrollable={isFill} padding={0}>\n <div className={styles.slotContents} ref={sideNavPresenceRef}>\n {sideNav}\n </div>\n </LayoutPanel>\n ) : undefined;\n const sideNavContent =\n sideNavPanel != null && isAuto ? (\n <div className={styles.sideNavSticky}>{sideNavPanel}</div>\n ) : (\n sideNavPanel\n );\n const contentClassName =\n variant === 'default' && hasTopNavContent && showSideNavInline\n ? styles.contentTransparent\n : variant === 'default'\n ? styles.contentSurface\n : undefined;\n const mainInner = (\n <LayoutContent\n as=\"main\"\n className={contentClassName}\n id={mainContentId}\n isScrollable={isFill}\n padding={contentPadding ?? 0}>\n {children}\n </LayoutContent>\n );\n const shouldElevateWithCorner =\n variant === 'default' && hasTopNavContent && showSideNavInline;\n const mainContent = shouldElevateWithCorner ? (\n <div className={styles.elevatedWrapper}>\n <div className={styles.elevatedBackdrop} />\n {mainInner}\n </div>\n ) : (\n mainInner\n );\n const rootStyle: AppShellRootStyle = {...style};\n\n return (\n <AppShellMobileContext value={mobileContextValue}>\n <div\n className={cx(appShellRecipe({height, variant}), className)}\n data-testid={dataTestId}\n ref={mergeRefs(ref, shellRef)}\n style={rootStyle}>\n <a\n className={styles.skipLink}\n data-testid=\"skip-to-content\"\n href={`#${mainContentId}`}>\n Skip to content\n </a>\n <Layout\n content={mainContent}\n hasDividers={navHasDividers}\n header={\n <>\n {headerContent}\n {autoMobileTopBar}\n </>\n }\n height={height}\n padding={0}\n start={sideNavContent}\n />\n {isBelowBreakpoint && !isMobileNavDisabled ? (\n <>\n {hasSideNav && !hasTopNavContent ? (\n <SideNavRenderContext value=\"drawer\">\n {sideNav}\n </SideNavRenderContext>\n ) : null}\n {hasTopNav && hasTopNavContent ? (\n <TopNavMobileContentContext value={drawerMobileContentValue}>\n <TopNavRenderContext value=\"drawer\">\n {topNav}\n </TopNavRenderContext>\n </TopNavMobileContentContext>\n ) : null}\n </>\n ) : null}\n </div>\n </AppShellMobileContext>\n );\n}\n\nAppShell.displayName = 'AppShell';\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/internal/sharedResizeObserver.ts","../src/internal/useMediaQuery.ts","../src/components/AppShell/AppShell.recipe.ts","../src/components/AppShell/useSlotPresence.tsx","../src/components/AppShell/AppShell.tsx"],"names":["useCallback","useSyncExternalStore","cva","useState","useRef","observer","useEffect","css","useId","isReactNode","useMemo","jsx","SideNavRenderContext","TopNavMobileContentContext","TopNavRenderContext","cx","jsxs","MobileNavToggle","LayoutPanel","LayoutContent","AppShellMobileContext","mergeRefs","Layout","Fragment"],"mappings":"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","file":"chunk-7U7JMRVF.cjs","sourcesContent":["type ResizeCallback = (entry: ResizeObserverEntry) => void;\n\nlet observer: ResizeObserver | null = null;\nconst callbacks = new Map<Element, ResizeCallback>();\n\nfunction getObserver(): ResizeObserver {\n observer ??= new ResizeObserver(entries => {\n for (const entry of entries) {\n callbacks.get(entry.target)?.(entry);\n }\n });\n\n return observer;\n}\n\nexport function observeResize(\n element: Element,\n callback: ResizeCallback,\n): void {\n callbacks.set(element, callback);\n getObserver().observe(element);\n}\n\nexport function unobserveResize(element: Element): void {\n callbacks.delete(element);\n\n if (observer == null) {\n return;\n }\n\n observer.unobserve(element);\n\n if (callbacks.size === 0) {\n observer.disconnect();\n observer = null;\n }\n}\n","import {useCallback, useSyncExternalStore} from 'react';\n\nfunction getServerSnapshot(): boolean {\n return false;\n}\n\n/**\n * Subscribe to a browser media query using React's external-store API.\n */\nexport function useMediaQuery(query: string): boolean {\n const subscribe = useCallback(\n (onStoreChange: () => void) => {\n const mediaQueryList = window.matchMedia(query);\n mediaQueryList.addEventListener('change', onStoreChange);\n return () => mediaQueryList.removeEventListener('change', onStoreChange);\n },\n [query],\n );\n\n const getSnapshot = useCallback(() => {\n return window.matchMedia(query).matches;\n }, [query]);\n\n return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n}\n","import {cva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const appShellRecipe = cva({\n base: {\n display: 'flex',\n flexDirection: 'column',\n position: 'relative',\n },\n variants: {\n height: {\n fill: {\n h: '100dvh',\n },\n auto: {\n minH: '100dvh',\n },\n },\n variant: {\n default: {\n bg: 'bg.subtle',\n },\n section: {\n bg: 'bg',\n },\n },\n },\n defaultVariants: {\n height: 'fill',\n variant: 'default',\n },\n});\n\nexport type AppShellVariants = RecipeVariantProps<typeof appShellRecipe>;\n","import {useCallback, useEffect, useRef, useState} from 'react';\n\nfunction hasChildContent(element: HTMLElement): boolean {\n for (const node of element.childNodes) {\n if (node.nodeType === Node.ELEMENT_NODE) {\n return true;\n }\n\n if (node.nodeType === Node.TEXT_NODE && node.textContent?.trim() !== '') {\n return true;\n }\n }\n\n return false;\n}\n\nexport function useSlotPresence(initialValue = false): {\n hasContent: boolean;\n ref: (node: HTMLDivElement | null) => void;\n} {\n const [hasContent, setHasContent] = useState(initialValue);\n const observerRef = useRef<MutationObserver | null>(null);\n\n const ref = useCallback((node: HTMLDivElement | null) => {\n observerRef.current?.disconnect();\n observerRef.current = null;\n\n if (node == null) {\n setHasContent(false);\n return;\n }\n\n setHasContent(hasChildContent(node));\n\n const observer = new MutationObserver(() => {\n setHasContent(hasChildContent(node));\n });\n observer.observe(node, {childList: true});\n observerRef.current = observer;\n }, []);\n\n useEffect(() => {\n return () => observerRef.current?.disconnect();\n }, []);\n\n return {hasContent, ref};\n}\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {useEffect, useId, useMemo, useRef, useState} from 'react';\nimport {css} from 'styled-system/css';\nimport {MobileNavToggle} from '../../internal/MobileNav';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\nimport {mergeRefs} from '../../internal/mergeRefs';\nimport {\n observeResize,\n unobserveResize,\n} from '../../internal/sharedResizeObserver';\nimport type {SpacingToken} from '../../internal/spacingTokens';\nimport {useMediaQuery} from '../../internal/useMediaQuery';\nimport {Layout, LayoutContent, LayoutPanel} from '../Layout';\nimport {SideNavRenderContext} from '../SideNav';\nimport {TopNavMobileContentContext, TopNavRenderContext} from '../TopNav';\nimport {appShellRecipe} from './AppShell.recipe';\nimport {\n AppShellMobileContext,\n type AppShellMobileContextValue,\n} from './AppShellMobileContext';\nimport {useSlotPresence} from './useSlotPresence';\n\nexport type AppShellBreakpoint = 'sm' | 'md' | 'lg' | 'none';\nexport type AppShellVariant = 'default' | 'section';\nexport type AppShellHeight = 'fill' | 'auto';\n\n/**\n * Application-level layout shell with top navigation, side navigation,\n * banner, skip-to-content support, and responsive mobile navigation.\n */\nexport interface AppShellProps {\n /**\n * System-wide content rendered above the top navigation.\n */\n banner?: ReactNode;\n /**\n * Main content rendered inside the shell's `<main>` landmark.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Padding applied to the main content area. Default is `0`.\n */\n contentPadding?: SpacingToken;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Height behavior. `fill` keeps scrolling inside the shell; `auto` lets the\n * page grow with content.\n */\n height?: AppShellHeight;\n /**\n * Disable generated mobile navigation.\n */\n isMobileNavDisabled?: boolean;\n /**\n * Breakpoint below which mobile navigation is used.\n * @default 'md'\n */\n mobileBreakpoint?: AppShellBreakpoint;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Side navigation slot, typically a SideNav.\n */\n sideNav?: ReactNode;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Top navigation slot, typically a TopNav.\n */\n topNav?: ReactNode;\n /**\n * Background and divider style for the shell.\n */\n variant?: AppShellVariant;\n}\n\nconst BREAKPOINT_VALUES: Record<AppShellBreakpoint, number> = {\n sm: 640,\n md: 768,\n lg: 1024,\n none: 0,\n};\n\nconst styles = {\n skipLink: css({\n position: 'absolute',\n top: 0,\n insetInlineStart: 0,\n w: '1px',\n h: '1px',\n p: 0,\n m: '-1px',\n overflow: 'hidden',\n clipPath: 'inset(50%)',\n whiteSpace: 'nowrap',\n borderWidth: 0,\n zIndex: 9999,\n bg: 'bg',\n color: 'primary',\n textDecoration: 'none',\n fontWeight: 'semibold',\n _focus: {\n position: 'fixed',\n top: '2',\n insetInlineStart: '2',\n w: 'auto',\n h: 'auto',\n p: '2',\n m: 0,\n overflow: 'visible',\n clipPath: 'none',\n whiteSpace: 'normal',\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n }),\n headerSticky: css({\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }),\n banner: css({\n flexShrink: 0,\n }),\n autoMobileTopBar: css({\n display: 'flex',\n alignItems: 'center',\n h: '12',\n px: '2',\n }),\n sideNavSticky: css({\n flexShrink: 0,\n overflow: 'clip',\n position: 'sticky',\n top: 'var(--appshell-header-height, 0px)',\n h: 'calc(100dvh - var(--appshell-header-height, 0px))',\n display: 'flex',\n flexDirection: 'column',\n }),\n elevatedWrapper: css({\n position: 'relative',\n display: 'flex',\n flex: 1,\n minH: 0,\n h: '100%',\n }),\n elevatedBackdrop: css({\n position: 'absolute',\n inset: 0,\n bg: 'bg',\n borderStartStartRadius: '2xl',\n pointerEvents: 'none',\n }),\n contentSurface: css({\n bg: 'bg',\n }),\n contentTransparent: css({\n bg: 'transparent',\n isolation: 'isolate',\n }),\n slotContents: css({\n display: 'contents',\n }),\n};\n\ntype AppShellRootStyle = CSSProperties & {\n '--appshell-header-height'?: string;\n};\n\n/**\n * Application-level layout shell with top navigation, side navigation,\n * banner, skip-to-content support, and responsive mobile navigation.\n */\nexport function AppShell({\n banner,\n children,\n className,\n contentPadding,\n 'data-testid': dataTestId,\n height = 'fill',\n isMobileNavDisabled = false,\n mobileBreakpoint = 'md',\n ref,\n sideNav,\n style,\n topNav,\n variant = 'default',\n}: AppShellProps): React.JSX.Element {\n const mainContentId = useId();\n const breakpointQuery =\n mobileBreakpoint === 'none'\n ? '(max-width: 0px)'\n : `(max-width: ${BREAKPOINT_VALUES[mobileBreakpoint]}px)`;\n const isBelowBreakpoint = useMediaQuery(breakpointQuery);\n const [isMobileNavOpen, setIsMobileNavOpen] = useState(false);\n const {ref: topNavPresenceRef, hasContent: hasTopNavContent} =\n useSlotPresence(isReactNode(topNav));\n const {ref: sideNavPresenceRef, hasContent: hasSideNavContent} =\n useSlotPresence(isReactNode(sideNav));\n const hasTopNav = isReactNode(topNav);\n const hasSideNav = isReactNode(sideNav);\n const hasNavContent = hasTopNavContent || hasSideNavContent;\n const mobileNavEnabled = !isMobileNavDisabled && hasNavContent;\n const showSideNavInline = hasSideNav && !isBelowBreakpoint;\n const isAuto = height === 'auto';\n const isFill = height === 'fill';\n const navHasDividers = variant === 'section';\n const headerRef = useRef<HTMLDivElement>(null);\n const shellRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!isAuto || headerRef.current == null || shellRef.current == null) {\n return;\n }\n\n const headerElement = headerRef.current;\n const shellElement = shellRef.current;\n const updateHeight = () => {\n shellElement.style.setProperty(\n '--appshell-header-height',\n `${headerElement.getBoundingClientRect().height}px`,\n );\n };\n\n observeResize(headerElement, updateHeight);\n return () => unobserveResize(headerElement);\n }, [isAuto]);\n\n const mobileContextValue = useMemo<AppShellMobileContextValue>(\n () => ({\n closeMobileNav: () => setIsMobileNavOpen(false),\n hasAutoToggle: true,\n isMobile: isBelowBreakpoint,\n isMobileNavEnabled: mobileNavEnabled,\n isMobileNavOpen,\n openMobileNav: () => mobileNavEnabled && setIsMobileNavOpen(true),\n toggleMobileNav: () => {\n if (mobileNavEnabled) {\n setIsMobileNavOpen(prev => !prev);\n }\n },\n }),\n [isBelowBreakpoint, isMobileNavOpen, mobileNavEnabled],\n );\n\n /* eslint-disable @eslint-react/no-unstable-context-value -- sideNav ReactNode prop prevents stable memoization */\n const mobileContentValue = hasSideNavContent ? (\n <SideNavRenderContext value=\"drawer-content\">\n <div className={styles.slotContents} ref={sideNavPresenceRef}>\n {sideNav}\n </div>\n </SideNavRenderContext>\n ) : null;\n const drawerMobileContentValue = hasSideNavContent ? (\n <SideNavRenderContext value=\"drawer-content\">\n {sideNav}\n </SideNavRenderContext>\n ) : null;\n /* eslint-enable @eslint-react/no-unstable-context-value */\n const topNavContent =\n hasTopNav && isBelowBreakpoint && !isMobileNavDisabled ? (\n <TopNavMobileContentContext value={mobileContentValue}>\n <TopNavRenderContext value=\"mobile-bar\">\n <div className={styles.slotContents} ref={topNavPresenceRef}>\n {topNav}\n </div>\n </TopNavRenderContext>\n </TopNavMobileContentContext>\n ) : (\n topNav\n );\n const headerContent =\n hasTopNav || isReactNode(banner) ? (\n <div className={cx(isAuto && styles.headerSticky)} ref={headerRef}>\n <header style={{flexShrink: 0}}>\n {isReactNode(banner) ? (\n <div className={styles.banner}>{banner}</div>\n ) : null}\n {hasTopNav ? (\n <div className={styles.slotContents} ref={topNavPresenceRef}>\n {topNavContent}\n </div>\n ) : null}\n </header>\n </div>\n ) : undefined;\n const autoMobileTopBar =\n !isMobileNavDisabled &&\n isBelowBreakpoint &&\n !hasTopNavContent &&\n hasSideNav ? (\n <header style={{flexShrink: 0}}>\n <div\n aria-label=\"Mobile navigation\"\n className={styles.autoMobileTopBar}\n role=\"navigation\">\n <SideNavRenderContext value=\"topbar\">\n <div className={styles.slotContents} ref={sideNavPresenceRef}>\n {sideNav}\n </div>\n </SideNavRenderContext>\n <MobileNavToggle />\n </div>\n </header>\n ) : undefined;\n const sideNavPanel = showSideNavInline ? (\n <LayoutPanel isScrollable={isFill} padding={0}>\n <div className={styles.slotContents} ref={sideNavPresenceRef}>\n {sideNav}\n </div>\n </LayoutPanel>\n ) : undefined;\n const sideNavContent =\n sideNavPanel != null && isAuto ? (\n <div className={styles.sideNavSticky}>{sideNavPanel}</div>\n ) : (\n sideNavPanel\n );\n const contentClassName =\n variant === 'default' && hasTopNavContent && showSideNavInline\n ? styles.contentTransparent\n : variant === 'default'\n ? styles.contentSurface\n : undefined;\n const mainInner = (\n <LayoutContent\n as=\"main\"\n className={contentClassName}\n id={mainContentId}\n isScrollable={isFill}\n padding={contentPadding ?? 0}>\n {children}\n </LayoutContent>\n );\n const shouldElevateWithCorner =\n variant === 'default' && hasTopNavContent && showSideNavInline;\n const mainContent = shouldElevateWithCorner ? (\n <div className={styles.elevatedWrapper}>\n <div className={styles.elevatedBackdrop} />\n {mainInner}\n </div>\n ) : (\n mainInner\n );\n const rootStyle: AppShellRootStyle = {...style};\n\n return (\n <AppShellMobileContext value={mobileContextValue}>\n <div\n className={cx(appShellRecipe({height, variant}), className)}\n data-testid={dataTestId}\n ref={mergeRefs(ref, shellRef)}\n style={rootStyle}>\n <a\n className={styles.skipLink}\n data-testid=\"skip-to-content\"\n href={`#${mainContentId}`}>\n Skip to content\n </a>\n <Layout\n content={mainContent}\n hasDividers={navHasDividers}\n header={\n <>\n {headerContent}\n {autoMobileTopBar}\n </>\n }\n height={height}\n padding={0}\n start={sideNavContent}\n />\n {isBelowBreakpoint && !isMobileNavDisabled ? (\n <>\n {hasSideNav && !hasTopNavContent ? (\n <SideNavRenderContext value=\"drawer\">\n {sideNav}\n </SideNavRenderContext>\n ) : null}\n {hasTopNav && hasTopNavContent ? (\n <TopNavMobileContentContext value={drawerMobileContentValue}>\n <TopNavRenderContext value=\"drawer\">\n {topNav}\n </TopNavRenderContext>\n </TopNavMobileContentContext>\n ) : null}\n </>\n ) : null}\n </div>\n </AppShellMobileContext>\n );\n}\n\nAppShell.displayName = 'AppShell';\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Link } from './chunk-
|
|
2
|
-
import { VisuallyHidden } from './chunk-
|
|
3
|
-
import { Tooltip } from './chunk-
|
|
1
|
+
import { Link } from './chunk-MI5QU37D.js';
|
|
2
|
+
import { VisuallyHidden } from './chunk-7BSFKG7N.js';
|
|
3
|
+
import { Tooltip } from './chunk-3CJC4QE6.js';
|
|
4
4
|
import { Icon } from './chunk-7T3SWOY7.js';
|
|
5
|
-
import { sva } from './chunk-
|
|
5
|
+
import { sva } from './chunk-IAVZKGZS.js';
|
|
6
6
|
import { cx } from './chunk-PPNETWIP.js';
|
|
7
7
|
import { X } from 'lucide-react';
|
|
8
8
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
@@ -389,5 +389,5 @@ function Tag({
|
|
|
389
389
|
Tag.displayName = "Tag";
|
|
390
390
|
|
|
391
391
|
export { Tag };
|
|
392
|
-
//# sourceMappingURL=chunk-
|
|
393
|
-
//# sourceMappingURL=chunk-
|
|
392
|
+
//# sourceMappingURL=chunk-AFI4V7LI.js.map
|
|
393
|
+
//# sourceMappingURL=chunk-AFI4V7LI.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/Tag/Tag.recipe.ts","../src/components/Tag/Tag.tsx"],"names":[],"mappings":"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","file":"chunk-M3IKL2VG.js","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const tagRecipe = sva({\n slots: ['root', 'body', 'label', 'removeButton'],\n base: {\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '1',\n maxW: 'full',\n overflow: 'hidden',\n borderWidth: 0,\n borderRadius: 'sm',\n fontFamily: 'body',\n fontWeight: 'medium',\n lineHeight: 'normal',\n textDecoration: 'none',\n whiteSpace: 'nowrap',\n verticalAlign: 'middle',\n _hover: {\n textDecoration: 'none',\n },\n },\n body: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: 'inherit',\n p: 0,\n borderWidth: 0,\n font: 'inherit',\n color: 'inherit',\n bg: 'transparent',\n cursor: 'pointer',\n minW: 0,\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n label: {\n minW: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n },\n removeButton: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n p: 0,\n borderWidth: 0,\n borderRadius: 'full',\n bg: 'transparent',\n color: 'inherit',\n cursor: 'pointer',\n _hover: {\n opacity: 0.7,\n },\n _active: {\n opacity: 0.5,\n },\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n },\n variants: {\n size: {\n sm: {\n root: {\n minH: '6',\n px: '2',\n fontSize: 'sm',\n },\n },\n md: {\n root: {\n minH: '8',\n px: '2',\n fontSize: 'sm',\n },\n },\n lg: {\n root: {\n minH: '10',\n px: '2.5',\n fontSize: 'md',\n },\n },\n },\n color: {\n red: {\n root: {\n bg: 'surface.red',\n color: 'surface.red.fg',\n _hover: {bg: 'surface.red.hover'},\n },\n },\n orange: {\n root: {\n bg: 'surface.orange',\n color: 'surface.orange.fg',\n _hover: {bg: 'surface.orange.hover'},\n },\n },\n yellow: {\n root: {\n bg: 'surface.yellow',\n color: 'surface.yellow.fg',\n _hover: {bg: 'surface.yellow.hover'},\n },\n },\n green: {\n root: {\n bg: 'surface.green',\n color: 'surface.green.fg',\n _hover: {bg: 'surface.green.hover'},\n },\n },\n teal: {\n root: {\n bg: 'surface.teal',\n color: 'surface.teal.fg',\n _hover: {bg: 'surface.teal.hover'},\n },\n },\n cyan: {\n root: {\n bg: 'surface.cyan',\n color: 'surface.cyan.fg',\n _hover: {bg: 'surface.cyan.hover'},\n },\n },\n blue: {\n root: {\n bg: 'surface.blue',\n color: 'surface.blue.fg',\n _hover: {bg: 'surface.blue.hover'},\n },\n },\n purple: {\n root: {\n bg: 'surface.purple',\n color: 'surface.purple.fg',\n _hover: {bg: 'surface.purple.hover'},\n },\n },\n pink: {\n root: {\n bg: 'surface.pink',\n color: 'surface.pink.fg',\n _hover: {bg: 'surface.pink.hover'},\n },\n },\n gray: {\n root: {\n bg: 'surface.gray',\n color: 'surface.gray.fg',\n _hover: {bg: 'surface.gray.hover'},\n },\n },\n },\n isInteractive: {\n true: {\n root: {\n cursor: 'pointer',\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n },\n },\n isDisabled: {\n true: {\n root: {\n opacity: 0.55,\n cursor: 'not-allowed',\n pointerEvents: 'none',\n },\n },\n },\n /**\n * When true, the root element is the interactive element itself\n * (a bare `<button>`) and needs native button styling reset.\n */\n isRootInteractive: {\n true: {\n root: {\n p: 0,\n borderWidth: 0,\n font: 'inherit',\n cursor: 'pointer',\n },\n },\n },\n },\n defaultVariants: {\n size: 'md',\n color: 'gray',\n },\n});\n\nexport type TagVariants = RecipeVariantProps<typeof tagRecipe>;\n","import {X} from 'lucide-react';\nimport type {\n CSSProperties,\n MouseEvent,\n MouseEventHandler,\n ReactNode,\n Ref,\n} from 'react';\nimport {VisuallyHidden} from '../../internal/VisuallyHidden';\nimport {cx} from '../../internal/cx';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Link} from '../Link';\nimport {Tooltip} from '../Tooltip';\nimport {tagRecipe} from './Tag.recipe';\n\nexport type TagColor =\n | 'red'\n | 'orange'\n | 'yellow'\n | 'green'\n | 'teal'\n | 'cyan'\n | 'blue'\n | 'purple'\n | 'pink'\n | 'gray';\n\nexport type TagSize = 'sm' | 'md' | 'lg';\n\nexport interface TagProps {\n /**\n * Additional CSS class names applied to the tag.\n */\n className?: string;\n /**\n * Visual color.\n * @default 'gray'\n */\n color?: TagColor;\n /**\n * Test ID applied to the tag root.\n */\n 'data-testid'?: string;\n /**\n * Accessible description for the tag.\n */\n description?: string;\n /**\n * Content rendered after the label and before the remove button.\n */\n endContent?: ReactNode;\n /**\n * Link destination. When provided, the tag renders as a link.\n */\n href?: string;\n /**\n * Icon rendered before the label.\n */\n icon?: IconComponent;\n /**\n * Whether the tag is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label while keeping it available to screen readers.\n * @default false\n */\n isLabelHidden?: boolean;\n /**\n * Tag text.\n */\n label: string;\n /**\n * Click handler.\n */\n onClick?: MouseEventHandler<HTMLElement>;\n /**\n * Called when the remove button is clicked. When provided, a remove button is shown.\n */\n onRemove?: (event: MouseEvent<HTMLButtonElement>) => void;\n /**\n * Ref forwarded to the tag root element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Visual size.\n * @default 'md'\n */\n size?: TagSize;\n /**\n * Content rendered before the icon and label.\n */\n startContent?: ReactNode;\n /**\n * Inline styles applied to the tag.\n */\n style?: CSSProperties;\n /**\n * Tooltip text shown on hover.\n */\n tooltip?: string;\n}\n\nfunction TagBody({\n endContent,\n icon,\n isLabelHidden,\n label,\n labelClassName,\n size = 'md',\n startContent,\n}: Pick<\n TagProps,\n 'endContent' | 'icon' | 'isLabelHidden' | 'label' | 'size' | 'startContent'\n> & {\n labelClassName?: string;\n}): React.JSX.Element {\n return (\n <>\n {startContent}\n {icon != null ? (\n <Icon aria-hidden=\"true\" color=\"inherit\" icon={icon} size={size} />\n ) : null}\n {isLabelHidden === true ? (\n <VisuallyHidden>{label}</VisuallyHidden>\n ) : (\n <span className={labelClassName}>{label}</span>\n )}\n {endContent}\n </>\n );\n}\n\nfunction RemoveButton({\n className,\n isDisabled,\n label,\n onRemove,\n}: {\n className?: string;\n isDisabled?: boolean;\n label: string;\n onRemove: (event: MouseEvent<HTMLButtonElement>) => void;\n}): React.JSX.Element {\n return (\n <button\n aria-label={`Remove ${label}`}\n className={className}\n disabled={isDisabled}\n onClick={event => {\n event.stopPropagation();\n onRemove(event);\n }}\n type=\"button\">\n <Icon icon={X} size=\"sm\" />\n </button>\n );\n}\n\n/**\n * Compact chip for displaying selected values, filters, tags, or removable entities.\n */\nexport function Tag({\n className,\n color = 'gray',\n 'data-testid': dataTestId,\n description,\n endContent,\n href,\n icon,\n isDisabled = false,\n isLabelHidden = false,\n label,\n onClick,\n onRemove,\n ref,\n size = 'md',\n startContent,\n style,\n tooltip,\n}: TagProps): React.JSX.Element {\n const isInteractive = href != null || onClick != null;\n const isRootInteractive = href == null && onClick != null && onRemove == null;\n const classes = tagRecipe({\n size,\n color,\n isInteractive: isInteractive || undefined,\n isDisabled: isDisabled || undefined,\n isRootInteractive: isRootInteractive || undefined,\n });\n const rootClassName = cx(classes.root, className);\n const sharedProps = {\n 'aria-description': description,\n className: rootClassName,\n 'data-testid': dataTestId,\n style,\n };\n\n let element: React.JSX.Element;\n\n const bodyProps = {\n endContent,\n icon,\n isLabelHidden,\n label,\n labelClassName: classes.label,\n size,\n startContent,\n } as const;\n\n if (href != null && onRemove != null) {\n element = (\n <span {...sharedProps} aria-label={label} ref={ref} role=\"group\">\n <Link\n className={classes.body}\n color=\"inherit\"\n href={href}\n isDisabled={isDisabled}\n onClick={onClick}>\n <TagBody {...bodyProps} />\n </Link>\n <RemoveButton\n className={classes.removeButton}\n isDisabled={isDisabled}\n label={label}\n onRemove={onRemove}\n />\n </span>\n );\n } else if (href != null) {\n element = (\n <Link\n {...sharedProps}\n color=\"inherit\"\n href={href}\n isDisabled={isDisabled}\n onClick={onClick}\n ref={ref as Ref<HTMLAnchorElement>}>\n <TagBody {...bodyProps} />\n </Link>\n );\n } else if (onClick != null && onRemove != null) {\n element = (\n <span {...sharedProps} aria-label={label} ref={ref} role=\"group\">\n <button\n className={classes.body}\n disabled={isDisabled}\n onClick={onClick}\n type=\"button\">\n <TagBody {...bodyProps} />\n </button>\n <RemoveButton\n className={classes.removeButton}\n isDisabled={isDisabled}\n label={label}\n onRemove={onRemove}\n />\n </span>\n );\n } else if (onClick != null) {\n element = (\n <button\n {...sharedProps}\n disabled={isDisabled}\n onClick={onClick}\n ref={ref as Ref<HTMLButtonElement>}\n type=\"button\">\n <TagBody {...bodyProps} />\n </button>\n );\n } else {\n element = (\n <span {...sharedProps} ref={ref}>\n <TagBody {...bodyProps} />\n {onRemove != null ? (\n <RemoveButton\n className={classes.removeButton}\n isDisabled={isDisabled}\n label={label}\n onRemove={onRemove}\n />\n ) : null}\n </span>\n );\n }\n\n if (tooltip != null) {\n return <Tooltip content={tooltip}>{element}</Tooltip>;\n }\n\n return element;\n}\n\nTag.displayName = 'Tag';\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/Tag/Tag.recipe.ts","../src/components/Tag/Tag.tsx"],"names":[],"mappings":"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","file":"chunk-AFI4V7LI.js","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const tagRecipe = sva({\n slots: ['root', 'body', 'label', 'removeButton'],\n base: {\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '1',\n maxW: 'full',\n overflow: 'hidden',\n borderWidth: 0,\n borderRadius: 'sm',\n fontFamily: 'body',\n fontWeight: 'medium',\n lineHeight: 'normal',\n textDecoration: 'none',\n whiteSpace: 'nowrap',\n verticalAlign: 'middle',\n _hover: {\n textDecoration: 'none',\n },\n },\n body: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: 'inherit',\n p: 0,\n borderWidth: 0,\n font: 'inherit',\n color: 'inherit',\n bg: 'transparent',\n cursor: 'pointer',\n minW: 0,\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n label: {\n minW: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n },\n removeButton: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n p: 0,\n borderWidth: 0,\n borderRadius: 'full',\n bg: 'transparent',\n color: 'inherit',\n cursor: 'pointer',\n _hover: {\n opacity: 0.7,\n },\n _active: {\n opacity: 0.5,\n },\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n },\n variants: {\n size: {\n sm: {\n root: {\n minH: '6',\n px: '2',\n fontSize: 'sm',\n },\n },\n md: {\n root: {\n minH: '8',\n px: '2',\n fontSize: 'sm',\n },\n },\n lg: {\n root: {\n minH: '10',\n px: '2.5',\n fontSize: 'md',\n },\n },\n },\n color: {\n red: {\n root: {\n bg: 'surface.red',\n color: 'surface.red.fg',\n _hover: {bg: 'surface.red.hover'},\n },\n },\n orange: {\n root: {\n bg: 'surface.orange',\n color: 'surface.orange.fg',\n _hover: {bg: 'surface.orange.hover'},\n },\n },\n yellow: {\n root: {\n bg: 'surface.yellow',\n color: 'surface.yellow.fg',\n _hover: {bg: 'surface.yellow.hover'},\n },\n },\n green: {\n root: {\n bg: 'surface.green',\n color: 'surface.green.fg',\n _hover: {bg: 'surface.green.hover'},\n },\n },\n teal: {\n root: {\n bg: 'surface.teal',\n color: 'surface.teal.fg',\n _hover: {bg: 'surface.teal.hover'},\n },\n },\n cyan: {\n root: {\n bg: 'surface.cyan',\n color: 'surface.cyan.fg',\n _hover: {bg: 'surface.cyan.hover'},\n },\n },\n blue: {\n root: {\n bg: 'surface.blue',\n color: 'surface.blue.fg',\n _hover: {bg: 'surface.blue.hover'},\n },\n },\n purple: {\n root: {\n bg: 'surface.purple',\n color: 'surface.purple.fg',\n _hover: {bg: 'surface.purple.hover'},\n },\n },\n pink: {\n root: {\n bg: 'surface.pink',\n color: 'surface.pink.fg',\n _hover: {bg: 'surface.pink.hover'},\n },\n },\n gray: {\n root: {\n bg: 'surface.gray',\n color: 'surface.gray.fg',\n _hover: {bg: 'surface.gray.hover'},\n },\n },\n },\n isInteractive: {\n true: {\n root: {\n cursor: 'pointer',\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n },\n },\n isDisabled: {\n true: {\n root: {\n opacity: 0.55,\n cursor: 'not-allowed',\n pointerEvents: 'none',\n },\n },\n },\n /**\n * When true, the root element is the interactive element itself\n * (a bare `<button>`) and needs native button styling reset.\n */\n isRootInteractive: {\n true: {\n root: {\n p: 0,\n borderWidth: 0,\n font: 'inherit',\n cursor: 'pointer',\n },\n },\n },\n },\n defaultVariants: {\n size: 'md',\n color: 'gray',\n },\n});\n\nexport type TagVariants = RecipeVariantProps<typeof tagRecipe>;\n","import {X} from 'lucide-react';\nimport type {\n CSSProperties,\n MouseEvent,\n MouseEventHandler,\n ReactNode,\n Ref,\n} from 'react';\nimport {VisuallyHidden} from '../../internal/VisuallyHidden';\nimport {cx} from '../../internal/cx';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Link} from '../Link';\nimport {Tooltip} from '../Tooltip';\nimport {tagRecipe} from './Tag.recipe';\n\nexport type TagColor =\n | 'red'\n | 'orange'\n | 'yellow'\n | 'green'\n | 'teal'\n | 'cyan'\n | 'blue'\n | 'purple'\n | 'pink'\n | 'gray';\n\nexport type TagSize = 'sm' | 'md' | 'lg';\n\nexport interface TagProps {\n /**\n * Additional CSS class names applied to the tag.\n */\n className?: string;\n /**\n * Visual color.\n * @default 'gray'\n */\n color?: TagColor;\n /**\n * Test ID applied to the tag root.\n */\n 'data-testid'?: string;\n /**\n * Accessible description for the tag.\n */\n description?: string;\n /**\n * Content rendered after the label and before the remove button.\n */\n endContent?: ReactNode;\n /**\n * Link destination. When provided, the tag renders as a link.\n */\n href?: string;\n /**\n * Icon rendered before the label.\n */\n icon?: IconComponent;\n /**\n * Whether the tag is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label while keeping it available to screen readers.\n * @default false\n */\n isLabelHidden?: boolean;\n /**\n * Tag text.\n */\n label: string;\n /**\n * Click handler.\n */\n onClick?: MouseEventHandler<HTMLElement>;\n /**\n * Called when the remove button is clicked. When provided, a remove button is shown.\n */\n onRemove?: (event: MouseEvent<HTMLButtonElement>) => void;\n /**\n * Ref forwarded to the tag root element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Visual size.\n * @default 'md'\n */\n size?: TagSize;\n /**\n * Content rendered before the icon and label.\n */\n startContent?: ReactNode;\n /**\n * Inline styles applied to the tag.\n */\n style?: CSSProperties;\n /**\n * Tooltip text shown on hover.\n */\n tooltip?: string;\n}\n\nfunction TagBody({\n endContent,\n icon,\n isLabelHidden,\n label,\n labelClassName,\n size = 'md',\n startContent,\n}: Pick<\n TagProps,\n 'endContent' | 'icon' | 'isLabelHidden' | 'label' | 'size' | 'startContent'\n> & {\n labelClassName?: string;\n}): React.JSX.Element {\n return (\n <>\n {startContent}\n {icon != null ? (\n <Icon aria-hidden=\"true\" color=\"inherit\" icon={icon} size={size} />\n ) : null}\n {isLabelHidden === true ? (\n <VisuallyHidden>{label}</VisuallyHidden>\n ) : (\n <span className={labelClassName}>{label}</span>\n )}\n {endContent}\n </>\n );\n}\n\nfunction RemoveButton({\n className,\n isDisabled,\n label,\n onRemove,\n}: {\n className?: string;\n isDisabled?: boolean;\n label: string;\n onRemove: (event: MouseEvent<HTMLButtonElement>) => void;\n}): React.JSX.Element {\n return (\n <button\n aria-label={`Remove ${label}`}\n className={className}\n disabled={isDisabled}\n onClick={event => {\n event.stopPropagation();\n onRemove(event);\n }}\n type=\"button\">\n <Icon icon={X} size=\"sm\" />\n </button>\n );\n}\n\n/**\n * Compact chip for displaying selected values, filters, tags, or removable entities.\n */\nexport function Tag({\n className,\n color = 'gray',\n 'data-testid': dataTestId,\n description,\n endContent,\n href,\n icon,\n isDisabled = false,\n isLabelHidden = false,\n label,\n onClick,\n onRemove,\n ref,\n size = 'md',\n startContent,\n style,\n tooltip,\n}: TagProps): React.JSX.Element {\n const isInteractive = href != null || onClick != null;\n const isRootInteractive = href == null && onClick != null && onRemove == null;\n const classes = tagRecipe({\n size,\n color,\n isInteractive: isInteractive || undefined,\n isDisabled: isDisabled || undefined,\n isRootInteractive: isRootInteractive || undefined,\n });\n const rootClassName = cx(classes.root, className);\n const sharedProps = {\n 'aria-description': description,\n className: rootClassName,\n 'data-testid': dataTestId,\n style,\n };\n\n let element: React.JSX.Element;\n\n const bodyProps = {\n endContent,\n icon,\n isLabelHidden,\n label,\n labelClassName: classes.label,\n size,\n startContent,\n } as const;\n\n if (href != null && onRemove != null) {\n element = (\n <span {...sharedProps} aria-label={label} ref={ref} role=\"group\">\n <Link\n className={classes.body}\n color=\"inherit\"\n href={href}\n isDisabled={isDisabled}\n onClick={onClick}>\n <TagBody {...bodyProps} />\n </Link>\n <RemoveButton\n className={classes.removeButton}\n isDisabled={isDisabled}\n label={label}\n onRemove={onRemove}\n />\n </span>\n );\n } else if (href != null) {\n element = (\n <Link\n {...sharedProps}\n color=\"inherit\"\n href={href}\n isDisabled={isDisabled}\n onClick={onClick}\n ref={ref as Ref<HTMLAnchorElement>}>\n <TagBody {...bodyProps} />\n </Link>\n );\n } else if (onClick != null && onRemove != null) {\n element = (\n <span {...sharedProps} aria-label={label} ref={ref} role=\"group\">\n <button\n className={classes.body}\n disabled={isDisabled}\n onClick={onClick}\n type=\"button\">\n <TagBody {...bodyProps} />\n </button>\n <RemoveButton\n className={classes.removeButton}\n isDisabled={isDisabled}\n label={label}\n onRemove={onRemove}\n />\n </span>\n );\n } else if (onClick != null) {\n element = (\n <button\n {...sharedProps}\n disabled={isDisabled}\n onClick={onClick}\n ref={ref as Ref<HTMLButtonElement>}\n type=\"button\">\n <TagBody {...bodyProps} />\n </button>\n );\n } else {\n element = (\n <span {...sharedProps} ref={ref}>\n <TagBody {...bodyProps} />\n {onRemove != null ? (\n <RemoveButton\n className={classes.removeButton}\n isDisabled={isDisabled}\n label={label}\n onRemove={onRemove}\n />\n ) : null}\n </span>\n );\n }\n\n if (tooltip != null) {\n return <Tooltip content={tooltip}>{element}</Tooltip>;\n }\n\n return element;\n}\n\nTag.displayName = 'Tag';\n"]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chunkH7LOOHWU_cjs = require('./chunk-H7LOOHWU.cjs');
|
|
4
|
-
var
|
|
5
|
-
var
|
|
4
|
+
var chunkQOKEU3DC_cjs = require('./chunk-QOKEU3DC.cjs');
|
|
5
|
+
var chunkM26XECB2_cjs = require('./chunk-M26XECB2.cjs');
|
|
6
6
|
var chunkQAO6QMNQ_cjs = require('./chunk-QAO6QMNQ.cjs');
|
|
7
7
|
var chunkJRBQKFVO_cjs = require('./chunk-JRBQKFVO.cjs');
|
|
8
|
-
var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
|
|
9
8
|
var chunkRU6JG3FS_cjs = require('./chunk-RU6JG3FS.cjs');
|
|
9
|
+
var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
|
|
10
10
|
var react = require('react');
|
|
11
11
|
var jsxRuntime = require('react/jsx-runtime');
|
|
12
12
|
var lucideReact = require('lucide-react');
|
|
@@ -316,7 +316,7 @@ function LayoutHeader({
|
|
|
316
316
|
const hasDivider = dividerContext?.hasDividers ?? false;
|
|
317
317
|
const rootStyle = { height, ...style };
|
|
318
318
|
const closeButton = dialogContext != null ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
319
|
-
|
|
319
|
+
chunkQOKEU3DC_cjs.Button,
|
|
320
320
|
{
|
|
321
321
|
className: styles4.closeButton,
|
|
322
322
|
icon: lucideReact.X,
|
|
@@ -339,7 +339,7 @@ function LayoutHeader({
|
|
|
339
339
|
chunkQAO6QMNQ_cjs.isReactNode(startContent) ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles4.actions, children: startContent }) : null,
|
|
340
340
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles4.titleArea, children: [
|
|
341
341
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
342
|
-
|
|
342
|
+
chunkM26XECB2_cjs.Heading,
|
|
343
343
|
{
|
|
344
344
|
"data-dialog-autofocus": dialogContext != null ? "true" : void 0,
|
|
345
345
|
id: dialogContext?.titleId,
|
|
@@ -348,7 +348,7 @@ function LayoutHeader({
|
|
|
348
348
|
children: title
|
|
349
349
|
}
|
|
350
350
|
),
|
|
351
|
-
subtitle != null ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
351
|
+
subtitle != null ? /* @__PURE__ */ jsxRuntime.jsx(chunkM26XECB2_cjs.Text, { as: "p", color: "secondary", type: "supporting", children: subtitle }) : null
|
|
352
352
|
] }),
|
|
353
353
|
hasEnd ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles4.actions, children: [
|
|
354
354
|
endContent,
|
|
@@ -422,5 +422,5 @@ exports.LayoutContent = LayoutContent;
|
|
|
422
422
|
exports.LayoutFooter = LayoutFooter;
|
|
423
423
|
exports.LayoutHeader = LayoutHeader;
|
|
424
424
|
exports.LayoutPanel = LayoutPanel;
|
|
425
|
-
//# sourceMappingURL=chunk-
|
|
426
|
-
//# sourceMappingURL=chunk-
|
|
425
|
+
//# sourceMappingURL=chunk-AHVHLNHU.cjs.map
|
|
426
|
+
//# sourceMappingURL=chunk-AHVHLNHU.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/Layout/Layout.recipe.ts","../src/components/Layout/LayoutContext.ts","../src/components/Layout/Layout.tsx","../src/components/Layout/LayoutContent.tsx","../src/components/Layout/LayoutFooter.tsx","../src/components/Layout/LayoutHeader.tsx","../src/components/Layout/LayoutPanel.tsx"],"names":["cva","createContext","use","css","isReactNode","jsx","useMemo","jsxs","cx","styles","Fragment","useDialogContext","Button","X","Heading","Text"],"mappings":"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","file":"chunk-OSBVDRVD.cjs","sourcesContent":["import {cva, type RecipeVariantProps} from 'styled-system/css';\n\nconst paddingVariants = {\n 0: {p: '0'},\n 0.5: {p: '0.5'},\n 1: {p: '1'},\n 1.5: {p: '1.5'},\n 2: {p: '2'},\n 3: {p: '3'},\n 4: {p: '4'},\n 5: {p: '5'},\n 6: {p: '6'},\n 8: {p: '8'},\n 10: {p: '10'},\n};\n\nexport const layoutRecipe = cva({\n base: {\n display: 'flex',\n flexDirection: 'column',\n minW: 0,\n },\n variants: {\n height: {\n fill: {\n h: '100%',\n minH: 0,\n },\n auto: {\n minH: '100%',\n },\n },\n padding: paddingVariants,\n },\n defaultVariants: {\n height: 'fill',\n },\n});\n\nexport const layoutMiddleRecipe = cva({\n base: {\n display: 'flex',\n flex: 1,\n minH: 0,\n minW: 0,\n },\n});\n\nexport const layoutRegionRecipe = cva({\n variants: {\n padding: paddingVariants,\n },\n defaultVariants: {\n padding: 4,\n },\n});\n\nexport type LayoutVariants = RecipeVariantProps<typeof layoutRecipe>;\nexport type LayoutRegionVariants = RecipeVariantProps<\n typeof layoutRegionRecipe\n>;\n","import {createContext, use} from 'react';\n\nexport type LayoutArea = 'header' | 'content' | 'start' | 'end' | 'footer';\n\nexport interface LayoutSlots {\n hasEnd: boolean;\n hasFooter: boolean;\n hasHeader: boolean;\n hasStart: boolean;\n}\n\nexport interface LayoutDividerContextValue {\n hasDividers: boolean;\n}\n\nexport const LayoutAreaContext = createContext<LayoutArea>('content');\nLayoutAreaContext.displayName = 'LayoutAreaContext';\nexport const LayoutSlotsContext = createContext<LayoutSlots>({\n hasEnd: false,\n hasFooter: false,\n hasHeader: false,\n hasStart: false,\n});\nLayoutSlotsContext.displayName = 'LayoutSlotsContext';\nexport const LayoutDividerContext =\n createContext<LayoutDividerContextValue | null>(null);\nLayoutDividerContext.displayName = 'LayoutDividerContext';\n\nexport function useLayoutArea(): LayoutArea {\n return use(LayoutAreaContext);\n}\n\nexport function useLayoutDivider(): LayoutDividerContextValue | null {\n return use(LayoutDividerContext);\n}\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {useMemo} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\nimport type {SpacingToken} from '../../internal/spacingTokens';\nimport {layoutMiddleRecipe, layoutRecipe} from './Layout.recipe';\nimport {\n LayoutAreaContext,\n LayoutDividerContext,\n LayoutSlotsContext,\n type LayoutArea,\n} from './LayoutContext';\nimport type {LayoutHeight} from './types';\n\n/**\n * Shell with header, side panels, content, and footer slots.\n */\nexport interface LayoutProps {\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Main content slot.\n */\n content?: ReactNode;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * End panel slot.\n */\n end?: ReactNode;\n /**\n * Footer slot.\n */\n footer?: ReactNode;\n /**\n * Whether child layout regions should show dividers.\n */\n hasDividers?: boolean;\n /**\n * Header slot.\n */\n header?: ReactNode;\n /**\n * Layout height behavior. Default is `fill`.\n */\n height?: LayoutHeight;\n /**\n * Outer padding for layout edges.\n */\n padding?: SpacingToken;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Start panel slot.\n */\n start?: ReactNode;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n}\n\nconst styles = {\n contentFill: css({\n flex: 1,\n minW: 0,\n display: 'flex',\n flexDirection: 'column',\n }),\n};\n\nfunction AreaProvider({\n area,\n children,\n}: {\n area: LayoutArea;\n children?: ReactNode;\n}): React.JSX.Element | null {\n if (!isReactNode(children)) {\n return null;\n }\n\n return <LayoutAreaContext value={area}>{children}</LayoutAreaContext>;\n}\n\nexport function Layout({\n className,\n content,\n 'data-testid': dataTestId,\n hasDividers = true,\n end,\n footer,\n header,\n height = 'fill',\n padding,\n ref,\n start,\n style,\n}: LayoutProps): React.JSX.Element {\n const slots = useMemo(\n () => ({\n hasEnd: isReactNode(end),\n hasFooter: isReactNode(footer),\n hasHeader: isReactNode(header),\n hasStart: isReactNode(start),\n }),\n [end, footer, header, start],\n );\n const dividerValue = useMemo(() => ({hasDividers}), [hasDividers]);\n const rootStyle: CSSProperties = {\n ...style,\n };\n\n return (\n <LayoutDividerContext value={dividerValue}>\n <LayoutSlotsContext value={slots}>\n <div\n className={cx(layoutRecipe({height, padding}), className)}\n data-testid={dataTestId}\n ref={ref}\n style={rootStyle}>\n <AreaProvider area=\"header\">{header}</AreaProvider>\n <div className={layoutMiddleRecipe()}>\n <AreaProvider area=\"start\">{start}</AreaProvider>\n <div className={styles.contentFill}>\n <AreaProvider area=\"content\">{content}</AreaProvider>\n </div>\n <AreaProvider area=\"end\">{end}</AreaProvider>\n </div>\n <AreaProvider area=\"footer\">{footer}</AreaProvider>\n </div>\n </LayoutSlotsContext>\n </LayoutDividerContext>\n );\n}\n\nLayout.displayName = 'Layout';\n","import type {ComponentPropsWithRef, ElementType} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport type {SpacingToken} from '../../internal/spacingTokens';\nimport {layoutRegionRecipe} from './Layout.recipe';\n\n/**\n * Scrollable main content area within a Layout. Fills the remaining space\n * between panels and stretches to fill the available height.\n */\nexport interface LayoutContentProps extends ComponentPropsWithRef<'div'> {\n /**\n * HTML element to render. Default is `div`.\n */\n as?: ElementType;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Whether the content area scrolls when it overflows.\n */\n isScrollable?: boolean;\n /**\n * Accessible label. Automatically sets role=\"region\" when provided.\n */\n label?: string;\n /**\n * Inner padding.\n */\n padding?: SpacingToken;\n}\n\nconst styles = {\n root: css({\n flex: 1,\n minH: 0,\n minW: 0,\n overflow: 'clip',\n }),\n scrollable: css({\n overflow: 'auto',\n }),\n};\n\n/**\n * Scrollable main content area within a Layout. Fills the remaining space\n * between panels and stretches to fill the available height.\n */\nexport function LayoutContent({\n as: Element = 'div',\n children,\n className,\n 'data-testid': dataTestId,\n isScrollable = true,\n label,\n padding = 4,\n ref,\n role,\n style,\n ...rest\n}: LayoutContentProps): React.JSX.Element {\n return (\n <Element\n {...rest}\n aria-label={label}\n className={cx(\n styles.root,\n layoutRegionRecipe({padding}),\n isScrollable && styles.scrollable,\n className,\n )}\n data-testid={dataTestId}\n ref={ref}\n role={role ?? (label != null ? 'region' : undefined)}\n style={style}>\n {children}\n </Element>\n );\n}\n\nLayoutContent.displayName = 'LayoutContent';\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\nimport type {SpacingToken} from '../../internal/spacingTokens';\nimport {layoutRegionRecipe} from './Layout.recipe';\nimport {useLayoutDivider} from './LayoutContext';\n\ninterface LayoutFooterBaseProps {\n /**\n * Additional CSS class names applied to the footer.\n */\n className?: string;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Fixed height for the footer.\n */\n height?: number | string;\n /**\n * Accessible label for the footer landmark.\n */\n label?: string;\n /**\n * Inner padding.\n */\n padding?: SpacingToken;\n /**\n * Ref forwarded to the footer element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Inline styles applied to the footer.\n */\n style?: CSSProperties;\n}\n\ninterface LayoutFooterCustomProps extends LayoutFooterBaseProps {\n /**\n * Custom footer content rendered inside the footer shell.\n */\n children: ReactNode;\n primaryButton?: never;\n secondaryButton?: never;\n startContent?: never;\n}\n\ninterface LayoutFooterActionsProps extends LayoutFooterBaseProps {\n children?: never;\n /**\n * Primary action button, rendered rightmost.\n */\n primaryButton: ReactNode;\n /**\n * Secondary action button, rendered left of the primary button.\n */\n secondaryButton?: ReactNode;\n /**\n * Content rendered at the start (left) of the footer.\n */\n startContent?: ReactNode;\n}\n\n/**\n * Footer landmark region within a Layout. Use action slots for the standard\n * footer layout, or children for a custom footer inside the same shell.\n */\nexport type LayoutFooterProps =\n | LayoutFooterActionsProps\n | LayoutFooterCustomProps;\n\nconst styles = {\n root: css({\n flexShrink: 0,\n }),\n divider: css({\n borderBlockStartWidth: 'default',\n borderBlockStartStyle: 'solid',\n borderBlockStartColor: 'border',\n }),\n inner: css({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end',\n gap: '3',\n }),\n customInner: css({}),\n start: css({\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n flex: 1,\n minW: 0,\n marginInlineEnd: 'auto',\n }),\n actions: css({\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n flexShrink: 0,\n }),\n};\n\n/**\n * Footer landmark region within a Layout.\n */\nexport function LayoutFooter({\n children,\n className,\n 'data-testid': dataTestId,\n height,\n label,\n padding = 4,\n primaryButton,\n ref,\n secondaryButton,\n startContent,\n style,\n}: LayoutFooterProps): React.JSX.Element {\n const dividerContext = useLayoutDivider();\n const hasDivider = dividerContext?.hasDividers ?? false;\n const rootStyle: CSSProperties = {height, ...style};\n const isCustom = isReactNode(children);\n\n return (\n <footer\n aria-label={label}\n className={cx(styles.root, hasDivider && styles.divider, className)}\n data-divider={hasDivider || undefined}\n data-testid={dataTestId}\n ref={ref}\n style={rootStyle}>\n <div\n className={cx(\n isCustom ? styles.customInner : styles.inner,\n layoutRegionRecipe({padding}),\n )}>\n {isCustom ? (\n children\n ) : (\n <>\n {isReactNode(startContent) ? (\n <div className={styles.start}>{startContent}</div>\n ) : null}\n <div className={styles.actions}>\n {secondaryButton}\n {primaryButton}\n </div>\n </>\n )}\n </div>\n </footer>\n );\n}\n\nLayoutFooter.displayName = 'LayoutFooter';\n","import {X} from 'lucide-react';\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\nimport type {SpacingToken} from '../../internal/spacingTokens';\nimport {Button} from '../Button';\nimport {useDialogContext} from '../Dialog/DialogContext';\nimport {Heading, Text} from '../Text';\nimport {layoutRegionRecipe} from './Layout.recipe';\nimport {useLayoutDivider} from './LayoutContext';\n\n/**\n * Header landmark region within a Layout with a structured title,\n * optional subtitle, and start/end content slots.\n *\n * When rendered inside a Dialog, a close button is automatically\n * appended after `endContent`. The button calls `onOpenChange(false)`\n * on the parent Dialog and the title receives initial focus.\n */\nexport interface LayoutHeaderProps {\n /**\n * Additional CSS class names applied to the header.\n */\n className?: string;\n /**\n * Test ID applied to the header.\n */\n 'data-testid'?: string;\n /**\n * Content rendered after the title area.\n */\n endContent?: ReactNode;\n /**\n * Fixed height for the header.\n */\n height?: number | string;\n /**\n * Accessible label for the header landmark.\n */\n label?: string;\n /**\n * Inner padding.\n */\n padding?: SpacingToken;\n /**\n * Ref forwarded to the header element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Content rendered before the title area.\n */\n startContent?: ReactNode;\n /**\n * Inline styles applied to the header.\n */\n style?: CSSProperties;\n /**\n * Supporting text displayed below the title.\n */\n subtitle?: string;\n /**\n * Primary header title.\n */\n title: string;\n}\n\nconst styles = {\n root: css({\n flexShrink: 0,\n }),\n divider: css({\n borderBlockEndWidth: 'default',\n borderBlockEndStyle: 'solid',\n borderBlockEndColor: 'border',\n }),\n inner: css({\n display: 'flex',\n alignItems: 'flex-start',\n justifyContent: 'space-between',\n gap: '3',\n }),\n titleArea: css({\n flex: 1,\n minW: 0,\n '& > :focus': {\n outline: 'none',\n },\n }),\n actions: css({\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n flexShrink: 0,\n }),\n closeButton: css({\n marginInlineEnd: '-2',\n marginBlockStart: '-2',\n }),\n} as const;\n\n/**\n * Header landmark region within a Layout with a structured title,\n * optional subtitle, and start/end content slots.\n *\n * When rendered inside a Dialog, a close button is automatically\n * appended after `endContent`. The button calls `onOpenChange(false)`\n * on the parent Dialog and the title receives initial focus.\n */\nexport function LayoutHeader({\n className,\n 'data-testid': dataTestId,\n endContent,\n height,\n label,\n padding = 4,\n ref,\n startContent,\n style,\n subtitle,\n title,\n}: LayoutHeaderProps): React.JSX.Element {\n const dividerContext = useLayoutDivider();\n const dialogContext = useDialogContext();\n const hasDivider = dividerContext?.hasDividers ?? false;\n const rootStyle: CSSProperties = {height, ...style};\n\n const closeButton =\n dialogContext != null ? (\n <Button\n className={styles.closeButton}\n icon={X}\n isIconOnly\n label=\"Close\"\n onClick={() => dialogContext.onOpenChange(false)}\n variant=\"ghost\"\n />\n ) : null;\n const hasEnd = isReactNode(endContent) || closeButton != null;\n\n return (\n <header\n aria-label={label}\n className={cx(styles.root, hasDivider && styles.divider, className)}\n data-testid={dataTestId}\n ref={ref}\n style={rootStyle}>\n <div className={cx(styles.inner, layoutRegionRecipe({padding}))}>\n {isReactNode(startContent) ? (\n <div className={styles.actions}>{startContent}</div>\n ) : null}\n <div className={styles.titleArea}>\n <Heading\n data-dialog-autofocus={dialogContext != null ? 'true' : undefined}\n id={dialogContext?.titleId}\n level={4}\n tabIndex={dialogContext != null ? -1 : undefined}>\n {title}\n </Heading>\n {subtitle != null ? (\n <Text as=\"p\" color=\"secondary\" type=\"supporting\">\n {subtitle}\n </Text>\n ) : null}\n </div>\n {hasEnd ? (\n <div className={styles.actions}>\n {endContent}\n {closeButton}\n </div>\n ) : null}\n </div>\n </header>\n );\n}\n\nLayoutHeader.displayName = 'LayoutHeader';\n","import type {ComponentPropsWithRef} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport type {SpacingToken} from '../../internal/spacingTokens';\nimport {layoutRegionRecipe} from './Layout.recipe';\nimport {useLayoutArea, useLayoutDivider} from './LayoutContext';\n\n/**\n * Side panel region within a Layout. Placed in the start or end slot,\n * with optional dividers and scrolling.\n */\nexport interface LayoutPanelProps extends ComponentPropsWithRef<'div'> {\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Whether the panel scrolls when it overflows.\n */\n isScrollable?: boolean;\n /**\n * Accessible label. Automatically sets role=\"region\" when provided.\n */\n label?: string;\n /**\n * Inner padding.\n */\n padding?: SpacingToken;\n /**\n * Fixed width for the panel.\n */\n width?: number | string;\n}\n\nconst styles = {\n root: css({\n flexShrink: 0,\n overflow: 'clip',\n }),\n scrollable: css({\n overflow: 'auto',\n }),\n dividerEnd: css({\n borderInlineEndWidth: 'default',\n borderInlineEndStyle: 'solid',\n borderInlineEndColor: 'border',\n }),\n dividerStart: css({\n borderInlineStartWidth: 'default',\n borderInlineStartStyle: 'solid',\n borderInlineStartColor: 'border',\n }),\n};\n\n/**\n * Side panel region within a Layout. Placed in the start or end slot,\n * with optional dividers and scrolling.\n */\nexport function LayoutPanel({\n children,\n className,\n 'data-testid': dataTestId,\n isScrollable = true,\n label,\n padding = 4,\n ref,\n role,\n style,\n width,\n ...rest\n}: LayoutPanelProps): React.JSX.Element {\n const area = useLayoutArea();\n const dividerContext = useLayoutDivider();\n const hasDivider = dividerContext?.hasDividers ?? false;\n\n return (\n <div\n {...rest}\n aria-label={label}\n className={cx(\n styles.root,\n layoutRegionRecipe({padding}),\n isScrollable && styles.scrollable,\n hasDivider && area === 'start' && styles.dividerEnd,\n hasDivider && area === 'end' && styles.dividerStart,\n className,\n )}\n data-testid={dataTestId}\n ref={ref}\n role={role ?? (label != null ? 'region' : undefined)}\n style={{width, ...style}}>\n {children}\n </div>\n );\n}\n\nLayoutPanel.displayName = 'LayoutPanel';\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/Layout/Layout.recipe.ts","../src/components/Layout/LayoutContext.ts","../src/components/Layout/Layout.tsx","../src/components/Layout/LayoutContent.tsx","../src/components/Layout/LayoutFooter.tsx","../src/components/Layout/LayoutHeader.tsx","../src/components/Layout/LayoutPanel.tsx"],"names":["cva","createContext","use","css","isReactNode","jsx","useMemo","jsxs","cx","styles","Fragment","useDialogContext","Button","X","Heading","Text"],"mappings":"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","file":"chunk-AHVHLNHU.cjs","sourcesContent":["import {cva, type RecipeVariantProps} from 'styled-system/css';\n\nconst paddingVariants = {\n 0: {p: '0'},\n 0.5: {p: '0.5'},\n 1: {p: '1'},\n 1.5: {p: '1.5'},\n 2: {p: '2'},\n 3: {p: '3'},\n 4: {p: '4'},\n 5: {p: '5'},\n 6: {p: '6'},\n 8: {p: '8'},\n 10: {p: '10'},\n};\n\nexport const layoutRecipe = cva({\n base: {\n display: 'flex',\n flexDirection: 'column',\n minW: 0,\n },\n variants: {\n height: {\n fill: {\n h: '100%',\n minH: 0,\n },\n auto: {\n minH: '100%',\n },\n },\n padding: paddingVariants,\n },\n defaultVariants: {\n height: 'fill',\n },\n});\n\nexport const layoutMiddleRecipe = cva({\n base: {\n display: 'flex',\n flex: 1,\n minH: 0,\n minW: 0,\n },\n});\n\nexport const layoutRegionRecipe = cva({\n variants: {\n padding: paddingVariants,\n },\n defaultVariants: {\n padding: 4,\n },\n});\n\nexport type LayoutVariants = RecipeVariantProps<typeof layoutRecipe>;\nexport type LayoutRegionVariants = RecipeVariantProps<\n typeof layoutRegionRecipe\n>;\n","import {createContext, use} from 'react';\n\nexport type LayoutArea = 'header' | 'content' | 'start' | 'end' | 'footer';\n\nexport interface LayoutSlots {\n hasEnd: boolean;\n hasFooter: boolean;\n hasHeader: boolean;\n hasStart: boolean;\n}\n\nexport interface LayoutDividerContextValue {\n hasDividers: boolean;\n}\n\nexport const LayoutAreaContext = createContext<LayoutArea>('content');\nLayoutAreaContext.displayName = 'LayoutAreaContext';\nexport const LayoutSlotsContext = createContext<LayoutSlots>({\n hasEnd: false,\n hasFooter: false,\n hasHeader: false,\n hasStart: false,\n});\nLayoutSlotsContext.displayName = 'LayoutSlotsContext';\nexport const LayoutDividerContext =\n createContext<LayoutDividerContextValue | null>(null);\nLayoutDividerContext.displayName = 'LayoutDividerContext';\n\nexport function useLayoutArea(): LayoutArea {\n return use(LayoutAreaContext);\n}\n\nexport function useLayoutDivider(): LayoutDividerContextValue | null {\n return use(LayoutDividerContext);\n}\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {useMemo} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\nimport type {SpacingToken} from '../../internal/spacingTokens';\nimport {layoutMiddleRecipe, layoutRecipe} from './Layout.recipe';\nimport {\n LayoutAreaContext,\n LayoutDividerContext,\n LayoutSlotsContext,\n type LayoutArea,\n} from './LayoutContext';\nimport type {LayoutHeight} from './types';\n\n/**\n * Shell with header, side panels, content, and footer slots.\n */\nexport interface LayoutProps {\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Main content slot.\n */\n content?: ReactNode;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * End panel slot.\n */\n end?: ReactNode;\n /**\n * Footer slot.\n */\n footer?: ReactNode;\n /**\n * Whether child layout regions should show dividers.\n */\n hasDividers?: boolean;\n /**\n * Header slot.\n */\n header?: ReactNode;\n /**\n * Layout height behavior. Default is `fill`.\n */\n height?: LayoutHeight;\n /**\n * Outer padding for layout edges.\n */\n padding?: SpacingToken;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Start panel slot.\n */\n start?: ReactNode;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n}\n\nconst styles = {\n contentFill: css({\n flex: 1,\n minW: 0,\n display: 'flex',\n flexDirection: 'column',\n }),\n};\n\nfunction AreaProvider({\n area,\n children,\n}: {\n area: LayoutArea;\n children?: ReactNode;\n}): React.JSX.Element | null {\n if (!isReactNode(children)) {\n return null;\n }\n\n return <LayoutAreaContext value={area}>{children}</LayoutAreaContext>;\n}\n\nexport function Layout({\n className,\n content,\n 'data-testid': dataTestId,\n hasDividers = true,\n end,\n footer,\n header,\n height = 'fill',\n padding,\n ref,\n start,\n style,\n}: LayoutProps): React.JSX.Element {\n const slots = useMemo(\n () => ({\n hasEnd: isReactNode(end),\n hasFooter: isReactNode(footer),\n hasHeader: isReactNode(header),\n hasStart: isReactNode(start),\n }),\n [end, footer, header, start],\n );\n const dividerValue = useMemo(() => ({hasDividers}), [hasDividers]);\n const rootStyle: CSSProperties = {\n ...style,\n };\n\n return (\n <LayoutDividerContext value={dividerValue}>\n <LayoutSlotsContext value={slots}>\n <div\n className={cx(layoutRecipe({height, padding}), className)}\n data-testid={dataTestId}\n ref={ref}\n style={rootStyle}>\n <AreaProvider area=\"header\">{header}</AreaProvider>\n <div className={layoutMiddleRecipe()}>\n <AreaProvider area=\"start\">{start}</AreaProvider>\n <div className={styles.contentFill}>\n <AreaProvider area=\"content\">{content}</AreaProvider>\n </div>\n <AreaProvider area=\"end\">{end}</AreaProvider>\n </div>\n <AreaProvider area=\"footer\">{footer}</AreaProvider>\n </div>\n </LayoutSlotsContext>\n </LayoutDividerContext>\n );\n}\n\nLayout.displayName = 'Layout';\n","import type {ComponentPropsWithRef, ElementType} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport type {SpacingToken} from '../../internal/spacingTokens';\nimport {layoutRegionRecipe} from './Layout.recipe';\n\n/**\n * Scrollable main content area within a Layout. Fills the remaining space\n * between panels and stretches to fill the available height.\n */\nexport interface LayoutContentProps extends ComponentPropsWithRef<'div'> {\n /**\n * HTML element to render. Default is `div`.\n */\n as?: ElementType;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Whether the content area scrolls when it overflows.\n */\n isScrollable?: boolean;\n /**\n * Accessible label. Automatically sets role=\"region\" when provided.\n */\n label?: string;\n /**\n * Inner padding.\n */\n padding?: SpacingToken;\n}\n\nconst styles = {\n root: css({\n flex: 1,\n minH: 0,\n minW: 0,\n overflow: 'clip',\n }),\n scrollable: css({\n overflow: 'auto',\n }),\n};\n\n/**\n * Scrollable main content area within a Layout. Fills the remaining space\n * between panels and stretches to fill the available height.\n */\nexport function LayoutContent({\n as: Element = 'div',\n children,\n className,\n 'data-testid': dataTestId,\n isScrollable = true,\n label,\n padding = 4,\n ref,\n role,\n style,\n ...rest\n}: LayoutContentProps): React.JSX.Element {\n return (\n <Element\n {...rest}\n aria-label={label}\n className={cx(\n styles.root,\n layoutRegionRecipe({padding}),\n isScrollable && styles.scrollable,\n className,\n )}\n data-testid={dataTestId}\n ref={ref}\n role={role ?? (label != null ? 'region' : undefined)}\n style={style}>\n {children}\n </Element>\n );\n}\n\nLayoutContent.displayName = 'LayoutContent';\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\nimport type {SpacingToken} from '../../internal/spacingTokens';\nimport {layoutRegionRecipe} from './Layout.recipe';\nimport {useLayoutDivider} from './LayoutContext';\n\ninterface LayoutFooterBaseProps {\n /**\n * Additional CSS class names applied to the footer.\n */\n className?: string;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Fixed height for the footer.\n */\n height?: number | string;\n /**\n * Accessible label for the footer landmark.\n */\n label?: string;\n /**\n * Inner padding.\n */\n padding?: SpacingToken;\n /**\n * Ref forwarded to the footer element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Inline styles applied to the footer.\n */\n style?: CSSProperties;\n}\n\ninterface LayoutFooterCustomProps extends LayoutFooterBaseProps {\n /**\n * Custom footer content rendered inside the footer shell.\n */\n children: ReactNode;\n primaryButton?: never;\n secondaryButton?: never;\n startContent?: never;\n}\n\ninterface LayoutFooterActionsProps extends LayoutFooterBaseProps {\n children?: never;\n /**\n * Primary action button, rendered rightmost.\n */\n primaryButton: ReactNode;\n /**\n * Secondary action button, rendered left of the primary button.\n */\n secondaryButton?: ReactNode;\n /**\n * Content rendered at the start (left) of the footer.\n */\n startContent?: ReactNode;\n}\n\n/**\n * Footer landmark region within a Layout. Use action slots for the standard\n * footer layout, or children for a custom footer inside the same shell.\n */\nexport type LayoutFooterProps =\n | LayoutFooterActionsProps\n | LayoutFooterCustomProps;\n\nconst styles = {\n root: css({\n flexShrink: 0,\n }),\n divider: css({\n borderBlockStartWidth: 'default',\n borderBlockStartStyle: 'solid',\n borderBlockStartColor: 'border',\n }),\n inner: css({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end',\n gap: '3',\n }),\n customInner: css({}),\n start: css({\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n flex: 1,\n minW: 0,\n marginInlineEnd: 'auto',\n }),\n actions: css({\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n flexShrink: 0,\n }),\n};\n\n/**\n * Footer landmark region within a Layout.\n */\nexport function LayoutFooter({\n children,\n className,\n 'data-testid': dataTestId,\n height,\n label,\n padding = 4,\n primaryButton,\n ref,\n secondaryButton,\n startContent,\n style,\n}: LayoutFooterProps): React.JSX.Element {\n const dividerContext = useLayoutDivider();\n const hasDivider = dividerContext?.hasDividers ?? false;\n const rootStyle: CSSProperties = {height, ...style};\n const isCustom = isReactNode(children);\n\n return (\n <footer\n aria-label={label}\n className={cx(styles.root, hasDivider && styles.divider, className)}\n data-divider={hasDivider || undefined}\n data-testid={dataTestId}\n ref={ref}\n style={rootStyle}>\n <div\n className={cx(\n isCustom ? styles.customInner : styles.inner,\n layoutRegionRecipe({padding}),\n )}>\n {isCustom ? (\n children\n ) : (\n <>\n {isReactNode(startContent) ? (\n <div className={styles.start}>{startContent}</div>\n ) : null}\n <div className={styles.actions}>\n {secondaryButton}\n {primaryButton}\n </div>\n </>\n )}\n </div>\n </footer>\n );\n}\n\nLayoutFooter.displayName = 'LayoutFooter';\n","import {X} from 'lucide-react';\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\nimport type {SpacingToken} from '../../internal/spacingTokens';\nimport {Button} from '../Button';\nimport {useDialogContext} from '../Dialog/DialogContext';\nimport {Heading, Text} from '../Text';\nimport {layoutRegionRecipe} from './Layout.recipe';\nimport {useLayoutDivider} from './LayoutContext';\n\n/**\n * Header landmark region within a Layout with a structured title,\n * optional subtitle, and start/end content slots.\n *\n * When rendered inside a Dialog, a close button is automatically\n * appended after `endContent`. The button calls `onOpenChange(false)`\n * on the parent Dialog and the title receives initial focus.\n */\nexport interface LayoutHeaderProps {\n /**\n * Additional CSS class names applied to the header.\n */\n className?: string;\n /**\n * Test ID applied to the header.\n */\n 'data-testid'?: string;\n /**\n * Content rendered after the title area.\n */\n endContent?: ReactNode;\n /**\n * Fixed height for the header.\n */\n height?: number | string;\n /**\n * Accessible label for the header landmark.\n */\n label?: string;\n /**\n * Inner padding.\n */\n padding?: SpacingToken;\n /**\n * Ref forwarded to the header element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Content rendered before the title area.\n */\n startContent?: ReactNode;\n /**\n * Inline styles applied to the header.\n */\n style?: CSSProperties;\n /**\n * Supporting text displayed below the title.\n */\n subtitle?: string;\n /**\n * Primary header title.\n */\n title: string;\n}\n\nconst styles = {\n root: css({\n flexShrink: 0,\n }),\n divider: css({\n borderBlockEndWidth: 'default',\n borderBlockEndStyle: 'solid',\n borderBlockEndColor: 'border',\n }),\n inner: css({\n display: 'flex',\n alignItems: 'flex-start',\n justifyContent: 'space-between',\n gap: '3',\n }),\n titleArea: css({\n flex: 1,\n minW: 0,\n '& > :focus': {\n outline: 'none',\n },\n }),\n actions: css({\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n flexShrink: 0,\n }),\n closeButton: css({\n marginInlineEnd: '-2',\n marginBlockStart: '-2',\n }),\n} as const;\n\n/**\n * Header landmark region within a Layout with a structured title,\n * optional subtitle, and start/end content slots.\n *\n * When rendered inside a Dialog, a close button is automatically\n * appended after `endContent`. The button calls `onOpenChange(false)`\n * on the parent Dialog and the title receives initial focus.\n */\nexport function LayoutHeader({\n className,\n 'data-testid': dataTestId,\n endContent,\n height,\n label,\n padding = 4,\n ref,\n startContent,\n style,\n subtitle,\n title,\n}: LayoutHeaderProps): React.JSX.Element {\n const dividerContext = useLayoutDivider();\n const dialogContext = useDialogContext();\n const hasDivider = dividerContext?.hasDividers ?? false;\n const rootStyle: CSSProperties = {height, ...style};\n\n const closeButton =\n dialogContext != null ? (\n <Button\n className={styles.closeButton}\n icon={X}\n isIconOnly\n label=\"Close\"\n onClick={() => dialogContext.onOpenChange(false)}\n variant=\"ghost\"\n />\n ) : null;\n const hasEnd = isReactNode(endContent) || closeButton != null;\n\n return (\n <header\n aria-label={label}\n className={cx(styles.root, hasDivider && styles.divider, className)}\n data-testid={dataTestId}\n ref={ref}\n style={rootStyle}>\n <div className={cx(styles.inner, layoutRegionRecipe({padding}))}>\n {isReactNode(startContent) ? (\n <div className={styles.actions}>{startContent}</div>\n ) : null}\n <div className={styles.titleArea}>\n <Heading\n data-dialog-autofocus={dialogContext != null ? 'true' : undefined}\n id={dialogContext?.titleId}\n level={4}\n tabIndex={dialogContext != null ? -1 : undefined}>\n {title}\n </Heading>\n {subtitle != null ? (\n <Text as=\"p\" color=\"secondary\" type=\"supporting\">\n {subtitle}\n </Text>\n ) : null}\n </div>\n {hasEnd ? (\n <div className={styles.actions}>\n {endContent}\n {closeButton}\n </div>\n ) : null}\n </div>\n </header>\n );\n}\n\nLayoutHeader.displayName = 'LayoutHeader';\n","import type {ComponentPropsWithRef} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport type {SpacingToken} from '../../internal/spacingTokens';\nimport {layoutRegionRecipe} from './Layout.recipe';\nimport {useLayoutArea, useLayoutDivider} from './LayoutContext';\n\n/**\n * Side panel region within a Layout. Placed in the start or end slot,\n * with optional dividers and scrolling.\n */\nexport interface LayoutPanelProps extends ComponentPropsWithRef<'div'> {\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Whether the panel scrolls when it overflows.\n */\n isScrollable?: boolean;\n /**\n * Accessible label. Automatically sets role=\"region\" when provided.\n */\n label?: string;\n /**\n * Inner padding.\n */\n padding?: SpacingToken;\n /**\n * Fixed width for the panel.\n */\n width?: number | string;\n}\n\nconst styles = {\n root: css({\n flexShrink: 0,\n overflow: 'clip',\n }),\n scrollable: css({\n overflow: 'auto',\n }),\n dividerEnd: css({\n borderInlineEndWidth: 'default',\n borderInlineEndStyle: 'solid',\n borderInlineEndColor: 'border',\n }),\n dividerStart: css({\n borderInlineStartWidth: 'default',\n borderInlineStartStyle: 'solid',\n borderInlineStartColor: 'border',\n }),\n};\n\n/**\n * Side panel region within a Layout. Placed in the start or end slot,\n * with optional dividers and scrolling.\n */\nexport function LayoutPanel({\n children,\n className,\n 'data-testid': dataTestId,\n isScrollable = true,\n label,\n padding = 4,\n ref,\n role,\n style,\n width,\n ...rest\n}: LayoutPanelProps): React.JSX.Element {\n const area = useLayoutArea();\n const dividerContext = useLayoutDivider();\n const hasDivider = dividerContext?.hasDividers ?? false;\n\n return (\n <div\n {...rest}\n aria-label={label}\n className={cx(\n styles.root,\n layoutRegionRecipe({padding}),\n isScrollable && styles.scrollable,\n hasDivider && area === 'start' && styles.dividerEnd,\n hasDivider && area === 'end' && styles.dividerStart,\n className,\n )}\n data-testid={dataTestId}\n ref={ref}\n role={role ?? (label != null ? 'region' : undefined)}\n style={{width, ...style}}>\n {children}\n </div>\n );\n}\n\nLayoutPanel.displayName = 'LayoutPanel';\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { resolveAvatarSize, AvatarGroupContext, useAvatarGroup } from './chunk-
|
|
1
|
+
import { resolveAvatarSize, AvatarGroupContext, useAvatarGroup } from './chunk-ZQUPAIBS.js';
|
|
2
2
|
import { cva } from './chunk-FMEIPGUP.js';
|
|
3
|
-
import { cx } from './chunk-PPNETWIP.js';
|
|
4
3
|
import { css } from './chunk-OD4DHHZH.js';
|
|
4
|
+
import { cx } from './chunk-PPNETWIP.js';
|
|
5
5
|
import { useMemo } from 'react';
|
|
6
6
|
import { jsx } from 'react/jsx-runtime';
|
|
7
7
|
|
|
@@ -134,5 +134,5 @@ function AvatarGroupOverflow({
|
|
|
134
134
|
AvatarGroupOverflow.displayName = "AvatarGroupOverflow";
|
|
135
135
|
|
|
136
136
|
export { AvatarGroup, AvatarGroupOverflow };
|
|
137
|
-
//# sourceMappingURL=chunk-
|
|
138
|
-
//# sourceMappingURL=chunk-
|
|
137
|
+
//# sourceMappingURL=chunk-AJ6X62AI.js.map
|
|
138
|
+
//# sourceMappingURL=chunk-AJ6X62AI.js.map
|