@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,406 @@
|
|
|
1
|
+
import { n as e, t } from "./MChevronRightIcon-CXs8IHiV.js";
|
|
2
|
+
import { t as n } from "./cn-DZLxql0l.js";
|
|
3
|
+
import { t as r } from "./useInteractionEffect-Dfqq8lGO.js";
|
|
4
|
+
import { t as i } from "./MButton-33EzpGvQ.js";
|
|
5
|
+
import { i as a, n as o, r as s } from "./MSkeleton-BL4C5FkH.js";
|
|
6
|
+
import { t as c } from "./MImage-CKrjXRmf.js";
|
|
7
|
+
import { t as l } from "./MAvatar-Blh5pfSO.js";
|
|
8
|
+
import { Children as u, useCallback as d, useEffect as f, useMemo as p, useRef as m, useState as h } from "react";
|
|
9
|
+
import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
|
|
10
|
+
//#region src/components/media/MGallery/MGallery.tsx
|
|
11
|
+
function y({ items: e, columns: t = 3, rounded: r = !0, clickEffect: i = "ripple", className: a, ...o }) {
|
|
12
|
+
return /* @__PURE__ */ _("div", {
|
|
13
|
+
className: n("gallery", `columns-${t}`, a),
|
|
14
|
+
...o,
|
|
15
|
+
children: e.map((e, t) => /* @__PURE__ */ _(b, {
|
|
16
|
+
item: e,
|
|
17
|
+
rounded: r,
|
|
18
|
+
clickEffect: i
|
|
19
|
+
}, t))
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
function b({ item: e, rounded: t, clickEffect: i }) {
|
|
23
|
+
let { effectClassName: a, effectLayer: o, handlePointerDown: s } = r({ effect: i });
|
|
24
|
+
return /* @__PURE__ */ v("figure", {
|
|
25
|
+
className: n("gallery-item", t && "rounded", a),
|
|
26
|
+
onPointerDown: s,
|
|
27
|
+
children: [
|
|
28
|
+
/* @__PURE__ */ _("img", {
|
|
29
|
+
className: "gallery-image",
|
|
30
|
+
src: e.src,
|
|
31
|
+
alt: e.alt || "",
|
|
32
|
+
loading: "lazy"
|
|
33
|
+
}),
|
|
34
|
+
e.caption && /* @__PURE__ */ _("figcaption", {
|
|
35
|
+
className: "gallery-caption",
|
|
36
|
+
children: e.caption
|
|
37
|
+
}),
|
|
38
|
+
o
|
|
39
|
+
]
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
//#endregion
|
|
43
|
+
//#region src/components/media/MCarousel/MCarousel.tsx
|
|
44
|
+
function x({ autoPlay: r = !1, interval: a = 5e3, showDots: o = !0, showArrows: s = !0, loop: c = !0, draggable: l = !0, transition: p = "slide", className: y, children: b, ...x }) {
|
|
45
|
+
let S = u.toArray(b), C = S.length, [w, T] = h(0), [E, D] = h(0), [O, k] = h(!1), A = m(0), j = m(null), M = d((e) => {
|
|
46
|
+
T(c ? (e + C) % C : Math.max(0, Math.min(e, C - 1)));
|
|
47
|
+
}, [C, c]), N = d(() => M(w - 1), [w, M]), P = d(() => M(w + 1), [w, M]);
|
|
48
|
+
f(() => {
|
|
49
|
+
if (!r || C <= 1 || O) return;
|
|
50
|
+
let e = setInterval(P, a);
|
|
51
|
+
return () => clearInterval(e);
|
|
52
|
+
}, [
|
|
53
|
+
r,
|
|
54
|
+
a,
|
|
55
|
+
P,
|
|
56
|
+
C,
|
|
57
|
+
O
|
|
58
|
+
]);
|
|
59
|
+
let F = (e) => {
|
|
60
|
+
l && (k(!0), A.current = e, D(0));
|
|
61
|
+
}, I = (e) => {
|
|
62
|
+
O && D(e - A.current);
|
|
63
|
+
}, L = () => {
|
|
64
|
+
O && (k(!1), E < -50 ? P() : E > 50 && N(), D(0));
|
|
65
|
+
}, R = (e) => {
|
|
66
|
+
l && (e.currentTarget.setPointerCapture(e.pointerId), F(e.clientX));
|
|
67
|
+
}, z = (e) => {
|
|
68
|
+
I(e.clientX);
|
|
69
|
+
}, B = () => {
|
|
70
|
+
L();
|
|
71
|
+
};
|
|
72
|
+
if (C === 0) return null;
|
|
73
|
+
let V = p === "fade", H = V ? void 0 : { transform: `translateX(calc(-${w * 100}% + ${O ? E : 0}px))` };
|
|
74
|
+
return /* @__PURE__ */ v("div", {
|
|
75
|
+
className: n("carousel", V && "fade", y),
|
|
76
|
+
...x,
|
|
77
|
+
children: [
|
|
78
|
+
/* @__PURE__ */ _("div", {
|
|
79
|
+
className: "carousel-viewport",
|
|
80
|
+
onPointerDown: R,
|
|
81
|
+
onPointerMove: z,
|
|
82
|
+
onPointerUp: B,
|
|
83
|
+
onPointerCancel: B,
|
|
84
|
+
style: {
|
|
85
|
+
touchAction: l ? "pan-y" : void 0,
|
|
86
|
+
cursor: l ? O ? "grabbing" : "grab" : void 0
|
|
87
|
+
},
|
|
88
|
+
children: /* @__PURE__ */ _("div", {
|
|
89
|
+
ref: j,
|
|
90
|
+
className: n("carousel-track", O && "dragging"),
|
|
91
|
+
style: H,
|
|
92
|
+
children: S.map((e, t) => /* @__PURE__ */ _("div", {
|
|
93
|
+
className: n("carousel-slide", V && t === w && "active", V && t !== w && "hidden"),
|
|
94
|
+
children: e
|
|
95
|
+
}, t))
|
|
96
|
+
})
|
|
97
|
+
}),
|
|
98
|
+
s && C > 1 && /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ _(i, {
|
|
99
|
+
variant: "ghost",
|
|
100
|
+
color: "primary",
|
|
101
|
+
iconOnly: !0,
|
|
102
|
+
shape: "circle",
|
|
103
|
+
onClick: N,
|
|
104
|
+
"aria-label": "Previous slide",
|
|
105
|
+
className: "carousel-arrow carousel-arrow-prev",
|
|
106
|
+
children: /* @__PURE__ */ _(e, {})
|
|
107
|
+
}), /* @__PURE__ */ _(i, {
|
|
108
|
+
variant: "ghost",
|
|
109
|
+
color: "primary",
|
|
110
|
+
iconOnly: !0,
|
|
111
|
+
shape: "circle",
|
|
112
|
+
onClick: P,
|
|
113
|
+
"aria-label": "Next slide",
|
|
114
|
+
className: "carousel-arrow carousel-arrow-next",
|
|
115
|
+
children: /* @__PURE__ */ _(t, {})
|
|
116
|
+
})] }),
|
|
117
|
+
o && C > 1 && /* @__PURE__ */ _("div", {
|
|
118
|
+
className: "carousel-dots",
|
|
119
|
+
children: S.map((e, t) => /* @__PURE__ */ _("button", {
|
|
120
|
+
className: n("carousel-dot", t === w && "active"),
|
|
121
|
+
onClick: () => M(t),
|
|
122
|
+
"aria-label": `Slide ${t + 1}`,
|
|
123
|
+
type: "button"
|
|
124
|
+
}, t))
|
|
125
|
+
})
|
|
126
|
+
]
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
//#endregion
|
|
130
|
+
//#region src/components/media/mediaInteraction.ts
|
|
131
|
+
function S(e) {
|
|
132
|
+
return e === "ripple" || e === "zoom-ripple";
|
|
133
|
+
}
|
|
134
|
+
function C(e) {
|
|
135
|
+
return e === "zoom" || e === "zoom-ripple";
|
|
136
|
+
}
|
|
137
|
+
function w(e) {
|
|
138
|
+
return e === "dim";
|
|
139
|
+
}
|
|
140
|
+
//#endregion
|
|
141
|
+
//#region src/components/media/MShowcaseCarouselItem/MShowcaseCarouselItem.tsx
|
|
142
|
+
function T({ src: e, alt: t = "", media: r, mediaHeight: i, overlay: l, body: u, footer: d, interactive: f = !1, imageClickEffect: p = "ripple", ratio: m = "16:9", fit: h = "cover", imgProps: g, children: y }) {
|
|
143
|
+
let b = u ?? y, x = S(p), T = i ? { "--media-height": typeof i == "number" ? `${i}px` : i } : void 0, E = !!(r || e);
|
|
144
|
+
return /* @__PURE__ */ v(o, {
|
|
145
|
+
interactive: f,
|
|
146
|
+
clickEffect: p === "none" ? void 0 : "none",
|
|
147
|
+
className: n("showcase card", f && "interactive"),
|
|
148
|
+
style: T,
|
|
149
|
+
children: [
|
|
150
|
+
E ? /* @__PURE__ */ v("div", {
|
|
151
|
+
className: n("showcase media", C(p) && "effect-zoom", w(p) && "effect-dim"),
|
|
152
|
+
children: [r ? /* @__PURE__ */ _("div", {
|
|
153
|
+
className: "showcase media-content",
|
|
154
|
+
children: r
|
|
155
|
+
}) : /* @__PURE__ */ _(c, {
|
|
156
|
+
...g,
|
|
157
|
+
src: e,
|
|
158
|
+
alt: t,
|
|
159
|
+
ratio: m,
|
|
160
|
+
fit: h,
|
|
161
|
+
rounded: !0,
|
|
162
|
+
shadow: !0,
|
|
163
|
+
clickEffect: x ? "ripple" : "none"
|
|
164
|
+
}), l ? /* @__PURE__ */ _("div", {
|
|
165
|
+
className: "showcase overlay",
|
|
166
|
+
children: l
|
|
167
|
+
}) : null]
|
|
168
|
+
}) : null,
|
|
169
|
+
b ? /* @__PURE__ */ _(s, {
|
|
170
|
+
className: "showcase body",
|
|
171
|
+
children: b
|
|
172
|
+
}) : null,
|
|
173
|
+
d ? /* @__PURE__ */ _(a, {
|
|
174
|
+
className: "showcase footer",
|
|
175
|
+
children: d
|
|
176
|
+
}) : null
|
|
177
|
+
]
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
//#endregion
|
|
181
|
+
//#region src/components/media/MShowcaseCarousel/MShowcaseCarousel.tsx
|
|
182
|
+
function E(e, t, n) {
|
|
183
|
+
return Math.min(Math.max(e, t), n);
|
|
184
|
+
}
|
|
185
|
+
function D(e) {
|
|
186
|
+
return e instanceof Element ? !!e.closest("button, a, input, select, textarea, label, summary, [role=\"button\"], [role=\"link\"], [data-carousel-ignore-drag=\"true\"]") : !1;
|
|
187
|
+
}
|
|
188
|
+
function O(e, t, n) {
|
|
189
|
+
return e && t ? e.map((e, n) => t(e, n)) : e ? e.map((e, t) => k(e) ? /* @__PURE__ */ _(A, { item: e }, t) : null).filter(Boolean) : u.toArray(n);
|
|
190
|
+
}
|
|
191
|
+
function k(e) {
|
|
192
|
+
let t = e;
|
|
193
|
+
return !!e && typeof e == "object" && "src" in e && typeof t.src == "string";
|
|
194
|
+
}
|
|
195
|
+
function A({ item: e }) {
|
|
196
|
+
return /* @__PURE__ */ _(T, {
|
|
197
|
+
src: e.src,
|
|
198
|
+
alt: e.alt || "",
|
|
199
|
+
overlay: e.overlay
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
function j({ items: r, renderItem: a, initialIndex: o, showButtons: s = !0, loop: c = !0, draggable: l = !0, wheel: u = !0, itemMinWidth: g = 220, itemMaxWidth: y = 520, itemWidthRatio: b = .56, className: x, children: S, style: C, ...w }) {
|
|
203
|
+
let T = p(() => O(r, a, S), [
|
|
204
|
+
S,
|
|
205
|
+
r,
|
|
206
|
+
a
|
|
207
|
+
]), k = T.length, [A, j] = h(0), [M, N] = h(0), [P, F] = h(!1), [I, L] = h(0), R = m(null), z = m(0), B = m(!1), V = E(I * (I < 640 ? Math.max(b, .78) : I < 960 ? Math.max(b, .66) : b) || g, g, y), H = E(I * .022 || 16, 10, 24);
|
|
208
|
+
f(() => {
|
|
209
|
+
let e = R.current;
|
|
210
|
+
if (!e) return;
|
|
211
|
+
let t = () => L(e.clientWidth);
|
|
212
|
+
t();
|
|
213
|
+
let n = new ResizeObserver(t);
|
|
214
|
+
return n.observe(e), () => n.disconnect();
|
|
215
|
+
}, []), f(() => {
|
|
216
|
+
k && j(E(o ?? Math.floor((k - 1) / 2), 0, k - 1));
|
|
217
|
+
}, [k, o]);
|
|
218
|
+
let U = d((e) => {
|
|
219
|
+
if (!(k < 1)) {
|
|
220
|
+
if (c) {
|
|
221
|
+
j((e + k) % k);
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
224
|
+
j(E(e, 0, k - 1));
|
|
225
|
+
}
|
|
226
|
+
}, [k, c]), W = d(() => U(A - 1), [A, U]), G = d(() => U(A + 1), [A, U]), K = (e) => {
|
|
227
|
+
!l || k <= 1 || D(e.target) || (e.currentTarget.setPointerCapture(e.pointerId), F(!0), z.current = e.clientX, N(0));
|
|
228
|
+
}, q = (e) => {
|
|
229
|
+
P && N(e.clientX - z.current);
|
|
230
|
+
}, J = () => {
|
|
231
|
+
if (!P) return;
|
|
232
|
+
let e = Math.max(56, V * .12);
|
|
233
|
+
M <= -e ? G() : M >= e && W(), F(!1), N(0);
|
|
234
|
+
};
|
|
235
|
+
if (f(() => {
|
|
236
|
+
let e = R.current;
|
|
237
|
+
if (!e) return;
|
|
238
|
+
let t = (e) => {
|
|
239
|
+
if (!u || k <= 1 || B.current) return;
|
|
240
|
+
let t = Math.abs(e.deltaX) > Math.abs(e.deltaY) ? e.deltaX : e.deltaY;
|
|
241
|
+
Math.abs(t) < 28 || (e.preventDefault(), e.stopPropagation(), B.current = !0, window.setTimeout(() => {
|
|
242
|
+
B.current = !1;
|
|
243
|
+
}, 260), t > 0 ? G() : W());
|
|
244
|
+
};
|
|
245
|
+
return e.addEventListener("wheel", t, { passive: !1 }), () => e.removeEventListener("wheel", t);
|
|
246
|
+
}, [
|
|
247
|
+
k,
|
|
248
|
+
G,
|
|
249
|
+
W,
|
|
250
|
+
u
|
|
251
|
+
]), !k) return null;
|
|
252
|
+
let Y = I / 2 - A * (V + H) - V / 2 + M;
|
|
253
|
+
return /* @__PURE__ */ v("div", {
|
|
254
|
+
className: n("showcase", x),
|
|
255
|
+
style: {
|
|
256
|
+
...C,
|
|
257
|
+
"--item-width": `${V}px`
|
|
258
|
+
},
|
|
259
|
+
...w,
|
|
260
|
+
children: [/* @__PURE__ */ _("div", {
|
|
261
|
+
ref: R,
|
|
262
|
+
className: "showcase-stage",
|
|
263
|
+
onPointerDown: K,
|
|
264
|
+
onPointerMove: q,
|
|
265
|
+
onPointerUp: J,
|
|
266
|
+
onPointerCancel: J,
|
|
267
|
+
onPointerLeave: J,
|
|
268
|
+
style: { cursor: l && k > 1 ? P ? "grabbing" : "grab" : void 0 },
|
|
269
|
+
children: /* @__PURE__ */ _("div", {
|
|
270
|
+
className: n("showcase-track", P && "dragging"),
|
|
271
|
+
style: {
|
|
272
|
+
transform: `translateX(${Y}px)`,
|
|
273
|
+
gap: `${H}px`
|
|
274
|
+
},
|
|
275
|
+
children: T.map((e, t) => {
|
|
276
|
+
let r = Math.abs(t - A);
|
|
277
|
+
return /* @__PURE__ */ _("div", {
|
|
278
|
+
className: n("showcase-item", t === A && "active", r === 1 && "near", r >= 2 && "far"),
|
|
279
|
+
style: { zIndex: Math.max(1, k - r) },
|
|
280
|
+
children: e
|
|
281
|
+
}, t);
|
|
282
|
+
})
|
|
283
|
+
})
|
|
284
|
+
}), s && k > 1 && /* @__PURE__ */ v("div", {
|
|
285
|
+
className: "showcase-actions",
|
|
286
|
+
children: [/* @__PURE__ */ _(i, {
|
|
287
|
+
type: "button",
|
|
288
|
+
variant: "secondary",
|
|
289
|
+
className: "showcase-btn",
|
|
290
|
+
startIcon: /* @__PURE__ */ _(e, {}),
|
|
291
|
+
onClick: W,
|
|
292
|
+
children: "Previous"
|
|
293
|
+
}), /* @__PURE__ */ _(i, {
|
|
294
|
+
type: "button",
|
|
295
|
+
className: "showcase-btn",
|
|
296
|
+
endIcon: /* @__PURE__ */ _(t, {}),
|
|
297
|
+
onClick: G,
|
|
298
|
+
children: "Next"
|
|
299
|
+
})]
|
|
300
|
+
})]
|
|
301
|
+
});
|
|
302
|
+
}
|
|
303
|
+
//#endregion
|
|
304
|
+
//#region src/components/media/MMasonry/MMasonry.tsx
|
|
305
|
+
function M(e, t, n) {
|
|
306
|
+
return e && t ? e.map((e, n) => t(e, n)) : u.toArray(n);
|
|
307
|
+
}
|
|
308
|
+
function N({ items: e, renderItem: t, columns: r = 3, className: i, children: a, style: o, ...s }) {
|
|
309
|
+
let c = M(e, t, a);
|
|
310
|
+
return c.length ? /* @__PURE__ */ _("div", {
|
|
311
|
+
className: n("masonry", i),
|
|
312
|
+
style: {
|
|
313
|
+
...o,
|
|
314
|
+
columnCount: r
|
|
315
|
+
},
|
|
316
|
+
...s,
|
|
317
|
+
children: c.map((e, t) => /* @__PURE__ */ _("div", {
|
|
318
|
+
className: "masonry item",
|
|
319
|
+
children: e
|
|
320
|
+
}, t))
|
|
321
|
+
}) : null;
|
|
322
|
+
}
|
|
323
|
+
//#endregion
|
|
324
|
+
//#region src/components/media/MMasonryItem/MMasonryItem.tsx
|
|
325
|
+
function P({ src: e, alt: t = "", height: i, overlay: c, body: l, footer: u, interactive: d = !1, imageClickEffect: f = "none", imgProps: p, children: m }) {
|
|
326
|
+
let h = i ? {
|
|
327
|
+
...p?.style,
|
|
328
|
+
height: i
|
|
329
|
+
} : p?.style, g = l ?? m, { effectClassName: y, effectLayer: b, handlePointerDown: x } = r({ effect: S(f) ? "ripple" : "none" });
|
|
330
|
+
return /* @__PURE__ */ v(o, {
|
|
331
|
+
interactive: d,
|
|
332
|
+
clickEffect: f === "none" ? void 0 : "none",
|
|
333
|
+
className: n("masonry card", d && "interactive"),
|
|
334
|
+
children: [
|
|
335
|
+
/* @__PURE__ */ v("div", {
|
|
336
|
+
className: n("masonry media", y, C(f) && "effect-zoom", w(f) && "effect-dim"),
|
|
337
|
+
onPointerDown: (e) => {
|
|
338
|
+
e.target.closest(".masonry.overlay") || x(e);
|
|
339
|
+
},
|
|
340
|
+
children: [
|
|
341
|
+
/* @__PURE__ */ _("img", {
|
|
342
|
+
...p,
|
|
343
|
+
src: e,
|
|
344
|
+
alt: t,
|
|
345
|
+
className: "masonry img",
|
|
346
|
+
style: h
|
|
347
|
+
}),
|
|
348
|
+
c ? /* @__PURE__ */ _("div", {
|
|
349
|
+
className: "masonry overlay",
|
|
350
|
+
children: c
|
|
351
|
+
}) : null,
|
|
352
|
+
b
|
|
353
|
+
]
|
|
354
|
+
}),
|
|
355
|
+
g ? /* @__PURE__ */ _(s, {
|
|
356
|
+
className: "masonry body",
|
|
357
|
+
children: g
|
|
358
|
+
}) : null,
|
|
359
|
+
u ? /* @__PURE__ */ _(a, {
|
|
360
|
+
className: "masonry footer",
|
|
361
|
+
children: u
|
|
362
|
+
}) : null
|
|
363
|
+
]
|
|
364
|
+
});
|
|
365
|
+
}
|
|
366
|
+
//#endregion
|
|
367
|
+
//#region src/components/media/MAvatarStack/MAvatarStack.tsx
|
|
368
|
+
function F({ items: e, max: t = 5, size: r = "sm", color: i = "primary", overlap: a = 10, className: o, style: s, ...c }) {
|
|
369
|
+
if (!e || e.length === 0) return null;
|
|
370
|
+
let u = e.slice(0, t), d = e.length - t, f = typeof r == "number" ? r : {
|
|
371
|
+
xs: 20,
|
|
372
|
+
sm: 28,
|
|
373
|
+
md: 40,
|
|
374
|
+
lg: 56,
|
|
375
|
+
xl: 72
|
|
376
|
+
}[r] ?? 28;
|
|
377
|
+
return /* @__PURE__ */ v("div", {
|
|
378
|
+
className: n("avatar-stack", o),
|
|
379
|
+
style: {
|
|
380
|
+
"--avatar-stack-overlap": `-${a}px`,
|
|
381
|
+
...s
|
|
382
|
+
},
|
|
383
|
+
...c,
|
|
384
|
+
children: [u.map((e, t) => /* @__PURE__ */ _(l, {
|
|
385
|
+
src: e.avatar,
|
|
386
|
+
name: e.name,
|
|
387
|
+
size: r,
|
|
388
|
+
color: i,
|
|
389
|
+
className: "avatar-stack-item",
|
|
390
|
+
style: { zIndex: t + 1 }
|
|
391
|
+
}, t)), d > 0 && /* @__PURE__ */ v("span", {
|
|
392
|
+
className: "avatar-stack-overflow",
|
|
393
|
+
style: {
|
|
394
|
+
width: f,
|
|
395
|
+
height: f,
|
|
396
|
+
fontSize: f * .38,
|
|
397
|
+
zIndex: u.length + 1
|
|
398
|
+
},
|
|
399
|
+
children: ["+", d]
|
|
400
|
+
})]
|
|
401
|
+
});
|
|
402
|
+
}
|
|
403
|
+
//#endregion
|
|
404
|
+
export { T as a, j as i, P as n, x as o, N as r, y as s, F as t };
|
|
405
|
+
|
|
406
|
+
//# sourceMappingURL=media-DWG2uW1h.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media-DWG2uW1h.js","names":[],"sources":["../src/components/media/MGallery/MGallery.tsx","../src/components/media/MCarousel/MCarousel.tsx","../src/components/media/mediaInteraction.ts","../src/components/media/MShowcaseCarouselItem/MShowcaseCarouselItem.tsx","../src/components/media/MShowcaseCarousel/MShowcaseCarousel.tsx","../src/components/media/MMasonry/MMasonry.tsx","../src/components/media/MMasonryItem/MMasonryItem.tsx","../src/components/media/MAvatarStack/MAvatarStack.tsx"],"sourcesContent":["import type {MGalleryProps} from './MGallery.types'\nimport {cn} from '../../../utils/cn'\nimport {useInteractionEffect} from '../../../utils/useInteractionEffect'\nimport './MGallery.css'\n\n// Render a responsive image grid gallery.\nexport function MGallery({\n items,\n columns = 3,\n rounded = true,\n clickEffect = 'ripple',\n className,\n ...rest\n}: MGalleryProps) {\n return (\n <div className={cn('gallery', `columns-${columns}`, className)} {...rest}>\n {items.map((item, i) => (\n <GalleryFigure key={i} item={item} rounded={rounded} clickEffect={clickEffect} />\n ))}\n </div>\n )\n}\n\nfunction GalleryFigure({\n item,\n rounded,\n clickEffect,\n}: {\n item: {src: string; alt?: string; caption?: string}\n rounded: boolean\n clickEffect: 'none' | 'ripple'\n}) {\n const {effectClassName, effectLayer, handlePointerDown} = useInteractionEffect<HTMLElement>({\n effect: clickEffect,\n })\n\n return (\n <figure className={cn('gallery-item', rounded && 'rounded', effectClassName)} onPointerDown={handlePointerDown}>\n <img className=\"gallery-image\" src={item.src} alt={item.alt || ''} loading=\"lazy\" />\n {item.caption && <figcaption className=\"gallery-caption\">{item.caption}</figcaption>}\n {effectLayer}\n </figure>\n )\n}\n","import {useState, useEffect, useCallback, useRef, Children} from 'react'\nimport type * as React from 'react'\nimport type {MCarouselProps} from './MCarousel.types'\nimport {cn} from '../../../utils/cn'\nimport {MButton} from '../../controls'\nimport {MChevronLeftIcon, MChevronRightIcon} from '../../../icons'\nimport './MCarousel.css'\n\n// Render a swipeable content slider with arrows, dots and transition modes.\nexport function MCarousel({\n autoPlay = false,\n interval = 5000,\n showDots = true,\n showArrows = true,\n loop = true,\n draggable = true,\n transition = 'slide',\n className,\n children,\n ...rest\n}: MCarouselProps) {\n const slides = Children.toArray(children)\n const count = slides.length\n const [active, setActive] = useState(0)\n const [dragOffset, setDragOffset] = useState(0)\n const [isDragging, setIsDragging] = useState(false)\n const dragStartX = useRef(0)\n const trackRef = useRef<HTMLDivElement>(null)\n\n const goTo = useCallback(\n (index: number) => {\n if (loop) {\n setActive((index + count) % count)\n } else {\n setActive(Math.max(0, Math.min(index, count - 1)))\n }\n },\n [count, loop]\n )\n\n const prev = useCallback(() => goTo(active - 1), [active, goTo])\n const next = useCallback(() => goTo(active + 1), [active, goTo])\n\n useEffect(() => {\n if (!autoPlay || count <= 1 || isDragging) return\n const timer = setInterval(next, interval)\n return () => clearInterval(timer)\n }, [autoPlay, interval, next, count, isDragging])\n\n const handleDragStart = (clientX: number) => {\n if (!draggable) return\n setIsDragging(true)\n dragStartX.current = clientX\n setDragOffset(0)\n }\n\n const handleDragMove = (clientX: number) => {\n if (!isDragging) return\n const diff = clientX - dragStartX.current\n setDragOffset(diff)\n }\n\n const handleDragEnd = () => {\n if (!isDragging) return\n setIsDragging(false)\n const threshold = 50\n if (dragOffset < -threshold) {\n next()\n } else if (dragOffset > threshold) {\n prev()\n }\n setDragOffset(0)\n }\n\n const onPointerDown = (e: React.PointerEvent) => {\n if (!draggable) return\n e.currentTarget.setPointerCapture(e.pointerId)\n handleDragStart(e.clientX)\n }\n\n const onPointerMove = (e: React.PointerEvent) => {\n handleDragMove(e.clientX)\n }\n\n const onPointerUp = () => {\n handleDragEnd()\n }\n\n if (count === 0) return null\n\n const isFade = transition === 'fade'\n const trackStyle = !isFade\n ? {transform: `translateX(calc(-${active * 100}% + ${isDragging ? dragOffset : 0}px))`}\n : undefined\n\n return (\n <div className={cn('carousel', isFade && 'fade', className)} {...rest}>\n <div\n className=\"carousel-viewport\"\n onPointerDown={onPointerDown}\n onPointerMove={onPointerMove}\n onPointerUp={onPointerUp}\n onPointerCancel={onPointerUp}\n style={{\n touchAction: draggable ? 'pan-y' : undefined,\n cursor: draggable ? (isDragging ? 'grabbing' : 'grab') : undefined,\n }}\n >\n <div ref={trackRef} className={cn('carousel-track', isDragging && 'dragging')} style={trackStyle}>\n {slides.map((slide, i) => (\n <div\n key={i}\n className={cn(\n 'carousel-slide',\n isFade && i === active && 'active',\n isFade && i !== active && 'hidden'\n )}\n >\n {slide}\n </div>\n ))}\n </div>\n </div>\n\n {showArrows && count > 1 && (\n <>\n <MButton\n variant=\"ghost\"\n color=\"primary\"\n iconOnly\n shape=\"circle\"\n onClick={prev}\n aria-label=\"Previous slide\"\n className=\"carousel-arrow carousel-arrow-prev\"\n >\n <MChevronLeftIcon />\n </MButton>\n <MButton\n variant=\"ghost\"\n color=\"primary\"\n iconOnly\n shape=\"circle\"\n onClick={next}\n aria-label=\"Next slide\"\n className=\"carousel-arrow carousel-arrow-next\"\n >\n <MChevronRightIcon />\n </MButton>\n </>\n )}\n\n {showDots && count > 1 && (\n <div className=\"carousel-dots\">\n {slides.map((_, i) => (\n <button\n key={i}\n className={cn('carousel-dot', i === active && 'active')}\n onClick={() => goTo(i)}\n aria-label={`Slide ${i + 1}`}\n type=\"button\"\n />\n ))}\n </div>\n )}\n </div>\n )\n}\n","import type {MClickEffect} from '../../utils/useInteractionEffect'\n\nexport type MMediaInteractionEffect = MClickEffect | 'zoom' | 'dim' | 'zoom-ripple'\n\nexport function usesRipple(effect: MMediaInteractionEffect): boolean {\n return effect === 'ripple' || effect === 'zoom-ripple'\n}\n\nexport function usesZoom(effect: MMediaInteractionEffect): boolean {\n return effect === 'zoom' || effect === 'zoom-ripple'\n}\n\nexport function usesDim(effect: MMediaInteractionEffect): boolean {\n return effect === 'dim'\n}\n","import type {CSSProperties} from 'react'\nimport {MCard, MCardBody, MCardFooter} from '../../cards'\nimport {MImage} from '../MImage'\nimport {cn} from '../../../utils/cn'\nimport {usesDim, usesRipple, usesZoom} from '../mediaInteraction'\nimport type {MShowcaseCarouselItemProps} from './MShowcaseCarouselItem.types'\nimport './MShowcaseCarouselItem.css'\n\nexport function MShowcaseCarouselItem({\n src,\n alt = '',\n media,\n mediaHeight,\n overlay,\n body,\n footer,\n interactive = false,\n imageClickEffect = 'ripple',\n ratio = '16:9',\n fit = 'cover',\n imgProps,\n children,\n}: MShowcaseCarouselItemProps) {\n const content = body ?? children\n const shouldRipple = usesRipple(imageClickEffect)\n const cardStyle = mediaHeight\n ? ({\n '--media-height': typeof mediaHeight === 'number' ? `${mediaHeight}px` : mediaHeight,\n } as CSSProperties)\n : undefined\n const hasMedia = Boolean(media || src)\n\n return (\n <MCard\n interactive={interactive}\n clickEffect={imageClickEffect !== 'none' ? 'none' : undefined}\n className={cn('showcase card', interactive && 'interactive')}\n style={cardStyle}\n >\n {hasMedia ? (\n <div\n className={cn(\n 'showcase media',\n usesZoom(imageClickEffect) && 'effect-zoom',\n usesDim(imageClickEffect) && 'effect-dim'\n )}\n >\n {media ? (\n <div className=\"showcase media-content\">{media}</div>\n ) : (\n <MImage\n {...imgProps}\n src={src}\n alt={alt}\n ratio={ratio}\n fit={fit}\n rounded\n shadow\n clickEffect={shouldRipple ? 'ripple' : 'none'}\n />\n )}\n {overlay ? <div className=\"showcase overlay\">{overlay}</div> : null}\n </div>\n ) : null}\n {content ? <MCardBody className=\"showcase body\">{content}</MCardBody> : null}\n {footer ? <MCardFooter className=\"showcase footer\">{footer}</MCardFooter> : null}\n </MCard>\n )\n}\n","import {Children, useCallback, useEffect, useMemo, useRef, useState} from 'react'\nimport type {CSSProperties, PointerEvent as ReactPointerEvent, ReactNode} from 'react'\nimport {MButton} from '../../controls'\nimport {MShowcaseCarouselItem} from '../MShowcaseCarouselItem'\nimport {MChevronLeftIcon, MChevronRightIcon} from '../../../icons'\nimport {cn} from '../../../utils/cn'\nimport type {MShowcaseCarouselProps, MShowcaseCarouselSlide} from './MShowcaseCarousel.types'\nimport './MShowcaseCarousel.css'\n\nfunction clamp(value: number, min: number, max: number) {\n return Math.min(Math.max(value, min), max)\n}\n\nfunction isInteractiveTarget(target: EventTarget | null) {\n if (!(target instanceof Element)) {\n return false\n }\n\n return !!target.closest(\n 'button, a, input, select, textarea, label, summary, [role=\"button\"], [role=\"link\"], [data-carousel-ignore-drag=\"true\"]'\n )\n}\n\nfunction getSlides<T>(items?: T[], renderItem?: (item: T, index: number) => ReactNode, children?: ReactNode) {\n if (items && renderItem) {\n return items.map((item, index) => renderItem(item, index))\n }\n\n if (items) {\n return items\n .map((item, index) => {\n if (!isShowcaseItem(item)) {\n return null\n }\n\n return <ShowcaseMediaSlide key={index} item={item} />\n })\n .filter(Boolean)\n }\n\n return Children.toArray(children)\n}\n\nfunction isShowcaseItem(value: unknown): value is MShowcaseCarouselSlide {\n const slide = value as {src?: unknown}\n return !!value && typeof value === 'object' && 'src' in value && typeof slide.src === 'string'\n}\n\nfunction ShowcaseMediaSlide({item}: {item: MShowcaseCarouselSlide}) {\n return <MShowcaseCarouselItem src={item.src} alt={item.alt || ''} overlay={item.overlay} />\n}\n\n// Show a centered, mouse-driven carousel with partial side previews.\nexport function MShowcaseCarousel<T = unknown>({\n items,\n renderItem,\n initialIndex,\n showButtons = true,\n loop = true,\n draggable = true,\n wheel = true,\n itemMinWidth = 220,\n itemMaxWidth = 520,\n itemWidthRatio = 0.56,\n className,\n children,\n style,\n ...rest\n}: MShowcaseCarouselProps<T>) {\n const slides = useMemo(() => getSlides(items, renderItem, children), [children, items, renderItem])\n const count = slides.length\n const [active, setActive] = useState(0)\n const [drag, setDrag] = useState(0)\n const [dragging, setDragging] = useState(false)\n const [stageWidth, setStageWidth] = useState(0)\n const stageRef = useRef<HTMLDivElement>(null)\n const startX = useRef(0)\n const wheelLock = useRef(false)\n\n const widthRatio =\n stageWidth < 640\n ? Math.max(itemWidthRatio, 0.78)\n : stageWidth < 960\n ? Math.max(itemWidthRatio, 0.66)\n : itemWidthRatio\n const itemWidth = clamp(stageWidth * widthRatio || itemMinWidth, itemMinWidth, itemMaxWidth)\n const itemGap = clamp(stageWidth * 0.022 || 16, 10, 24)\n\n useEffect(() => {\n const node = stageRef.current\n if (!node) return\n\n const update = () => setStageWidth(node.clientWidth)\n update()\n\n const observer = new ResizeObserver(update)\n observer.observe(node)\n\n return () => observer.disconnect()\n }, [])\n\n useEffect(() => {\n if (!count) return\n\n const defaultIndex = initialIndex ?? Math.floor((count - 1) / 2)\n setActive(clamp(defaultIndex, 0, count - 1))\n }, [count, initialIndex])\n\n const goTo = useCallback(\n (nextIndex: number) => {\n if (count < 1) return\n\n if (loop) {\n setActive((nextIndex + count) % count)\n return\n }\n\n setActive(clamp(nextIndex, 0, count - 1))\n },\n [count, loop]\n )\n\n const prev = useCallback(() => goTo(active - 1), [active, goTo])\n const next = useCallback(() => goTo(active + 1), [active, goTo])\n\n const onPointerDown = (event: ReactPointerEvent<HTMLDivElement>) => {\n if (!draggable || count <= 1) return\n if (isInteractiveTarget(event.target)) return\n event.currentTarget.setPointerCapture(event.pointerId)\n setDragging(true)\n startX.current = event.clientX\n setDrag(0)\n }\n\n const onPointerMove = (event: ReactPointerEvent<HTMLDivElement>) => {\n if (!dragging) return\n setDrag(event.clientX - startX.current)\n }\n\n const stopDrag = () => {\n if (!dragging) return\n\n const limit = Math.max(56, itemWidth * 0.12)\n\n if (drag <= -limit) {\n next()\n } else if (drag >= limit) {\n prev()\n }\n\n setDragging(false)\n setDrag(0)\n }\n\n useEffect(() => {\n const node = stageRef.current\n if (!node) return\n\n const handleWheel = (event: WheelEvent) => {\n if (!wheel || count <= 1 || wheelLock.current) return\n\n const axis = Math.abs(event.deltaX) > Math.abs(event.deltaY) ? event.deltaX : event.deltaY\n if (Math.abs(axis) < 28) return\n\n event.preventDefault()\n event.stopPropagation()\n\n wheelLock.current = true\n window.setTimeout(() => {\n wheelLock.current = false\n }, 260)\n\n if (axis > 0) {\n next()\n } else {\n prev()\n }\n }\n\n node.addEventListener('wheel', handleWheel, {passive: false})\n return () => node.removeEventListener('wheel', handleWheel)\n }, [count, next, prev, wheel])\n\n if (!count) return null\n\n const offset = stageWidth / 2 - active * (itemWidth + itemGap) - itemWidth / 2 + drag\n\n return (\n <div\n className={cn('showcase', className)}\n style={{...style, '--item-width': `${itemWidth}px`} as CSSProperties}\n {...rest}\n >\n <div\n ref={stageRef}\n className=\"showcase-stage\"\n onPointerDown={onPointerDown}\n onPointerMove={onPointerMove}\n onPointerUp={stopDrag}\n onPointerCancel={stopDrag}\n onPointerLeave={stopDrag}\n style={{\n cursor: draggable && count > 1 ? (dragging ? 'grabbing' : 'grab') : undefined,\n }}\n >\n <div\n className={cn('showcase-track', dragging && 'dragging')}\n style={{\n transform: `translateX(${offset}px)`,\n gap: `${itemGap}px`,\n }}\n >\n {slides.map((slide, index) => {\n const dist = Math.abs(index - active)\n\n return (\n <div\n key={index}\n className={cn(\n 'showcase-item',\n index === active && 'active',\n dist === 1 && 'near',\n dist >= 2 && 'far'\n )}\n style={{zIndex: Math.max(1, count - dist)}}\n >\n {slide}\n </div>\n )\n })}\n </div>\n </div>\n\n {showButtons && count > 1 && (\n <div className=\"showcase-actions\">\n <MButton\n type=\"button\"\n variant=\"secondary\"\n className=\"showcase-btn\"\n startIcon={<MChevronLeftIcon />}\n onClick={prev}\n >\n Previous\n </MButton>\n <MButton type=\"button\" className=\"showcase-btn\" endIcon={<MChevronRightIcon />} onClick={next}>\n Next\n </MButton>\n </div>\n )}\n </div>\n )\n}\n","import {Children} from 'react'\nimport type {ReactNode} from 'react'\nimport {cn} from '../../../utils/cn'\nimport type {MMasonryProps} from './MMasonry.types'\nimport './MMasonry.css'\n\nfunction getItems<T>(items?: T[], renderItem?: (item: T, index: number) => ReactNode, children?: ReactNode) {\n if (items && renderItem) {\n return items.map((item, index) => renderItem(item, index))\n }\n\n return Children.toArray(children)\n}\n\n// Render a responsive masonry wall for images, cards and uneven content.\nexport function MMasonry<T = unknown>({\n items,\n renderItem,\n columns = 3,\n className,\n children,\n style,\n ...rest\n}: MMasonryProps<T>) {\n const content = getItems(items, renderItem, children)\n\n if (!content.length) return null\n\n return (\n <div\n className={cn('masonry', className)}\n style={{...style, columnCount: columns}}\n {...rest}\n >\n {content.map((item, index) => (\n <div key={index} className=\"masonry item\">\n {item}\n </div>\n ))}\n </div>\n )\n}\n","import {MCard, MCardBody, MCardFooter} from '../../cards'\nimport {cn} from '../../../utils/cn'\nimport {useInteractionEffect} from '../../../utils/useInteractionEffect'\nimport {usesDim, usesRipple, usesZoom} from '../mediaInteraction'\nimport './MMasonryItem.css'\nimport type {MMasonryItemProps} from './MMasonryItem.types'\n\nexport function MMasonryItem({\n src,\n alt = '',\n height,\n overlay,\n body,\n footer,\n interactive = false,\n imageClickEffect = 'none',\n imgProps,\n children,\n}: MMasonryItemProps) {\n const imgStyle = height ? {...imgProps?.style, height} : imgProps?.style\n const content = body ?? children\n const shouldRipple = usesRipple(imageClickEffect)\n const {effectClassName, effectLayer, handlePointerDown} = useInteractionEffect<HTMLDivElement>({\n effect: shouldRipple ? 'ripple' : 'none',\n })\n\n return (\n <MCard\n interactive={interactive}\n clickEffect={imageClickEffect !== 'none' ? 'none' : undefined}\n className={cn('masonry card', interactive && 'interactive')}\n >\n <div\n className={cn(\n 'masonry media',\n effectClassName,\n usesZoom(imageClickEffect) && 'effect-zoom',\n usesDim(imageClickEffect) && 'effect-dim'\n )}\n onPointerDown={(event) => {\n const target = event.target as HTMLElement\n\n if (target.closest('.masonry.overlay')) {\n return\n }\n\n handlePointerDown(event)\n }}\n >\n <img {...imgProps} src={src} alt={alt} className=\"masonry img\" style={imgStyle} />\n {overlay ? <div className=\"masonry overlay\">{overlay}</div> : null}\n {effectLayer}\n </div>\n {content ? <MCardBody className=\"masonry body\">{content}</MCardBody> : null}\n {footer ? <MCardFooter className=\"masonry footer\">{footer}</MCardFooter> : null}\n </MCard>\n )\n}\n","import type {MAvatarStackProps} from './MAvatarStack.types'\nimport {cn} from '../../../utils/cn'\nimport {MAvatar} from '../MAvatar'\nimport './MAvatarStack.css'\n\nexport function MAvatarStack({\n items,\n max = 5,\n size = 'sm',\n color = 'primary',\n overlap = 10,\n className,\n style,\n ...rest\n}: MAvatarStackProps) {\n if (!items || items.length === 0) return null\n\n const visible = items.slice(0, max)\n const overflowCount = items.length - max\n const avatarPx = typeof size === 'number' ? size : {xs: 20, sm: 28, md: 40, lg: 56, xl: 72}[size] ?? 28\n\n return (\n <div\n className={cn('avatar-stack', className)}\n style={{'--avatar-stack-overlap': `-${overlap}px`, ...style} as React.CSSProperties}\n {...rest}\n >\n {visible.map((item, i) => (\n <MAvatar\n key={i}\n src={item.avatar}\n name={item.name}\n size={size}\n color={color}\n className=\"avatar-stack-item\"\n style={{zIndex: i + 1}}\n />\n ))}\n {overflowCount > 0 && (\n <span\n className=\"avatar-stack-overflow\"\n style={{\n width: avatarPx,\n height: avatarPx,\n fontSize: avatarPx * 0.38,\n zIndex: visible.length + 1,\n }}\n >\n +{overflowCount}\n </span>\n )}\n </div>\n )\n}\n"],"mappings":"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"}
|
package/dist/media.cjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
const {ensureStyles}=require('./style-runtime.cjs')
|
|
2
2
|
ensureStyles()
|
|
3
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./
|
|
3
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./MImage-f854avZS.cjs`),t=require(`./media-D0KRmTG_.cjs`),n=require(`./MAvatar-DMM1CsdO.cjs`);exports.MAvatar=n.t,exports.MAvatarStack=t.t,exports.MCarousel=t.o,exports.MGallery=t.s,exports.MImage=e.t,exports.MMasonry=t.r,exports.MMasonryItem=t.n,exports.MShowcaseCarousel=t.i,exports.MShowcaseCarouselItem=t.a;
|
package/dist/media.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import {ensureStyles} from './style-runtime.js'
|
|
2
2
|
ensureStyles()
|
|
3
|
-
import {
|
|
4
|
-
import { t as r } from "./
|
|
5
|
-
|
|
3
|
+
import { t as e } from "./MImage-CKrjXRmf.js";
|
|
4
|
+
import { a as t, i as n, n as r, o as i, r as a, s as o, t as s } from "./media-DWG2uW1h.js";
|
|
5
|
+
import { t as c } from "./MAvatar-Blh5pfSO.js";
|
|
6
|
+
export { c as MAvatar, s as MAvatarStack, i as MCarousel, o as MGallery, e as MImage, a as MMasonry, r as MMasonryItem, n as MShowcaseCarousel, t as MShowcaseCarouselItem };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require(`./MCloseIcon-6cfw9trj.cjs`),t=require(`./cn-SOcVdnX6.cjs`),n=require(`./MPortal-BysJLuEi.cjs`),r=require(`./MPopover-BXPkE575.cjs`),i=require(`./MButton-C_WTyNvw.cjs`),a=require(`./MSkeleton-B5jZNFOG.cjs`);let o=require(`react`),s=require(`react/jsx-runtime`);var c=540,l=72,u={sm:`32vh`,md:`52vh`,lg:`72vh`,full:`92vh`};function d({open:r,onClose:d,title:f,description:p,footer:m,size:h=`md`,closeOnBackdrop:g=!0,closeOnEscape:_=!0,className:v,children:y,style:b,...x}){let S=(0,o.useId)(),[C,w]=(0,o.useState)(!1),[T,E]=(0,o.useState)(!1),[D,O]=(0,o.useState)(0),k=(0,o.useRef)(null),A=(0,o.useRef)(0);(0,o.useEffect)(()=>{r&&(w(!0),E(!1),O(0),A.current=0)},[r]),(0,o.useEffect)(()=>{if(!r&&C){E(!0);let e=window.setTimeout(()=>{w(!1),E(!1)},c);return()=>window.clearTimeout(e)}},[r,C]),(0,o.useEffect)(()=>{if(!C)return;let e=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=e}},[C]),(0,o.useEffect)(()=>{if(!r||!_)return;let e=e=>{e.key===`Escape`&&d()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[_,d,r]);function j(e){g&&e.target===e.currentTarget&&d()}function M(e){e.preventDefault(),e.currentTarget.setPointerCapture(e.pointerId),k.current={pointerId:e.pointerId,startY:e.clientY},O(0),A.current=0}function N(e){let t=k.current;if(!t||t.pointerId!==e.pointerId)return;let n=Math.max(e.clientY-t.startY,0);A.current=n,O(n)}function P(e){let t=k.current;if(!(!t||t.pointerId!==e)){if(k.current=null,A.current>l){O(0),A.current=0,d();return}O(0),A.current=0}}if(!C)return null;let F=u[h],I=D>0?`translateY(${D}px)`:void 0;return(0,s.jsx)(n.t,{children:(0,s.jsx)(`div`,{className:t.t(`mineral-backdrop`,`sheet-backdrop`,T&&`closing`),onMouseDown:j,children:(0,s.jsx)(`div`,{className:`sheet-shell`,style:{transform:I},children:(0,s.jsxs)(a.n,{className:t.t(`sheet`,`size-${h}`,v),role:`dialog`,"aria-modal":`true`,"aria-labelledby":f?S:void 0,style:{...b,height:h===`full`?F:void 0,maxHeight:F},...x,children:[(0,s.jsx)(`button`,{type:`button`,className:`sheet-grabber`,onPointerDown:M,onPointerMove:N,onPointerUp:e=>P(e.pointerId),onPointerCancel:e=>P(e.pointerId),"aria-label":`Drag down to close`,children:(0,s.jsx)(`span`,{className:`sheet-handle`})}),(f||p)&&(0,s.jsxs)(a.a,{className:`sheet-header`,children:[(0,s.jsxs)(`div`,{className:`sheet-copy`,children:[f&&(0,s.jsx)(`div`,{id:S,className:`sheet-title`,children:f}),p&&(0,s.jsx)(`div`,{className:`sheet-description`,children:p})]}),(0,s.jsx)(i.t,{variant:`link`,color:`neutral`,iconOnly:!0,size:`sm`,onClick:d,"aria-label":`Close`,className:`sheet-close`,children:(0,s.jsx)(e.t,{})})]}),(0,s.jsx)(a.r,{className:`sheet-body`,children:y}),m&&(0,s.jsx)(a.i,{className:`sheet-footer`,children:m})]})})})})}function f({title:e,description:n,onConfirm:a,onCancel:c,confirmText:l=`Yes`,cancelText:u=`No`,color:d=`warning`,icon:f,placement:p=`top-start`,open:m,onOpenChange:h,anchorRef:g,className:_}){let v=(0,o.useCallback)(()=>{h(!1),c?.()},[h,c]),y=(0,o.useCallback)(()=>{h(!1),a()},[h,a]);return(0,s.jsxs)(r.t,{open:m,anchorRef:g,onClose:v,placement:p,className:t.t(`popconfirm`,`color-${d}`,_),children:[(0,s.jsxs)(`div`,{className:`body`,children:[f&&(0,s.jsx)(`div`,{className:`icon`,children:f}),(0,s.jsxs)(`div`,{className:`content`,children:[(0,s.jsx)(`div`,{className:`title`,children:e}),n&&(0,s.jsx)(`div`,{className:`description`,children:n})]})]}),(0,s.jsxs)(`div`,{className:`actions`,children:[(0,s.jsx)(i.t,{variant:`ghost`,size:`sm`,color:`neutral`,onClick:v,children:u}),(0,s.jsx)(i.t,{variant:`ghost`,size:`sm`,color:d,onClick:y,children:l})]})]})}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return f}});
|
|
2
|
+
//# sourceMappingURL=overlays-CROlfKrR.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overlays-CROlfKrR.cjs","names":[],"sources":["../src/components/overlays/MSheet/MSheet.tsx","../src/components/overlays/MPopconfirm/MPopconfirm.tsx"],"sourcesContent":["import {useEffect, useId, useRef, useState} from 'react'\nimport type {PointerEvent as ReactPointerEvent, MouseEvent} from 'react'\nimport type {MSheetProps, MSheetSize} from './MSheet.types'\nimport {MCard, MCardBody, MCardFooter, MCardHeader} from '../../cards'\nimport {MButton} from '../../controls'\nimport {MPortal} from '../../primitives'\nimport {MCloseIcon} from '../../../icons'\nimport {cn} from '../../../utils/cn'\nimport './MSheet.css'\n\nconst EXIT_DURATION = 540\nconst CLOSE_DRAG_THRESHOLD = 72\n\nconst SHEET_HEIGHTS: Record<MSheetSize, string> = {\n sm: '32vh',\n md: '52vh',\n lg: '72vh',\n full: '92vh',\n}\n\nexport function MSheet({\n open,\n onClose,\n title,\n description,\n footer,\n size = 'md',\n closeOnBackdrop = true,\n closeOnEscape = true,\n className,\n children,\n style,\n ...rest\n}: MSheetProps) {\n const titleId = useId()\n const [mounted, setMounted] = useState(false)\n const [closing, setClosing] = useState(false)\n const [dragOffset, setDragOffset] = useState(0)\n\n const dragStateRef = useRef<{pointerId: number; startY: number} | null>(null)\n const dragOffsetRef = useRef(0)\n\n useEffect(() => {\n if (open) {\n setMounted(true)\n setClosing(false)\n setDragOffset(0)\n dragOffsetRef.current = 0\n }\n }, [open])\n\n useEffect(() => {\n if (!open && mounted) {\n setClosing(true)\n const timer = window.setTimeout(() => {\n setMounted(false)\n setClosing(false)\n }, EXIT_DURATION)\n return () => window.clearTimeout(timer)\n }\n }, [open, mounted])\n\n useEffect(() => {\n if (!mounted) return\n\n const previousOverflow = document.body.style.overflow\n document.body.style.overflow = 'hidden'\n\n return () => {\n document.body.style.overflow = previousOverflow\n }\n }, [mounted])\n\n useEffect(() => {\n if (!open || !closeOnEscape) return\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') onClose()\n }\n\n document.addEventListener('keydown', handleKeyDown)\n return () => document.removeEventListener('keydown', handleKeyDown)\n }, [closeOnEscape, onClose, open])\n\n function handleBackdropClick(event: MouseEvent<HTMLDivElement>) {\n if (closeOnBackdrop && event.target === event.currentTarget) {\n onClose()\n }\n }\n\n function handleHandlePointerDown(event: ReactPointerEvent<HTMLButtonElement>) {\n event.preventDefault()\n event.currentTarget.setPointerCapture(event.pointerId)\n\n dragStateRef.current = {\n pointerId: event.pointerId,\n startY: event.clientY,\n }\n setDragOffset(0)\n dragOffsetRef.current = 0\n }\n\n function handleHandlePointerMove(event: ReactPointerEvent<HTMLButtonElement>) {\n const dragState = dragStateRef.current\n if (!dragState || dragState.pointerId !== event.pointerId) {\n return\n }\n\n const nextOffset = Math.max(event.clientY - dragState.startY, 0)\n dragOffsetRef.current = nextOffset\n setDragOffset(nextOffset)\n }\n\n function finishDrag(pointerId: number) {\n const dragState = dragStateRef.current\n if (!dragState || dragState.pointerId !== pointerId) {\n return\n }\n\n dragStateRef.current = null\n\n if (dragOffsetRef.current > CLOSE_DRAG_THRESHOLD) {\n setDragOffset(0)\n dragOffsetRef.current = 0\n onClose()\n return\n }\n\n setDragOffset(0)\n dragOffsetRef.current = 0\n }\n\n if (!mounted) return null\n\n const resolvedHeight = SHEET_HEIGHTS[size]\n const transformStyle = dragOffset > 0 ? `translateY(${dragOffset}px)` : undefined\n\n return (\n <MPortal>\n <div\n className={cn('mineral-backdrop', 'sheet-backdrop', closing && 'closing')}\n onMouseDown={handleBackdropClick}\n >\n <div className=\"sheet-shell\" style={{transform: transformStyle}}>\n <MCard\n className={cn('sheet', `size-${size}`, className)}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={title ? titleId : undefined}\n style={{\n ...style,\n height: size === 'full' ? resolvedHeight : undefined,\n maxHeight: resolvedHeight,\n }}\n {...rest}\n >\n <button\n type=\"button\"\n className=\"sheet-grabber\"\n onPointerDown={handleHandlePointerDown}\n onPointerMove={handleHandlePointerMove}\n onPointerUp={(event) => finishDrag(event.pointerId)}\n onPointerCancel={(event) => finishDrag(event.pointerId)}\n aria-label=\"Drag down to close\"\n >\n <span className=\"sheet-handle\" />\n </button>\n\n {(title || description) && (\n <MCardHeader className=\"sheet-header\">\n <div className=\"sheet-copy\">\n {title && (\n <div id={titleId} className=\"sheet-title\">\n {title}\n </div>\n )}\n {description && <div className=\"sheet-description\">{description}</div>}\n </div>\n <MButton\n variant=\"link\"\n color=\"neutral\"\n iconOnly\n size=\"sm\"\n onClick={onClose}\n aria-label=\"Close\"\n className=\"sheet-close\"\n >\n <MCloseIcon />\n </MButton>\n </MCardHeader>\n )}\n\n <MCardBody className=\"sheet-body\">{children}</MCardBody>\n\n {footer && <MCardFooter className=\"sheet-footer\">{footer}</MCardFooter>}\n </MCard>\n </div>\n </div>\n </MPortal>\n )\n}\n","import {useCallback} from 'react'\nimport type {MPopconfirmProps} from './MPopconfirm.types'\nimport {MPopover} from '../../primitives'\nimport {MButton} from '../../controls'\nimport {cn} from '../../../utils/cn'\nimport './MPopconfirm.css'\n\nexport function MPopconfirm({\n title,\n description,\n onConfirm,\n onCancel,\n confirmText = 'Yes',\n cancelText = 'No',\n color = 'warning',\n icon,\n placement = 'top-start',\n open,\n onOpenChange,\n anchorRef,\n className,\n}: MPopconfirmProps) {\n const handleCancel = useCallback(() => {\n onOpenChange(false)\n onCancel?.()\n }, [onOpenChange, onCancel])\n\n const handleConfirm = useCallback(() => {\n onOpenChange(false)\n onConfirm()\n }, [onOpenChange, onConfirm])\n\n return (\n <MPopover\n open={open}\n anchorRef={anchorRef}\n onClose={handleCancel}\n placement={placement}\n className={cn('popconfirm', `color-${color}`, className)}\n >\n <div className=\"body\">\n {icon && <div className=\"icon\">{icon}</div>}\n <div className=\"content\">\n <div className=\"title\">{title}</div>\n {description && <div className=\"description\">{description}</div>}\n </div>\n </div>\n <div className=\"actions\">\n <MButton variant=\"ghost\" size=\"sm\" color=\"neutral\" onClick={handleCancel}>\n {cancelText}\n </MButton>\n <MButton variant=\"ghost\" size=\"sm\" color={color} onClick={handleConfirm}>\n {confirmText}\n </MButton>\n </div>\n </MPopover>\n )\n}\n"],"mappings":"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"}
|