@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
|
@@ -1,2 +1,2 @@
|
|
|
1
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)(`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`}),(0,n.jsx)(`path`,{d:`M14 3.5V8h4`})]})}),i=(0,t.forwardRef)(function(t,r){return(0,n.jsxs)(e.t,{ref:r,...t,children:[(0,n.jsx)(`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`}),(0,n.jsx)(`path`,{d:`M14 3.5V8h4`}),(0,n.jsx)(`path`,{d:`M8.5 11h7M8.5 13.75h7M8.5 16.5h5.5`})]})}),a=(0,t.forwardRef)(function(t,r){return(0,n.jsxs)(e.t,{ref:r,...t,children:[(0,n.jsx)(`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`}),(0,n.jsx)(`path`,{d:`M14 3.5V8h4`}),(0,n.jsx)(`path`,{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`,fill:`#ef4444`,stroke:`none`}),(0,n.jsx)(`path`,{d:`M9 16v-2.75h1.05a.8.8 0 1 1 0 1.6H9`,stroke:`#fff`}),(0,n.jsx)(`path`,{d:`M11.95 16v-2.75h.55a1.1 1.1 0 0 1 0 2.75h-.55z`,stroke:`#fff`}),(0,n.jsx)(`path`,{d:`M14.9 16v-2.75h1.45M14.9 14.65h1.05`,stroke:`#fff`})]})}),o=(0,t.forwardRef)(function(t,r){return(0,n.jsxs)(e.t,{ref:r,...t,children:[(0,n.jsx)(`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`}),(0,n.jsx)(`path`,{d:`M14 3.5V8h4`}),(0,n.jsx)(`path`,{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`,fill:`#14b8a6`,stroke:`none`}),(0,n.jsx)(`circle`,{cx:`14.7`,cy:`13.4`,r:`0.9`,fill:`#f8fafc`,stroke:`none`}),(0,n.jsx)(`path`,{d:`M7.65 17.2l2.6-2.8 1.8 1.9 1.4-1.4 2.9 2.3`,stroke:`#f8fafc`})]})}),s=(0,t.forwardRef)(function(t,r){return(0,n.jsxs)(e.t,{ref:r,...t,children:[(0,n.jsx)(`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`}),(0,n.jsx)(`path`,{d:`M14 3.5V8h4`}),(0,n.jsx)(`path`,{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`,fill:`#2563eb`,stroke:`none`}),(0,n.jsx)(`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`})]})});function c(e){return e.length<=3?4:e.length===4?3.35:3}var l=(0,t.forwardRef)(function({mark:t,fill:r,markColor:i=`#f8fafc`,accent:a,...o},s){let l=c(t);return(0,n.jsxs)(e.t,{ref:s,...o,children:[(0,n.jsx)(`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`}),(0,n.jsx)(`path`,{d:`M14 3.5V8h4`}),(0,n.jsx)(`path`,{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`,fill:r,stroke:`none`}),(0,n.jsx)(`path`,{d:`M7.2 9.7h5.6`,stroke:a??r}),(0,n.jsx)(`text`,{x:`12`,y:`15.35`,fill:i,stroke:`none`,textAnchor:`middle`,fontSize:l,fontWeight:`700`,fontFamily:`system-ui, sans-serif`,children:t})]})});function u(e,r,i,a){let o=(0,t.forwardRef)(function(e,t){return(0,n.jsx)(l,{ref:t,mark:r,fill:i,markColor:a,...e})});return o.displayName=e,o}var d=u(`MFileTxtIcon`,`TXT`,`#475569`),f=u(`MFileDocsIcon`,`DOCS`,`#2563eb`),p=u(`MFileJpgIcon`,`JPG`,`#ea580c`),m=u(`MFileJsonIcon`,`JSON`,`#f59e0b`,`#111827`),h=u(`MFileExeIcon`,`EXE`,`#1f2937`),g=u(`MFileOdtIcon`,`ODT`,`#0f766e`),_=u(`MFileMdIcon`,`MD`,`#334155`),v=u(`MFileJsIcon`,`JS`,`#facc15`,`#111827`),y=u(`MFileHtmlIcon`,`HTML`,`#ea580c`),b=u(`MFileCssIcon`,`CSS`,`#2563eb`),x=u(`MFilePhpIcon`,`PHP`,`#7c3aed`),S=u(`MFilePngIcon`,`PNG`,`#0891b2`),C=u(`MFileSvgIcon`,`SVG`,`#f97316`),w=u(`MFileGifIcon`,`GIF`,`#ec4899`),T=u(`MFileWebpIcon`,`WEBP`,`#0f766e`),E=u(`MFileTsIcon`,`TS`,`#2563eb`),D=u(`MFileTsxIcon`,`TSX`,`#0284c7`),O=u(`MFileJsxIcon`,`JSX`,`#0ea5e9`),k=u(`MFileXmlIcon`,`XML`,`#7c2d12`),A=u(`MFileCsvIcon`,`CSV`,`#15803d`),j=u(`MFileXlsIcon`,`XLS`,`#166534`),M=u(`MFilePptIcon`,`PPT`,`#dc2626`),N=u(`MFileZipIcon`,`ZIP`,`#a16207`),P=u(`MFileRarIcon`,`RAR`,`#92400e`),F=u(`MFileMp3Icon`,`MP3`,`#9333ea`),I=u(`MFileMp4Icon`,`MP4`,`#be123c`);Object.defineProperty(exports,`A`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`C`,{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,`D`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`E`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`O`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`T`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`j`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`k`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`w`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return C}});
|
|
2
|
-
//# sourceMappingURL=MFileExtIcons-
|
|
2
|
+
//# sourceMappingURL=MFileExtIcons-DH9oZPpf.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MFileExtIcons-DzACx_eM.cjs","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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"}
|
|
1
|
+
{"version":3,"file":"MFileExtIcons-DH9oZPpf.cjs","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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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { t as e } from "./cn-DZLxql0l.js";
|
|
2
|
+
import { t } from "./useInteractionEffect-Dfqq8lGO.js";
|
|
3
|
+
import { t as n } from "./MSkeleton-BL4C5FkH.js";
|
|
4
|
+
import { useState as r } from "react";
|
|
5
|
+
import { jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
6
|
+
//#region src/components/media/MImage/MImage.tsx
|
|
7
|
+
var o = {
|
|
8
|
+
"1:1": "1 / 1",
|
|
9
|
+
"4:3": "4 / 3",
|
|
10
|
+
"16:9": "16 / 9",
|
|
11
|
+
"21:9": "21 / 9"
|
|
12
|
+
};
|
|
13
|
+
function s({ fit: s = "cover", ratio: c = "auto", rounded: l = !1, bordered: u = !1, shadow: d = !1, clickEffect: f = "none", fallback: p, skeleton: m = !1, className: h, style: g, alt: _, onError: v, ...y }) {
|
|
14
|
+
let [b, x] = r(!1), { effectClassName: S, effectLayer: C, handlePointerDown: w } = t({ effect: m ? "none" : f }), T = (e) => {
|
|
15
|
+
p && !b && (x(!0), e.currentTarget.src = p), v?.(e);
|
|
16
|
+
}, E = c !== "auto" && !!o[c], D = E ? {
|
|
17
|
+
aspectRatio: o[c],
|
|
18
|
+
...g
|
|
19
|
+
} : g;
|
|
20
|
+
if (m) return /* @__PURE__ */ i(n, {
|
|
21
|
+
variant: "rectangle",
|
|
22
|
+
animate: "pulse",
|
|
23
|
+
className: e("image-skeleton", l && "rounded", u && "bordered", h),
|
|
24
|
+
style: D,
|
|
25
|
+
"aria-label": "Loading"
|
|
26
|
+
});
|
|
27
|
+
let O = e("image", s, !C && l && "rounded", !C && u && "bordered", !C && d && "shadow");
|
|
28
|
+
return C ? /* @__PURE__ */ a("span", {
|
|
29
|
+
className: e("image-wrap", E && "has-ratio", l && "rounded", u && "bordered", d && "shadow", S, h),
|
|
30
|
+
style: D,
|
|
31
|
+
onPointerDown: w,
|
|
32
|
+
children: [C, /* @__PURE__ */ i("img", {
|
|
33
|
+
className: O,
|
|
34
|
+
onError: T,
|
|
35
|
+
...y,
|
|
36
|
+
alt: _ ?? ""
|
|
37
|
+
})]
|
|
38
|
+
}) : /* @__PURE__ */ i("img", {
|
|
39
|
+
className: e(O, h),
|
|
40
|
+
style: D,
|
|
41
|
+
onError: T,
|
|
42
|
+
...y,
|
|
43
|
+
alt: _ ?? ""
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
//#endregion
|
|
47
|
+
export { s as t };
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=MImage-CKrjXRmf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MImage-CKrjXRmf.js","names":[],"sources":["../src/components/media/MImage/MImage.tsx"],"sourcesContent":["import {useState} from 'react'\nimport type * as React from 'react'\nimport type {MImageProps} from './MImage.types'\nimport {cn} from '../../../utils/cn'\nimport {useInteractionEffect} from '../../../utils/useInteractionEffect'\nimport {MSkeleton} from '../../feedback'\nimport './MImage.css'\n\nconst RATIO_MAP: Record<string, string> = {\n '1:1': '1 / 1',\n '4:3': '4 / 3',\n '16:9': '16 / 9',\n '21:9': '21 / 9',\n}\n\n// Render a styled image with aspect ratio, fit, and optional fallback.\nexport function MImage({\n fit = 'cover',\n ratio = 'auto',\n rounded = false,\n bordered = false,\n shadow = false,\n clickEffect = 'none',\n fallback,\n skeleton = false,\n className,\n style,\n alt,\n onError,\n ...rest\n}: MImageProps) {\n const [errored, setErrored] = useState(false)\n const {effectClassName, effectLayer, handlePointerDown} = useInteractionEffect<HTMLSpanElement>({\n effect: skeleton ? 'none' : clickEffect,\n })\n\n const handleError = (e: React.SyntheticEvent<HTMLImageElement>) => {\n if (fallback && !errored) {\n setErrored(true)\n e.currentTarget.src = fallback\n }\n onError?.(e)\n }\n\n const hasFixedRatio = ratio !== 'auto' && !!RATIO_MAP[ratio]\n const ratioStyle = hasFixedRatio ? {aspectRatio: RATIO_MAP[ratio], ...style} : style\n\n // Skeleton placeholder\n if (skeleton) {\n return (\n <MSkeleton\n variant=\"rectangle\"\n animate=\"pulse\"\n className={cn(\n 'image-skeleton',\n rounded && 'rounded',\n bordered && 'bordered',\n className\n )}\n style={ratioStyle}\n aria-label=\"Loading\"\n />\n )\n }\n\n const imgClassName = cn(\n 'image',\n fit,\n !effectLayer && rounded && 'rounded',\n !effectLayer && bordered && 'bordered',\n !effectLayer && shadow && 'shadow'\n )\n\n if (effectLayer) {\n return (\n <span\n className={cn(\n 'image-wrap',\n hasFixedRatio && 'has-ratio',\n rounded && 'rounded',\n bordered && 'bordered',\n shadow && 'shadow',\n effectClassName,\n className\n )}\n style={ratioStyle}\n onPointerDown={handlePointerDown}\n >\n {effectLayer}\n <img className={imgClassName} onError={handleError} {...rest} alt={alt ?? ''} />\n </span>\n )\n }\n\n return (\n <img\n className={cn(imgClassName, className)}\n style={ratioStyle}\n onError={handleError}\n {...rest}\n alt={alt ?? ''}\n />\n )\n}\n"],"mappings":";;;;;;AAQA,IAAM,IAAoC;CACtC,OAAO;CACP,OAAO;CACP,QAAQ;CACR,QAAQ;CACX;AAGD,SAAgB,EAAO,EACnB,SAAM,SACN,WAAQ,QACR,aAAU,IACV,cAAW,IACX,YAAS,IACT,iBAAc,QACd,aACA,cAAW,IACX,cACA,UACA,QACA,YACA,GAAG,KACS;CACZ,IAAM,CAAC,GAAS,KAAc,EAAS,GAAM,EACvC,EAAC,oBAAiB,gBAAa,yBAAqB,EAAsC,EAC5F,QAAQ,IAAW,SAAS,GAC/B,CAAC,EAEI,KAAe,MAA8C;AAK/D,EAJI,KAAY,CAAC,MACb,EAAW,GAAK,EAChB,EAAE,cAAc,MAAM,IAE1B,IAAU,EAAE;IAGV,IAAgB,MAAU,UAAU,CAAC,CAAC,EAAU,IAChD,IAAa,IAAgB;EAAC,aAAa,EAAU;EAAQ,GAAG;EAAM,GAAG;AAG/E,KAAI,EACA,QACI,kBAAC,GAAD;EACI,SAAQ;EACR,SAAQ;EACR,WAAW,EACP,kBACA,KAAW,WACX,KAAY,YACZ,EACH;EACD,OAAO;EACP,cAAW;EACb,CAAA;CAIV,IAAM,IAAe,EACjB,SACA,GACA,CAAC,KAAe,KAAW,WAC3B,CAAC,KAAe,KAAY,YAC5B,CAAC,KAAe,KAAU,SAC7B;AAuBD,QArBI,IAEI,kBAAC,QAAD;EACI,WAAW,EACP,cACA,KAAiB,aACjB,KAAW,WACX,KAAY,YACZ,KAAU,UACV,GACA,EACH;EACD,OAAO;EACP,eAAe;YAXnB,CAaK,GACD,kBAAC,OAAD;GAAK,WAAW;GAAc,SAAS;GAAa,GAAI;GAAM,KAAK,KAAO;GAAM,CAAA,CAC7E;MAKX,kBAAC,OAAD;EACI,WAAW,EAAG,GAAc,EAAU;EACtC,OAAO;EACP,SAAS;EACT,GAAI;EACJ,KAAK,KAAO;EACd,CAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require(`./cn-SOcVdnX6.cjs`),t=require(`./useInteractionEffect-BLehDk91.cjs`),n=require(`./MSkeleton-B5jZNFOG.cjs`);let r=require(`react`),i=require(`react/jsx-runtime`);var a={"1:1":`1 / 1`,"4:3":`4 / 3`,"16:9":`16 / 9`,"21:9":`21 / 9`};function o({fit:o=`cover`,ratio:s=`auto`,rounded:c=!1,bordered:l=!1,shadow:u=!1,clickEffect:d=`none`,fallback:f,skeleton:p=!1,className:m,style:h,alt:g,onError:_,...v}){let[y,b]=(0,r.useState)(!1),{effectClassName:x,effectLayer:S,handlePointerDown:C}=t.t({effect:p?`none`:d}),w=e=>{f&&!y&&(b(!0),e.currentTarget.src=f),_?.(e)},T=s!==`auto`&&!!a[s],E=T?{aspectRatio:a[s],...h}:h;if(p)return(0,i.jsx)(n.t,{variant:`rectangle`,animate:`pulse`,className:e.t(`image-skeleton`,c&&`rounded`,l&&`bordered`,m),style:E,"aria-label":`Loading`});let D=e.t(`image`,o,!S&&c&&`rounded`,!S&&l&&`bordered`,!S&&u&&`shadow`);return S?(0,i.jsxs)(`span`,{className:e.t(`image-wrap`,T&&`has-ratio`,c&&`rounded`,l&&`bordered`,u&&`shadow`,x,m),style:E,onPointerDown:C,children:[S,(0,i.jsx)(`img`,{className:D,onError:w,...v,alt:g??``})]}):(0,i.jsx)(`img`,{className:e.t(D,m),style:E,onError:w,...v,alt:g??``})}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return o}});
|
|
2
|
+
//# sourceMappingURL=MImage-f854avZS.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MImage-f854avZS.cjs","names":[],"sources":["../src/components/media/MImage/MImage.tsx"],"sourcesContent":["import {useState} from 'react'\nimport type * as React from 'react'\nimport type {MImageProps} from './MImage.types'\nimport {cn} from '../../../utils/cn'\nimport {useInteractionEffect} from '../../../utils/useInteractionEffect'\nimport {MSkeleton} from '../../feedback'\nimport './MImage.css'\n\nconst RATIO_MAP: Record<string, string> = {\n '1:1': '1 / 1',\n '4:3': '4 / 3',\n '16:9': '16 / 9',\n '21:9': '21 / 9',\n}\n\n// Render a styled image with aspect ratio, fit, and optional fallback.\nexport function MImage({\n fit = 'cover',\n ratio = 'auto',\n rounded = false,\n bordered = false,\n shadow = false,\n clickEffect = 'none',\n fallback,\n skeleton = false,\n className,\n style,\n alt,\n onError,\n ...rest\n}: MImageProps) {\n const [errored, setErrored] = useState(false)\n const {effectClassName, effectLayer, handlePointerDown} = useInteractionEffect<HTMLSpanElement>({\n effect: skeleton ? 'none' : clickEffect,\n })\n\n const handleError = (e: React.SyntheticEvent<HTMLImageElement>) => {\n if (fallback && !errored) {\n setErrored(true)\n e.currentTarget.src = fallback\n }\n onError?.(e)\n }\n\n const hasFixedRatio = ratio !== 'auto' && !!RATIO_MAP[ratio]\n const ratioStyle = hasFixedRatio ? {aspectRatio: RATIO_MAP[ratio], ...style} : style\n\n // Skeleton placeholder\n if (skeleton) {\n return (\n <MSkeleton\n variant=\"rectangle\"\n animate=\"pulse\"\n className={cn(\n 'image-skeleton',\n rounded && 'rounded',\n bordered && 'bordered',\n className\n )}\n style={ratioStyle}\n aria-label=\"Loading\"\n />\n )\n }\n\n const imgClassName = cn(\n 'image',\n fit,\n !effectLayer && rounded && 'rounded',\n !effectLayer && bordered && 'bordered',\n !effectLayer && shadow && 'shadow'\n )\n\n if (effectLayer) {\n return (\n <span\n className={cn(\n 'image-wrap',\n hasFixedRatio && 'has-ratio',\n rounded && 'rounded',\n bordered && 'bordered',\n shadow && 'shadow',\n effectClassName,\n className\n )}\n style={ratioStyle}\n onPointerDown={handlePointerDown}\n >\n {effectLayer}\n <img className={imgClassName} onError={handleError} {...rest} alt={alt ?? ''} />\n </span>\n )\n }\n\n return (\n <img\n className={cn(imgClassName, className)}\n style={ratioStyle}\n onError={handleError}\n {...rest}\n alt={alt ?? ''}\n />\n )\n}\n"],"mappings":"kLAQA,IAAM,EAAoC,CACtC,MAAO,QACP,MAAO,QACP,OAAQ,SACR,OAAQ,SACX,CAGD,SAAgB,EAAO,CACnB,MAAM,QACN,QAAQ,OACR,UAAU,GACV,WAAW,GACX,SAAS,GACT,cAAc,OACd,WACA,WAAW,GACX,YACA,QACA,MACA,UACA,GAAG,GACS,CACZ,GAAM,CAAC,EAAS,IAAA,EAAA,EAAA,UAAuB,GAAM,CACvC,CAAC,kBAAiB,cAAa,qBAAqB,EAAA,EAAsC,CAC5F,OAAQ,EAAW,OAAS,EAC/B,CAAC,CAEI,EAAe,GAA8C,CAC3D,GAAY,CAAC,IACb,EAAW,GAAK,CAChB,EAAE,cAAc,IAAM,GAE1B,IAAU,EAAE,EAGV,EAAgB,IAAU,QAAU,CAAC,CAAC,EAAU,GAChD,EAAa,EAAgB,CAAC,YAAa,EAAU,GAAQ,GAAG,EAAM,CAAG,EAG/E,GAAI,EACA,OACI,EAAA,EAAA,KAAC,EAAA,EAAD,CACI,QAAQ,YACR,QAAQ,QACR,UAAW,EAAA,EACP,iBACA,GAAW,UACX,GAAY,WACZ,EACH,CACD,MAAO,EACP,aAAW,UACb,CAAA,CAIV,IAAM,EAAe,EAAA,EACjB,QACA,EACA,CAAC,GAAe,GAAW,UAC3B,CAAC,GAAe,GAAY,WAC5B,CAAC,GAAe,GAAU,SAC7B,CAuBD,OArBI,GAEI,EAAA,EAAA,MAAC,OAAD,CACI,UAAW,EAAA,EACP,aACA,GAAiB,YACjB,GAAW,UACX,GAAY,WACZ,GAAU,SACV,EACA,EACH,CACD,MAAO,EACP,cAAe,WAXnB,CAaK,GACD,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAc,QAAS,EAAa,GAAI,EAAM,IAAK,GAAO,GAAM,CAAA,CAC7E,IAKX,EAAA,EAAA,KAAC,MAAD,CACI,UAAW,EAAA,EAAG,EAAc,EAAU,CACtC,MAAO,EACP,QAAS,EACT,GAAI,EACJ,IAAK,GAAO,GACd,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { t as e } from "./MCloseIcon-
|
|
2
|
-
import { t } from "./cn-
|
|
3
|
-
import { t as n } from "./useGhostText-
|
|
4
|
-
import { t as r } from "./useInteractionEffect-
|
|
5
|
-
import { r as i } from "./MButton-
|
|
1
|
+
import { t as e } from "./MCloseIcon-lDH3Vc10.js";
|
|
2
|
+
import { t } from "./cn-DZLxql0l.js";
|
|
3
|
+
import { t as n } from "./useGhostText-Zq3iktss.js";
|
|
4
|
+
import { t as r } from "./useInteractionEffect-Dfqq8lGO.js";
|
|
5
|
+
import { r as i } from "./MButton-33EzpGvQ.js";
|
|
6
6
|
import { forwardRef as a, useCallback as o, useRef as ee, useState as s } from "react";
|
|
7
7
|
import { jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
8
8
|
//#region src/utils/useControllableString.ts
|
|
@@ -183,4 +183,4 @@ var f = a(function({ type: a = "text", value: u, defaultValue: f, name: p, id: m
|
|
|
183
183
|
//#endregion
|
|
184
184
|
export { d as n, f as t };
|
|
185
185
|
|
|
186
|
-
//# sourceMappingURL=MInput-
|
|
186
|
+
//# sourceMappingURL=MInput-BUCcLWSI.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MInput-DYEAqxod.js","names":[],"sources":["../src/utils/useControllableString.ts","../src/components/inputs/MInput/MInput.tsx"],"sourcesContent":["import {useCallback, useState} from 'react'\n\ntype ControllableStringLike = string | number | readonly string[] | null | undefined\n\n// Normalize mixed input values so text-like controls always work with strings.\nfunction normalizeStringValue(value: ControllableStringLike) {\n if (value === null || value === undefined) {\n return ''\n }\n\n return value.toString()\n}\n\n// Share controlled and uncontrolled string state logic between text-like primitives.\nexport function useControllableString(value: ControllableStringLike, defaultValue?: ControllableStringLike) {\n const [internalValue, setInternalValue] = useState(() => normalizeStringValue(defaultValue))\n const isControlled = value !== undefined\n const currentValue = isControlled ? normalizeStringValue(value) : internalValue\n\n const setCurrentValue = useCallback(\n (nextValue: string) => {\n if (!isControlled) {\n setInternalValue(nextValue)\n }\n },\n [isControlled]\n )\n\n return {\n isControlled,\n currentValue,\n setCurrentValue,\n }\n}\n","import {forwardRef, useCallback, useRef, useState} from 'react'\nimport type * as React from 'react'\nimport type {MInputProps} from './MInput.types'\nimport {cn} from '../../../utils/cn'\nimport {useControllableString} from '../../../utils/useControllableString'\nimport {useInteractionEffect} from '../../../utils/useInteractionEffect'\nimport {useGhostText} from '../../../utils/useGhostText'\nimport {MSpinner} from '../../feedback'\nimport {MCloseIcon} from '../../../icons'\nimport './MInput.css'\n\n// Render the base text input used by all specialized input wrappers.\nexport const MInput = forwardRef<HTMLInputElement, MInputProps>(function MInput(\n {\n type = 'text',\n value,\n defaultValue,\n name,\n id,\n placeholder,\n disabled = false,\n readOnly = false,\n required = false,\n autoFocus = false,\n autoComplete,\n inputMode,\n variant = 'outlined',\n size = 'md',\n color,\n fullWidth = false,\n rounded = false,\n label,\n helperText,\n errorText,\n startIcon,\n endIcon,\n clearable = false,\n error = false,\n success = false,\n maxLength,\n showCharCount = false,\n onChange,\n onFocus,\n onBlur,\n onKeyDown,\n onClear,\n ghostOptions,\n ghostMinChars = 2,\n onGhostAccept,\n loading = false,\n clickEffect = 'ripple',\n rippleColor,\n className,\n style,\n inputClassName,\n labelClassName,\n },\n ref\n) {\n const [focused, setFocused] = useState(false)\n const inputRef = useRef<HTMLInputElement>(null)\n const {effectClassName, effectLayer, handlePointerDown} = useInteractionEffect<HTMLDivElement>({\n effect: clickEffect,\n disabled: disabled || readOnly,\n color: rippleColor,\n })\n\n const {isControlled, currentValue, setCurrentValue} = useControllableString(value, defaultValue)\n const ghost = useGhostText({\n options: ghostOptions ?? [],\n value: currentValue,\n minChars: ghostMinChars,\n })\n const hasError = error || !!errorText\n const hasContent = currentValue.length > 0\n const resolvedColorClass = hasError ? 'color-error' : color ? `color-${color}` : undefined\n\n // Mirror focus state so the wrapper can style the input consistently.\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLInputElement>) => {\n setFocused(true)\n onFocus?.(event)\n },\n [onFocus]\n )\n\n // Clear focus styles before delegating to the caller.\n const handleBlur = useCallback(\n (event: React.FocusEvent<HTMLInputElement>) => {\n setFocused(false)\n onBlur?.(event)\n },\n [onBlur]\n )\n\n // Keep uncontrolled usage working without blocking controlled integrations.\n const handleChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n setCurrentValue(event.target.value)\n onChange?.(event)\n ghost.reset()\n },\n [onChange, setCurrentValue, ghost.reset]\n )\n\n // Intercept keyboard events for ghost text acceptance before delegating.\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (ghostOptions && ghost.hint) {\n const accepted = ghost.onKeyDown(event)\n if (accepted) {\n const result = ghost.accept()\n setCurrentValue(result.value)\n onGhostAccept?.(result.value)\n // Fire synthetic change so controlled parents stay in sync.\n const input = (ref as React.RefObject<HTMLInputElement>)?.current ?? inputRef.current\n if (input) {\n const nativeSet = Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, 'value')?.set\n nativeSet?.call(input, result.value)\n input.dispatchEvent(new Event('input', {bubbles: true}))\n }\n return\n }\n }\n onKeyDown?.(event)\n },\n [ghostOptions, ghost, setCurrentValue, onGhostAccept, onKeyDown, ref]\n )\n\n // Reset the visible value while preserving focus for quick repeated input.\n const handleClear = useCallback(() => {\n setCurrentValue('')\n\n const input = (ref as React.RefObject<HTMLInputElement>)?.current ?? inputRef.current\n if (input) {\n const nativeSet = Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, 'value')?.set\n nativeSet?.call(input, '')\n input.dispatchEvent(new Event('input', {bubbles: true}))\n }\n\n onClear?.()\n input?.focus()\n }, [onClear, ref, setCurrentValue])\n\n const containerClasses = cn(\n 'container',\n `field-${variant}`,\n `field-${size}`,\n focused && 'focused',\n hasError && 'input-error',\n success && !hasError && 'input-success',\n resolvedColorClass,\n disabled && 'disabled',\n rounded && 'rounded',\n effectClassName\n )\n\n return (\n <div className={cn('input', resolvedColorClass, fullWidth && 'full-width', className)} style={style}>\n {label && (\n <label\n htmlFor={id}\n className={cn(\n 'field-label',\n focused && 'focused',\n hasError && 'error',\n success && !hasError && 'success',\n required && 'required',\n labelClassName\n )}\n >\n {label}\n </label>\n )}\n\n <div className={containerClasses} onPointerDown={handlePointerDown}>\n {effectLayer}\n {startIcon && <span className=\"start-icon\">{startIcon}</span>}\n\n {ghostOptions ? (\n <div className=\"ghost-text-field\">\n <input\n ref={ref ?? inputRef}\n type={type}\n value={currentValue}\n name={name}\n id={id}\n placeholder={placeholder}\n disabled={disabled}\n readOnly={readOnly}\n required={required}\n autoFocus={autoFocus}\n autoComplete={autoComplete ?? 'off'}\n inputMode={inputMode}\n maxLength={maxLength}\n className={cn('field', inputClassName)}\n onChange={handleChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n aria-invalid={hasError || undefined}\n aria-describedby={errorText ? `${id}-error` : helperText ? `${id}-helper` : undefined}\n />\n {focused && ghost.hint && (\n <span className=\"ghost-text-overlay\" aria-hidden=\"true\">\n <span className=\"ghost-text-typed\">{currentValue}</span>\n <span className=\"ghost-text-hint\">{ghost.hint}</span>\n </span>\n )}\n </div>\n ) : (\n <input\n ref={ref ?? inputRef}\n type={type}\n value={currentValue}\n name={name}\n id={id}\n placeholder={placeholder}\n disabled={disabled}\n readOnly={readOnly}\n required={required}\n autoFocus={autoFocus}\n autoComplete={autoComplete}\n inputMode={inputMode}\n maxLength={maxLength}\n className={cn('field', inputClassName)}\n onChange={handleChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={onKeyDown}\n aria-invalid={hasError || undefined}\n aria-describedby={errorText ? `${id}-error` : helperText ? `${id}-helper` : undefined}\n />\n )}\n\n {loading && <MSpinner size=\"sm\" color={color} />}\n\n {clearable && hasContent && !loading && !disabled && (\n <button\n type=\"button\"\n className=\"clear-btn clear-btn-base\"\n onClick={handleClear}\n tabIndex={-1}\n aria-label=\"Clear input\"\n >\n <MCloseIcon />\n </button>\n )}\n\n {endIcon && !loading && <span className=\"end-icon\">{endIcon}</span>}\n </div>\n\n {(errorText || helperText || showCharCount) && (\n <div className=\"bottom-row\">\n <span>\n {errorText && (\n <span id={id ? `${id}-error` : undefined} className=\"field-error\" role=\"alert\">\n {errorText}\n </span>\n )}\n {!errorText && helperText && (\n <span id={id ? `${id}-helper` : undefined} className=\"field-helper\">\n {helperText}\n </span>\n )}\n </span>\n {showCharCount && maxLength && (\n <span className={cn('char-count', currentValue.length > maxLength && 'over')}>\n {currentValue.length}/{maxLength}\n </span>\n )}\n </div>\n )}\n </div>\n )\n})\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MInput-BUCcLWSI.js","names":[],"sources":["../src/utils/useControllableString.ts","../src/components/inputs/MInput/MInput.tsx"],"sourcesContent":["import {useCallback, useState} from 'react'\n\ntype ControllableStringLike = string | number | readonly string[] | null | undefined\n\n// Normalize mixed input values so text-like controls always work with strings.\nfunction normalizeStringValue(value: ControllableStringLike) {\n if (value === null || value === undefined) {\n return ''\n }\n\n return value.toString()\n}\n\n// Share controlled and uncontrolled string state logic between text-like primitives.\nexport function useControllableString(value: ControllableStringLike, defaultValue?: ControllableStringLike) {\n const [internalValue, setInternalValue] = useState(() => normalizeStringValue(defaultValue))\n const isControlled = value !== undefined\n const currentValue = isControlled ? normalizeStringValue(value) : internalValue\n\n const setCurrentValue = useCallback(\n (nextValue: string) => {\n if (!isControlled) {\n setInternalValue(nextValue)\n }\n },\n [isControlled]\n )\n\n return {\n isControlled,\n currentValue,\n setCurrentValue,\n }\n}\n","import {forwardRef, useCallback, useRef, useState} from 'react'\nimport type * as React from 'react'\nimport type {MInputProps} from './MInput.types'\nimport {cn} from '../../../utils/cn'\nimport {useControllableString} from '../../../utils/useControllableString'\nimport {useInteractionEffect} from '../../../utils/useInteractionEffect'\nimport {useGhostText} from '../../../utils/useGhostText'\nimport {MSpinner} from '../../feedback'\nimport {MCloseIcon} from '../../../icons'\nimport './MInput.css'\n\n// Render the base text input used by all specialized input wrappers.\nexport const MInput = forwardRef<HTMLInputElement, MInputProps>(function MInput(\n {\n type = 'text',\n value,\n defaultValue,\n name,\n id,\n placeholder,\n disabled = false,\n readOnly = false,\n required = false,\n autoFocus = false,\n autoComplete,\n inputMode,\n variant = 'outlined',\n size = 'md',\n color,\n fullWidth = false,\n rounded = false,\n label,\n helperText,\n errorText,\n startIcon,\n endIcon,\n clearable = false,\n error = false,\n success = false,\n maxLength,\n showCharCount = false,\n onChange,\n onFocus,\n onBlur,\n onKeyDown,\n onClear,\n ghostOptions,\n ghostMinChars = 2,\n onGhostAccept,\n loading = false,\n clickEffect = 'ripple',\n rippleColor,\n className,\n style,\n inputClassName,\n labelClassName,\n },\n ref\n) {\n const [focused, setFocused] = useState(false)\n const inputRef = useRef<HTMLInputElement>(null)\n const {effectClassName, effectLayer, handlePointerDown} = useInteractionEffect<HTMLDivElement>({\n effect: clickEffect,\n disabled: disabled || readOnly,\n color: rippleColor,\n })\n\n const {isControlled, currentValue, setCurrentValue} = useControllableString(value, defaultValue)\n const ghost = useGhostText({\n options: ghostOptions ?? [],\n value: currentValue,\n minChars: ghostMinChars,\n })\n const hasError = error || !!errorText\n const hasContent = currentValue.length > 0\n const resolvedColorClass = hasError ? 'color-error' : color ? `color-${color}` : undefined\n\n // Mirror focus state so the wrapper can style the input consistently.\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLInputElement>) => {\n setFocused(true)\n onFocus?.(event)\n },\n [onFocus]\n )\n\n // Clear focus styles before delegating to the caller.\n const handleBlur = useCallback(\n (event: React.FocusEvent<HTMLInputElement>) => {\n setFocused(false)\n onBlur?.(event)\n },\n [onBlur]\n )\n\n // Keep uncontrolled usage working without blocking controlled integrations.\n const handleChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n setCurrentValue(event.target.value)\n onChange?.(event)\n ghost.reset()\n },\n [onChange, setCurrentValue, ghost.reset]\n )\n\n // Intercept keyboard events for ghost text acceptance before delegating.\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (ghostOptions && ghost.hint) {\n const accepted = ghost.onKeyDown(event)\n if (accepted) {\n const result = ghost.accept()\n setCurrentValue(result.value)\n onGhostAccept?.(result.value)\n // Fire synthetic change so controlled parents stay in sync.\n const input = (ref as React.RefObject<HTMLInputElement>)?.current ?? inputRef.current\n if (input) {\n const nativeSet = Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, 'value')?.set\n nativeSet?.call(input, result.value)\n input.dispatchEvent(new Event('input', {bubbles: true}))\n }\n return\n }\n }\n onKeyDown?.(event)\n },\n [ghostOptions, ghost, setCurrentValue, onGhostAccept, onKeyDown, ref]\n )\n\n // Reset the visible value while preserving focus for quick repeated input.\n const handleClear = useCallback(() => {\n setCurrentValue('')\n\n const input = (ref as React.RefObject<HTMLInputElement>)?.current ?? inputRef.current\n if (input) {\n const nativeSet = Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, 'value')?.set\n nativeSet?.call(input, '')\n input.dispatchEvent(new Event('input', {bubbles: true}))\n }\n\n onClear?.()\n input?.focus()\n }, [onClear, ref, setCurrentValue])\n\n const containerClasses = cn(\n 'container',\n `field-${variant}`,\n `field-${size}`,\n focused && 'focused',\n hasError && 'input-error',\n success && !hasError && 'input-success',\n resolvedColorClass,\n disabled && 'disabled',\n rounded && 'rounded',\n effectClassName\n )\n\n return (\n <div className={cn('input', resolvedColorClass, fullWidth && 'full-width', className)} style={style}>\n {label && (\n <label\n htmlFor={id}\n className={cn(\n 'field-label',\n focused && 'focused',\n hasError && 'error',\n success && !hasError && 'success',\n required && 'required',\n labelClassName\n )}\n >\n {label}\n </label>\n )}\n\n <div className={containerClasses} onPointerDown={handlePointerDown}>\n {effectLayer}\n {startIcon && <span className=\"start-icon\">{startIcon}</span>}\n\n {ghostOptions ? (\n <div className=\"ghost-text-field\">\n <input\n ref={ref ?? inputRef}\n type={type}\n value={currentValue}\n name={name}\n id={id}\n placeholder={placeholder}\n disabled={disabled}\n readOnly={readOnly}\n required={required}\n autoFocus={autoFocus}\n autoComplete={autoComplete ?? 'off'}\n inputMode={inputMode}\n maxLength={maxLength}\n className={cn('field', inputClassName)}\n onChange={handleChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n aria-invalid={hasError || undefined}\n aria-describedby={errorText ? `${id}-error` : helperText ? `${id}-helper` : undefined}\n />\n {focused && ghost.hint && (\n <span className=\"ghost-text-overlay\" aria-hidden=\"true\">\n <span className=\"ghost-text-typed\">{currentValue}</span>\n <span className=\"ghost-text-hint\">{ghost.hint}</span>\n </span>\n )}\n </div>\n ) : (\n <input\n ref={ref ?? inputRef}\n type={type}\n value={currentValue}\n name={name}\n id={id}\n placeholder={placeholder}\n disabled={disabled}\n readOnly={readOnly}\n required={required}\n autoFocus={autoFocus}\n autoComplete={autoComplete}\n inputMode={inputMode}\n maxLength={maxLength}\n className={cn('field', inputClassName)}\n onChange={handleChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={onKeyDown}\n aria-invalid={hasError || undefined}\n aria-describedby={errorText ? `${id}-error` : helperText ? `${id}-helper` : undefined}\n />\n )}\n\n {loading && <MSpinner size=\"sm\" color={color} />}\n\n {clearable && hasContent && !loading && !disabled && (\n <button\n type=\"button\"\n className=\"clear-btn clear-btn-base\"\n onClick={handleClear}\n tabIndex={-1}\n aria-label=\"Clear input\"\n >\n <MCloseIcon />\n </button>\n )}\n\n {endIcon && !loading && <span className=\"end-icon\">{endIcon}</span>}\n </div>\n\n {(errorText || helperText || showCharCount) && (\n <div className=\"bottom-row\">\n <span>\n {errorText && (\n <span id={id ? `${id}-error` : undefined} className=\"field-error\" role=\"alert\">\n {errorText}\n </span>\n )}\n {!errorText && helperText && (\n <span id={id ? `${id}-helper` : undefined} className=\"field-helper\">\n {helperText}\n </span>\n )}\n </span>\n {showCharCount && maxLength && (\n <span className={cn('char-count', currentValue.length > maxLength && 'over')}>\n {currentValue.length}/{maxLength}\n </span>\n )}\n </div>\n )}\n </div>\n )\n})\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require(`./MCloseIcon-
|
|
2
|
-
//# sourceMappingURL=MInput-
|
|
1
|
+
const e=require(`./MCloseIcon-6cfw9trj.cjs`),t=require(`./cn-SOcVdnX6.cjs`),n=require(`./useGhostText-CL1kSB_V.cjs`),r=require(`./useInteractionEffect-BLehDk91.cjs`),i=require(`./MButton-C_WTyNvw.cjs`);let a=require(`react`),o=require(`react/jsx-runtime`);function s(e){return e==null?``:e.toString()}function c(e,t){let[n,r]=(0,a.useState)(()=>s(t)),i=e!==void 0;return{isControlled:i,currentValue:i?s(e):n,setCurrentValue:(0,a.useCallback)(e=>{i||r(e)},[i])}}var l=(0,a.forwardRef)(function({type:s=`text`,value:l,defaultValue:u,name:d,id:f,placeholder:p,disabled:m=!1,readOnly:h=!1,required:g=!1,autoFocus:_=!1,autoComplete:v,inputMode:y,variant:ee=`outlined`,size:te=`md`,color:b,fullWidth:ne=!1,rounded:re=!1,label:x,helperText:S,errorText:C,startIcon:w,endIcon:T,clearable:E=!1,error:D=!1,success:O=!1,maxLength:k,showCharCount:A=!1,onChange:j,onFocus:M,onBlur:N,onKeyDown:P,onClear:F,ghostOptions:I,ghostMinChars:ie=2,onGhostAccept:L,loading:R=!1,clickEffect:z=`ripple`,rippleColor:B,className:ae,style:oe,inputClassName:V,labelClassName:se},H){let[U,W]=(0,a.useState)(!1),G=(0,a.useRef)(null),{effectClassName:ce,effectLayer:le,handlePointerDown:ue}=r.t({effect:z,disabled:m||h,color:B}),{isControlled:de,currentValue:K,setCurrentValue:q}=c(l,u),J=n.t({options:I??[],value:K,minChars:ie}),Y=D||!!C,fe=K.length>0,X=Y?`color-error`:b?`color-${b}`:void 0,Z=(0,a.useCallback)(e=>{W(!0),M?.(e)},[M]),Q=(0,a.useCallback)(e=>{W(!1),N?.(e)},[N]),$=(0,a.useCallback)(e=>{q(e.target.value),j?.(e),J.reset()},[j,q,J.reset]),pe=(0,a.useCallback)(e=>{if(I&&J.hint&&J.onKeyDown(e)){let e=J.accept();q(e.value),L?.(e.value);let t=H?.current??G.current;t&&((Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,`value`)?.set)?.call(t,e.value),t.dispatchEvent(new Event(`input`,{bubbles:!0})));return}P?.(e)},[I,J,q,L,P,H]),me=(0,a.useCallback)(()=>{q(``);let e=H?.current??G.current;e&&((Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,`value`)?.set)?.call(e,``),e.dispatchEvent(new Event(`input`,{bubbles:!0}))),F?.(),e?.focus()},[F,H,q]),he=t.t(`container`,`field-${ee}`,`field-${te}`,U&&`focused`,Y&&`input-error`,O&&!Y&&`input-success`,X,m&&`disabled`,re&&`rounded`,ce);return(0,o.jsxs)(`div`,{className:t.t(`input`,X,ne&&`full-width`,ae),style:oe,children:[x&&(0,o.jsx)(`label`,{htmlFor:f,className:t.t(`field-label`,U&&`focused`,Y&&`error`,O&&!Y&&`success`,g&&`required`,se),children:x}),(0,o.jsxs)(`div`,{className:he,onPointerDown:ue,children:[le,w&&(0,o.jsx)(`span`,{className:`start-icon`,children:w}),I?(0,o.jsxs)(`div`,{className:`ghost-text-field`,children:[(0,o.jsx)(`input`,{ref:H??G,type:s,value:K,name:d,id:f,placeholder:p,disabled:m,readOnly:h,required:g,autoFocus:_,autoComplete:v??`off`,inputMode:y,maxLength:k,className:t.t(`field`,V),onChange:$,onFocus:Z,onBlur:Q,onKeyDown:pe,"aria-invalid":Y||void 0,"aria-describedby":C?`${f}-error`:S?`${f}-helper`:void 0}),U&&J.hint&&(0,o.jsxs)(`span`,{className:`ghost-text-overlay`,"aria-hidden":`true`,children:[(0,o.jsx)(`span`,{className:`ghost-text-typed`,children:K}),(0,o.jsx)(`span`,{className:`ghost-text-hint`,children:J.hint})]})]}):(0,o.jsx)(`input`,{ref:H??G,type:s,value:K,name:d,id:f,placeholder:p,disabled:m,readOnly:h,required:g,autoFocus:_,autoComplete:v,inputMode:y,maxLength:k,className:t.t(`field`,V),onChange:$,onFocus:Z,onBlur:Q,onKeyDown:P,"aria-invalid":Y||void 0,"aria-describedby":C?`${f}-error`:S?`${f}-helper`:void 0}),R&&(0,o.jsx)(i.r,{size:`sm`,color:b}),E&&fe&&!R&&!m&&(0,o.jsx)(`button`,{type:`button`,className:`clear-btn clear-btn-base`,onClick:me,tabIndex:-1,"aria-label":`Clear input`,children:(0,o.jsx)(e.t,{})}),T&&!R&&(0,o.jsx)(`span`,{className:`end-icon`,children:T})]}),(C||S||A)&&(0,o.jsxs)(`div`,{className:`bottom-row`,children:[(0,o.jsxs)(`span`,{children:[C&&(0,o.jsx)(`span`,{id:f?`${f}-error`:void 0,className:`field-error`,role:`alert`,children:C}),!C&&S&&(0,o.jsx)(`span`,{id:f?`${f}-helper`:void 0,className:`field-helper`,children:S})]}),A&&k&&(0,o.jsxs)(`span`,{className:t.t(`char-count`,K.length>k&&`over`),children:[K.length,`/`,k]})]})]})});Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return l}});
|
|
2
|
+
//# sourceMappingURL=MInput-CQ3MqKsk.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MInput-CjsJRLaz.cjs","names":[],"sources":["../src/utils/useControllableString.ts","../src/components/inputs/MInput/MInput.tsx"],"sourcesContent":["import {useCallback, useState} from 'react'\n\ntype ControllableStringLike = string | number | readonly string[] | null | undefined\n\n// Normalize mixed input values so text-like controls always work with strings.\nfunction normalizeStringValue(value: ControllableStringLike) {\n if (value === null || value === undefined) {\n return ''\n }\n\n return value.toString()\n}\n\n// Share controlled and uncontrolled string state logic between text-like primitives.\nexport function useControllableString(value: ControllableStringLike, defaultValue?: ControllableStringLike) {\n const [internalValue, setInternalValue] = useState(() => normalizeStringValue(defaultValue))\n const isControlled = value !== undefined\n const currentValue = isControlled ? normalizeStringValue(value) : internalValue\n\n const setCurrentValue = useCallback(\n (nextValue: string) => {\n if (!isControlled) {\n setInternalValue(nextValue)\n }\n },\n [isControlled]\n )\n\n return {\n isControlled,\n currentValue,\n setCurrentValue,\n }\n}\n","import {forwardRef, useCallback, useRef, useState} from 'react'\nimport type * as React from 'react'\nimport type {MInputProps} from './MInput.types'\nimport {cn} from '../../../utils/cn'\nimport {useControllableString} from '../../../utils/useControllableString'\nimport {useInteractionEffect} from '../../../utils/useInteractionEffect'\nimport {useGhostText} from '../../../utils/useGhostText'\nimport {MSpinner} from '../../feedback'\nimport {MCloseIcon} from '../../../icons'\nimport './MInput.css'\n\n// Render the base text input used by all specialized input wrappers.\nexport const MInput = forwardRef<HTMLInputElement, MInputProps>(function MInput(\n {\n type = 'text',\n value,\n defaultValue,\n name,\n id,\n placeholder,\n disabled = false,\n readOnly = false,\n required = false,\n autoFocus = false,\n autoComplete,\n inputMode,\n variant = 'outlined',\n size = 'md',\n color,\n fullWidth = false,\n rounded = false,\n label,\n helperText,\n errorText,\n startIcon,\n endIcon,\n clearable = false,\n error = false,\n success = false,\n maxLength,\n showCharCount = false,\n onChange,\n onFocus,\n onBlur,\n onKeyDown,\n onClear,\n ghostOptions,\n ghostMinChars = 2,\n onGhostAccept,\n loading = false,\n clickEffect = 'ripple',\n rippleColor,\n className,\n style,\n inputClassName,\n labelClassName,\n },\n ref\n) {\n const [focused, setFocused] = useState(false)\n const inputRef = useRef<HTMLInputElement>(null)\n const {effectClassName, effectLayer, handlePointerDown} = useInteractionEffect<HTMLDivElement>({\n effect: clickEffect,\n disabled: disabled || readOnly,\n color: rippleColor,\n })\n\n const {isControlled, currentValue, setCurrentValue} = useControllableString(value, defaultValue)\n const ghost = useGhostText({\n options: ghostOptions ?? [],\n value: currentValue,\n minChars: ghostMinChars,\n })\n const hasError = error || !!errorText\n const hasContent = currentValue.length > 0\n const resolvedColorClass = hasError ? 'color-error' : color ? `color-${color}` : undefined\n\n // Mirror focus state so the wrapper can style the input consistently.\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLInputElement>) => {\n setFocused(true)\n onFocus?.(event)\n },\n [onFocus]\n )\n\n // Clear focus styles before delegating to the caller.\n const handleBlur = useCallback(\n (event: React.FocusEvent<HTMLInputElement>) => {\n setFocused(false)\n onBlur?.(event)\n },\n [onBlur]\n )\n\n // Keep uncontrolled usage working without blocking controlled integrations.\n const handleChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n setCurrentValue(event.target.value)\n onChange?.(event)\n ghost.reset()\n },\n [onChange, setCurrentValue, ghost.reset]\n )\n\n // Intercept keyboard events for ghost text acceptance before delegating.\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (ghostOptions && ghost.hint) {\n const accepted = ghost.onKeyDown(event)\n if (accepted) {\n const result = ghost.accept()\n setCurrentValue(result.value)\n onGhostAccept?.(result.value)\n // Fire synthetic change so controlled parents stay in sync.\n const input = (ref as React.RefObject<HTMLInputElement>)?.current ?? inputRef.current\n if (input) {\n const nativeSet = Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, 'value')?.set\n nativeSet?.call(input, result.value)\n input.dispatchEvent(new Event('input', {bubbles: true}))\n }\n return\n }\n }\n onKeyDown?.(event)\n },\n [ghostOptions, ghost, setCurrentValue, onGhostAccept, onKeyDown, ref]\n )\n\n // Reset the visible value while preserving focus for quick repeated input.\n const handleClear = useCallback(() => {\n setCurrentValue('')\n\n const input = (ref as React.RefObject<HTMLInputElement>)?.current ?? inputRef.current\n if (input) {\n const nativeSet = Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, 'value')?.set\n nativeSet?.call(input, '')\n input.dispatchEvent(new Event('input', {bubbles: true}))\n }\n\n onClear?.()\n input?.focus()\n }, [onClear, ref, setCurrentValue])\n\n const containerClasses = cn(\n 'container',\n `field-${variant}`,\n `field-${size}`,\n focused && 'focused',\n hasError && 'input-error',\n success && !hasError && 'input-success',\n resolvedColorClass,\n disabled && 'disabled',\n rounded && 'rounded',\n effectClassName\n )\n\n return (\n <div className={cn('input', resolvedColorClass, fullWidth && 'full-width', className)} style={style}>\n {label && (\n <label\n htmlFor={id}\n className={cn(\n 'field-label',\n focused && 'focused',\n hasError && 'error',\n success && !hasError && 'success',\n required && 'required',\n labelClassName\n )}\n >\n {label}\n </label>\n )}\n\n <div className={containerClasses} onPointerDown={handlePointerDown}>\n {effectLayer}\n {startIcon && <span className=\"start-icon\">{startIcon}</span>}\n\n {ghostOptions ? (\n <div className=\"ghost-text-field\">\n <input\n ref={ref ?? inputRef}\n type={type}\n value={currentValue}\n name={name}\n id={id}\n placeholder={placeholder}\n disabled={disabled}\n readOnly={readOnly}\n required={required}\n autoFocus={autoFocus}\n autoComplete={autoComplete ?? 'off'}\n inputMode={inputMode}\n maxLength={maxLength}\n className={cn('field', inputClassName)}\n onChange={handleChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n aria-invalid={hasError || undefined}\n aria-describedby={errorText ? `${id}-error` : helperText ? `${id}-helper` : undefined}\n />\n {focused && ghost.hint && (\n <span className=\"ghost-text-overlay\" aria-hidden=\"true\">\n <span className=\"ghost-text-typed\">{currentValue}</span>\n <span className=\"ghost-text-hint\">{ghost.hint}</span>\n </span>\n )}\n </div>\n ) : (\n <input\n ref={ref ?? inputRef}\n type={type}\n value={currentValue}\n name={name}\n id={id}\n placeholder={placeholder}\n disabled={disabled}\n readOnly={readOnly}\n required={required}\n autoFocus={autoFocus}\n autoComplete={autoComplete}\n inputMode={inputMode}\n maxLength={maxLength}\n className={cn('field', inputClassName)}\n onChange={handleChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={onKeyDown}\n aria-invalid={hasError || undefined}\n aria-describedby={errorText ? `${id}-error` : helperText ? `${id}-helper` : undefined}\n />\n )}\n\n {loading && <MSpinner size=\"sm\" color={color} />}\n\n {clearable && hasContent && !loading && !disabled && (\n <button\n type=\"button\"\n className=\"clear-btn clear-btn-base\"\n onClick={handleClear}\n tabIndex={-1}\n aria-label=\"Clear input\"\n >\n <MCloseIcon />\n </button>\n )}\n\n {endIcon && !loading && <span className=\"end-icon\">{endIcon}</span>}\n </div>\n\n {(errorText || helperText || showCharCount) && (\n <div className=\"bottom-row\">\n <span>\n {errorText && (\n <span id={id ? `${id}-error` : undefined} className=\"field-error\" role=\"alert\">\n {errorText}\n </span>\n )}\n {!errorText && helperText && (\n <span id={id ? `${id}-helper` : undefined} className=\"field-helper\">\n {helperText}\n </span>\n )}\n </span>\n {showCharCount && maxLength && (\n <span className={cn('char-count', currentValue.length > maxLength && 'over')}>\n {currentValue.length}/{maxLength}\n </span>\n )}\n </div>\n )}\n </div>\n )\n})\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MInput-CQ3MqKsk.cjs","names":[],"sources":["../src/utils/useControllableString.ts","../src/components/inputs/MInput/MInput.tsx"],"sourcesContent":["import {useCallback, useState} from 'react'\n\ntype ControllableStringLike = string | number | readonly string[] | null | undefined\n\n// Normalize mixed input values so text-like controls always work with strings.\nfunction normalizeStringValue(value: ControllableStringLike) {\n if (value === null || value === undefined) {\n return ''\n }\n\n return value.toString()\n}\n\n// Share controlled and uncontrolled string state logic between text-like primitives.\nexport function useControllableString(value: ControllableStringLike, defaultValue?: ControllableStringLike) {\n const [internalValue, setInternalValue] = useState(() => normalizeStringValue(defaultValue))\n const isControlled = value !== undefined\n const currentValue = isControlled ? normalizeStringValue(value) : internalValue\n\n const setCurrentValue = useCallback(\n (nextValue: string) => {\n if (!isControlled) {\n setInternalValue(nextValue)\n }\n },\n [isControlled]\n )\n\n return {\n isControlled,\n currentValue,\n setCurrentValue,\n }\n}\n","import {forwardRef, useCallback, useRef, useState} from 'react'\nimport type * as React from 'react'\nimport type {MInputProps} from './MInput.types'\nimport {cn} from '../../../utils/cn'\nimport {useControllableString} from '../../../utils/useControllableString'\nimport {useInteractionEffect} from '../../../utils/useInteractionEffect'\nimport {useGhostText} from '../../../utils/useGhostText'\nimport {MSpinner} from '../../feedback'\nimport {MCloseIcon} from '../../../icons'\nimport './MInput.css'\n\n// Render the base text input used by all specialized input wrappers.\nexport const MInput = forwardRef<HTMLInputElement, MInputProps>(function MInput(\n {\n type = 'text',\n value,\n defaultValue,\n name,\n id,\n placeholder,\n disabled = false,\n readOnly = false,\n required = false,\n autoFocus = false,\n autoComplete,\n inputMode,\n variant = 'outlined',\n size = 'md',\n color,\n fullWidth = false,\n rounded = false,\n label,\n helperText,\n errorText,\n startIcon,\n endIcon,\n clearable = false,\n error = false,\n success = false,\n maxLength,\n showCharCount = false,\n onChange,\n onFocus,\n onBlur,\n onKeyDown,\n onClear,\n ghostOptions,\n ghostMinChars = 2,\n onGhostAccept,\n loading = false,\n clickEffect = 'ripple',\n rippleColor,\n className,\n style,\n inputClassName,\n labelClassName,\n },\n ref\n) {\n const [focused, setFocused] = useState(false)\n const inputRef = useRef<HTMLInputElement>(null)\n const {effectClassName, effectLayer, handlePointerDown} = useInteractionEffect<HTMLDivElement>({\n effect: clickEffect,\n disabled: disabled || readOnly,\n color: rippleColor,\n })\n\n const {isControlled, currentValue, setCurrentValue} = useControllableString(value, defaultValue)\n const ghost = useGhostText({\n options: ghostOptions ?? [],\n value: currentValue,\n minChars: ghostMinChars,\n })\n const hasError = error || !!errorText\n const hasContent = currentValue.length > 0\n const resolvedColorClass = hasError ? 'color-error' : color ? `color-${color}` : undefined\n\n // Mirror focus state so the wrapper can style the input consistently.\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLInputElement>) => {\n setFocused(true)\n onFocus?.(event)\n },\n [onFocus]\n )\n\n // Clear focus styles before delegating to the caller.\n const handleBlur = useCallback(\n (event: React.FocusEvent<HTMLInputElement>) => {\n setFocused(false)\n onBlur?.(event)\n },\n [onBlur]\n )\n\n // Keep uncontrolled usage working without blocking controlled integrations.\n const handleChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n setCurrentValue(event.target.value)\n onChange?.(event)\n ghost.reset()\n },\n [onChange, setCurrentValue, ghost.reset]\n )\n\n // Intercept keyboard events for ghost text acceptance before delegating.\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (ghostOptions && ghost.hint) {\n const accepted = ghost.onKeyDown(event)\n if (accepted) {\n const result = ghost.accept()\n setCurrentValue(result.value)\n onGhostAccept?.(result.value)\n // Fire synthetic change so controlled parents stay in sync.\n const input = (ref as React.RefObject<HTMLInputElement>)?.current ?? inputRef.current\n if (input) {\n const nativeSet = Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, 'value')?.set\n nativeSet?.call(input, result.value)\n input.dispatchEvent(new Event('input', {bubbles: true}))\n }\n return\n }\n }\n onKeyDown?.(event)\n },\n [ghostOptions, ghost, setCurrentValue, onGhostAccept, onKeyDown, ref]\n )\n\n // Reset the visible value while preserving focus for quick repeated input.\n const handleClear = useCallback(() => {\n setCurrentValue('')\n\n const input = (ref as React.RefObject<HTMLInputElement>)?.current ?? inputRef.current\n if (input) {\n const nativeSet = Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, 'value')?.set\n nativeSet?.call(input, '')\n input.dispatchEvent(new Event('input', {bubbles: true}))\n }\n\n onClear?.()\n input?.focus()\n }, [onClear, ref, setCurrentValue])\n\n const containerClasses = cn(\n 'container',\n `field-${variant}`,\n `field-${size}`,\n focused && 'focused',\n hasError && 'input-error',\n success && !hasError && 'input-success',\n resolvedColorClass,\n disabled && 'disabled',\n rounded && 'rounded',\n effectClassName\n )\n\n return (\n <div className={cn('input', resolvedColorClass, fullWidth && 'full-width', className)} style={style}>\n {label && (\n <label\n htmlFor={id}\n className={cn(\n 'field-label',\n focused && 'focused',\n hasError && 'error',\n success && !hasError && 'success',\n required && 'required',\n labelClassName\n )}\n >\n {label}\n </label>\n )}\n\n <div className={containerClasses} onPointerDown={handlePointerDown}>\n {effectLayer}\n {startIcon && <span className=\"start-icon\">{startIcon}</span>}\n\n {ghostOptions ? (\n <div className=\"ghost-text-field\">\n <input\n ref={ref ?? inputRef}\n type={type}\n value={currentValue}\n name={name}\n id={id}\n placeholder={placeholder}\n disabled={disabled}\n readOnly={readOnly}\n required={required}\n autoFocus={autoFocus}\n autoComplete={autoComplete ?? 'off'}\n inputMode={inputMode}\n maxLength={maxLength}\n className={cn('field', inputClassName)}\n onChange={handleChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n aria-invalid={hasError || undefined}\n aria-describedby={errorText ? `${id}-error` : helperText ? `${id}-helper` : undefined}\n />\n {focused && ghost.hint && (\n <span className=\"ghost-text-overlay\" aria-hidden=\"true\">\n <span className=\"ghost-text-typed\">{currentValue}</span>\n <span className=\"ghost-text-hint\">{ghost.hint}</span>\n </span>\n )}\n </div>\n ) : (\n <input\n ref={ref ?? inputRef}\n type={type}\n value={currentValue}\n name={name}\n id={id}\n placeholder={placeholder}\n disabled={disabled}\n readOnly={readOnly}\n required={required}\n autoFocus={autoFocus}\n autoComplete={autoComplete}\n inputMode={inputMode}\n maxLength={maxLength}\n className={cn('field', inputClassName)}\n onChange={handleChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={onKeyDown}\n aria-invalid={hasError || undefined}\n aria-describedby={errorText ? `${id}-error` : helperText ? `${id}-helper` : undefined}\n />\n )}\n\n {loading && <MSpinner size=\"sm\" color={color} />}\n\n {clearable && hasContent && !loading && !disabled && (\n <button\n type=\"button\"\n className=\"clear-btn clear-btn-base\"\n onClick={handleClear}\n tabIndex={-1}\n aria-label=\"Clear input\"\n >\n <MCloseIcon />\n </button>\n )}\n\n {endIcon && !loading && <span className=\"end-icon\">{endIcon}</span>}\n </div>\n\n {(errorText || helperText || showCharCount) && (\n <div className=\"bottom-row\">\n <span>\n {errorText && (\n <span id={id ? `${id}-error` : undefined} className=\"field-error\" role=\"alert\">\n {errorText}\n </span>\n )}\n {!errorText && helperText && (\n <span id={id ? `${id}-helper` : undefined} className=\"field-helper\">\n {helperText}\n </span>\n )}\n </span>\n {showCharCount && maxLength && (\n <span className={cn('char-count', currentValue.length > maxLength && 'over')}>\n {currentValue.length}/{maxLength}\n </span>\n )}\n </div>\n )}\n </div>\n )\n})\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { t as e } from "./MSearchIcon-
|
|
2
|
-
import { r as t } from "./useGhostText-
|
|
3
|
-
import { t as n } from "./MInput-
|
|
1
|
+
import { t as e } from "./MSearchIcon-Dlg4Og8t.js";
|
|
2
|
+
import { r as t } from "./useGhostText-Zq3iktss.js";
|
|
3
|
+
import { t as n } from "./MInput-BUCcLWSI.js";
|
|
4
4
|
import { forwardRef as r, useCallback as i, useState as a } from "react";
|
|
5
5
|
import { jsx as o } from "react/jsx-runtime";
|
|
6
6
|
//#region src/components/inputs/MInputSearch/MInputSearch.tsx
|
|
@@ -40,4 +40,4 @@ var s = r(function({ debounceMs: r = 300, onSearch: s, value: c, defaultValue: l
|
|
|
40
40
|
//#endregion
|
|
41
41
|
export { s as t };
|
|
42
42
|
|
|
43
|
-
//# sourceMappingURL=MInputSearch-
|
|
43
|
+
//# sourceMappingURL=MInputSearch-BeXUh4lz.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MInputSearch-
|
|
1
|
+
{"version":3,"file":"MInputSearch-BeXUh4lz.js","names":[],"sources":["../src/components/inputs/MInputSearch/MInputSearch.tsx"],"sourcesContent":["import {useState, useCallback, forwardRef} from 'react'\nimport type * as React from 'react'\nimport type {MInputSearchProps} from './MInputSearch.types'\nimport {MInput} from '../MInput'\nimport {useDebouncedCallback} from '../../../utils/useDebounce'\nimport {MSearchIcon} from '../../../icons'\n\n// Extend the base input with debounced search callbacks and an inline clear action.\nexport const MInputSearch = forwardRef<HTMLInputElement, MInputSearchProps>(function MInputSearch(\n {\n debounceMs = 300,\n onSearch,\n value,\n defaultValue,\n onChange,\n onKeyDown,\n onClear,\n clearable = true,\n placeholder = 'Search...',\n ...rest\n },\n ref\n) {\n const [internalValue, setInternalValue] = useState(defaultValue?.toString() ?? '')\n const currentValue = value !== undefined ? value.toString() : internalValue\n\n const debouncedSearch = useDebouncedCallback((val: string) => onSearch?.(val), debounceMs)\n\n // Update local state and debounce search notifications while typing.\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (value === undefined) {\n setInternalValue(e.target.value)\n }\n debouncedSearch(e.target.value)\n onChange?.(e)\n },\n [onChange, value, debouncedSearch]\n )\n\n // Run search immediately when the user confirms with Enter.\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n onSearch?.(currentValue)\n }\n onKeyDown?.(e)\n },\n [currentValue, onSearch, onKeyDown]\n )\n\n // Clear both the visible field and the emitted search query.\n const handleClear = useCallback(() => {\n if (value === undefined) {\n setInternalValue('')\n }\n onSearch?.('')\n onClear?.()\n }, [value, onSearch, onClear])\n\n return (\n <MInput\n {...rest}\n ref={ref}\n type=\"text\"\n value={currentValue}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n onClear={handleClear}\n clearable={clearable}\n placeholder={placeholder}\n startIcon={<MSearchIcon />}\n />\n )\n})\n"],"mappings":";;;;;;AAQA,IAAa,IAAe,EAAgD,SACxE,EACI,gBAAa,KACb,aACA,UACA,iBACA,aACA,cACA,YACA,eAAY,IACZ,iBAAc,aACd,GAAG,KAEP,GACF;CACE,IAAM,CAAC,GAAe,KAAoB,EAAS,GAAc,UAAU,IAAI,GAAG,EAC5E,IAAe,MAAU,KAAA,IAA+B,IAAnB,EAAM,UAAU,EAErD,IAAkB,GAAsB,MAAgB,IAAW,EAAI,EAAE,EAAW,EAGpF,IAAe,GAChB,MAA2C;AAKxC,EAJI,MAAU,KAAA,KACV,EAAiB,EAAE,OAAO,MAAM,EAEpC,EAAgB,EAAE,OAAO,MAAM,EAC/B,IAAW,EAAE;IAEjB;EAAC;EAAU;EAAO;EAAgB,CACrC,EAGK,IAAgB,GACjB,MAA6C;AAI1C,EAHI,EAAE,QAAQ,WACV,IAAW,EAAa,EAE5B,IAAY,EAAE;IAElB;EAAC;EAAc;EAAU;EAAU,CACtC,EAGK,IAAc,QAAkB;AAKlC,EAJI,MAAU,KAAA,KACV,EAAiB,GAAG,EAExB,IAAW,GAAG,EACd,KAAW;IACZ;EAAC;EAAO;EAAU;EAAQ,CAAC;AAE9B,QACI,kBAAC,GAAD;EACI,GAAI;EACC;EACL,MAAK;EACL,OAAO;EACP,UAAU;EACV,WAAW;EACX,SAAS;EACE;EACE;EACb,WAAW,kBAAC,GAAD,EAAe,CAAA;EAC5B,CAAA;EAER"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require(`./MSearchIcon-
|
|
2
|
-
//# sourceMappingURL=MInputSearch-
|
|
1
|
+
const e=require(`./MSearchIcon-BakfEJQd.cjs`),t=require(`./useGhostText-CL1kSB_V.cjs`),n=require(`./MInput-CQ3MqKsk.cjs`);let r=require(`react`),i=require(`react/jsx-runtime`);var a=(0,r.forwardRef)(function({debounceMs:a=300,onSearch:o,value:s,defaultValue:c,onChange:l,onKeyDown:u,onClear:d,clearable:f=!0,placeholder:p=`Search...`,...m},h){let[g,_]=(0,r.useState)(c?.toString()??``),v=s===void 0?g:s.toString(),y=t.r(e=>o?.(e),a),b=(0,r.useCallback)(e=>{s===void 0&&_(e.target.value),y(e.target.value),l?.(e)},[l,s,y]),x=(0,r.useCallback)(e=>{e.key===`Enter`&&o?.(v),u?.(e)},[v,o,u]),S=(0,r.useCallback)(()=>{s===void 0&&_(``),o?.(``),d?.()},[s,o,d]);return(0,i.jsx)(n.t,{...m,ref:h,type:`text`,value:v,onChange:b,onKeyDown:x,onClear:S,clearable:f,placeholder:p,startIcon:(0,i.jsx)(e.t,{})})});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}});
|
|
2
|
+
//# sourceMappingURL=MInputSearch-Dt79qbZg.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MInputSearch-
|
|
1
|
+
{"version":3,"file":"MInputSearch-Dt79qbZg.cjs","names":[],"sources":["../src/components/inputs/MInputSearch/MInputSearch.tsx"],"sourcesContent":["import {useState, useCallback, forwardRef} from 'react'\nimport type * as React from 'react'\nimport type {MInputSearchProps} from './MInputSearch.types'\nimport {MInput} from '../MInput'\nimport {useDebouncedCallback} from '../../../utils/useDebounce'\nimport {MSearchIcon} from '../../../icons'\n\n// Extend the base input with debounced search callbacks and an inline clear action.\nexport const MInputSearch = forwardRef<HTMLInputElement, MInputSearchProps>(function MInputSearch(\n {\n debounceMs = 300,\n onSearch,\n value,\n defaultValue,\n onChange,\n onKeyDown,\n onClear,\n clearable = true,\n placeholder = 'Search...',\n ...rest\n },\n ref\n) {\n const [internalValue, setInternalValue] = useState(defaultValue?.toString() ?? '')\n const currentValue = value !== undefined ? value.toString() : internalValue\n\n const debouncedSearch = useDebouncedCallback((val: string) => onSearch?.(val), debounceMs)\n\n // Update local state and debounce search notifications while typing.\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (value === undefined) {\n setInternalValue(e.target.value)\n }\n debouncedSearch(e.target.value)\n onChange?.(e)\n },\n [onChange, value, debouncedSearch]\n )\n\n // Run search immediately when the user confirms with Enter.\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n onSearch?.(currentValue)\n }\n onKeyDown?.(e)\n },\n [currentValue, onSearch, onKeyDown]\n )\n\n // Clear both the visible field and the emitted search query.\n const handleClear = useCallback(() => {\n if (value === undefined) {\n setInternalValue('')\n }\n onSearch?.('')\n onClear?.()\n }, [value, onSearch, onClear])\n\n return (\n <MInput\n {...rest}\n ref={ref}\n type=\"text\"\n value={currentValue}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n onClear={handleClear}\n clearable={clearable}\n placeholder={placeholder}\n startIcon={<MSearchIcon />}\n />\n )\n})\n"],"mappings":"gLAQA,IAAa,GAAA,EAAA,EAAA,YAA+D,SACxE,CACI,aAAa,IACb,WACA,QACA,eACA,WACA,YACA,UACA,YAAY,GACZ,cAAc,YACd,GAAG,GAEP,EACF,CACE,GAAM,CAAC,EAAe,IAAA,EAAA,EAAA,UAA6B,GAAc,UAAU,EAAI,GAAG,CAC5E,EAAe,IAAU,IAAA,GAA+B,EAAnB,EAAM,UAAU,CAErD,EAAkB,EAAA,EAAsB,GAAgB,IAAW,EAAI,CAAE,EAAW,CAGpF,GAAA,EAAA,EAAA,aACD,GAA2C,CACpC,IAAU,IAAA,IACV,EAAiB,EAAE,OAAO,MAAM,CAEpC,EAAgB,EAAE,OAAO,MAAM,CAC/B,IAAW,EAAE,EAEjB,CAAC,EAAU,EAAO,EAAgB,CACrC,CAGK,GAAA,EAAA,EAAA,aACD,GAA6C,CACtC,EAAE,MAAQ,SACV,IAAW,EAAa,CAE5B,IAAY,EAAE,EAElB,CAAC,EAAc,EAAU,EAAU,CACtC,CAGK,GAAA,EAAA,EAAA,iBAAgC,CAC9B,IAAU,IAAA,IACV,EAAiB,GAAG,CAExB,IAAW,GAAG,CACd,KAAW,EACZ,CAAC,EAAO,EAAU,EAAQ,CAAC,CAE9B,OACI,EAAA,EAAA,KAAC,EAAA,EAAD,CACI,GAAI,EACC,MACL,KAAK,OACL,MAAO,EACP,SAAU,EACV,UAAW,EACX,QAAS,EACE,YACE,cACb,WAAW,EAAA,EAAA,KAAC,EAAA,EAAD,EAAe,CAAA,CAC5B,CAAA,EAER"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require(`./cn-
|
|
2
|
-
//# sourceMappingURL=MLink-
|
|
1
|
+
const e=require(`./cn-SOcVdnX6.cjs`);let t=require(`react`),n=require(`react/jsx-runtime`);var r=(0,t.forwardRef)(function({component:t,to:r,tone:i=`default`,underline:a=`hover`,current:o=!1,block:s=!1,disabled:c=!1,className:l,children:u,href:d,onClick:f,...p},m){let h=t??`a`;function g(e){if(c){e.preventDefault();return}f?.(e)}return(0,n.jsx)(h,{ref:m,href:t||c?void 0:d,to:t?r:void 0,className:e.t(`link`,i,a,o&&`current`,s&&`block`,c&&`disabled`,l),"aria-current":o?`page`:void 0,"aria-disabled":c||void 0,onClick:g,...p,children:u})});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
|
|
2
|
+
//# sourceMappingURL=MLink-CVN-Vll4.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MLink-
|
|
1
|
+
{"version":3,"file":"MLink-CVN-Vll4.cjs","names":[],"sources":["../src/components/typography/MLink/MLink.tsx"],"sourcesContent":["import {forwardRef} from 'react'\nimport type {MouseEvent} from 'react'\nimport type {MLinkProps} from './MLink.types'\nimport {cn} from '../../../utils/cn'\nimport './MLink.css'\n\n// Render a semantic link that can target anchors or router link components.\nexport const MLink = forwardRef<HTMLElement, MLinkProps>(function MLink(\n {\n component,\n to,\n tone = 'default',\n underline = 'hover',\n current = false,\n block = false,\n disabled = false,\n className,\n children,\n href,\n onClick,\n ...rest\n },\n ref\n) {\n const Component = component ?? 'a'\n\n // Prevent disabled links from navigating while still exposing their content.\n function handleClick(event: MouseEvent<HTMLAnchorElement>) {\n if (disabled) {\n event.preventDefault()\n return\n }\n\n onClick?.(event)\n }\n\n return (\n <Component\n ref={ref}\n href={component ? undefined : disabled ? undefined : href}\n to={component ? to : undefined}\n className={cn(\n 'link',\n tone,\n underline,\n current && 'current',\n block && 'block',\n disabled && 'disabled',\n className\n )}\n aria-current={current ? 'page' : undefined}\n aria-disabled={disabled || undefined}\n onClick={handleClick}\n {...rest}\n >\n {children}\n </Component>\n )\n})\n"],"mappings":"2FAOA,IAAa,GAAA,EAAA,EAAA,YAA4C,SACrD,CACI,YACA,KACA,OAAO,UACP,YAAY,QACZ,UAAU,GACV,QAAQ,GACR,WAAW,GACX,YACA,WACA,OACA,UACA,GAAG,GAEP,EACF,CACE,IAAM,EAAY,GAAa,IAG/B,SAAS,EAAY,EAAsC,CACvD,GAAI,EAAU,CACV,EAAM,gBAAgB,CACtB,OAGJ,IAAU,EAAM,CAGpB,OACI,EAAA,EAAA,KAAC,EAAD,CACS,MACL,KAAM,GAAwB,EAAZ,IAAA,GAAmC,EACrD,GAAI,EAAY,EAAK,IAAA,GACrB,UAAW,EAAA,EACP,OACA,EACA,EACA,GAAW,UACX,GAAS,QACT,GAAY,WACZ,EACH,CACD,eAAc,EAAU,OAAS,IAAA,GACjC,gBAAe,GAAY,IAAA,GAC3B,QAAS,EACT,GAAI,EAEH,WACO,CAAA,EAElB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as e } from "./cn-
|
|
1
|
+
import { t as e } from "./cn-DZLxql0l.js";
|
|
2
2
|
import { forwardRef as t } from "react";
|
|
3
3
|
import { jsx as n } from "react/jsx-runtime";
|
|
4
4
|
//#region src/components/typography/MLink/MLink.tsx
|
|
@@ -26,4 +26,4 @@ var r = t(function({ component: t, to: r, tone: i = "default", underline: a = "h
|
|
|
26
26
|
//#endregion
|
|
27
27
|
export { r as t };
|
|
28
28
|
|
|
29
|
-
//# sourceMappingURL=MLink-
|
|
29
|
+
//# sourceMappingURL=MLink-DH4vk7O5.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MLink-
|
|
1
|
+
{"version":3,"file":"MLink-DH4vk7O5.js","names":[],"sources":["../src/components/typography/MLink/MLink.tsx"],"sourcesContent":["import {forwardRef} from 'react'\nimport type {MouseEvent} from 'react'\nimport type {MLinkProps} from './MLink.types'\nimport {cn} from '../../../utils/cn'\nimport './MLink.css'\n\n// Render a semantic link that can target anchors or router link components.\nexport const MLink = forwardRef<HTMLElement, MLinkProps>(function MLink(\n {\n component,\n to,\n tone = 'default',\n underline = 'hover',\n current = false,\n block = false,\n disabled = false,\n className,\n children,\n href,\n onClick,\n ...rest\n },\n ref\n) {\n const Component = component ?? 'a'\n\n // Prevent disabled links from navigating while still exposing their content.\n function handleClick(event: MouseEvent<HTMLAnchorElement>) {\n if (disabled) {\n event.preventDefault()\n return\n }\n\n onClick?.(event)\n }\n\n return (\n <Component\n ref={ref}\n href={component ? undefined : disabled ? undefined : href}\n to={component ? to : undefined}\n className={cn(\n 'link',\n tone,\n underline,\n current && 'current',\n block && 'block',\n disabled && 'disabled',\n className\n )}\n aria-current={current ? 'page' : undefined}\n aria-disabled={disabled || undefined}\n onClick={handleClick}\n {...rest}\n >\n {children}\n </Component>\n )\n})\n"],"mappings":";;;;AAOA,IAAa,IAAQ,EAAoC,SACrD,EACI,cACA,OACA,UAAO,WACP,eAAY,SACZ,aAAU,IACV,WAAQ,IACR,cAAW,IACX,cACA,aACA,SACA,YACA,GAAG,KAEP,GACF;CACE,IAAM,IAAY,KAAa;CAG/B,SAAS,EAAY,GAAsC;AACvD,MAAI,GAAU;AACV,KAAM,gBAAgB;AACtB;;AAGJ,MAAU,EAAM;;AAGpB,QACI,kBAAC,GAAD;EACS;EACL,MAAM,KAAwB,IAAZ,KAAA,IAAmC;EACrD,IAAI,IAAY,IAAK,KAAA;EACrB,WAAW,EACP,QACA,GACA,GACA,KAAW,WACX,KAAS,SACT,KAAY,YACZ,EACH;EACD,gBAAc,IAAU,SAAS,KAAA;EACjC,iBAAe,KAAY,KAAA;EAC3B,SAAS;EACT,GAAI;EAEH;EACO,CAAA;EAElB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
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)(`path`,{d:`M5 7h14`}),(0,n.jsx)(`path`,{d:`M5 12h10`}),(0,n.jsx)(`path`,{d:`M5 17h14`}),(0,n.jsx)(`path`,{d:`M17.5 12h1.5`})]})});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
|
|
2
|
-
//# sourceMappingURL=MMenuIcon-
|
|
2
|
+
//# sourceMappingURL=MMenuIcon-Brpitjq1.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MMenuIcon-
|
|
1
|
+
{"version":3,"file":"MMenuIcon-Brpitjq1.cjs","names":[],"sources":["../src/icons/glyphs/MMenuIcon.tsx"],"sourcesContent":["import {forwardRef} from 'react'\nimport {MIcon} from '../MIcon'\nimport type {MIconProps} from '../MIcon.types'\n\nexport const MMenuIcon = forwardRef<SVGSVGElement, MIconProps>(function MMenuIcon(props, ref) {\n return (\n <MIcon ref={ref} {...props}>\n <path d=\"M5 7h14\" />\n <path d=\"M5 12h10\" />\n <path d=\"M5 17h14\" />\n <path d=\"M17.5 12h1.5\" />\n </MIcon>\n )\n})\n"],"mappings":"8FAIA,IAAa,GAAA,EAAA,EAAA,YAAkD,SAAmB,EAAO,EAAK,CAC1F,OACI,EAAA,EAAA,MAAC,EAAA,EAAD,CAAY,MAAK,GAAI,WAArB,EACI,EAAA,EAAA,KAAC,OAAD,CAAM,EAAE,UAAY,CAAA,EACpB,EAAA,EAAA,KAAC,OAAD,CAAM,EAAE,WAAa,CAAA,EACrB,EAAA,EAAA,KAAC,OAAD,CAAM,EAAE,WAAa,CAAA,EACrB,EAAA,EAAA,KAAC,OAAD,CAAM,EAAE,eAAiB,CAAA,CACrB,IAEd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MMenuIcon-
|
|
1
|
+
{"version":3,"file":"MMenuIcon-idfVpVQD.js","names":[],"sources":["../src/icons/glyphs/MMenuIcon.tsx"],"sourcesContent":["import {forwardRef} from 'react'\nimport {MIcon} from '../MIcon'\nimport type {MIconProps} from '../MIcon.types'\n\nexport const MMenuIcon = forwardRef<SVGSVGElement, MIconProps>(function MMenuIcon(props, ref) {\n return (\n <MIcon ref={ref} {...props}>\n <path d=\"M5 7h14\" />\n <path d=\"M5 12h10\" />\n <path d=\"M5 17h14\" />\n <path d=\"M17.5 12h1.5\" />\n </MIcon>\n )\n})\n"],"mappings":";;;;AAIA,IAAa,IAAY,EAAsC,SAAmB,GAAO,GAAK;AAC1F,QACI,kBAAC,GAAD;EAAY;EAAK,GAAI;YAArB;GACI,kBAAC,QAAD,EAAM,GAAE,WAAY,CAAA;GACpB,kBAAC,QAAD,EAAM,GAAE,YAAa,CAAA;GACrB,kBAAC,QAAD,EAAM,GAAE,YAAa,CAAA;GACrB,kBAAC,QAAD,EAAM,GAAE,gBAAiB,CAAA;GACrB;;EAEd"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require(`./cn-SOcVdnX6.cjs`),t=require(`./MPortal-BysJLuEi.cjs`),n=require(`./MSkeleton-B5jZNFOG.cjs`);let r=require(`react`),i=require(`react/jsx-runtime`);var a=540;function o({open:o,onClose:s,title:c,description:l,footer:u,size:d=`md`,closeOnBackdrop:f=!0,closeOnEscape:p=!0,className:m,children:h,...g}){let[_,v]=(0,r.useState)(!1),[y,b]=(0,r.useState)(!1),x=(0,r.useRef)(null);return(0,r.useEffect)(()=>{o&&(v(!0),b(!1))},[o]),(0,r.useEffect)(()=>{if(!o&&_){b(!0);let e=setTimeout(()=>{v(!1),b(!1)},a);return()=>clearTimeout(e)}},[o,_]),(0,r.useEffect)(()=>{if(!o||!p)return;let e=e=>{e.key===`Escape`&&s()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[p,s,o]),(0,r.useEffect)(()=>{if(!_)return;let e=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=e}},[_]),_?(0,i.jsx)(t.t,{children:(0,i.jsx)(`div`,{ref:x,className:e.t(`mineral-backdrop`,`modal-backdrop`,y&&`closing`),onMouseDown:e=>{f&&e.target===e.currentTarget&&s()},children:(0,i.jsx)(`div`,{className:`modal-shell`,children:(0,i.jsxs)(n.n,{className:e.t(`modal`,d,m),role:`dialog`,"aria-modal":`true`,"aria-labelledby":c?`mineral-modal-title`:void 0,...g,children:[(c||l)&&(0,i.jsxs)(n.a,{children:[c&&(0,i.jsx)(`div`,{id:`mineral-modal-title`,className:`modal-title`,children:c}),l&&(0,i.jsx)(`div`,{className:`modal-description`,children:l})]}),(0,i.jsx)(n.r,{children:h}),u&&(0,i.jsx)(n.i,{children:u})]})})})}):null}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return o}});
|
|
2
|
+
//# sourceMappingURL=MModal-BQvk1KKc.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MModal-BQvk1KKc.cjs","names":[],"sources":["../src/components/overlays/MModal/MModal.tsx"],"sourcesContent":["import {useEffect, useState, useCallback, useRef} from 'react'\nimport type {MouseEvent} from 'react'\nimport type {MModalProps} from './MModal.types'\nimport {MCard, MCardBody, MCardFooter, MCardHeader} from '../../cards'\nimport {MPortal} from '../../primitives'\nimport {cn} from '../../../utils/cn'\nimport './MModal.css'\n\nconst EXIT_DURATION = 540\n\n// Render blocking overlay content for dense details and mobile-friendly dialogs.\nexport function MModal({\n open,\n onClose,\n title,\n description,\n footer,\n size = 'md',\n closeOnBackdrop = true,\n closeOnEscape = true,\n className,\n children,\n ...rest\n}: MModalProps) {\n const [mounted, setMounted] = useState(false)\n const [closing, setClosing] = useState(false)\n const backdropRef = useRef<HTMLDivElement>(null)\n\n // Open → mount immediately\n useEffect(() => {\n if (open) {\n setMounted(true)\n setClosing(false)\n }\n }, [open])\n\n // Close → animate out, then unmount\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 = (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 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 if (!mounted) return null\n\n const handleBackdropClick = (event: MouseEvent<HTMLDivElement>) => {\n if (!closeOnBackdrop) return\n if (event.target === event.currentTarget) onClose()\n }\n\n return (\n <MPortal>\n <div\n ref={backdropRef}\n className={cn('mineral-backdrop', 'modal-backdrop', closing && 'closing')}\n onMouseDown={handleBackdropClick}\n >\n <div className={'modal-shell'}>\n <MCard\n className={cn('modal', size, className)}\n role={'dialog'}\n aria-modal={'true'}\n aria-labelledby={title ? 'mineral-modal-title' : undefined}\n {...rest}\n >\n {(title || description) && (\n <MCardHeader>\n {title && (\n <div id={'mineral-modal-title'} className={'modal-title'}>\n {title}\n </div>\n )}\n {description && <div className={'modal-description'}>{description}</div>}\n </MCardHeader>\n )}\n <MCardBody>{children}</MCardBody>\n {footer && <MCardFooter>{footer}</MCardFooter>}\n </MCard>\n </div>\n </div>\n </MPortal>\n )\n}\n"],"mappings":"qKAQA,IAAM,EAAgB,IAGtB,SAAgB,EAAO,CACnB,OACA,UACA,QACA,cACA,SACA,OAAO,KACP,kBAAkB,GAClB,gBAAgB,GAChB,YACA,WACA,GAAG,GACS,CACZ,GAAM,CAAC,EAAS,IAAA,EAAA,EAAA,UAAuB,GAAM,CACvC,CAAC,EAAS,IAAA,EAAA,EAAA,UAAuB,GAAM,CACvC,GAAA,EAAA,EAAA,QAAqC,KAAK,CAmDhD,OAhDA,EAAA,EAAA,eAAgB,CACR,IACA,EAAW,GAAK,CAChB,EAAW,GAAM,GAEtB,CAAC,EAAK,CAAC,EAGV,EAAA,EAAA,eAAgB,CACZ,GAAI,CAAC,GAAQ,EAAS,CAClB,EAAW,GAAK,CAChB,IAAM,EAAQ,eAAiB,CAC3B,EAAW,GAAM,CACjB,EAAW,GAAM,EAClB,EAAc,CACjB,UAAa,aAAa,EAAM,GAErC,CAAC,EAAM,EAAQ,CAAC,EAEnB,EAAA,EAAA,eAAgB,CACZ,GAAI,CAAC,GAAQ,CAAC,EAAe,OAE7B,IAAM,EAAiB,GAAyB,CACxC,EAAM,MAAQ,UAAU,GAAS,EAIzC,OADA,SAAS,iBAAiB,UAAW,EAAc,KACtC,SAAS,oBAAoB,UAAW,EAAc,EACpE,CAAC,EAAe,EAAS,EAAK,CAAC,EAElC,EAAA,EAAA,eAAgB,CACZ,GAAI,CAAC,EAAS,OAEd,IAAM,EAAmB,SAAS,KAAK,MAAM,SAG7C,MAFA,UAAS,KAAK,MAAM,SAAW,aAElB,CACT,SAAS,KAAK,MAAM,SAAW,IAEpC,CAAC,EAAQ,CAAC,CAER,GAQD,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,UACI,EAAA,EAAA,KAAC,MAAD,CACI,IAAK,EACL,UAAW,EAAA,EAAG,mBAAoB,iBAAkB,GAAW,UAAU,CACzE,YAViB,GAAsC,CAC1D,GACD,EAAM,SAAW,EAAM,eAAe,GAAS,YAU3C,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,wBACZ,EAAA,EAAA,MAAC,EAAA,EAAD,CACI,UAAW,EAAA,EAAG,QAAS,EAAM,EAAU,CACvC,KAAM,SACN,aAAY,OACZ,kBAAiB,EAAQ,sBAAwB,IAAA,GACjD,GAAI,WALR,EAOM,GAAS,KACP,EAAA,EAAA,MAAC,EAAA,EAAD,CAAA,SAAA,CACK,IACG,EAAA,EAAA,KAAC,MAAD,CAAK,GAAI,sBAAuB,UAAW,uBACtC,EACC,CAAA,CAET,IAAe,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,6BAAsB,EAAkB,CAAA,CAC9D,CAAA,CAAA,EAElB,EAAA,EAAA,KAAC,EAAA,EAAD,CAAY,WAAqB,CAAA,CAChC,IAAU,EAAA,EAAA,KAAC,EAAA,EAAD,CAAA,SAAc,EAAqB,CAAA,CAC1C,GACN,CAAA,CACJ,CAAA,CACA,CAAA,CArCO"}
|