@banzamel/mineralui 1.0.2 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +55 -22
- package/dist/{MArrowDownIcon-BslRpwqk.js → MArrowDownIcon-BcKSgdTY.js} +1 -1
- package/dist/{MArrowDownIcon-BslRpwqk.js.map → MArrowDownIcon-BcKSgdTY.js.map} +1 -1
- package/dist/{MArrowDownIcon-DjLz-A0I.cjs → MArrowDownIcon-C8EAODgv.cjs} +1 -1
- package/dist/{MArrowDownIcon-DjLz-A0I.cjs.map → MArrowDownIcon-C8EAODgv.cjs.map} +1 -1
- package/dist/MArrowUpDownIcon-CW_PWr7Q.cjs +2 -0
- package/dist/MArrowUpDownIcon-CW_PWr7Q.cjs.map +1 -0
- package/dist/MArrowUpDownIcon-DukXemVA.js +19 -0
- package/dist/MArrowUpDownIcon-DukXemVA.js.map +1 -0
- package/dist/{MArrowUpIcon-CjLbBZOW.cjs → MArrowUpIcon-DWV_HYrz.cjs} +1 -1
- package/dist/{MArrowUpIcon-CjLbBZOW.cjs.map → MArrowUpIcon-DWV_HYrz.cjs.map} +1 -1
- package/dist/{MArrowUpIcon-CudFd1sD.js → MArrowUpIcon-Dan-4hs8.js} +1 -1
- package/dist/{MArrowUpIcon-CudFd1sD.js.map → MArrowUpIcon-Dan-4hs8.js.map} +1 -1
- package/dist/{MAvatar-B_YPaZt9.js → MAvatar-Blh5pfSO.js} +4 -4
- package/dist/{MAvatar-B_YPaZt9.js.map → MAvatar-Blh5pfSO.js.map} +1 -1
- package/dist/{MAvatar-lzW37S2c.cjs → MAvatar-DMM1CsdO.cjs} +2 -2
- package/dist/{MAvatar-lzW37S2c.cjs.map → MAvatar-DMM1CsdO.cjs.map} +1 -1
- package/dist/{MBadge-lezDpe-x.cjs → MBadge-Babyr1R9.cjs} +2 -2
- package/dist/{MBadge-lezDpe-x.cjs.map → MBadge-Babyr1R9.cjs.map} +1 -1
- package/dist/{MBadge-jh7HI3jR.js → MBadge-BjZX0MIC.js} +2 -2
- package/dist/{MBadge-jh7HI3jR.js.map → MBadge-BjZX0MIC.js.map} +1 -1
- package/dist/MBrandMoreIcons-ClUq3DXO.js +873 -0
- package/dist/MBrandMoreIcons-ClUq3DXO.js.map +1 -0
- package/dist/MBrandMoreIcons-Xxf9FaIx.cjs +2 -0
- package/dist/MBrandMoreIcons-Xxf9FaIx.cjs.map +1 -0
- package/dist/{MButton-BIWj6T2J.js → MButton-33EzpGvQ.js} +3 -3
- package/dist/{MButton-BIWj6T2J.js.map → MButton-33EzpGvQ.js.map} +1 -1
- package/dist/{MButton-DOtMjOTz.cjs → MButton-C_WTyNvw.cjs} +2 -2
- package/dist/{MButton-DOtMjOTz.cjs.map → MButton-C_WTyNvw.cjs.map} +1 -1
- package/dist/{MCalendarIcon-CgFKAojj.cjs → MCalendarIcon-4PilFCrR.cjs} +1 -1
- package/dist/{MCalendarIcon-CgFKAojj.cjs.map → MCalendarIcon-4PilFCrR.cjs.map} +1 -1
- package/dist/{MCalendarIcon-Csj_JV9i.js → MCalendarIcon-DXx62vjV.js} +1 -1
- package/dist/{MCalendarIcon-Csj_JV9i.js.map → MCalendarIcon-DXx62vjV.js.map} +1 -1
- package/dist/MChatIcon-CnDOfqkO.js +102 -0
- package/dist/MChatIcon-CnDOfqkO.js.map +1 -0
- package/dist/MChatIcon-DX-u8_6S.cjs +2 -0
- package/dist/MChatIcon-DX-u8_6S.cjs.map +1 -0
- package/dist/MCheckIcon-DQumT4HX.js +15 -0
- package/dist/MCheckIcon-DQumT4HX.js.map +1 -0
- package/dist/MCheckIcon-ck_21ybZ.cjs +2 -0
- package/dist/MCheckIcon-ck_21ybZ.cjs.map +1 -0
- package/dist/{MCheckbox-Vbr4IhEn.cjs → MCheckbox-BhtJDdip.cjs} +2 -2
- package/dist/{MCheckbox-Vbr4IhEn.cjs.map → MCheckbox-BhtJDdip.cjs.map} +1 -1
- package/dist/{MCheckbox-DhDggBnO.js → MCheckbox-CugP7F6H.js} +3 -3
- package/dist/{MCheckbox-DhDggBnO.js.map → MCheckbox-CugP7F6H.js.map} +1 -1
- package/dist/{MChevronDownIcon-CPXk51nE.js → MChevronDownIcon-D3yTpzni.js} +1 -1
- package/dist/{MChevronDownIcon-CPXk51nE.js.map → MChevronDownIcon-D3yTpzni.js.map} +1 -1
- package/dist/{MChevronDownIcon-CE25HFYo.cjs → MChevronDownIcon-DCMmxkRt.cjs} +1 -1
- package/dist/{MChevronDownIcon-CE25HFYo.cjs.map → MChevronDownIcon-DCMmxkRt.cjs.map} +1 -1
- package/dist/{MChevronRightIcon-QbfE-b7g.cjs → MChevronRightIcon-BC08M6g8.cjs} +1 -1
- package/dist/{MChevronRightIcon-QbfE-b7g.cjs.map → MChevronRightIcon-BC08M6g8.cjs.map} +1 -1
- package/dist/{MChevronRightIcon-BozfuNpv.js → MChevronRightIcon-CXs8IHiV.js} +1 -1
- package/dist/{MChevronRightIcon-BozfuNpv.js.map → MChevronRightIcon-CXs8IHiV.js.map} +1 -1
- package/dist/{MClockIcon-2NNldTuA.cjs → MClockIcon-C-zYY2A0.cjs} +1 -1
- package/dist/{MClockIcon-2NNldTuA.cjs.map → MClockIcon-C-zYY2A0.cjs.map} +1 -1
- package/dist/{MClockIcon-D4K6fmV9.js → MClockIcon-DefFl5ks.js} +1 -1
- package/dist/{MClockIcon-D4K6fmV9.js.map → MClockIcon-DefFl5ks.js.map} +1 -1
- package/dist/{MCloseIcon-BKH33Q51.cjs → MCloseIcon-6cfw9trj.cjs} +1 -1
- package/dist/{MCloseIcon-BKH33Q51.cjs.map → MCloseIcon-6cfw9trj.cjs.map} +1 -1
- package/dist/{MCloseIcon-BQv01JOS.js → MCloseIcon-lDH3Vc10.js} +1 -1
- package/dist/{MCloseIcon-BQv01JOS.js.map → MCloseIcon-lDH3Vc10.js.map} +1 -1
- package/dist/MCookieBootstrap-Ct5mIm5P.cjs +2 -0
- package/dist/MCookieBootstrap-Ct5mIm5P.cjs.map +1 -0
- package/dist/MCookieBootstrap-DEEHYxXi.js +437 -0
- package/dist/MCookieBootstrap-DEEHYxXi.js.map +1 -0
- package/dist/MDataTable--pUkQHAv.js +151 -0
- package/dist/MDataTable--pUkQHAv.js.map +1 -0
- package/dist/MDataTable-8ZhnWhqW.cjs +2 -0
- package/dist/MDataTable-8ZhnWhqW.cjs.map +1 -0
- package/dist/MDrawer-00BvU8Dn.js +122 -0
- package/dist/MDrawer-00BvU8Dn.js.map +1 -0
- package/dist/MDrawer-FYS50FtQ.cjs +2 -0
- package/dist/MDrawer-FYS50FtQ.cjs.map +1 -0
- package/dist/MDropdownMenu-BLBdToIz.cjs +2 -0
- package/dist/MDropdownMenu-BLBdToIz.cjs.map +1 -0
- package/dist/MDropdownMenu-BgOiM5yr.js +152 -0
- package/dist/MDropdownMenu-BgOiM5yr.js.map +1 -0
- package/dist/MEllipsisVerticalIcon-C87B9UQK.cjs +2 -0
- package/dist/MEllipsisVerticalIcon-C87B9UQK.cjs.map +1 -0
- package/dist/MEllipsisVerticalIcon-CNn1AQ8W.js +37 -0
- package/dist/MEllipsisVerticalIcon-CNn1AQ8W.js.map +1 -0
- package/dist/{MFileExtIcons-H7zvI8AL.js → MFileExtIcons-BoG3GPxg.js} +1 -1
- package/dist/{MFileExtIcons-H7zvI8AL.js.map → MFileExtIcons-BoG3GPxg.js.map} +1 -1
- package/dist/{MFileExtIcons-DzACx_eM.cjs → MFileExtIcons-DH9oZPpf.cjs} +1 -1
- package/dist/{MFileExtIcons-DzACx_eM.cjs.map → MFileExtIcons-DH9oZPpf.cjs.map} +1 -1
- package/dist/MImage-CKrjXRmf.js +49 -0
- package/dist/MImage-CKrjXRmf.js.map +1 -0
- package/dist/MImage-f854avZS.cjs +2 -0
- package/dist/MImage-f854avZS.cjs.map +1 -0
- package/dist/{MInput-DYEAqxod.js → MInput-BUCcLWSI.js} +6 -6
- package/dist/{MInput-DYEAqxod.js.map → MInput-BUCcLWSI.js.map} +1 -1
- package/dist/{MInput-CjsJRLaz.cjs → MInput-CQ3MqKsk.cjs} +2 -2
- package/dist/{MInput-CjsJRLaz.cjs.map → MInput-CQ3MqKsk.cjs.map} +1 -1
- package/dist/{MInputSearch-CrVrpYsR.js → MInputSearch-BeXUh4lz.js} +4 -4
- package/dist/{MInputSearch-CrVrpYsR.js.map → MInputSearch-BeXUh4lz.js.map} +1 -1
- package/dist/{MInputSearch-CQZ-ccri.cjs → MInputSearch-Dt79qbZg.cjs} +2 -2
- package/dist/{MInputSearch-CQZ-ccri.cjs.map → MInputSearch-Dt79qbZg.cjs.map} +1 -1
- package/dist/{MLink-CAaK6SOG.cjs → MLink-CVN-Vll4.cjs} +2 -2
- package/dist/{MLink-CAaK6SOG.cjs.map → MLink-CVN-Vll4.cjs.map} +1 -1
- package/dist/{MLink-BfRaT8NU.js → MLink-DH4vk7O5.js} +2 -2
- package/dist/{MLink-BfRaT8NU.js.map → MLink-DH4vk7O5.js.map} +1 -1
- package/dist/{MMenuIcon-TZ9iJAXz.cjs → MMenuIcon-Brpitjq1.cjs} +1 -1
- package/dist/{MMenuIcon-TZ9iJAXz.cjs.map → MMenuIcon-Brpitjq1.cjs.map} +1 -1
- package/dist/{MMenuIcon-B13EvS3i.js → MMenuIcon-idfVpVQD.js} +1 -1
- package/dist/{MMenuIcon-B13EvS3i.js.map → MMenuIcon-idfVpVQD.js.map} +1 -1
- package/dist/MModal-BQvk1KKc.cjs +2 -0
- package/dist/MModal-BQvk1KKc.cjs.map +1 -0
- package/dist/MModal-D1Knn-bg.js +69 -0
- package/dist/MModal-D1Knn-bg.js.map +1 -0
- package/dist/MPagination-Bu84ZlVh.cjs +2 -0
- package/dist/MPagination-Bu84ZlVh.cjs.map +1 -0
- package/dist/MPagination-CbkRMnL1.js +147 -0
- package/dist/MPagination-CbkRMnL1.js.map +1 -0
- package/dist/MPhoneIcon-efl6BqwU.js +38 -0
- package/dist/MPhoneIcon-efl6BqwU.js.map +1 -0
- package/dist/MPhoneIcon-lgC9DH5a.cjs +2 -0
- package/dist/MPhoneIcon-lgC9DH5a.cjs.map +1 -0
- package/dist/{MPopover-BE73Iock.cjs → MPopover-BXPkE575.cjs} +2 -2
- package/dist/{MPopover-BE73Iock.cjs.map → MPopover-BXPkE575.cjs.map} +1 -1
- package/dist/{MPopover-C7ZJz7Uj.js → MPopover-DKBdLfrw.js} +3 -3
- package/dist/{MPopover-C7ZJz7Uj.js.map → MPopover-DKBdLfrw.js.map} +1 -1
- package/dist/{MPortal-d1mwLhwx.cjs → MPortal-BysJLuEi.cjs} +1 -1
- package/dist/{MPortal-d1mwLhwx.cjs.map → MPortal-BysJLuEi.cjs.map} +1 -1
- package/dist/{MPortal-BzordRff.js → MPortal-CbpNkzfC.js} +1 -1
- package/dist/{MPortal-BzordRff.js.map → MPortal-CbpNkzfC.js.map} +1 -1
- package/dist/MProtectIcon-BPYP06QD.cjs +2 -0
- package/dist/MProtectIcon-BPYP06QD.cjs.map +1 -0
- package/dist/{MBoltIcon-B1P4i_X4.js → MProtectIcon-BTtMmrib.js} +11 -29
- package/dist/MProtectIcon-BTtMmrib.js.map +1 -0
- package/dist/MQrCode-AttGRC6v.js +416 -0
- package/dist/MQrCode-AttGRC6v.js.map +1 -0
- package/dist/MQrCode-CbUPPd4S.cjs +2 -0
- package/dist/MQrCode-CbUPPd4S.cjs.map +1 -0
- package/dist/{MSearchIcon-Bb-f5JdO.cjs → MSearchIcon-BakfEJQd.cjs} +1 -1
- package/dist/{MSearchIcon-Bb-f5JdO.cjs.map → MSearchIcon-BakfEJQd.cjs.map} +1 -1
- package/dist/{MSearchIcon-COQaC0mk.js → MSearchIcon-Dlg4Og8t.js} +1 -1
- package/dist/{MSearchIcon-COQaC0mk.js.map → MSearchIcon-Dlg4Og8t.js.map} +1 -1
- package/dist/MSkeleton-B5jZNFOG.cjs +2 -0
- package/dist/MSkeleton-B5jZNFOG.cjs.map +1 -0
- package/dist/MSkeleton-BL4C5FkH.js +98 -0
- package/dist/MSkeleton-BL4C5FkH.js.map +1 -0
- package/dist/{MSlider-KyOhqE6d.js → MSlider-D5ckYDop.js} +2 -2
- package/dist/{MSlider-KyOhqE6d.js.map → MSlider-D5ckYDop.js.map} +1 -1
- package/dist/{MSlider-VFCviEUW.cjs → MSlider-vD6Sla2p.cjs} +2 -2
- package/dist/{MSlider-VFCviEUW.cjs.map → MSlider-vD6Sla2p.cjs.map} +1 -1
- package/dist/MSparkline-DjcDtnZH.js +207 -0
- package/dist/MSparkline-DjcDtnZH.js.map +1 -0
- package/dist/MSparkline-U-XaDvpV.cjs +2 -0
- package/dist/MSparkline-U-XaDvpV.cjs.map +1 -0
- package/dist/{MStack-SPM68IMq.cjs → MStack-BvFI0AFv.cjs} +2 -2
- package/dist/{MStack-SPM68IMq.cjs.map → MStack-BvFI0AFv.cjs.map} +1 -1
- package/dist/{MStack-CQLO9e-3.js → MStack-DhdMFSUL.js} +4 -4
- package/dist/{MStack-CQLO9e-3.js.map → MStack-DhdMFSUL.js.map} +1 -1
- package/dist/{MStarFillIcon-w67ZD64c.js → MStarFillIcon-CGyQPFi8.js} +1 -1
- package/dist/{MStarFillIcon-w67ZD64c.js.map → MStarFillIcon-CGyQPFi8.js.map} +1 -1
- package/dist/{MStarFillIcon-B2H1b7mD.cjs → MStarFillIcon-DJHfl_Qy.cjs} +1 -1
- package/dist/{MStarFillIcon-B2H1b7mD.cjs.map → MStarFillIcon-DJHfl_Qy.cjs.map} +1 -1
- package/dist/MSubText-CfWNytoK.cjs +2 -0
- package/dist/MSubText-CfWNytoK.cjs.map +1 -0
- package/dist/MSubText-uvcBr9Ba.js +15 -0
- package/dist/MSubText-uvcBr9Ba.js.map +1 -0
- package/dist/MSuccessIcon-CatQ4FmG.cjs +2 -0
- package/dist/MSuccessIcon-CatQ4FmG.cjs.map +1 -0
- package/dist/MSuccessIcon-D3GrOvye.js +33 -0
- package/dist/MSuccessIcon-D3GrOvye.js.map +1 -0
- package/dist/MSurface-DlcK6Bre.js +39 -0
- package/dist/MSurface-DlcK6Bre.js.map +1 -0
- package/dist/MSurface-qcGLaTIK.cjs +2 -0
- package/dist/MSurface-qcGLaTIK.cjs.map +1 -0
- package/dist/{MTag-CXAmy8tJ.cjs → MTag-BMi1GS7v.cjs} +2 -2
- package/dist/{MTag-CXAmy8tJ.cjs.map → MTag-BMi1GS7v.cjs.map} +1 -1
- package/dist/{MTag-BbIqugpb.js → MTag-Cor8ZIW3.js} +4 -4
- package/dist/{MTag-BbIqugpb.js.map → MTag-Cor8ZIW3.js.map} +1 -1
- package/dist/MText-C0FdseW1.js +57 -0
- package/dist/MText-C0FdseW1.js.map +1 -0
- package/dist/MText-OV0ihtQ6.cjs +2 -0
- package/dist/MText-OV0ihtQ6.cjs.map +1 -0
- package/dist/MTimeAgo-BOXKcDYN.cjs +2 -0
- package/dist/MTimeAgo-BOXKcDYN.cjs.map +1 -0
- package/dist/MTimeAgo-DrDs52Y1.js +51 -0
- package/dist/MTimeAgo-DrDs52Y1.js.map +1 -0
- package/dist/MToggle-B7cKH5Tl.js +48 -0
- package/dist/MToggle-B7cKH5Tl.js.map +1 -0
- package/dist/MToggle-Hheo-jfZ.cjs +2 -0
- package/dist/MToggle-Hheo-jfZ.cjs.map +1 -0
- package/dist/{MTooltip-CKS_zgzR.js → MTooltip-D3xuZ5kG.js} +3 -3
- package/dist/{MTooltip-CKS_zgzR.js.map → MTooltip-D3xuZ5kG.js.map} +1 -1
- package/dist/{MTooltip-CXXYU-j1.cjs → MTooltip-DzwZ637q.cjs} +2 -2
- package/dist/{MTooltip-CXXYU-j1.cjs.map → MTooltip-DzwZ637q.cjs.map} +1 -1
- package/dist/{MZoomInIcon-CK2aJhDg.js → MZoomInIcon-BEdmglk6.js} +11 -46
- package/dist/MZoomInIcon-BEdmglk6.js.map +1 -0
- package/dist/MZoomInIcon-dhRm7zT6.cjs +2 -0
- package/dist/MZoomInIcon-dhRm7zT6.cjs.map +1 -0
- package/dist/cards-CKCr-GuJ.js +934 -0
- package/dist/cards-CKCr-GuJ.js.map +1 -0
- package/dist/cards-yPK4lBAA.cjs +2 -0
- package/dist/cards-yPK4lBAA.cjs.map +1 -0
- package/dist/cards.cjs +1 -1
- package/dist/cards.js +3 -3
- package/dist/{cn-B_veu23e.js → cn-DZLxql0l.js} +1 -1
- package/dist/{cn-B_veu23e.js.map → cn-DZLxql0l.js.map} +1 -1
- package/dist/{cn-CpRt8Xjj.cjs → cn-SOcVdnX6.cjs} +1 -1
- package/dist/{cn-CpRt8Xjj.cjs.map → cn-SOcVdnX6.cjs.map} +1 -1
- package/dist/components/cards/MCardBusiness/MCardBusiness.d.ts +2 -0
- package/dist/components/cards/MCardBusiness/MCardBusiness.types.d.ts +37 -0
- package/dist/components/cards/MCardBusiness/index.d.ts +4 -0
- package/dist/components/cards/MCardFinance/MCardFinance.d.ts +2 -0
- package/dist/components/cards/MCardFinance/MCardFinance.types.d.ts +16 -0
- package/dist/components/cards/MCardFinance/index.d.ts +4 -0
- package/dist/components/cards/index.d.ts +8 -0
- package/dist/components/data/MCalendarBoard/MCalendarBoard.d.ts +7 -0
- package/dist/components/data/MCalendarBoard/MCalendarBoard.types.d.ts +117 -0
- package/dist/components/data/MCalendarBoard/index.d.ts +4 -0
- package/dist/components/data/MChart/MAreaChart.d.ts +2 -0
- package/dist/components/data/MChart/MBarChart.d.ts +2 -0
- package/dist/components/data/MChart/MChart.d.ts +2 -0
- package/dist/components/data/MChart/MChart.types.d.ts +95 -0
- package/dist/components/data/MChart/MLineChart.d.ts +2 -0
- package/dist/components/data/MChart/MPieChart.d.ts +2 -0
- package/dist/components/data/MChart/charts/MAreaChart.d.ts +27 -0
- package/dist/components/data/MChart/charts/MBarChart.d.ts +26 -0
- package/dist/components/data/MChart/charts/MLineChart.d.ts +26 -0
- package/dist/components/data/MChart/charts/MPieChart.d.ts +19 -0
- package/dist/components/data/MChart/index.d.ts +5 -0
- package/dist/components/data/MChart/parts/ChartAxis.d.ts +13 -0
- package/dist/components/data/MChart/parts/ChartDefs.d.ts +1 -0
- package/dist/components/data/MChart/parts/ChartGrid.d.ts +10 -0
- package/dist/components/data/MChart/parts/ChartLegend.d.ts +9 -0
- package/dist/components/data/MChart/parts/ChartTooltip.d.ts +7 -0
- package/dist/components/data/MChart/utils/formats.d.ts +3 -0
- package/dist/components/data/MChart/utils/paths.d.ts +10 -0
- package/dist/components/data/MChart/utils/scales.d.ts +7 -0
- package/dist/components/data/MChat/MChat.d.ts +2 -0
- package/dist/components/data/MChat/MChat.types.d.ts +77 -0
- package/dist/components/data/MChat/MChatBody.d.ts +2 -0
- package/dist/components/data/MChat/MChatContext.d.ts +6 -0
- package/dist/components/data/MChat/MChatConversationItem.d.ts +2 -0
- package/dist/components/data/MChat/MChatConversationList.d.ts +2 -0
- package/dist/components/data/MChat/MChatHeader.d.ts +2 -0
- package/dist/components/data/MChat/MChatInput.d.ts +2 -0
- package/dist/components/data/MChat/MChatMessage.d.ts +2 -0
- package/dist/components/data/MChat/MChatTypingIndicator.d.ts +2 -0
- package/dist/components/data/MChat/emojis.d.ts +2 -0
- package/dist/components/data/MChat/index.d.ts +9 -0
- package/dist/components/data/MFileManager/MFileManager.d.ts +2 -0
- package/dist/components/data/MFileManager/MFileManager.types.d.ts +70 -0
- package/dist/components/data/MFileManager/index.d.ts +4 -0
- package/dist/components/data/MSparkline/MSparkline.d.ts +2 -0
- package/dist/components/data/MSparkline/MSparkline.types.d.ts +15 -0
- package/dist/components/data/MSparkline/index.d.ts +2 -0
- package/dist/components/data/index.d.ts +20 -0
- package/dist/components/display/MQrCode/MQrCode.d.ts +2 -0
- package/dist/components/display/MQrCode/MQrCode.types.d.ts +11 -0
- package/dist/components/display/MQrCode/index.d.ts +4 -0
- package/dist/components/display/MStepper/MStepper.d.ts +3 -0
- package/dist/components/display/MStepper/MStepper.types.d.ts +20 -0
- package/dist/components/display/MStepper/index.d.ts +2 -0
- package/dist/components/display/MTimeline/MTimeline.d.ts +3 -0
- package/dist/components/display/MTimeline/MTimeline.types.d.ts +16 -0
- package/dist/components/display/MTimeline/index.d.ts +2 -0
- package/dist/components/display/index.d.ts +12 -0
- package/dist/components/feedback/MCookie/MCookieBanner/MCookieBanner.d.ts +3 -0
- package/dist/components/feedback/MCookie/MCookieBanner/MCookieBanner.types.d.ts +27 -0
- package/dist/components/feedback/MCookie/MCookieBanner/index.d.ts +2 -0
- package/dist/components/feedback/MCookie/MCookieBootstrap/MCookieBootstrap.d.ts +6 -0
- package/dist/components/feedback/MCookie/MCookieBootstrap/MCookieBootstrap.types.d.ts +90 -0
- package/dist/components/feedback/MCookie/MCookieBootstrap/index.d.ts +3 -0
- package/dist/components/feedback/MCookie/MCookieConsent/MCookieConsent.d.ts +2 -0
- package/dist/components/feedback/MCookie/MCookieConsent/MCookieConsent.types.d.ts +11 -0
- package/dist/components/feedback/MCookie/MCookieConsent/index.d.ts +2 -0
- package/dist/components/feedback/MCookie/MCookieConsentProvider/MCookieConsent.defaults.d.ts +9 -0
- package/dist/components/feedback/MCookie/MCookieConsentProvider/MCookieConsent.inventory.d.ts +6 -0
- package/dist/components/feedback/MCookie/MCookieConsentProvider/MCookieConsent.storage.d.ts +11 -0
- package/dist/components/feedback/MCookie/MCookieConsentProvider/MCookieConsent.types.d.ts +95 -0
- package/dist/components/feedback/MCookie/MCookieConsentProvider/MCookieConsentContext.d.ts +4 -0
- package/dist/components/feedback/MCookie/MCookieConsentProvider/MCookieConsentProvider.d.ts +2 -0
- package/dist/components/feedback/MCookie/MCookieConsentProvider/index.d.ts +3 -0
- package/dist/components/feedback/MCookie/MCookieDeclaration/MCookieDeclaration.d.ts +2 -0
- package/dist/components/feedback/MCookie/MCookieDeclaration/MCookieDeclaration.types.d.ts +18 -0
- package/dist/components/feedback/MCookie/MCookieDeclaration/index.d.ts +2 -0
- package/dist/components/feedback/MCookie/MCookiePreferences/MCookiePreferences.d.ts +2 -0
- package/dist/components/feedback/MCookie/MCookiePreferences/MCookiePreferences.types.d.ts +25 -0
- package/dist/components/feedback/MCookie/MCookiePreferences/index.d.ts +2 -0
- package/dist/components/feedback/MCookie/MCookieTrigger/MCookieTrigger.d.ts +2 -0
- package/dist/components/feedback/MCookie/MCookieTrigger/MCookieTrigger.types.d.ts +7 -0
- package/dist/components/feedback/MCookie/MCookieTrigger/index.d.ts +2 -0
- package/dist/components/feedback/MCookie/index.d.ts +16 -0
- package/dist/components/feedback/index.d.ts +1 -0
- package/dist/components/layout/MTopbar/MTopbar.d.ts +2 -0
- package/dist/components/layout/MTopbar/MTopbar.types.d.ts +36 -0
- package/dist/components/layout/MTopbar/index.d.ts +2 -0
- package/dist/components/layout/index.d.ts +4 -0
- package/dist/components/media/MAvatarStack/MAvatarStack.d.ts +2 -0
- package/dist/components/media/MAvatarStack/MAvatarStack.types.d.ts +14 -0
- package/dist/components/media/MAvatarStack/index.d.ts +2 -0
- package/dist/components/media/MMasonry/MMasonry.d.ts +2 -0
- package/dist/components/media/MMasonry/MMasonry.types.d.ts +7 -0
- package/dist/components/media/MMasonry/index.d.ts +2 -0
- package/dist/components/media/MMasonryItem/MMasonryItem.d.ts +2 -0
- package/dist/components/media/MMasonryItem/MMasonryItem.types.d.ts +14 -0
- package/dist/components/media/MMasonryItem/index.d.ts +2 -0
- package/dist/components/media/MShowcaseCarousel/MShowcaseCarousel.d.ts +2 -0
- package/dist/components/media/MShowcaseCarousel/MShowcaseCarousel.types.d.ts +19 -0
- package/dist/components/media/MShowcaseCarousel/index.d.ts +2 -0
- package/dist/components/media/MShowcaseCarouselItem/MShowcaseCarouselItem.d.ts +2 -0
- package/dist/components/media/MShowcaseCarouselItem/MShowcaseCarouselItem.types.d.ts +18 -0
- package/dist/components/media/MShowcaseCarouselItem/index.d.ts +2 -0
- package/dist/components/media/index.d.ts +16 -0
- package/dist/controls-DEEbLT5o.cjs +2 -0
- package/dist/controls-DEEbLT5o.cjs.map +1 -0
- package/dist/{controls-1nIh1Ih1.js → controls-IsOBNxW0.js} +33 -74
- package/dist/controls-IsOBNxW0.js.map +1 -0
- package/dist/controls.cjs +1 -1
- package/dist/controls.js +6 -5
- package/dist/cookie-consent-bootstrap.cjs +2 -0
- package/dist/cookie-consent-bootstrap.cjs.map +1 -0
- package/dist/cookie-consent-bootstrap.d.ts +1 -0
- package/dist/cookie-consent-bootstrap.js +93 -0
- package/dist/cookie-consent-bootstrap.js.map +1 -0
- package/dist/{creditCards-BVKi47yn.cjs → creditCards-BjHGqAFx.cjs} +1 -1
- package/dist/{creditCards-BVKi47yn.cjs.map → creditCards-BjHGqAFx.cjs.map} +1 -1
- package/dist/{creditCards-Bk9rsMJf.js → creditCards-CoZpbB1e.js} +1 -1
- package/dist/{creditCards-Bk9rsMJf.js.map → creditCards-CoZpbB1e.js.map} +1 -1
- package/dist/data-BEH7TbuW.cjs +2 -0
- package/dist/data-BEH7TbuW.cjs.map +1 -0
- package/dist/data-Bp3Fd2Al.js +2529 -0
- package/dist/data-Bp3Fd2Al.js.map +1 -0
- package/dist/data.cjs +1 -1
- package/dist/data.js +4 -2
- package/dist/{dateUtils-BYfEWGkb.js → dateUtils-BOsYyWde.js} +1 -1
- package/dist/{dateUtils-BYfEWGkb.js.map → dateUtils-BOsYyWde.js.map} +1 -1
- package/dist/{dateUtils-5jacfR5Q.cjs → dateUtils-xSfrXjbY.cjs} +1 -1
- package/dist/{dateUtils-5jacfR5Q.cjs.map → dateUtils-xSfrXjbY.cjs.map} +1 -1
- package/dist/display-B0Db8pF3.js +468 -0
- package/dist/display-B0Db8pF3.js.map +1 -0
- package/dist/display-DmB5CZYB.cjs +2 -0
- package/dist/display-DmB5CZYB.cjs.map +1 -0
- package/dist/display.cjs +1 -1
- package/dist/display.js +4 -3
- package/dist/dropdowns-BkBtQP4v.js +1689 -0
- package/dist/dropdowns-BkBtQP4v.js.map +1 -0
- package/dist/dropdowns-CD2myl19.cjs +2 -0
- package/dist/dropdowns-CD2myl19.cjs.map +1 -0
- package/dist/dropdowns.cjs +1 -1
- package/dist/dropdowns.js +1 -1
- package/dist/feedback-CuPBnCOw.cjs +2 -0
- package/dist/feedback-CuPBnCOw.cjs.map +1 -0
- package/dist/feedback-QP7-6I7O.js +1013 -0
- package/dist/feedback-QP7-6I7O.js.map +1 -0
- package/dist/feedback.cjs +1 -1
- package/dist/feedback.js +7 -6
- package/dist/{form-DFx61JJJ.cjs → form-BQ6-ieVC.cjs} +2 -2
- package/dist/{form-DFx61JJJ.cjs.map → form-BQ6-ieVC.cjs.map} +1 -1
- package/dist/{form-C7T4heU2.js → form-JanaUHTQ.js} +2 -2
- package/dist/{form-C7T4heU2.js.map → form-JanaUHTQ.js.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{formatters-bW67hwbX.cjs → formatters-BIijIfCB.cjs} +1 -1
- package/dist/{formatters-bW67hwbX.cjs.map → formatters-BIijIfCB.cjs.map} +1 -1
- package/dist/{formatters-qn3Mj74v.js → formatters-DMI5QqhS.js} +1 -1
- package/dist/{formatters-qn3Mj74v.js.map → formatters-DMI5QqhS.js.map} +1 -1
- package/dist/frameworkTexts-5_DBGFFg.js +115 -0
- package/dist/frameworkTexts-5_DBGFFg.js.map +1 -0
- package/dist/frameworkTexts-CwSSRPWS.cjs +2 -0
- package/dist/frameworkTexts-CwSSRPWS.cjs.map +1 -0
- package/dist/icons/MIconV2.d.ts +7 -0
- package/dist/icons/MIconV2Glyph.d.ts +11 -0
- package/dist/icons/MIconV2Scenes.d.ts +40 -0
- package/dist/icons/glyphs/MCalendarIconV2.d.ts +2 -0
- package/dist/icons/glyphs/MChartIconV2.d.ts +2 -0
- package/dist/icons/glyphs/MFlagIconsV2.d.ts +19 -0
- package/dist/icons/glyphs/MHomeIconV2.d.ts +2 -0
- package/dist/icons/glyphs/MNavigationIconsV2.d.ts +14 -0
- package/dist/icons/glyphs/MSearchIconV2.d.ts +2 -0
- package/dist/icons/glyphs/MSettingsIconV2.d.ts +2 -0
- package/dist/icons/glyphs/MUserIconV2.d.ts +2 -0
- package/dist/icons/index.d.ts +12 -0
- package/dist/icons.cjs +1 -1
- package/dist/icons.entry-LwjwnjE2.cjs +2 -0
- package/dist/icons.entry-LwjwnjE2.cjs.map +1 -0
- package/dist/{icons.entry-CbJp27gc.js → icons.entry-txsQqMvb.js} +1663 -985
- package/dist/icons.entry-txsQqMvb.js.map +1 -0
- package/dist/icons.js +22 -17
- package/dist/illustrations.cjs +1 -1
- package/dist/{illustrations.entry-CaBqXBpd.js → illustrations.entry-C0rSNpF1.js} +2 -2
- package/dist/{illustrations.entry-CaBqXBpd.js.map → illustrations.entry-C0rSNpF1.js.map} +1 -1
- package/dist/{illustrations.entry-D5StzALw.cjs → illustrations.entry-DtMxssXq.cjs} +2 -2
- package/dist/{illustrations.entry-D5StzALw.cjs.map → illustrations.entry-DtMxssXq.cjs.map} +1 -1
- package/dist/illustrations.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +74 -60
- package/dist/inputs-BRjbpf9P.cjs +2 -0
- package/dist/{inputs-6TRTzH12.cjs.map → inputs-BRjbpf9P.cjs.map} +1 -1
- package/dist/{inputs-Bd_5Xg49.js → inputs-DFoD2MMX.js} +193 -191
- package/dist/{inputs-Bd_5Xg49.js.map → inputs-DFoD2MMX.js.map} +1 -1
- package/dist/inputs.cjs +1 -1
- package/dist/inputs.js +3 -3
- package/dist/layout-BWhQ1VXM.cjs +2 -0
- package/dist/layout-BWhQ1VXM.cjs.map +1 -0
- package/dist/layout-yIAZ4bP6.js +819 -0
- package/dist/layout-yIAZ4bP6.js.map +1 -0
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +5 -5
- package/dist/{layoutProps-CAv0VWdN.cjs → layoutProps-CZ-XhpIX.cjs} +1 -1
- package/dist/{layoutProps-CAv0VWdN.cjs.map → layoutProps-CZ-XhpIX.cjs.map} +1 -1
- package/dist/{layoutProps-D8exMwKp.js → layoutProps-DUPQsWy9.js} +1 -1
- package/dist/{layoutProps-D8exMwKp.js.map → layoutProps-DUPQsWy9.js.map} +1 -1
- package/dist/licensing-CMLexRJk.cjs +2 -0
- package/dist/licensing-CMLexRJk.cjs.map +1 -0
- package/dist/licensing-SQAMYrOI.js +105 -0
- package/dist/licensing-SQAMYrOI.js.map +1 -0
- package/dist/{locale-BJucQij_.js → locale-Crzgecoe.js} +1 -1
- package/dist/{locale-BJucQij_.js.map → locale-Crzgecoe.js.map} +1 -1
- package/dist/{locale-CjYHLr1l.cjs → locale-DpCe_7mG.cjs} +1 -1
- package/dist/{locale-CjYHLr1l.cjs.map → locale-DpCe_7mG.cjs.map} +1 -1
- package/dist/media-D0KRmTG_.cjs +2 -0
- package/dist/media-D0KRmTG_.cjs.map +1 -0
- package/dist/media-DWG2uW1h.js +406 -0
- package/dist/media-DWG2uW1h.js.map +1 -0
- package/dist/media.cjs +1 -1
- package/dist/media.js +4 -3
- package/dist/overlays-CROlfKrR.cjs +2 -0
- package/dist/overlays-CROlfKrR.cjs.map +1 -0
- package/dist/overlays-DQOnI2NS.js +186 -0
- package/dist/overlays-DQOnI2NS.js.map +1 -0
- package/dist/overlays.cjs +1 -1
- package/dist/overlays.js +6 -4
- package/dist/primitives.cjs +1 -1
- package/dist/primitives.js +2 -2
- package/dist/{relativeTime-FdokPH7W.js → relativeTime-3dGgniAK.js} +1 -1
- package/dist/{relativeTime-FdokPH7W.js.map → relativeTime-3dGgniAK.js.map} +1 -1
- package/dist/{relativeTime-oubkDkrk.cjs → relativeTime-D5qYOJVu.cjs} +1 -1
- package/dist/{relativeTime-oubkDkrk.cjs.map → relativeTime-D5qYOJVu.cjs.map} +1 -1
- package/dist/style-runtime.cjs +1 -1
- package/dist/style-runtime.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/typography-CCkJaTzp.js +40 -0
- package/dist/typography-CCkJaTzp.js.map +1 -0
- package/dist/typography-CtITQOAU.cjs +2 -0
- package/dist/typography-CtITQOAU.cjs.map +1 -0
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +5 -4
- package/dist/{useGhostText-BrRYBrV_.cjs → useGhostText-CL1kSB_V.cjs} +1 -1
- package/dist/{useGhostText-BrRYBrV_.cjs.map → useGhostText-CL1kSB_V.cjs.map} +1 -1
- package/dist/{useGhostText-BpSSyl8G.js → useGhostText-Zq3iktss.js} +1 -1
- package/dist/{useGhostText-BpSSyl8G.js.map → useGhostText-Zq3iktss.js.map} +1 -1
- package/dist/{useInteractionEffect-BaJeiUns.cjs → useInteractionEffect-BLehDk91.cjs} +1 -1
- package/dist/{useInteractionEffect-BaJeiUns.cjs.map → useInteractionEffect-BLehDk91.cjs.map} +1 -1
- package/dist/{useInteractionEffect-B5_UpgTt.js → useInteractionEffect-Dfqq8lGO.js} +1 -1
- package/dist/{useInteractionEffect-B5_UpgTt.js.map → useInteractionEffect-Dfqq8lGO.js.map} +1 -1
- package/dist/{useKeyboardNav-DJtFz7Fx.cjs → useKeyboardNav-DBeCcTmg.cjs} +1 -1
- package/dist/{useKeyboardNav-DJtFz7Fx.cjs.map → useKeyboardNav-DBeCcTmg.cjs.map} +1 -1
- package/dist/{useKeyboardNav-CmUKtJag.js → useKeyboardNav-DXvrPrx9.js} +1 -1
- package/dist/{useKeyboardNav-CmUKtJag.js.map → useKeyboardNav-DXvrPrx9.js.map} +1 -1
- package/dist/{useReveal-D1YuWN9z.cjs → useReveal-CdIoh0Rk.cjs} +1 -1
- package/dist/{useReveal-D1YuWN9z.cjs.map → useReveal-CdIoh0Rk.cjs.map} +1 -1
- package/dist/{useReveal-BB9OaMDU.js → useReveal-DzskFHKb.js} +1 -1
- package/dist/{useReveal-BB9OaMDU.js.map → useReveal-DzskFHKb.js.map} +1 -1
- package/dist/utils/licensing.d.ts +78 -1
- package/dist/utils.cjs +1 -1
- package/dist/utils.js +11 -11
- package/dist/{validators-CA-TznrL.cjs → validators-CyDTl6cC.cjs} +1 -1
- package/dist/{validators-CA-TznrL.cjs.map → validators-CyDTl6cC.cjs.map} +1 -1
- package/dist/{validators-CAahqOcq.js → validators-ljBWrIca.js} +1 -1
- package/dist/{validators-CAahqOcq.js.map → validators-ljBWrIca.js.map} +1 -1
- package/package.json +29 -6
- package/dist/MBoltIcon-B1P4i_X4.js.map +0 -1
- package/dist/MBoltIcon-DB6JHWMo.cjs +0 -2
- package/dist/MBoltIcon-DB6JHWMo.cjs.map +0 -1
- package/dist/MCard-BBBA2UVf.cjs +0 -2
- package/dist/MCard-BBBA2UVf.cjs.map +0 -1
- package/dist/MCard-ViJ2Lf73.js +0 -65
- package/dist/MCard-ViJ2Lf73.js.map +0 -1
- package/dist/MDropdownMenu-BcRbNfoR.js +0 -186
- package/dist/MDropdownMenu-BcRbNfoR.js.map +0 -1
- package/dist/MDropdownMenu-DOxSG00i.cjs +0 -2
- package/dist/MDropdownMenu-DOxSG00i.cjs.map +0 -1
- package/dist/MFolderOpenIcon-35Lmw91g.cjs +0 -2
- package/dist/MFolderOpenIcon-35Lmw91g.cjs.map +0 -1
- package/dist/MFolderOpenIcon-DFahkqXu.js +0 -31
- package/dist/MFolderOpenIcon-DFahkqXu.js.map +0 -1
- package/dist/MPagination-C8txsdB6.cjs +0 -2
- package/dist/MPagination-C8txsdB6.cjs.map +0 -1
- package/dist/MPagination-RupoyjxR.js +0 -113
- package/dist/MPagination-RupoyjxR.js.map +0 -1
- package/dist/MRating-0-_XBF-T.js +0 -38
- package/dist/MRating-0-_XBF-T.js.map +0 -1
- package/dist/MRating-B-fQMZ8c.cjs +0 -2
- package/dist/MRating-B-fQMZ8c.cjs.map +0 -1
- package/dist/MSkeleton-7YJwDcvl.cjs +0 -2
- package/dist/MSkeleton-7YJwDcvl.cjs.map +0 -1
- package/dist/MSkeleton-QQ57uNaL.js +0 -39
- package/dist/MSkeleton-QQ57uNaL.js.map +0 -1
- package/dist/MSortIcon-3mD9vpMX.cjs +0 -2
- package/dist/MSortIcon-3mD9vpMX.cjs.map +0 -1
- package/dist/MSortIcon-DGHyltKa.js +0 -84
- package/dist/MSortIcon-DGHyltKa.js.map +0 -1
- package/dist/MText-BxAcAs-j.cjs +0 -2
- package/dist/MText-BxAcAs-j.cjs.map +0 -1
- package/dist/MText-CzceD0k5.js +0 -43
- package/dist/MText-CzceD0k5.js.map +0 -1
- package/dist/MZoomInIcon-BcpTfzRD.cjs +0 -2
- package/dist/MZoomInIcon-BcpTfzRD.cjs.map +0 -1
- package/dist/MZoomInIcon-CK2aJhDg.js.map +0 -1
- package/dist/cards-Bw7aZCIy.cjs +0 -2
- package/dist/cards-Bw7aZCIy.cjs.map +0 -1
- package/dist/cards-CYzgOCG5.js +0 -613
- package/dist/cards-CYzgOCG5.js.map +0 -1
- package/dist/controls-1nIh1Ih1.js.map +0 -1
- package/dist/controls-2pkUWkOa.cjs +0 -2
- package/dist/controls-2pkUWkOa.cjs.map +0 -1
- package/dist/data-BGEuiFne.cjs +0 -2
- package/dist/data-BGEuiFne.cjs.map +0 -1
- package/dist/data-CYb66BuD.js +0 -423
- package/dist/data-CYb66BuD.js.map +0 -1
- package/dist/display-BEw4iW6N.js +0 -416
- package/dist/display-BEw4iW6N.js.map +0 -1
- package/dist/display-BVeaSZDJ.cjs +0 -2
- package/dist/display-BVeaSZDJ.cjs.map +0 -1
- package/dist/dropdowns-CsUSxR0u.cjs +0 -2
- package/dist/dropdowns-CsUSxR0u.cjs.map +0 -1
- package/dist/dropdowns-DiEsLPoq.js +0 -1729
- package/dist/dropdowns-DiEsLPoq.js.map +0 -1
- package/dist/feedback-BOPPNYr5.js +0 -217
- package/dist/feedback-BOPPNYr5.js.map +0 -1
- package/dist/feedback-vTRXpBZw.cjs +0 -2
- package/dist/feedback-vTRXpBZw.cjs.map +0 -1
- package/dist/icons.entry-BBIBT_e2.cjs +0 -2
- package/dist/icons.entry-BBIBT_e2.cjs.map +0 -1
- package/dist/icons.entry-CbJp27gc.js.map +0 -1
- package/dist/inputs-6TRTzH12.cjs +0 -2
- package/dist/layout-DgxSN0QV.js +0 -698
- package/dist/layout-DgxSN0QV.js.map +0 -1
- package/dist/layout-DsxgXjK_.cjs +0 -2
- package/dist/layout-DsxgXjK_.cjs.map +0 -1
- package/dist/licensing-C80xLz-j.cjs +0 -2
- package/dist/licensing-C80xLz-j.cjs.map +0 -1
- package/dist/licensing-DsWLXZiM.js +0 -28
- package/dist/licensing-DsWLXZiM.js.map +0 -1
- package/dist/media-V8oypokY.js +0 -171
- package/dist/media-V8oypokY.js.map +0 -1
- package/dist/media-uvYa5r3D.cjs +0 -2
- package/dist/media-uvYa5r3D.cjs.map +0 -1
- package/dist/overlays-BjO2sRrU.cjs +0 -2
- package/dist/overlays-BjO2sRrU.cjs.map +0 -1
- package/dist/overlays-DnMM32yB.js +0 -360
- package/dist/overlays-DnMM32yB.js.map +0 -1
- package/dist/typography-Bcn3mZPw.js +0 -63
- package/dist/typography-Bcn3mZPw.js.map +0 -1
- package/dist/typography-Cy_-zrZI.cjs +0 -2
- package/dist/typography-Cy_-zrZI.cjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MDataTable--pUkQHAv.js","names":[],"sources":["../src/components/data/MDataTable/MDataTable.tsx"],"sourcesContent":["import {useMemo, useState} from 'react'\nimport type * as React from 'react'\nimport type {MDataTableProps, MDataTableSort} from './MDataTable.types'\nimport {MCheckbox} from '../../controls'\nimport {MInputSearch} from '../../inputs'\nimport {MPagination} from '../../layout'\nimport {MArrowDownIcon, MArrowUpDownIcon, MArrowUpIcon} from '../../../icons'\nimport {cn} from '../../../utils/cn'\nimport './MDataTable.css'\n\nfunction getRowKey<T>(row: T, index: number, rowKey?: string | ((row: T, index: number) => string)): string {\n if (typeof rowKey === 'function') return rowKey(row, index)\n if (typeof rowKey === 'string') return String((row as any)[rowKey])\n return String((row as any).id ?? index)\n}\n\nexport function MDataTable<T = any>({\n columns,\n data,\n rowKey,\n sortable = false,\n filterable = false,\n selectable = false,\n pagination = false,\n pageSize = 10,\n striped = false,\n compact = false,\n stickyHeader = false,\n sort: controlledSort,\n onSortChange,\n selectedKeys: controlledSelected,\n onSelectionChange,\n emptyText = 'No data',\n filterPlaceholder = 'Search...',\n className,\n ...rest\n}: MDataTableProps<T>) {\n const [internalSort, setInternalSort] = useState<MDataTableSort | null>(null)\n const [internalSelected, setInternalSelected] = useState<string[]>([])\n const [filter, setFilter] = useState('')\n const [page, setPage] = useState(0)\n\n const activeSort = controlledSort !== undefined ? controlledSort : internalSort\n const selected = controlledSelected ?? internalSelected\n const setSelected = onSelectionChange ?? setInternalSelected\n\n function handleSort(key: string) {\n let next: MDataTableSort | null\n\n if (activeSort?.key === key) {\n next = activeSort.dir === 'asc' ? {key, dir: 'desc'} : null\n } else {\n next = {key, dir: 'asc'}\n }\n\n if (onSortChange) onSortChange(next)\n else setInternalSort(next)\n\n setPage(0)\n }\n\n const filtered = useMemo(() => {\n if (!filterable || !filter.trim()) return data\n\n const query = filter.toLowerCase()\n\n return data.filter((row) =>\n columns.some((col) => {\n if (col.filterable === false) return false\n\n const value = (row as any)[col.key]\n return value != null && String(value).toLowerCase().includes(query)\n })\n )\n }, [data, filter, filterable, columns])\n\n const sorted = useMemo(() => {\n if (!activeSort) return filtered\n\n const col = columns.find((item) => item.key === activeSort.key)\n if (!col?.sortable && !sortable) return filtered\n\n const dir = activeSort.dir === 'asc' ? 1 : -1\n\n return [...filtered].sort((a, b) => {\n const va = (a as any)[activeSort.key]\n const vb = (b as any)[activeSort.key]\n\n if (va == null && vb == null) return 0\n if (va == null) return 1\n if (vb == null) return -1\n if (typeof va === 'number' && typeof vb === 'number') return (va - vb) * dir\n\n return String(va).localeCompare(String(vb)) * dir\n })\n }, [filtered, activeSort, columns, sortable])\n\n const totalPages = pagination ? Math.max(1, Math.ceil(sorted.length / pageSize)) : 1\n const pageData = pagination ? sorted.slice(page * pageSize, (page + 1) * pageSize) : sorted\n\n const allKeys = pageData.map((row, index) => getRowKey(row, page * pageSize + index, rowKey))\n const allSelected = allKeys.length > 0 && allKeys.every((key) => selected.includes(key))\n\n function toggleAll() {\n if (allSelected) {\n setSelected(selected.filter((key) => !allKeys.includes(key)))\n } else {\n setSelected([...new Set([...selected, ...allKeys])])\n }\n }\n\n function toggleRow(key: string) {\n setSelected(selected.includes(key) ? selected.filter((item) => item !== key) : [...selected, key])\n }\n\n function handleRowClick(key: string, event: React.MouseEvent) {\n const target = event.target as HTMLElement\n if (target.closest('button, a, [data-no-row-select]')) return\n toggleRow(key)\n }\n\n return (\n <div className={cn('data-table', className)} {...rest}>\n {filterable && (\n <div className=\"toolbar\">\n <MInputSearch\n className=\"filter-search\"\n size=\"sm\"\n fullWidth\n placeholder={filterPlaceholder}\n value={filter}\n onChange={(event) => {\n setFilter(event.target.value)\n setPage(0)\n }}\n onClear={() => {\n setFilter('')\n setPage(0)\n }}\n />\n </div>\n )}\n <div className=\"scroll\">\n <table className={cn('root', striped && 'striped', compact && 'compact')}>\n <thead className={cn('head', stickyHeader && 'sticky')}>\n <tr>\n {selectable && (\n <th className=\"th check-col\">\n <MCheckbox\n checked={allSelected}\n onChange={toggleAll}\n size=\"sm\"\n clickEffect=\"none\"\n />\n </th>\n )}\n {columns.map((col) => {\n const isSortable = col.sortable ?? sortable\n const isSorted = activeSort?.key === col.key\n\n return (\n <th\n key={col.key}\n className={cn(\n 'th',\n isSortable && 'sortable',\n isSorted && `sorted-${activeSort!.dir}`\n )}\n style={{\n width: col.width,\n textAlign: col.align,\n }}\n onClick={isSortable ? () => handleSort(col.key) : undefined}\n >\n <span className=\"th-content\">\n {col.label}\n {isSortable && (\n <span className=\"sort-icon\">\n {isSorted ? (\n activeSort!.dir === 'asc' ? (\n <MArrowUpIcon aria-hidden=\"true\" />\n ) : (\n <MArrowDownIcon aria-hidden=\"true\" />\n )\n ) : (\n <MArrowUpDownIcon aria-hidden=\"true\" />\n )}\n </span>\n )}\n </span>\n </th>\n )\n })}\n </tr>\n </thead>\n <tbody>\n {pageData.length === 0 && (\n <tr>\n <td className=\"empty\" colSpan={columns.length + (selectable ? 1 : 0)}>\n {emptyText}\n </td>\n </tr>\n )}\n {pageData.map((row, index) => {\n const key = getRowKey(row, page * pageSize + index, rowKey)\n const isSelected = selected.includes(key)\n\n return (\n <tr\n key={key}\n className={cn('row', isSelected && 'selected', selectable && 'selectable')}\n onClick={selectable ? (event) => handleRowClick(key, event) : undefined}\n >\n {selectable && (\n <td className=\"td check-col\">\n <MCheckbox\n checked={isSelected}\n onChange={() => {}}\n size=\"sm\"\n clickEffect=\"none\"\n />\n </td>\n )}\n {columns.map((col) => (\n <td key={col.key} className=\"td\" style={{textAlign: col.align}}>\n {col.render\n ? col.render((row as any)[col.key], row, page * pageSize + index)\n : (row as any)[col.key]}\n </td>\n ))}\n </tr>\n )\n })}\n </tbody>\n </table>\n </div>\n {pagination && totalPages > 1 && (\n <MPagination\n total={sorted.length}\n page={page + 1}\n pageSize={pageSize}\n onChange={(nextPage) => setPage(nextPage - 1)}\n />\n )}\n </div>\n )\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require(`./MArrowUpIcon-DWV_HYrz.cjs`),t=require(`./MArrowDownIcon-C8EAODgv.cjs`),n=require(`./MArrowUpDownIcon-CW_PWr7Q.cjs`),r=require(`./cn-SOcVdnX6.cjs`),i=require(`./MInputSearch-Dt79qbZg.cjs`),a=require(`./MPagination-Bu84ZlVh.cjs`),o=require(`./MCheckbox-BhtJDdip.cjs`);let s=require(`react`),c=require(`react/jsx-runtime`);function l(e,t,n){return typeof n==`function`?n(e,t):String(typeof n==`string`?e[n]:e.id??t)}function u({columns:u,data:d,rowKey:f,sortable:p=!1,filterable:m=!1,selectable:h=!1,pagination:g=!1,pageSize:_=10,striped:v=!1,compact:y=!1,stickyHeader:b=!1,sort:x,onSortChange:S,selectedKeys:C,onSelectionChange:w,emptyText:T=`No data`,filterPlaceholder:E=`Search...`,className:D,...O}){let[k,A]=(0,s.useState)(null),[j,M]=(0,s.useState)([]),[N,P]=(0,s.useState)(``),[F,I]=(0,s.useState)(0),L=x===void 0?k:x,R=C??j,z=w??M;function B(e){let t;t=L?.key===e?L.dir===`asc`?{key:e,dir:`desc`}:null:{key:e,dir:`asc`},S?S(t):A(t),I(0)}let V=(0,s.useMemo)(()=>{if(!m||!N.trim())return d;let e=N.toLowerCase();return d.filter(t=>u.some(n=>{if(n.filterable===!1)return!1;let r=t[n.key];return r!=null&&String(r).toLowerCase().includes(e)}))},[d,N,m,u]),H=(0,s.useMemo)(()=>{if(!L||!u.find(e=>e.key===L.key)?.sortable&&!p)return V;let e=L.dir===`asc`?1:-1;return[...V].sort((t,n)=>{let r=t[L.key],i=n[L.key];return r==null&&i==null?0:r==null?1:i==null?-1:typeof r==`number`&&typeof i==`number`?(r-i)*e:String(r).localeCompare(String(i))*e})},[V,L,u,p]),U=g?Math.max(1,Math.ceil(H.length/_)):1,W=g?H.slice(F*_,(F+1)*_):H,G=W.map((e,t)=>l(e,F*_+t,f)),K=G.length>0&&G.every(e=>R.includes(e));function q(){z(K?R.filter(e=>!G.includes(e)):[...new Set([...R,...G])])}function J(e){z(R.includes(e)?R.filter(t=>t!==e):[...R,e])}function Y(e,t){t.target.closest(`button, a, [data-no-row-select]`)||J(e)}return(0,c.jsxs)(`div`,{className:r.t(`data-table`,D),...O,children:[m&&(0,c.jsx)(`div`,{className:`toolbar`,children:(0,c.jsx)(i.t,{className:`filter-search`,size:`sm`,fullWidth:!0,placeholder:E,value:N,onChange:e=>{P(e.target.value),I(0)},onClear:()=>{P(``),I(0)}})}),(0,c.jsx)(`div`,{className:`scroll`,children:(0,c.jsxs)(`table`,{className:r.t(`root`,v&&`striped`,y&&`compact`),children:[(0,c.jsx)(`thead`,{className:r.t(`head`,b&&`sticky`),children:(0,c.jsxs)(`tr`,{children:[h&&(0,c.jsx)(`th`,{className:`th check-col`,children:(0,c.jsx)(o.t,{checked:K,onChange:q,size:`sm`,clickEffect:`none`})}),u.map(i=>{let a=i.sortable??p,o=L?.key===i.key;return(0,c.jsx)(`th`,{className:r.t(`th`,a&&`sortable`,o&&`sorted-${L.dir}`),style:{width:i.width,textAlign:i.align},onClick:a?()=>B(i.key):void 0,children:(0,c.jsxs)(`span`,{className:`th-content`,children:[i.label,a&&(0,c.jsx)(`span`,{className:`sort-icon`,children:o?L.dir===`asc`?(0,c.jsx)(e.t,{"aria-hidden":`true`}):(0,c.jsx)(t.t,{"aria-hidden":`true`}):(0,c.jsx)(n.t,{"aria-hidden":`true`})})]})},i.key)})]})}),(0,c.jsxs)(`tbody`,{children:[W.length===0&&(0,c.jsx)(`tr`,{children:(0,c.jsx)(`td`,{className:`empty`,colSpan:u.length+ +!!h,children:T})}),W.map((e,t)=>{let n=l(e,F*_+t,f),i=R.includes(n);return(0,c.jsxs)(`tr`,{className:r.t(`row`,i&&`selected`,h&&`selectable`),onClick:h?e=>Y(n,e):void 0,children:[h&&(0,c.jsx)(`td`,{className:`td check-col`,children:(0,c.jsx)(o.t,{checked:i,onChange:()=>{},size:`sm`,clickEffect:`none`})}),u.map(n=>(0,c.jsx)(`td`,{className:`td`,style:{textAlign:n.align},children:n.render?n.render(e[n.key],e,F*_+t):e[n.key]},n.key))]},n)})]})]})}),g&&U>1&&(0,c.jsx)(a.t,{total:H.length,page:F+1,pageSize:_,onChange:e=>I(e-1)})]})}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return u}});
|
|
2
|
+
//# sourceMappingURL=MDataTable-8ZhnWhqW.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MDataTable-8ZhnWhqW.cjs","names":[],"sources":["../src/components/data/MDataTable/MDataTable.tsx"],"sourcesContent":["import {useMemo, useState} from 'react'\nimport type * as React from 'react'\nimport type {MDataTableProps, MDataTableSort} from './MDataTable.types'\nimport {MCheckbox} from '../../controls'\nimport {MInputSearch} from '../../inputs'\nimport {MPagination} from '../../layout'\nimport {MArrowDownIcon, MArrowUpDownIcon, MArrowUpIcon} from '../../../icons'\nimport {cn} from '../../../utils/cn'\nimport './MDataTable.css'\n\nfunction getRowKey<T>(row: T, index: number, rowKey?: string | ((row: T, index: number) => string)): string {\n if (typeof rowKey === 'function') return rowKey(row, index)\n if (typeof rowKey === 'string') return String((row as any)[rowKey])\n return String((row as any).id ?? index)\n}\n\nexport function MDataTable<T = any>({\n columns,\n data,\n rowKey,\n sortable = false,\n filterable = false,\n selectable = false,\n pagination = false,\n pageSize = 10,\n striped = false,\n compact = false,\n stickyHeader = false,\n sort: controlledSort,\n onSortChange,\n selectedKeys: controlledSelected,\n onSelectionChange,\n emptyText = 'No data',\n filterPlaceholder = 'Search...',\n className,\n ...rest\n}: MDataTableProps<T>) {\n const [internalSort, setInternalSort] = useState<MDataTableSort | null>(null)\n const [internalSelected, setInternalSelected] = useState<string[]>([])\n const [filter, setFilter] = useState('')\n const [page, setPage] = useState(0)\n\n const activeSort = controlledSort !== undefined ? controlledSort : internalSort\n const selected = controlledSelected ?? internalSelected\n const setSelected = onSelectionChange ?? setInternalSelected\n\n function handleSort(key: string) {\n let next: MDataTableSort | null\n\n if (activeSort?.key === key) {\n next = activeSort.dir === 'asc' ? {key, dir: 'desc'} : null\n } else {\n next = {key, dir: 'asc'}\n }\n\n if (onSortChange) onSortChange(next)\n else setInternalSort(next)\n\n setPage(0)\n }\n\n const filtered = useMemo(() => {\n if (!filterable || !filter.trim()) return data\n\n const query = filter.toLowerCase()\n\n return data.filter((row) =>\n columns.some((col) => {\n if (col.filterable === false) return false\n\n const value = (row as any)[col.key]\n return value != null && String(value).toLowerCase().includes(query)\n })\n )\n }, [data, filter, filterable, columns])\n\n const sorted = useMemo(() => {\n if (!activeSort) return filtered\n\n const col = columns.find((item) => item.key === activeSort.key)\n if (!col?.sortable && !sortable) return filtered\n\n const dir = activeSort.dir === 'asc' ? 1 : -1\n\n return [...filtered].sort((a, b) => {\n const va = (a as any)[activeSort.key]\n const vb = (b as any)[activeSort.key]\n\n if (va == null && vb == null) return 0\n if (va == null) return 1\n if (vb == null) return -1\n if (typeof va === 'number' && typeof vb === 'number') return (va - vb) * dir\n\n return String(va).localeCompare(String(vb)) * dir\n })\n }, [filtered, activeSort, columns, sortable])\n\n const totalPages = pagination ? Math.max(1, Math.ceil(sorted.length / pageSize)) : 1\n const pageData = pagination ? sorted.slice(page * pageSize, (page + 1) * pageSize) : sorted\n\n const allKeys = pageData.map((row, index) => getRowKey(row, page * pageSize + index, rowKey))\n const allSelected = allKeys.length > 0 && allKeys.every((key) => selected.includes(key))\n\n function toggleAll() {\n if (allSelected) {\n setSelected(selected.filter((key) => !allKeys.includes(key)))\n } else {\n setSelected([...new Set([...selected, ...allKeys])])\n }\n }\n\n function toggleRow(key: string) {\n setSelected(selected.includes(key) ? selected.filter((item) => item !== key) : [...selected, key])\n }\n\n function handleRowClick(key: string, event: React.MouseEvent) {\n const target = event.target as HTMLElement\n if (target.closest('button, a, [data-no-row-select]')) return\n toggleRow(key)\n }\n\n return (\n <div className={cn('data-table', className)} {...rest}>\n {filterable && (\n <div className=\"toolbar\">\n <MInputSearch\n className=\"filter-search\"\n size=\"sm\"\n fullWidth\n placeholder={filterPlaceholder}\n value={filter}\n onChange={(event) => {\n setFilter(event.target.value)\n setPage(0)\n }}\n onClear={() => {\n setFilter('')\n setPage(0)\n }}\n />\n </div>\n )}\n <div className=\"scroll\">\n <table className={cn('root', striped && 'striped', compact && 'compact')}>\n <thead className={cn('head', stickyHeader && 'sticky')}>\n <tr>\n {selectable && (\n <th className=\"th check-col\">\n <MCheckbox\n checked={allSelected}\n onChange={toggleAll}\n size=\"sm\"\n clickEffect=\"none\"\n />\n </th>\n )}\n {columns.map((col) => {\n const isSortable = col.sortable ?? sortable\n const isSorted = activeSort?.key === col.key\n\n return (\n <th\n key={col.key}\n className={cn(\n 'th',\n isSortable && 'sortable',\n isSorted && `sorted-${activeSort!.dir}`\n )}\n style={{\n width: col.width,\n textAlign: col.align,\n }}\n onClick={isSortable ? () => handleSort(col.key) : undefined}\n >\n <span className=\"th-content\">\n {col.label}\n {isSortable && (\n <span className=\"sort-icon\">\n {isSorted ? (\n activeSort!.dir === 'asc' ? (\n <MArrowUpIcon aria-hidden=\"true\" />\n ) : (\n <MArrowDownIcon aria-hidden=\"true\" />\n )\n ) : (\n <MArrowUpDownIcon aria-hidden=\"true\" />\n )}\n </span>\n )}\n </span>\n </th>\n )\n })}\n </tr>\n </thead>\n <tbody>\n {pageData.length === 0 && (\n <tr>\n <td className=\"empty\" colSpan={columns.length + (selectable ? 1 : 0)}>\n {emptyText}\n </td>\n </tr>\n )}\n {pageData.map((row, index) => {\n const key = getRowKey(row, page * pageSize + index, rowKey)\n const isSelected = selected.includes(key)\n\n return (\n <tr\n key={key}\n className={cn('row', isSelected && 'selected', selectable && 'selectable')}\n onClick={selectable ? (event) => handleRowClick(key, event) : undefined}\n >\n {selectable && (\n <td className=\"td check-col\">\n <MCheckbox\n checked={isSelected}\n onChange={() => {}}\n size=\"sm\"\n clickEffect=\"none\"\n />\n </td>\n )}\n {columns.map((col) => (\n <td key={col.key} className=\"td\" style={{textAlign: col.align}}>\n {col.render\n ? col.render((row as any)[col.key], row, page * pageSize + index)\n : (row as any)[col.key]}\n </td>\n ))}\n </tr>\n )\n })}\n </tbody>\n </table>\n </div>\n {pagination && totalPages > 1 && (\n <MPagination\n total={sorted.length}\n page={page + 1}\n pageSize={pageSize}\n onChange={(nextPage) => setPage(nextPage - 1)}\n />\n )}\n </div>\n )\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { t as e } from "./MCloseIcon-lDH3Vc10.js";
|
|
2
|
+
import { t } from "./cn-DZLxql0l.js";
|
|
3
|
+
import { t as n } from "./MPortal-CbpNkzfC.js";
|
|
4
|
+
import { t as r } from "./MButton-33EzpGvQ.js";
|
|
5
|
+
import { Children as i, isValidElement as a, useEffect as o, useRef as s, useState as c } from "react";
|
|
6
|
+
import { Fragment as l, jsx as u, jsxs as d } from "react/jsx-runtime";
|
|
7
|
+
//#region src/components/overlays/MDrawer/MDrawer.tsx
|
|
8
|
+
var f = 600;
|
|
9
|
+
function p(e) {
|
|
10
|
+
return a(e) && !!e.type.__drawerHeader;
|
|
11
|
+
}
|
|
12
|
+
function m(e) {
|
|
13
|
+
return a(e) && !!e.type.__drawerBody;
|
|
14
|
+
}
|
|
15
|
+
function h(e) {
|
|
16
|
+
return a(e) && !!e.type.__drawerFooter;
|
|
17
|
+
}
|
|
18
|
+
function g({ children: e }) {
|
|
19
|
+
return /* @__PURE__ */ u(l, { children: e });
|
|
20
|
+
}
|
|
21
|
+
g.__drawerHeader = !0;
|
|
22
|
+
function _({ children: e }) {
|
|
23
|
+
return /* @__PURE__ */ u(l, { children: e });
|
|
24
|
+
}
|
|
25
|
+
_.__drawerBody = !0;
|
|
26
|
+
function v({ children: e }) {
|
|
27
|
+
return /* @__PURE__ */ u(l, { children: e });
|
|
28
|
+
}
|
|
29
|
+
v.__drawerFooter = !0;
|
|
30
|
+
function y({ open: a, onClose: l, side: g = "right", size: _ = "md", overlay: v = !0, closeOnBackdrop: y = !0, closeOnEscape: b = !0, className: x, children: S, ...C }) {
|
|
31
|
+
let [w, T] = c(!1), [E, D] = c(!1), O = s(null);
|
|
32
|
+
if (o(() => {
|
|
33
|
+
a && (T(!0), D(!1));
|
|
34
|
+
}, [a]), o(() => {
|
|
35
|
+
if (!a && w) {
|
|
36
|
+
D(!0);
|
|
37
|
+
let e = setTimeout(() => {
|
|
38
|
+
T(!1), D(!1);
|
|
39
|
+
}, f);
|
|
40
|
+
return () => clearTimeout(e);
|
|
41
|
+
}
|
|
42
|
+
}, [a, w]), o(() => {
|
|
43
|
+
if (!a || !b) return;
|
|
44
|
+
let e = (e) => {
|
|
45
|
+
e.key === "Escape" && l();
|
|
46
|
+
};
|
|
47
|
+
return document.addEventListener("keydown", e), () => document.removeEventListener("keydown", e);
|
|
48
|
+
}, [
|
|
49
|
+
a,
|
|
50
|
+
b,
|
|
51
|
+
l
|
|
52
|
+
]), o(() => {
|
|
53
|
+
if (!w) return;
|
|
54
|
+
let e = document.body.style.overflow;
|
|
55
|
+
return document.body.style.overflow = "hidden", () => {
|
|
56
|
+
document.body.style.overflow = e;
|
|
57
|
+
};
|
|
58
|
+
}, [w]), !w) return null;
|
|
59
|
+
let k = (e) => {
|
|
60
|
+
y && e.target === e.currentTarget && l();
|
|
61
|
+
}, A = null, j = null, M = null, N = null, P = null, F = [];
|
|
62
|
+
i.forEach(S, (e) => {
|
|
63
|
+
if (p(e)) {
|
|
64
|
+
A = e.props.children, j = e.props;
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
if (m(e)) {
|
|
68
|
+
M = e.props, F.push(e.props.children);
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
if (h(e)) {
|
|
72
|
+
N = e.props.children, P = e.props;
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
F.push(e);
|
|
76
|
+
});
|
|
77
|
+
let I = j ?? { children: void 0 }, L = M ?? { children: void 0 }, R = P ?? { children: void 0 }, { children: z, className: B, bordered: V = !1, ...H } = I, { children: U, className: W, ...G } = L, { children: K, className: q, bordered: J = !1, ...Y } = R;
|
|
78
|
+
return /* @__PURE__ */ u(n, { children: /* @__PURE__ */ u("div", {
|
|
79
|
+
ref: O,
|
|
80
|
+
className: t("mineral-backdrop", "drawer-backdrop", !v && "no-overlay", E && "closing"),
|
|
81
|
+
onMouseDown: k,
|
|
82
|
+
children: /* @__PURE__ */ d("div", {
|
|
83
|
+
className: t("drawer", g, _, x),
|
|
84
|
+
role: "dialog",
|
|
85
|
+
"aria-modal": "true",
|
|
86
|
+
...C,
|
|
87
|
+
children: [
|
|
88
|
+
A && /* @__PURE__ */ d("div", {
|
|
89
|
+
...H,
|
|
90
|
+
className: t("drawer-header", V && "bordered", B),
|
|
91
|
+
children: [/* @__PURE__ */ u("div", {
|
|
92
|
+
className: "drawer-title",
|
|
93
|
+
children: A
|
|
94
|
+
}), /* @__PURE__ */ u(r, {
|
|
95
|
+
variant: "link",
|
|
96
|
+
color: "neutral",
|
|
97
|
+
iconOnly: !0,
|
|
98
|
+
size: "sm",
|
|
99
|
+
onClick: l,
|
|
100
|
+
"aria-label": "Close",
|
|
101
|
+
className: "close",
|
|
102
|
+
children: /* @__PURE__ */ u(e, {})
|
|
103
|
+
})]
|
|
104
|
+
}),
|
|
105
|
+
/* @__PURE__ */ u("div", {
|
|
106
|
+
...G,
|
|
107
|
+
className: t("drawer-body", W),
|
|
108
|
+
children: F
|
|
109
|
+
}),
|
|
110
|
+
N && /* @__PURE__ */ u("div", {
|
|
111
|
+
...Y,
|
|
112
|
+
className: t("drawer-footer", J && "bordered", q),
|
|
113
|
+
children: N
|
|
114
|
+
})
|
|
115
|
+
]
|
|
116
|
+
})
|
|
117
|
+
}) });
|
|
118
|
+
}
|
|
119
|
+
//#endregion
|
|
120
|
+
export { g as i, _ as n, v as r, y as t };
|
|
121
|
+
|
|
122
|
+
//# sourceMappingURL=MDrawer-00BvU8Dn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MDrawer-00BvU8Dn.js","names":[],"sources":["../src/components/overlays/MDrawer/MDrawer.tsx"],"sourcesContent":["import {Children, isValidElement, useEffect, useState, useRef} from 'react'\nimport type {MouseEvent, ReactElement, ReactNode} from 'react'\nimport type {MDrawerProps, MDrawerSectionProps} from './MDrawer.types'\nimport {MPortal} from '../../primitives'\nimport {MButton} from '../../controls'\nimport {MCloseIcon} from '../../../icons'\nimport {cn} from '../../../utils/cn'\nimport './MDrawer.css'\n\nconst EXIT_DURATION = 600\n\ntype DrawerSlotElement = ReactElement<MDrawerSectionProps>\n\nfunction isDrawerHeader(child: ReactNode): child is DrawerSlotElement {\n return isValidElement(child) && !!(child.type as any).__drawerHeader\n}\n\nfunction isDrawerBody(child: ReactNode): child is DrawerSlotElement {\n return isValidElement(child) && !!(child.type as any).__drawerBody\n}\n\nfunction isDrawerFooter(child: ReactNode): child is DrawerSlotElement {\n return isValidElement(child) && !!(child.type as any).__drawerFooter\n}\n\nexport function MDrawerHeader({children}: MDrawerSectionProps) {\n return <>{children}</>\n}\n;(MDrawerHeader as any).__drawerHeader = true\n\nexport function MDrawerBody({children}: MDrawerSectionProps) {\n return <>{children}</>\n}\n;(MDrawerBody as any).__drawerBody = true\n\nexport function MDrawerFooter({children}: MDrawerSectionProps) {\n return <>{children}</>\n}\n;(MDrawerFooter as any).__drawerFooter = true\n\nexport function MDrawer({\n open,\n onClose,\n side = 'right',\n size = 'md',\n overlay = true,\n closeOnBackdrop = true,\n closeOnEscape = true,\n className,\n children,\n ...rest\n}: MDrawerProps) {\n const [mounted, setMounted] = useState(false)\n const [closing, setClosing] = useState(false)\n const backdropRef = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n if (open) {\n setMounted(true)\n setClosing(false)\n }\n }, [open])\n\n useEffect(() => {\n if (!open && mounted) {\n setClosing(true)\n const timer = setTimeout(() => {\n setMounted(false)\n setClosing(false)\n }, EXIT_DURATION)\n return () => clearTimeout(timer)\n }\n }, [open, mounted])\n\n useEffect(() => {\n if (!open || !closeOnEscape) return\n\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Escape') onClose()\n }\n\n document.addEventListener('keydown', handleKeyDown)\n return () => document.removeEventListener('keydown', handleKeyDown)\n }, [open, closeOnEscape, onClose])\n\n useEffect(() => {\n if (!mounted) return\n\n const prev = document.body.style.overflow\n document.body.style.overflow = 'hidden'\n return () => {\n document.body.style.overflow = prev\n }\n }, [mounted])\n\n if (!mounted) return null\n\n const handleBackdropClick = (e: MouseEvent<HTMLDivElement>) => {\n if (closeOnBackdrop && e.target === e.currentTarget) onClose()\n }\n\n let header: ReactNode = null\n let headerProps: MDrawerSectionProps | null = null\n let bodyProps: MDrawerSectionProps | null = null\n let footer: ReactNode = null\n let footerProps: MDrawerSectionProps | null = null\n const body: ReactNode[] = []\n\n Children.forEach(children, (child) => {\n if (isDrawerHeader(child)) {\n header = child.props.children\n headerProps = child.props\n return\n }\n\n if (isDrawerBody(child)) {\n bodyProps = child.props\n body.push(child.props.children)\n return\n }\n\n if (isDrawerFooter(child)) {\n footer = child.props.children\n footerProps = child.props\n return\n }\n\n body.push(child)\n })\n\n const headerSection = headerProps ?? ({children: undefined} as MDrawerSectionProps)\n const bodySection = bodyProps ?? ({children: undefined} as MDrawerSectionProps)\n const footerSection = footerProps ?? ({children: undefined} as MDrawerSectionProps)\n const {\n children: _headerChildren,\n className: headerClassName,\n bordered: headerBordered = false,\n ...headerRest\n } = headerSection\n const {children: _bodyChildren, className: bodyClassName, ...bodyRest} = bodySection\n const {\n children: _footerChildren,\n className: footerClassName,\n bordered: footerBordered = false,\n ...footerRest\n } = footerSection\n\n return (\n <MPortal>\n <div\n ref={backdropRef}\n className={cn('mineral-backdrop', 'drawer-backdrop', !overlay && 'no-overlay', closing && 'closing')}\n onMouseDown={handleBackdropClick}\n >\n <div className={cn('drawer', side, size, className)} role=\"dialog\" aria-modal=\"true\" {...rest}>\n {header && (\n <div\n {...headerRest}\n className={cn('drawer-header', headerBordered && 'bordered', headerClassName)}\n >\n <div className=\"drawer-title\">{header}</div>\n <MButton\n variant=\"link\"\n color=\"neutral\"\n iconOnly\n size=\"sm\"\n onClick={onClose}\n aria-label=\"Close\"\n className=\"close\"\n >\n <MCloseIcon />\n </MButton>\n </div>\n )}\n <div {...bodyRest} className={cn('drawer-body', bodyClassName)}>\n {body}\n </div>\n {footer && (\n <div\n {...footerRest}\n className={cn('drawer-footer', footerBordered && 'bordered', footerClassName)}\n >\n {footer}\n </div>\n )}\n </div>\n </div>\n </MPortal>\n )\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require(`./MCloseIcon-6cfw9trj.cjs`),t=require(`./cn-SOcVdnX6.cjs`),n=require(`./MPortal-BysJLuEi.cjs`),r=require(`./MButton-C_WTyNvw.cjs`);let i=require(`react`),a=require(`react/jsx-runtime`);var o=600;function s(e){return(0,i.isValidElement)(e)&&!!e.type.__drawerHeader}function c(e){return(0,i.isValidElement)(e)&&!!e.type.__drawerBody}function l(e){return(0,i.isValidElement)(e)&&!!e.type.__drawerFooter}function u({children:e}){return(0,a.jsx)(a.Fragment,{children:e})}u.__drawerHeader=!0;function d({children:e}){return(0,a.jsx)(a.Fragment,{children:e})}d.__drawerBody=!0;function f({children:e}){return(0,a.jsx)(a.Fragment,{children:e})}f.__drawerFooter=!0;function p({open:u,onClose:d,side:f=`right`,size:p=`md`,overlay:m=!0,closeOnBackdrop:h=!0,closeOnEscape:g=!0,className:_,children:v,...y}){let[b,x]=(0,i.useState)(!1),[S,C]=(0,i.useState)(!1),w=(0,i.useRef)(null);if((0,i.useEffect)(()=>{u&&(x(!0),C(!1))},[u]),(0,i.useEffect)(()=>{if(!u&&b){C(!0);let e=setTimeout(()=>{x(!1),C(!1)},o);return()=>clearTimeout(e)}},[u,b]),(0,i.useEffect)(()=>{if(!u||!g)return;let e=e=>{e.key===`Escape`&&d()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[u,g,d]),(0,i.useEffect)(()=>{if(!b)return;let e=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=e}},[b]),!b)return null;let T=e=>{h&&e.target===e.currentTarget&&d()},E=null,D=null,O=null,k=null,A=null,j=[];i.Children.forEach(v,e=>{if(s(e)){E=e.props.children,D=e.props;return}if(c(e)){O=e.props,j.push(e.props.children);return}if(l(e)){k=e.props.children,A=e.props;return}j.push(e)});let M=D??{children:void 0},N=O??{children:void 0},P=A??{children:void 0},{children:F,className:I,bordered:L=!1,...R}=M,{children:z,className:B,...V}=N,{children:H,className:U,bordered:W=!1,...G}=P;return(0,a.jsx)(n.t,{children:(0,a.jsx)(`div`,{ref:w,className:t.t(`mineral-backdrop`,`drawer-backdrop`,!m&&`no-overlay`,S&&`closing`),onMouseDown:T,children:(0,a.jsxs)(`div`,{className:t.t(`drawer`,f,p,_),role:`dialog`,"aria-modal":`true`,...y,children:[E&&(0,a.jsxs)(`div`,{...R,className:t.t(`drawer-header`,L&&`bordered`,I),children:[(0,a.jsx)(`div`,{className:`drawer-title`,children:E}),(0,a.jsx)(r.t,{variant:`link`,color:`neutral`,iconOnly:!0,size:`sm`,onClick:d,"aria-label":`Close`,className:`close`,children:(0,a.jsx)(e.t,{})})]}),(0,a.jsx)(`div`,{...V,className:t.t(`drawer-body`,B),children:j}),k&&(0,a.jsx)(`div`,{...G,className:t.t(`drawer-footer`,W&&`bordered`,U),children:k})]})})})}Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return p}});
|
|
2
|
+
//# sourceMappingURL=MDrawer-FYS50FtQ.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MDrawer-FYS50FtQ.cjs","names":[],"sources":["../src/components/overlays/MDrawer/MDrawer.tsx"],"sourcesContent":["import {Children, isValidElement, useEffect, useState, useRef} from 'react'\nimport type {MouseEvent, ReactElement, ReactNode} from 'react'\nimport type {MDrawerProps, MDrawerSectionProps} from './MDrawer.types'\nimport {MPortal} from '../../primitives'\nimport {MButton} from '../../controls'\nimport {MCloseIcon} from '../../../icons'\nimport {cn} from '../../../utils/cn'\nimport './MDrawer.css'\n\nconst EXIT_DURATION = 600\n\ntype DrawerSlotElement = ReactElement<MDrawerSectionProps>\n\nfunction isDrawerHeader(child: ReactNode): child is DrawerSlotElement {\n return isValidElement(child) && !!(child.type as any).__drawerHeader\n}\n\nfunction isDrawerBody(child: ReactNode): child is DrawerSlotElement {\n return isValidElement(child) && !!(child.type as any).__drawerBody\n}\n\nfunction isDrawerFooter(child: ReactNode): child is DrawerSlotElement {\n return isValidElement(child) && !!(child.type as any).__drawerFooter\n}\n\nexport function MDrawerHeader({children}: MDrawerSectionProps) {\n return <>{children}</>\n}\n;(MDrawerHeader as any).__drawerHeader = true\n\nexport function MDrawerBody({children}: MDrawerSectionProps) {\n return <>{children}</>\n}\n;(MDrawerBody as any).__drawerBody = true\n\nexport function MDrawerFooter({children}: MDrawerSectionProps) {\n return <>{children}</>\n}\n;(MDrawerFooter as any).__drawerFooter = true\n\nexport function MDrawer({\n open,\n onClose,\n side = 'right',\n size = 'md',\n overlay = true,\n closeOnBackdrop = true,\n closeOnEscape = true,\n className,\n children,\n ...rest\n}: MDrawerProps) {\n const [mounted, setMounted] = useState(false)\n const [closing, setClosing] = useState(false)\n const backdropRef = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n if (open) {\n setMounted(true)\n setClosing(false)\n }\n }, [open])\n\n useEffect(() => {\n if (!open && mounted) {\n setClosing(true)\n const timer = setTimeout(() => {\n setMounted(false)\n setClosing(false)\n }, EXIT_DURATION)\n return () => clearTimeout(timer)\n }\n }, [open, mounted])\n\n useEffect(() => {\n if (!open || !closeOnEscape) return\n\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Escape') onClose()\n }\n\n document.addEventListener('keydown', handleKeyDown)\n return () => document.removeEventListener('keydown', handleKeyDown)\n }, [open, closeOnEscape, onClose])\n\n useEffect(() => {\n if (!mounted) return\n\n const prev = document.body.style.overflow\n document.body.style.overflow = 'hidden'\n return () => {\n document.body.style.overflow = prev\n }\n }, [mounted])\n\n if (!mounted) return null\n\n const handleBackdropClick = (e: MouseEvent<HTMLDivElement>) => {\n if (closeOnBackdrop && e.target === e.currentTarget) onClose()\n }\n\n let header: ReactNode = null\n let headerProps: MDrawerSectionProps | null = null\n let bodyProps: MDrawerSectionProps | null = null\n let footer: ReactNode = null\n let footerProps: MDrawerSectionProps | null = null\n const body: ReactNode[] = []\n\n Children.forEach(children, (child) => {\n if (isDrawerHeader(child)) {\n header = child.props.children\n headerProps = child.props\n return\n }\n\n if (isDrawerBody(child)) {\n bodyProps = child.props\n body.push(child.props.children)\n return\n }\n\n if (isDrawerFooter(child)) {\n footer = child.props.children\n footerProps = child.props\n return\n }\n\n body.push(child)\n })\n\n const headerSection = headerProps ?? ({children: undefined} as MDrawerSectionProps)\n const bodySection = bodyProps ?? ({children: undefined} as MDrawerSectionProps)\n const footerSection = footerProps ?? ({children: undefined} as MDrawerSectionProps)\n const {\n children: _headerChildren,\n className: headerClassName,\n bordered: headerBordered = false,\n ...headerRest\n } = headerSection\n const {children: _bodyChildren, className: bodyClassName, ...bodyRest} = bodySection\n const {\n children: _footerChildren,\n className: footerClassName,\n bordered: footerBordered = false,\n ...footerRest\n } = footerSection\n\n return (\n <MPortal>\n <div\n ref={backdropRef}\n className={cn('mineral-backdrop', 'drawer-backdrop', !overlay && 'no-overlay', closing && 'closing')}\n onMouseDown={handleBackdropClick}\n >\n <div className={cn('drawer', side, size, className)} role=\"dialog\" aria-modal=\"true\" {...rest}>\n {header && (\n <div\n {...headerRest}\n className={cn('drawer-header', headerBordered && 'bordered', headerClassName)}\n >\n <div className=\"drawer-title\">{header}</div>\n <MButton\n variant=\"link\"\n color=\"neutral\"\n iconOnly\n size=\"sm\"\n onClick={onClose}\n aria-label=\"Close\"\n className=\"close\"\n >\n <MCloseIcon />\n </MButton>\n </div>\n )}\n <div {...bodyRest} className={cn('drawer-body', bodyClassName)}>\n {body}\n </div>\n {footer && (\n <div\n {...footerRest}\n className={cn('drawer-footer', footerBordered && 'bordered', footerClassName)}\n >\n {footer}\n </div>\n )}\n </div>\n </div>\n </MPortal>\n )\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require(`./cn-SOcVdnX6.cjs`),t=require(`./useKeyboardNav-DBeCcTmg.cjs`),n=require(`./MPopover-BXPkE575.cjs`);let r=require(`react`),i=require(`react/jsx-runtime`);function a(e){return e.props}function o(e){return!!e.type.__dropdownItem}function s(e){return!!e.type.__dropdownGroup}function c(e){let t=[];return r.Children.forEach(e,e=>{(0,r.isValidElement)(e)&&(o(e)?t.push(e):s(e)&&r.Children.forEach(a(e).children,e=>{(0,r.isValidElement)(e)&&o(e)&&t.push(e)}))}),t}function l({trigger:l,placement:u=`bottom-start`,closeOnSelect:d=!0,openOn:f=`click`,onOpenChange:p,className:m,style:h,popoverClassName:g,popoverStyle:_,children:v}){let[y,b]=(0,r.useState)(!1),x=(0,r.useRef)(null),S=(0,r.useRef)(null),C=c(v),w=C.filter(e=>!a(e).disabled).length,T=(0,r.useCallback)(e=>{b(t=>{let n=typeof e==`function`?e(t):e;return p?.(n),n})},[p]),{activeIndex:E,setActiveIndex:D,onKeyDown:O}=t.t({itemCount:w,onSelect:(0,r.useCallback)(e=>{let t=0;for(let n of C){let r=a(n);if(!r.disabled){if(t===e){r.onClick?.();break}t++}}d&&T(!1)},[C,d,T]),onClose:()=>b(!1),isOpen:y}),k=()=>T(e=>!e),A=e=>{(e.key===`ArrowDown`||e.key===`Enter`||e.key===` `)&&(e.preventDefault(),T(!0)),y&&O(e)},j=0,M=e=>{if(!(0,r.isValidElement)(e))return e;if(o(e)){let t=a(e),n=t.disabled,i=n?-1:j++;return(0,r.cloneElement)(e,{_active:i===E,_onHover:n?void 0:()=>D(i),_onClick:()=>{n||(t.onClick?.(),d&&T(!1))}})}return s(e)?(0,r.cloneElement)(e,{children:r.Children.map(a(e).children,M)}):e},N=f===`hover`?{onMouseEnter:()=>{S.current&&clearTimeout(S.current),T(!0)},onMouseLeave:()=>{S.current=setTimeout(()=>T(!1),150)}}:{};return(0,i.jsxs)(`div`,{className:e.t(`dropdown menu anchor`,m),style:h,...N,children:[(0,i.jsx)(`div`,{ref:x,onClick:f===`click`?k:void 0,onKeyDown:A,role:`button`,tabIndex:0,className:`dropdown menu trigger`,children:l}),(0,i.jsx)(n.t,{open:y,anchorRef:x,onClose:()=>T(!1),placement:u,className:e.t(`dropdown menu popover`,g),style:_,children:(0,i.jsx)(`div`,{className:`dropdown menu list`,role:`menu`,...N,children:r.Children.map(v,M)})})]})}function u({icon:t,label:n,href:r,to:a,onClick:o,color:s,disabled:c=!1,active:l=!1,component:u,className:d,_active:f,_onHover:p,_onClick:m}){let h=f??l,g=(0,i.jsxs)(i.Fragment,{children:[t&&(0,i.jsx)(`span`,{className:`dropdown menu icon`,children:t}),(0,i.jsx)(`span`,{className:`dropdown menu label`,children:n})]}),_=e.t(`dropdown menu item`,h&&`active`,c&&`disabled`,s,d),v=e=>{if(c){e.preventDefault();return}o?.(),m?.()},y=u??(r||a?`a`:`button`),b=u?{...r?{href:r}:{},...a?{to:a}:{}}:r?{href:r}:a?{href:a}:{};return(0,i.jsx)(y,{className:_,role:`menuitem`,tabIndex:-1,onClick:v,onMouseEnter:p,"aria-disabled":c||void 0,...b,children:g})}u.__dropdownItem=!0;function d({label:e,children:t}){return(0,i.jsxs)(`div`,{className:`dropdown menu group`,role:`group`,children:[(0,i.jsx)(`div`,{className:`dropdown menu group-label`,children:e}),t]})}d.__dropdownGroup=!0;function f({className:t}){return(0,i.jsx)(`div`,{className:e.t(`dropdown menu divider`,t),role:`separator`})}Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return f}});
|
|
2
|
+
//# sourceMappingURL=MDropdownMenu-BLBdToIz.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MDropdownMenu-BLBdToIz.cjs","names":[],"sources":["../src/components/overlays/MDropdownMenu/MDropdownMenu.tsx"],"sourcesContent":["import {useState, useRef, useCallback, Children, isValidElement, cloneElement} from 'react'\nimport type * as React from 'react'\nimport {MPopover} from '../../primitives'\nimport {useKeyboardNav} from '../../../utils/useKeyboardNav'\nimport {cn} from '../../../utils/cn'\nimport type {\n MDropdownMenuProps,\n MDropdownItemProps,\n MDropdownGroupProps,\n MDropdownDividerProps,\n} from './MDropdownMenu.types'\nimport './MDropdownMenu.css'\n\ntype AnyProps = Record<string, any>\n\nfunction getProps(el: React.ReactElement): AnyProps {\n return el.props as AnyProps\n}\n\nfunction isItem(child: React.ReactElement): boolean {\n return !!(child.type as any).__dropdownItem\n}\n\nfunction isGroup(child: React.ReactElement): boolean {\n return !!(child.type as any).__dropdownGroup\n}\n\n// Collect all MDropdownItem elements from children (including inside groups).\nfunction collectItems(children: React.ReactNode): React.ReactElement[] {\n const items: React.ReactElement[] = []\n Children.forEach(children, (child) => {\n if (!isValidElement(child)) return\n if (isItem(child)) {\n items.push(child)\n } else if (isGroup(child)) {\n Children.forEach(getProps(child).children, (gc: React.ReactNode) => {\n if (isValidElement(gc) && isItem(gc)) {\n items.push(gc)\n }\n })\n }\n })\n return items\n}\n\nexport function MDropdownMenu({\n trigger,\n placement = 'bottom-start',\n closeOnSelect = true,\n openOn = 'click',\n onOpenChange,\n className,\n style,\n popoverClassName,\n popoverStyle,\n children,\n}: MDropdownMenuProps) {\n const [open, setOpen] = useState(false)\n const anchorRef = useRef<HTMLDivElement>(null)\n const hoverTimeout = useRef<ReturnType<typeof setTimeout>>(null)\n\n const items = collectItems(children)\n const enabledCount = items.filter((i) => !getProps(i).disabled).length\n\n const setMenuOpen = useCallback(\n (next: boolean | ((prev: boolean) => boolean)) => {\n setOpen((prev) => {\n const resolved = typeof next === 'function' ? next(prev) : next\n onOpenChange?.(resolved)\n return resolved\n })\n },\n [onOpenChange]\n )\n\n const handleSelect = useCallback(\n (index: number) => {\n let enabledIdx = 0\n for (const item of items) {\n const p = getProps(item)\n if (p.disabled) continue\n if (enabledIdx === index) {\n p.onClick?.()\n break\n }\n enabledIdx++\n }\n if (closeOnSelect) setMenuOpen(false)\n },\n [items, closeOnSelect, setMenuOpen]\n )\n\n const {activeIndex, setActiveIndex, onKeyDown} = useKeyboardNav({\n itemCount: enabledCount,\n onSelect: handleSelect,\n onClose: () => setOpen(false),\n isOpen: open,\n })\n\n const handleTriggerClick = () => setMenuOpen((o) => !o)\n\n const handleTriggerKeyDown = (e: React.KeyboardEvent) => {\n if (e.key === 'ArrowDown' || e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n setMenuOpen(true)\n }\n if (open) onKeyDown(e as any)\n }\n\n // Map active index back to flat child rendering with enabled-only tracking.\n let enabledIdx = 0\n const renderChild = (child: React.ReactNode): React.ReactNode => {\n if (!isValidElement(child)) return child\n\n if (isItem(child)) {\n const p = getProps(child)\n const isDisabled = p.disabled\n const idx = isDisabled ? -1 : enabledIdx++\n return cloneElement(child, {\n _active: idx === activeIndex,\n _onHover: isDisabled ? undefined : () => setActiveIndex(idx),\n _onClick: () => {\n if (isDisabled) return\n p.onClick?.()\n if (closeOnSelect) setMenuOpen(false)\n },\n } as AnyProps)\n }\n\n if (isGroup(child)) {\n return cloneElement(child, {\n children: Children.map(getProps(child).children, renderChild),\n } as AnyProps)\n }\n\n return child\n }\n\n const hoverHandlers =\n openOn === 'hover'\n ? {\n onMouseEnter: () => {\n if (hoverTimeout.current) clearTimeout(hoverTimeout.current)\n setMenuOpen(true)\n },\n onMouseLeave: () => {\n hoverTimeout.current = setTimeout(() => setMenuOpen(false), 150)\n },\n }\n : {}\n\n return (\n <div className={cn('dropdown menu anchor', className)} style={style} {...hoverHandlers}>\n <div\n ref={anchorRef}\n onClick={openOn === 'click' ? handleTriggerClick : undefined}\n onKeyDown={handleTriggerKeyDown}\n role=\"button\"\n tabIndex={0}\n className=\"dropdown menu trigger\"\n >\n {trigger}\n </div>\n <MPopover\n open={open}\n anchorRef={anchorRef}\n onClose={() => setMenuOpen(false)}\n placement={placement}\n className={cn('dropdown menu popover', popoverClassName)}\n style={popoverStyle}\n >\n <div className=\"dropdown menu list\" role=\"menu\" {...hoverHandlers}>\n {Children.map(children, renderChild)}\n </div>\n </MPopover>\n </div>\n )\n}\n\nexport function MDropdownItem({\n icon,\n label,\n href,\n to,\n onClick,\n color,\n disabled = false,\n active = false,\n component,\n className,\n _active,\n _onHover,\n _onClick,\n}: MDropdownItemProps & {_active?: boolean; _onHover?: () => void; _onClick?: () => void}) {\n const isHighlighted = _active ?? active\n\n const content = (\n <>\n {icon && <span className=\"dropdown menu icon\">{icon}</span>}\n <span className=\"dropdown menu label\">{label}</span>\n </>\n )\n\n const cls = cn('dropdown menu item', isHighlighted && 'active', disabled && 'disabled', color, className)\n\n const handleClick = (e: React.MouseEvent) => {\n if (disabled) {\n e.preventDefault()\n return\n }\n onClick?.()\n _onClick?.()\n }\n\n const Tag = component ?? (href || to ? 'a' : 'button')\n const linkProps = component ? {...(href ? {href} : {}), ...(to ? {to} : {})} : href ? {href} : to ? {href: to} : {}\n\n return (\n <Tag\n className={cls}\n role=\"menuitem\"\n tabIndex={-1}\n onClick={handleClick}\n onMouseEnter={_onHover}\n aria-disabled={disabled || undefined}\n {...linkProps}\n >\n {content}\n </Tag>\n )\n}\n;(MDropdownItem as any).__dropdownItem = true\n\nexport function MDropdownGroup({label, children}: MDropdownGroupProps) {\n return (\n <div className=\"dropdown menu group\" role=\"group\">\n <div className=\"dropdown menu group-label\">{label}</div>\n {children}\n </div>\n )\n}\n;(MDropdownGroup as any).__dropdownGroup = true\n\nexport function MDropdownDivider({className}: MDropdownDividerProps) {\n return <div className={cn('dropdown menu divider', className)} role=\"separator\" />\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { t as e } from "./cn-DZLxql0l.js";
|
|
2
|
+
import { t } from "./useKeyboardNav-DXvrPrx9.js";
|
|
3
|
+
import { t as n } from "./MPopover-DKBdLfrw.js";
|
|
4
|
+
import { Children as r, cloneElement as i, isValidElement as a, useCallback as o, useRef as s, useState as c } from "react";
|
|
5
|
+
import { Fragment as l, jsx as u, jsxs as d } from "react/jsx-runtime";
|
|
6
|
+
//#region src/components/overlays/MDropdownMenu/MDropdownMenu.tsx
|
|
7
|
+
function f(e) {
|
|
8
|
+
return e.props;
|
|
9
|
+
}
|
|
10
|
+
function p(e) {
|
|
11
|
+
return !!e.type.__dropdownItem;
|
|
12
|
+
}
|
|
13
|
+
function m(e) {
|
|
14
|
+
return !!e.type.__dropdownGroup;
|
|
15
|
+
}
|
|
16
|
+
function h(e) {
|
|
17
|
+
let t = [];
|
|
18
|
+
return r.forEach(e, (e) => {
|
|
19
|
+
a(e) && (p(e) ? t.push(e) : m(e) && r.forEach(f(e).children, (e) => {
|
|
20
|
+
a(e) && p(e) && t.push(e);
|
|
21
|
+
}));
|
|
22
|
+
}), t;
|
|
23
|
+
}
|
|
24
|
+
function g({ trigger: l, placement: g = "bottom-start", closeOnSelect: _ = !0, openOn: v = "click", onOpenChange: y, className: b, style: x, popoverClassName: S, popoverStyle: C, children: w }) {
|
|
25
|
+
let [T, E] = c(!1), D = s(null), O = s(null), k = h(w), A = k.filter((e) => !f(e).disabled).length, j = o((e) => {
|
|
26
|
+
E((t) => {
|
|
27
|
+
let n = typeof e == "function" ? e(t) : e;
|
|
28
|
+
return y?.(n), n;
|
|
29
|
+
});
|
|
30
|
+
}, [y]), { activeIndex: M, setActiveIndex: N, onKeyDown: P } = t({
|
|
31
|
+
itemCount: A,
|
|
32
|
+
onSelect: o((e) => {
|
|
33
|
+
let t = 0;
|
|
34
|
+
for (let n of k) {
|
|
35
|
+
let r = f(n);
|
|
36
|
+
if (!r.disabled) {
|
|
37
|
+
if (t === e) {
|
|
38
|
+
r.onClick?.();
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
t++;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
_ && j(!1);
|
|
45
|
+
}, [
|
|
46
|
+
k,
|
|
47
|
+
_,
|
|
48
|
+
j
|
|
49
|
+
]),
|
|
50
|
+
onClose: () => E(!1),
|
|
51
|
+
isOpen: T
|
|
52
|
+
}), F = () => j((e) => !e), I = (e) => {
|
|
53
|
+
(e.key === "ArrowDown" || e.key === "Enter" || e.key === " ") && (e.preventDefault(), j(!0)), T && P(e);
|
|
54
|
+
}, L = 0, R = (e) => {
|
|
55
|
+
if (!a(e)) return e;
|
|
56
|
+
if (p(e)) {
|
|
57
|
+
let t = f(e), n = t.disabled, r = n ? -1 : L++;
|
|
58
|
+
return i(e, {
|
|
59
|
+
_active: r === M,
|
|
60
|
+
_onHover: n ? void 0 : () => N(r),
|
|
61
|
+
_onClick: () => {
|
|
62
|
+
n || (t.onClick?.(), _ && j(!1));
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
return m(e) ? i(e, { children: r.map(f(e).children, R) }) : e;
|
|
67
|
+
}, z = v === "hover" ? {
|
|
68
|
+
onMouseEnter: () => {
|
|
69
|
+
O.current && clearTimeout(O.current), j(!0);
|
|
70
|
+
},
|
|
71
|
+
onMouseLeave: () => {
|
|
72
|
+
O.current = setTimeout(() => j(!1), 150);
|
|
73
|
+
}
|
|
74
|
+
} : {};
|
|
75
|
+
return /* @__PURE__ */ d("div", {
|
|
76
|
+
className: e("dropdown menu anchor", b),
|
|
77
|
+
style: x,
|
|
78
|
+
...z,
|
|
79
|
+
children: [/* @__PURE__ */ u("div", {
|
|
80
|
+
ref: D,
|
|
81
|
+
onClick: v === "click" ? F : void 0,
|
|
82
|
+
onKeyDown: I,
|
|
83
|
+
role: "button",
|
|
84
|
+
tabIndex: 0,
|
|
85
|
+
className: "dropdown menu trigger",
|
|
86
|
+
children: l
|
|
87
|
+
}), /* @__PURE__ */ u(n, {
|
|
88
|
+
open: T,
|
|
89
|
+
anchorRef: D,
|
|
90
|
+
onClose: () => j(!1),
|
|
91
|
+
placement: g,
|
|
92
|
+
className: e("dropdown menu popover", S),
|
|
93
|
+
style: C,
|
|
94
|
+
children: /* @__PURE__ */ u("div", {
|
|
95
|
+
className: "dropdown menu list",
|
|
96
|
+
role: "menu",
|
|
97
|
+
...z,
|
|
98
|
+
children: r.map(w, R)
|
|
99
|
+
})
|
|
100
|
+
})]
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
function _({ icon: t, label: n, href: r, to: i, onClick: a, color: o, disabled: s = !1, active: c = !1, component: f, className: p, _active: m, _onHover: h, _onClick: g }) {
|
|
104
|
+
let _ = m ?? c, v = /* @__PURE__ */ d(l, { children: [t && /* @__PURE__ */ u("span", {
|
|
105
|
+
className: "dropdown menu icon",
|
|
106
|
+
children: t
|
|
107
|
+
}), /* @__PURE__ */ u("span", {
|
|
108
|
+
className: "dropdown menu label",
|
|
109
|
+
children: n
|
|
110
|
+
})] }), y = e("dropdown menu item", _ && "active", s && "disabled", o, p), b = (e) => {
|
|
111
|
+
if (s) {
|
|
112
|
+
e.preventDefault();
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
a?.(), g?.();
|
|
116
|
+
}, x = f ?? (r || i ? "a" : "button"), S = f ? {
|
|
117
|
+
...r ? { href: r } : {},
|
|
118
|
+
...i ? { to: i } : {}
|
|
119
|
+
} : r ? { href: r } : i ? { href: i } : {};
|
|
120
|
+
return /* @__PURE__ */ u(x, {
|
|
121
|
+
className: y,
|
|
122
|
+
role: "menuitem",
|
|
123
|
+
tabIndex: -1,
|
|
124
|
+
onClick: b,
|
|
125
|
+
onMouseEnter: h,
|
|
126
|
+
"aria-disabled": s || void 0,
|
|
127
|
+
...S,
|
|
128
|
+
children: v
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
_.__dropdownItem = !0;
|
|
132
|
+
function v({ label: e, children: t }) {
|
|
133
|
+
return /* @__PURE__ */ d("div", {
|
|
134
|
+
className: "dropdown menu group",
|
|
135
|
+
role: "group",
|
|
136
|
+
children: [/* @__PURE__ */ u("div", {
|
|
137
|
+
className: "dropdown menu group-label",
|
|
138
|
+
children: e
|
|
139
|
+
}), t]
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
v.__dropdownGroup = !0;
|
|
143
|
+
function y({ className: t }) {
|
|
144
|
+
return /* @__PURE__ */ u("div", {
|
|
145
|
+
className: e("dropdown menu divider", t),
|
|
146
|
+
role: "separator"
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
//#endregion
|
|
150
|
+
export { g as i, v as n, _ as r, y as t };
|
|
151
|
+
|
|
152
|
+
//# sourceMappingURL=MDropdownMenu-BgOiM5yr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MDropdownMenu-BgOiM5yr.js","names":[],"sources":["../src/components/overlays/MDropdownMenu/MDropdownMenu.tsx"],"sourcesContent":["import {useState, useRef, useCallback, Children, isValidElement, cloneElement} from 'react'\nimport type * as React from 'react'\nimport {MPopover} from '../../primitives'\nimport {useKeyboardNav} from '../../../utils/useKeyboardNav'\nimport {cn} from '../../../utils/cn'\nimport type {\n MDropdownMenuProps,\n MDropdownItemProps,\n MDropdownGroupProps,\n MDropdownDividerProps,\n} from './MDropdownMenu.types'\nimport './MDropdownMenu.css'\n\ntype AnyProps = Record<string, any>\n\nfunction getProps(el: React.ReactElement): AnyProps {\n return el.props as AnyProps\n}\n\nfunction isItem(child: React.ReactElement): boolean {\n return !!(child.type as any).__dropdownItem\n}\n\nfunction isGroup(child: React.ReactElement): boolean {\n return !!(child.type as any).__dropdownGroup\n}\n\n// Collect all MDropdownItem elements from children (including inside groups).\nfunction collectItems(children: React.ReactNode): React.ReactElement[] {\n const items: React.ReactElement[] = []\n Children.forEach(children, (child) => {\n if (!isValidElement(child)) return\n if (isItem(child)) {\n items.push(child)\n } else if (isGroup(child)) {\n Children.forEach(getProps(child).children, (gc: React.ReactNode) => {\n if (isValidElement(gc) && isItem(gc)) {\n items.push(gc)\n }\n })\n }\n })\n return items\n}\n\nexport function MDropdownMenu({\n trigger,\n placement = 'bottom-start',\n closeOnSelect = true,\n openOn = 'click',\n onOpenChange,\n className,\n style,\n popoverClassName,\n popoverStyle,\n children,\n}: MDropdownMenuProps) {\n const [open, setOpen] = useState(false)\n const anchorRef = useRef<HTMLDivElement>(null)\n const hoverTimeout = useRef<ReturnType<typeof setTimeout>>(null)\n\n const items = collectItems(children)\n const enabledCount = items.filter((i) => !getProps(i).disabled).length\n\n const setMenuOpen = useCallback(\n (next: boolean | ((prev: boolean) => boolean)) => {\n setOpen((prev) => {\n const resolved = typeof next === 'function' ? next(prev) : next\n onOpenChange?.(resolved)\n return resolved\n })\n },\n [onOpenChange]\n )\n\n const handleSelect = useCallback(\n (index: number) => {\n let enabledIdx = 0\n for (const item of items) {\n const p = getProps(item)\n if (p.disabled) continue\n if (enabledIdx === index) {\n p.onClick?.()\n break\n }\n enabledIdx++\n }\n if (closeOnSelect) setMenuOpen(false)\n },\n [items, closeOnSelect, setMenuOpen]\n )\n\n const {activeIndex, setActiveIndex, onKeyDown} = useKeyboardNav({\n itemCount: enabledCount,\n onSelect: handleSelect,\n onClose: () => setOpen(false),\n isOpen: open,\n })\n\n const handleTriggerClick = () => setMenuOpen((o) => !o)\n\n const handleTriggerKeyDown = (e: React.KeyboardEvent) => {\n if (e.key === 'ArrowDown' || e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n setMenuOpen(true)\n }\n if (open) onKeyDown(e as any)\n }\n\n // Map active index back to flat child rendering with enabled-only tracking.\n let enabledIdx = 0\n const renderChild = (child: React.ReactNode): React.ReactNode => {\n if (!isValidElement(child)) return child\n\n if (isItem(child)) {\n const p = getProps(child)\n const isDisabled = p.disabled\n const idx = isDisabled ? -1 : enabledIdx++\n return cloneElement(child, {\n _active: idx === activeIndex,\n _onHover: isDisabled ? undefined : () => setActiveIndex(idx),\n _onClick: () => {\n if (isDisabled) return\n p.onClick?.()\n if (closeOnSelect) setMenuOpen(false)\n },\n } as AnyProps)\n }\n\n if (isGroup(child)) {\n return cloneElement(child, {\n children: Children.map(getProps(child).children, renderChild),\n } as AnyProps)\n }\n\n return child\n }\n\n const hoverHandlers =\n openOn === 'hover'\n ? {\n onMouseEnter: () => {\n if (hoverTimeout.current) clearTimeout(hoverTimeout.current)\n setMenuOpen(true)\n },\n onMouseLeave: () => {\n hoverTimeout.current = setTimeout(() => setMenuOpen(false), 150)\n },\n }\n : {}\n\n return (\n <div className={cn('dropdown menu anchor', className)} style={style} {...hoverHandlers}>\n <div\n ref={anchorRef}\n onClick={openOn === 'click' ? handleTriggerClick : undefined}\n onKeyDown={handleTriggerKeyDown}\n role=\"button\"\n tabIndex={0}\n className=\"dropdown menu trigger\"\n >\n {trigger}\n </div>\n <MPopover\n open={open}\n anchorRef={anchorRef}\n onClose={() => setMenuOpen(false)}\n placement={placement}\n className={cn('dropdown menu popover', popoverClassName)}\n style={popoverStyle}\n >\n <div className=\"dropdown menu list\" role=\"menu\" {...hoverHandlers}>\n {Children.map(children, renderChild)}\n </div>\n </MPopover>\n </div>\n )\n}\n\nexport function MDropdownItem({\n icon,\n label,\n href,\n to,\n onClick,\n color,\n disabled = false,\n active = false,\n component,\n className,\n _active,\n _onHover,\n _onClick,\n}: MDropdownItemProps & {_active?: boolean; _onHover?: () => void; _onClick?: () => void}) {\n const isHighlighted = _active ?? active\n\n const content = (\n <>\n {icon && <span className=\"dropdown menu icon\">{icon}</span>}\n <span className=\"dropdown menu label\">{label}</span>\n </>\n )\n\n const cls = cn('dropdown menu item', isHighlighted && 'active', disabled && 'disabled', color, className)\n\n const handleClick = (e: React.MouseEvent) => {\n if (disabled) {\n e.preventDefault()\n return\n }\n onClick?.()\n _onClick?.()\n }\n\n const Tag = component ?? (href || to ? 'a' : 'button')\n const linkProps = component ? {...(href ? {href} : {}), ...(to ? {to} : {})} : href ? {href} : to ? {href: to} : {}\n\n return (\n <Tag\n className={cls}\n role=\"menuitem\"\n tabIndex={-1}\n onClick={handleClick}\n onMouseEnter={_onHover}\n aria-disabled={disabled || undefined}\n {...linkProps}\n >\n {content}\n </Tag>\n )\n}\n;(MDropdownItem as any).__dropdownItem = true\n\nexport function MDropdownGroup({label, children}: MDropdownGroupProps) {\n return (\n <div className=\"dropdown menu group\" role=\"group\">\n <div className=\"dropdown menu group-label\">{label}</div>\n {children}\n </div>\n )\n}\n;(MDropdownGroup as any).__dropdownGroup = true\n\nexport function MDropdownDivider({className}: MDropdownDividerProps) {\n return <div className={cn('dropdown menu divider', className)} role=\"separator\" />\n}\n"],"mappings":";;;;;;AAeA,SAAS,EAAS,GAAkC;AAChD,QAAO,EAAG;;AAGd,SAAS,EAAO,GAAoC;AAChD,QAAO,CAAC,CAAE,EAAM,KAAa;;AAGjC,SAAS,EAAQ,GAAoC;AACjD,QAAO,CAAC,CAAE,EAAM,KAAa;;AAIjC,SAAS,EAAa,GAAiD;CACnE,IAAM,IAA8B,EAAE;AAatC,QAZA,EAAS,QAAQ,IAAW,MAAU;AAC7B,IAAe,EAAM,KACtB,EAAO,EAAM,GACb,EAAM,KAAK,EAAM,GACV,EAAQ,EAAM,IACrB,EAAS,QAAQ,EAAS,EAAM,CAAC,WAAW,MAAwB;AAChE,GAAI,EAAe,EAAG,IAAI,EAAO,EAAG,IAChC,EAAM,KAAK,EAAG;IAEpB;GAER,EACK;;AAGX,SAAgB,EAAc,EAC1B,YACA,eAAY,gBACZ,mBAAgB,IAChB,YAAS,SACT,iBACA,cACA,UACA,qBACA,iBACA,eACmB;CACnB,IAAM,CAAC,GAAM,KAAW,EAAS,GAAM,EACjC,IAAY,EAAuB,KAAK,EACxC,IAAe,EAAsC,KAAK,EAE1D,IAAQ,EAAa,EAAS,EAC9B,IAAe,EAAM,QAAQ,MAAM,CAAC,EAAS,EAAE,CAAC,SAAS,CAAC,QAE1D,IAAc,GACf,MAAiD;AAC9C,KAAS,MAAS;GACd,IAAM,IAAW,OAAO,KAAS,aAAa,EAAK,EAAK,GAAG;AAE3D,UADA,IAAe,EAAS,EACjB;IACT;IAEN,CAAC,EAAa,CACjB,EAmBK,EAAC,gBAAa,mBAAgB,iBAAa,EAAe;EAC5D,WAAW;EACX,UAnBiB,GAChB,MAAkB;GACf,IAAI,IAAa;AACjB,QAAK,IAAM,KAAQ,GAAO;IACtB,IAAM,IAAI,EAAS,EAAK;AACpB,WAAE,UACN;SAAI,MAAe,GAAO;AACtB,QAAE,WAAW;AACb;;AAEJ;;;AAEJ,GAAI,KAAe,EAAY,GAAM;KAEzC;GAAC;GAAO;GAAe;GAAY,CACtC;EAKG,eAAe,EAAQ,GAAM;EAC7B,QAAQ;EACX,CAAC,EAEI,UAA2B,GAAa,MAAM,CAAC,EAAE,EAEjD,KAAwB,MAA2B;AAKrD,GAJI,EAAE,QAAQ,eAAe,EAAE,QAAQ,WAAW,EAAE,QAAQ,SACxD,EAAE,gBAAgB,EAClB,EAAY,GAAK,GAEjB,KAAM,EAAU,EAAS;IAI7B,IAAa,GACX,KAAe,MAA4C;AAC7D,MAAI,CAAC,EAAe,EAAM,CAAE,QAAO;AAEnC,MAAI,EAAO,EAAM,EAAE;GACf,IAAM,IAAI,EAAS,EAAM,EACnB,IAAa,EAAE,UACf,IAAM,IAAa,KAAK;AAC9B,UAAO,EAAa,GAAO;IACvB,SAAS,MAAQ;IACjB,UAAU,IAAa,KAAA,UAAkB,EAAe,EAAI;IAC5D,gBAAgB;AACR,WACJ,EAAE,WAAW,EACT,KAAe,EAAY,GAAM;;IAE5C,CAAa;;AASlB,SANI,EAAQ,EAAM,GACP,EAAa,GAAO,EACvB,UAAU,EAAS,IAAI,EAAS,EAAM,CAAC,UAAU,EAAY,EAChE,CAAa,GAGX;IAGL,IACF,MAAW,UACL;EACI,oBAAoB;AAEhB,GADI,EAAa,WAAS,aAAa,EAAa,QAAQ,EAC5D,EAAY,GAAK;;EAErB,oBAAoB;AAChB,KAAa,UAAU,iBAAiB,EAAY,GAAM,EAAE,IAAI;;EAEvE,GACD,EAAE;AAEZ,QACI,kBAAC,OAAD;EAAK,WAAW,EAAG,wBAAwB,EAAU;EAAS;EAAO,GAAI;YAAzE,CACI,kBAAC,OAAD;GACI,KAAK;GACL,SAAS,MAAW,UAAU,IAAqB,KAAA;GACnD,WAAW;GACX,MAAK;GACL,UAAU;GACV,WAAU;aAET;GACC,CAAA,EACN,kBAAC,GAAD;GACU;GACK;GACX,eAAe,EAAY,GAAM;GACtB;GACX,WAAW,EAAG,yBAAyB,EAAiB;GACxD,OAAO;aAEP,kBAAC,OAAD;IAAK,WAAU;IAAqB,MAAK;IAAO,GAAI;cAC/C,EAAS,IAAI,GAAU,EAAY;IAClC,CAAA;GACC,CAAA,CACT;;;AAId,SAAgB,EAAc,EAC1B,SACA,UACA,SACA,OACA,YACA,UACA,cAAW,IACX,YAAS,IACT,cACA,cACA,YACA,aACA,eACuF;CACvF,IAAM,IAAgB,KAAW,GAE3B,IACF,kBAAA,GAAA,EAAA,UAAA,CACK,KAAQ,kBAAC,QAAD;EAAM,WAAU;YAAsB;EAAY,CAAA,EAC3D,kBAAC,QAAD;EAAM,WAAU;YAAuB;EAAa,CAAA,CACrD,EAAA,CAAA,EAGD,IAAM,EAAG,sBAAsB,KAAiB,UAAU,KAAY,YAAY,GAAO,EAAU,EAEnG,KAAe,MAAwB;AACzC,MAAI,GAAU;AACV,KAAE,gBAAgB;AAClB;;AAGJ,EADA,KAAW,EACX,KAAY;IAGV,IAAM,MAAc,KAAQ,IAAK,MAAM,WACvC,IAAY,IAAY;EAAC,GAAI,IAAO,EAAC,SAAK,GAAG,EAAE;EAAG,GAAI,IAAK,EAAC,OAAG,GAAG,EAAE;EAAE,GAAG,IAAO,EAAC,SAAK,GAAG,IAAK,EAAC,MAAM,GAAG,GAAG,EAAE;AAEnH,QACI,kBAAC,GAAD;EACI,WAAW;EACX,MAAK;EACL,UAAU;EACV,SAAS;EACT,cAAc;EACd,iBAAe,KAAY,KAAA;EAC3B,GAAI;YAEH;EACC,CAAA;;AAGb,EAAuB,iBAAiB;AAEzC,SAAgB,EAAe,EAAC,UAAO,eAAgC;AACnE,QACI,kBAAC,OAAD;EAAK,WAAU;EAAsB,MAAK;YAA1C,CACI,kBAAC,OAAD;GAAK,WAAU;aAA6B;GAAY,CAAA,EACvD,EACC;;;AAGb,EAAwB,kBAAkB;AAE3C,SAAgB,EAAiB,EAAC,gBAAmC;AACjE,QAAO,kBAAC,OAAD;EAAK,WAAW,EAAG,yBAAyB,EAAU;EAAE,MAAK;EAAc,CAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require(`./MIcon-CX5beo32.cjs`);let t=require(`react`),n=require(`react/jsx-runtime`);var r=(0,t.forwardRef)(function(t,r){return(0,n.jsxs)(e.t,{ref:r,...t,children:[(0,n.jsx)(`circle`,{cx:`12`,cy:`6`,r:`1.8`,fill:`currentColor`,stroke:`none`}),(0,n.jsx)(`circle`,{cx:`12`,cy:`12`,r:`1.8`,fill:`currentColor`,stroke:`none`}),(0,n.jsx)(`circle`,{cx:`12`,cy:`18`,r:`1.8`,fill:`currentColor`,stroke:`none`})]})});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
|
|
2
|
+
//# sourceMappingURL=MEllipsisVerticalIcon-C87B9UQK.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MEllipsisVerticalIcon-C87B9UQK.cjs","names":[],"sources":["../src/icons/glyphs/MEllipsisVerticalIcon.tsx"],"sourcesContent":["import {forwardRef} from 'react'\nimport {MIcon} from '../MIcon'\nimport type {MIconProps} from '../MIcon.types'\n\nexport const MEllipsisVerticalIcon = forwardRef<SVGSVGElement, MIconProps>(function MEllipsisVerticalIcon(props, ref) {\n return (\n <MIcon ref={ref} {...props}>\n <circle cx=\"12\" cy=\"6\" r=\"1.8\" fill=\"currentColor\" stroke=\"none\" />\n <circle cx=\"12\" cy=\"12\" r=\"1.8\" fill=\"currentColor\" stroke=\"none\" />\n <circle cx=\"12\" cy=\"18\" r=\"1.8\" fill=\"currentColor\" stroke=\"none\" />\n </MIcon>\n )\n})\n"],"mappings":"8FAIA,IAAa,GAAA,EAAA,EAAA,YAA8D,SAA+B,EAAO,EAAK,CAClH,OACI,EAAA,EAAA,MAAC,EAAA,EAAD,CAAY,MAAK,GAAI,WAArB,EACI,EAAA,EAAA,KAAC,SAAD,CAAQ,GAAG,KAAK,GAAG,IAAI,EAAE,MAAM,KAAK,eAAe,OAAO,OAAS,CAAA,EACnE,EAAA,EAAA,KAAC,SAAD,CAAQ,GAAG,KAAK,GAAG,KAAK,EAAE,MAAM,KAAK,eAAe,OAAO,OAAS,CAAA,EACpE,EAAA,EAAA,KAAC,SAAD,CAAQ,GAAG,KAAK,GAAG,KAAK,EAAE,MAAM,KAAK,eAAe,OAAO,OAAS,CAAA,CAChE,IAEd"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { t as e } from "./MIcon-BPr09_p4.js";
|
|
2
|
+
import { forwardRef as t } from "react";
|
|
3
|
+
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
4
|
+
//#region src/icons/glyphs/MEllipsisVerticalIcon.tsx
|
|
5
|
+
var i = t(function(t, i) {
|
|
6
|
+
return /* @__PURE__ */ r(e, {
|
|
7
|
+
ref: i,
|
|
8
|
+
...t,
|
|
9
|
+
children: [
|
|
10
|
+
/* @__PURE__ */ n("circle", {
|
|
11
|
+
cx: "12",
|
|
12
|
+
cy: "6",
|
|
13
|
+
r: "1.8",
|
|
14
|
+
fill: "currentColor",
|
|
15
|
+
stroke: "none"
|
|
16
|
+
}),
|
|
17
|
+
/* @__PURE__ */ n("circle", {
|
|
18
|
+
cx: "12",
|
|
19
|
+
cy: "12",
|
|
20
|
+
r: "1.8",
|
|
21
|
+
fill: "currentColor",
|
|
22
|
+
stroke: "none"
|
|
23
|
+
}),
|
|
24
|
+
/* @__PURE__ */ n("circle", {
|
|
25
|
+
cx: "12",
|
|
26
|
+
cy: "18",
|
|
27
|
+
r: "1.8",
|
|
28
|
+
fill: "currentColor",
|
|
29
|
+
stroke: "none"
|
|
30
|
+
})
|
|
31
|
+
]
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
//#endregion
|
|
35
|
+
export { i as t };
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=MEllipsisVerticalIcon-CNn1AQ8W.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MEllipsisVerticalIcon-CNn1AQ8W.js","names":[],"sources":["../src/icons/glyphs/MEllipsisVerticalIcon.tsx"],"sourcesContent":["import {forwardRef} from 'react'\nimport {MIcon} from '../MIcon'\nimport type {MIconProps} from '../MIcon.types'\n\nexport const MEllipsisVerticalIcon = forwardRef<SVGSVGElement, MIconProps>(function MEllipsisVerticalIcon(props, ref) {\n return (\n <MIcon ref={ref} {...props}>\n <circle cx=\"12\" cy=\"6\" r=\"1.8\" fill=\"currentColor\" stroke=\"none\" />\n <circle cx=\"12\" cy=\"12\" r=\"1.8\" fill=\"currentColor\" stroke=\"none\" />\n <circle cx=\"12\" cy=\"18\" r=\"1.8\" fill=\"currentColor\" stroke=\"none\" />\n </MIcon>\n )\n})\n"],"mappings":";;;;AAIA,IAAa,IAAwB,EAAsC,SAA+B,GAAO,GAAK;AAClH,QACI,kBAAC,GAAD;EAAY;EAAK,GAAI;YAArB;GACI,kBAAC,UAAD;IAAQ,IAAG;IAAK,IAAG;IAAI,GAAE;IAAM,MAAK;IAAe,QAAO;IAAS,CAAA;GACnE,kBAAC,UAAD;IAAQ,IAAG;IAAK,IAAG;IAAK,GAAE;IAAM,MAAK;IAAe,QAAO;IAAS,CAAA;GACpE,kBAAC,UAAD;IAAQ,IAAG;IAAK,IAAG;IAAK,GAAE;IAAM,MAAK;IAAe,QAAO;IAAS,CAAA;GAChE;;EAEd"}
|
|
@@ -142,4 +142,4 @@ var f = d("MFileTxtIcon", "TXT", "#475569"), p = d("MFileDocsIcon", "DOCS", "#25
|
|
|
142
142
|
//#endregion
|
|
143
143
|
export { a as A, E as C, c as D, P as E, s as O, f as S, A as T, N as _, T as a, D as b, y as c, v as d, I as f, C as g, S as h, g as i, i as j, o as k, h as l, _ as m, j as n, b as o, L as p, p as r, m as s, x as t, k as u, F as v, M as w, O as x, w as y };
|
|
144
144
|
|
|
145
|
-
//# sourceMappingURL=MFileExtIcons-
|
|
145
|
+
//# sourceMappingURL=MFileExtIcons-BoG3GPxg.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MFileExtIcons-H7zvI8AL.js","names":[],"sources":["../src/icons/glyphs/MFileIcon.tsx","../src/icons/glyphs/MFileTextIcon.tsx","../src/icons/glyphs/MFilePdfIcon.tsx","../src/icons/glyphs/MFileImageIcon.tsx","../src/icons/glyphs/MFileCodeIcon.tsx","../src/icons/glyphs/MFileMark.tsx","../src/icons/glyphs/MFileExtIcons.tsx"],"sourcesContent":["import {forwardRef} from 'react'\nimport {MIcon} from '../MIcon'\nimport type {MIconProps} from '../MIcon.types'\n\nexport const MFileIcon = forwardRef<SVGSVGElement, MIconProps>(function MFileIcon(props, ref) {\n return (\n <MIcon ref={ref} {...props}>\n <path d=\"M7 3.5h7l4 4v12a1 1 0 0 1-1 1H7a2 2 0 0 1-2-2v-13a2 2 0 0 1 2-2z\" />\n <path d=\"M14 3.5V8h4\" />\n </MIcon>\n )\n})\n","import {forwardRef} from 'react'\nimport {MIcon} from '../MIcon'\nimport type {MIconProps} from '../MIcon.types'\n\nexport const MFileTextIcon = forwardRef<SVGSVGElement, MIconProps>(function MFileTextIcon(props, ref) {\n return (\n <MIcon ref={ref} {...props}>\n <path d=\"M7 3.5h7l4 4v12a1 1 0 0 1-1 1H7a2 2 0 0 1-2-2v-13a2 2 0 0 1 2-2z\" />\n <path d=\"M14 3.5V8h4\" />\n <path d=\"M8.5 11h7M8.5 13.75h7M8.5 16.5h5.5\" />\n </MIcon>\n )\n})\n","import {forwardRef} from 'react'\nimport {MIcon} from '../MIcon'\nimport type {MIconProps} from '../MIcon.types'\n\nexport const MFilePdfIcon = forwardRef<SVGSVGElement, MIconProps>(function MFilePdfIcon(props, ref) {\n return (\n <MIcon ref={ref} {...props}>\n <path d=\"M7 3.5h7l4 4v12a1 1 0 0 1-1 1H7a2 2 0 0 1-2-2v-13a2 2 0 0 1 2-2z\" />\n <path d=\"M14 3.5V8h4\" />\n <path\n d=\"M7.1 11.35h9.8a1.3 1.3 0 0 1 1.3 1.3v4.15a1.3 1.3 0 0 1-1.3 1.3H7.1a1.3 1.3 0 0 1-1.3-1.3v-4.15a1.3 1.3 0 0 1 1.3-1.3z\"\n fill=\"#ef4444\"\n stroke=\"none\"\n />\n <path d=\"M9 16v-2.75h1.05a.8.8 0 1 1 0 1.6H9\" stroke=\"#fff\" />\n <path d=\"M11.95 16v-2.75h.55a1.1 1.1 0 0 1 0 2.75h-.55z\" stroke=\"#fff\" />\n <path d=\"M14.9 16v-2.75h1.45M14.9 14.65h1.05\" stroke=\"#fff\" />\n </MIcon>\n )\n})\n","import {forwardRef} from 'react'\nimport {MIcon} from '../MIcon'\nimport type {MIconProps} from '../MIcon.types'\n\nexport const MFileImageIcon = forwardRef<SVGSVGElement, MIconProps>(function MFileImageIcon(props, ref) {\n return (\n <MIcon ref={ref} {...props}>\n <path d=\"M7 3.5h7l4 4v12a1 1 0 0 1-1 1H7a2 2 0 0 1-2-2v-13a2 2 0 0 1 2-2z\" />\n <path d=\"M14 3.5V8h4\" />\n <path\n d=\"M7.15 11.25h9.7a1.25 1.25 0 0 1 1.25 1.25v4.35a1.25 1.25 0 0 1-1.25 1.25h-9.7A1.25 1.25 0 0 1 5.9 16.85V12.5a1.25 1.25 0 0 1 1.25-1.25z\"\n fill=\"#14b8a6\"\n stroke=\"none\"\n />\n <circle cx=\"14.7\" cy=\"13.4\" r=\"0.9\" fill=\"#f8fafc\" stroke=\"none\" />\n <path d=\"M7.65 17.2l2.6-2.8 1.8 1.9 1.4-1.4 2.9 2.3\" stroke=\"#f8fafc\" />\n </MIcon>\n )\n})\n","import {forwardRef} from 'react'\nimport {MIcon} from '../MIcon'\nimport type {MIconProps} from '../MIcon.types'\n\nexport const MFileCodeIcon = forwardRef<SVGSVGElement, MIconProps>(function MFileCodeIcon(props, ref) {\n return (\n <MIcon ref={ref} {...props}>\n <path d=\"M7 3.5h7l4 4v12a1 1 0 0 1-1 1H7a2 2 0 0 1-2-2v-13a2 2 0 0 1 2-2z\" />\n <path d=\"M14 3.5V8h4\" />\n <path\n d=\"M7.15 11.25h9.7a1.25 1.25 0 0 1 1.25 1.25v4.35a1.25 1.25 0 0 1-1.25 1.25h-9.7A1.25 1.25 0 0 1 5.9 16.85V12.5a1.25 1.25 0 0 1 1.25-1.25z\"\n fill=\"#2563eb\"\n stroke=\"none\"\n />\n <path d=\"M9.6 13.6l-1.6 1.55 1.6 1.55M14.4 13.6l1.6 1.55-1.6 1.55M12.8 13l-1.6 4.2\" stroke=\"#f8fafc\" />\n </MIcon>\n )\n})\n","import {forwardRef} from 'react'\nimport {MIcon} from '../MIcon'\nimport type {MIconProps} from '../MIcon.types'\n\ninterface FileMarkProps extends MIconProps {\n mark: string\n fill: string\n markColor?: string\n accent?: string\n}\n\nfunction getMarkSize(mark: string) {\n if (mark.length <= 3) {\n return 4\n }\n\n if (mark.length === 4) {\n return 3.35\n }\n\n return 3\n}\n\nexport const MFileMark = forwardRef<SVGSVGElement, FileMarkProps>(function MFileMark(\n {mark, fill, markColor = '#f8fafc', accent, ...props},\n ref\n) {\n const fontSize = getMarkSize(mark)\n\n return (\n <MIcon ref={ref} {...props}>\n <path d=\"M7 3.5h7l4 4v12a1 1 0 0 1-1 1H7a2 2 0 0 1-2-2v-13a2 2 0 0 1 2-2z\" />\n <path d=\"M14 3.5V8h4\" />\n <path\n d=\"M6 11.15h12a1.35 1.35 0 0 1 1.35 1.35v4.4A1.35 1.35 0 0 1 18 18.25H6a1.35 1.35 0 0 1-1.35-1.35v-4.4A1.35 1.35 0 0 1 6 11.15z\"\n fill={fill}\n stroke=\"none\"\n />\n <path d=\"M7.2 9.7h5.6\" stroke={accent ?? fill} />\n <text\n x=\"12\"\n y=\"15.35\"\n fill={markColor}\n stroke=\"none\"\n textAnchor=\"middle\"\n fontSize={fontSize}\n fontWeight=\"700\"\n fontFamily=\"system-ui, sans-serif\"\n >\n {mark}\n </text>\n </MIcon>\n )\n})\n","import {forwardRef} from 'react'\nimport {MFileMark} from './MFileMark'\nimport type {MIconProps} from '../MIcon.types'\n\nfunction makeFileIcon(name: string, mark: string, fill: string, markColor?: string) {\n const FileExtIcon = forwardRef<SVGSVGElement, MIconProps>(function FileExtIcon(props, ref) {\n return <MFileMark ref={ref} mark={mark} fill={fill} markColor={markColor} {...props} />\n })\n\n FileExtIcon.displayName = name\n\n return FileExtIcon\n}\n\nexport const MFileTxtIcon = makeFileIcon('MFileTxtIcon', 'TXT', '#475569')\nexport const MFileDocsIcon = makeFileIcon('MFileDocsIcon', 'DOCS', '#2563eb')\nexport const MFileJpgIcon = makeFileIcon('MFileJpgIcon', 'JPG', '#ea580c')\nexport const MFileJsonIcon = makeFileIcon('MFileJsonIcon', 'JSON', '#f59e0b', '#111827')\nexport const MFileExeIcon = makeFileIcon('MFileExeIcon', 'EXE', '#1f2937')\nexport const MFileOdtIcon = makeFileIcon('MFileOdtIcon', 'ODT', '#0f766e')\nexport const MFileMdIcon = makeFileIcon('MFileMdIcon', 'MD', '#334155')\nexport const MFileJsIcon = makeFileIcon('MFileJsIcon', 'JS', '#facc15', '#111827')\nexport const MFileHtmlIcon = makeFileIcon('MFileHtmlIcon', 'HTML', '#ea580c')\nexport const MFileCssIcon = makeFileIcon('MFileCssIcon', 'CSS', '#2563eb')\nexport const MFilePhpIcon = makeFileIcon('MFilePhpIcon', 'PHP', '#7c3aed')\nexport const MFilePngIcon = makeFileIcon('MFilePngIcon', 'PNG', '#0891b2')\nexport const MFileSvgIcon = makeFileIcon('MFileSvgIcon', 'SVG', '#f97316')\nexport const MFileGifIcon = makeFileIcon('MFileGifIcon', 'GIF', '#ec4899')\nexport const MFileWebpIcon = makeFileIcon('MFileWebpIcon', 'WEBP', '#0f766e')\nexport const MFileTsIcon = makeFileIcon('MFileTsIcon', 'TS', '#2563eb')\nexport const MFileTsxIcon = makeFileIcon('MFileTsxIcon', 'TSX', '#0284c7')\nexport const MFileJsxIcon = makeFileIcon('MFileJsxIcon', 'JSX', '#0ea5e9')\nexport const MFileXmlIcon = makeFileIcon('MFileXmlIcon', 'XML', '#7c2d12')\nexport const MFileCsvIcon = makeFileIcon('MFileCsvIcon', 'CSV', '#15803d')\nexport const MFileXlsIcon = makeFileIcon('MFileXlsIcon', 'XLS', '#166534')\nexport const MFilePptIcon = makeFileIcon('MFilePptIcon', 'PPT', '#dc2626')\nexport const MFileZipIcon = makeFileIcon('MFileZipIcon', 'ZIP', '#a16207')\nexport const MFileRarIcon = makeFileIcon('MFileRarIcon', 'RAR', '#92400e')\nexport const MFileMp3Icon = makeFileIcon('MFileMp3Icon', 'MP3', '#9333ea')\nexport const MFileMp4Icon = makeFileIcon('MFileMp4Icon', 'MP4', '#be123c')\n"],"mappings":";;;;AAIA,IAAa,IAAY,EAAsC,SAAmB,GAAO,GAAK;AAC1F,QACI,kBAAC,GAAD;EAAY;EAAK,GAAI;YAArB,CACI,kBAAC,QAAD,EAAM,GAAE,oEAAqE,CAAA,EAC7E,kBAAC,QAAD,EAAM,GAAE,eAAgB,CAAA,CACpB;;EAEd,ECPW,IAAgB,EAAsC,SAAuB,GAAO,GAAK;AAClG,QACI,kBAAC,GAAD;EAAY;EAAK,GAAI;YAArB;GACI,kBAAC,QAAD,EAAM,GAAE,oEAAqE,CAAA;GAC7E,kBAAC,QAAD,EAAM,GAAE,eAAgB,CAAA;GACxB,kBAAC,QAAD,EAAM,GAAE,sCAAuC,CAAA;GAC3C;;EAEd,ECRW,IAAe,EAAsC,SAAsB,GAAO,GAAK;AAChG,QACI,kBAAC,GAAD;EAAY;EAAK,GAAI;YAArB;GACI,kBAAC,QAAD,EAAM,GAAE,oEAAqE,CAAA;GAC7E,kBAAC,QAAD,EAAM,GAAE,eAAgB,CAAA;GACxB,kBAAC,QAAD;IACI,GAAE;IACF,MAAK;IACL,QAAO;IACT,CAAA;GACF,kBAAC,QAAD;IAAM,GAAE;IAAsC,QAAO;IAAS,CAAA;GAC9D,kBAAC,QAAD;IAAM,GAAE;IAAiD,QAAO;IAAS,CAAA;GACzE,kBAAC,QAAD;IAAM,GAAE;IAAsC,QAAO;IAAS,CAAA;GAC1D;;EAEd,ECfW,IAAiB,EAAsC,SAAwB,GAAO,GAAK;AACpG,QACI,kBAAC,GAAD;EAAY;EAAK,GAAI;YAArB;GACI,kBAAC,QAAD,EAAM,GAAE,oEAAqE,CAAA;GAC7E,kBAAC,QAAD,EAAM,GAAE,eAAgB,CAAA;GACxB,kBAAC,QAAD;IACI,GAAE;IACF,MAAK;IACL,QAAO;IACT,CAAA;GACF,kBAAC,UAAD;IAAQ,IAAG;IAAO,IAAG;IAAO,GAAE;IAAM,MAAK;IAAU,QAAO;IAAS,CAAA;GACnE,kBAAC,QAAD;IAAM,GAAE;IAA6C,QAAO;IAAY,CAAA;GACpE;;EAEd,ECdW,IAAgB,EAAsC,SAAuB,GAAO,GAAK;AAClG,QACI,kBAAC,GAAD;EAAY;EAAK,GAAI;YAArB;GACI,kBAAC,QAAD,EAAM,GAAE,oEAAqE,CAAA;GAC7E,kBAAC,QAAD,EAAM,GAAE,eAAgB,CAAA;GACxB,kBAAC,QAAD;IACI,GAAE;IACF,MAAK;IACL,QAAO;IACT,CAAA;GACF,kBAAC,QAAD;IAAM,GAAE;IAA4E,QAAO;IAAY,CAAA;GACnG;;EAEd;;;ACNF,SAAS,EAAY,GAAc;AAS/B,QARI,EAAK,UAAU,IACR,IAGP,EAAK,WAAW,IACT,OAGJ;;AAGX,IAAa,IAAY,EAAyC,SAC9D,EAAC,SAAM,SAAM,eAAY,WAAW,WAAQ,GAAG,KAC/C,GACF;CACE,IAAM,IAAW,EAAY,EAAK;AAElC,QACI,kBAAC,GAAD;EAAY;EAAK,GAAI;YAArB;GACI,kBAAC,QAAD,EAAM,GAAE,oEAAqE,CAAA;GAC7E,kBAAC,QAAD,EAAM,GAAE,eAAgB,CAAA;GACxB,kBAAC,QAAD;IACI,GAAE;IACI;IACN,QAAO;IACT,CAAA;GACF,kBAAC,QAAD;IAAM,GAAE;IAAe,QAAQ,KAAU;IAAQ,CAAA;GACjD,kBAAC,QAAD;IACI,GAAE;IACF,GAAE;IACF,MAAM;IACN,QAAO;IACP,YAAW;IACD;IACV,YAAW;IACX,YAAW;cAEV;IACE,CAAA;GACH;;EAEd;;;ACjDF,SAAS,EAAa,GAAc,GAAc,GAAc,GAAoB;CAChF,IAAM,IAAc,EAAsC,SAAqB,GAAO,GAAK;AACvF,SAAO,kBAAC,GAAD;GAAgB;GAAW;GAAY;GAAiB;GAAW,GAAI;GAAS,CAAA;GACzF;AAIF,QAFA,EAAY,cAAc,GAEnB;;AAGX,IAAa,IAAe,EAAa,gBAAgB,OAAO,UAAU,EAC7D,IAAgB,EAAa,iBAAiB,QAAQ,UAAU,EAChE,IAAe,EAAa,gBAAgB,OAAO,UAAU,EAC7D,IAAgB,EAAa,iBAAiB,QAAQ,WAAW,UAAU,EAC3E,IAAe,EAAa,gBAAgB,OAAO,UAAU,EAC7D,IAAe,EAAa,gBAAgB,OAAO,UAAU,EAC7D,IAAc,EAAa,eAAe,MAAM,UAAU,EAC1D,IAAc,EAAa,eAAe,MAAM,WAAW,UAAU,EACrE,IAAgB,EAAa,iBAAiB,QAAQ,UAAU,EAChE,IAAe,EAAa,gBAAgB,OAAO,UAAU,EAC7D,IAAe,EAAa,gBAAgB,OAAO,UAAU,EAC7D,IAAe,EAAa,gBAAgB,OAAO,UAAU,EAC7D,IAAe,EAAa,gBAAgB,OAAO,UAAU,EAC7D,IAAe,EAAa,gBAAgB,OAAO,UAAU,EAC7D,IAAgB,EAAa,iBAAiB,QAAQ,UAAU,EAChE,IAAc,EAAa,eAAe,MAAM,UAAU,EAC1D,IAAe,EAAa,gBAAgB,OAAO,UAAU,EAC7D,IAAe,EAAa,gBAAgB,OAAO,UAAU,EAC7D,IAAe,EAAa,gBAAgB,OAAO,UAAU,EAC7D,IAAe,EAAa,gBAAgB,OAAO,UAAU,EAC7D,IAAe,EAAa,gBAAgB,OAAO,UAAU,EAC7D,IAAe,EAAa,gBAAgB,OAAO,UAAU,EAC7D,IAAe,EAAa,gBAAgB,OAAO,UAAU,EAC7D,IAAe,EAAa,gBAAgB,OAAO,UAAU,EAC7D,IAAe,EAAa,gBAAgB,OAAO,UAAU,EAC7D,IAAe,EAAa,gBAAgB,OAAO,UAAU"}
|
|
1
|
+
{"version":3,"file":"MFileExtIcons-BoG3GPxg.js","names":[],"sources":["../src/icons/glyphs/MFileIcon.tsx","../src/icons/glyphs/MFileTextIcon.tsx","../src/icons/glyphs/MFilePdfIcon.tsx","../src/icons/glyphs/MFileImageIcon.tsx","../src/icons/glyphs/MFileCodeIcon.tsx","../src/icons/glyphs/MFileMark.tsx","../src/icons/glyphs/MFileExtIcons.tsx"],"sourcesContent":["import {forwardRef} from 'react'\nimport {MIcon} from '../MIcon'\nimport type {MIconProps} from '../MIcon.types'\n\nexport const MFileIcon = forwardRef<SVGSVGElement, MIconProps>(function MFileIcon(props, ref) {\n return (\n <MIcon ref={ref} {...props}>\n <path d=\"M7 3.5h7l4 4v12a1 1 0 0 1-1 1H7a2 2 0 0 1-2-2v-13a2 2 0 0 1 2-2z\" />\n <path d=\"M14 3.5V8h4\" />\n </MIcon>\n )\n})\n","import {forwardRef} from 'react'\nimport {MIcon} from '../MIcon'\nimport type {MIconProps} from '../MIcon.types'\n\nexport const MFileTextIcon = forwardRef<SVGSVGElement, MIconProps>(function MFileTextIcon(props, ref) {\n return (\n <MIcon ref={ref} {...props}>\n <path d=\"M7 3.5h7l4 4v12a1 1 0 0 1-1 1H7a2 2 0 0 1-2-2v-13a2 2 0 0 1 2-2z\" />\n <path d=\"M14 3.5V8h4\" />\n <path d=\"M8.5 11h7M8.5 13.75h7M8.5 16.5h5.5\" />\n </MIcon>\n )\n})\n","import {forwardRef} from 'react'\nimport {MIcon} from '../MIcon'\nimport type {MIconProps} from '../MIcon.types'\n\nexport const MFilePdfIcon = forwardRef<SVGSVGElement, MIconProps>(function MFilePdfIcon(props, ref) {\n return (\n <MIcon ref={ref} {...props}>\n <path d=\"M7 3.5h7l4 4v12a1 1 0 0 1-1 1H7a2 2 0 0 1-2-2v-13a2 2 0 0 1 2-2z\" />\n <path d=\"M14 3.5V8h4\" />\n <path\n d=\"M7.1 11.35h9.8a1.3 1.3 0 0 1 1.3 1.3v4.15a1.3 1.3 0 0 1-1.3 1.3H7.1a1.3 1.3 0 0 1-1.3-1.3v-4.15a1.3 1.3 0 0 1 1.3-1.3z\"\n fill=\"#ef4444\"\n stroke=\"none\"\n />\n <path d=\"M9 16v-2.75h1.05a.8.8 0 1 1 0 1.6H9\" stroke=\"#fff\" />\n <path d=\"M11.95 16v-2.75h.55a1.1 1.1 0 0 1 0 2.75h-.55z\" stroke=\"#fff\" />\n <path d=\"M14.9 16v-2.75h1.45M14.9 14.65h1.05\" stroke=\"#fff\" />\n </MIcon>\n )\n})\n","import {forwardRef} from 'react'\nimport {MIcon} from '../MIcon'\nimport type {MIconProps} from '../MIcon.types'\n\nexport const MFileImageIcon = forwardRef<SVGSVGElement, MIconProps>(function MFileImageIcon(props, ref) {\n return (\n <MIcon ref={ref} {...props}>\n <path d=\"M7 3.5h7l4 4v12a1 1 0 0 1-1 1H7a2 2 0 0 1-2-2v-13a2 2 0 0 1 2-2z\" />\n <path d=\"M14 3.5V8h4\" />\n <path\n d=\"M7.15 11.25h9.7a1.25 1.25 0 0 1 1.25 1.25v4.35a1.25 1.25 0 0 1-1.25 1.25h-9.7A1.25 1.25 0 0 1 5.9 16.85V12.5a1.25 1.25 0 0 1 1.25-1.25z\"\n fill=\"#14b8a6\"\n stroke=\"none\"\n />\n <circle cx=\"14.7\" cy=\"13.4\" r=\"0.9\" fill=\"#f8fafc\" stroke=\"none\" />\n <path d=\"M7.65 17.2l2.6-2.8 1.8 1.9 1.4-1.4 2.9 2.3\" stroke=\"#f8fafc\" />\n </MIcon>\n )\n})\n","import {forwardRef} from 'react'\nimport {MIcon} from '../MIcon'\nimport type {MIconProps} from '../MIcon.types'\n\nexport const MFileCodeIcon = forwardRef<SVGSVGElement, MIconProps>(function MFileCodeIcon(props, ref) {\n return (\n <MIcon ref={ref} {...props}>\n <path d=\"M7 3.5h7l4 4v12a1 1 0 0 1-1 1H7a2 2 0 0 1-2-2v-13a2 2 0 0 1 2-2z\" />\n <path d=\"M14 3.5V8h4\" />\n <path\n d=\"M7.15 11.25h9.7a1.25 1.25 0 0 1 1.25 1.25v4.35a1.25 1.25 0 0 1-1.25 1.25h-9.7A1.25 1.25 0 0 1 5.9 16.85V12.5a1.25 1.25 0 0 1 1.25-1.25z\"\n fill=\"#2563eb\"\n stroke=\"none\"\n />\n <path d=\"M9.6 13.6l-1.6 1.55 1.6 1.55M14.4 13.6l1.6 1.55-1.6 1.55M12.8 13l-1.6 4.2\" stroke=\"#f8fafc\" />\n </MIcon>\n )\n})\n","import {forwardRef} from 'react'\nimport {MIcon} from '../MIcon'\nimport type {MIconProps} from '../MIcon.types'\n\ninterface FileMarkProps extends MIconProps {\n mark: string\n fill: string\n markColor?: string\n accent?: string\n}\n\nfunction getMarkSize(mark: string) {\n if (mark.length <= 3) {\n return 4\n }\n\n if (mark.length === 4) {\n return 3.35\n }\n\n return 3\n}\n\nexport const MFileMark = forwardRef<SVGSVGElement, FileMarkProps>(function MFileMark(\n {mark, fill, markColor = '#f8fafc', accent, ...props},\n ref\n) {\n const fontSize = getMarkSize(mark)\n\n return (\n <MIcon ref={ref} {...props}>\n <path d=\"M7 3.5h7l4 4v12a1 1 0 0 1-1 1H7a2 2 0 0 1-2-2v-13a2 2 0 0 1 2-2z\" />\n <path d=\"M14 3.5V8h4\" />\n <path\n d=\"M6 11.15h12a1.35 1.35 0 0 1 1.35 1.35v4.4A1.35 1.35 0 0 1 18 18.25H6a1.35 1.35 0 0 1-1.35-1.35v-4.4A1.35 1.35 0 0 1 6 11.15z\"\n fill={fill}\n stroke=\"none\"\n />\n <path d=\"M7.2 9.7h5.6\" stroke={accent ?? fill} />\n <text\n x=\"12\"\n y=\"15.35\"\n fill={markColor}\n stroke=\"none\"\n textAnchor=\"middle\"\n fontSize={fontSize}\n fontWeight=\"700\"\n fontFamily=\"system-ui, sans-serif\"\n >\n {mark}\n </text>\n </MIcon>\n )\n})\n","import {forwardRef} from 'react'\nimport {MFileMark} from './MFileMark'\nimport type {MIconProps} from '../MIcon.types'\n\nfunction makeFileIcon(name: string, mark: string, fill: string, markColor?: string) {\n const FileExtIcon = forwardRef<SVGSVGElement, MIconProps>(function FileExtIcon(props, ref) {\n return <MFileMark ref={ref} mark={mark} fill={fill} markColor={markColor} {...props} />\n })\n\n FileExtIcon.displayName = name\n\n return FileExtIcon\n}\n\nexport const MFileTxtIcon = makeFileIcon('MFileTxtIcon', 'TXT', '#475569')\nexport const MFileDocsIcon = makeFileIcon('MFileDocsIcon', 'DOCS', '#2563eb')\nexport const MFileJpgIcon = makeFileIcon('MFileJpgIcon', 'JPG', '#ea580c')\nexport const MFileJsonIcon = makeFileIcon('MFileJsonIcon', 'JSON', '#f59e0b', '#111827')\nexport const MFileExeIcon = makeFileIcon('MFileExeIcon', 'EXE', '#1f2937')\nexport const MFileOdtIcon = makeFileIcon('MFileOdtIcon', 'ODT', '#0f766e')\nexport const MFileMdIcon = makeFileIcon('MFileMdIcon', 'MD', '#334155')\nexport const MFileJsIcon = makeFileIcon('MFileJsIcon', 'JS', '#facc15', '#111827')\nexport const MFileHtmlIcon = makeFileIcon('MFileHtmlIcon', 'HTML', '#ea580c')\nexport const MFileCssIcon = makeFileIcon('MFileCssIcon', 'CSS', '#2563eb')\nexport const MFilePhpIcon = makeFileIcon('MFilePhpIcon', 'PHP', '#7c3aed')\nexport const MFilePngIcon = makeFileIcon('MFilePngIcon', 'PNG', '#0891b2')\nexport const MFileSvgIcon = makeFileIcon('MFileSvgIcon', 'SVG', '#f97316')\nexport const MFileGifIcon = makeFileIcon('MFileGifIcon', 'GIF', '#ec4899')\nexport const MFileWebpIcon = makeFileIcon('MFileWebpIcon', 'WEBP', '#0f766e')\nexport const MFileTsIcon = makeFileIcon('MFileTsIcon', 'TS', '#2563eb')\nexport const MFileTsxIcon = makeFileIcon('MFileTsxIcon', 'TSX', '#0284c7')\nexport const MFileJsxIcon = makeFileIcon('MFileJsxIcon', 'JSX', '#0ea5e9')\nexport const MFileXmlIcon = makeFileIcon('MFileXmlIcon', 'XML', '#7c2d12')\nexport const MFileCsvIcon = makeFileIcon('MFileCsvIcon', 'CSV', '#15803d')\nexport const MFileXlsIcon = makeFileIcon('MFileXlsIcon', 'XLS', '#166534')\nexport const MFilePptIcon = makeFileIcon('MFilePptIcon', 'PPT', '#dc2626')\nexport const MFileZipIcon = makeFileIcon('MFileZipIcon', 'ZIP', '#a16207')\nexport const MFileRarIcon = makeFileIcon('MFileRarIcon', 'RAR', '#92400e')\nexport const MFileMp3Icon = makeFileIcon('MFileMp3Icon', 'MP3', '#9333ea')\nexport const MFileMp4Icon = makeFileIcon('MFileMp4Icon', 'MP4', '#be123c')\n"],"mappings":"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"}
|