@dev-dga/react 0.11.0 → 0.12.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/CHANGELOG.md +81 -0
- package/dist/chunk-2I7URBEK.js +1 -0
- package/dist/chunk-2MDYDWAH.js +79 -0
- package/dist/chunk-2MDYDWAH.js.map +1 -0
- package/dist/chunk-36AIVLVG.cjs +79 -0
- package/dist/chunk-36AIVLVG.cjs.map +1 -0
- package/dist/chunk-3IEUUZKJ.cjs +1 -0
- package/dist/{chunk-G3M3XYMI.cjs.map → chunk-3IEUUZKJ.cjs.map} +1 -1
- package/dist/{chunk-AYIS62JR.cjs → chunk-3JHIEAJG.cjs} +54 -42
- package/dist/chunk-3JHIEAJG.cjs.map +1 -0
- package/dist/chunk-3UT22WQM.cjs +22 -0
- package/dist/chunk-3UT22WQM.cjs.map +1 -0
- package/dist/chunk-42MOUC3M.cjs +1 -0
- package/dist/{chunk-I44YNYI6.cjs.map → chunk-42MOUC3M.cjs.map} +1 -1
- package/dist/chunk-44S33DGQ.js +1 -0
- package/dist/chunk-4HBVLISS.js +169 -0
- package/dist/chunk-4HBVLISS.js.map +1 -0
- package/dist/chunk-4LHIVDAH.js +1 -0
- package/dist/chunk-4RCQFLSE.cjs +114 -0
- package/dist/chunk-4RCQFLSE.cjs.map +1 -0
- package/dist/chunk-4WQLBIL5.cjs +1 -0
- package/dist/{chunk-ISUDUZEG.cjs.map → chunk-4WQLBIL5.cjs.map} +1 -1
- package/dist/chunk-4WUUV44R.js +1 -0
- package/dist/chunk-4WXBRKGZ.cjs +375 -0
- package/dist/chunk-4WXBRKGZ.cjs.map +1 -0
- package/dist/chunk-54KSDBGC.js +260 -0
- package/dist/chunk-54KSDBGC.js.map +1 -0
- package/dist/chunk-55RHNN3T.js +116 -0
- package/dist/chunk-55RHNN3T.js.map +1 -0
- package/dist/chunk-5DBKWVTZ.js +1 -0
- package/dist/chunk-5GDTEDDH.js +503 -0
- package/dist/chunk-5GDTEDDH.js.map +1 -0
- package/dist/chunk-5N6CFYT6.cjs +256 -0
- package/dist/chunk-5N6CFYT6.cjs.map +1 -0
- package/dist/{chunk-UK2SFZIQ.cjs → chunk-5NENDJOM.cjs} +21 -26
- package/dist/chunk-5NENDJOM.cjs.map +1 -0
- package/dist/chunk-5X2XQMGC.js +178 -0
- package/dist/chunk-5X2XQMGC.js.map +1 -0
- package/dist/chunk-6CDZ7ZBG.js +85 -0
- package/dist/chunk-6CDZ7ZBG.js.map +1 -0
- package/dist/{chunk-KPZ5T4DW.cjs → chunk-6G2BJQZL.cjs} +3 -3
- package/dist/{chunk-KPZ5T4DW.cjs.map → chunk-6G2BJQZL.cjs.map} +1 -1
- package/dist/chunk-6HRQMDI3.js +95 -0
- package/dist/chunk-6HRQMDI3.js.map +1 -0
- package/dist/{chunk-RZEJPDIW.js → chunk-6LV62GNU.js} +5 -5
- package/dist/chunk-6LV62GNU.js.map +1 -0
- package/dist/chunk-6POW3HXX.js +73 -0
- package/dist/chunk-6POW3HXX.js.map +1 -0
- package/dist/chunk-6UFDUJZI.cjs +124 -0
- package/dist/chunk-6UFDUJZI.cjs.map +1 -0
- package/dist/chunk-7BOSIHW6.cjs +173 -0
- package/dist/chunk-7BOSIHW6.cjs.map +1 -0
- package/dist/chunk-7EEKESAA.js +167 -0
- package/dist/chunk-7EEKESAA.js.map +1 -0
- package/dist/chunk-7F24FFIV.cjs +260 -0
- package/dist/chunk-7F24FFIV.cjs.map +1 -0
- package/dist/{chunk-6BZMLKCU.cjs → chunk-7GAELGEB.cjs} +47 -20
- package/dist/chunk-7GAELGEB.cjs.map +1 -0
- package/dist/{chunk-EM55NWUF.js → chunk-7GWM7F5C.js} +46 -34
- package/dist/chunk-7GWM7F5C.js.map +1 -0
- package/dist/chunk-7PSLMVCX.js +1 -0
- package/dist/{chunk-RNOXGWKQ.cjs → chunk-A4HS7CYD.cjs} +35 -18
- package/dist/chunk-A4HS7CYD.cjs.map +1 -0
- package/dist/chunk-A6S4V3IG.cjs +1 -0
- package/dist/{chunk-IUEAUTR7.cjs.map → chunk-A6S4V3IG.cjs.map} +1 -1
- package/dist/{chunk-4T6QBG46.cjs → chunk-AJXGXUBN.cjs} +29 -17
- package/dist/chunk-AJXGXUBN.cjs.map +1 -0
- package/dist/{chunk-5EUEJU47.js → chunk-AMF37AOD.js} +21 -3
- package/dist/chunk-AMF37AOD.js.map +1 -0
- package/dist/chunk-AMYFRY7K.js +1 -0
- package/dist/chunk-ANHZT2X2.js +256 -0
- package/dist/chunk-ANHZT2X2.js.map +1 -0
- package/dist/{chunk-PKJUCI7B.js → chunk-APD5WA65.js} +2 -2
- package/dist/chunk-AVHWS36I.js +1 -0
- package/dist/chunk-AZXCLCIV.cjs +1 -0
- package/dist/chunk-AZXCLCIV.cjs.map +1 -0
- package/dist/{chunk-EXAPMLPA.cjs → chunk-BNCUXVZF.cjs} +3 -3
- package/dist/{chunk-EXAPMLPA.cjs.map → chunk-BNCUXVZF.cjs.map} +1 -1
- package/dist/{chunk-SNLIKIJP.js → chunk-BP6BOEVE.js} +2 -2
- package/dist/{chunk-4A7BAISU.js → chunk-BQZ4XAYH.js} +34 -27
- package/dist/chunk-BQZ4XAYH.js.map +1 -0
- package/dist/chunk-BYSA3YCV.cjs +309 -0
- package/dist/chunk-BYSA3YCV.cjs.map +1 -0
- package/dist/chunk-C37NYN62.cjs +1 -0
- package/dist/chunk-C37NYN62.cjs.map +1 -0
- package/dist/chunk-CNY63MC2.cjs +1 -0
- package/dist/chunk-CNY63MC2.cjs.map +1 -0
- package/dist/{chunk-NDHMY3IR.js → chunk-CUGEH7EB.js} +11 -3
- package/dist/chunk-CUGEH7EB.js.map +1 -0
- package/dist/{chunk-NUC6WJU4.cjs → chunk-CUOYBYI4.cjs} +8 -8
- package/dist/{chunk-NUC6WJU4.cjs.map → chunk-CUOYBYI4.cjs.map} +1 -1
- package/dist/chunk-CWUZ4SZN.js +1 -0
- package/dist/{chunk-QGK2KYQS.js → chunk-CYHSWWH6.js} +18 -8
- package/dist/chunk-CYHSWWH6.js.map +1 -0
- package/dist/{chunk-GMBIFJOA.cjs → chunk-DAKCNDN5.cjs} +19 -9
- package/dist/chunk-DAKCNDN5.cjs.map +1 -0
- package/dist/chunk-DI52GZLA.cjs +116 -0
- package/dist/chunk-DI52GZLA.cjs.map +1 -0
- package/dist/{chunk-4U5TTO6E.cjs → chunk-DU4YQEIM.cjs} +71 -28
- package/dist/chunk-DU4YQEIM.cjs.map +1 -0
- package/dist/chunk-DUJCV2NZ.cjs +1 -0
- package/dist/chunk-DUJCV2NZ.cjs.map +1 -0
- package/dist/{chunk-YH44Q6CI.cjs → chunk-DVKPFWP2.cjs} +7 -7
- package/dist/{chunk-YH44Q6CI.cjs.map → chunk-DVKPFWP2.cjs.map} +1 -1
- package/dist/chunk-DWCTUNFU.cjs +85 -0
- package/dist/chunk-DWCTUNFU.cjs.map +1 -0
- package/dist/chunk-E5ZIKIGB.js +22 -0
- package/dist/chunk-E5ZIKIGB.js.map +1 -0
- package/dist/chunk-EMXKYSUI.cjs +341 -0
- package/dist/chunk-EMXKYSUI.cjs.map +1 -0
- package/dist/chunk-EQINOHB6.cjs +169 -0
- package/dist/chunk-EQINOHB6.cjs.map +1 -0
- package/dist/chunk-EY5XTOWH.cjs +45 -0
- package/dist/chunk-EY5XTOWH.cjs.map +1 -0
- package/dist/chunk-EZRPCQSP.js +272 -0
- package/dist/chunk-EZRPCQSP.js.map +1 -0
- package/dist/chunk-F5YD6T5D.js +1 -0
- package/dist/chunk-FF4QNJOQ.js +149 -0
- package/dist/chunk-FF4QNJOQ.js.map +1 -0
- package/dist/chunk-FFGALWM2.js +1113 -0
- package/dist/chunk-FFGALWM2.js.map +1 -0
- package/dist/chunk-FFUNMWQV.cjs +1 -0
- package/dist/chunk-FFUNMWQV.cjs.map +1 -0
- package/dist/chunk-FO7IICMM.js +61 -0
- package/dist/chunk-FO7IICMM.js.map +1 -0
- package/dist/{chunk-CGCO7RFO.js → chunk-FPXFD5XT.js} +2 -2
- package/dist/chunk-FQZ6F7FQ.cjs +1 -0
- package/dist/chunk-FQZ6F7FQ.cjs.map +1 -0
- package/dist/{chunk-CBCUQUHI.cjs → chunk-FUFFG2UW.cjs} +38 -12
- package/dist/chunk-FUFFG2UW.cjs.map +1 -0
- package/dist/{chunk-YVQOUGWG.cjs → chunk-FV6E33FY.cjs} +25 -11
- package/dist/chunk-FV6E33FY.cjs.map +1 -0
- package/dist/chunk-G6LUBXN2.js +271 -0
- package/dist/chunk-G6LUBXN2.js.map +1 -0
- package/dist/chunk-G6ZOJVIG.cjs +271 -0
- package/dist/chunk-G6ZOJVIG.cjs.map +1 -0
- package/dist/{chunk-TT2DEREM.js → chunk-GCOBDP4W.js} +37 -20
- package/dist/chunk-GCOBDP4W.js.map +1 -0
- package/dist/chunk-GEVXV4RL.js +309 -0
- package/dist/chunk-GEVXV4RL.js.map +1 -0
- package/dist/{chunk-Y5IWUJF7.js → chunk-GHJEE4NW.js} +3 -11
- package/dist/chunk-GHJEE4NW.js.map +1 -0
- package/dist/chunk-GIHJ4J47.js +1 -0
- package/dist/{chunk-4RU33BRQ.js → chunk-GQAX2CH6.js} +20 -25
- package/dist/chunk-GQAX2CH6.js.map +1 -0
- package/dist/{chunk-NJIMQWBC.js → chunk-GS7QTYLD.js} +43 -23
- package/dist/chunk-GS7QTYLD.js.map +1 -0
- package/dist/{chunk-D4ZUV7FD.cjs → chunk-GUI2LDJZ.cjs} +5 -13
- package/dist/chunk-GUI2LDJZ.cjs.map +1 -0
- package/dist/chunk-GXF5IZEX.cjs +264 -0
- package/dist/chunk-GXF5IZEX.cjs.map +1 -0
- package/dist/{chunk-TM3FOGLK.cjs → chunk-GYUQ5TEQ.cjs} +1 -1
- package/dist/chunk-GYUQ5TEQ.cjs.map +1 -0
- package/dist/chunk-H2HKUDBZ.js +1 -0
- package/dist/chunk-H6AWWJHL.cjs +1 -0
- package/dist/chunk-H6AWWJHL.cjs.map +1 -0
- package/dist/{chunk-VSC3A6VB.cjs → chunk-H7QU5L7R.cjs} +14 -4
- package/dist/chunk-H7QU5L7R.cjs.map +1 -0
- package/dist/{chunk-WB5AEG5D.cjs → chunk-HC2H35U2.cjs} +57 -15
- package/dist/chunk-HC2H35U2.cjs.map +1 -0
- package/dist/{chunk-ZKYBLXU7.js → chunk-HMXCWHVT.js} +6 -14
- package/dist/chunk-HMXCWHVT.js.map +1 -0
- package/dist/{chunk-P2JM7CUD.cjs → chunk-HTKCQZIJ.cjs} +5 -5
- package/dist/chunk-HTKCQZIJ.cjs.map +1 -0
- package/dist/{chunk-I6BOBHO6.cjs → chunk-IFZWOLDF.cjs} +37 -12
- package/dist/chunk-IFZWOLDF.cjs.map +1 -0
- package/dist/chunk-IJ5F5RUW.cjs +1 -0
- package/dist/chunk-IJ5F5RUW.cjs.map +1 -0
- package/dist/{chunk-ATOT5N34.cjs → chunk-IM6TYL3P.cjs} +3 -3
- package/dist/{chunk-ATOT5N34.cjs.map → chunk-IM6TYL3P.cjs.map} +1 -1
- package/dist/chunk-IMW6TRMU.cjs +1 -0
- package/dist/chunk-IMW6TRMU.cjs.map +1 -0
- package/dist/{chunk-3X7ORLG5.cjs → chunk-J7XCG6SX.cjs} +4 -4
- package/dist/{chunk-3X7ORLG5.cjs.map → chunk-J7XCG6SX.cjs.map} +1 -1
- package/dist/chunk-JAMYRBHS.js +375 -0
- package/dist/chunk-JAMYRBHS.js.map +1 -0
- package/dist/{chunk-NQGCAXTW.cjs → chunk-JCOUZVG3.cjs} +26 -10
- package/dist/chunk-JCOUZVG3.cjs.map +1 -0
- package/dist/chunk-JWOG4I4P.js +130 -0
- package/dist/chunk-JWOG4I4P.js.map +1 -0
- package/dist/chunk-JXATJSBR.js +45 -0
- package/dist/chunk-JXATJSBR.js.map +1 -0
- package/dist/chunk-K27GNXBF.cjs +272 -0
- package/dist/chunk-K27GNXBF.cjs.map +1 -0
- package/dist/{chunk-3VOOMW6O.js → chunk-KDV7V5S4.js} +2 -2
- package/dist/chunk-KSEN4ESR.js +230 -0
- package/dist/chunk-KSEN4ESR.js.map +1 -0
- package/dist/chunk-LEDIOXDM.js +341 -0
- package/dist/chunk-LEDIOXDM.js.map +1 -0
- package/dist/chunk-MKQBAQIH.js +1 -0
- package/dist/chunk-MS6HASC6.js +1 -0
- package/dist/chunk-MVKIXWKJ.js +114 -0
- package/dist/chunk-MVKIXWKJ.js.map +1 -0
- package/dist/{chunk-BGS3MCQZ.cjs → chunk-NH7XLE7E.cjs} +6 -14
- package/dist/chunk-NH7XLE7E.cjs.map +1 -0
- package/dist/chunk-NJIQJHJS.js +264 -0
- package/dist/chunk-NJIQJHJS.js.map +1 -0
- package/dist/{chunk-HBAHWCBK.js → chunk-NKCBDSI2.js} +3 -3
- package/dist/chunk-NL4LM47X.cjs +178 -0
- package/dist/chunk-NL4LM47X.cjs.map +1 -0
- package/dist/chunk-NOXQQACO.js +173 -0
- package/dist/chunk-NOXQQACO.js.map +1 -0
- package/dist/{chunk-VNITXANA.js → chunk-NS4IRTKQ.js} +1 -1
- package/dist/chunk-NS4IRTKQ.js.map +1 -0
- package/dist/chunk-NT6EEI44.cjs +86 -0
- package/dist/chunk-NT6EEI44.cjs.map +1 -0
- package/dist/chunk-NVCOEKCU.js +1 -0
- package/dist/chunk-O7BBEN7E.cjs +503 -0
- package/dist/chunk-O7BBEN7E.cjs.map +1 -0
- package/dist/{chunk-BBGCS5PZ.cjs → chunk-ODNO43HV.cjs} +6 -6
- package/dist/chunk-ODNO43HV.cjs.map +1 -0
- package/dist/chunk-ORRYZCLQ.cjs +1 -0
- package/dist/chunk-ORRYZCLQ.cjs.map +1 -0
- package/dist/{chunk-MCHL23CE.js → chunk-P7XKSXHH.js} +49 -34
- package/dist/chunk-P7XKSXHH.js.map +1 -0
- package/dist/chunk-PLLUSKME.cjs +95 -0
- package/dist/chunk-PLLUSKME.cjs.map +1 -0
- package/dist/chunk-PLT3EZZ5.js +194 -0
- package/dist/chunk-PLT3EZZ5.js.map +1 -0
- package/dist/{chunk-UPIDCMZI.cjs → chunk-QCITJAK6.cjs} +74 -17
- package/dist/chunk-QCITJAK6.cjs.map +1 -0
- package/dist/chunk-QE3ZFSJK.js +55 -0
- package/dist/chunk-QE3ZFSJK.js.map +1 -0
- package/dist/chunk-QG3PLYK6.js +53 -0
- package/dist/chunk-QG3PLYK6.js.map +1 -0
- package/dist/chunk-QLV4RQVQ.cjs +230 -0
- package/dist/chunk-QLV4RQVQ.cjs.map +1 -0
- package/dist/chunk-QU32POS4.js +150 -0
- package/dist/chunk-QU32POS4.js.map +1 -0
- package/dist/{chunk-C3YKGPQM.cjs → chunk-REDX5DCT.cjs} +34 -27
- package/dist/chunk-REDX5DCT.cjs.map +1 -0
- package/dist/{chunk-CNAMOK3Z.cjs → chunk-RH3CQOEI.cjs} +4 -4
- package/dist/{chunk-CNAMOK3Z.cjs.map → chunk-RH3CQOEI.cjs.map} +1 -1
- package/dist/chunk-RQRA5CCA.js +1 -0
- package/dist/chunk-SA7NMDD5.cjs +53 -0
- package/dist/chunk-SA7NMDD5.cjs.map +1 -0
- package/dist/{chunk-WI4WQGF6.cjs → chunk-SJN37JUC.cjs} +57 -42
- package/dist/chunk-SJN37JUC.cjs.map +1 -0
- package/dist/chunk-SOQFBVCQ.cjs +73 -0
- package/dist/chunk-SOQFBVCQ.cjs.map +1 -0
- package/dist/chunk-SZE2JS36.cjs +55 -0
- package/dist/chunk-SZE2JS36.cjs.map +1 -0
- package/dist/chunk-SZMS46F5.js +124 -0
- package/dist/chunk-SZMS46F5.js.map +1 -0
- package/dist/chunk-T2E5XT7P.js +1 -0
- package/dist/{chunk-CISRE6BC.cjs → chunk-T3NVC7UU.cjs} +6 -6
- package/dist/{chunk-CISRE6BC.cjs.map → chunk-T3NVC7UU.cjs.map} +1 -1
- package/dist/{chunk-VAF6PKVY.js → chunk-TG2IDU3W.js} +2 -2
- package/dist/{chunk-SZUMMROW.js → chunk-TNIRKGXY.js} +22 -8
- package/dist/chunk-TNIRKGXY.js.map +1 -0
- package/dist/chunk-TPAVJN55.cjs +1 -0
- package/dist/chunk-TPAVJN55.cjs.map +1 -0
- package/dist/{chunk-IFEWF24B.js → chunk-TPD2GNR6.js} +3 -3
- package/dist/chunk-TPNCV7KA.js +1 -0
- package/dist/{chunk-PZWJQNCY.cjs → chunk-TYZIRV75.cjs} +19 -11
- package/dist/chunk-TYZIRV75.cjs.map +1 -0
- package/dist/chunk-U24PBXZA.cjs +130 -0
- package/dist/chunk-U24PBXZA.cjs.map +1 -0
- package/dist/chunk-U7SCEB34.js +181 -0
- package/dist/chunk-U7SCEB34.js.map +1 -0
- package/dist/{chunk-BGKYCKNM.cjs → chunk-UGQBOWHR.cjs} +6 -6
- package/dist/{chunk-BGKYCKNM.cjs.map → chunk-UGQBOWHR.cjs.map} +1 -1
- package/dist/{chunk-BS3UEJ5G.js → chunk-UV4Q3LRC.js} +28 -16
- package/dist/chunk-UV4Q3LRC.js.map +1 -0
- package/dist/chunk-VB5VOUED.js +1 -0
- package/dist/{chunk-M5ZXQ2QS.js → chunk-VEFRVKSA.js} +60 -18
- package/dist/chunk-VEFRVKSA.js.map +1 -0
- package/dist/chunk-VISVU5LS.js +41 -0
- package/dist/chunk-VISVU5LS.js.map +1 -0
- package/dist/{chunk-MQN6A3CE.js → chunk-VJV3K53D.js} +17 -9
- package/dist/chunk-VJV3K53D.js.map +1 -0
- package/dist/chunk-VMR4KVFM.cjs +1 -0
- package/dist/chunk-VMR4KVFM.cjs.map +1 -0
- package/dist/{chunk-JWUYPAFC.cjs → chunk-VN2YHNUE.cjs} +43 -23
- package/dist/chunk-VN2YHNUE.cjs.map +1 -0
- package/dist/{chunk-GVND3JE3.js → chunk-VRPFA4CN.js} +2 -2
- package/dist/chunk-VYP5GX57.cjs +167 -0
- package/dist/chunk-VYP5GX57.cjs.map +1 -0
- package/dist/{chunk-DEC2WM3G.js → chunk-WGCK6KKL.js} +36 -10
- package/dist/chunk-WGCK6KKL.js.map +1 -0
- package/dist/{chunk-66EVFQVL.js → chunk-WHKNCDTX.js} +3 -3
- package/dist/{chunk-MGZO7MBN.cjs → chunk-WOTSK33U.cjs} +23 -5
- package/dist/chunk-WOTSK33U.cjs.map +1 -0
- package/dist/{chunk-BTP7G7WR.js → chunk-WRCHASO2.js} +5 -5
- package/dist/chunk-WRCHASO2.js.map +1 -0
- package/dist/{chunk-FI65HI2H.js → chunk-WRUVDZRI.js} +49 -22
- package/dist/chunk-WRUVDZRI.js.map +1 -0
- package/dist/chunk-WUSHGDHJ.cjs +1 -0
- package/dist/chunk-WUSHGDHJ.cjs.map +1 -0
- package/dist/{chunk-XCR3TPXT.js → chunk-XB6YHZAG.js} +70 -27
- package/dist/chunk-XB6YHZAG.js.map +1 -0
- package/dist/{chunk-AV6BIQQA.js → chunk-Y2E2RLBI.js} +14 -4
- package/dist/chunk-Y2E2RLBI.js.map +1 -0
- package/dist/chunk-YCIZERNO.cjs +150 -0
- package/dist/chunk-YCIZERNO.cjs.map +1 -0
- package/dist/chunk-YD2UW3PB.js +1 -0
- package/dist/chunk-YOKOPO2W.cjs +181 -0
- package/dist/chunk-YOKOPO2W.cjs.map +1 -0
- package/dist/chunk-YS2JJ73M.cjs +1113 -0
- package/dist/chunk-YS2JJ73M.cjs.map +1 -0
- package/dist/chunk-YS3BV5KJ.cjs +41 -0
- package/dist/chunk-YS3BV5KJ.cjs.map +1 -0
- package/dist/chunk-YUW5S2BZ.cjs +1 -0
- package/dist/chunk-YUW5S2BZ.cjs.map +1 -0
- package/dist/chunk-Z2LJBEIV.cjs +149 -0
- package/dist/chunk-Z2LJBEIV.cjs.map +1 -0
- package/dist/{chunk-TTHWYBQB.cjs → chunk-Z6YQH5SZ.cjs} +11 -3
- package/dist/chunk-Z6YQH5SZ.cjs.map +1 -0
- package/dist/chunk-Z6ZCVVNU.js +86 -0
- package/dist/chunk-Z6ZCVVNU.js.map +1 -0
- package/dist/{chunk-JOJ23OD4.js → chunk-ZNDJS2W7.js} +36 -11
- package/dist/chunk-ZNDJS2W7.js.map +1 -0
- package/dist/chunk-ZNUMOJOI.cjs +1 -0
- package/dist/chunk-ZNUMOJOI.cjs.map +1 -0
- package/dist/chunk-ZYPPXGI7.cjs +1 -0
- package/dist/chunk-ZYPPXGI7.cjs.map +1 -0
- package/dist/components/Accordion/Accordion.cjs +3 -3
- package/dist/components/Accordion/Accordion.js +2 -2
- package/dist/components/Accordion/index.cjs +3 -3
- package/dist/components/Accordion/index.js +2 -2
- package/dist/components/Avatar/Avatar.cjs +2 -2
- package/dist/components/Avatar/Avatar.js +1 -1
- package/dist/components/Avatar/index.cjs +2 -2
- package/dist/components/Avatar/index.js +1 -1
- package/dist/components/Breadcrumb/Breadcrumb.cjs +5 -3
- package/dist/components/Breadcrumb/Breadcrumb.cjs.map +1 -1
- package/dist/components/Breadcrumb/Breadcrumb.js +4 -2
- package/dist/components/Breadcrumb/index.cjs +5 -3
- package/dist/components/Breadcrumb/index.cjs.map +1 -1
- package/dist/components/Breadcrumb/index.js +4 -2
- package/dist/components/Button/Button.cjs +3 -3
- package/dist/components/Button/Button.js +2 -2
- package/dist/components/Button/index.cjs +3 -3
- package/dist/components/Button/index.js +2 -2
- package/dist/components/Card/Card.cjs +9 -2
- package/dist/components/Card/Card.cjs.map +1 -1
- package/dist/components/Card/Card.js +8 -1
- package/dist/components/Card/index.cjs +9 -2
- package/dist/components/Card/index.cjs.map +1 -1
- package/dist/components/Card/index.js +8 -1
- package/dist/components/Carousel/Carousel.cjs +26 -0
- package/dist/components/Carousel/Carousel.cjs.map +1 -0
- package/dist/components/Carousel/Carousel.js +26 -0
- package/dist/components/Carousel/index.cjs +26 -0
- package/dist/components/Carousel/index.cjs.map +1 -0
- package/dist/components/Carousel/index.js +26 -0
- package/dist/components/Charts/Charts.cjs +14 -0
- package/dist/components/Charts/Charts.cjs.map +1 -0
- package/dist/components/Charts/Charts.js +14 -0
- package/dist/components/Charts/index.cjs +14 -0
- package/dist/components/Charts/index.cjs.map +1 -0
- package/dist/components/Charts/index.js +14 -0
- package/dist/components/Charts/index.js.map +1 -0
- package/dist/components/Checkbox/Checkbox.cjs +4 -4
- package/dist/components/Checkbox/Checkbox.js +3 -3
- package/dist/components/Checkbox/index.cjs +4 -4
- package/dist/components/Checkbox/index.js +3 -3
- package/dist/components/Chip/Chip.cjs +11 -0
- package/dist/components/Chip/Chip.cjs.map +1 -0
- package/dist/components/Chip/Chip.js +11 -0
- package/dist/components/Chip/Chip.js.map +1 -0
- package/dist/components/Chip/index.cjs +11 -0
- package/dist/components/Chip/index.cjs.map +1 -0
- package/dist/components/Chip/index.js +11 -0
- package/dist/components/Chip/index.js.map +1 -0
- package/dist/components/CodeSnippet/CodeSnippet.cjs +15 -0
- package/dist/components/CodeSnippet/CodeSnippet.cjs.map +1 -0
- package/dist/components/CodeSnippet/CodeSnippet.js +15 -0
- package/dist/components/CodeSnippet/CodeSnippet.js.map +1 -0
- package/dist/components/CodeSnippet/index.cjs +15 -0
- package/dist/components/CodeSnippet/index.cjs.map +1 -0
- package/dist/components/CodeSnippet/index.js +15 -0
- package/dist/components/CodeSnippet/index.js.map +1 -0
- package/dist/components/Command/Command.cjs +3 -3
- package/dist/components/Command/Command.js +2 -2
- package/dist/components/Command/index.cjs +3 -3
- package/dist/components/Command/index.js +2 -2
- package/dist/components/ContentSwitcher/ContentSwitcher.cjs +13 -0
- package/dist/components/ContentSwitcher/ContentSwitcher.cjs.map +1 -0
- package/dist/components/ContentSwitcher/ContentSwitcher.js +13 -0
- package/dist/components/ContentSwitcher/ContentSwitcher.js.map +1 -0
- package/dist/components/ContentSwitcher/index.cjs +13 -0
- package/dist/components/ContentSwitcher/index.cjs.map +1 -0
- package/dist/components/ContentSwitcher/index.js +13 -0
- package/dist/components/ContentSwitcher/index.js.map +1 -0
- package/dist/components/DatePicker/DatePicker.cjs +4 -4
- package/dist/components/DatePicker/DatePicker.js +3 -3
- package/dist/components/DatePicker/index.cjs +4 -4
- package/dist/components/DatePicker/index.js +3 -3
- package/dist/components/DateRangePicker/DateRangePicker.cjs +4 -4
- package/dist/components/DateRangePicker/DateRangePicker.js +3 -3
- package/dist/components/DateRangePicker/index.cjs +4 -4
- package/dist/components/DateRangePicker/index.js +3 -3
- package/dist/components/DigitalStamp/DigitalStamp.cjs +12 -0
- package/dist/components/DigitalStamp/DigitalStamp.cjs.map +1 -0
- package/dist/components/DigitalStamp/DigitalStamp.js +12 -0
- package/dist/components/DigitalStamp/DigitalStamp.js.map +1 -0
- package/dist/components/DigitalStamp/index.cjs +12 -0
- package/dist/components/DigitalStamp/index.cjs.map +1 -0
- package/dist/components/DigitalStamp/index.js +12 -0
- package/dist/components/DigitalStamp/index.js.map +1 -0
- package/dist/components/Divider/Divider.cjs +2 -2
- package/dist/components/Divider/Divider.js +1 -1
- package/dist/components/Divider/index.cjs +2 -2
- package/dist/components/Divider/index.js +1 -1
- package/dist/components/Drawer/Drawer.cjs +3 -3
- package/dist/components/Drawer/Drawer.js +2 -2
- package/dist/components/Drawer/index.cjs +3 -3
- package/dist/components/Drawer/index.js +2 -2
- package/dist/components/Dropdown/Dropdown.cjs +22 -0
- package/dist/components/Dropdown/Dropdown.cjs.map +1 -0
- package/dist/components/Dropdown/Dropdown.js +22 -0
- package/dist/components/Dropdown/Dropdown.js.map +1 -0
- package/dist/components/Dropdown/index.cjs +22 -0
- package/dist/components/Dropdown/index.cjs.map +1 -0
- package/dist/components/Dropdown/index.js +22 -0
- package/dist/components/Dropdown/index.js.map +1 -0
- package/dist/components/DropdownMenu/DropdownMenu.cjs +3 -3
- package/dist/components/DropdownMenu/DropdownMenu.js +2 -2
- package/dist/components/DropdownMenu/index.cjs +3 -3
- package/dist/components/DropdownMenu/index.js +2 -2
- package/dist/components/EmptyState/EmptyState.cjs +3 -3
- package/dist/components/EmptyState/EmptyState.js +2 -2
- package/dist/components/EmptyState/index.cjs +3 -3
- package/dist/components/EmptyState/index.js +2 -2
- package/dist/components/FileUpload/FileUpload.cjs +6 -8
- package/dist/components/FileUpload/FileUpload.cjs.map +1 -1
- package/dist/components/FileUpload/FileUpload.js +5 -7
- package/dist/components/FileUpload/index.cjs +6 -8
- package/dist/components/FileUpload/index.cjs.map +1 -1
- package/dist/components/FileUpload/index.js +5 -7
- package/dist/components/Filtration/Filtration.cjs +44 -0
- package/dist/components/Filtration/Filtration.cjs.map +1 -0
- package/dist/components/Filtration/Filtration.js +44 -0
- package/dist/components/Filtration/Filtration.js.map +1 -0
- package/dist/components/Filtration/index.cjs +44 -0
- package/dist/components/Filtration/index.cjs.map +1 -0
- package/dist/components/Filtration/index.js +44 -0
- package/dist/components/Filtration/index.js.map +1 -0
- package/dist/components/FloatingButton/FloatingButton.cjs +11 -0
- package/dist/components/FloatingButton/FloatingButton.cjs.map +1 -0
- package/dist/components/FloatingButton/FloatingButton.js +11 -0
- package/dist/components/FloatingButton/FloatingButton.js.map +1 -0
- package/dist/components/FloatingButton/index.cjs +11 -0
- package/dist/components/FloatingButton/index.cjs.map +1 -0
- package/dist/components/FloatingButton/index.js +11 -0
- package/dist/components/FloatingButton/index.js.map +1 -0
- package/dist/components/InlineAlert/InlineAlert.cjs +14 -0
- package/dist/components/InlineAlert/InlineAlert.cjs.map +1 -0
- package/dist/components/InlineAlert/InlineAlert.js +14 -0
- package/dist/components/InlineAlert/InlineAlert.js.map +1 -0
- package/dist/components/InlineAlert/index.cjs +14 -0
- package/dist/components/InlineAlert/index.cjs.map +1 -0
- package/dist/components/InlineAlert/index.js +14 -0
- package/dist/components/InlineAlert/index.js.map +1 -0
- package/dist/components/InputOTP/InputOTP.cjs +3 -3
- package/dist/components/InputOTP/InputOTP.js +2 -2
- package/dist/components/InputOTP/index.cjs +3 -3
- package/dist/components/InputOTP/index.js +2 -2
- package/dist/components/Link/Link.cjs +3 -3
- package/dist/components/Link/Link.js +2 -2
- package/dist/components/Link/index.cjs +3 -3
- package/dist/components/Link/index.js +2 -2
- package/dist/components/List/List.cjs +2 -8
- package/dist/components/List/List.cjs.map +1 -1
- package/dist/components/List/List.js +1 -7
- package/dist/components/List/index.cjs +2 -8
- package/dist/components/List/index.cjs.map +1 -1
- package/dist/components/List/index.js +1 -7
- package/dist/components/Menubar/Menubar.cjs +3 -3
- package/dist/components/Menubar/Menubar.js +2 -2
- package/dist/components/Menubar/index.cjs +3 -3
- package/dist/components/Menubar/index.js +2 -2
- package/dist/components/Metric/Metric.cjs +16 -0
- package/dist/components/Metric/Metric.cjs.map +1 -0
- package/dist/components/Metric/Metric.js +16 -0
- package/dist/components/Metric/Metric.js.map +1 -0
- package/dist/components/Metric/MetricGroup.cjs +11 -0
- package/dist/components/Metric/MetricGroup.cjs.map +1 -0
- package/dist/components/Metric/MetricGroup.js +11 -0
- package/dist/components/Metric/MetricGroup.js.map +1 -0
- package/dist/components/Metric/index.cjs +22 -0
- package/dist/components/Metric/index.cjs.map +1 -0
- package/dist/components/Metric/index.js +22 -0
- package/dist/components/Metric/index.js.map +1 -0
- package/dist/components/Modal/Modal.cjs +3 -3
- package/dist/components/Modal/Modal.js +2 -2
- package/dist/components/Modal/index.cjs +3 -3
- package/dist/components/Modal/index.js +2 -2
- package/dist/components/Notification/Notification.cjs +12 -0
- package/dist/components/Notification/Notification.cjs.map +1 -0
- package/dist/components/Notification/Notification.js +12 -0
- package/dist/components/Notification/Notification.js.map +1 -0
- package/dist/components/Notification/index.cjs +12 -0
- package/dist/components/Notification/index.cjs.map +1 -0
- package/dist/components/Notification/index.js +12 -0
- package/dist/components/Notification/index.js.map +1 -0
- package/dist/components/NotificationToast/NotificationToast.cjs +24 -0
- package/dist/components/NotificationToast/NotificationToast.cjs.map +1 -0
- package/dist/components/NotificationToast/NotificationToast.js +24 -0
- package/dist/components/NotificationToast/NotificationToast.js.map +1 -0
- package/dist/components/NotificationToast/index.cjs +24 -0
- package/dist/components/NotificationToast/index.cjs.map +1 -0
- package/dist/components/NotificationToast/index.js +24 -0
- package/dist/components/NotificationToast/index.js.map +1 -0
- package/dist/components/NotificationToast/toast-store.cjs +14 -0
- package/dist/components/NotificationToast/toast-store.cjs.map +1 -0
- package/dist/components/{Toast → NotificationToast}/toast-store.js +1 -1
- package/dist/components/NotificationToast/toast-store.js.map +1 -0
- package/dist/components/NumberInput/NumberInput.cjs +4 -4
- package/dist/components/NumberInput/NumberInput.js +3 -3
- package/dist/components/NumberInput/index.cjs +4 -4
- package/dist/components/NumberInput/index.js +3 -3
- package/dist/components/Pagination/Pagination.cjs +6 -3
- package/dist/components/Pagination/Pagination.cjs.map +1 -1
- package/dist/components/Pagination/Pagination.js +5 -2
- package/dist/components/Pagination/index.cjs +7 -4
- package/dist/components/Pagination/index.cjs.map +1 -1
- package/dist/components/Pagination/index.js +8 -5
- package/dist/components/Popover/Popover.cjs +3 -3
- package/dist/components/Popover/Popover.js +2 -2
- package/dist/components/Popover/index.cjs +3 -3
- package/dist/components/Popover/index.js +2 -2
- package/dist/components/Progress/Progress.cjs +3 -2
- package/dist/components/Progress/Progress.cjs.map +1 -1
- package/dist/components/Progress/Progress.js +2 -1
- package/dist/components/Progress/index.cjs +3 -2
- package/dist/components/Progress/index.cjs.map +1 -1
- package/dist/components/Progress/index.js +2 -1
- package/dist/components/ProgressIndicator/ProgressIndicator.cjs +24 -0
- package/dist/components/ProgressIndicator/ProgressIndicator.cjs.map +1 -0
- package/dist/components/ProgressIndicator/ProgressIndicator.js +24 -0
- package/dist/components/ProgressIndicator/ProgressIndicator.js.map +1 -0
- package/dist/components/ProgressIndicator/index.cjs +24 -0
- package/dist/components/ProgressIndicator/index.cjs.map +1 -0
- package/dist/components/ProgressIndicator/index.js +24 -0
- package/dist/components/ProgressIndicator/index.js.map +1 -0
- package/dist/components/Quote/Quote.cjs +2 -11
- package/dist/components/Quote/Quote.cjs.map +1 -1
- package/dist/components/Quote/Quote.js +1 -10
- package/dist/components/Quote/index.cjs +2 -11
- package/dist/components/Quote/index.cjs.map +1 -1
- package/dist/components/Quote/index.js +1 -10
- package/dist/components/Radio/Radio.cjs +3 -3
- package/dist/components/Radio/Radio.js +2 -2
- package/dist/components/Radio/index.cjs +3 -3
- package/dist/components/Radio/index.js +2 -2
- package/dist/components/Rating/Rating.cjs +4 -4
- package/dist/components/Rating/Rating.js +3 -3
- package/dist/components/Rating/index.cjs +4 -4
- package/dist/components/Rating/index.js +3 -3
- package/dist/components/SaudiRiyal/SaudiRiyal.cjs +16 -0
- package/dist/components/SaudiRiyal/SaudiRiyal.cjs.map +1 -0
- package/dist/components/SaudiRiyal/SaudiRiyal.js +16 -0
- package/dist/components/SaudiRiyal/SaudiRiyal.js.map +1 -0
- package/dist/components/SaudiRiyal/index.cjs +16 -0
- package/dist/components/SaudiRiyal/index.cjs.map +1 -0
- package/dist/components/SaudiRiyal/index.js +16 -0
- package/dist/components/SaudiRiyal/index.js.map +1 -0
- package/dist/components/SearchBox/SearchBox.cjs +8 -8
- package/dist/components/SearchBox/SearchBox.js +7 -7
- package/dist/components/SearchBox/index.cjs +8 -8
- package/dist/components/SearchBox/index.js +7 -7
- package/dist/components/Select/Select.cjs +4 -4
- package/dist/components/Select/Select.js +3 -3
- package/dist/components/Select/index.cjs +4 -4
- package/dist/components/Select/index.js +3 -3
- package/dist/components/Sidebar/Sidebar.cjs +4 -4
- package/dist/components/Sidebar/Sidebar.js +3 -3
- package/dist/components/Sidebar/SidebarMenu.cjs +4 -4
- package/dist/components/Sidebar/SidebarMenu.js +3 -3
- package/dist/components/Sidebar/index.cjs +7 -7
- package/dist/components/Sidebar/index.js +6 -6
- package/dist/components/Skeleton/Skeleton.cjs +2 -2
- package/dist/components/Skeleton/Skeleton.js +1 -1
- package/dist/components/Skeleton/index.cjs +2 -2
- package/dist/components/Skeleton/index.js +1 -1
- package/dist/components/SlideoutMenu/SlideoutMenu.cjs +35 -0
- package/dist/components/SlideoutMenu/SlideoutMenu.cjs.map +1 -0
- package/dist/components/SlideoutMenu/SlideoutMenu.js +35 -0
- package/dist/components/SlideoutMenu/SlideoutMenu.js.map +1 -0
- package/dist/components/SlideoutMenu/index.cjs +35 -0
- package/dist/components/SlideoutMenu/index.cjs.map +1 -0
- package/dist/components/SlideoutMenu/index.js +35 -0
- package/dist/components/SlideoutMenu/index.js.map +1 -0
- package/dist/components/Slider/Slider.cjs +3 -3
- package/dist/components/Slider/Slider.js +2 -2
- package/dist/components/Slider/index.cjs +3 -3
- package/dist/components/Slider/index.js +2 -2
- package/dist/components/Spinner/Spinner.cjs +2 -2
- package/dist/components/Spinner/Spinner.js +1 -1
- package/dist/components/Spinner/index.cjs +2 -2
- package/dist/components/Spinner/index.js +1 -1
- package/dist/components/StatusTag/StatusTag.cjs +11 -0
- package/dist/components/StatusTag/StatusTag.cjs.map +1 -0
- package/dist/components/StatusTag/StatusTag.js +11 -0
- package/dist/components/StatusTag/StatusTag.js.map +1 -0
- package/dist/components/StatusTag/index.cjs +11 -0
- package/dist/components/StatusTag/index.cjs.map +1 -0
- package/dist/components/StatusTag/index.js +11 -0
- package/dist/components/StatusTag/index.js.map +1 -0
- package/dist/components/StructuredList/StructuredList.cjs +27 -0
- package/dist/components/StructuredList/StructuredList.cjs.map +1 -0
- package/dist/components/StructuredList/StructuredList.js +27 -0
- package/dist/components/StructuredList/StructuredList.js.map +1 -0
- package/dist/components/StructuredList/index.cjs +27 -0
- package/dist/components/StructuredList/index.cjs.map +1 -0
- package/dist/components/StructuredList/index.js +27 -0
- package/dist/components/StructuredList/index.js.map +1 -0
- package/dist/components/Switch/Switch.cjs +3 -3
- package/dist/components/Switch/Switch.js +2 -2
- package/dist/components/Switch/index.cjs +3 -3
- package/dist/components/Switch/index.js +2 -2
- package/dist/components/Table/Table.cjs +3 -3
- package/dist/components/Table/Table.js +2 -2
- package/dist/components/Table/index.cjs +3 -3
- package/dist/components/Table/index.js +2 -2
- package/dist/components/Tabs/Tabs.cjs +5 -2
- package/dist/components/Tabs/Tabs.cjs.map +1 -1
- package/dist/components/Tabs/Tabs.js +4 -1
- package/dist/components/Tabs/index.cjs +5 -2
- package/dist/components/Tabs/index.cjs.map +1 -1
- package/dist/components/Tabs/index.js +4 -1
- package/dist/components/Tag/Tag.cjs +12 -0
- package/dist/components/Tag/Tag.cjs.map +1 -0
- package/dist/components/Tag/Tag.js +12 -0
- package/dist/components/Tag/Tag.js.map +1 -0
- package/dist/components/Tag/index.cjs +12 -0
- package/dist/components/Tag/index.cjs.map +1 -0
- package/dist/components/Tag/index.js +12 -0
- package/dist/components/Tag/index.js.map +1 -0
- package/dist/components/TagInput/TagInput.cjs +6 -6
- package/dist/components/TagInput/TagInput.js +5 -5
- package/dist/components/TagInput/index.cjs +6 -6
- package/dist/components/TagInput/index.js +5 -5
- package/dist/components/TextInput/TextInput.cjs +19 -0
- package/dist/components/TextInput/TextInput.cjs.map +1 -0
- package/dist/components/TextInput/TextInput.js +19 -0
- package/dist/components/TextInput/TextInput.js.map +1 -0
- package/dist/components/TextInput/index.cjs +19 -0
- package/dist/components/TextInput/index.cjs.map +1 -0
- package/dist/components/TextInput/index.js +19 -0
- package/dist/components/TextInput/index.js.map +1 -0
- package/dist/components/Textarea/Textarea.cjs +4 -3
- package/dist/components/Textarea/Textarea.cjs.map +1 -1
- package/dist/components/Textarea/Textarea.js +3 -2
- package/dist/components/Textarea/index.cjs +4 -3
- package/dist/components/Textarea/index.cjs.map +1 -1
- package/dist/components/Textarea/index.js +3 -2
- package/dist/components/Timeline/Timeline.cjs +2 -2
- package/dist/components/Timeline/Timeline.js +1 -1
- package/dist/components/Timeline/index.cjs +2 -2
- package/dist/components/Timeline/index.js +1 -1
- package/dist/components/Toggle/Toggle.cjs +2 -8
- package/dist/components/Toggle/Toggle.cjs.map +1 -1
- package/dist/components/Toggle/Toggle.js +1 -7
- package/dist/components/Toggle/index.cjs +2 -8
- package/dist/components/Toggle/index.cjs.map +1 -1
- package/dist/components/Toggle/index.js +1 -7
- package/dist/components/Tooltip/Tooltip.cjs +4 -2
- package/dist/components/Tooltip/Tooltip.cjs.map +1 -1
- package/dist/components/Tooltip/Tooltip.js +3 -1
- package/dist/components/Tooltip/index.cjs +4 -2
- package/dist/components/Tooltip/index.cjs.map +1 -1
- package/dist/components/Tooltip/index.js +3 -1
- package/dist/field/FieldMessage.cjs +2 -2
- package/dist/field/FieldMessage.js +1 -1
- package/dist/field/index.cjs +2 -2
- package/dist/field/index.js +1 -1
- package/dist/index.cjs +249 -102
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1024 -407
- package/dist/index.d.ts +1024 -407
- package/dist/index.js +434 -287
- package/dist/internal/calendar/calendar-core.cjs +5 -3
- package/dist/internal/calendar/calendar-core.cjs.map +1 -1
- package/dist/internal/calendar/calendar-core.js +6 -4
- package/dist/internal/calendar/index.cjs +5 -3
- package/dist/internal/calendar/index.cjs.map +1 -1
- package/dist/internal/calendar/index.js +6 -4
- package/dist/internal/icons/index.cjs +62 -2
- package/dist/internal/icons/index.cjs.map +1 -1
- package/dist/internal/icons/index.js +63 -3
- package/package.json +3 -3
- package/dist/chunk-23C5MSXZ.cjs +0 -86
- package/dist/chunk-23C5MSXZ.cjs.map +0 -1
- package/dist/chunk-4A7BAISU.js.map +0 -1
- package/dist/chunk-4RU33BRQ.js.map +0 -1
- package/dist/chunk-4T6QBG46.cjs.map +0 -1
- package/dist/chunk-4U5TTO6E.cjs.map +0 -1
- package/dist/chunk-5EUEJU47.js.map +0 -1
- package/dist/chunk-5MQV6PLC.js +0 -1
- package/dist/chunk-5QC5N3OO.js +0 -77
- package/dist/chunk-5QC5N3OO.js.map +0 -1
- package/dist/chunk-6BZMLKCU.cjs.map +0 -1
- package/dist/chunk-6DN3JE3P.js +0 -271
- package/dist/chunk-6DN3JE3P.js.map +0 -1
- package/dist/chunk-6ELYUHB6.js +0 -45
- package/dist/chunk-6ELYUHB6.js.map +0 -1
- package/dist/chunk-6NZXWKUE.js +0 -1
- package/dist/chunk-7QCXGMBX.js +0 -1
- package/dist/chunk-A6RVSF5V.cjs +0 -77
- package/dist/chunk-A6RVSF5V.cjs.map +0 -1
- package/dist/chunk-AM2OVOQV.cjs +0 -45
- package/dist/chunk-AM2OVOQV.cjs.map +0 -1
- package/dist/chunk-AV6BIQQA.js.map +0 -1
- package/dist/chunk-AYIS62JR.cjs.map +0 -1
- package/dist/chunk-BBGCS5PZ.cjs.map +0 -1
- package/dist/chunk-BGS3MCQZ.cjs.map +0 -1
- package/dist/chunk-BJ3CUFXY.cjs +0 -123
- package/dist/chunk-BJ3CUFXY.cjs.map +0 -1
- package/dist/chunk-BS3UEJ5G.js.map +0 -1
- package/dist/chunk-BS4PX23P.js +0 -102
- package/dist/chunk-BS4PX23P.js.map +0 -1
- package/dist/chunk-BTP7G7WR.js.map +0 -1
- package/dist/chunk-C3YKGPQM.cjs.map +0 -1
- package/dist/chunk-CBCUQUHI.cjs.map +0 -1
- package/dist/chunk-CDS4SYEQ.js +0 -456
- package/dist/chunk-CDS4SYEQ.js.map +0 -1
- package/dist/chunk-CVQFSXRR.cjs +0 -271
- package/dist/chunk-CVQFSXRR.cjs.map +0 -1
- package/dist/chunk-D4ZUV7FD.cjs.map +0 -1
- package/dist/chunk-DEC2WM3G.js.map +0 -1
- package/dist/chunk-DKRLAJZE.js +0 -45
- package/dist/chunk-DKRLAJZE.js.map +0 -1
- package/dist/chunk-DMWYQSO4.cjs +0 -100
- package/dist/chunk-DMWYQSO4.cjs.map +0 -1
- package/dist/chunk-DXY5JEC4.js +0 -137
- package/dist/chunk-DXY5JEC4.js.map +0 -1
- package/dist/chunk-E7WQI7PE.js +0 -19
- package/dist/chunk-E7WQI7PE.js.map +0 -1
- package/dist/chunk-EJHBW4AK.js +0 -100
- package/dist/chunk-EJHBW4AK.js.map +0 -1
- package/dist/chunk-EM55NWUF.js.map +0 -1
- package/dist/chunk-FEUMA5IS.cjs +0 -102
- package/dist/chunk-FEUMA5IS.cjs.map +0 -1
- package/dist/chunk-FI65HI2H.js.map +0 -1
- package/dist/chunk-G3M3XYMI.cjs +0 -1
- package/dist/chunk-GLWMKKLR.cjs +0 -109
- package/dist/chunk-GLWMKKLR.cjs.map +0 -1
- package/dist/chunk-GMBIFJOA.cjs.map +0 -1
- package/dist/chunk-GNL72FRN.js +0 -224
- package/dist/chunk-GNL72FRN.js.map +0 -1
- package/dist/chunk-I44YNYI6.cjs +0 -1
- package/dist/chunk-I6BOBHO6.cjs.map +0 -1
- package/dist/chunk-IFB53HNO.js +0 -61
- package/dist/chunk-IFB53HNO.js.map +0 -1
- package/dist/chunk-IKWD2OEN.cjs +0 -456
- package/dist/chunk-IKWD2OEN.cjs.map +0 -1
- package/dist/chunk-IQ4KQJAO.js +0 -1
- package/dist/chunk-ISUDUZEG.cjs +0 -1
- package/dist/chunk-IUEAUTR7.cjs +0 -1
- package/dist/chunk-JOJ23OD4.js.map +0 -1
- package/dist/chunk-JWUYPAFC.cjs.map +0 -1
- package/dist/chunk-K5P2VY5J.cjs +0 -140
- package/dist/chunk-K5P2VY5J.cjs.map +0 -1
- package/dist/chunk-KO5F344T.cjs +0 -1
- package/dist/chunk-KO5F344T.cjs.map +0 -1
- package/dist/chunk-KRIWNW4A.cjs +0 -131
- package/dist/chunk-KRIWNW4A.cjs.map +0 -1
- package/dist/chunk-KXO72WTH.js +0 -1
- package/dist/chunk-LDDAQLH6.js +0 -140
- package/dist/chunk-LDDAQLH6.js.map +0 -1
- package/dist/chunk-LG2IADSZ.cjs +0 -61
- package/dist/chunk-LG2IADSZ.cjs.map +0 -1
- package/dist/chunk-LQ4PCHBP.js +0 -109
- package/dist/chunk-LQ4PCHBP.js.map +0 -1
- package/dist/chunk-M5ZXQ2QS.js.map +0 -1
- package/dist/chunk-MCHL23CE.js.map +0 -1
- package/dist/chunk-MGZO7MBN.cjs.map +0 -1
- package/dist/chunk-MQN6A3CE.js.map +0 -1
- package/dist/chunk-N4FHLSNV.cjs +0 -19
- package/dist/chunk-N4FHLSNV.cjs.map +0 -1
- package/dist/chunk-NDHMY3IR.js.map +0 -1
- package/dist/chunk-NJIMQWBC.js.map +0 -1
- package/dist/chunk-NQGCAXTW.cjs.map +0 -1
- package/dist/chunk-NU3WUSG7.cjs +0 -189
- package/dist/chunk-NU3WUSG7.cjs.map +0 -1
- package/dist/chunk-O74TNSJD.cjs +0 -101
- package/dist/chunk-O74TNSJD.cjs.map +0 -1
- package/dist/chunk-OGZKNZS6.cjs +0 -111
- package/dist/chunk-OGZKNZS6.cjs.map +0 -1
- package/dist/chunk-OSUT5FH5.js +0 -1
- package/dist/chunk-P2JM7CUD.cjs.map +0 -1
- package/dist/chunk-P2K47B56.js +0 -116
- package/dist/chunk-P2K47B56.js.map +0 -1
- package/dist/chunk-PQJ5IGRQ.js +0 -123
- package/dist/chunk-PQJ5IGRQ.js.map +0 -1
- package/dist/chunk-PZWJQNCY.cjs.map +0 -1
- package/dist/chunk-QFHAVVXT.js +0 -86
- package/dist/chunk-QFHAVVXT.js.map +0 -1
- package/dist/chunk-QGK2KYQS.js.map +0 -1
- package/dist/chunk-RCR5CRZ5.js +0 -1
- package/dist/chunk-RNOXGWKQ.cjs.map +0 -1
- package/dist/chunk-RSXDPFXK.js +0 -189
- package/dist/chunk-RSXDPFXK.js.map +0 -1
- package/dist/chunk-RZEJPDIW.js.map +0 -1
- package/dist/chunk-STJDMXL7.cjs +0 -116
- package/dist/chunk-STJDMXL7.cjs.map +0 -1
- package/dist/chunk-SZUMMROW.js.map +0 -1
- package/dist/chunk-TLD67NXQ.js +0 -101
- package/dist/chunk-TLD67NXQ.js.map +0 -1
- package/dist/chunk-TM3FOGLK.cjs.map +0 -1
- package/dist/chunk-TT2DEREM.js.map +0 -1
- package/dist/chunk-TTHWYBQB.cjs.map +0 -1
- package/dist/chunk-UK2SFZIQ.cjs.map +0 -1
- package/dist/chunk-UPIDCMZI.cjs.map +0 -1
- package/dist/chunk-URC4A3GE.cjs +0 -118
- package/dist/chunk-URC4A3GE.cjs.map +0 -1
- package/dist/chunk-UXGJ6NTD.js +0 -118
- package/dist/chunk-UXGJ6NTD.js.map +0 -1
- package/dist/chunk-VBWRH4UW.cjs +0 -1
- package/dist/chunk-VBWRH4UW.cjs.map +0 -1
- package/dist/chunk-VMAJ34DC.cjs +0 -224
- package/dist/chunk-VMAJ34DC.cjs.map +0 -1
- package/dist/chunk-VNITXANA.js.map +0 -1
- package/dist/chunk-VPTWF4AK.js +0 -111
- package/dist/chunk-VPTWF4AK.js.map +0 -1
- package/dist/chunk-VSC3A6VB.cjs.map +0 -1
- package/dist/chunk-WB5AEG5D.cjs.map +0 -1
- package/dist/chunk-WI4WQGF6.cjs.map +0 -1
- package/dist/chunk-WOJUO43J.js +0 -131
- package/dist/chunk-WOJUO43J.js.map +0 -1
- package/dist/chunk-XCR3TPXT.js.map +0 -1
- package/dist/chunk-Y5IWUJF7.js.map +0 -1
- package/dist/chunk-YKKDKR6Q.cjs +0 -1
- package/dist/chunk-YKKDKR6Q.cjs.map +0 -1
- package/dist/chunk-YVQOUGWG.cjs.map +0 -1
- package/dist/chunk-ZKYBLXU7.js.map +0 -1
- package/dist/components/Alert/Alert.cjs +0 -16
- package/dist/components/Alert/Alert.cjs.map +0 -1
- package/dist/components/Alert/Alert.js +0 -16
- package/dist/components/Alert/index.cjs +0 -16
- package/dist/components/Alert/index.cjs.map +0 -1
- package/dist/components/Alert/index.js +0 -16
- package/dist/components/Badge/Badge.cjs +0 -12
- package/dist/components/Badge/Badge.cjs.map +0 -1
- package/dist/components/Badge/Badge.js +0 -12
- package/dist/components/Badge/index.cjs +0 -12
- package/dist/components/Badge/index.cjs.map +0 -1
- package/dist/components/Badge/index.js +0 -12
- package/dist/components/Combobox/Combobox.cjs +0 -24
- package/dist/components/Combobox/Combobox.cjs.map +0 -1
- package/dist/components/Combobox/Combobox.js +0 -24
- package/dist/components/Combobox/index.cjs +0 -24
- package/dist/components/Combobox/index.cjs.map +0 -1
- package/dist/components/Combobox/index.js +0 -24
- package/dist/components/Input/Input.cjs +0 -14
- package/dist/components/Input/Input.cjs.map +0 -1
- package/dist/components/Input/Input.js +0 -14
- package/dist/components/Input/index.cjs +0 -14
- package/dist/components/Input/index.cjs.map +0 -1
- package/dist/components/Input/index.js +0 -14
- package/dist/components/Stat/Stat.cjs +0 -20
- package/dist/components/Stat/Stat.cjs.map +0 -1
- package/dist/components/Stat/Stat.js +0 -20
- package/dist/components/Stat/StatGroup.cjs +0 -11
- package/dist/components/Stat/StatGroup.cjs.map +0 -1
- package/dist/components/Stat/StatGroup.js +0 -11
- package/dist/components/Stat/index.cjs +0 -26
- package/dist/components/Stat/index.cjs.map +0 -1
- package/dist/components/Stat/index.js +0 -26
- package/dist/components/Steps/Steps.cjs +0 -22
- package/dist/components/Steps/Steps.cjs.map +0 -1
- package/dist/components/Steps/Steps.js +0 -22
- package/dist/components/Steps/index.cjs +0 -22
- package/dist/components/Steps/index.cjs.map +0 -1
- package/dist/components/Steps/index.js +0 -22
- package/dist/components/Toast/Toast.cjs +0 -24
- package/dist/components/Toast/Toast.cjs.map +0 -1
- package/dist/components/Toast/Toast.js +0 -24
- package/dist/components/Toast/index.cjs +0 -24
- package/dist/components/Toast/index.cjs.map +0 -1
- package/dist/components/Toast/index.js +0 -24
- package/dist/components/Toast/toast-store.cjs +0 -14
- package/dist/components/Toast/toast-store.cjs.map +0 -1
- /package/dist/{chunk-5MQV6PLC.js.map → chunk-2I7URBEK.js.map} +0 -0
- /package/dist/{chunk-6NZXWKUE.js.map → chunk-44S33DGQ.js.map} +0 -0
- /package/dist/{chunk-7QCXGMBX.js.map → chunk-4LHIVDAH.js.map} +0 -0
- /package/dist/{chunk-IQ4KQJAO.js.map → chunk-4WUUV44R.js.map} +0 -0
- /package/dist/{chunk-KXO72WTH.js.map → chunk-5DBKWVTZ.js.map} +0 -0
- /package/dist/{chunk-OSUT5FH5.js.map → chunk-7PSLMVCX.js.map} +0 -0
- /package/dist/{chunk-RCR5CRZ5.js.map → chunk-AMYFRY7K.js.map} +0 -0
- /package/dist/{chunk-PKJUCI7B.js.map → chunk-APD5WA65.js.map} +0 -0
- /package/dist/{components/Alert/Alert.js.map → chunk-AVHWS36I.js.map} +0 -0
- /package/dist/{chunk-SNLIKIJP.js.map → chunk-BP6BOEVE.js.map} +0 -0
- /package/dist/{components/Alert/index.js.map → chunk-CWUZ4SZN.js.map} +0 -0
- /package/dist/{components/Badge/Badge.js.map → chunk-F5YD6T5D.js.map} +0 -0
- /package/dist/{chunk-CGCO7RFO.js.map → chunk-FPXFD5XT.js.map} +0 -0
- /package/dist/{components/Badge/index.js.map → chunk-GIHJ4J47.js.map} +0 -0
- /package/dist/{components/Combobox/Combobox.js.map → chunk-H2HKUDBZ.js.map} +0 -0
- /package/dist/{chunk-3VOOMW6O.js.map → chunk-KDV7V5S4.js.map} +0 -0
- /package/dist/{components/Combobox/index.js.map → chunk-MKQBAQIH.js.map} +0 -0
- /package/dist/{components/Input/Input.js.map → chunk-MS6HASC6.js.map} +0 -0
- /package/dist/{chunk-HBAHWCBK.js.map → chunk-NKCBDSI2.js.map} +0 -0
- /package/dist/{components/Input/index.js.map → chunk-NVCOEKCU.js.map} +0 -0
- /package/dist/{components/Stat/Stat.js.map → chunk-RQRA5CCA.js.map} +0 -0
- /package/dist/{components/Stat/StatGroup.js.map → chunk-T2E5XT7P.js.map} +0 -0
- /package/dist/{chunk-VAF6PKVY.js.map → chunk-TG2IDU3W.js.map} +0 -0
- /package/dist/{chunk-IFEWF24B.js.map → chunk-TPD2GNR6.js.map} +0 -0
- /package/dist/{components/Stat/index.js.map → chunk-TPNCV7KA.js.map} +0 -0
- /package/dist/{components/Steps/Steps.js.map → chunk-VB5VOUED.js.map} +0 -0
- /package/dist/{chunk-GVND3JE3.js.map → chunk-VRPFA4CN.js.map} +0 -0
- /package/dist/{chunk-66EVFQVL.js.map → chunk-WHKNCDTX.js.map} +0 -0
- /package/dist/{components/Steps/index.js.map → chunk-YD2UW3PB.js.map} +0 -0
- /package/dist/components/{Toast/Toast.js.map → Carousel/Carousel.js.map} +0 -0
- /package/dist/components/{Toast → Carousel}/index.js.map +0 -0
- /package/dist/components/{Toast/toast-store.js.map → Charts/Charts.js.map} +0 -0
package/dist/chunk-LQ4PCHBP.js
DELETED
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
QuoteMark
|
|
3
|
-
} from "./chunk-CDS4SYEQ.js";
|
|
4
|
-
import {
|
|
5
|
-
cn
|
|
6
|
-
} from "./chunk-7NTT2UXP.js";
|
|
7
|
-
|
|
8
|
-
// src/components/Quote/Quote.tsx
|
|
9
|
-
import "react";
|
|
10
|
-
import { Slot as SlotPrimitive } from "radix-ui";
|
|
11
|
-
import { cva } from "class-variance-authority";
|
|
12
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
13
|
-
var quoteVariants = cva("ddga-quote", {
|
|
14
|
-
variants: {
|
|
15
|
-
variant: {
|
|
16
|
-
/** Inline-start accent border (SA Green). The everyday blockquote. */
|
|
17
|
-
default: "ddga-quote--default",
|
|
18
|
-
/** Large editorial quote, centered, prominent mark — breaks up prose. */
|
|
19
|
-
pullquote: "ddga-quote--pullquote",
|
|
20
|
-
/** Card surface (border + bg + shadow), sized for an avatar + attribution. */
|
|
21
|
-
testimonial: "ddga-quote--testimonial",
|
|
22
|
-
/** Bare — no border, no surface. For inline / tightly-composed use. */
|
|
23
|
-
plain: "ddga-quote--plain"
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
|
-
defaultVariants: {
|
|
27
|
-
variant: "default"
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
function Quote({
|
|
31
|
-
variant,
|
|
32
|
-
quoteMark = false,
|
|
33
|
-
avatar,
|
|
34
|
-
author,
|
|
35
|
-
byline,
|
|
36
|
-
source,
|
|
37
|
-
cite,
|
|
38
|
-
className,
|
|
39
|
-
children,
|
|
40
|
-
...props
|
|
41
|
-
}) {
|
|
42
|
-
const hasAttribution = author != null || byline != null || source != null;
|
|
43
|
-
const mark = quoteMark ? /* @__PURE__ */ jsx(QuoteMark, { "aria-hidden": "true", className: "ddga-quote__mark" }) : null;
|
|
44
|
-
if (!hasAttribution) {
|
|
45
|
-
return /* @__PURE__ */ jsxs(
|
|
46
|
-
"blockquote",
|
|
47
|
-
{
|
|
48
|
-
"data-slot": "quote",
|
|
49
|
-
"data-variant": variant ?? "default",
|
|
50
|
-
className: cn(quoteVariants({ variant }), className),
|
|
51
|
-
cite,
|
|
52
|
-
...props,
|
|
53
|
-
children: [
|
|
54
|
-
mark,
|
|
55
|
-
/* @__PURE__ */ jsx(QuoteContent, { children })
|
|
56
|
-
]
|
|
57
|
-
}
|
|
58
|
-
);
|
|
59
|
-
}
|
|
60
|
-
return /* @__PURE__ */ jsxs(
|
|
61
|
-
"figure",
|
|
62
|
-
{
|
|
63
|
-
"data-slot": "quote",
|
|
64
|
-
"data-variant": variant ?? "default",
|
|
65
|
-
className: cn(quoteVariants({ variant }), className),
|
|
66
|
-
...props,
|
|
67
|
-
children: [
|
|
68
|
-
/* @__PURE__ */ jsxs("blockquote", { "data-slot": "quote-blockquote", className: "ddga-quote__blockquote", cite, children: [
|
|
69
|
-
mark,
|
|
70
|
-
/* @__PURE__ */ jsx(QuoteContent, { children })
|
|
71
|
-
] }),
|
|
72
|
-
/* @__PURE__ */ jsxs(QuoteCaption, { children: [
|
|
73
|
-
avatar != null ? /* @__PURE__ */ jsx("span", { "data-slot": "quote-avatar", "aria-hidden": "true", className: "ddga-quote__avatar", children: avatar }) : null,
|
|
74
|
-
/* @__PURE__ */ jsxs("span", { className: "ddga-quote__attribution", children: [
|
|
75
|
-
author != null ? /* @__PURE__ */ jsx(QuoteAuthor, { children: author }) : null,
|
|
76
|
-
byline != null ? /* @__PURE__ */ jsx("span", { "data-slot": "quote-byline", className: "ddga-quote__byline", children: byline }) : null,
|
|
77
|
-
source != null ? /* @__PURE__ */ jsx(QuoteSource, { children: source }) : null
|
|
78
|
-
] })
|
|
79
|
-
] })
|
|
80
|
-
]
|
|
81
|
-
}
|
|
82
|
-
);
|
|
83
|
-
}
|
|
84
|
-
function QuoteContent({ asChild, className, ...props }) {
|
|
85
|
-
const Comp = asChild ? SlotPrimitive.Slot : "div";
|
|
86
|
-
return /* @__PURE__ */ jsx(Comp, { "data-slot": "quote-content", className: cn("ddga-quote__content", className), ...props });
|
|
87
|
-
}
|
|
88
|
-
function QuoteCaption({ asChild, className, ...props }) {
|
|
89
|
-
const Comp = asChild ? SlotPrimitive.Slot : "figcaption";
|
|
90
|
-
return /* @__PURE__ */ jsx(Comp, { "data-slot": "quote-caption", className: cn("ddga-quote__caption", className), ...props });
|
|
91
|
-
}
|
|
92
|
-
function QuoteAuthor({ asChild, className, ...props }) {
|
|
93
|
-
const Comp = asChild ? SlotPrimitive.Slot : "span";
|
|
94
|
-
return /* @__PURE__ */ jsx(Comp, { "data-slot": "quote-author", className: cn("ddga-quote__author", className), ...props });
|
|
95
|
-
}
|
|
96
|
-
function QuoteSource({ asChild, className, ...props }) {
|
|
97
|
-
const Comp = asChild ? SlotPrimitive.Slot : "cite";
|
|
98
|
-
return /* @__PURE__ */ jsx(Comp, { "data-slot": "quote-source", className: cn("ddga-quote__source", className), ...props });
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
export {
|
|
102
|
-
quoteVariants,
|
|
103
|
-
Quote,
|
|
104
|
-
QuoteContent,
|
|
105
|
-
QuoteCaption,
|
|
106
|
-
QuoteAuthor,
|
|
107
|
-
QuoteSource
|
|
108
|
-
};
|
|
109
|
-
//# sourceMappingURL=chunk-LQ4PCHBP.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/Quote/Quote.tsx"],"sourcesContent":["'use client';\n\nimport { type ReactNode } from 'react';\nimport { Slot as SlotPrimitive } from 'radix-ui';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\nimport { QuoteMark } from '../../internal/icons';\n\n// ─── 1. Variants (cva) ─── //\n\nconst quoteVariants = cva('ddga-quote', {\n variants: {\n variant: {\n /** Inline-start accent border (SA Green). The everyday blockquote. */\n default: 'ddga-quote--default',\n /** Large editorial quote, centered, prominent mark — breaks up prose. */\n pullquote: 'ddga-quote--pullquote',\n /** Card surface (border + bg + shadow), sized for an avatar + attribution. */\n testimonial: 'ddga-quote--testimonial',\n /** Bare — no border, no surface. For inline / tightly-composed use. */\n plain: 'ddga-quote--plain',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n});\n\n// ─── 2. Types ─── //\n\ninterface QuoteProps\n // Base on the generic HTML attribute set: the root element varies (a <figure>\n // when captioned, else a bare <blockquote>), so element-specific props (and a\n // single ref type) don't apply. The native `role`/`cite` attributes are\n // forwarded via `...props` like any other HTML attribute.\n extends React.HTMLAttributes<HTMLElement>, VariantProps<typeof quoteVariants> {\n /** The quote text. Rendered inside the `<blockquote>`. */\n children?: ReactNode;\n /** Show a decorative opening quotation mark (RTL-flipped). Defaults to `false`. */\n quoteMark?: boolean;\n /**\n * Attribution media (e.g. an `<Avatar />`), rendered at the inline-start of the\n * caption. Only shown alongside textual attribution (`author`/`byline`/`source`)\n * — an avatar with no name is decorative-only and would leave the\n * `<figcaption>` empty to assistive tech, so it is dropped on its own. Most\n * natural on `testimonial`. Quote renders whatever node you pass — it takes no\n * Avatar dependency.\n */\n avatar?: ReactNode;\n /** Attribution name (e.g. the person quoted). Rendered as plain text. */\n author?: ReactNode;\n /**\n * Secondary attribution line below the author — typically a job title or\n * affiliation (e.g. \"Product Manager, DGA\"). Named `byline` rather than `role`\n * so the native ARIA `role` attribute stays available on the root element.\n */\n byline?: ReactNode;\n /** Title of the work, rendered in a real `<cite>` element. */\n source?: ReactNode;\n /**\n * URL of the source document — set as the `cite=` **attribute** on the\n * `<blockquote>` (machine-readable, not visible). For a visible work title use\n * `source`.\n */\n cite?: string;\n}\n\ntype QuoteContentProps = React.ComponentProps<'div'> & { asChild?: boolean };\ntype QuoteCaptionProps = React.ComponentProps<'figcaption'> & { asChild?: boolean };\ntype QuoteAuthorProps = React.ComponentProps<'span'> & { asChild?: boolean };\ntype QuoteSourceProps = React.ComponentProps<'cite'> & { asChild?: boolean };\n\n// ─── 3. Components ─── //\n\n/**\n * Visual-only quote. Renders a `<blockquote>`; when textual attribution\n * (`author`/`byline`/`source`) is present it is wrapped in a `<figure>` with a\n * `<figcaption>` (a `<figcaption>` must not be empty, so a bare quote stays a\n * lone `<blockquote>`).\n *\n * No `asChild` on the root: the `figure`/`blockquote`/`figcaption` composite has\n * fixed semantics (documented carve-out, mirrors `EmptyState`/`Timeline`/`List`).\n * The exported sub-parts carry `asChild` for hand-assembled compositions.\n */\nfunction Quote({\n variant,\n quoteMark = false,\n avatar,\n author,\n byline,\n source,\n cite,\n className,\n children,\n ...props\n}: QuoteProps) {\n // Avatar alone is NOT attribution: it would leave the <figcaption> empty to\n // assistive tech (the avatar wrapper is aria-hidden). The figure path requires\n // at least one textual attribution field.\n const hasAttribution = author != null || byline != null || source != null;\n\n const mark = quoteMark ? <QuoteMark aria-hidden=\"true\" className=\"ddga-quote__mark\" /> : null;\n\n // No attribution → a bare <blockquote> is the root (an empty <figcaption>\n // would be invalid HTML). The figure-typed `...props` (global HTML attrs:\n // id/style/aria-*/data-*) are still forwarded — they apply to a <blockquote>\n // just the same.\n if (!hasAttribution) {\n return (\n <blockquote\n data-slot=\"quote\"\n data-variant={variant ?? 'default'}\n className={cn(quoteVariants({ variant }), className)}\n cite={cite}\n {...props}\n >\n {mark}\n <QuoteContent>{children}</QuoteContent>\n </blockquote>\n );\n }\n\n return (\n <figure\n data-slot=\"quote\"\n data-variant={variant ?? 'default'}\n className={cn(quoteVariants({ variant }), className)}\n {...props}\n >\n <blockquote data-slot=\"quote-blockquote\" className=\"ddga-quote__blockquote\" cite={cite}>\n {mark}\n <QuoteContent>{children}</QuoteContent>\n </blockquote>\n <QuoteCaption>\n {avatar != null ? (\n <span data-slot=\"quote-avatar\" aria-hidden=\"true\" className=\"ddga-quote__avatar\">\n {avatar}\n </span>\n ) : null}\n {/* At least one of these is non-null here (it's what gates the figure). */}\n <span className=\"ddga-quote__attribution\">\n {author != null ? <QuoteAuthor>{author}</QuoteAuthor> : null}\n {byline != null ? (\n <span data-slot=\"quote-byline\" className=\"ddga-quote__byline\">\n {byline}\n </span>\n ) : null}\n {source != null ? <QuoteSource>{source}</QuoteSource> : null}\n </span>\n </QuoteCaption>\n </figure>\n );\n}\n\n/** Body wrapper inside the `<blockquote>`. */\nfunction QuoteContent({ asChild, className, ...props }: QuoteContentProps) {\n const Comp = asChild ? SlotPrimitive.Slot : 'div';\n return (\n <Comp data-slot=\"quote-content\" className={cn('ddga-quote__content', className)} {...props} />\n );\n}\n\n/** Caption (attribution) below the quote. Pair with a `<figure>` root. */\nfunction QuoteCaption({ asChild, className, ...props }: QuoteCaptionProps) {\n const Comp = asChild ? SlotPrimitive.Slot : 'figcaption';\n return (\n <Comp data-slot=\"quote-caption\" className={cn('ddga-quote__caption', className)} {...props} />\n );\n}\n\n/** Attribution name. */\nfunction QuoteAuthor({ asChild, className, ...props }: QuoteAuthorProps) {\n const Comp = asChild ? SlotPrimitive.Slot : 'span';\n return (\n <Comp data-slot=\"quote-author\" className={cn('ddga-quote__author', className)} {...props} />\n );\n}\n\n/** Title of the cited work — a real `<cite>` element. */\nfunction QuoteSource({ asChild, className, ...props }: QuoteSourceProps) {\n const Comp = asChild ? SlotPrimitive.Slot : 'cite';\n return (\n <Comp data-slot=\"quote-source\" className={cn('ddga-quote__source', className)} {...props} />\n );\n}\n\n// ─── 4. Exports ─── //\n\nexport { Quote, QuoteContent, QuoteCaption, QuoteAuthor, QuoteSource, quoteVariants };\nexport type {\n QuoteProps,\n QuoteContentProps,\n QuoteCaptionProps,\n QuoteAuthorProps,\n QuoteSourceProps,\n};\n"],"mappings":";;;;;;;;AAEA,OAA+B;AAC/B,SAAS,QAAQ,qBAAqB;AACtC,SAAS,WAA8B;AAiGZ,cAQrB,YARqB;AA3F3B,IAAM,gBAAgB,IAAI,cAAc;AAAA,EACtC,UAAU;AAAA,IACR,SAAS;AAAA;AAAA,MAEP,SAAS;AAAA;AAAA,MAET,WAAW;AAAA;AAAA,MAEX,aAAa;AAAA;AAAA,MAEb,OAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,EACX;AACF,CAAC;AA0DD,SAAS,MAAM;AAAA,EACb;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAe;AAIb,QAAM,iBAAiB,UAAU,QAAQ,UAAU,QAAQ,UAAU;AAErE,QAAM,OAAO,YAAY,oBAAC,aAAU,eAAY,QAAO,WAAU,oBAAmB,IAAK;AAMzF,MAAI,CAAC,gBAAgB;AACnB,WACE;AAAA,MAAC;AAAA;AAAA,QACC,aAAU;AAAA,QACV,gBAAc,WAAW;AAAA,QACzB,WAAW,GAAG,cAAc,EAAE,QAAQ,CAAC,GAAG,SAAS;AAAA,QACnD;AAAA,QACC,GAAG;AAAA,QAEH;AAAA;AAAA,UACD,oBAAC,gBAAc,UAAS;AAAA;AAAA;AAAA,IAC1B;AAAA,EAEJ;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,gBAAc,WAAW;AAAA,MACzB,WAAW,GAAG,cAAc,EAAE,QAAQ,CAAC,GAAG,SAAS;AAAA,MAClD,GAAG;AAAA,MAEJ;AAAA,6BAAC,gBAAW,aAAU,oBAAmB,WAAU,0BAAyB,MACzE;AAAA;AAAA,UACD,oBAAC,gBAAc,UAAS;AAAA,WAC1B;AAAA,QACA,qBAAC,gBACE;AAAA,oBAAU,OACT,oBAAC,UAAK,aAAU,gBAAe,eAAY,QAAO,WAAU,sBACzD,kBACH,IACE;AAAA,UAEJ,qBAAC,UAAK,WAAU,2BACb;AAAA,sBAAU,OAAO,oBAAC,eAAa,kBAAO,IAAiB;AAAA,YACvD,UAAU,OACT,oBAAC,UAAK,aAAU,gBAAe,WAAU,sBACtC,kBACH,IACE;AAAA,YACH,UAAU,OAAO,oBAAC,eAAa,kBAAO,IAAiB;AAAA,aAC1D;AAAA,WACF;AAAA;AAAA;AAAA,EACF;AAEJ;AAGA,SAAS,aAAa,EAAE,SAAS,WAAW,GAAG,MAAM,GAAsB;AACzE,QAAM,OAAO,UAAU,cAAc,OAAO;AAC5C,SACE,oBAAC,QAAK,aAAU,iBAAgB,WAAW,GAAG,uBAAuB,SAAS,GAAI,GAAG,OAAO;AAEhG;AAGA,SAAS,aAAa,EAAE,SAAS,WAAW,GAAG,MAAM,GAAsB;AACzE,QAAM,OAAO,UAAU,cAAc,OAAO;AAC5C,SACE,oBAAC,QAAK,aAAU,iBAAgB,WAAW,GAAG,uBAAuB,SAAS,GAAI,GAAG,OAAO;AAEhG;AAGA,SAAS,YAAY,EAAE,SAAS,WAAW,GAAG,MAAM,GAAqB;AACvE,QAAM,OAAO,UAAU,cAAc,OAAO;AAC5C,SACE,oBAAC,QAAK,aAAU,gBAAe,WAAW,GAAG,sBAAsB,SAAS,GAAI,GAAG,OAAO;AAE9F;AAGA,SAAS,YAAY,EAAE,SAAS,WAAW,GAAG,MAAM,GAAqB;AACvE,QAAM,OAAO,UAAU,cAAc,OAAO;AAC5C,SACE,oBAAC,QAAK,aAAU,gBAAe,WAAW,GAAG,sBAAsB,SAAS,GAAI,GAAG,OAAO;AAE9F;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/Table/Table.tsx"],"sourcesContent":["'use client';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { CaretDown, CaretUp } from '../../internal/icons';\nimport { cn } from '../../utils/cn';\n\n// ─── 1. Variants (cva) ─── //\n//\n// Semantic <table> compound. Layout/density cascade from the root to the leaf\n// parts via descendant selectors (DescriptionList/Accordion pattern), so the\n// row/head/cell parts carry no variant props beyond `align`/`selected`.\n\nconst tableVariants = cva('ddga-table', {\n variants: {\n size: {\n sm: 'ddga-table--sm',\n md: 'ddga-table--md',\n lg: 'ddga-table--lg',\n },\n striped: { true: 'ddga-table--striped' },\n divided: { true: 'ddga-table--divided' },\n bordered: { true: 'ddga-table--bordered' },\n stickyHeader: { true: 'ddga-table--sticky' },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\ntype Align = 'start' | 'center' | 'end';\n\n// ─── 2. Types ─── //\n\ninterface TableProps extends React.ComponentProps<'table'>, VariantProps<typeof tableVariants> {\n /**\n * Accessible name for the **scroll region** wrapping the table. Strongly\n * recommended: a wide table scrolls horizontally, and a named, focusable\n * region lets keyboard and screen-reader users find and scroll it. When\n * provided, the wrapper becomes `role=\"region\"` `tabindex=\"0\"`; when omitted,\n * it degrades to a plain scroll container and a dev warning fires.\n * Note: this names the region, not the `<table>` — use `<TableCaption>` for\n * the table's own name.\n */\n 'aria-label'?: string;\n /** Accessible name for the scroll region, by id reference. See `aria-label`. */\n 'aria-labelledby'?: string;\n /**\n * Caps the scroll region's block-size (number → px) so the body scrolls\n * vertically within it. **Required for `stickyHeader` to engage** — sticky\n * needs a height-constrained, scrollable ancestor; without it the region\n * grows to content height and the header has nothing to stick to.\n */\n maxHeight?: number | string;\n}\n\ninterface TableRowProps extends React.ComponentProps<'tr'> {\n /** Visually highlights the row and sets `data-state=\"selected\"`. Selection\n * semantics for assistive tech come from a checkbox in the cell (see the\n * DataTable recipe), not from the row. */\n selected?: boolean;\n}\n\ninterface TableHeadProps extends Omit<React.ComponentProps<'th'>, 'align' | 'onClick'> {\n align?: Align;\n /** Renders the column as sortable: wraps content in a button and sets\n * `aria-sort`. Sort *logic* is the consumer's — wire `onClick`. */\n sortable?: boolean;\n /** Current sort direction, or `false` when unsorted. */\n sortDirection?: 'asc' | 'desc' | false;\n /** Click handler bound to the sort button (only rendered when `sortable`). */\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n /**\n * Visually-hidden, **caller-localized** cue appended to the sort button's\n * accessible name (e.g. \"activate to sort ascending\"). `aria-sort` already\n * conveys state, but a focused button otherwise announces only its column\n * label; this adds the action cue. Kept as a prop (not hard-coded text) so\n * the design system stays language-neutral — pass Arabic in RTL. Only used\n * when `sortable`. Typed `string` (not `ReactNode`) so interactive content\n * can't be hidden into a keyboard-reachable, invisible trap.\n */\n sortLabel?: string;\n}\n\ninterface TableCellProps extends Omit<React.ComponentProps<'td'>, 'align'> {\n align?: Align;\n}\n\n// ─── 3. Components ─── //\n\nfunction Table({\n size,\n striped,\n divided,\n bordered,\n stickyHeader,\n className,\n maxHeight,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n ...props\n}: TableProps) {\n const named = Boolean(ariaLabel || ariaLabelledby);\n\n if (process.env.NODE_ENV !== 'production' && !named) {\n console.warn(\n '[ddga] <Table> wraps its table in a horizontally scrollable container. ' +\n 'Pass `aria-label` (or `aria-labelledby`) so keyboard and screen-reader ' +\n 'users can identify and scroll it. Without a name it degrades to a plain ' +\n 'scroll container with no landmark.',\n );\n }\n\n if (process.env.NODE_ENV !== 'production' && ariaLabel && ariaLabelledby) {\n console.warn(\n '[ddga] <Table> received both `aria-label` and `aria-labelledby`. ' +\n '`aria-labelledby` takes precedence; `aria-label` will be ignored by assistive technology.',\n );\n }\n\n return (\n <div\n data-slot=\"table-region\"\n className=\"ddga-table__region\"\n style={maxHeight != null ? { maxBlockSize: maxHeight, overflowY: 'auto' } : undefined}\n {...(named\n ? {\n role: 'region',\n tabIndex: 0,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n }\n : {})}\n >\n <table\n data-slot=\"table\"\n className={cn(tableVariants({ size, striped, divided, bordered, stickyHeader }), className)}\n {...props}\n />\n </div>\n );\n}\n\nfunction TableHeader({ className, ...props }: React.ComponentProps<'thead'>) {\n return (\n <thead data-slot=\"table-header\" className={cn('ddga-table__header', className)} {...props} />\n );\n}\n\nfunction TableBody({ className, ...props }: React.ComponentProps<'tbody'>) {\n return <tbody data-slot=\"table-body\" className={cn('ddga-table__body', className)} {...props} />;\n}\n\nfunction TableFooter({ className, ...props }: React.ComponentProps<'tfoot'>) {\n return (\n <tfoot data-slot=\"table-footer\" className={cn('ddga-table__footer', className)} {...props} />\n );\n}\n\nfunction TableRow({ className, selected, ...props }: TableRowProps) {\n return (\n <tr\n data-slot=\"table-row\"\n data-state={selected ? 'selected' : undefined}\n className={cn('ddga-table__row', className)}\n {...props}\n />\n );\n}\n\nfunction TableHead({\n className,\n align,\n sortable,\n sortDirection = false,\n sortLabel,\n onClick,\n children,\n ...props\n}: TableHeadProps) {\n const headClass = cn('ddga-table__head', align && `ddga-table__head--align-${align}`, className);\n\n if (process.env.NODE_ENV !== 'production' && sortable && !sortLabel) {\n console.warn(\n '[ddga] <TableHead sortable> has no `sortLabel`. `aria-sort` conveys the ' +\n 'sort state, but pass a localized cue (e.g. \"activate to sort\") so a focused ' +\n 'sort button announces its action to screen-reader users.',\n );\n }\n\n if (!sortable) {\n return (\n <th scope=\"col\" data-slot=\"table-head\" className={headClass} {...props}>\n {children}\n </th>\n );\n }\n\n const ariaSort =\n sortDirection === 'asc' ? 'ascending' : sortDirection === 'desc' ? 'descending' : 'none';\n\n return (\n <th scope=\"col\" data-slot=\"table-head\" aria-sort={ariaSort} className={headClass} {...props}>\n <button\n type=\"button\"\n data-slot=\"table-sort-button\"\n className=\"ddga-table__sort-button\"\n onClick={onClick}\n >\n {children}\n {sortLabel ? <span className=\"ddga-sr-only\">{sortLabel}</span> : null}\n <span className=\"ddga-table__sort-icon\" data-slot=\"table-sort-icon\" aria-hidden=\"true\">\n {sortDirection === 'asc' ? (\n <CaretUp />\n ) : sortDirection === 'desc' ? (\n <CaretDown />\n ) : (\n // Neutral affordance: stacked carets, dimmed via CSS.\n <>\n <CaretUp />\n <CaretDown />\n </>\n )}\n </span>\n </button>\n </th>\n );\n}\n\nfunction TableCell({ className, align, ...props }: TableCellProps) {\n return (\n <td\n data-slot=\"table-cell\"\n className={cn('ddga-table__cell', align && `ddga-table__cell--align-${align}`, className)}\n {...props}\n />\n );\n}\n\nfunction TableCaption({ className, ...props }: React.ComponentProps<'caption'>) {\n return (\n <caption\n data-slot=\"table-caption\"\n className={cn('ddga-table__caption', className)}\n {...props}\n />\n );\n}\n\n// ─── 4. Exports ─── //\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableRow,\n TableHead,\n TableCell,\n TableCaption,\n tableVariants,\n};\nexport type { TableProps, TableRowProps, TableHeadProps, TableCellProps };\n"],"mappings":"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","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/DateRangePicker/DateRangePicker.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback, useMemo, useState, type ReactNode } from 'react';\nimport {\n Button as AriaButton,\n CalendarCell as AriaCalendarCell,\n CalendarGrid as AriaCalendarGrid,\n CalendarGridBody as AriaCalendarGridBody,\n CalendarGridHeader as AriaCalendarGridHeader,\n CalendarHeaderCell as AriaCalendarHeaderCell,\n DateInput as AriaDateInput,\n DateRangePicker as AriaDateRangePicker,\n DateSegment as AriaDateSegment,\n Dialog as AriaDialog,\n FieldError as AriaFieldError,\n Group as AriaGroup,\n I18nProvider,\n Label as AriaLabel,\n Popover as AriaPopover,\n RangeCalendar as AriaRangeCalendar,\n Text as AriaText,\n} from 'react-aria-components';\nimport { CalendarDate, type DateValue } from '@internationalized/date';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\nimport { CalendarIcon } from '../../internal/icons';\nimport {\n CalendarNavHeader,\n CalendarSystemToggle,\n calendarDateToDate,\n dateToCalendarDate,\n renderDayContent,\n useCalendarChrome,\n type CalendarLabels,\n type CalendarSystem,\n} from '../../internal/calendar';\n\n// ─── 1. Variants ─── //\n\n// Applied to the Group (the trigger row). Range triggers hold more by content\n// (two date inputs + separator), but heights still match Input/Select sm/md so\n// they line up in a form row.\nconst dateRangePickerTriggerVariants = cva('ddga-date-range-picker-trigger', {\n variants: {\n size: {\n sm: 'ddga-date-range-picker-trigger--sm',\n md: 'ddga-date-range-picker-trigger--md',\n },\n error: {\n true: 'ddga-date-range-picker-trigger--error',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\n// Passthrough alias so the barrel `*Variants` convention holds across components.\nconst dateRangePickerVariants = dateRangePickerTriggerVariants;\n\n// ─── 2. Types ─── //\n\n/** A complete, inclusive date range. Both ends are local Y/M/D. */\ninterface DateRange {\n start: Date;\n end: Date;\n}\n\ninterface DateRangePickerProps extends VariantProps<typeof dateRangePickerTriggerVariants> {\n /** Currently selected range (controlled). `null` clears it. */\n value?: DateRange | null;\n /** Initial range when uncontrolled. */\n defaultValue?: DateRange | null;\n /** Fires when a complete range is picked, or `null` when cleared. */\n onChange?: (value: DateRange | null) => void;\n /** Earliest pickable date (inclusive). */\n minValue?: Date;\n /** Latest pickable date (inclusive). */\n maxValue?: Date;\n /** Visible label above the trigger. */\n label?: ReactNode;\n /** Hint shown below the trigger. Hidden while an error message is showing. */\n helperText?: ReactNode;\n /** Message shown below the trigger when `error` is true. */\n errorMessage?: ReactNode;\n /** Marks the field invalid — sets `aria-invalid` and error styling. */\n error?: boolean;\n /** Marks the field required — adds the asterisk + `aria-required`. */\n required?: boolean;\n /** Disables the trigger entirely. */\n disabled?: boolean;\n /** Caller-supplied id for the field. */\n id?: string;\n /** Forwarded to the Group (the trigger row), matching Input/Select. */\n className?: string;\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n /** Calendar system (controlled). Omit to let the user toggle freely. */\n calendar?: CalendarSystem;\n /** Initial calendar system when uncontrolled. Defaults to `'gregorian'`. */\n defaultCalendar?: CalendarSystem;\n /** Fires whenever the calendar system toggles. */\n onCalendarChange?: (calendar: CalendarSystem) => void;\n /**\n * Show the Gregorian↔Hijri toggle inside the popover. Defaults to `true`, but\n * is forced off when `calendar` is controlled.\n */\n showCalendarToggle?: boolean;\n /** Override the toggle labels. Defaults are locale-aware (English / Arabic). */\n calendarLabels?: CalendarLabels;\n /**\n * When `true`, each day cell also shows the *other* calendar's day number as\n * small secondary text. Helps cross-reference Hijri↔Gregorian. Default `false`.\n */\n showSecondaryCalendar?: boolean;\n}\n\n// react-aria's range value is { start, end } of CalendarDate. We keep our public\n// contract Date-based and round-trip through Gregorian CalendarDates so the Hijri\n// toggle is purely a display concern (same engine as DatePicker).\ntype AriaDateRange = { start: CalendarDate; end: CalendarDate } | null;\n\nfunction toAriaRange(range: DateRange | null | undefined): AriaDateRange {\n if (!range) return null;\n const start = dateToCalendarDate(range.start);\n const end = dateToCalendarDate(range.end);\n if (!start || !end) return null;\n return { start, end };\n}\n\nfunction fromAriaRange(value: { start: DateValue; end: DateValue } | null): DateRange | null {\n if (!value) return null;\n const start = calendarDateToDate(value.start);\n const end = calendarDateToDate(value.end);\n if (!start || !end) return null;\n return { start, end };\n}\n\n// ─── 3. Component ─── //\n\nfunction DateRangePicker({\n value: controlledValue,\n defaultValue,\n onChange,\n minValue,\n maxValue,\n label,\n helperText,\n errorMessage,\n error,\n required,\n disabled,\n size,\n id,\n className,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n calendar: controlledCalendar,\n defaultCalendar = 'gregorian',\n onCalendarChange,\n showCalendarToggle = true,\n calendarLabels,\n showSecondaryCalendar = false,\n}: DateRangePickerProps) {\n // ─ value: controlled or uncontrolled, always Gregorian internally ─\n const isValueControlled = controlledValue !== undefined;\n const [internalValue, setInternalValue] = useState<AriaDateRange>(() =>\n toAriaRange(defaultValue),\n );\n const value = isValueControlled ? toAriaRange(controlledValue) : internalValue;\n\n const handleAriaChange = useCallback(\n (next: { start: DateValue; end: DateValue } | null) => {\n // Normalize to plain Gregorian CalendarDates so internal state never holds\n // a Hijri-flavored CalendarDate (display calendar must not leak into value).\n const nextRange: AriaDateRange = next\n ? {\n start: new CalendarDate(next.start.year, next.start.month, next.start.day),\n end: new CalendarDate(next.end.year, next.end.month, next.end.day),\n }\n : null;\n if (!isValueControlled) setInternalValue(nextRange);\n onChange?.(fromAriaRange(nextRange));\n },\n [isValueControlled, onChange],\n );\n\n // ─ calendar system: controlled or uncontrolled ─\n const isCalendarControlled = controlledCalendar !== undefined;\n const [internalCalendar, setInternalCalendar] = useState<CalendarSystem>(defaultCalendar);\n const calendarSystem = isCalendarControlled ? controlledCalendar : internalCalendar;\n\n const setCalendar = useCallback(\n (next: CalendarSystem) => {\n if (!isCalendarControlled) setInternalCalendar(next);\n onCalendarChange?.(next);\n },\n [isCalendarControlled, onCalendarChange],\n );\n\n // ─ Shared chrome (locale, portal, chevrons, labels) ─\n const {\n dgaLocale,\n locale: ariaLocale,\n portalContainer,\n PrevChevron,\n NextChevron,\n resolvedLabels,\n navLabels,\n a11yLabels,\n } = useCalendarChrome(calendarSystem, calendarLabels);\n\n // ─ Bounds ─\n const ariaMinValue = useMemo(() => dateToCalendarDate(minValue) ?? undefined, [minValue]);\n const ariaMaxValue = useMemo(() => dateToCalendarDate(maxValue) ?? undefined, [maxValue]);\n\n // ─ Popover aria-label fallback (Dialog needs an accessible name) ─\n const dialogAriaLabel =\n ariaLabel ??\n (typeof label === 'string'\n ? label\n : ariaLabelledBy\n ? undefined\n : dgaLocale.startsWith('ar')\n ? 'نطاق التاريخ'\n : 'Date range');\n\n // ─ Toggle visibility ─\n const showToggle = showCalendarToggle && !isCalendarControlled;\n\n // ─ Derived field-message visibility (mirrors useFieldA11y rules) ─\n const hasError = !!error;\n const hasErrorMessage = hasError && errorMessage != null && errorMessage !== '';\n const hasHelper = !hasErrorMessage && helperText != null && helperText !== '';\n\n return (\n <I18nProvider locale={ariaLocale}>\n <AriaDateRangePicker\n value={value}\n onChange={handleAriaChange}\n minValue={ariaMinValue}\n maxValue={ariaMaxValue}\n isRequired={required}\n isDisabled={disabled}\n isInvalid={hasError}\n shouldCloseOnSelect\n id={id}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n className=\"ddga-field\"\n data-slot=\"date-range-picker-field\"\n >\n {label && (\n <AriaLabel className=\"ddga-date-range-picker__label\">\n {label}\n {required && (\n <span aria-hidden=\"true\" className=\"ddga-date-range-picker__required\">\n *\n </span>\n )}\n </AriaLabel>\n )}\n <AriaGroup\n data-slot=\"date-range-picker-trigger\"\n className={cn(dateRangePickerTriggerVariants({ size, error: hasError }), className)}\n >\n <AriaDateInput\n slot=\"start\"\n className=\"ddga-date-range-picker__input\"\n data-slot=\"date-range-picker-input-start\"\n >\n {(segment) => (\n <AriaDateSegment\n segment={segment}\n className=\"ddga-date-range-picker__segment\"\n data-slot=\"date-range-picker-segment\"\n />\n )}\n </AriaDateInput>\n <span aria-hidden=\"true\" className=\"ddga-date-range-picker__separator\">\n –\n </span>\n <AriaDateInput\n slot=\"end\"\n className=\"ddga-date-range-picker__input\"\n data-slot=\"date-range-picker-input-end\"\n >\n {(segment) => (\n <AriaDateSegment\n segment={segment}\n className=\"ddga-date-range-picker__segment\"\n data-slot=\"date-range-picker-segment\"\n />\n )}\n </AriaDateInput>\n <AriaButton\n className=\"ddga-date-range-picker__icon-button\"\n aria-label={a11yLabels.openCalendar}\n data-slot=\"date-range-picker-trigger-button\"\n >\n <CalendarIcon aria-hidden=\"true\" className=\"ddga-date-range-picker__icon\" />\n </AriaButton>\n </AriaGroup>\n {hasHelper && (\n <AriaText\n slot=\"description\"\n className=\"ddga-field__message ddga-field__message--helper\"\n data-slot=\"field-helper\"\n >\n {helperText}\n </AriaText>\n )}\n {hasErrorMessage && (\n <AriaFieldError\n className=\"ddga-field__message ddga-field__message--error\"\n data-slot=\"field-error\"\n >\n {errorMessage}\n </AriaFieldError>\n )}\n <AriaPopover\n UNSTABLE_portalContainer={portalContainer}\n className=\"ddga-calendar-popover\"\n data-slot=\"date-range-picker-popover\"\n offset={6}\n // Breathing room from the viewport edge; with the Dialog's\n // `overflow:auto` + `max-block-size:100%`, the calendar scrolls if it\n // can't fit. Mirrors DatePicker — keep both pickers in lockstep.\n containerPadding={12}\n >\n <AriaDialog\n className=\"ddga-calendar-dialog\"\n data-slot=\"date-range-picker-dialog\"\n aria-label={dialogAriaLabel}\n aria-labelledby={ariaLabelledBy}\n >\n {showToggle && (\n <CalendarSystemToggle\n value={calendarSystem}\n onChange={setCalendar}\n labels={resolvedLabels}\n groupLabel={a11yLabels.calendarSystem}\n />\n )}\n <AriaRangeCalendar\n className=\"ddga-calendar ddga-calendar--range\"\n data-slot=\"date-range-picker-calendar\"\n >\n <header className=\"ddga-calendar__header\">\n <AriaButton\n slot=\"previous\"\n className=\"ddga-calendar__nav\"\n data-slot=\"date-range-picker-calendar-prev\"\n >\n <PrevChevron aria-hidden=\"true\" />\n </AriaButton>\n <CalendarNavHeader\n locale={ariaLocale}\n monthLabel={navLabels.month}\n yearLabel={navLabels.year}\n />\n <AriaButton\n slot=\"next\"\n className=\"ddga-calendar__nav\"\n data-slot=\"date-range-picker-calendar-next\"\n >\n <NextChevron aria-hidden=\"true\" />\n </AriaButton>\n </header>\n <AriaCalendarGrid className=\"ddga-calendar__grid\">\n <AriaCalendarGridHeader>\n {(day) => (\n <AriaCalendarHeaderCell className=\"ddga-calendar__weekday\">\n {day}\n </AriaCalendarHeaderCell>\n )}\n </AriaCalendarGridHeader>\n <AriaCalendarGridBody>\n {(date) => (\n <AriaCalendarCell date={date} className=\"ddga-calendar__cell\">\n {({ formattedDate }) =>\n renderDayContent(formattedDate, {\n showSecondary: showSecondaryCalendar,\n date,\n calendarSystem,\n })\n }\n </AriaCalendarCell>\n )}\n </AriaCalendarGridBody>\n </AriaCalendarGrid>\n </AriaRangeCalendar>\n </AriaDialog>\n </AriaPopover>\n </AriaDateRangePicker>\n </I18nProvider>\n );\n}\n\n// ─── 4. Exports ─── //\n\nexport { DateRangePicker, dateRangePickerTriggerVariants, dateRangePickerVariants };\nexport type { DateRangePickerProps, DateRange };\n// Re-exported for symmetry with DatePicker so the component file is\n// self-contained. The public barrel exposes these once via DatePicker (the\n// canonical owner) to avoid a duplicate export.\nexport type { CalendarSystem, CalendarLabels } from '../../internal/calendar';\n"],"mappings":"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","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-MGZO7MBN.cjs","../src/components/Breadcrumb/Breadcrumb.tsx"],"names":[],"mappings":"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","file":"/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-MGZO7MBN.cjs","sourcesContent":[null,"'use client';\n\nimport { Slot as SlotPrimitive } from 'radix-ui';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\nimport { ChevronRight, MoreHorizontal } from '../../internal/icons';\n\n// ─── 1. Variants (cva) ─── //\n//\n// Size lives on the root; per-part visuals cascade through descendant\n// selectors (`.ddga-breadcrumb--sm .ddga-breadcrumb__link`). Same pattern\n// as Tabs/RadioGroup — one source of truth on the nav element.\n\nconst breadcrumbVariants = cva('ddga-breadcrumb', {\n variants: {\n size: {\n sm: 'ddga-breadcrumb--sm',\n md: 'ddga-breadcrumb--md',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\n// ─── 2. Types ─── //\n\ninterface BreadcrumbProps\n extends React.ComponentProps<'nav'>, VariantProps<typeof breadcrumbVariants> {}\n\ntype BreadcrumbListProps = React.ComponentProps<'ol'>;\ntype BreadcrumbItemProps = React.ComponentProps<'li'>;\n\ninterface BreadcrumbLinkProps extends React.ComponentProps<'a'> {\n /** Render as the consumer element (e.g., a router Link) via Radix Slot. */\n asChild?: boolean;\n}\n\ninterface BreadcrumbPageProps extends React.ComponentProps<'span'> {\n /** Render as the consumer element (e.g., a heading) via Radix Slot. */\n asChild?: boolean;\n}\n\ninterface BreadcrumbSeparatorProps extends React.ComponentProps<'li'> {\n /**\n * Override the default ChevronRight icon with custom content (e.g., `/`, `·`,\n * or your own SVG). The wrapper itself stays `aria-hidden` since separators\n * are decorative — the visited-state structure is conveyed via the `<ol>`\n * + `aria-current` semantics, not the separator glyph.\n */\n children?: React.ReactNode;\n}\n\ntype BreadcrumbEllipsisProps = React.ComponentProps<'span'>;\n\n// ─── 3. Components ─── //\n\nfunction Breadcrumb({ size, className, ...props }: BreadcrumbProps) {\n // Default the accessible name to \"Breadcrumb\" so consumers don't have to\n // wire it themselves; spread `aria-label` after so they can override it\n // (e.g., for non-English UIs the consumer passes their own translation).\n return (\n <nav\n aria-label=\"Breadcrumb\"\n data-slot=\"breadcrumb\"\n className={cn(breadcrumbVariants({ size }), className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbList({ className, ...props }: BreadcrumbListProps) {\n return (\n <ol data-slot=\"breadcrumb-list\" className={cn('ddga-breadcrumb__list', className)} {...props} />\n );\n}\n\nfunction BreadcrumbItem({ className, ...props }: BreadcrumbItemProps) {\n return (\n <li data-slot=\"breadcrumb-item\" className={cn('ddga-breadcrumb__item', className)} {...props} />\n );\n}\n\nfunction BreadcrumbLink({ asChild, className, ...props }: BreadcrumbLinkProps) {\n const Comp = asChild ? SlotPrimitive.Slot : 'a';\n return (\n <Comp\n data-slot=\"breadcrumb-link\"\n className={cn('ddga-breadcrumb__link', className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbPage({ asChild, className, ...props }: BreadcrumbPageProps) {\n // `aria-current=\"page\"` marks the current location for assistive tech.\n // The element is not focusable (consumers shouldn't link to the current\n // page); spread props last so consumers can swap if a different\n // aria-current value is needed (e.g., `step` in a wizard).\n const Comp = asChild ? SlotPrimitive.Slot : 'span';\n return (\n <Comp\n aria-current=\"page\"\n data-slot=\"breadcrumb-page\"\n className={cn('ddga-breadcrumb__page', className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbSeparator({ children, className, ...props }: BreadcrumbSeparatorProps) {\n // Decorative — the `<ol>` + `aria-current` semantics already convey order\n // and current page. `aria-hidden` keeps screen readers from announcing\n // the glyph between every item.\n return (\n <li\n role=\"presentation\"\n aria-hidden=\"true\"\n data-slot=\"breadcrumb-separator\"\n className={cn('ddga-breadcrumb__separator', className)}\n {...props}\n >\n {children ?? <ChevronRight />}\n </li>\n );\n}\n\nfunction BreadcrumbEllipsis({ className, ...props }: BreadcrumbEllipsisProps) {\n // Visual truncation marker. Decorative by itself — if the consumer wants\n // an interactive \"show collapsed items\" affordance, they should compose\n // a real button (e.g., a DropdownMenu trigger) inside a BreadcrumbItem\n // instead of this component.\n return (\n <span\n role=\"presentation\"\n aria-hidden=\"true\"\n data-slot=\"breadcrumb-ellipsis\"\n className={cn('ddga-breadcrumb__ellipsis', className)}\n {...props}\n >\n <MoreHorizontal />\n </span>\n );\n}\n\n// ─── 4. Exports ─── //\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis,\n breadcrumbVariants,\n};\nexport type {\n BreadcrumbProps,\n BreadcrumbListProps,\n BreadcrumbItemProps,\n BreadcrumbLinkProps,\n BreadcrumbPageProps,\n BreadcrumbSeparatorProps,\n BreadcrumbEllipsisProps,\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/Rating/Rating.tsx"],"sourcesContent":["'use client';\n\nimport { useRef, useState, type ReactNode } from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\nimport { useFieldA11y, FieldMessage } from '../../field';\nimport { Star } from '../../internal/icons';\n\n// ─── 1. Variants (cva) ─── //\n\nconst ratingVariants = cva('ddga-rating', {\n variants: {\n size: {\n sm: 'ddga-rating--sm',\n md: 'ddga-rating--md',\n lg: 'ddga-rating--lg',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\n// ─── 2. Types ─── //\n\ninterface RatingProps extends VariantProps<typeof ratingVariants> {\n /** Controlled value (0…max). `.5` increments are allowed when `allowHalf`. */\n value?: number;\n /** Uncontrolled initial value. Defaults to 0. */\n defaultValue?: number;\n /** Fires with the chosen rating. */\n onValueChange?: (value: number) => void;\n\n /** Number of stars. Defaults to 5. */\n max?: number;\n /** Allow half-star (`.5`) precision. */\n allowHalf?: boolean;\n /** Display only — no interaction, exposed as `role=\"img\"`. */\n readOnly?: boolean;\n /** Non-interactive and dimmed. */\n disabled?: boolean;\n\n /** Visible field label. */\n label?: ReactNode;\n /** Hint shown below the field. Hidden while an error message is showing. */\n helperText?: ReactNode;\n /** Message shown below the field when `error` is true. */\n errorMessage?: ReactNode;\n /** Marks the field invalid: sets `aria-invalid` and error styling. */\n error?: boolean;\n\n /** Builds the accessible value text / read-only label. Defaults to\n * `\"{value} out of {max} stars\"`. Override for localization. */\n formatValueText?: (value: number, max: number) => string;\n\n id?: string;\n className?: string;\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n}\n\n// ─── 3. Helpers ─── //\n\nfunction clamp(value: number, min: number, max: number): number {\n return Math.min(max, Math.max(min, value));\n}\n\nfunction defaultValueText(value: number, max: number): string {\n return `${value} out of ${max} stars`;\n}\n\n/** Fill level for the star at 0-based `index` given the current value. */\nfunction fillFor(index: number, value: number, allowHalf: boolean): 'full' | 'half' | 'empty' {\n if (value >= index + 1) return 'full';\n if (allowHalf && value >= index + 0.5) return 'half';\n return 'empty';\n}\n\n// ─── 4. Component ─── //\n\nfunction Rating({\n id: externalId,\n value,\n defaultValue,\n onValueChange,\n max = 5,\n allowHalf = false,\n readOnly = false,\n disabled = false,\n size,\n label,\n helperText,\n errorMessage,\n error,\n formatValueText = defaultValueText,\n className,\n ...props\n}: RatingProps) {\n const rootRef = useRef<HTMLDivElement>(null);\n const isControlled = value !== undefined;\n const [internal, setInternal] = useState<number>(defaultValue ?? 0);\n const currentValue = isControlled ? value : internal;\n\n const [hover, setHover] = useState<number | null>(null);\n const interactive = !readOnly && !disabled;\n const stepSize = allowHalf ? 0.5 : 1;\n\n const { fieldId, errorId, helperId, hasError, hasErrorMessage, hasHelper, controlProps } =\n useFieldA11y({\n name: 'Rating',\n id: externalId,\n label,\n error,\n errorMessage,\n helperText,\n // role=slider / role=img always have an accessible name (label or the\n // value text), so suppress the no-label dev warning.\n 'aria-label': props['aria-label'] ?? formatValueText(currentValue, max),\n 'aria-labelledby': props['aria-labelledby'],\n });\n\n // The value driving the visual fill: hover preview wins while interacting.\n const displayValue = hover ?? currentValue;\n\n function commit(next: number) {\n if (!isControlled) setInternal(next);\n onValueChange?.(next);\n }\n\n function readDir(): 'ltr' | 'rtl' {\n const el = rootRef.current;\n if (!el || typeof getComputedStyle !== 'function') return 'ltr';\n return getComputedStyle(el).direction === 'rtl' ? 'rtl' : 'ltr';\n }\n\n /** Value implied by the pointer position over star `index`. */\n function pointerValue(event: React.PointerEvent | React.MouseEvent, index: number): number {\n const rect = (event.currentTarget as HTMLElement).getBoundingClientRect();\n let fraction = rect.width ? (event.clientX - rect.left) / rect.width : 1;\n if (readDir() === 'rtl') fraction = 1 - fraction;\n if (allowHalf) return index + (fraction <= 0.5 ? 0.5 : 1);\n return index + 1;\n }\n\n function handleKeyDown(event: React.KeyboardEvent<HTMLDivElement>) {\n if (!interactive) return;\n const rtl = readDir() === 'rtl';\n let next: number | null = null;\n switch (event.key) {\n case 'ArrowUp':\n next = currentValue + stepSize;\n break;\n case 'ArrowDown':\n next = currentValue - stepSize;\n break;\n case 'ArrowRight':\n next = currentValue + (rtl ? -stepSize : stepSize);\n break;\n case 'ArrowLeft':\n next = currentValue + (rtl ? stepSize : -stepSize);\n break;\n case 'Home':\n next = 0;\n break;\n case 'End':\n next = max;\n break;\n default:\n return;\n }\n event.preventDefault();\n commit(clamp(next, 0, max));\n }\n\n const stars = Array.from({ length: max }, (_, index) => {\n const level = fillFor(index, displayValue, allowHalf);\n return (\n <span\n key={index}\n data-slot=\"rating-star\"\n data-fill={level}\n className=\"ddga-rating__star\"\n onPointerMove={interactive ? (event) => setHover(pointerValue(event, index)) : undefined}\n onClick={interactive ? (event) => commit(pointerValue(event, index)) : undefined}\n >\n <Star className=\"ddga-rating__star-bg\" aria-hidden=\"true\" />\n <span className=\"ddga-rating__star-fill\" aria-hidden=\"true\">\n <Star className=\"ddga-rating__star-fg\" aria-hidden=\"true\" />\n </span>\n </span>\n );\n });\n\n const sharedProps = {\n ref: rootRef,\n 'data-slot': 'rating',\n 'data-disabled': disabled || undefined,\n className: cn(ratingVariants({ size }), hasError && 'ddga-rating--error', className),\n onPointerLeave: interactive ? () => setHover(null) : undefined,\n };\n\n // Accessible name for the slider: prefer the visible label, then a consumer\n // aria-labelledby/aria-label, falling back to a generic name.\n const labelledBy = label ? `${fieldId}-label` : props['aria-labelledby'];\n const ariaLabel = labelledBy ? undefined : (props['aria-label'] ?? 'Rating');\n\n return (\n <div data-slot=\"rating-field\" className=\"ddga-field\">\n {label && (\n <span id={`${fieldId}-label`} className=\"ddga-rating__label\">\n {label}\n </span>\n )}\n\n {readOnly ? (\n <div {...sharedProps} role=\"img\" aria-label={formatValueText(currentValue, max)}>\n {stars}\n </div>\n ) : (\n <div\n {...sharedProps}\n role=\"slider\"\n id={fieldId}\n tabIndex={disabled ? -1 : 0}\n aria-valuemin={0}\n aria-valuemax={max}\n aria-valuenow={currentValue}\n aria-valuetext={formatValueText(currentValue, max)}\n aria-labelledby={labelledBy}\n aria-label={ariaLabel}\n aria-invalid={controlProps['aria-invalid']}\n aria-describedby={controlProps['aria-describedby']}\n aria-disabled={disabled || undefined}\n onKeyDown={handleKeyDown}\n >\n {stars}\n </div>\n )}\n\n {hasErrorMessage && (\n <FieldMessage id={errorId} variant=\"error\">\n {errorMessage}\n </FieldMessage>\n )}\n {hasHelper && (\n <FieldMessage id={helperId} variant=\"helper\">\n {helperText}\n </FieldMessage>\n )}\n </div>\n );\n}\n\n// ─── 5. Exports ─── //\n\nexport { Rating, ratingVariants };\nexport type { RatingProps };\n"],"mappings":"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","names":[]}
|
package/dist/chunk-N4FHLSNV.cjs
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/field/FieldMessage.tsx
|
|
2
|
-
var _jsxruntime = require('react/jsx-runtime');
|
|
3
|
-
function FieldMessage({ id, variant, children }) {
|
|
4
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5
|
-
"p",
|
|
6
|
-
{
|
|
7
|
-
id,
|
|
8
|
-
"data-slot": `field-${variant}`,
|
|
9
|
-
className: `ddga-field__message ddga-field__message--${variant}`,
|
|
10
|
-
"aria-live": variant === "error" ? "polite" : void 0,
|
|
11
|
-
children
|
|
12
|
-
}
|
|
13
|
-
);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
exports.FieldMessage = FieldMessage;
|
|
19
|
-
//# sourceMappingURL=chunk-N4FHLSNV.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-N4FHLSNV.cjs","../src/field/FieldMessage.tsx"],"names":[],"mappings":"AAAA;ACgBI,+CAAA;AAFG,SAAS,YAAA,CAAa,EAAE,EAAA,EAAI,OAAA,EAAS,SAAS,CAAA,EAAsB;AACzE,EAAA,uBACE,6BAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,EAAA;AAAA,MACA,WAAA,EAAW,CAAA,MAAA,EAAS,OAAO,CAAA,CAAA;AAChB,MAAA;AAGY,MAAA;AAEtB,MAAA;AAAA,IAAA;AACH,EAAA;AAEJ;ADboC;AACA;AACA;AACA","file":"/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-N4FHLSNV.cjs","sourcesContent":[null,"import type { ReactNode } from 'react';\n\n// Public field-primitive component. The helper / error line below a form\n// control. Identical markup and styling across Input / Textarea / Checkbox,\n// and available to consumers composing custom fields on top of useFieldA11y.\n// No 'use client': pure markup, no hooks or client APIs.\n\nexport interface FieldMessageProps {\n id: string;\n /** `error` announces politely; `helper` is static. */\n variant: 'error' | 'helper';\n children: ReactNode;\n}\n\nexport function FieldMessage({ id, variant, children }: FieldMessageProps) {\n return (\n <p\n id={id}\n data-slot={`field-${variant}`}\n className={`ddga-field__message ddga-field__message--${variant}`}\n // Polite (not assertive): an assertive error interrupts the user\n // mid-interaction, the wrong UX for field-level validation.\n aria-live={variant === 'error' ? 'polite' : undefined}\n >\n {children}\n </p>\n );\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/Divider/Divider.tsx"],"sourcesContent":["'use client';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\n\n// ─── 1. Variants (cva) ─── //\n\nconst dividerVariants = cva('ddga-divider', {\n variants: {\n orientation: {\n horizontal: 'ddga-divider--horizontal',\n vertical: 'ddga-divider--vertical',\n },\n variant: {\n solid: 'ddga-divider--solid',\n dashed: 'ddga-divider--dashed',\n },\n },\n defaultVariants: {\n orientation: 'horizontal',\n variant: 'solid',\n },\n});\n\n// ─── 2. Types ─── //\n\ninterface DividerProps\n extends Omit<React.ComponentProps<'div'>, 'role'>, VariantProps<typeof dividerVariants> {\n /**\n * Optional label rendered inside a horizontal divider. Ignored when\n * `orientation=\"vertical\"`. When set, the divider renders as a three-part\n * flex (line — label — line) instead of a single bar.\n */\n children?: React.ReactNode;\n /**\n * Where to place the label along the divider. Defaults to `center`. Ignored\n * when no label is provided. `start` and `end` are logical (LTR/RTL aware).\n */\n labelPosition?: 'start' | 'center' | 'end';\n /**\n * If `true`, the divider is treated as purely decorative and removed from\n * the accessibility tree (`role=\"none\"`). Defaults to `false`.\n */\n decorative?: boolean;\n}\n\n// ─── 3. Component ─── //\n//\n// Note: no `asChild`. A separator is either a plain bar (no children, nothing\n// to slot into) or a labeled bar (the label is its own slotted child, not the\n// root). The `asChild` escape hatch doesn't carry meaning for either shape.\n\nfunction Divider({\n orientation = 'horizontal',\n variant = 'solid',\n labelPosition = 'center',\n decorative = false,\n className,\n children,\n ...props\n}: DividerProps) {\n const isLabeled =\n orientation === 'horizontal' && children !== undefined && children !== null && children !== '';\n\n // WAI-ARIA: `separator` default orientation is horizontal, so only emit\n // `aria-orientation` when vertical. Decorative dividers drop role + aria entirely.\n const a11yProps = decorative\n ? { role: 'none' as const }\n : {\n role: 'separator' as const,\n ...(orientation === 'vertical' ? { 'aria-orientation': 'vertical' as const } : {}),\n };\n\n return (\n <div\n data-slot=\"divider\"\n data-orientation={orientation}\n className={cn(\n dividerVariants({ orientation, variant }),\n isLabeled && 'ddga-divider--labeled',\n isLabeled && `ddga-divider--label-${labelPosition}`,\n className,\n )}\n {...a11yProps}\n {...props}\n >\n {isLabeled ? <span className=\"ddga-divider__label\">{children}</span> : null}\n </div>\n );\n}\n\n// ─── 4. Exports ─── //\n\nexport { Divider, dividerVariants };\nexport type { DividerProps };\n"],"mappings":";;;;;AAEA,SAAS,WAA8B;AAoFpB;AA/EnB,IAAM,kBAAkB,IAAI,gBAAgB;AAAA,EAC1C,UAAU;AAAA,IACR,aAAa;AAAA,MACX,YAAY;AAAA,MACZ,UAAU;AAAA,IACZ;AAAA,IACA,SAAS;AAAA,MACP,OAAO;AAAA,MACP,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,aAAa;AAAA,IACb,SAAS;AAAA,EACX;AACF,CAAC;AA8BD,SAAS,QAAQ;AAAA,EACf,cAAc;AAAA,EACd,UAAU;AAAA,EACV,gBAAgB;AAAA,EAChB,aAAa;AAAA,EACb;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAiB;AACf,QAAM,YACJ,gBAAgB,gBAAgB,aAAa,UAAa,aAAa,QAAQ,aAAa;AAI9F,QAAM,YAAY,aACd,EAAE,MAAM,OAAgB,IACxB;AAAA,IACE,MAAM;AAAA,IACN,GAAI,gBAAgB,aAAa,EAAE,oBAAoB,WAAoB,IAAI,CAAC;AAAA,EAClF;AAEJ,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,oBAAkB;AAAA,MAClB,WAAW;AAAA,QACT,gBAAgB,EAAE,aAAa,QAAQ,CAAC;AAAA,QACxC,aAAa;AAAA,QACb,aAAa,uBAAuB,aAAa;AAAA,QACjD;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MACH,GAAG;AAAA,MAEH,sBAAY,oBAAC,UAAK,WAAU,uBAAuB,UAAS,IAAU;AAAA;AAAA,EACzE;AAEJ;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/NumberInput/NumberInput.tsx"],"sourcesContent":["'use client';\n\nimport { useState, type ReactNode } from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\nimport { useFieldA11y, FieldMessage } from '../../field';\nimport { Plus, Minus } from '../../internal/icons';\n\n// ─── 1. Variants (cva) ─── //\n\n// Applied to the *control* (the bordered box housing the − button, the field,\n// and the + button), mirroring Input's structure.\nconst numberInputVariants = cva('ddga-number-input', {\n variants: {\n size: {\n sm: 'ddga-number-input--sm',\n md: 'ddga-number-input--md',\n lg: 'ddga-number-input--lg',\n },\n error: {\n true: 'ddga-number-input--error',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\n// ─── 2. Types ─── //\n\ninterface NumberInputProps\n extends\n Omit<\n React.ComponentProps<'input'>,\n 'value' | 'defaultValue' | 'onChange' | 'size' | 'type' | 'min' | 'max' | 'step'\n >,\n VariantProps<typeof numberInputVariants> {\n /** Controlled value. `null` represents an empty field. */\n value?: number | null;\n /** Uncontrolled initial value. */\n defaultValue?: number | null;\n /** Fires with the parsed value, or `null` when the field is cleared. */\n onValueChange?: (value: number | null) => void;\n\n /** Lower bound. Clamped on blur and at the stepper buttons. */\n min?: number;\n /** Upper bound. Clamped on blur and at the stepper buttons. */\n max?: number;\n /** Stepper / ArrowUp-Down increment. Defaults to 1. */\n step?: number;\n\n /** Hide the − / + buttons (keyboard + typing only). */\n hideControls?: boolean;\n /** Accessible label for the decrement button. Defaults to `'Decrease'`. */\n decrementLabel?: string;\n /** Accessible label for the increment button. Defaults to `'Increase'`. */\n incrementLabel?: string;\n\n /** Visible field label, auto-associated to the input via `htmlFor`/`id`. */\n label?: ReactNode;\n /** Hint shown below the field. Hidden while an error message is showing. */\n helperText?: ReactNode;\n /** Message shown below the field when `error` is true. */\n errorMessage?: ReactNode;\n /** Marks the field invalid: sets `aria-invalid` and error styling. */\n error?: boolean;\n}\n\n// ─── 3. Helpers ─── //\n\nfunction clamp(value: number, min: number | undefined, max: number | undefined): number {\n let next = value;\n if (min != null) next = Math.max(min, next);\n if (max != null) next = Math.min(max, next);\n return next;\n}\n\n// `String(n)` switches to exponential notation for very small/large magnitudes\n// (e.g. `String(2e-7)` → \"2e-7\"), which looks broken in a form field and\n// contradicts our input filter (which rejects \"e\"). Format to a plain decimal\n// instead. Note: values still round to float64 precision (~15–17 sig digits)\n// — arbitrary-precision input is out of scope.\nfunction formatNumber(value: number): string {\n if (!Number.isFinite(value)) return '';\n return value.toLocaleString('en-US', { useGrouping: false, maximumFractionDigits: 20 });\n}\n\n// ─── 4. Component ─── //\n\nfunction NumberInput({\n id: externalId,\n value,\n defaultValue,\n onValueChange,\n min,\n max,\n step = 1,\n size,\n hideControls = false,\n decrementLabel = 'Decrease',\n incrementLabel = 'Increase',\n label,\n helperText,\n errorMessage,\n error,\n required,\n disabled,\n className,\n onBlur,\n onKeyDown,\n ...props\n}: NumberInputProps) {\n const isControlled = value !== undefined;\n const [internal, setInternal] = useState<number | null>(defaultValue ?? null);\n const numericValue = isControlled ? value : internal;\n\n // While focused we keep the raw text so partial input (\"-\", \"1.\") survives a\n // re-render; `null` means \"show the canonical numeric value\".\n const [draft, setDraft] = useState<string | null>(null);\n\n const allowDecimal = !Number.isInteger(step);\n const allowNegative = min == null || min < 0;\n const displayValue = draft ?? (numericValue == null ? '' : formatNumber(numericValue));\n\n // Accepts only valid (possibly partial) numeric input: an optional leading\n // minus (when negatives are in range), digits, and one decimal point (when\n // the step is fractional). Allows transient partials like \"\", \"-\", \"1.\".\n const allowedPattern = new RegExp(\n `^${allowNegative ? '-?' : ''}\\\\d*${allowDecimal ? '(\\\\.\\\\d*)?' : ''}$`,\n );\n\n function commit(next: number | null) {\n if (!isControlled) setInternal(next);\n onValueChange?.(next);\n }\n\n const { fieldId, errorId, helperId, hasError, hasErrorMessage, hasHelper, controlProps } =\n useFieldA11y({\n name: 'NumberInput',\n id: externalId,\n label,\n error,\n errorMessage,\n helperText,\n 'aria-label': props['aria-label'],\n 'aria-labelledby': props['aria-labelledby'],\n });\n\n function handleChange(event: React.ChangeEvent<HTMLInputElement>) {\n const raw = event.target.value;\n // Reject anything that isn't valid numeric input (letters, extra dots,\n // misplaced signs, pasted junk). Returning without a state update reverts\n // the controlled input to its prior value — the keystroke never lands.\n if (!allowedPattern.test(raw)) return;\n setDraft(raw);\n if (raw.trim() === '') {\n commit(null);\n return;\n }\n const parsed = Number(raw);\n // Emit only on a complete, finite number — partials (\"-\", \"1.\") keep the\n // draft but don't push a misleading value to the consumer.\n if (Number.isFinite(parsed)) commit(parsed);\n }\n\n function handleBlur(event: React.FocusEvent<HTMLInputElement>) {\n // Normalize: clamp to bounds, then resync the display to the canonical\n // number (drops trailing dots, leading zeros, etc.).\n if (numericValue != null) commit(clamp(numericValue, min, max));\n setDraft(null);\n onBlur?.(event);\n }\n\n function stepBy(direction: 1 | -1) {\n const base = numericValue ?? (direction > 0 ? (min ?? 0) : (max ?? 0));\n const next = clamp(base + direction * step, min, max);\n // Avoid floating-point dust from repeated decimal steps (0.1 + 0.2…).\n const rounded = allowDecimal ? Number(next.toFixed(10)) : next;\n commit(rounded);\n setDraft(null);\n }\n\n function handleKeyDown(event: React.KeyboardEvent<HTMLInputElement>) {\n if (!disabled) {\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n stepBy(1);\n } else if (event.key === 'ArrowDown') {\n event.preventDefault();\n stepBy(-1);\n }\n }\n onKeyDown?.(event);\n }\n\n const atMin = min != null && numericValue != null && numericValue <= min;\n const atMax = max != null && numericValue != null && numericValue >= max;\n\n return (\n <div data-slot=\"number-input-field\" className=\"ddga-field\">\n {label && (\n <label htmlFor={fieldId} className=\"ddga-number-input__label\">\n {label}\n {required && (\n <span aria-hidden=\"true\" className=\"ddga-number-input__required\">\n *\n </span>\n )}\n </label>\n )}\n <div\n data-slot=\"number-input-control\"\n className={cn(numberInputVariants({ size, error: hasError }), className)}\n >\n {!hideControls && (\n <button\n type=\"button\"\n data-slot=\"number-input-decrement\"\n className=\"ddga-number-input__step ddga-number-input__step--decrement\"\n aria-label={decrementLabel}\n onClick={() => stepBy(-1)}\n disabled={disabled || atMin}\n tabIndex={-1}\n >\n <Minus aria-hidden=\"true\" />\n </button>\n )}\n <input\n {...props}\n {...controlProps}\n // type=text (not number): we own the steppers and keep digits Latin\n // + LTR regardless of locale, sidestepping the native spinner and\n // browser numeral-locale quirks.\n type=\"text\"\n inputMode={allowDecimal ? 'decimal' : 'numeric'}\n value={displayValue}\n required={required}\n disabled={disabled}\n onChange={handleChange}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n data-slot=\"number-input\"\n className=\"ddga-number-input__field\"\n />\n {!hideControls && (\n <button\n type=\"button\"\n data-slot=\"number-input-increment\"\n className=\"ddga-number-input__step ddga-number-input__step--increment\"\n aria-label={incrementLabel}\n onClick={() => stepBy(1)}\n disabled={disabled || atMax}\n tabIndex={-1}\n >\n <Plus aria-hidden=\"true\" />\n </button>\n )}\n </div>\n {hasErrorMessage && (\n <FieldMessage id={errorId} variant=\"error\">\n {errorMessage}\n </FieldMessage>\n )}\n {hasHelper && (\n <FieldMessage id={helperId} variant=\"helper\">\n {helperText}\n </FieldMessage>\n )}\n </div>\n );\n}\n\n// ─── 5. Exports ─── //\n\nexport { NumberInput, numberInputVariants };\nexport type { NumberInputProps };\n"],"mappings":"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","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-NQGCAXTW.cjs","../src/components/Spinner/Spinner.tsx"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACA;ACFA,kEAAuC;AA0CjC,+CAAA;AAvCN,IAAM,gBAAA,EAAkB,yCAAA,cAAI,EAAgB;AAAA,EAC1C,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI,kBAAA;AAAA,MACJ,EAAA,EAAI,kBAAA;AAAA,MACJ,EAAA,EAAI;AAAA,IACN;AAAA,EACF;AACF,CAAC,CAAA;AAYD,SAAS,OAAA,CAAQ,EAAE,IAAA,EAAM,SAAA,EAAW,YAAA,EAAc,SAAA,EAAW,GAAG,MAAM,CAAA,EAAiB;AACrF,EAAA,MAAM,OAAA,EAAS,KAAA,CAAM,aAAa,EAAA,IAAM,KAAA,GAAQ,KAAA,CAAM,aAAa,EAAA,IAAM,MAAA;AACzE,EAAA,uBACE,6BAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAM,4BAAA;AAAA,MACN,KAAA,EAAM,KAAA;AAAA,MACN,MAAA,EAAO,KAAA;AAAA,MACP,OAAA,EAAQ,WAAA;AAAA,MACR,IAAA,EAAK,MAAA;AAAA,MACL,MAAA,EAAO,cAAA;AAAA,MACP,WAAA,EAAY,GAAA;AAAA,MACZ,aAAA,EAAc,OAAA;AAAA,MACd,cAAA,EAAe,OAAA;AAAA,MACf,IAAA,EAAM,OAAA,EAAS,KAAA,EAAA,EAAY,QAAA;AAAA,MAC3B,YAAA,EAAY,OAAA,EAAS,KAAA,EAAA,mBAAa,SAAA,UAAa,WAAA;AAAA,MAC/C,WAAA,EAAU,SAAA;AAAA,MACV,SAAA,EAAW,kCAAA,eAAG,CAAgB,EAAE,KAAK,CAAC,CAAA,EAAG,SAAS,CAAA;AAAA,MACjD,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAA,6BAAA,MAAC,EAAA,EAAK,CAAA,EAAE,8BAAA,CAA8B;AAAA,IAAA;AAAA,EACxC,CAAA;AAEJ;ADRA;AACA;AACE;AACA;AACF,qEAAC","file":"/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-NQGCAXTW.cjs","sourcesContent":[null,"'use client';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\n\nconst spinnerVariants = cva('ddga-spinner', {\n variants: {\n size: {\n sm: 'ddga-spinner--sm',\n md: 'ddga-spinner--md',\n lg: 'ddga-spinner--lg',\n },\n },\n});\n\ntype SpinnerProps = Omit<React.SVGProps<SVGSVGElement>, 'children'> &\n VariantProps<typeof spinnerVariants> & {\n /**\n * Accessible label announced by screen readers. Defaults to \"Loading\".\n * Pass `aria-hidden=\"true\"` (e.g. inside a Button that already has its\n * own label) to suppress.\n */\n 'aria-label'?: string;\n };\n\nfunction Spinner({ size, className, 'aria-label': ariaLabel, ...props }: SpinnerProps) {\n const hidden = props['aria-hidden'] === true || props['aria-hidden'] === 'true';\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"1em\"\n height=\"1em\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n role={hidden ? undefined : 'status'}\n aria-label={hidden ? undefined : (ariaLabel ?? 'Loading')}\n data-slot=\"spinner\"\n className={cn(spinnerVariants({ size }), className)}\n {...props}\n >\n <path d=\"M21 12a9 9 0 1 1-6.219-8.56\" />\n </svg>\n );\n}\n\nexport { Spinner, spinnerVariants };\nexport type { SpinnerProps };\n"]}
|
package/dist/chunk-NU3WUSG7.cjs
DELETED
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
|
|
2
|
-
|
|
3
|
-
var _chunkV6MXOJQ4cjs = require('./chunk-V6MXOJQ4.cjs');
|
|
4
|
-
|
|
5
|
-
// src/components/Progress/Progress.tsx
|
|
6
|
-
var _radixui = require('radix-ui');
|
|
7
|
-
var _classvarianceauthority = require('class-variance-authority');
|
|
8
|
-
var _jsxruntime = require('react/jsx-runtime');
|
|
9
|
-
var progressVariants = _classvarianceauthority.cva.call(void 0, "ddga-progress", {
|
|
10
|
-
variants: {
|
|
11
|
-
size: {
|
|
12
|
-
sm: "ddga-progress--sm",
|
|
13
|
-
md: "ddga-progress--md",
|
|
14
|
-
lg: "ddga-progress--lg"
|
|
15
|
-
},
|
|
16
|
-
color: {
|
|
17
|
-
primary: "ddga-progress--primary",
|
|
18
|
-
success: "ddga-progress--success",
|
|
19
|
-
warning: "ddga-progress--warning",
|
|
20
|
-
destructive: "ddga-progress--destructive"
|
|
21
|
-
}
|
|
22
|
-
},
|
|
23
|
-
defaultVariants: {
|
|
24
|
-
size: "md",
|
|
25
|
-
color: "primary"
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
var circularProgressVariants = _classvarianceauthority.cva.call(void 0, "ddga-circular-progress", {
|
|
29
|
-
variants: {
|
|
30
|
-
size: {
|
|
31
|
-
sm: "ddga-circular-progress--sm",
|
|
32
|
-
md: "ddga-circular-progress--md",
|
|
33
|
-
lg: "ddga-circular-progress--lg"
|
|
34
|
-
},
|
|
35
|
-
color: {
|
|
36
|
-
primary: "ddga-circular-progress--primary",
|
|
37
|
-
success: "ddga-circular-progress--success",
|
|
38
|
-
warning: "ddga-circular-progress--warning",
|
|
39
|
-
destructive: "ddga-circular-progress--destructive"
|
|
40
|
-
}
|
|
41
|
-
},
|
|
42
|
-
defaultVariants: {
|
|
43
|
-
size: "md",
|
|
44
|
-
color: "primary"
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
function Progress({ value = null, max = 100, size, color, className, ...props }) {
|
|
48
|
-
const isIndeterminate = value === null;
|
|
49
|
-
const pct = isIndeterminate ? 0 : Math.min(100, Math.max(0, value / max * 100));
|
|
50
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
51
|
-
_radixui.Progress.Root,
|
|
52
|
-
{
|
|
53
|
-
"data-slot": "progress",
|
|
54
|
-
value,
|
|
55
|
-
max,
|
|
56
|
-
className: _chunkV6MXOJQ4cjs.cn.call(void 0, progressVariants({ size, color }), className),
|
|
57
|
-
...props,
|
|
58
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
59
|
-
_radixui.Progress.Indicator,
|
|
60
|
-
{
|
|
61
|
-
"data-slot": "progress-indicator",
|
|
62
|
-
className: "ddga-progress__indicator",
|
|
63
|
-
style: isIndeterminate ? void 0 : { inlineSize: `${pct}%` }
|
|
64
|
-
}
|
|
65
|
-
)
|
|
66
|
-
}
|
|
67
|
-
);
|
|
68
|
-
}
|
|
69
|
-
var CIRCULAR_SIZES = { sm: 32, md: 48, lg: 72 };
|
|
70
|
-
var CIRCULAR_DEFAULT_THICKNESS = { sm: 4, md: 5, lg: 6 };
|
|
71
|
-
var SEGMENT_GAP_FRACTION = 0.16;
|
|
72
|
-
function CircularProgress({
|
|
73
|
-
value = null,
|
|
74
|
-
max = 100,
|
|
75
|
-
size,
|
|
76
|
-
color,
|
|
77
|
-
thickness,
|
|
78
|
-
segments,
|
|
79
|
-
showLabel = false,
|
|
80
|
-
className,
|
|
81
|
-
...props
|
|
82
|
-
}) {
|
|
83
|
-
if (process.env.NODE_ENV === "development" && !props["aria-label"] && !props["aria-labelledby"]) {
|
|
84
|
-
console.warn(
|
|
85
|
-
"[dga/Progress] <CircularProgress> has no accessible name. Pass `aria-label` or `aria-labelledby` so screen-reader users know what the progress represents."
|
|
86
|
-
);
|
|
87
|
-
}
|
|
88
|
-
const isIndeterminate = value === null;
|
|
89
|
-
const isSegmented = typeof segments === "number" && segments >= 2;
|
|
90
|
-
const sizeKey = _nullishCoalesce(size, () => ( "md"));
|
|
91
|
-
const diameter = CIRCULAR_SIZES[sizeKey];
|
|
92
|
-
const strokeWidth = _nullishCoalesce(thickness, () => ( CIRCULAR_DEFAULT_THICKNESS[sizeKey]));
|
|
93
|
-
const radius = (diameter - strokeWidth) / 2;
|
|
94
|
-
const circumference = 2 * Math.PI * radius;
|
|
95
|
-
const center = diameter / 2;
|
|
96
|
-
const pct = isIndeterminate ? 0 : Math.min(100, Math.max(0, value / max * 100));
|
|
97
|
-
const dashOffset = isIndeterminate ? circumference * 0.75 : circumference * (1 - pct / 100);
|
|
98
|
-
const state = isIndeterminate ? "indeterminate" : value >= max ? "complete" : "loading";
|
|
99
|
-
const segmentEls = isSegmented && segments ? (() => {
|
|
100
|
-
const filled = isIndeterminate ? 0 : Math.round(pct / 100 * segments);
|
|
101
|
-
const segAngle = 360 / segments;
|
|
102
|
-
const gapAngle = segAngle * SEGMENT_GAP_FRACTION;
|
|
103
|
-
const segLen = circumference * ((1 - SEGMENT_GAP_FRACTION) / segments);
|
|
104
|
-
return Array.from({ length: segments }, (_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
105
|
-
"circle",
|
|
106
|
-
{
|
|
107
|
-
className: _chunkV6MXOJQ4cjs.cn.call(void 0,
|
|
108
|
-
"ddga-circular-progress__segment",
|
|
109
|
-
i < filled && "ddga-circular-progress__segment--filled"
|
|
110
|
-
),
|
|
111
|
-
cx: center,
|
|
112
|
-
cy: center,
|
|
113
|
-
r: radius,
|
|
114
|
-
fill: "none",
|
|
115
|
-
strokeWidth,
|
|
116
|
-
strokeLinecap: "butt",
|
|
117
|
-
strokeDasharray: `${segLen} ${circumference}`,
|
|
118
|
-
transform: `rotate(${-90 + i * segAngle + gapAngle / 2} ${center} ${center})`
|
|
119
|
-
},
|
|
120
|
-
i
|
|
121
|
-
));
|
|
122
|
-
})() : null;
|
|
123
|
-
const labelText = isSegmented ? `${segments ? Math.round(pct / 100 * segments) : 0}/${segments}` : `${Math.round(pct)}%`;
|
|
124
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
125
|
-
"div",
|
|
126
|
-
{
|
|
127
|
-
"data-slot": "circular-progress",
|
|
128
|
-
"data-state": state,
|
|
129
|
-
"data-segmented": isSegmented ? "" : void 0,
|
|
130
|
-
role: "progressbar",
|
|
131
|
-
"aria-valuemin": 0,
|
|
132
|
-
"aria-valuemax": max,
|
|
133
|
-
"aria-valuenow": isIndeterminate ? void 0 : value,
|
|
134
|
-
className: _chunkV6MXOJQ4cjs.cn.call(void 0, circularProgressVariants({ size, color }), className),
|
|
135
|
-
style: { inlineSize: diameter, blockSize: diameter },
|
|
136
|
-
...props,
|
|
137
|
-
children: [
|
|
138
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
139
|
-
"svg",
|
|
140
|
-
{
|
|
141
|
-
className: "ddga-circular-progress__svg",
|
|
142
|
-
viewBox: `0 0 ${diameter} ${diameter}`,
|
|
143
|
-
width: diameter,
|
|
144
|
-
height: diameter,
|
|
145
|
-
"aria-hidden": "true",
|
|
146
|
-
focusable: "false",
|
|
147
|
-
children: isSegmented ? segmentEls : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
148
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
149
|
-
"circle",
|
|
150
|
-
{
|
|
151
|
-
className: "ddga-circular-progress__track",
|
|
152
|
-
cx: center,
|
|
153
|
-
cy: center,
|
|
154
|
-
r: radius,
|
|
155
|
-
fill: "none",
|
|
156
|
-
strokeWidth
|
|
157
|
-
}
|
|
158
|
-
),
|
|
159
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
160
|
-
"circle",
|
|
161
|
-
{
|
|
162
|
-
className: "ddga-circular-progress__indicator",
|
|
163
|
-
cx: center,
|
|
164
|
-
cy: center,
|
|
165
|
-
r: radius,
|
|
166
|
-
fill: "none",
|
|
167
|
-
strokeWidth,
|
|
168
|
-
strokeLinecap: "round",
|
|
169
|
-
strokeDasharray: circumference,
|
|
170
|
-
strokeDashoffset: dashOffset,
|
|
171
|
-
transform: `rotate(-90 ${center} ${center})`
|
|
172
|
-
}
|
|
173
|
-
)
|
|
174
|
-
] })
|
|
175
|
-
}
|
|
176
|
-
),
|
|
177
|
-
showLabel && !isIndeterminate ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "ddga-circular-progress__label", "aria-hidden": "true", children: labelText }) : null
|
|
178
|
-
]
|
|
179
|
-
}
|
|
180
|
-
);
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
exports.progressVariants = progressVariants; exports.circularProgressVariants = circularProgressVariants; exports.Progress = Progress; exports.CircularProgress = CircularProgress;
|
|
189
|
-
//# sourceMappingURL=chunk-NU3WUSG7.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-NU3WUSG7.cjs","../src/components/Progress/Progress.tsx"],"names":[],"mappings":"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","file":"/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-NU3WUSG7.cjs","sourcesContent":[null,"'use client';\n\nimport { Progress as ProgressPrimitive } from 'radix-ui';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\n\n// ─── 1. Variants ─── //\n\nconst progressVariants = cva('ddga-progress', {\n variants: {\n size: {\n sm: 'ddga-progress--sm',\n md: 'ddga-progress--md',\n lg: 'ddga-progress--lg',\n },\n color: {\n primary: 'ddga-progress--primary',\n success: 'ddga-progress--success',\n warning: 'ddga-progress--warning',\n destructive: 'ddga-progress--destructive',\n },\n },\n defaultVariants: {\n size: 'md',\n color: 'primary',\n },\n});\n\nconst circularProgressVariants = cva('ddga-circular-progress', {\n variants: {\n size: {\n sm: 'ddga-circular-progress--sm',\n md: 'ddga-circular-progress--md',\n lg: 'ddga-circular-progress--lg',\n },\n color: {\n primary: 'ddga-circular-progress--primary',\n success: 'ddga-circular-progress--success',\n warning: 'ddga-circular-progress--warning',\n destructive: 'ddga-circular-progress--destructive',\n },\n },\n defaultVariants: {\n size: 'md',\n color: 'primary',\n },\n});\n\n// ─── 2. Linear Progress (Radix) ─── //\n\ntype ProgressOwnProps = VariantProps<typeof progressVariants> & {\n /**\n * Current progress. `null` (or omitted) renders the indeterminate animation.\n * Otherwise clamp yourself to `[0, max]` — Radix Progress assumes the value\n * is in range.\n */\n value?: number | null;\n /** Maximum value. Defaults to 100. */\n max?: number;\n /**\n * Accessible label for the progressbar. Required for assistive tech —\n * Radix logs a warning if neither `aria-label` nor `aria-labelledby` is set.\n */\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n};\n\ntype ProgressProps = ProgressOwnProps &\n Omit<React.ComponentProps<typeof ProgressPrimitive.Root>, keyof ProgressOwnProps>;\n\nfunction Progress({ value = null, max = 100, size, color, className, ...props }: ProgressProps) {\n const isIndeterminate = value === null;\n const pct = isIndeterminate ? 0 : Math.min(100, Math.max(0, (value / max) * 100));\n\n return (\n <ProgressPrimitive.Root\n data-slot=\"progress\"\n value={value}\n max={max}\n className={cn(progressVariants({ size, color }), className)}\n {...props}\n >\n <ProgressPrimitive.Indicator\n data-slot=\"progress-indicator\"\n className=\"ddga-progress__indicator\"\n // Fill via logical `inline-size`, not a physical `translateX`: the\n // indicator is anchored to the track's inline-start, so it fills from\n // the left in LTR and the right in RTL automatically — no direction\n // read in JS. (A `translateX(-N%)` always slid left, mirroring wrong.)\n style={isIndeterminate ? undefined : { inlineSize: `${pct}%` }}\n />\n </ProgressPrimitive.Root>\n );\n}\n\n// ─── 3. Circular Progress (custom SVG) ─── //\n\ntype CircularProgressOwnProps = VariantProps<typeof circularProgressVariants> & {\n value?: number | null;\n max?: number;\n /** Stroke width in px. Defaults to 4 (sm) / 5 (md) / 6 (lg). */\n thickness?: number;\n /**\n * Render the ring as `segments` discrete arcs (a radial stepper) instead of a\n * continuous arc. Pass an integer `>= 2`; values below that fall back to the\n * continuous ring. The number of filled segments is `round(pct × segments)`,\n * so `value={3} max={5} segments={5}` fills 3. Segmented mode is determinate —\n * a `null` value renders 0 filled (no spinner).\n */\n segments?: number;\n /** Render the label inside the ring (`%`, or `filled/segments` when segmented). */\n showLabel?: boolean;\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n};\n\ntype CircularProgressProps = CircularProgressOwnProps &\n Omit<React.ComponentProps<'div'>, keyof CircularProgressOwnProps>;\n\nconst CIRCULAR_SIZES = { sm: 32, md: 48, lg: 72 } as const;\nconst CIRCULAR_DEFAULT_THICKNESS = { sm: 4, md: 5, lg: 6 } as const;\n// Fraction of each segment's angular slot left as the gap between segments.\nconst SEGMENT_GAP_FRACTION = 0.16;\n\nfunction CircularProgress({\n value = null,\n max = 100,\n size,\n color,\n thickness,\n segments,\n showLabel = false,\n className,\n ...props\n}: CircularProgressProps) {\n if (process.env.NODE_ENV === 'development' && !props['aria-label'] && !props['aria-labelledby']) {\n // Linear Progress inherits Radix's no-label warning; CircularProgress is a\n // hand-built `role=\"progressbar\"`, so it needs its own. The ring `showLabel`\n // is aria-hidden decoration, not an accessible name.\n console.warn(\n '[dga/Progress] <CircularProgress> has no accessible name. Pass `aria-label` or ' +\n '`aria-labelledby` so screen-reader users know what the progress represents.',\n );\n }\n\n const isIndeterminate = value === null;\n const isSegmented = typeof segments === 'number' && segments >= 2;\n const sizeKey = size ?? 'md';\n const diameter = CIRCULAR_SIZES[sizeKey];\n const strokeWidth = thickness ?? CIRCULAR_DEFAULT_THICKNESS[sizeKey];\n const radius = (diameter - strokeWidth) / 2;\n const circumference = 2 * Math.PI * radius;\n const center = diameter / 2;\n\n const pct = isIndeterminate ? 0 : Math.min(100, Math.max(0, (value / max) * 100));\n const dashOffset = isIndeterminate ? circumference * 0.75 : circumference * (1 - pct / 100);\n\n // Mirror Radix Progress's data-state vocabulary so CSS can use a single\n // selector across linear + circular.\n const state = isIndeterminate ? 'indeterminate' : value >= max ? 'complete' : 'loading';\n\n // Segmented (radial-stepper) geometry: split the ring into `segments` arcs\n // with gaps. Each segment is a single dash of `segLen`, rotated into its slot;\n // the gap is centered so segments stay evenly spaced. Determinate-only.\n const segmentEls =\n isSegmented && segments\n ? (() => {\n const filled = isIndeterminate ? 0 : Math.round((pct / 100) * segments);\n const segAngle = 360 / segments;\n const gapAngle = segAngle * SEGMENT_GAP_FRACTION;\n const segLen = circumference * ((1 - SEGMENT_GAP_FRACTION) / segments);\n return Array.from({ length: segments }, (_, i) => (\n <circle\n key={i}\n className={cn(\n 'ddga-circular-progress__segment',\n i < filled && 'ddga-circular-progress__segment--filled',\n )}\n cx={center}\n cy={center}\n r={radius}\n fill=\"none\"\n strokeWidth={strokeWidth}\n // Butt caps, not round: round caps extend strokeWidth/2 past each\n // arc end and would swallow the gap (overlapping at small sizes).\n strokeLinecap=\"butt\"\n strokeDasharray={`${segLen} ${circumference}`}\n transform={`rotate(${-90 + i * segAngle + gapAngle / 2} ${center} ${center})`}\n />\n ));\n })()\n : null;\n\n const labelText = isSegmented\n ? `${segments ? Math.round((pct / 100) * segments) : 0}/${segments}`\n : `${Math.round(pct)}%`;\n\n return (\n <div\n data-slot=\"circular-progress\"\n data-state={state}\n data-segmented={isSegmented ? '' : undefined}\n role=\"progressbar\"\n aria-valuemin={0}\n aria-valuemax={max}\n aria-valuenow={isIndeterminate ? undefined : value}\n className={cn(circularProgressVariants({ size, color }), className)}\n style={{ inlineSize: diameter, blockSize: diameter }}\n {...props}\n >\n <svg\n className=\"ddga-circular-progress__svg\"\n viewBox={`0 0 ${diameter} ${diameter}`}\n width={diameter}\n height={diameter}\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n {isSegmented ? (\n segmentEls\n ) : (\n <>\n <circle\n className=\"ddga-circular-progress__track\"\n cx={center}\n cy={center}\n r={radius}\n fill=\"none\"\n strokeWidth={strokeWidth}\n />\n <circle\n className=\"ddga-circular-progress__indicator\"\n cx={center}\n cy={center}\n r={radius}\n fill=\"none\"\n strokeWidth={strokeWidth}\n strokeLinecap=\"round\"\n strokeDasharray={circumference}\n strokeDashoffset={dashOffset}\n transform={`rotate(-90 ${center} ${center})`}\n />\n </>\n )}\n </svg>\n {showLabel && !isIndeterminate ? (\n <span className=\"ddga-circular-progress__label\" aria-hidden=\"true\">\n {labelText}\n </span>\n ) : null}\n </div>\n );\n}\n\n// ─── 4. Exports ─── //\n\nexport { Progress, CircularProgress, progressVariants, circularProgressVariants };\nexport type { ProgressProps, CircularProgressProps };\n"]}
|