@banzamel/mineralui 2.4.3 → 2.5.1
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 +1 -1
- package/dist/MAvatar-CvQuiGvT.cjs +2 -0
- package/dist/MAvatar-CvQuiGvT.cjs.map +1 -0
- package/dist/MAvatar-EkOBrEtS.js +73 -0
- package/dist/MAvatar-EkOBrEtS.js.map +1 -0
- package/dist/MButton-BxEky3xQ.cjs +2 -0
- package/dist/MButton-BxEky3xQ.cjs.map +1 -0
- package/dist/MButton-KELyyBw1.js +123 -0
- package/dist/MButton-KELyyBw1.js.map +1 -0
- package/dist/{MButtonGroup-BEJxXZ8u.js → MButtonGroup-DDnn8Wfy.js} +3 -3
- package/dist/{MButtonGroup-BEJxXZ8u.js.map → MButtonGroup-DDnn8Wfy.js.map} +1 -1
- package/dist/{MButtonGroup-DO1Tq3Za.cjs → MButtonGroup-Dz8Fm-oA.cjs} +2 -2
- package/dist/{MButtonGroup-DO1Tq3Za.cjs.map → MButtonGroup-Dz8Fm-oA.cjs.map} +1 -1
- package/dist/{MCard-P8OoswWM.cjs → MCard-Bqm4BjK_.cjs} +2 -2
- package/dist/MCard-Bqm4BjK_.cjs.map +1 -0
- package/dist/{MCard-BqSkGAgf.js → MCard-CqZYGaS2.js} +4 -4
- package/dist/MCard-CqZYGaS2.js.map +1 -0
- package/dist/MCheckbox-CaWgyUn5.js +72 -0
- package/dist/MCheckbox-CaWgyUn5.js.map +1 -0
- package/dist/MCheckbox-DpKJpnFF.cjs +2 -0
- package/dist/MCheckbox-DpKJpnFF.cjs.map +1 -0
- package/dist/{MConflictIllustration-znC7ijmP.js → MConflictIllustration-dwZS44ye.js} +1517 -1515
- package/dist/MConflictIllustration-dwZS44ye.js.map +1 -0
- package/dist/MConflictIllustration-vfHs-jad.cjs +2 -0
- package/dist/MConflictIllustration-vfHs-jad.cjs.map +1 -0
- package/dist/MDetailList-C3othNs3.js +127 -0
- package/dist/MDetailList-C3othNs3.js.map +1 -0
- package/dist/MDetailList-DkDHLdJ8.cjs +2 -0
- package/dist/MDetailList-DkDHLdJ8.cjs.map +1 -0
- package/dist/MDropdownMenu-C4-r7UZM.cjs +2 -0
- package/dist/MDropdownMenu-C4-r7UZM.cjs.map +1 -0
- package/dist/MDropdownMenu-Dvg9UsHB.js +219 -0
- package/dist/MDropdownMenu-Dvg9UsHB.js.map +1 -0
- package/dist/MGrid-CQqT8nHi.js +271 -0
- package/dist/MGrid-CQqT8nHi.js.map +1 -0
- package/dist/MGrid-tBsqShLG.cjs +2 -0
- package/dist/MGrid-tBsqShLG.cjs.map +1 -0
- package/dist/MHeading-DQSQ8c7L.js +21 -0
- package/dist/MHeading-DQSQ8c7L.js.map +1 -0
- package/dist/MHeading-DiGYs1FJ.cjs +2 -0
- package/dist/MHeading-DiGYs1FJ.cjs.map +1 -0
- package/dist/MInput-BeEGufZG.cjs +2 -0
- package/dist/MInput-BeEGufZG.cjs.map +1 -0
- package/dist/MInput-QnQV9L8U.js +190 -0
- package/dist/MInput-QnQV9L8U.js.map +1 -0
- package/dist/MInputCVC-CCNRAqHw.cjs +2 -0
- package/dist/MInputCVC-CCNRAqHw.cjs.map +1 -0
- package/dist/MInputCVC-IXIYZwex.js +410 -0
- package/dist/MInputCVC-IXIYZwex.js.map +1 -0
- package/dist/MInputSearch-BSIc6m2P.cjs +2 -0
- package/dist/MInputSearch-BSIc6m2P.cjs.map +1 -0
- package/dist/MInputSearch-CNuTAbYs.js +44 -0
- package/dist/MInputSearch-CNuTAbYs.js.map +1 -0
- package/dist/{MKbd-BR1GX5oK.cjs → MKbd-CnW3NUIu.cjs} +2 -2
- package/dist/{MKbd-BR1GX5oK.cjs.map → MKbd-CnW3NUIu.cjs.map} +1 -1
- package/dist/{MKbd-COb7oh_k.js → MKbd-DjfGyajR.js} +2 -2
- package/dist/{MKbd-COb7oh_k.js.map → MKbd-DjfGyajR.js.map} +1 -1
- package/dist/MLink-C6uwA6db.cjs +2 -0
- package/dist/MLink-C6uwA6db.cjs.map +1 -0
- package/dist/MLink-ixg0xFFI.js +31 -0
- package/dist/MLink-ixg0xFFI.js.map +1 -0
- package/dist/MLoader-CViA3zBo.js +44 -0
- package/dist/MLoader-CViA3zBo.js.map +1 -0
- package/dist/MLoader-DUOoOoNE.cjs +2 -0
- package/dist/MLoader-DUOoOoNE.cjs.map +1 -0
- package/dist/MPagination-BTGenxWW.js +122 -0
- package/dist/MPagination-BTGenxWW.js.map +1 -0
- package/dist/MPagination-DitmdtCc.cjs +2 -0
- package/dist/MPagination-DitmdtCc.cjs.map +1 -0
- package/dist/MPopover-CBDbUOW6.js +183 -0
- package/dist/MPopover-CBDbUOW6.js.map +1 -0
- package/dist/MPopover-ZeoU9hb5.cjs +2 -0
- package/dist/MPopover-ZeoU9hb5.cjs.map +1 -0
- package/dist/{MSimpleGrid-Ui8cI0ho.js → MSimpleGrid-C_QvLmck.js} +3 -3
- package/dist/MSimpleGrid-C_QvLmck.js.map +1 -0
- package/dist/MSimpleGrid-wgvjnxwM.cjs +2 -0
- package/dist/MSimpleGrid-wgvjnxwM.cjs.map +1 -0
- package/dist/{MSkeleton-Dhu-loDO.js → MSkeleton-BpcpBBJq.js} +12 -10
- package/dist/MSkeleton-BpcpBBJq.js.map +1 -0
- package/dist/MSkeleton-DuAN8Vcv.cjs +2 -0
- package/dist/MSkeleton-DuAN8Vcv.cjs.map +1 -0
- package/dist/MSlider-CLASUc2H.js +134 -0
- package/dist/MSlider-CLASUc2H.js.map +1 -0
- package/dist/MSlider-hONQBulE.cjs +2 -0
- package/dist/MSlider-hONQBulE.cjs.map +1 -0
- package/dist/MStack-BwAFeGGg.js +39 -0
- package/dist/MStack-BwAFeGGg.js.map +1 -0
- package/dist/MStack-CGII4A-q.cjs +2 -0
- package/dist/MStack-CGII4A-q.cjs.map +1 -0
- package/dist/MSubText-BeZk-fhz.js +17 -0
- package/dist/MSubText-BeZk-fhz.js.map +1 -0
- package/dist/MSubText-Dl1PfToZ.cjs +2 -0
- package/dist/MSubText-Dl1PfToZ.cjs.map +1 -0
- package/dist/MSurface-B_QnRLr5.js +74 -0
- package/dist/MSurface-B_QnRLr5.js.map +1 -0
- package/dist/MSurface-BrFo-JMJ.cjs +2 -0
- package/dist/MSurface-BrFo-JMJ.cjs.map +1 -0
- package/dist/MTag-BZrKN_DS.js +41 -0
- package/dist/MTag-BZrKN_DS.js.map +1 -0
- package/dist/MTag-DCE1vRJM.cjs +2 -0
- package/dist/MTag-DCE1vRJM.cjs.map +1 -0
- package/dist/MText-BUWQPoBM.js +45 -0
- package/dist/MText-BUWQPoBM.js.map +1 -0
- package/dist/MText-nsvLFsSv.cjs +2 -0
- package/dist/MText-nsvLFsSv.cjs.map +1 -0
- package/dist/MTooltip-BRSPJ3RY.js +100 -0
- package/dist/MTooltip-BRSPJ3RY.js.map +1 -0
- package/dist/MTooltip-Cj2Fxmzc.cjs +2 -0
- package/dist/MTooltip-Cj2Fxmzc.cjs.map +1 -0
- package/dist/MTreeView-BWCTlsU-.cjs +2 -0
- package/dist/MTreeView-BWCTlsU-.cjs.map +1 -0
- package/dist/MTreeView-CWcMwE-Z.js +554 -0
- package/dist/MTreeView-CWcMwE-Z.js.map +1 -0
- package/dist/calendar-2yhnCkGW.cjs +2 -0
- package/dist/calendar-2yhnCkGW.cjs.map +1 -0
- package/dist/calendar-DcNYDTVb.js +195 -0
- package/dist/calendar-DcNYDTVb.js.map +1 -0
- package/dist/calendar.cjs +1 -1
- package/dist/calendar.js +1 -1
- package/dist/{calendarDates-M_Dawj0j.js → calendarDates-Bpw_G_QR.js} +30 -19
- package/dist/calendarDates-Bpw_G_QR.js.map +1 -0
- package/dist/calendarDates-Cg0nm69Y.cjs +2 -0
- package/dist/calendarDates-Cg0nm69Y.cjs.map +1 -0
- package/dist/cards-Bp886TRb.cjs +2 -0
- package/dist/cards-Bp886TRb.cjs.map +1 -0
- package/dist/cards-BvER6Gx0.js +1277 -0
- package/dist/cards-BvER6Gx0.js.map +1 -0
- package/dist/cards.cjs +1 -1
- package/dist/cards.js +2 -2
- package/dist/{cn-YER3QsV1.js → cn-CUSXNnjF.js} +1 -1
- package/dist/{cn-YER3QsV1.js.map → cn-CUSXNnjF.js.map} +1 -1
- package/dist/{cn-CU5TNITO.cjs → cn-DYFxgzi2.cjs} +1 -1
- package/dist/{cn-CU5TNITO.cjs.map → cn-DYFxgzi2.cjs.map} +1 -1
- package/dist/components/cards/MCardDaySchedule/MCardDaySchedule.d.ts +1 -1
- package/dist/components/cards/MCardDocumentTree/MCardDocumentTree.d.ts +1 -1
- package/dist/components/cards/MCardGrid/MCardGrid.d.ts +1 -1
- package/dist/components/cards/MCardPayment/MCardPayment.d.ts +1 -1
- package/dist/components/cards/MCardPayment/MCardPayment.types.d.ts +4 -0
- package/dist/components/cards/MCardPaymentMethod/MCardPaymentMethod.d.ts +1 -1
- package/dist/components/cards/MStatCard/MStatCard.d.ts +1 -1
- package/dist/components/controls/MCheckbox/MCheckbox.types.d.ts +6 -0
- package/dist/components/controls/MLoadMore/MLoadMore.d.ts +1 -1
- package/dist/components/controls/MSlider/MSlider.d.ts +1 -1
- package/dist/components/controls/MSlider/MSlider.types.d.ts +5 -0
- package/dist/components/data/MTreeView/MTreeView.d.ts +1 -1
- package/dist/components/data/MTreeView/MTreeView.types.d.ts +6 -0
- package/dist/components/data/MWeekGrid/MWeekGrid.d.ts +1 -1
- package/dist/components/data/MWeekGrid/MWeekGrid.types.d.ts +9 -3
- package/dist/components/display/MCodeBlock/MCodeBlock.d.ts +1 -1
- package/dist/components/dropdowns/MAutocomplete/MAutocomplete.d.ts +1 -1
- package/dist/components/dropdowns/MAutocomplete/MAutocomplete.types.d.ts +8 -2
- package/dist/components/dropdowns/MSelect/MSelect.d.ts +1 -1
- package/dist/components/dropdowns/shared/TimeColumnListbox.d.ts +20 -0
- package/dist/components/feedback/MAlert/MAlert.d.ts +1 -1
- package/dist/components/feedback/MBadge/MBadge.d.ts +1 -1
- package/dist/components/feedback/MBanner/MBanner.d.ts +1 -1
- package/dist/components/feedback/MLoader/MLoader.d.ts +1 -1
- package/dist/components/feedback/MSpinner/MSpinner.d.ts +1 -1
- package/dist/components/feedback/MTag/MTag.d.ts +1 -1
- package/dist/components/inputs/MInput/MInput.types.d.ts +6 -1
- package/dist/components/inputs/MInput/useFormatCaret.d.ts +8 -0
- package/dist/components/layout/MCanvasGrid/MCanvasGrid.types.d.ts +5 -0
- package/dist/components/layout/MContainer/MContainer.d.ts +1 -1
- package/dist/components/layout/MDivider/MDivider.d.ts +1 -1
- package/dist/components/layout/MFooter/MFooter.d.ts +1 -1
- package/dist/components/layout/MHeader/MHeader.d.ts +1 -1
- package/dist/components/layout/MInline/MInline.d.ts +1 -1
- package/dist/components/layout/MNavbar/MNavbar.d.ts +1 -1
- package/dist/components/layout/MNavbar/MNavbar.types.d.ts +2 -0
- package/dist/components/layout/MSection/MSection.d.ts +1 -1
- package/dist/components/layout/MStack/MStack.d.ts +1 -1
- package/dist/components/layout/MStickyPanel/MStickyPanel.types.d.ts +4 -0
- package/dist/components/layout/MSurface/MSurface.d.ts +1 -1
- package/dist/components/media/MAvatar/MAvatar.d.ts +1 -1
- package/dist/components/media/MAvatar/MAvatar.types.d.ts +10 -0
- package/dist/components/media/MCarousel/MCarousel.d.ts +1 -1
- package/dist/components/media/MImage/MImage.d.ts +1 -1
- package/dist/components/media/carouselA11y.d.ts +9 -0
- package/dist/components/overlays/MCommandPalette/MCommandPalette.d.ts +1 -1
- package/dist/components/overlays/MDropdownMenu/MDropdownMenu.d.ts +4 -2
- package/dist/components/overlays/MDropdownMenu/MDropdownMenu.types.d.ts +3 -1
- package/dist/components/overlays/MPopconfirm/MPopconfirm.d.ts +1 -1
- package/dist/components/overlays/scrollLock.d.ts +14 -0
- package/dist/components/primitives/MPopover/MPopover.d.ts +1 -1
- package/dist/components/primitives/MPopover/MPopover.types.d.ts +32 -1
- package/dist/components/primitives/MPopover/popoverStack.d.ts +6 -0
- package/dist/components/typography/MHeading/MHeading.d.ts +2 -3
- package/dist/components/typography/MSubText/MSubText.d.ts +1 -1
- package/dist/components/typography/MText/MText.d.ts +1 -1
- package/dist/controls-B4Dxaab4.js +491 -0
- package/dist/controls-B4Dxaab4.js.map +1 -0
- package/dist/controls-CyXEIOXD.cjs +2 -0
- package/dist/controls-CyXEIOXD.cjs.map +1 -0
- package/dist/controls.cjs +1 -1
- package/dist/controls.js +5 -5
- package/dist/creditCards-Bo2mrc53.cjs +2 -0
- package/dist/creditCards-Bo2mrc53.cjs.map +1 -0
- package/dist/{creditCards-D_iWmtG6.js → creditCards-DmDOyvcw.js} +20 -31
- package/dist/creditCards-DmDOyvcw.js.map +1 -0
- package/dist/data-BM3KG8oN.cjs +2 -0
- package/dist/data-BM3KG8oN.cjs.map +1 -0
- package/dist/data-qnR8OBmj.js +808 -0
- package/dist/data-qnR8OBmj.js.map +1 -0
- package/dist/data.cjs +1 -1
- package/dist/data.js +2 -2
- package/dist/{dateUtils-CUY6CRCf.js → dateUtils-B-ToNZq_.js} +5 -6
- package/dist/dateUtils-B-ToNZq_.js.map +1 -0
- package/dist/dateUtils-z2L7ZaxA.cjs +2 -0
- package/dist/dateUtils-z2L7ZaxA.cjs.map +1 -0
- package/dist/display-BLMOBofj.cjs +3 -0
- package/dist/display-BLMOBofj.cjs.map +1 -0
- package/dist/display-Dlb79lkA.js +968 -0
- package/dist/display-Dlb79lkA.js.map +1 -0
- package/dist/display.cjs +1 -1
- package/dist/display.js +2 -2
- package/dist/dropdowns-2_7VMEDo.js +2009 -0
- package/dist/dropdowns-2_7VMEDo.js.map +1 -0
- package/dist/dropdowns-DN7j8J-V.cjs +2 -0
- package/dist/dropdowns-DN7j8J-V.cjs.map +1 -0
- package/dist/dropdowns.cjs +1 -1
- package/dist/dropdowns.js +1 -1
- package/dist/feedback-CECayytY.js +335 -0
- package/dist/feedback-CECayytY.js.map +1 -0
- package/dist/feedback-paV8Ls-h.cjs +2 -0
- package/dist/feedback-paV8Ls-h.cjs.map +1 -0
- package/dist/feedback.cjs +1 -1
- package/dist/feedback.js +5 -5
- package/dist/form-Br56h5EF.cjs +2 -0
- package/dist/form-Br56h5EF.cjs.map +1 -0
- package/dist/form-CJmMZgsH.js +165 -0
- package/dist/form-CJmMZgsH.js.map +1 -0
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{formatters-CNjg_h7-.cjs → formatters-CauWlsnM.cjs} +1 -1
- package/dist/{formatters-CNjg_h7-.cjs.map → formatters-CauWlsnM.cjs.map} +1 -1
- package/dist/{formatters-T0vvjMtB.js → formatters-Doqdu_w1.js} +1 -1
- package/dist/{formatters-T0vvjMtB.js.map → formatters-Doqdu_w1.js.map} +1 -1
- package/dist/frameworkTexts-CaqdiKHW.cjs +2 -0
- package/dist/frameworkTexts-CaqdiKHW.cjs.map +1 -0
- package/dist/frameworkTexts-o43FqY1A.js +505 -0
- package/dist/frameworkTexts-o43FqY1A.js.map +1 -0
- package/dist/i18n/MI18nProvider.d.ts +6 -1
- package/dist/i18n/frameworkTexts.d.ts +511 -0
- package/dist/i18n/index.d.ts +1 -0
- package/dist/i18n.cjs +1 -1
- package/dist/i18n.js +2 -2
- package/dist/icons-Bp8bB9TP.cjs +2 -0
- package/dist/icons-Bp8bB9TP.cjs.map +1 -0
- package/dist/{icons-CBMl-kOM.js → icons-IqEBmGh3.js} +1223 -1220
- package/dist/icons-IqEBmGh3.js.map +1 -0
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/illustrations.cjs +1 -1
- package/dist/illustrations.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.js +56 -56
- package/dist/inputs-C0BJzlA-.js +1923 -0
- package/dist/inputs-C0BJzlA-.js.map +1 -0
- package/dist/inputs-CvNBBLFA.cjs +2 -0
- package/dist/inputs-CvNBBLFA.cjs.map +1 -0
- package/dist/inputs.cjs +1 -1
- package/dist/inputs.js +4 -4
- package/dist/layout-BSFqGXLZ.js +1101 -0
- package/dist/layout-BSFqGXLZ.js.map +1 -0
- package/dist/layout-MKqvUkPv.cjs +2 -0
- package/dist/layout-MKqvUkPv.cjs.map +1 -0
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +6 -6
- package/dist/{layoutProps-Ck4VtGm9.cjs → layoutProps-B8y2XwHy.cjs} +1 -1
- package/dist/{layoutProps-Ck4VtGm9.cjs.map → layoutProps-B8y2XwHy.cjs.map} +1 -1
- package/dist/{layoutProps-Cl6d1KmH.js → layoutProps-CE5-ghKw.js} +1 -1
- package/dist/{layoutProps-Cl6d1KmH.js.map → layoutProps-CE5-ghKw.js.map} +1 -1
- package/dist/{licensing-f5KYVz7D.js → licensing-BKmoAdfr.js} +5 -4
- package/dist/licensing-BKmoAdfr.js.map +1 -0
- package/dist/licensing-DVgjkw-s.cjs +2 -0
- package/dist/licensing-DVgjkw-s.cjs.map +1 -0
- package/dist/media-fiasAbBv.js +485 -0
- package/dist/media-fiasAbBv.js.map +1 -0
- package/dist/media-tr1s386v.cjs +2 -0
- package/dist/media-tr1s386v.cjs.map +1 -0
- package/dist/media.cjs +1 -1
- package/dist/media.js +2 -2
- package/dist/overlays-Df-NpmkW.cjs +2 -0
- package/dist/overlays-Df-NpmkW.cjs.map +1 -0
- package/dist/overlays-W0WW3fn7.js +607 -0
- package/dist/overlays-W0WW3fn7.js.map +1 -0
- package/dist/overlays.cjs +1 -1
- package/dist/overlays.js +3 -3
- package/dist/primitives.cjs +1 -1
- package/dist/primitives.js +2 -2
- package/dist/radioGroupKeys-Bm-Qeh8G.js +28 -0
- package/dist/radioGroupKeys-Bm-Qeh8G.js.map +1 -0
- package/dist/radioGroupKeys-COL8uXbH.cjs +2 -0
- package/dist/radioGroupKeys-COL8uXbH.cjs.map +1 -0
- package/dist/{relativeTime-Cr-NVzij.js → relativeTime-BqCuaBqb.js} +1 -1
- package/dist/{relativeTime-Cr-NVzij.js.map → relativeTime-BqCuaBqb.js.map} +1 -1
- package/dist/{relativeTime-DgYBUaVm.cjs → relativeTime-DUbW4O44.cjs} +1 -1
- package/dist/{relativeTime-DgYBUaVm.cjs.map → relativeTime-DUbW4O44.cjs.map} +1 -1
- package/dist/scrollLock-C9P9o6wH.cjs +2 -0
- package/dist/scrollLock-C9P9o6wH.cjs.map +1 -0
- package/dist/scrollLock-D27VmgPV.js +14 -0
- package/dist/scrollLock-D27VmgPV.js.map +1 -0
- package/dist/style-runtime.cjs +1 -1
- package/dist/style-runtime.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/theme/MThemeProvider.d.ts +18 -1
- package/dist/theme/index.d.ts +2 -2
- package/dist/{theme-DAOU1aPs.js → theme-B_juOenJ.js} +71 -61
- package/dist/theme-B_juOenJ.js.map +1 -0
- package/dist/theme-ByPZH0dh.cjs +2 -0
- package/dist/theme-ByPZH0dh.cjs.map +1 -0
- package/dist/theme.cjs +1 -1
- package/dist/theme.js +2 -2
- package/dist/{typography-C806GYT4.js → typography-DNcB8dOy.js} +3 -3
- package/dist/{typography-C806GYT4.js.map → typography-DNcB8dOy.js.map} +1 -1
- package/dist/{typography-4v01oNWx.cjs → typography-I7aeG8pH.cjs} +2 -2
- package/dist/{typography-4v01oNWx.cjs.map → typography-I7aeG8pH.cjs.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +6 -6
- package/dist/useGhostText-CKsb8Ufa.js +240 -0
- package/dist/useGhostText-CKsb8Ufa.js.map +1 -0
- package/dist/useGhostText-DO-tfxS0.cjs +2 -0
- package/dist/useGhostText-DO-tfxS0.cjs.map +1 -0
- package/dist/useModalLayer-CpOPSDbf.js +128 -0
- package/dist/useModalLayer-CpOPSDbf.js.map +1 -0
- package/dist/useModalLayer-Cyt93Prs.cjs +2 -0
- package/dist/useModalLayer-Cyt93Prs.cjs.map +1 -0
- package/dist/utils/calendarDates.d.ts +5 -0
- package/dist/utils/radioGroupKeys.d.ts +9 -0
- package/dist/utils/useDateGridNav.d.ts +39 -0
- package/dist/utils/useGhostText.d.ts +2 -1
- package/dist/utils/useKeyboardNav.d.ts +51 -5
- package/dist/utils/useModalLayer.d.ts +4 -0
- package/dist/utils/useRovingToolbar.d.ts +26 -0
- package/dist/utils/validationMessages.d.ts +15 -0
- package/dist/utils.cjs +1 -1
- package/dist/utils.entry.d.ts +3 -1
- package/dist/utils.js +11 -11
- package/dist/validationMessages-BFimXxlT.js +23 -0
- package/dist/validationMessages-BFimXxlT.js.map +1 -0
- package/dist/validationMessages-iHu7apWr.cjs +2 -0
- package/dist/validationMessages-iHu7apWr.cjs.map +1 -0
- package/dist/validators-SZmLxnir.cjs +2 -0
- package/dist/validators-SZmLxnir.cjs.map +1 -0
- package/dist/{validators-DVYOtFnw.js → validators-ULebNme2.js} +107 -106
- package/dist/validators-ULebNme2.js.map +1 -0
- package/package.json +1 -1
- package/dist/MAvatar-DHNB3829.cjs +0 -2
- package/dist/MAvatar-DHNB3829.cjs.map +0 -1
- package/dist/MAvatar-GeRL-CNO.js +0 -63
- package/dist/MAvatar-GeRL-CNO.js.map +0 -1
- package/dist/MButton-CEwo8lUB.js +0 -115
- package/dist/MButton-CEwo8lUB.js.map +0 -1
- package/dist/MButton-CnAr77Za.cjs +0 -2
- package/dist/MButton-CnAr77Za.cjs.map +0 -1
- package/dist/MCard-BqSkGAgf.js.map +0 -1
- package/dist/MCard-P8OoswWM.cjs.map +0 -1
- package/dist/MCheckbox-BxFBADcE.js +0 -59
- package/dist/MCheckbox-BxFBADcE.js.map +0 -1
- package/dist/MCheckbox-DozwF2ai.cjs +0 -2
- package/dist/MCheckbox-DozwF2ai.cjs.map +0 -1
- package/dist/MConflictIllustration-2QL-BHYv.cjs +0 -2
- package/dist/MConflictIllustration-2QL-BHYv.cjs.map +0 -1
- package/dist/MConflictIllustration-znC7ijmP.js.map +0 -1
- package/dist/MDetailList-CThQvoyf.cjs +0 -2
- package/dist/MDetailList-CThQvoyf.cjs.map +0 -1
- package/dist/MDetailList-Cx9H81xT.js +0 -98
- package/dist/MDetailList-Cx9H81xT.js.map +0 -1
- package/dist/MDropdownMenu-DnKcCyW6.cjs +0 -2
- package/dist/MDropdownMenu-DnKcCyW6.cjs.map +0 -1
- package/dist/MDropdownMenu-DxbKN7Ui.js +0 -172
- package/dist/MDropdownMenu-DxbKN7Ui.js.map +0 -1
- package/dist/MGrid-BkRSGN2t.cjs +0 -2
- package/dist/MGrid-BkRSGN2t.cjs.map +0 -1
- package/dist/MGrid-CIz-2i6X.js +0 -265
- package/dist/MGrid-CIz-2i6X.js.map +0 -1
- package/dist/MHeading-AYQ8_GFP.cjs +0 -2
- package/dist/MHeading-AYQ8_GFP.cjs.map +0 -1
- package/dist/MHeading-DcGxUMwC.js +0 -21
- package/dist/MHeading-DcGxUMwC.js.map +0 -1
- package/dist/MI18nProvider-CqAwaswx.cjs +0 -2
- package/dist/MI18nProvider-CqAwaswx.cjs.map +0 -1
- package/dist/MI18nProvider-VH14CI8u.js +0 -72
- package/dist/MI18nProvider-VH14CI8u.js.map +0 -1
- package/dist/MInput-BYj2BdUe.cjs +0 -2
- package/dist/MInput-BYj2BdUe.cjs.map +0 -1
- package/dist/MInput-nodE-CZF.js +0 -188
- package/dist/MInput-nodE-CZF.js.map +0 -1
- package/dist/MInputCVC-9XWryaTz.cjs +0 -2
- package/dist/MInputCVC-9XWryaTz.cjs.map +0 -1
- package/dist/MInputCVC-CrDTaUXm.js +0 -321
- package/dist/MInputCVC-CrDTaUXm.js.map +0 -1
- package/dist/MInputSearch-BMgCHjFk.js +0 -43
- package/dist/MInputSearch-BMgCHjFk.js.map +0 -1
- package/dist/MInputSearch-BiVI1jNc.cjs +0 -2
- package/dist/MInputSearch-BiVI1jNc.cjs.map +0 -1
- package/dist/MLink-CAl6N6_z.js +0 -31
- package/dist/MLink-CAl6N6_z.js.map +0 -1
- package/dist/MLink-Dk_ReE6i.cjs +0 -2
- package/dist/MLink-Dk_ReE6i.cjs.map +0 -1
- package/dist/MLoader-CYp0OJU_.js +0 -41
- package/dist/MLoader-CYp0OJU_.js.map +0 -1
- package/dist/MLoader-DvmFle31.cjs +0 -2
- package/dist/MLoader-DvmFle31.cjs.map +0 -1
- package/dist/MPagination-E7IixIeo.js +0 -113
- package/dist/MPagination-E7IixIeo.js.map +0 -1
- package/dist/MPagination-reDU9xTW.cjs +0 -2
- package/dist/MPagination-reDU9xTW.cjs.map +0 -1
- package/dist/MPopover-8gYD3Ogq.js +0 -118
- package/dist/MPopover-8gYD3Ogq.js.map +0 -1
- package/dist/MPopover-B3npyAkL.cjs +0 -2
- package/dist/MPopover-B3npyAkL.cjs.map +0 -1
- package/dist/MPortal-Ba2Sxset.js +0 -10
- package/dist/MPortal-Ba2Sxset.js.map +0 -1
- package/dist/MPortal-CuBXhhl_.cjs +0 -2
- package/dist/MPortal-CuBXhhl_.cjs.map +0 -1
- package/dist/MSimpleGrid-BchGYPMi.cjs +0 -2
- package/dist/MSimpleGrid-BchGYPMi.cjs.map +0 -1
- package/dist/MSimpleGrid-Ui8cI0ho.js.map +0 -1
- package/dist/MSkeleton-DPa_G_2X.cjs +0 -2
- package/dist/MSkeleton-DPa_G_2X.cjs.map +0 -1
- package/dist/MSkeleton-Dhu-loDO.js.map +0 -1
- package/dist/MSlider-BRjhyBSc.js +0 -75
- package/dist/MSlider-BRjhyBSc.js.map +0 -1
- package/dist/MSlider-w5214a-W.cjs +0 -2
- package/dist/MSlider-w5214a-W.cjs.map +0 -1
- package/dist/MStack-Dt-rWvg3.js +0 -39
- package/dist/MStack-Dt-rWvg3.js.map +0 -1
- package/dist/MStack-nc6Y_9K3.cjs +0 -2
- package/dist/MStack-nc6Y_9K3.cjs.map +0 -1
- package/dist/MSubText-B0tXiuAp.js +0 -17
- package/dist/MSubText-B0tXiuAp.js.map +0 -1
- package/dist/MSubText-C6v6Exa2.cjs +0 -2
- package/dist/MSubText-C6v6Exa2.cjs.map +0 -1
- package/dist/MSurface-BjE-mL1L.cjs +0 -2
- package/dist/MSurface-BjE-mL1L.cjs.map +0 -1
- package/dist/MSurface-CpDJCdb5.js +0 -74
- package/dist/MSurface-CpDJCdb5.js.map +0 -1
- package/dist/MTag-BgOxiahL.cjs +0 -2
- package/dist/MTag-BgOxiahL.cjs.map +0 -1
- package/dist/MTag-cw3cIGHX.js +0 -41
- package/dist/MTag-cw3cIGHX.js.map +0 -1
- package/dist/MText-BDI4mdw8.cjs +0 -2
- package/dist/MText-BDI4mdw8.cjs.map +0 -1
- package/dist/MText-DhbAjtUE.js +0 -45
- package/dist/MText-DhbAjtUE.js.map +0 -1
- package/dist/MTooltip-BAgHlv5I.cjs +0 -2
- package/dist/MTooltip-BAgHlv5I.cjs.map +0 -1
- package/dist/MTooltip-CJxvlkOX.js +0 -92
- package/dist/MTooltip-CJxvlkOX.js.map +0 -1
- package/dist/MTreeView-DsBnYQMT.js +0 -315
- package/dist/MTreeView-DsBnYQMT.js.map +0 -1
- package/dist/MTreeView-LiJ5o-zy.cjs +0 -2
- package/dist/MTreeView-LiJ5o-zy.cjs.map +0 -1
- package/dist/calendar-Bq6NMNnS.js +0 -193
- package/dist/calendar-Bq6NMNnS.js.map +0 -1
- package/dist/calendar-C57BH8Nd.cjs +0 -2
- package/dist/calendar-C57BH8Nd.cjs.map +0 -1
- package/dist/calendarDates-M_Dawj0j.js.map +0 -1
- package/dist/calendarDates-qm047RW2.cjs +0 -2
- package/dist/calendarDates-qm047RW2.cjs.map +0 -1
- package/dist/cards-D4xJVd4q.js +0 -1227
- package/dist/cards-D4xJVd4q.js.map +0 -1
- package/dist/cards-Du6dbZSQ.cjs +0 -2
- package/dist/cards-Du6dbZSQ.cjs.map +0 -1
- package/dist/controls-BKoc_yel.js +0 -475
- package/dist/controls-BKoc_yel.js.map +0 -1
- package/dist/controls-Ck-PMt__.cjs +0 -2
- package/dist/controls-Ck-PMt__.cjs.map +0 -1
- package/dist/creditCards-D_HwRUBz.cjs +0 -2
- package/dist/creditCards-D_HwRUBz.cjs.map +0 -1
- package/dist/creditCards-D_iWmtG6.js.map +0 -1
- package/dist/data-CdQximqm.js +0 -689
- package/dist/data-CdQximqm.js.map +0 -1
- package/dist/data-PS4ygCyj.cjs +0 -2
- package/dist/data-PS4ygCyj.cjs.map +0 -1
- package/dist/dateUtils-CUY6CRCf.js.map +0 -1
- package/dist/dateUtils-Dq1vaA-D.cjs +0 -2
- package/dist/dateUtils-Dq1vaA-D.cjs.map +0 -1
- package/dist/display-YC1fVpXA.js +0 -782
- package/dist/display-YC1fVpXA.js.map +0 -1
- package/dist/display-slIo1bQI.cjs +0 -3
- package/dist/display-slIo1bQI.cjs.map +0 -1
- package/dist/dropdowns-DFbUoZ8Q.cjs +0 -2
- package/dist/dropdowns-DFbUoZ8Q.cjs.map +0 -1
- package/dist/dropdowns-nW3MY5XG.js +0 -1715
- package/dist/dropdowns-nW3MY5XG.js.map +0 -1
- package/dist/feedback-6MNb2Xyk.cjs +0 -2
- package/dist/feedback-6MNb2Xyk.cjs.map +0 -1
- package/dist/feedback-CPwJaQHY.js +0 -259
- package/dist/feedback-CPwJaQHY.js.map +0 -1
- package/dist/form-CMsZo6Dm.cjs +0 -2
- package/dist/form-CMsZo6Dm.cjs.map +0 -1
- package/dist/form-WU6DcQGD.js +0 -164
- package/dist/form-WU6DcQGD.js.map +0 -1
- package/dist/frameworkTexts-BSXUtXOp.cjs +0 -2
- package/dist/frameworkTexts-BSXUtXOp.cjs.map +0 -1
- package/dist/frameworkTexts-DP5RUl19.js +0 -131
- package/dist/frameworkTexts-DP5RUl19.js.map +0 -1
- package/dist/icons-CBMl-kOM.js.map +0 -1
- package/dist/icons-D3n9-919.cjs +0 -2
- package/dist/icons-D3n9-919.cjs.map +0 -1
- package/dist/inputs-B7rGMLMr.js +0 -1753
- package/dist/inputs-B7rGMLMr.js.map +0 -1
- package/dist/inputs-BiN62hgH.cjs +0 -2
- package/dist/inputs-BiN62hgH.cjs.map +0 -1
- package/dist/layout-BMggJ_qO.cjs +0 -2
- package/dist/layout-BMggJ_qO.cjs.map +0 -1
- package/dist/layout-DBYHyCTr.js +0 -883
- package/dist/layout-DBYHyCTr.js.map +0 -1
- package/dist/licensing-Be3g-PJt.cjs +0 -2
- package/dist/licensing-Be3g-PJt.cjs.map +0 -1
- package/dist/licensing-f5KYVz7D.js.map +0 -1
- package/dist/media-BPzMgzqE.js +0 -405
- package/dist/media-BPzMgzqE.js.map +0 -1
- package/dist/media-D63hxCAJ.cjs +0 -2
- package/dist/media-D63hxCAJ.cjs.map +0 -1
- package/dist/overlays-CCeYD6hT.js +0 -555
- package/dist/overlays-CCeYD6hT.js.map +0 -1
- package/dist/overlays-CsRN5OG8.cjs +0 -2
- package/dist/overlays-CsRN5OG8.cjs.map +0 -1
- package/dist/popoverStack--0r2oJCD.js +0 -44
- package/dist/popoverStack--0r2oJCD.js.map +0 -1
- package/dist/popoverStack-BmMk-VZJ.cjs +0 -2
- package/dist/popoverStack-BmMk-VZJ.cjs.map +0 -1
- package/dist/theme-CJuqObWL.cjs +0 -2
- package/dist/theme-CJuqObWL.cjs.map +0 -1
- package/dist/theme-DAOU1aPs.js.map +0 -1
- package/dist/useGhostText-DG0bzcao.js +0 -68
- package/dist/useGhostText-DG0bzcao.js.map +0 -1
- package/dist/useGhostText-mibV4s1-.cjs +0 -2
- package/dist/useGhostText-mibV4s1-.cjs.map +0 -1
- package/dist/useKeyboardNav-CCUoRMgm.cjs +0 -2
- package/dist/useKeyboardNav-CCUoRMgm.cjs.map +0 -1
- package/dist/useKeyboardNav-iEXOdEMB.js +0 -43
- package/dist/useKeyboardNav-iEXOdEMB.js.map +0 -1
- package/dist/useModalLayer-Bf4TcEz-.js +0 -58
- package/dist/useModalLayer-Bf4TcEz-.js.map +0 -1
- package/dist/useModalLayer-DxYhhgRO.cjs +0 -2
- package/dist/useModalLayer-DxYhhgRO.cjs.map +0 -1
- package/dist/validators-B6yWdsu2.cjs +0 -2
- package/dist/validators-B6yWdsu2.cjs.map +0 -1
- package/dist/validators-DVYOtFnw.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display-Dlb79lkA.js","names":[],"sources":["../src/components/display/MCollapsible/MCollapsible.tsx","../src/components/display/MAccordion/MAccordion.tsx","../src/components/display/MProgressBar/MProgressBar.tsx","../src/components/display/MCountUp/MCountUp.tsx","../src/components/display/MCodeBlock/MCodeBlock.tsx","../src/components/display/MReveal/MReveal.tsx","../src/components/display/MTimeAgo/MTimeAgo.tsx","../src/components/display/MColorPicker/MColorPicker.tsx","../src/components/display/MEmptyState/MEmptyState.tsx","../src/components/display/MBlur/MBlur.tsx","../src/components/display/MStepper/MStepper.tsx","../src/components/display/MTimeline/MTimeline.tsx"],"sourcesContent":["import {useId, useState} from 'react'\nimport {MButton} from '../../controls'\nimport {MStack} from '../../layout'\nimport {cn} from '../../../utils/cn'\nimport type {MCollapsibleProps} from './MCollapsible.types'\nimport {MChevronDownIcon} from '../../../icons'\nimport './MCollapsible.css'\n\n// MToggle a section of content with a built-in trigger and disclosure state.\nexport function MCollapsible({\n title,\n defaultOpen = false,\n open: controlledOpen,\n onToggle,\n color = 'primary',\n className,\n children,\n ...rest\n}: MCollapsibleProps) {\n const [internalOpen, setInternalOpen] = useState(defaultOpen)\n const open = controlledOpen ?? internalOpen\n const panelId = useId()\n\n const handleToggle = () => {\n const nextOpen = !open\n\n if (controlledOpen === undefined) {\n setInternalOpen(nextOpen)\n }\n\n onToggle?.(nextOpen)\n }\n\n const chevronIcon = (\n <span className={cn('chevron', open && 'open')} aria-hidden=\"true\">\n <MChevronDownIcon />\n </span>\n )\n\n return (\n <div className={cn('collapsible', className)} {...rest}>\n <MButton\n variant=\"ghost\"\n color={color}\n className=\"trigger\"\n aria-expanded={open}\n aria-controls={panelId}\n onClick={handleToggle}\n endIcon={chevronIcon}\n >\n {title}\n </MButton>\n {/* A closed panel is inert: its content leaves the Tab order, not just the a11y tree. */}\n <div id={panelId} className={cn('content-wrap', open && 'open')} aria-hidden={!open} inert={!open}>\n {/* The clip row carries no padding, so the collapsed 0fr track really is 0px tall. */}\n <div className=\"collapsible-clip\">\n <MStack className=\"content\">{children}</MStack>\n </div>\n </div>\n </div>\n )\n}\n","import {useState, useCallback, Children, isValidElement} from 'react'\nimport {MCollapsible} from '../MCollapsible'\nimport {cn} from '../../../utils/cn'\nimport type {MAccordionProps, MAccordionItemProps} from './MAccordion.types'\nimport './MAccordion.css'\n\nexport function MAccordionItem(_props: MAccordionItemProps) {\n return null\n}\n\nexport function MAccordion({\n multiple = false,\n defaultOpen,\n onChange,\n bordered = false,\n color,\n className,\n children,\n ...rest\n}: MAccordionProps) {\n const initialOpen = Array.isArray(defaultOpen) ? defaultOpen : defaultOpen ? [defaultOpen] : []\n\n const [openIds, setOpenIds] = useState<string[]>(initialOpen)\n\n const handleToggle = useCallback(\n (id: string, isOpen: boolean) => {\n setOpenIds((prev) => {\n let next: string[]\n if (isOpen) {\n next = multiple ? [...prev, id] : [id]\n } else {\n next = prev.filter((v) => v !== id)\n }\n onChange?.(next)\n return next\n })\n },\n [multiple, onChange]\n )\n\n const items = Children.toArray(children).filter(\n (child) => isValidElement(child) && (child.type as any) === MAccordionItem\n )\n\n return (\n <div className={cn('accordion', bordered && 'bordered', className)} {...rest}>\n {items.map((child) => {\n if (!isValidElement<MAccordionItemProps>(child)) return null\n const {id, title, children: content, disabled, color: itemColor} = child.props\n const isOpen = openIds.includes(id)\n\n return (\n <div key={id} className={cn('accordion-item', disabled && 'disabled')}>\n <MCollapsible\n title={title}\n open={isOpen}\n onToggle={disabled ? undefined : (open) => handleToggle(id, open)}\n color={itemColor ?? color}\n >\n {content}\n </MCollapsible>\n </div>\n )\n })}\n </div>\n )\n}\n","import {useState, useEffect, useRef, useCallback} from 'react'\nimport type {MProgressBarProps} from './MProgressBar.types'\nimport {cn} from '../../../utils/cn'\nimport './MProgressBar.css'\n\nconst DURATION = 800\n\nfunction easeOutCubic(t: number) {\n return 1 - Math.pow(1 - t, 3)\n}\n\n// Render a horizontal bar that fills to represent progress as a percentage.\nexport function MProgressBar({\n value,\n max = 100,\n color = 'primary',\n size = 'md',\n label,\n showValue = false,\n animated = false,\n striped = false,\n className,\n ...rest\n}: MProgressBarProps) {\n const percent = Math.min(100, Math.max(0, (value / max) * 100))\n const [displayPercent, setDisplayPercent] = useState(0)\n const [barPercent, setBarPercent] = useState(0)\n const prevPercent = useRef(0)\n const rafRef = useRef(0)\n\n const animate = useCallback((from: number, to: number) => {\n cancelAnimationFrame(rafRef.current)\n\n // Reduced motion: jump straight to the value instead of counting up.\n if (typeof window.matchMedia === 'function' && window.matchMedia('(prefers-reduced-motion: reduce)').matches) {\n setBarPercent(to)\n setDisplayPercent(to)\n return\n }\n const start = performance.now()\n\n const step = (now: number) => {\n const elapsed = now - start\n const progress = Math.min(elapsed / DURATION, 1)\n const eased = easeOutCubic(progress)\n const current = from + (to - from) * eased\n\n setDisplayPercent(current)\n if (progress < 1) {\n rafRef.current = requestAnimationFrame(step)\n }\n }\n\n // Set bar width immediately for CSS transition\n setBarPercent(to)\n rafRef.current = requestAnimationFrame(step)\n }, [])\n\n useEffect(() => {\n animate(prevPercent.current, percent)\n prevPercent.current = percent\n return () => cancelAnimationFrame(rafRef.current)\n }, [percent, animate])\n\n return (\n <div\n className={cn('progress-bar', `color-${color}`, size, className)}\n role=\"progressbar\"\n aria-valuenow={value}\n aria-valuemin={0}\n aria-valuemax={max}\n aria-label={label}\n {...rest}\n >\n {(label || showValue) && (\n <div className=\"progress-bar-header\">\n {label && <span className=\"progress-bar-label\">{label}</span>}\n {showValue && <span className=\"progress-bar-value\">{Math.round(displayPercent)}%</span>}\n </div>\n )}\n <div className=\"progress-bar-track\">\n <div\n className={cn('progress-bar-fill', animated && 'animated', striped && 'striped')}\n style={{width: `${barPercent}%`}}\n />\n </div>\n </div>\n )\n}\n","import {useState, useEffect, useRef} from 'react'\nimport type {MCountUpProps} from './MCountUp.types'\nimport {cn} from '../../../utils/cn'\n\n// Animate a number from a start value to a target, with an easing curve.\nexport function MCountUp({\n value,\n from = 0,\n duration = 1000,\n decimals = 0,\n prefix = '',\n suffix = '',\n separator = '',\n className,\n ...rest\n}: MCountUpProps) {\n const [display, setDisplay] = useState(from)\n const rafRef = useRef<number>(0)\n const startRef = useRef<number | null>(null)\n\n useEffect(() => {\n const startValue = display\n startRef.current = null\n\n const step = (timestamp: number) => {\n if (startRef.current === null) startRef.current = timestamp\n const elapsed = timestamp - startRef.current\n const progress = Math.min(elapsed / duration, 1)\n const eased = 1 - Math.pow(1 - progress, 3)\n const current = startValue + (value - startValue) * eased\n\n setDisplay(current)\n\n if (progress < 1) {\n rafRef.current = requestAnimationFrame(step)\n }\n }\n\n rafRef.current = requestAnimationFrame(step)\n return () => cancelAnimationFrame(rafRef.current)\n }, [value, duration])\n\n const formatted = formatNumber(display, decimals, separator)\n\n return (\n <span className={cn('count-up', className)} {...rest}>\n {prefix}\n {formatted}\n {suffix}\n </span>\n )\n}\n\nfunction formatNumber(num: number, decimals: number, separator: string): string {\n const fixed = num.toFixed(decimals)\n if (!separator) return fixed\n\n const [int, dec] = fixed.split('.')\n const withSep = int.replace(/\\B(?=(\\d{3})+(?!\\d))/g, separator)\n return dec !== undefined ? `${withSep}.${dec}` : withSep\n}\n","import {useEffect, useLayoutEffect, useMemo, useRef, useState} from 'react'\nimport type {MCodeBlockProps} from './MCodeBlock.types'\nimport {MCard, MCardBody, MCardHeader} from '../../cards'\nimport {MButton} from '../../controls'\nimport {MBadge} from '../../feedback'\nimport {MInline} from '../../layout'\nimport {MText} from '../../typography'\nimport {MCopyIcon} from '../../../icons'\nimport {cn} from '../../../utils/cn'\nimport './MCodeBlock.css'\nimport type {HLJSApi, LanguageFn} from 'highlight.js'\nimport {useMCodeBlockTexts} from '../../../i18n/frameworkTexts'\n\n// Layout effect in the browser (no flash of the full code before typing starts), plain effect on the server.\nconst useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect\n\nfunction prefersReducedMotion(): boolean {\n return (\n typeof window !== 'undefined' &&\n typeof window.matchMedia === 'function' &&\n window.matchMedia('(prefers-reduced-motion: reduce)').matches\n )\n}\n\nconst languageMap: Record<string, string> = {\n c: 'c',\n cpp: 'cpp',\n 'c++': 'cpp',\n arduino: 'arduino',\n ino: 'arduino',\n ts: 'typescript',\n typescript: 'typescript',\n tsx: 'tsx',\n js: 'javascript',\n javascript: 'javascript',\n jsx: 'jsx',\n json: 'json',\n css: 'css',\n html: 'html',\n markup: 'html',\n bash: 'bash',\n shell: 'bash',\n shellscript: 'bash',\n php: 'php',\n}\n\nconst languageLoaders: Record<string, () => Promise<{default: LanguageFn}>> = {\n xml: () => import('highlight.js/lib/languages/xml'),\n css: () => import('highlight.js/lib/languages/css'),\n javascript: () => import('highlight.js/lib/languages/javascript'),\n typescript: () => import('highlight.js/lib/languages/typescript'),\n json: () => import('highlight.js/lib/languages/json'),\n bash: () => import('highlight.js/lib/languages/bash'),\n c: () => import('highlight.js/lib/languages/c'),\n cpp: () => import('highlight.js/lib/languages/cpp'),\n arduino: () => import('highlight.js/lib/languages/arduino'),\n php: () => import('highlight.js/lib/languages/php'),\n}\n\nlet highlightJsPromise: Promise<HLJSApi> | null = null\nconst codeBlockTypingSpeed = 42\nconst codeBlockTypingStartDelay = 200\n\nfunction escapeHtml(value: string): string {\n return value.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>')\n}\n\nfunction resolveLanguage(language: string): string {\n return languageMap[language] ?? language\n}\n\nasync function getHighlightJs(): Promise<HLJSApi> {\n if (!highlightJsPromise) {\n highlightJsPromise = (async () => {\n const highlightJsCore = (await import('highlight.js/lib/core')).default\n const highlightJs = highlightJsCore.newInstance()\n\n for (const [language, loadLanguage] of Object.entries(languageLoaders)) {\n const definition = await loadLanguage()\n highlightJs.registerLanguage(language, definition.default)\n }\n\n highlightJs.registerAliases(['shell', 'shellscript'], {languageName: 'bash'})\n highlightJs.registerAliases('markup', {languageName: 'xml'})\n\n return highlightJs\n })()\n }\n\n return highlightJsPromise\n}\n\n// Render a syntax-highlighted code block with optional card header and copy action.\nexport function MCodeBlock({\n code,\n language = 'tsx',\n title,\n showHeader = true,\n showLanguage = true,\n showCopyButton = true,\n copyLabel: copyLabelProp,\n copiedLabel: copiedLabelProp,\n maxHeight,\n stretch = false,\n animated = false,\n lineNumbers = false,\n className,\n ...rest\n}: MCodeBlockProps) {\n const texts = useMCodeBlockTexts()\n const copyLabel = copyLabelProp ?? texts.copy\n const copiedLabel = copiedLabelProp ?? texts.copied\n const normalizedLanguage = useMemo(() => resolveLanguage(language.trim().toLowerCase()), [language])\n // The server (and the first client render) always gets the full code; typing starts in the browser.\n const [visibleLength, setVisibleLength] = useState(() => code.length)\n const [typing, setTyping] = useState(false)\n const renderedCode = typing ? code.slice(0, visibleLength) : code\n const [highlightedCode, setHighlightedCode] = useState(() => escapeHtml(renderedCode))\n const [copied, setCopied] = useState(false)\n const copyTimeoutRef = useRef<number | null>(null)\n const typingTimeoutRef = useRef<number | null>(null)\n const scrollRef = useRef<HTMLDivElement | null>(null)\n const canCopy = typeof navigator !== 'undefined' && typeof navigator.clipboard?.writeText === 'function'\n const hasHeader = showHeader && (Boolean(title) || showLanguage || showCopyButton)\n const lineCount = useMemo(() => Math.max(1, renderedCode.split('\\n').length), [renderedCode])\n\n useIsomorphicLayoutEffect(() => {\n if (typingTimeoutRef.current !== null) {\n window.clearTimeout(typingTimeoutRef.current)\n typingTimeoutRef.current = null\n }\n\n // Reduced motion shows the finished code straight away.\n const shouldType = animated && !prefersReducedMotion()\n setTyping(shouldType)\n setVisibleLength(shouldType ? 0 : code.length)\n if (shouldType) {\n setHighlightedCode('')\n }\n }, [animated, code])\n\n useEffect(() => {\n if (!typing || code.length === 0) {\n return\n }\n\n if (visibleLength < code.length) {\n typingTimeoutRef.current = window.setTimeout(\n () => {\n setVisibleLength((current) => Math.min(current + 1, code.length))\n typingTimeoutRef.current = null\n },\n visibleLength === 0 ? codeBlockTypingStartDelay : codeBlockTypingSpeed\n )\n }\n\n return () => {\n if (typingTimeoutRef.current !== null) {\n window.clearTimeout(typingTimeoutRef.current)\n typingTimeoutRef.current = null\n }\n }\n }, [typing, code.length, visibleLength])\n\n useEffect(() => {\n let active = true\n\n async function highlightCode() {\n try {\n const highlightJs = await getHighlightJs()\n const languageDefinition = highlightJs.getLanguage(normalizedLanguage)\n const html = languageDefinition\n ? highlightJs.highlight(renderedCode, {\n language: normalizedLanguage,\n ignoreIllegals: true,\n }).value\n : escapeHtml(renderedCode)\n\n if (active) {\n setHighlightedCode(html)\n }\n } catch {\n if (active) {\n setHighlightedCode(escapeHtml(renderedCode))\n }\n }\n }\n\n void highlightCode()\n\n return () => {\n active = false\n }\n }, [normalizedLanguage, renderedCode])\n\n useEffect(() => {\n return () => {\n if (copyTimeoutRef.current !== null) {\n window.clearTimeout(copyTimeoutRef.current)\n }\n\n if (typingTimeoutRef.current !== null) {\n window.clearTimeout(typingTimeoutRef.current)\n }\n }\n }, [])\n\n useEffect(() => {\n if (!typing || !scrollRef.current) {\n return\n }\n\n scrollRef.current.scrollTop = scrollRef.current.scrollHeight\n }, [typing, visibleLength])\n\n async function handleCopy() {\n if (!canCopy) {\n return\n }\n\n try {\n await navigator.clipboard.writeText(code)\n setCopied(true)\n\n if (copyTimeoutRef.current !== null) {\n window.clearTimeout(copyTimeoutRef.current)\n }\n\n copyTimeoutRef.current = window.setTimeout(() => {\n setCopied(false)\n copyTimeoutRef.current = null\n }, 1200)\n } catch {\n setCopied(false)\n }\n }\n\n return (\n <MCard className={cn('code-block-card', className)} {...rest} padded={false} stretch={stretch}>\n {hasHeader && (\n <MCardHeader className=\"code-block-header\">\n <MInline\n className=\"code-block-header-layout\"\n align=\"center\"\n justify=\"between\"\n wrap=\"nowrap\"\n px=\"lg\"\n py=\"md\"\n >\n <MInline className=\"code-block-header-meta\" align=\"center\" wrap=\"wrap\">\n {title && (\n <MText as=\"span\" className=\"code-block-title\" size=\"sm\" weight=\"semibold\">\n {title}\n </MText>\n )}\n {showLanguage && language && (\n <MBadge color=\"info\" size=\"sm\">\n {language}\n </MBadge>\n )}\n </MInline>\n {showCopyButton && (\n <MButton\n variant=\"ghost\"\n size=\"sm\"\n color=\"neutral\"\n startIcon={<MCopyIcon size=\"sm\" aria-hidden=\"true\" />}\n onClick={handleCopy}\n disabled={!canCopy}\n >\n {copied ? copiedLabel : copyLabel}\n </MButton>\n )}\n {showCopyButton && (\n <span className=\"code-block-status\" role=\"status\">\n {copied ? copiedLabel : ''}\n </span>\n )}\n </MInline>\n </MCardHeader>\n )}\n\n <MCardBody className=\"code-block-body\">\n {/* Scrollable region: focusable so keyboard users can scroll it (WCAG 2.1.1). */}\n <div\n ref={scrollRef}\n className=\"code-block-scroll\"\n style={maxHeight ? {maxHeight, overflowY: 'auto'} : undefined}\n role=\"region\"\n tabIndex={0}\n aria-label={typeof title === 'string' && title.trim() !== '' ? title : texts.label}\n >\n <pre\n className={cn(\n 'code-block-pre',\n lineNumbers && 'with-line-numbers',\n `language-${normalizedLanguage}`\n )}\n >\n {lineNumbers && (\n <span className=\"code-block-line-numbers\" aria-hidden=\"true\">\n {Array.from({length: lineCount}, (_, index) => (\n <span key={index + 1} className=\"code-block-line-number\">\n {index + 1}\n </span>\n ))}\n </span>\n )}\n <span className=\"code-block-code-shell\">\n <code\n className={cn('code-block-code', 'hljs', `language-${normalizedLanguage}`)}\n dangerouslySetInnerHTML={{__html: highlightedCode}}\n />\n </span>\n </pre>\n </div>\n </MCardBody>\n </MCard>\n )\n}\n","import {useEffect, useRef} from 'react'\nimport type {CSSProperties} from 'react'\nimport type {MRevealProps} from './MReveal.types'\nimport {cn} from '../../../utils/cn'\n\nfunction getRevealOffset(direction: MRevealProps['direction'], distance: number) {\n switch (direction) {\n case 'down':\n return {x: 0, y: -distance}\n case 'left':\n return {x: distance, y: 0}\n case 'right':\n return {x: -distance, y: 0}\n case 'none':\n return {x: 0, y: 0}\n case 'up':\n default:\n return {x: 0, y: distance}\n }\n}\n\nexport function MReveal({\n children,\n direction = 'up',\n delay = 0,\n duration = 0.46,\n distance = 20,\n once = true,\n trigger = 'view',\n className,\n style,\n ...rest\n}: MRevealProps) {\n const revealRef = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n const node = revealRef.current\n if (!node) {\n return\n }\n\n const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches\n\n node.classList.remove('revealed')\n\n if (prefersReducedMotion) {\n node.classList.add('revealed')\n return\n }\n\n if (trigger === 'mount') {\n const frame = window.requestAnimationFrame(() => {\n node.classList.add('revealed')\n })\n\n return () => window.cancelAnimationFrame(frame)\n }\n\n const observer = new IntersectionObserver(\n (entries) => {\n for (const entry of entries) {\n if (entry.isIntersecting) {\n node.classList.add('revealed')\n if (once) {\n observer.disconnect()\n }\n } else if (!once) {\n node.classList.remove('revealed')\n }\n }\n },\n {threshold: 0.2}\n )\n\n observer.observe(node)\n\n return () => observer.disconnect()\n }, [delay, direction, distance, duration, once, trigger])\n\n const offset = getRevealOffset(direction, distance)\n const revealStyle = {\n minWidth: 0,\n maxWidth: '100%',\n '--reveal-delay': `${delay}s`,\n '--reveal-duration': `${duration}s`,\n '--reveal-translate-x': `${offset.x}px`,\n '--reveal-translate-y': `${offset.y}px`,\n ...style,\n } as CSSProperties\n\n return (\n <div ref={revealRef} className={cn('reveal', className)} style={revealStyle} {...rest}>\n {children}\n </div>\n )\n}\n","import {useEffect, useMemo, useState} from 'react'\nimport type {MTimeAgoProps, MTimeAgoUpdate} from './MTimeAgo.types'\nimport {cn} from '../../../utils/cn'\nimport {useDocumentLocale} from '../../../utils/locale'\nimport {\n formatAbsoluteTime,\n formatRelativeTime,\n getAutoUpdateInterval,\n parseRelativeThreshold,\n toDate,\n} from '../../../utils/relativeTime'\nimport './MTimeAgo.css'\n\nfunction getUpdateInterval(update: MTimeAgoUpdate, value: Date | string | number, now: number): number | null {\n if (update === 'none') return null\n if (update === 'minute') return 60 * 1000\n if (update === 'hour') return 60 * 60 * 1000\n if (update === 'day') return 24 * 60 * 60 * 1000\n return getAutoUpdateInterval(value, now)\n}\n\nexport function MTimeAgo({\n value,\n locale: localeOverride,\n maxRelative,\n fallbackFormat = 'date',\n titleAbsolute = true,\n update = 'auto',\n className,\n ...rest\n}: MTimeAgoProps) {\n const locale = useDocumentLocale(localeOverride)\n const [now, setNow] = useState(() => Date.now())\n const interval = useMemo(() => getUpdateInterval(update, value, now), [now, update, value])\n\n useEffect(() => {\n if (!interval) return\n\n const id = window.setInterval(() => setNow(Date.now()), interval)\n return () => window.clearInterval(id)\n }, [interval])\n\n const date = useMemo(() => toDate(value), [value])\n const maxRelativeMs = useMemo(() => parseRelativeThreshold(maxRelative), [maxRelative])\n\n const absolute = useMemo(() => formatAbsoluteTime(value, locale, fallbackFormat), [value, locale, fallbackFormat])\n\n const content = useMemo(() => {\n if (!date) return String(value)\n\n const diff = Math.abs(date.getTime() - now)\n if (maxRelativeMs != null && diff > maxRelativeMs) {\n return absolute ?? String(value)\n }\n\n return formatRelativeTime(date, {locale, now}) ?? absolute ?? String(value)\n }, [absolute, date, locale, maxRelativeMs, now, value])\n\n return (\n <time\n className={cn('time ago', className)}\n dateTime={date?.toISOString()}\n title={titleAbsolute ? (absolute ?? undefined) : undefined}\n {...rest}\n >\n {content}\n </time>\n )\n}\n","import {useCallback, useEffect, useId, useRef, useState} from 'react'\nimport type * as React from 'react'\nimport type {MColorPickerProps} from './MColorPicker.types'\nimport {cn} from '../../../utils/cn'\nimport './MColorPicker.css'\nimport {formatMText, useMColorPickerTexts} from '../../../i18n/frameworkTexts'\nimport {getRadioGroupTarget, isRtlElement} from '../../../utils/radioGroupKeys'\n\nfunction hsvToHex(h: number, s: number, v: number): string {\n const f = (n: number) => {\n const k = (n + h / 60) % 6\n return v - v * s * Math.max(0, Math.min(k, 4 - k, 1))\n }\n const r = Math.round(f(5) * 255)\n const g = Math.round(f(3) * 255)\n const b = Math.round(f(1) * 255)\n return `#${[r, g, b].map((c) => c.toString(16).padStart(2, '0')).join('')}`\n}\n\nfunction hexToHsv(hex: string): [number, number, number] {\n const m = hex.replace('#', '').match(/.{2}/g)\n if (!m) return [0, 0, 1]\n const [r, g, b] = m.map((c) => parseInt(c, 16) / 255)\n const max = Math.max(r, g, b)\n const min = Math.min(r, g, b)\n const d = max - min\n let h = 0\n if (d !== 0) {\n if (max === r) h = ((g - b) / d + 6) % 6\n else if (max === g) h = (b - r) / d + 2\n else h = (r - g) / d + 4\n h *= 60\n }\n const s = max === 0 ? 0 : d / max\n return [h, s, max]\n}\n\nfunction hexToRgb(hex: string): string {\n const m = hex.replace('#', '').match(/.{2}/g)\n if (!m) return 'rgb(0, 0, 0)'\n const [r, g, b] = m.map((c) => parseInt(c, 16))\n return `rgb(${r}, ${g}, ${b})`\n}\n\nfunction hexToHsl(hex: string): string {\n const m = hex.replace('#', '').match(/.{2}/g)\n if (!m) return 'hsl(0, 0%, 0%)'\n const [r, g, b] = m.map((c) => parseInt(c, 16) / 255)\n const max = Math.max(r, g, b)\n const min = Math.min(r, g, b)\n const l = (max + min) / 2\n let h = 0\n let s = 0\n if (max !== min) {\n const d = max - min\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min)\n if (max === r) h = ((g - b) / d + 6) % 6\n else if (max === g) h = (b - r) / d + 2\n else h = (r - g) / d + 4\n h *= 60\n }\n return `hsl(${Math.round(h)}, ${Math.round(s * 100)}%, ${Math.round(l * 100)}%)`\n}\n\nfunction formatOutput(hex: string, format: string): string {\n if (format === 'rgb') return hexToRgb(hex)\n if (format === 'hsl') return hexToHsl(hex)\n return hex\n}\n\nfunction toHexByte(value: number): string {\n return Math.round(Math.max(0, Math.min(255, value)))\n .toString(16)\n .padStart(2, '0')\n}\n\nfunction hslToHex(h: number, s: number, l: number): string {\n const hue = ((h % 360) + 360) % 360\n const sat = Math.max(0, Math.min(1, s))\n const light = Math.max(0, Math.min(1, l))\n const a = sat * Math.min(light, 1 - light)\n const f = (n: number) => {\n const k = (n + hue / 30) % 12\n return light - a * Math.max(-1, Math.min(k - 3, 9 - k, 1))\n }\n return `#${toHexByte(f(0) * 255)}${toHexByte(f(8) * 255)}${toHexByte(f(4) * 255)}`\n}\n\n// Parse #rgb, #rrggbb, rgb() and hsl() into #rrggbb; null when the text is not a colour (yet).\nfunction parseColor(value: string): string | null {\n const text = value.trim().toLowerCase()\n if (!text) return null\n\n const hexMatch = text.match(/^#([0-9a-f]{3}|[0-9a-f]{6})$/)\n if (hexMatch) {\n const digits = hexMatch[1]\n return digits.length === 3\n ? `#${digits\n .split('')\n .map((c) => c + c)\n .join('')}`\n : `#${digits}`\n }\n\n const rgbMatch = text.match(/^rgba?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*(?:,\\s*[\\d.]+\\s*)?\\)$/)\n if (rgbMatch) {\n const channels = [rgbMatch[1], rgbMatch[2], rgbMatch[3]].map(Number)\n if (channels.some((c) => c > 255)) return null\n return `#${channels.map(toHexByte).join('')}`\n }\n\n const hslMatch = text.match(/^hsla?\\(\\s*(-?[\\d.]+)(?:deg)?\\s*,\\s*([\\d.]+)%\\s*,\\s*([\\d.]+)%\\s*(?:,\\s*[\\d.]+\\s*)?\\)$/)\n if (hslMatch) {\n const [h, s, l] = [hslMatch[1], hslMatch[2], hslMatch[3]].map(Number)\n if ([h, s, l].some((n) => !Number.isFinite(n)) || s > 100 || l > 100) return null\n return hslToHex(h, s / 100, l / 100)\n }\n\n return null\n}\n\nfunction normalizeToHex(value: string): string {\n return parseColor(value) ?? '#000000'\n}\n\nconst DEFAULT_SWATCHES = [\n '#ef4444',\n '#f97316',\n '#eab308',\n '#22c55e',\n '#06b6d4',\n '#3b82f6',\n '#8b5cf6',\n '#ec4899',\n '#000000',\n '#ffffff',\n]\n\nexport function MColorPicker({\n value,\n onChange,\n swatches = DEFAULT_SWATCHES,\n format = 'hex',\n size = 'md',\n label,\n disabled = false,\n className,\n ...rest\n}: MColorPickerProps) {\n const texts = useMColorPickerTexts()\n const inputId = useId()\n const hex = normalizeToHex(value ?? '#3b82f6')\n const [hsv, setHsv] = useState<[number, number, number]>(() => hexToHsv(hex))\n const [inputValue, setInputValue] = useState(formatOutput(hex, format))\n const areaRef = useRef<HTMLDivElement>(null)\n const hueRef = useRef<HTMLDivElement>(null)\n const swatchRefs = useRef<(HTMLButtonElement | null)[]>([])\n const dragging = useRef<'area' | 'hue' | null>(null)\n // Value this picker last sent through onChange, so its echo does not reset local state.\n const lastEmittedRef = useRef<string | null>(null)\n const formatRef = useRef(format)\n\n useEffect(() => {\n const formatChanged = formatRef.current !== format\n formatRef.current = format\n const newHex = normalizeToHex(value ?? '#3b82f6')\n // Black / greys carry no hue (s = 0 or v = 0): keep the current HSV when it already\n // produces this colour, otherwise the hue snaps back to 0 mid-drag.\n setHsv((prev) => (hsvToHex(prev[0], prev[1], prev[2]) === newHex ? prev : hexToHsv(newHex)))\n if (formatChanged || value !== lastEmittedRef.current) {\n setInputValue(formatOutput(newHex, format))\n }\n }, [value, format])\n\n const emit = useCallback(\n (h: number, s: number, v: number) => {\n const newHex = hsvToHex(h, s, v)\n const output = formatOutput(newHex, format)\n setHsv([h, s, v])\n setInputValue(output)\n lastEmittedRef.current = output\n onChange?.(output)\n },\n [onChange, format]\n )\n\n function handleAreaPointer(e: React.PointerEvent | PointerEvent) {\n const rect = areaRef.current?.getBoundingClientRect()\n if (!rect) return\n const s = Math.max(0, Math.min(1, (e.clientX - rect.left) / rect.width))\n const v = Math.max(0, Math.min(1, 1 - (e.clientY - rect.top) / rect.height))\n emit(hsv[0], s, v)\n }\n\n function handleHuePointer(e: React.PointerEvent | PointerEvent) {\n const rect = hueRef.current?.getBoundingClientRect()\n if (!rect) return\n const h = Math.max(0, Math.min(360, ((e.clientX - rect.left) / rect.width) * 360))\n emit(h, hsv[1], hsv[2])\n }\n\n useEffect(() => {\n function onMove(e: PointerEvent) {\n if (dragging.current === 'area') handleAreaPointer(e)\n else if (dragging.current === 'hue') handleHuePointer(e)\n }\n function onUp() {\n dragging.current = null\n }\n window.addEventListener('pointermove', onMove)\n window.addEventListener('pointerup', onUp)\n return () => {\n window.removeEventListener('pointermove', onMove)\n window.removeEventListener('pointerup', onUp)\n }\n })\n\n function handleInputChange(val: string) {\n setInputValue(val)\n const parsed = parseColor(val)\n // Incomplete text while typing is kept as-is and not emitted.\n if (parsed) {\n const output = formatOutput(parsed, format)\n setHsv((prev) => (hsvToHex(prev[0], prev[1], prev[2]) === parsed ? prev : hexToHsv(parsed)))\n lastEmittedRef.current = output\n onChange?.(output)\n }\n }\n\n const currentHex = hsvToHex(hsv[0], hsv[1], hsv[2])\n\n // Keyboard for the saturation / brightness area (2D slider): Left / Right change saturation,\n // Up / Down brightness, PageUp / PageDown brightness by 10 %, Home / End saturation 0 / 100 %.\n // Shift multiplies the arrow step by 10.\n function handleAreaKeyDown(e: React.KeyboardEvent<HTMLDivElement>) {\n if (disabled) return\n const unit = e.shiftKey ? 0.1 : 0.01\n let s = hsv[1]\n let v = hsv[2]\n switch (e.key) {\n case 'ArrowRight':\n s += unit\n break\n case 'ArrowLeft':\n s -= unit\n break\n case 'ArrowUp':\n v += unit\n break\n case 'ArrowDown':\n v -= unit\n break\n case 'PageUp':\n v += 0.1\n break\n case 'PageDown':\n v -= 0.1\n break\n case 'Home':\n s = 0\n break\n case 'End':\n s = 1\n break\n default:\n return\n }\n e.preventDefault()\n const round = (n: number) => Math.round(Math.max(0, Math.min(1, n)) * 100) / 100\n emit(hsv[0], round(s), round(v))\n }\n\n // APG slider keys for the hue: arrows 1 degree, Shift + arrows / PageUp / PageDown 10, Home / End.\n function handleHueKeyDown(e: React.KeyboardEvent<HTMLDivElement>) {\n if (disabled) return\n const unit = e.shiftKey ? 10 : 1\n let h = Math.round(hsv[0])\n switch (e.key) {\n case 'ArrowRight':\n case 'ArrowUp':\n h += unit\n break\n case 'ArrowLeft':\n case 'ArrowDown':\n h -= unit\n break\n case 'PageUp':\n h += 10\n break\n case 'PageDown':\n h -= 10\n break\n case 'Home':\n h = 0\n break\n case 'End':\n h = 360\n break\n default:\n return\n }\n e.preventDefault()\n emit(Math.max(0, Math.min(360, h)), hsv[1], hsv[2])\n }\n\n const selectedSwatch = swatches.findIndex((swatch) => currentHex.toLowerCase() === swatch.toLowerCase())\n const tabbableSwatch = selectedSwatch >= 0 ? selectedSwatch : 0\n\n function selectSwatch(swatch: string) {\n if (disabled) return\n const [h, s, v] = hexToHsv(swatch)\n emit(h, s, v)\n }\n\n // APG radio group: arrows move focus and select, wrapping; Home / End jump to the ends.\n function handleSwatchesKeyDown(e: React.KeyboardEvent<HTMLDivElement>) {\n if (disabled || e.altKey || e.ctrlKey || e.metaKey) return\n const current = swatchRefs.current.findIndex((el) => el === e.target)\n if (current < 0) return\n const target = getRadioGroupTarget(e.key, current, swatches.length, isRtlElement(e.currentTarget))\n if (target === null) return\n e.preventDefault()\n swatchRefs.current[target]?.focus()\n selectSwatch(swatches[target])\n }\n\n const saturationPercent = Math.round(hsv[1] * 100)\n const brightnessPercent = Math.round(hsv[2] * 100)\n const hueDegrees = Math.round(hsv[0])\n\n return (\n <div className={cn('color-picker', size, disabled && 'disabled', className)} {...rest}>\n {label && (\n <label className=\"label\" htmlFor={inputId}>\n {label}\n </label>\n )}\n\n <div\n ref={areaRef}\n className=\"area\"\n style={{background: `hsl(${hsv[0]}, 100%, 50%)`}}\n role=\"slider\"\n tabIndex={disabled ? -1 : 0}\n aria-label={texts.area}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-valuenow={saturationPercent}\n aria-valuetext={formatMText(texts.areaValue, {\n saturation: saturationPercent,\n brightness: brightnessPercent,\n })}\n aria-disabled={disabled || undefined}\n onKeyDown={handleAreaKeyDown}\n onPointerDown={(e) => {\n if (disabled) return\n // Pointer presses focus the area so the keyboard continues from there.\n e.currentTarget.focus({preventScroll: true})\n dragging.current = 'area'\n handleAreaPointer(e)\n }}\n >\n <div className=\"white\" />\n <div className=\"black\" />\n <div\n className=\"cursor\"\n style={{\n left: `${hsv[1] * 100}%`,\n top: `${(1 - hsv[2]) * 100}%`,\n background: currentHex,\n }}\n />\n </div>\n\n <div\n ref={hueRef}\n className=\"hue\"\n role=\"slider\"\n tabIndex={disabled ? -1 : 0}\n aria-label={texts.hue}\n aria-valuemin={0}\n aria-valuemax={360}\n aria-valuenow={hueDegrees}\n aria-valuetext={formatMText(texts.hueValue, {value: hueDegrees})}\n aria-orientation=\"horizontal\"\n aria-disabled={disabled || undefined}\n onKeyDown={handleHueKeyDown}\n onPointerDown={(e) => {\n if (disabled) return\n e.currentTarget.focus({preventScroll: true})\n dragging.current = 'hue'\n handleHuePointer(e)\n }}\n >\n <div className=\"hue-thumb\" style={{left: `${(hsv[0] / 360) * 100}%`}} />\n </div>\n\n <div className=\"controls\">\n <div className=\"preview\" style={{background: currentHex}} />\n <input\n id={inputId}\n type=\"text\"\n aria-label={label ? undefined : texts.input}\n className=\"input\"\n value={inputValue}\n onChange={(e) => handleInputChange(e.target.value)}\n disabled={disabled}\n />\n </div>\n\n {swatches.length > 0 && (\n <div\n className=\"swatches\"\n role=\"radiogroup\"\n aria-label={texts.swatches}\n aria-disabled={disabled || undefined}\n onKeyDown={handleSwatchesKeyDown}\n >\n {swatches.map((swatch, index) => (\n <button\n key={swatch}\n ref={(el) => {\n swatchRefs.current[index] = el\n }}\n type=\"button\"\n role=\"radio\"\n className={cn('swatch', index === selectedSwatch && 'active')}\n style={{background: swatch}}\n aria-label={formatMText(texts.swatch, {color: swatch})}\n aria-checked={index === selectedSwatch}\n tabIndex={!disabled && index === tabbableSwatch ? 0 : -1}\n onClick={() => selectSwatch(swatch)}\n />\n ))}\n </div>\n )}\n </div>\n )\n}\n","import {isValidElement, cloneElement} from 'react'\nimport type {MEmptyStateProps} from './MEmptyState.types'\nimport {MButton} from '../../controls/MButton'\nimport {cn} from '../../../utils/cn'\nimport './MEmptyState.css'\n\nconst BUTTON_SIZE_MAP = {xs: 'xs', sm: 'sm', md: 'sm', lg: 'md', xl: 'lg'} as const\n\nexport function MEmptyState({\n icon,\n illustration,\n title,\n description,\n buttonText,\n onAction,\n color = 'neutral',\n size = 'md',\n className,\n children,\n ...rest\n}: MEmptyStateProps) {\n return (\n <div className={cn('empty-state', `color-${color}`, size, className)} {...rest}>\n {illustration && (\n <div className=\"empty-state-illustration\">\n {isValidElement(illustration) ? cloneElement(illustration, {color} as any) : illustration}\n </div>\n )}\n {!illustration && icon && <div className=\"empty-state-icon\">{icon}</div>}\n <div className=\"empty-state-content\">\n <div className=\"empty-state-title\">{title}</div>\n {description && <div className=\"empty-state-description\">{description}</div>}\n </div>\n {buttonText && onAction && (\n <div className=\"empty-state-action\">\n <MButton size={BUTTON_SIZE_MAP[size]} variant=\"outlined\" color={color} onClick={onAction}>\n {buttonText}\n </MButton>\n </div>\n )}\n {children}\n </div>\n )\n}\n","import {useCallback, useState} from 'react'\nimport type {CSSProperties, KeyboardEvent, MouseEvent} from 'react'\nimport type {MBlurProps} from './MBlur.types'\nimport {cn} from '../../../utils/cn'\nimport './MBlur.css'\n\n// Obscure inline content with a CSS blur filter until the viewer opts in to reveal it.\nexport function MBlur({\n children,\n amount = 6,\n reveal = 'hover',\n revealed,\n defaultRevealed = false,\n onToggle,\n inline = true,\n className,\n style,\n onClick,\n onKeyDown,\n ...rest\n}: MBlurProps) {\n const controlled = revealed !== undefined\n const [internal, setInternal] = useState(defaultRevealed)\n const isRevealed = controlled ? revealed : internal\n const interactive = reveal !== 'none'\n\n const setRevealed = useCallback(\n (next: boolean) => {\n if (!controlled) {\n setInternal(next)\n }\n onToggle?.(next)\n },\n [controlled, onToggle]\n )\n\n const handleClick = (event: MouseEvent<HTMLSpanElement>) => {\n if (reveal === 'click') {\n setRevealed(!isRevealed)\n }\n onClick?.(event)\n }\n\n const handleKeyDown = (event: KeyboardEvent<HTMLSpanElement>) => {\n if (reveal === 'click' && (event.key === 'Enter' || event.key === ' ')) {\n event.preventDefault()\n setRevealed(!isRevealed)\n }\n onKeyDown?.(event)\n }\n\n const mergedStyle: CSSProperties = {\n ...style,\n ['--mineral-blur-amount' as string]: `${amount}px`,\n }\n\n return (\n <span\n className={cn('blur', inline ? 'inline' : 'block', `reveal-${reveal}`, isRevealed && 'revealed', className)}\n style={mergedStyle}\n tabIndex={interactive && reveal === 'click' ? 0 : undefined}\n role={reveal === 'click' ? 'button' : undefined}\n aria-pressed={reveal === 'click' ? isRevealed : undefined}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n {...rest}\n >\n <span className={'blur-inner'} aria-hidden={!isRevealed}>\n {children}\n </span>\n </span>\n )\n}\n","import {Children, isValidElement, useId} from 'react'\nimport type {MStepperProps, MStepProps} from './MStepper.types'\nimport type {MSize} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {MCheckIcon} from '../../../icons'\nimport './MStepper.css'\nimport {useMStepperTexts} from '../../../i18n/frameworkTexts'\n\nconst CHECK_SIZE: Record<MSize, number> = {xs: 10, sm: 14, md: 18, lg: 22, xl: 28}\n\nexport function MStep(_props: MStepProps) {\n return null\n}\n\nexport function MStepper({\n activeStep,\n variant = 'horizontal',\n color = 'primary',\n size = 'md',\n clickable = false,\n onChange,\n className,\n children,\n ...rest\n}: MStepperProps) {\n const texts = useMStepperTexts()\n const baseId = useId()\n const steps = Children.toArray(children).filter((child) => isValidElement(child) && (child.type as any) === MStep)\n\n return (\n <div className={cn('stepper', variant, `color-${color}`, size, className)} role=\"list\" {...rest}>\n {steps.map((child, index) => {\n if (!isValidElement<MStepProps>(child)) return null\n const {id, title, description, icon, disabled, optional, error} = child.props\n const isActive = index === activeStep\n const isCompleted = index < activeStep\n const isClickable = clickable && !disabled\n\n const handleClick = () => {\n if (isClickable && onChange) {\n onChange(index)\n }\n }\n\n // State is spoken as text, not only shown as a ✓ / ! glyph.\n const stateText = error ? texts.error : isCompleted ? texts.completed : null\n const titleId = `${baseId}-${index}-title`\n const stateId = `${baseId}-${index}-state`\n const indicatorContent = error\n ? '!'\n : isCompleted\n ? (icon ?? <MCheckIcon size={CHECK_SIZE[size]} />)\n : (icon ?? index + 1)\n\n return (\n <div\n key={id}\n className={cn(\n 'stepper-step',\n isActive && 'active',\n isCompleted && 'completed',\n disabled && 'disabled',\n error && 'error',\n isClickable && 'clickable'\n )}\n role=\"listitem\"\n aria-current={isActive ? 'step' : undefined}\n >\n {isClickable ? (\n <button\n type=\"button\"\n className=\"stepper-indicator\"\n onClick={handleClick}\n aria-labelledby={stateText ? `${titleId} ${stateId}` : titleId}\n aria-current={isActive ? 'step' : undefined}\n >\n <span className=\"stepper-indicator-content\" aria-hidden=\"true\">\n {indicatorContent}\n </span>\n </button>\n ) : (\n <div className=\"stepper-indicator\" aria-hidden={error || isCompleted ? true : undefined}>\n {indicatorContent}\n </div>\n )}\n <div className=\"stepper-content\">\n <span id={titleId} className=\"stepper-title\">\n {title}\n </span>\n {stateText && (\n <span id={stateId} className=\"stepper-state\">\n {stateText}\n </span>\n )}\n {description && <span className=\"stepper-description\">{description}</span>}\n {optional && <span className=\"stepper-optional\">{texts.optional}</span>}\n </div>\n </div>\n )\n })}\n </div>\n )\n}\n","import {Children, isValidElement} from 'react'\nimport type {MTimelineProps, MTimelineItemProps} from './MTimeline.types'\nimport {cn} from '../../../utils/cn'\nimport './MTimeline.css'\n\nexport function MTimelineItem(_props: MTimelineItemProps) {\n return null\n}\n\nexport function MTimeline({\n align = 'left',\n color = 'primary',\n size = 'md',\n className,\n children,\n ...rest\n}: MTimelineProps) {\n const items = Children.toArray(children).filter(\n (child) => isValidElement(child) && (child.type as any) === MTimelineItem\n )\n\n return (\n <div className={cn('timeline', `align-${align}`, `color-${color}`, size, className)} {...rest}>\n {items.map((child, index) => {\n if (!isValidElement<MTimelineItemProps>(child)) return null\n const {id, title, description, date, icon, color: itemColor} = child.props\n const side = align === 'alternate' ? (index % 2 === 0 ? 'left' : 'right') : undefined\n\n return (\n <div key={id} className={cn('timeline-item', side && `side-${side}`)}>\n <div className={cn('timeline-dot', itemColor && `color-${itemColor}`)}>{icon}</div>\n <div className=\"timeline-content\">\n <span className=\"timeline-title\">{title}</span>\n {description && <span className=\"timeline-description\">{description}</span>}\n {date && <span className=\"timeline-date\">{date}</span>}\n </div>\n </div>\n )\n })}\n </div>\n )\n}\n"],"mappings":"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"}
|
package/dist/display.cjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
const {ensureStyles}=require('./style-runtime.cjs')
|
|
2
2
|
ensureStyles()
|
|
3
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./display-
|
|
3
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./display-BLMOBofj.cjs`),t=require(`./MDetailList-DkDHLdJ8.cjs`);exports.MAccordion=e.p,exports.MAccordionItem=e.m,exports.MBlur=e.a,exports.MCodeBlock=e.u,exports.MCollapsible=e.h,exports.MColorPicker=e.s,exports.MCountUp=e.d,exports.MDetailList=t.t,exports.MEmptyState=e.o,exports.MProgressBar=e.f,exports.MRating=t.n,exports.MReveal=e.l,exports.MStep=e.r,exports.MStepper=e.i,exports.MTimeAgo=e.c,exports.MTimeline=e.t,exports.MTimelineItem=e.n;
|
package/dist/display.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import {ensureStyles} from './style-runtime.js'
|
|
2
2
|
ensureStyles()
|
|
3
|
-
import { a as e, c as t, d as n, f as r, h as i, i as a, l as o, m as s, n as c, o as l, p as u, r as d, s as f, t as p, u as m } from "./display-
|
|
4
|
-
import { n as h, t as g } from "./MDetailList-
|
|
3
|
+
import { a as e, c as t, d as n, f as r, h as i, i as a, l as o, m as s, n as c, o as l, p as u, r as d, s as f, t as p, u as m } from "./display-Dlb79lkA.js";
|
|
4
|
+
import { n as h, t as g } from "./MDetailList-C3othNs3.js";
|
|
5
5
|
export { u as MAccordion, s as MAccordionItem, e as MBlur, m as MCodeBlock, i as MCollapsible, f as MColorPicker, n as MCountUp, g as MDetailList, l as MEmptyState, r as MProgressBar, h as MRating, o as MReveal, d as MStep, a as MStepper, t as MTimeAgo, p as MTimeline, c as MTimelineItem };
|