@banzamel/mineralui 1.7.1 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{MAvatar-BHASnoyu.js → MAvatar-BcayQCnp.js} +2 -2
- package/dist/{MAvatar-BHASnoyu.js.map → MAvatar-BcayQCnp.js.map} +1 -1
- package/dist/{MAvatar-CV3xJOmx.cjs → MAvatar-BgevCYi3.cjs} +2 -2
- package/dist/{MAvatar-CV3xJOmx.cjs.map → MAvatar-BgevCYi3.cjs.map} +1 -1
- package/dist/MButton-8UCydOik.cjs +2 -0
- package/dist/MButton-8UCydOik.cjs.map +1 -0
- package/dist/{MButton-y9qXhhGt.js → MButton-DZLLrtQb.js} +38 -36
- package/dist/MButton-DZLLrtQb.js.map +1 -0
- package/dist/{MCheckbox-B-nT2OBE.js → MCheckbox-B7SpcD4H.js} +1 -1
- package/dist/{MCheckbox-B-nT2OBE.js.map → MCheckbox-B7SpcD4H.js.map} +1 -1
- package/dist/{MCheckbox-CdDWGVp3.cjs → MCheckbox-Dn3p_9-1.cjs} +2 -2
- package/dist/{MCheckbox-CdDWGVp3.cjs.map → MCheckbox-Dn3p_9-1.cjs.map} +1 -1
- package/dist/{MCookieBootstrap-3-wyz3Dk.cjs → MCookieBootstrap-BUqtJO3m.cjs} +1 -1
- package/dist/{MCookieBootstrap-3-wyz3Dk.cjs.map → MCookieBootstrap-BUqtJO3m.cjs.map} +1 -1
- package/dist/{MCookieBootstrap-CGvYxIK8.js → MCookieBootstrap-Btt49Iuq.js} +1 -1
- package/dist/{MCookieBootstrap-CGvYxIK8.js.map → MCookieBootstrap-Btt49Iuq.js.map} +1 -1
- package/dist/{MDataTable-C3v15no3.cjs → MDataTable-95_Mb6jE.cjs} +2 -2
- package/dist/MDataTable-95_Mb6jE.cjs.map +1 -0
- package/dist/{MDataTable-C_XiTGTF.js → MDataTable-DxDS5auV.js} +5 -5
- package/dist/MDataTable-DxDS5auV.js.map +1 -0
- package/dist/{MDrawer-W2WQs1sM.js → MDrawer-CXNHYwPO.js} +2 -2
- package/dist/{MDrawer-W2WQs1sM.js.map → MDrawer-CXNHYwPO.js.map} +1 -1
- package/dist/{MDrawer-BtA_Xgj0.cjs → MDrawer-DzqtHVeA.cjs} +2 -2
- package/dist/{MDrawer-BtA_Xgj0.cjs.map → MDrawer-DzqtHVeA.cjs.map} +1 -1
- package/dist/{MDropdownMenu-BWgf92rJ.js → MDropdownMenu-CeiC1tz3.js} +1 -1
- package/dist/{MDropdownMenu-BWgf92rJ.js.map → MDropdownMenu-CeiC1tz3.js.map} +1 -1
- package/dist/{MDropdownMenu-mGE19gCi.cjs → MDropdownMenu-c9U3sEcl.cjs} +2 -2
- package/dist/{MDropdownMenu-mGE19gCi.cjs.map → MDropdownMenu-c9U3sEcl.cjs.map} +1 -1
- package/dist/{MGalleryIllustration-D2agVuZM.cjs → MGalleryIllustration-Dglx_Ckc.cjs} +2 -2
- package/dist/{MGalleryIllustration-D2agVuZM.cjs.map → MGalleryIllustration-Dglx_Ckc.cjs.map} +1 -1
- package/dist/MGrid-C4kPZDSa.cjs +2 -0
- package/dist/MGrid-C4kPZDSa.cjs.map +1 -0
- package/dist/MGrid-DR0fHItF.js +182 -0
- package/dist/MGrid-DR0fHItF.js.map +1 -0
- package/dist/{MHeading-BQCe_JhE.cjs → MHeading-CKe5lcM_.cjs} +2 -2
- package/dist/{MHeading-BQCe_JhE.cjs.map → MHeading-CKe5lcM_.cjs.map} +1 -1
- package/dist/{MI18nProvider-CqAwaswx.cjs → MI18nProvider-DOh5xexz.cjs} +2 -2
- package/dist/{MI18nProvider-CqAwaswx.cjs.map → MI18nProvider-DOh5xexz.cjs.map} +1 -1
- package/dist/MImage-BZ6SrSao.cjs +2 -0
- package/dist/MImage-BZ6SrSao.cjs.map +1 -0
- package/dist/{MImage-I0LPhcqF.js → MImage-Btx_7g2Z.js} +5 -6
- package/dist/MImage-Btx_7g2Z.js.map +1 -0
- package/dist/{MInput-CNSvoRiu.js → MInput-7i0Dy1t4.js} +2 -2
- package/dist/{MInput-CNSvoRiu.js.map → MInput-7i0Dy1t4.js.map} +1 -1
- package/dist/{MInput-5-alcVsu.cjs → MInput-D_zaoWwX.cjs} +2 -2
- package/dist/{MInput-5-alcVsu.cjs.map → MInput-D_zaoWwX.cjs.map} +1 -1
- package/dist/MInputExpDate-DWWwjMYK.cjs +2 -0
- package/dist/MInputExpDate-DWWwjMYK.cjs.map +1 -0
- package/dist/{MInputCVC-BgougfgN.js → MInputExpDate-DhO5zN7L.js} +97 -97
- package/dist/MInputExpDate-DhO5zN7L.js.map +1 -0
- package/dist/{MInputSearch-BwR-BPh2.js → MInputSearch-CmzHPnmC.js} +2 -2
- package/dist/{MInputSearch-BwR-BPh2.js.map → MInputSearch-CmzHPnmC.js.map} +1 -1
- package/dist/{MInputSearch-X9yNPuTf.cjs → MInputSearch-DpHSVpmL.cjs} +2 -2
- package/dist/{MInputSearch-X9yNPuTf.cjs.map → MInputSearch-DpHSVpmL.cjs.map} +1 -1
- package/dist/MKbd-DWTS3iS5.cjs +2 -0
- package/dist/MKbd-DWTS3iS5.cjs.map +1 -0
- package/dist/MKbd-v6-tJ9sP.js +14 -0
- package/dist/MKbd-v6-tJ9sP.js.map +1 -0
- package/dist/{MLink-BakLkpKp.cjs → MLink-B3ImjkJV.cjs} +2 -2
- package/dist/{MLink-BakLkpKp.cjs.map → MLink-B3ImjkJV.cjs.map} +1 -1
- package/dist/{MModal-BYuPCSLG.cjs → MModal-CP0e31pv.cjs} +2 -2
- package/dist/{MModal-BYuPCSLG.cjs.map → MModal-CP0e31pv.cjs.map} +1 -1
- package/dist/{MModal-K73juXhN.js → MModal-DGmeQlWo.js} +2 -2
- package/dist/{MModal-K73juXhN.js.map → MModal-DGmeQlWo.js.map} +1 -1
- package/dist/{MPagination-B8BcGks_.cjs → MPagination-CS62B9kZ.cjs} +2 -2
- package/dist/{MPagination-B8BcGks_.cjs.map → MPagination-CS62B9kZ.cjs.map} +1 -1
- package/dist/{MPagination-BdBpF3Px.js → MPagination-Dr110are.js} +2 -2
- package/dist/{MPagination-BdBpF3Px.js.map → MPagination-Dr110are.js.map} +1 -1
- package/dist/{MPopover-DfEiRuM9.cjs → MPopover-CxxaY9kr.cjs} +2 -2
- package/dist/{MPopover-DfEiRuM9.cjs.map → MPopover-CxxaY9kr.cjs.map} +1 -1
- package/dist/{MPortal-CuBXhhl_.cjs → MPortal-BIxPtFYd.cjs} +2 -2
- package/dist/{MPortal-CuBXhhl_.cjs.map → MPortal-BIxPtFYd.cjs.map} +1 -1
- package/dist/{MQrCode-CCtTkkv9.js → MQrCode-6ANDcExA.js} +150 -100
- package/dist/MQrCode-6ANDcExA.js.map +1 -0
- package/dist/MQrCode-B0-Np-N3.cjs +2 -0
- package/dist/MQrCode-B0-Np-N3.cjs.map +1 -0
- package/dist/MSimpleGrid-Bojj4xKH.js +18 -0
- package/dist/MSimpleGrid-Bojj4xKH.js.map +1 -0
- package/dist/MSimpleGrid-CyLf-9R2.cjs +2 -0
- package/dist/MSimpleGrid-CyLf-9R2.cjs.map +1 -0
- package/dist/MSkeleton-BdwhPx-k.cjs +2 -0
- package/dist/MSkeleton-BdwhPx-k.cjs.map +1 -0
- package/dist/MSkeleton-BvXgnYs_.js +136 -0
- package/dist/MSkeleton-BvXgnYs_.js.map +1 -0
- package/dist/{MSlider-5141rKeH.js → MSlider-CqrusKJQ.js} +1 -1
- package/dist/{MSlider-5141rKeH.js.map → MSlider-CqrusKJQ.js.map} +1 -1
- package/dist/{MSlider-fhvfj0ft.cjs → MSlider-qCGmD4UA.cjs} +2 -2
- package/dist/{MSlider-fhvfj0ft.cjs.map → MSlider-qCGmD4UA.cjs.map} +1 -1
- package/dist/MStack-ByFYGSsy.cjs +2 -0
- package/dist/MStack-ByFYGSsy.cjs.map +1 -0
- package/dist/MStack-DFIc3S4_.js +70 -0
- package/dist/MStack-DFIc3S4_.js.map +1 -0
- package/dist/{MSubText-C1unzaCF.cjs → MSubText-1ilKSz8e.cjs} +2 -2
- package/dist/{MSubText-C1unzaCF.cjs.map → MSubText-1ilKSz8e.cjs.map} +1 -1
- package/dist/MSurface-CmVIQC1A.js +43 -0
- package/dist/MSurface-CmVIQC1A.js.map +1 -0
- package/dist/MSurface-CpAuwpHv.cjs +2 -0
- package/dist/MSurface-CpAuwpHv.cjs.map +1 -0
- package/dist/{MTabs-Dg31d-_D.js → MTabs-BQZ--mMq.js} +1 -1
- package/dist/{MTabs-Dg31d-_D.js.map → MTabs-BQZ--mMq.js.map} +1 -1
- package/dist/{MTabs-DuLqttVp.cjs → MTabs-DeUn6bIp.cjs} +2 -2
- package/dist/{MTabs-DuLqttVp.cjs.map → MTabs-DeUn6bIp.cjs.map} +1 -1
- package/dist/{MTag-CH5nMbm7.js → MTag-C4SUJly2.js} +2 -2
- package/dist/{MTag-CH5nMbm7.js.map → MTag-C4SUJly2.js.map} +1 -1
- package/dist/{MTag-CeLhZhqT.cjs → MTag-DwQ-j1sV.cjs} +2 -2
- package/dist/{MTag-CeLhZhqT.cjs.map → MTag-DwQ-j1sV.cjs.map} +1 -1
- package/dist/{MText-BbEkc0Ik.cjs → MText-D0fI_D_Q.cjs} +2 -2
- package/dist/{MText-BbEkc0Ik.cjs.map → MText-D0fI_D_Q.cjs.map} +1 -1
- package/dist/{MTimeAgo-Dd0JQRGj.cjs → MTimeAgo-DI3DF7bD.cjs} +2 -2
- package/dist/{MTimeAgo-Dd0JQRGj.cjs.map → MTimeAgo-DI3DF7bD.cjs.map} +1 -1
- package/dist/{MTimeAgo-C4p80NvI.js → MTimeAgo-Db8gOade.js} +2 -2
- package/dist/{MTimeAgo-C4p80NvI.js.map → MTimeAgo-Db8gOade.js.map} +1 -1
- package/dist/{MToggle-Dt1Ctr5e.js → MToggle-B6emKoKq.js} +1 -1
- package/dist/{MToggle-Dt1Ctr5e.js.map → MToggle-B6emKoKq.js.map} +1 -1
- package/dist/{MToggle-BZSwJw_z.cjs → MToggle-BVJm5Bdk.cjs} +2 -2
- package/dist/{MToggle-BZSwJw_z.cjs.map → MToggle-BVJm5Bdk.cjs.map} +1 -1
- package/dist/{MTooltip-BE0GcseJ.cjs → MTooltip-Dq2vYf3G.cjs} +2 -2
- package/dist/{MTooltip-BE0GcseJ.cjs.map → MTooltip-Dq2vYf3G.cjs.map} +1 -1
- package/dist/{MTooltip-C43aUKMP.js → MTooltip-jSf4VBtB.js} +1 -1
- package/dist/{MTooltip-C43aUKMP.js.map → MTooltip-jSf4VBtB.js.map} +1 -1
- package/dist/MTreeView-AqH8XMPz.js +516 -0
- package/dist/MTreeView-AqH8XMPz.js.map +1 -0
- package/dist/MTreeView-Dp9qbqQh.cjs +2 -0
- package/dist/MTreeView-Dp9qbqQh.cjs.map +1 -0
- package/dist/{arduino-C1gw-z1N.cjs → arduino-Bm509TuR.cjs} +1 -1
- package/dist/{arduino-C1gw-z1N.cjs.map → arduino-Bm509TuR.cjs.map} +1 -1
- package/dist/{arduino-5iMB2x4D.js → arduino-C5s1z3P1.js} +1 -1
- package/dist/{arduino-5iMB2x4D.js.map → arduino-C5s1z3P1.js.map} +1 -1
- package/dist/{bash-wzZkpJC-.cjs → bash-CyBbinAU.cjs} +1 -1
- package/dist/{bash-wzZkpJC-.cjs.map → bash-CyBbinAU.cjs.map} +1 -1
- package/dist/{bash-CNKpaaFe.js → bash-RIFbRcCe.js} +1 -1
- package/dist/{bash-CNKpaaFe.js.map → bash-RIFbRcCe.js.map} +1 -1
- package/dist/{c-BKjXPJPn.js → c-DAywn1DE.js} +1 -1
- package/dist/{c-BKjXPJPn.js.map → c-DAywn1DE.js.map} +1 -1
- package/dist/{c-BSPjDa0P.cjs → c-DGOxo0dj.cjs} +1 -1
- package/dist/{c-BSPjDa0P.cjs.map → c-DGOxo0dj.cjs.map} +1 -1
- package/dist/cards-B9g6Lf1n.cjs +2 -0
- package/dist/cards-B9g6Lf1n.cjs.map +1 -0
- package/dist/cards-D7oHIHmU.js +1535 -0
- package/dist/cards-D7oHIHmU.js.map +1 -0
- package/dist/cards.cjs +1 -1
- package/dist/cards.js +3 -3
- package/dist/components/cards/MCard/MCard.d.ts +1 -1
- package/dist/components/cards/MCard/MCard.types.d.ts +2 -5
- package/dist/components/cards/MCardActionArea/MCardActionArea.d.ts +2 -0
- package/dist/components/cards/MCardActionArea/MCardActionArea.types.d.ts +7 -0
- package/dist/components/cards/MCardActionArea/index.d.ts +2 -0
- package/dist/components/cards/MCardDaySchedule/MCardDaySchedule.d.ts +2 -0
- package/dist/components/cards/MCardDaySchedule/MCardDaySchedule.types.d.ts +41 -0
- package/dist/components/cards/MCardDaySchedule/index.d.ts +2 -0
- package/dist/components/cards/MCardDocumentTree/MCardDocumentTree.d.ts +2 -0
- package/dist/components/cards/MCardDocumentTree/MCardDocumentTree.types.d.ts +31 -0
- package/dist/components/cards/MCardDocumentTree/index.d.ts +2 -0
- package/dist/components/cards/MCardFinance/MCardFinance.d.ts +1 -1
- package/dist/components/cards/MCardFinance/MCardFinance.types.d.ts +2 -1
- package/dist/components/cards/MCardGrid/MCardGrid.d.ts +1 -1
- package/dist/components/cards/MCardGrid/MCardGrid.types.d.ts +2 -0
- package/dist/components/cards/MCardPayment/MCardPayment.d.ts +1 -1
- package/dist/components/cards/MCardPayment/MCardPayment.types.d.ts +2 -1
- package/dist/components/cards/MCardTile/MCardTile.d.ts +1 -1
- package/dist/components/cards/MCardTile/MCardTile.types.d.ts +2 -4
- package/dist/components/cards/MCardWidget/MCardWidget.d.ts +1 -1
- package/dist/components/cards/MCardWidget/MCardWidget.types.d.ts +2 -1
- package/dist/components/cards/MStatCard/MStatCard.d.ts +3 -0
- package/dist/components/cards/MStatCard/MStatCard.types.d.ts +16 -0
- package/dist/components/cards/MStatCard/index.d.ts +2 -0
- package/dist/components/cards/index.d.ts +10 -0
- package/dist/components/cards/shared/MCardAction.types.d.ts +12 -0
- package/dist/components/cards/shared/MCardAction.utils.d.ts +16 -0
- package/dist/components/cards/shared/MCardColor.utils.d.ts +3 -0
- package/dist/components/cards/shared/index.d.ts +3 -0
- package/dist/components/controls/MButton/MButton.types.d.ts +2 -0
- package/dist/components/controls/MQuickActions/MQuickActions.d.ts +2 -0
- package/dist/components/controls/MQuickActions/MQuickActions.types.d.ts +33 -0
- package/dist/components/controls/MQuickActions/index.d.ts +2 -0
- package/dist/components/controls/index.d.ts +2 -0
- package/dist/components/data/MTreeView/MTreeView.d.ts +1 -1
- package/dist/components/data/MTreeView/MTreeView.types.d.ts +2 -0
- package/dist/components/display/MDetailList/MDetailList.d.ts +2 -0
- package/dist/components/display/MDetailList/MDetailList.types.d.ts +20 -0
- package/dist/components/display/MDetailList/index.d.ts +2 -0
- package/dist/components/display/index.d.ts +2 -0
- package/dist/components/layout/MAppMenu/MAppMenu.d.ts +2 -0
- package/dist/components/layout/MAppMenu/MAppMenu.types.d.ts +63 -0
- package/dist/components/layout/MAppMenu/index.d.ts +2 -0
- package/dist/components/layout/MInline/MInline.d.ts +1 -1
- package/dist/components/layout/MInline/MInline.types.d.ts +1 -1
- package/dist/components/layout/MSidebar/MSidebar.d.ts +1 -1
- package/dist/components/layout/MSidebar/MSidebar.types.d.ts +7 -0
- package/dist/components/layout/MStatGrid/MStatGrid.d.ts +2 -0
- package/dist/components/layout/MStatGrid/MStatGrid.types.d.ts +9 -0
- package/dist/components/layout/MStatGrid/index.d.ts +2 -0
- package/dist/components/layout/MSurface/MSurface.d.ts +1 -1
- package/dist/components/layout/MSurface/MSurface.types.d.ts +6 -1
- package/dist/components/layout/index.d.ts +6 -0
- package/dist/components/media/MGallery/MGallery.types.d.ts +5 -0
- package/dist/components/overlays/MCommandPalette/MCommandPalette.d.ts +2 -0
- package/dist/components/overlays/MCommandPalette/MCommandPalette.types.d.ts +35 -0
- package/dist/components/overlays/MCommandPalette/index.d.ts +2 -0
- package/dist/components/overlays/index.d.ts +2 -0
- package/dist/components/typography/MHeading/MHeading.d.ts +3 -3
- package/dist/{controls-DCtMOoQe.js → controls-BczTk73I.js} +141 -100
- package/dist/controls-BczTk73I.js.map +1 -0
- package/dist/controls-BfV0vxeJ.cjs +2 -0
- package/dist/controls-BfV0vxeJ.cjs.map +1 -0
- package/dist/controls.cjs +1 -1
- package/dist/controls.js +6 -6
- package/dist/cookie-consent-bootstrap.cjs +1 -1
- package/dist/cookie-consent-bootstrap.js +1 -1
- package/dist/{core-B8VC-Umz.js → core-BUYr52VU.js} +1 -1
- package/dist/{core-B8VC-Umz.js.map → core-BUYr52VU.js.map} +1 -1
- package/dist/{core-w629c4ND.cjs → core-DAox0BHy.cjs} +1 -1
- package/dist/{core-w629c4ND.cjs.map → core-DAox0BHy.cjs.map} +1 -1
- package/dist/{cpp-LIcuHkFj.cjs → cpp-D-FtdQo9.cjs} +1 -1
- package/dist/{cpp-LIcuHkFj.cjs.map → cpp-D-FtdQo9.cjs.map} +1 -1
- package/dist/{cpp-bNWmO1Au.js → cpp-Y9cHXDal.js} +1 -1
- package/dist/{cpp-bNWmO1Au.js.map → cpp-Y9cHXDal.js.map} +1 -1
- package/dist/{css-h_5aJA6y.js → css-C__ffGj6.js} +1 -1
- package/dist/{css-h_5aJA6y.js.map → css-C__ffGj6.js.map} +1 -1
- package/dist/{css-D6fGBtGV.cjs → css-DCYZ-Rs6.cjs} +1 -1
- package/dist/{css-D6fGBtGV.cjs.map → css-DCYZ-Rs6.cjs.map} +1 -1
- package/dist/data-7kG1MC1Z.cjs +2 -0
- package/dist/data-7kG1MC1Z.cjs.map +1 -0
- package/dist/{data-DT1ncDx_.js → data-z3e8XTSt.js} +762 -1067
- package/dist/data-z3e8XTSt.js.map +1 -0
- package/dist/data.cjs +1 -1
- package/dist/data.js +4 -4
- package/dist/display-Cw3-bTsm.cjs +3 -0
- package/dist/{display-BxVd6MMK.cjs.map → display-Cw3-bTsm.cjs.map} +1 -1
- package/dist/{display-CtVfcztO.js → display-DyC7084n.js} +34 -36
- package/dist/{display-CtVfcztO.js.map → display-DyC7084n.js.map} +1 -1
- package/dist/display.cjs +1 -1
- package/dist/display.js +4 -4
- package/dist/{dropdowns-BgpcQ9Hq.cjs → dropdowns-6eO0b6eI.cjs} +2 -2
- package/dist/{dropdowns-BgpcQ9Hq.cjs.map → dropdowns-6eO0b6eI.cjs.map} +1 -1
- package/dist/{dropdowns-C58ur0qF.js → dropdowns-zXgrjNXZ.js} +7 -7
- package/dist/{dropdowns-C58ur0qF.js.map → dropdowns-zXgrjNXZ.js.map} +1 -1
- package/dist/dropdowns.cjs +1 -1
- package/dist/dropdowns.js +1 -1
- package/dist/feedback-BvRmoSzV.cjs +2 -0
- package/dist/{feedback-BJiO6j28.cjs.map → feedback-BvRmoSzV.cjs.map} +1 -1
- package/dist/{feedback-q3oO-E_X.js → feedback-DfBjzJAw.js} +299 -300
- package/dist/{feedback-q3oO-E_X.js.map → feedback-DfBjzJAw.js.map} +1 -1
- package/dist/feedback.cjs +1 -1
- package/dist/feedback.js +6 -7
- package/dist/{form-DIOkVhd9.js → form-BiPQ8SRK.js} +1 -1
- package/dist/{form-DIOkVhd9.js.map → form-BiPQ8SRK.js.map} +1 -1
- package/dist/{form-D7OKrCBM.cjs → form-DlXWN2ul.cjs} +2 -2
- package/dist/{form-D7OKrCBM.cjs.map → form-DlXWN2ul.cjs.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{frameworkTexts-CJHzJHsg.cjs → frameworkTexts-BLJcGUXz.cjs} +2 -2
- package/dist/{frameworkTexts-CJHzJHsg.cjs.map → frameworkTexts-BLJcGUXz.cjs.map} +1 -1
- package/dist/{frameworkTexts-Bzd6bn9s.js → frameworkTexts-BTFyhWFD.js} +1 -1
- package/dist/{frameworkTexts-Bzd6bn9s.js.map → frameworkTexts-BTFyhWFD.js.map} +1 -1
- package/dist/i18n.cjs +1 -1
- package/dist/{icons-lUQfZ4Jr.cjs → icons-qCoE70hn.cjs} +2 -2
- package/dist/{icons-lUQfZ4Jr.cjs.map → icons-qCoE70hn.cjs.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/illustrations.cjs +1 -1
- package/dist/index.cjs +2 -1
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +90 -56
- package/dist/index.js.map +1 -0
- package/dist/{inputs-DOO1tKK9.cjs → inputs-C1I1SLZ8.cjs} +2 -2
- package/dist/{inputs-DOO1tKK9.cjs.map → inputs-C1I1SLZ8.cjs.map} +1 -1
- package/dist/{inputs-Dwjwa_SJ.js → inputs-Dy1WurNK.js} +16 -7
- package/dist/{inputs-Dwjwa_SJ.js.map → inputs-Dy1WurNK.js.map} +1 -1
- package/dist/inputs.cjs +1 -1
- package/dist/inputs.js +5 -5
- package/dist/{javascript-BnTECToz.js → javascript-ClV78Svx.js} +1 -1
- package/dist/{javascript-BnTECToz.js.map → javascript-ClV78Svx.js.map} +1 -1
- package/dist/{javascript-Oy5hkezl.cjs → javascript-_Sr9cnsG.cjs} +1 -1
- package/dist/{javascript-Oy5hkezl.cjs.map → javascript-_Sr9cnsG.cjs.map} +1 -1
- package/dist/{json-BP8eqPWc.cjs → json-BFetU4Pi.cjs} +1 -1
- package/dist/{json-BP8eqPWc.cjs.map → json-BFetU4Pi.cjs.map} +1 -1
- package/dist/{json-Ci-bDynf.js → json-Dz6EkGZR.js} +1 -1
- package/dist/{json-Ci-bDynf.js.map → json-Dz6EkGZR.js.map} +1 -1
- package/dist/layout-D1-mF4xn.js +772 -0
- package/dist/layout-D1-mF4xn.js.map +1 -0
- package/dist/layout-Op6GWQ8w.cjs +2 -0
- package/dist/layout-Op6GWQ8w.cjs.map +1 -0
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +8 -7
- package/dist/licensing-DmF0ObpG.cjs +2 -0
- package/dist/licensing-DmF0ObpG.cjs.map +1 -0
- package/dist/{licensing-CwzqhHH9.js → licensing-ZFCUU4Z8.js} +5 -1
- package/dist/licensing-ZFCUU4Z8.js.map +1 -0
- package/dist/{locale-Ba2yreFR.cjs → locale-Bz2JXxDZ.cjs} +2 -2
- package/dist/{locale-Ba2yreFR.cjs.map → locale-Bz2JXxDZ.cjs.map} +1 -1
- package/dist/{locale-JX_gX03k.js → locale-CS1-IY_I.js} +1 -1
- package/dist/{locale-JX_gX03k.js.map → locale-CS1-IY_I.js.map} +1 -1
- package/dist/media-DbToUupt.cjs +2 -0
- package/dist/media-DbToUupt.cjs.map +1 -0
- package/dist/{media-DdshnqJ1.js → media-DdChr0Cw.js} +7 -7
- package/dist/media-DdChr0Cw.js.map +1 -0
- package/dist/media.cjs +1 -1
- package/dist/media.js +3 -3
- package/dist/overlays-B0khU6Wb.js +392 -0
- package/dist/overlays-B0khU6Wb.js.map +1 -0
- package/dist/overlays-VAh5PqAe.cjs +2 -0
- package/dist/overlays-VAh5PqAe.cjs.map +1 -0
- package/dist/overlays.cjs +1 -1
- package/dist/overlays.js +6 -6
- package/dist/{php-DJ5j7KZU.js → php-5Erp5xxI.js} +1 -1
- package/dist/{php-DJ5j7KZU.js.map → php-5Erp5xxI.js.map} +1 -1
- package/dist/{php-Cwjc-ZYq.cjs → php-jOdR0XS8.cjs} +1 -1
- package/dist/{php-Cwjc-ZYq.cjs.map → php-jOdR0XS8.cjs.map} +1 -1
- package/dist/primitives.cjs +1 -1
- package/dist/style-runtime.cjs +1 -1
- package/dist/style-runtime.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/{theme-Bb_NAEiZ.cjs → theme-BaroO-OB.cjs} +2 -2
- package/dist/{theme-Bb_NAEiZ.cjs.map → theme-BaroO-OB.cjs.map} +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/{typescript-QKlfKtex.cjs → typescript-C65sNL5w.cjs} +1 -1
- package/dist/{typescript-QKlfKtex.cjs.map → typescript-C65sNL5w.cjs.map} +1 -1
- package/dist/{typescript-DUexJ4gh.js → typescript-wdQKWfxO.js} +1 -1
- package/dist/{typescript-DUexJ4gh.js.map → typescript-wdQKWfxO.js.map} +1 -1
- package/dist/{typography-BSBsn0f8.js → typography-CldwDFse.js} +2 -11
- package/dist/typography-CldwDFse.js.map +1 -0
- package/dist/typography-D7COsP1O.cjs +2 -0
- package/dist/typography-D7COsP1O.cjs.map +1 -0
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +4 -3
- package/dist/{useGhostText-mibV4s1-.cjs → useGhostText-Dg4P606B.cjs} +2 -2
- package/dist/{useGhostText-mibV4s1-.cjs.map → useGhostText-Dg4P606B.cjs.map} +1 -1
- package/dist/{useInteractionEffect-CtXlbjhC.cjs → useInteractionEffect-Bo8285cg.cjs} +2 -2
- package/dist/{useInteractionEffect-CtXlbjhC.cjs.map → useInteractionEffect-Bo8285cg.cjs.map} +1 -1
- package/dist/{useKeyboardNav-CCUoRMgm.cjs → useKeyboardNav-CyeQtqF8.cjs} +2 -2
- package/dist/{useKeyboardNav-CCUoRMgm.cjs.map → useKeyboardNav-CyeQtqF8.cjs.map} +1 -1
- package/dist/utils/commandPaletteFromAppMenu.d.ts +42 -0
- package/dist/utils/licensing.d.ts +4 -0
- package/dist/utils.cjs +1 -1
- package/dist/utils.js +1 -1
- package/dist/{xml-DEtyywwU.cjs → xml-B2okahIr.cjs} +1 -1
- package/dist/{xml-DEtyywwU.cjs.map → xml-B2okahIr.cjs.map} +1 -1
- package/dist/{xml-DlZghN7m.js → xml-a3b-XevT.js} +1 -1
- package/dist/{xml-DlZghN7m.js.map → xml-a3b-XevT.js.map} +1 -1
- package/package.json +1 -1
- package/dist/MBadge-BoxsfX_h.cjs +0 -2
- package/dist/MBadge-BoxsfX_h.cjs.map +0 -1
- package/dist/MBadge-_BggwkrM.js +0 -19
- package/dist/MBadge-_BggwkrM.js.map +0 -1
- package/dist/MButton-B9k45kH-.cjs +0 -2
- package/dist/MButton-B9k45kH-.cjs.map +0 -1
- package/dist/MButton-y9qXhhGt.js.map +0 -1
- package/dist/MDataTable-C3v15no3.cjs.map +0 -1
- package/dist/MDataTable-C_XiTGTF.js.map +0 -1
- package/dist/MImage-I0LPhcqF.js.map +0 -1
- package/dist/MImage-hnSqIPaC.cjs +0 -2
- package/dist/MImage-hnSqIPaC.cjs.map +0 -1
- package/dist/MInline-CoMhfX5V.js +0 -39
- package/dist/MInline-CoMhfX5V.js.map +0 -1
- package/dist/MInline-FEXWkr71.cjs +0 -2
- package/dist/MInline-FEXWkr71.cjs.map +0 -1
- package/dist/MInputCVC-BgougfgN.js.map +0 -1
- package/dist/MInputCVC-CRWp1fYi.cjs +0 -2
- package/dist/MInputCVC-CRWp1fYi.cjs.map +0 -1
- package/dist/MQrCode-BXXTLtBP.cjs +0 -2
- package/dist/MQrCode-BXXTLtBP.cjs.map +0 -1
- package/dist/MQrCode-CCtTkkv9.js.map +0 -1
- package/dist/MSkeleton-BP7H_lsX.js +0 -98
- package/dist/MSkeleton-BP7H_lsX.js.map +0 -1
- package/dist/MSkeleton-QO2sI-Ni.cjs +0 -2
- package/dist/MSkeleton-QO2sI-Ni.cjs.map +0 -1
- package/dist/MSparkline-CcM1n7Kh.cjs +0 -2
- package/dist/MSparkline-CcM1n7Kh.cjs.map +0 -1
- package/dist/MSparkline-voNWOLNz.js +0 -207
- package/dist/MSparkline-voNWOLNz.js.map +0 -1
- package/dist/MStack-CSaEbepM.js +0 -39
- package/dist/MStack-CSaEbepM.js.map +0 -1
- package/dist/MStack-Dy8Zl6FW.cjs +0 -2
- package/dist/MStack-Dy8Zl6FW.cjs.map +0 -1
- package/dist/MSurface-f_3vN0sd.js +0 -39
- package/dist/MSurface-f_3vN0sd.js.map +0 -1
- package/dist/MSurface-wVqTsi1m.cjs +0 -2
- package/dist/MSurface-wVqTsi1m.cjs.map +0 -1
- package/dist/cards-BYX8bM2l.js +0 -1163
- package/dist/cards-BYX8bM2l.js.map +0 -1
- package/dist/cards-lCx9oEVk.cjs +0 -2
- package/dist/cards-lCx9oEVk.cjs.map +0 -1
- package/dist/controls-CZCxbJgq.cjs +0 -2
- package/dist/controls-CZCxbJgq.cjs.map +0 -1
- package/dist/controls-DCtMOoQe.js.map +0 -1
- package/dist/data-CcS-eYye.cjs +0 -2
- package/dist/data-CcS-eYye.cjs.map +0 -1
- package/dist/data-DT1ncDx_.js.map +0 -1
- package/dist/display-BxVd6MMK.cjs +0 -3
- package/dist/feedback-BJiO6j28.cjs +0 -2
- package/dist/layout-B3S9bvaP.cjs +0 -2
- package/dist/layout-B3S9bvaP.cjs.map +0 -1
- package/dist/layout-BqDbW0Qn.js +0 -854
- package/dist/layout-BqDbW0Qn.js.map +0 -1
- package/dist/licensing-CwzqhHH9.js.map +0 -1
- package/dist/licensing-Df1Z1rnQ.cjs +0 -2
- package/dist/licensing-Df1Z1rnQ.cjs.map +0 -1
- package/dist/media-C5atCcc6.cjs +0 -2
- package/dist/media-C5atCcc6.cjs.map +0 -1
- package/dist/media-DdshnqJ1.js.map +0 -1
- package/dist/overlays-BC_6IATL.cjs +0 -2
- package/dist/overlays-BC_6IATL.cjs.map +0 -1
- package/dist/overlays-zUoV_Jy7.js +0 -186
- package/dist/overlays-zUoV_Jy7.js.map +0 -1
- package/dist/typography-BSBsn0f8.js.map +0 -1
- package/dist/typography-CRKIyR-B.cjs +0 -2
- package/dist/typography-CRKIyR-B.cjs.map +0 -1
|
@@ -1,41 +1,91 @@
|
|
|
1
1
|
import { ai as e, di as t, oi as n, ui as r } from "./icons-CfpYxnfg.js";
|
|
2
2
|
import { t as i } from "./cn-YER3QsV1.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { n as a, t as o } from "./MStack-DFIc3S4_.js";
|
|
4
|
+
import { t as s } from "./MText-DcB1GAt-.js";
|
|
5
|
+
import { t as c } from "./MLink-rFKN1mcM.js";
|
|
6
|
+
import { t as l } from "./MButton-DZLLrtQb.js";
|
|
7
|
+
import { useState as u } from "react";
|
|
8
|
+
import { jsx as d, jsxs as f } from "react/jsx-runtime";
|
|
6
9
|
//#region src/components/display/MRating/MRating.tsx
|
|
7
|
-
function
|
|
8
|
-
let [p, m] =
|
|
9
|
-
|
|
10
|
+
function p({ value: t = 0, max: r = 5, color: a = "warning", size: o = "md", readOnly: s = !1, onChange: c, className: l, ...f }) {
|
|
11
|
+
let [p, m] = u(null), h = p ?? t, g = (e) => {
|
|
12
|
+
s || c?.(e);
|
|
10
13
|
};
|
|
11
|
-
return /* @__PURE__ */
|
|
12
|
-
className: i("rating", `color-${a}`,
|
|
14
|
+
return /* @__PURE__ */ d("div", {
|
|
15
|
+
className: i("rating", `color-${a}`, o, s && "read-only", l),
|
|
13
16
|
role: "radiogroup",
|
|
14
17
|
"aria-label": "MRating",
|
|
15
18
|
onMouseLeave: () => m(null),
|
|
16
19
|
...f,
|
|
17
20
|
children: Array.from({ length: r }, (t, r) => {
|
|
18
21
|
let i = r + 1, a = h >= i;
|
|
19
|
-
return /* @__PURE__ */
|
|
22
|
+
return /* @__PURE__ */ d("button", {
|
|
20
23
|
type: "button",
|
|
21
24
|
className: "rating-star",
|
|
22
25
|
onClick: () => g(i),
|
|
23
|
-
onMouseEnter: () => !
|
|
26
|
+
onMouseEnter: () => !s && m(i),
|
|
24
27
|
"aria-label": `${i} star${i > 1 ? "s" : ""}`,
|
|
25
|
-
tabIndex:
|
|
26
|
-
disabled:
|
|
27
|
-
children: /* @__PURE__ */
|
|
28
|
+
tabIndex: s ? -1 : 0,
|
|
29
|
+
disabled: s,
|
|
30
|
+
children: /* @__PURE__ */ d("span", {
|
|
28
31
|
className: "star-icon",
|
|
29
32
|
"aria-hidden": "true",
|
|
30
|
-
children:
|
|
33
|
+
children: d(a ? e : n, {})
|
|
31
34
|
})
|
|
32
35
|
}, r);
|
|
33
36
|
})
|
|
34
37
|
});
|
|
35
38
|
}
|
|
36
39
|
//#endregion
|
|
40
|
+
//#region src/components/display/MDetailList/MDetailList.tsx
|
|
41
|
+
function m({ items: e, size: t = "md", bordered: n = !0, emptyState: r = null, className: l, ...u }) {
|
|
42
|
+
return e.length ? /* @__PURE__ */ d("div", {
|
|
43
|
+
className: i("detail-list", `size-${t}`, n && "bordered", l),
|
|
44
|
+
...u,
|
|
45
|
+
children: e.map((e) => {
|
|
46
|
+
let t = e.key ?? e.label?.toString(), n = e.component || e.to || e.href ? /* @__PURE__ */ d(c, {
|
|
47
|
+
component: e.component,
|
|
48
|
+
to: e.to,
|
|
49
|
+
href: e.href,
|
|
50
|
+
target: e.target,
|
|
51
|
+
rel: e.rel,
|
|
52
|
+
children: e.value
|
|
53
|
+
}) : e.value;
|
|
54
|
+
return /* @__PURE__ */ d("div", {
|
|
55
|
+
className: "detail-list-item",
|
|
56
|
+
children: /* @__PURE__ */ f(a, {
|
|
57
|
+
justify: "between",
|
|
58
|
+
align: "start",
|
|
59
|
+
children: [/* @__PURE__ */ f(o, { children: [
|
|
60
|
+
/* @__PURE__ */ d(s, {
|
|
61
|
+
size: "sm",
|
|
62
|
+
tone: "muted",
|
|
63
|
+
children: e.label
|
|
64
|
+
}),
|
|
65
|
+
n && /* @__PURE__ */ d("div", {
|
|
66
|
+
className: "detail-list-value",
|
|
67
|
+
children: n
|
|
68
|
+
}),
|
|
69
|
+
e.helperText && /* @__PURE__ */ d(s, {
|
|
70
|
+
size: "sm",
|
|
71
|
+
tone: "muted",
|
|
72
|
+
children: e.helperText
|
|
73
|
+
})
|
|
74
|
+
] }), e.status && /* @__PURE__ */ d("div", {
|
|
75
|
+
className: "detail-list-status",
|
|
76
|
+
children: e.status
|
|
77
|
+
})]
|
|
78
|
+
})
|
|
79
|
+
}, t);
|
|
80
|
+
})
|
|
81
|
+
}) : r ? /* @__PURE__ */ d("div", {
|
|
82
|
+
className: i("detail-list", l),
|
|
83
|
+
children: r
|
|
84
|
+
}) : null;
|
|
85
|
+
}
|
|
86
|
+
//#endregion
|
|
37
87
|
//#region src/components/display/MQrCode/MQrCode.tsx
|
|
38
|
-
var
|
|
88
|
+
var h = [
|
|
39
89
|
{
|
|
40
90
|
version: 1,
|
|
41
91
|
size: 21,
|
|
@@ -76,7 +126,7 @@ var u = [
|
|
|
76
126
|
byteLimit: 106,
|
|
77
127
|
align: [6, 30]
|
|
78
128
|
}
|
|
79
|
-
],
|
|
129
|
+
], g = [
|
|
80
130
|
"111011111000100",
|
|
81
131
|
"111001011110011",
|
|
82
132
|
"111110110101010",
|
|
@@ -85,40 +135,40 @@ var u = [
|
|
|
85
135
|
"110001100011000",
|
|
86
136
|
"110110001000001",
|
|
87
137
|
"110100101110110"
|
|
88
|
-
],
|
|
89
|
-
function
|
|
90
|
-
if (
|
|
138
|
+
], _ = Array(512).fill(0), v = Array(256).fill(0), y = new TextEncoder(), b = !1;
|
|
139
|
+
function x() {
|
|
140
|
+
if (b) return;
|
|
91
141
|
let e = 1;
|
|
92
|
-
for (let t = 0; t < 255; t += 1)
|
|
93
|
-
for (let e = 255; e < 512; e += 1)
|
|
94
|
-
|
|
142
|
+
for (let t = 0; t < 255; t += 1) _[t] = e, v[e] = t, e <<= 1, e & 256 && (e ^= 285);
|
|
143
|
+
for (let e = 255; e < 512; e += 1) _[e] = _[e - 255];
|
|
144
|
+
b = !0;
|
|
95
145
|
}
|
|
96
|
-
function
|
|
97
|
-
return !e || !t ? 0 : (
|
|
146
|
+
function S(e, t) {
|
|
147
|
+
return !e || !t ? 0 : (x(), _[v[e] + v[t]]);
|
|
98
148
|
}
|
|
99
|
-
function
|
|
149
|
+
function C(e, t) {
|
|
100
150
|
let n = Array(e.length + t.length - 1).fill(0);
|
|
101
|
-
for (let r = 0; r < e.length; r += 1) for (let i = 0; i < t.length; i += 1) n[r + i] ^=
|
|
151
|
+
for (let r = 0; r < e.length; r += 1) for (let i = 0; i < t.length; i += 1) n[r + i] ^= S(e[r], t[i]);
|
|
102
152
|
return n;
|
|
103
153
|
}
|
|
104
|
-
function
|
|
105
|
-
|
|
154
|
+
function w(e) {
|
|
155
|
+
x();
|
|
106
156
|
let t = [1];
|
|
107
|
-
for (let n = 0; n < e; n += 1) t =
|
|
157
|
+
for (let n = 0; n < e; n += 1) t = C(t, [1, _[n]]);
|
|
108
158
|
return t;
|
|
109
159
|
}
|
|
110
|
-
function
|
|
111
|
-
let n =
|
|
160
|
+
function T(e, t) {
|
|
161
|
+
let n = w(t), r = [...e, ...Array(t).fill(0)];
|
|
112
162
|
for (let t = 0; t < e.length; t += 1) {
|
|
113
163
|
let e = r[t];
|
|
114
|
-
if (e) for (let i = 0; i < n.length; i += 1) r[t + i] ^=
|
|
164
|
+
if (e) for (let i = 0; i < n.length; i += 1) r[t + i] ^= S(n[i], e);
|
|
115
165
|
}
|
|
116
166
|
return r.slice(-t);
|
|
117
167
|
}
|
|
118
|
-
function
|
|
168
|
+
function E(e, t, n) {
|
|
119
169
|
for (let r = n - 1; r >= 0; --r) e.push(t >> r & 1);
|
|
120
170
|
}
|
|
121
|
-
function
|
|
171
|
+
function D(e) {
|
|
122
172
|
let t = [];
|
|
123
173
|
for (let n = 0; n < e.length; n += 8) {
|
|
124
174
|
let r = 0;
|
|
@@ -127,36 +177,36 @@ function S(e) {
|
|
|
127
177
|
}
|
|
128
178
|
return t;
|
|
129
179
|
}
|
|
130
|
-
function
|
|
131
|
-
return
|
|
180
|
+
function O(e) {
|
|
181
|
+
return h.find((t) => e <= t.byteLimit) ?? null;
|
|
132
182
|
}
|
|
133
|
-
function
|
|
134
|
-
let n = Array.from(
|
|
135
|
-
for (
|
|
183
|
+
function k(e, t) {
|
|
184
|
+
let n = Array.from(y.encode(e)), r = [], i = t.dataWords * 8;
|
|
185
|
+
for (E(r, 4, 4), E(r, n.length, 8), n.forEach((e) => E(r, e, 8)), E(r, 0, Math.min(4, i - r.length)); r.length % 8 != 0;) r.push(0);
|
|
136
186
|
let a = [236, 17];
|
|
137
|
-
for (let e = 0; r.length < i; e += 1)
|
|
138
|
-
let o =
|
|
139
|
-
return [...o, ...
|
|
187
|
+
for (let e = 0; r.length < i; e += 1) E(r, a[e % 2], 8);
|
|
188
|
+
let o = D(r);
|
|
189
|
+
return [...o, ...T(o, t.ecWords)];
|
|
140
190
|
}
|
|
141
|
-
function
|
|
191
|
+
function A(e) {
|
|
142
192
|
return Array.from({ length: e }, () => Array(e).fill(null));
|
|
143
193
|
}
|
|
144
|
-
function
|
|
194
|
+
function j(e, t, n, r, i) {
|
|
145
195
|
n < 0 || r < 0 || n >= e.length || r >= e.length || (e[n][r] = i, t[n][r] = !0);
|
|
146
196
|
}
|
|
147
|
-
function
|
|
197
|
+
function M(e, t, n, r) {
|
|
148
198
|
for (let i = -1; i <= 7; i += 1) for (let a = -1; a <= 7; a += 1) {
|
|
149
199
|
let o = i === -1 || i === 7 || a === -1 || a === 7, s = i === 0 || i === 6 || a === 0 || a === 6, c = i >= 2 && i <= 4 && a >= 2 && a <= 4;
|
|
150
|
-
|
|
200
|
+
j(e, t, n + i, r + a, !o && (s || c));
|
|
151
201
|
}
|
|
152
202
|
}
|
|
153
|
-
function
|
|
203
|
+
function N(e, t, n, r) {
|
|
154
204
|
if (!t[n][r]) for (let i = -2; i <= 2; i += 1) for (let a = -2; a <= 2; a += 1) {
|
|
155
205
|
let o = Math.max(Math.abs(i), Math.abs(a)) === 2, s = i === 0 && a === 0;
|
|
156
|
-
|
|
206
|
+
j(e, t, n + i, r + a, o || s);
|
|
157
207
|
}
|
|
158
208
|
}
|
|
159
|
-
function
|
|
209
|
+
function P(e) {
|
|
160
210
|
let t = e.length, n = [
|
|
161
211
|
[8, 0],
|
|
162
212
|
[8, 1],
|
|
@@ -194,22 +244,22 @@ function k(e) {
|
|
|
194
244
|
e[t][n] = !0;
|
|
195
245
|
});
|
|
196
246
|
}
|
|
197
|
-
function
|
|
198
|
-
let t =
|
|
199
|
-
|
|
200
|
-
for (let r = 8; r < e.size - 8; r += 1)
|
|
247
|
+
function F(e) {
|
|
248
|
+
let t = A(e.size), n = Array.from({ length: e.size }, () => Array(e.size).fill(!1));
|
|
249
|
+
M(t, n, 0, 0), M(t, n, 0, e.size - 7), M(t, n, e.size - 7, 0);
|
|
250
|
+
for (let r = 8; r < e.size - 8; r += 1) j(t, n, 6, r, r % 2 == 0), j(t, n, r, 6, r % 2 == 0);
|
|
201
251
|
return e.align.forEach((r) => {
|
|
202
252
|
e.align.forEach((e) => {
|
|
203
|
-
|
|
253
|
+
N(t, n, r, e);
|
|
204
254
|
});
|
|
205
|
-
}),
|
|
255
|
+
}), P(n), j(t, n, e.version * 4 + 9, 8, !0), {
|
|
206
256
|
grid: t,
|
|
207
257
|
marks: n
|
|
208
258
|
};
|
|
209
259
|
}
|
|
210
|
-
function
|
|
260
|
+
function I(e, t, n) {
|
|
211
261
|
let r = e.length, i = [];
|
|
212
|
-
n.forEach((e) =>
|
|
262
|
+
n.forEach((e) => E(i, e, 8));
|
|
213
263
|
let a = 0, o = !0;
|
|
214
264
|
for (let n = r - 1; n > 0; n -= 2) {
|
|
215
265
|
n === 6 && --n;
|
|
@@ -225,7 +275,7 @@ function j(e, t, n) {
|
|
|
225
275
|
}
|
|
226
276
|
for (let n = 0; n < r; n += 1) for (let i = 0; i < r; i += 1) !t[n][i] && e[n][i] == null && (e[n][i] = !1);
|
|
227
277
|
}
|
|
228
|
-
function
|
|
278
|
+
function L(e, t, n) {
|
|
229
279
|
switch (e) {
|
|
230
280
|
case 0: return (t + n) % 2 == 0;
|
|
231
281
|
case 1: return t % 2 == 0;
|
|
@@ -238,11 +288,11 @@ function M(e, t, n) {
|
|
|
238
288
|
default: return !1;
|
|
239
289
|
}
|
|
240
290
|
}
|
|
241
|
-
function
|
|
242
|
-
return e.map((e, r) => e.map((e, i) => t[r][i] ? !!e :
|
|
291
|
+
function R(e, t, n) {
|
|
292
|
+
return e.map((e, r) => e.map((e, i) => t[r][i] ? !!e : L(n, r, i) ? !e : !!e));
|
|
243
293
|
}
|
|
244
|
-
function
|
|
245
|
-
let n = e.length, r =
|
|
294
|
+
function z(e, t) {
|
|
295
|
+
let n = e.length, r = g[t], i = [
|
|
246
296
|
[8, 0],
|
|
247
297
|
[8, 1],
|
|
248
298
|
[8, 2],
|
|
@@ -280,7 +330,7 @@ function P(e, t) {
|
|
|
280
330
|
o[r][s] = n, o[c][l] = n;
|
|
281
331
|
}), o;
|
|
282
332
|
}
|
|
283
|
-
function
|
|
333
|
+
function B(e) {
|
|
284
334
|
let t = 0, n = 1;
|
|
285
335
|
for (let r = 1; r <= e.length; r += 1) {
|
|
286
336
|
if (e[r] === e[r - 1]) {
|
|
@@ -291,7 +341,7 @@ function F(e) {
|
|
|
291
341
|
}
|
|
292
342
|
return t;
|
|
293
343
|
}
|
|
294
|
-
function
|
|
344
|
+
function V(e) {
|
|
295
345
|
let t = 0;
|
|
296
346
|
for (let n = 0; n < e.length - 1; n += 1) for (let r = 0; r < e.length - 1; r += 1) {
|
|
297
347
|
let i = e[n][r];
|
|
@@ -299,7 +349,7 @@ function I(e) {
|
|
|
299
349
|
}
|
|
300
350
|
return t;
|
|
301
351
|
}
|
|
302
|
-
function
|
|
352
|
+
function H(e) {
|
|
303
353
|
let t = 0;
|
|
304
354
|
for (let n = 0; n <= e.length - 11; n += 1) {
|
|
305
355
|
let r = e.slice(n, n + 11).map((e) => e ? "1" : "0").join("");
|
|
@@ -307,27 +357,27 @@ function L(e) {
|
|
|
307
357
|
}
|
|
308
358
|
return t;
|
|
309
359
|
}
|
|
310
|
-
function
|
|
360
|
+
function U(e) {
|
|
311
361
|
let t = e.length * e.length, n = e.flat().filter(Boolean).length * 100 / t;
|
|
312
362
|
return Math.floor(Math.abs(n - 50) / 5) * 10;
|
|
313
363
|
}
|
|
314
|
-
function
|
|
364
|
+
function W(e) {
|
|
315
365
|
let t = 0;
|
|
316
|
-
for (let n = 0; n < e.length; n += 1) t +=
|
|
366
|
+
for (let n = 0; n < e.length; n += 1) t += B(e[n]), t += H(e[n]);
|
|
317
367
|
for (let n = 0; n < e.length; n += 1) {
|
|
318
368
|
let r = e.map((e) => e[n]);
|
|
319
|
-
t +=
|
|
369
|
+
t += B(r), t += H(r);
|
|
320
370
|
}
|
|
321
|
-
return t +=
|
|
371
|
+
return t += V(e), t += U(e), t;
|
|
322
372
|
}
|
|
323
|
-
function
|
|
324
|
-
let t =
|
|
373
|
+
function G(e) {
|
|
374
|
+
let t = O(Array.from(y.encode(e)).length);
|
|
325
375
|
if (!t) return null;
|
|
326
|
-
let { grid: n, marks: r } =
|
|
327
|
-
|
|
328
|
-
let i = 0, a =
|
|
376
|
+
let { grid: n, marks: r } = F(t);
|
|
377
|
+
I(n, r, k(e, t));
|
|
378
|
+
let i = 0, a = z(R(n, r, 0), 0), o = W(a);
|
|
329
379
|
for (let e = 1; e < 8; e += 1) {
|
|
330
|
-
let t =
|
|
380
|
+
let t = z(R(n, r, e), e), s = W(t);
|
|
331
381
|
s < o && (i = e, a = t, o = s);
|
|
332
382
|
}
|
|
333
383
|
return {
|
|
@@ -335,41 +385,41 @@ function B(e) {
|
|
|
335
385
|
mask: i
|
|
336
386
|
};
|
|
337
387
|
}
|
|
338
|
-
function
|
|
339
|
-
let g =
|
|
388
|
+
function K({ value: e, size: n = 144, padding: a = 4, fg: o = "#111827", bg: s = "#ffffff", status: c = "idle", statusLabel: u, className: p, style: m, ...h }) {
|
|
389
|
+
let g = G(e);
|
|
340
390
|
if (!g) return null;
|
|
341
|
-
let _ = g.grid.length +
|
|
391
|
+
let _ = g.grid.length + a * 2, v = {
|
|
342
392
|
"--qr-size": `${n}px`,
|
|
343
393
|
...m
|
|
344
|
-
}, y =
|
|
345
|
-
return /* @__PURE__ */
|
|
346
|
-
className: i("qr-code",
|
|
394
|
+
}, y = c === "success" ? "success" : c === "error" ? "error" : "primary";
|
|
395
|
+
return /* @__PURE__ */ f("div", {
|
|
396
|
+
className: i("qr-code", c !== "idle" && `status-${c}`, p),
|
|
347
397
|
style: v,
|
|
348
|
-
"aria-busy":
|
|
398
|
+
"aria-busy": c === "loading" || void 0,
|
|
349
399
|
...h,
|
|
350
|
-
children: [/* @__PURE__ */
|
|
351
|
-
className: i(
|
|
400
|
+
children: [/* @__PURE__ */ f("svg", {
|
|
401
|
+
className: i(c !== "idle" && "dimmed"),
|
|
352
402
|
viewBox: `0 0 ${_} ${_}`,
|
|
353
403
|
fill: "none",
|
|
354
404
|
xmlns: "http://www.w3.org/2000/svg",
|
|
355
405
|
role: "img",
|
|
356
406
|
"aria-label": "QR code",
|
|
357
|
-
children: [/* @__PURE__ */
|
|
407
|
+
children: [/* @__PURE__ */ d("rect", {
|
|
358
408
|
width: _,
|
|
359
409
|
height: _,
|
|
360
|
-
fill:
|
|
361
|
-
}), g.grid.map((e, t) => e.map((e, n) => e ? /* @__PURE__ */
|
|
362
|
-
x: n +
|
|
363
|
-
y: t +
|
|
410
|
+
fill: s
|
|
411
|
+
}), g.grid.map((e, t) => e.map((e, n) => e ? /* @__PURE__ */ d("rect", {
|
|
412
|
+
x: n + a,
|
|
413
|
+
y: t + a,
|
|
364
414
|
width: "1",
|
|
365
415
|
height: "1",
|
|
366
|
-
fill:
|
|
416
|
+
fill: o
|
|
367
417
|
}, `${t}-${n}`) : null))]
|
|
368
|
-
}),
|
|
418
|
+
}), c !== "idle" && /* @__PURE__ */ d("div", {
|
|
369
419
|
className: "qr-status-center",
|
|
370
|
-
"aria-label":
|
|
420
|
+
"aria-label": u ?? `QR code ${c}`,
|
|
371
421
|
role: "status",
|
|
372
|
-
children:
|
|
422
|
+
children: c === "loading" ? /* @__PURE__ */ d(l, {
|
|
373
423
|
variant: "ghost",
|
|
374
424
|
size: "lg",
|
|
375
425
|
color: y,
|
|
@@ -381,7 +431,7 @@ function V({ value: e, size: n = 144, padding: o = 4, fg: l = "#111827", bg: u =
|
|
|
381
431
|
tabIndex: -1,
|
|
382
432
|
className: "qr-status-chip",
|
|
383
433
|
"aria-hidden": "true"
|
|
384
|
-
}) :
|
|
434
|
+
}) : c === "success" ? /* @__PURE__ */ d(l, {
|
|
385
435
|
variant: "ghost",
|
|
386
436
|
size: "lg",
|
|
387
437
|
color: y,
|
|
@@ -392,8 +442,8 @@ function V({ value: e, size: n = 144, padding: o = 4, fg: l = "#111827", bg: u =
|
|
|
392
442
|
tabIndex: -1,
|
|
393
443
|
className: "qr-status-chip",
|
|
394
444
|
"aria-hidden": "true",
|
|
395
|
-
children: /* @__PURE__ */
|
|
396
|
-
}) : /* @__PURE__ */
|
|
445
|
+
children: /* @__PURE__ */ d(r, {})
|
|
446
|
+
}) : /* @__PURE__ */ d(l, {
|
|
397
447
|
variant: "ghost",
|
|
398
448
|
size: "lg",
|
|
399
449
|
color: y,
|
|
@@ -404,12 +454,12 @@ function V({ value: e, size: n = 144, padding: o = 4, fg: l = "#111827", bg: u =
|
|
|
404
454
|
tabIndex: -1,
|
|
405
455
|
className: "qr-status-chip",
|
|
406
456
|
"aria-hidden": "true",
|
|
407
|
-
children: /* @__PURE__ */
|
|
457
|
+
children: /* @__PURE__ */ d(t, {})
|
|
408
458
|
})
|
|
409
459
|
})]
|
|
410
460
|
});
|
|
411
461
|
}
|
|
412
462
|
//#endregion
|
|
413
|
-
export {
|
|
463
|
+
export { m as n, p as r, K as t };
|
|
414
464
|
|
|
415
|
-
//# sourceMappingURL=MQrCode-
|
|
465
|
+
//# sourceMappingURL=MQrCode-6ANDcExA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MQrCode-6ANDcExA.js","names":[],"sources":["../src/components/display/MRating/MRating.tsx","../src/components/display/MDetailList/MDetailList.tsx","../src/components/display/MQrCode/MQrCode.tsx"],"sourcesContent":["import {useState} from 'react'\nimport type {MRatingProps} from './MRating.types'\nimport {MStarFillIcon, MStarIcon} from '../../../icons'\nimport {cn} from '../../../utils/cn'\nimport './MRating.css'\n\n// Render an interactive star-based rating control.\nexport function MRating({\n value = 0,\n max = 5,\n color = 'warning',\n size = 'md',\n readOnly = false,\n onChange,\n className,\n ...rest\n}: MRatingProps) {\n const [hovered, setHovered] = useState<number | null>(null)\n const displayValue = hovered ?? value\n\n const handleClick = (index: number) => {\n if (readOnly) return\n onChange?.(index)\n }\n\n return (\n <div\n className={cn('rating', `color-${color}`, size, readOnly && 'read-only', className)}\n role=\"radiogroup\"\n aria-label=\"MRating\"\n onMouseLeave={() => setHovered(null)}\n {...rest}\n >\n {Array.from({length: max}, (_, i) => {\n const starIndex = i + 1\n const filled = displayValue >= starIndex\n return (\n <button\n key={i}\n type=\"button\"\n className=\"rating-star\"\n onClick={() => handleClick(starIndex)}\n onMouseEnter={() => !readOnly && setHovered(starIndex)}\n aria-label={`${starIndex} star${starIndex > 1 ? 's' : ''}`}\n tabIndex={readOnly ? -1 : 0}\n disabled={readOnly}\n >\n <span className=\"star-icon\" aria-hidden=\"true\">\n {filled ? <MStarFillIcon /> : <MStarIcon />}\n </span>\n </button>\n )\n })}\n </div>\n )\n}\n","import type {MDetailListProps} from './MDetailList.types'\nimport {cn} from '../../../utils/cn'\nimport {MInline, MStack} from '../../layout'\nimport {MLink, MText} from '../../typography'\nimport './MDetailList.css'\n\nexport function MDetailList({\n items,\n size = 'md',\n bordered = true,\n emptyState = null,\n className,\n ...rest\n}: MDetailListProps) {\n if (!items.length) {\n return emptyState ? <div className={cn('detail-list', className)}>{emptyState}</div> : null\n }\n\n return (\n <div className={cn('detail-list', `size-${size}`, bordered && 'bordered', className)} {...rest}>\n {items.map((item) => {\n const key = item.key ?? item.label?.toString()\n const value =\n item.component || item.to || item.href ? (\n <MLink\n component={item.component}\n to={item.to}\n href={item.href}\n target={item.target}\n rel={item.rel}\n >\n {item.value}\n </MLink>\n ) : (\n item.value\n )\n\n return (\n <div key={key} className=\"detail-list-item\">\n <MInline justify={'between'} align={'start'}>\n <MStack>\n <MText size={'sm'} tone={'muted'}>\n {item.label}\n </MText>\n {value && <div className=\"detail-list-value\">{value}</div>}\n {item.helperText && (\n <MText size={'sm'} tone={'muted'}>\n {item.helperText}\n </MText>\n )}\n </MStack>\n {item.status && <div className=\"detail-list-status\">{item.status}</div>}\n </MInline>\n </div>\n )\n })}\n </div>\n )\n}\n","import type {CSSProperties} from 'react'\nimport type {MQrCodeProps} from './MQrCode.types'\nimport {cn} from '../../../utils/cn'\nimport {MButton} from '../../controls/MButton'\nimport {MErrorIcon, MSuccessIcon} from '../../../icons'\nimport './MQrCode.css'\n\ntype VersionInfo = {\n version: number\n size: number\n dataWords: number\n ecWords: number\n byteLimit: number\n align: number[]\n}\n\nconst versions: VersionInfo[] = [\n {version: 1, size: 21, dataWords: 19, ecWords: 7, byteLimit: 17, align: []},\n {version: 2, size: 25, dataWords: 34, ecWords: 10, byteLimit: 32, align: [6, 18]},\n {version: 3, size: 29, dataWords: 55, ecWords: 15, byteLimit: 53, align: [6, 22]},\n {version: 4, size: 33, dataWords: 80, ecWords: 20, byteLimit: 78, align: [6, 26]},\n {version: 5, size: 37, dataWords: 108, ecWords: 26, byteLimit: 106, align: [6, 30]},\n]\n\nconst formatBits = [\n '111011111000100',\n '111001011110011',\n '111110110101010',\n '111100010011101',\n '110011000101111',\n '110001100011000',\n '110110001000001',\n '110100101110110',\n]\n\nconst expTable = new Array<number>(512).fill(0)\nconst logTable = new Array<number>(256).fill(0)\nconst encoder = new TextEncoder()\n\nlet fieldReady = false\n\n// Prepare log/exp lookup tables for QR Reed-Solomon math.\nfunction ensureField() {\n if (fieldReady) return\n\n let value = 1\n\n for (let i = 0; i < 255; i += 1) {\n expTable[i] = value\n logTable[value] = i\n value <<= 1\n\n if (value & 0x100) {\n value ^= 0x11d\n }\n }\n\n for (let i = 255; i < 512; i += 1) {\n expTable[i] = expTable[i - 255]\n }\n\n fieldReady = true\n}\n\n// Multiply two values inside the QR Galois field.\nfunction gfMul(a: number, b: number) {\n if (!a || !b) return 0\n ensureField()\n return expTable[logTable[a] + logTable[b]]\n}\n\n// Multiply generator polynomials used for error correction.\nfunction polyMul(left: number[], right: number[]) {\n const next = new Array(left.length + right.length - 1).fill(0)\n\n for (let row = 0; row < left.length; row += 1) {\n for (let col = 0; col < right.length; col += 1) {\n next[row + col] ^= gfMul(left[row], right[col])\n }\n }\n\n return next\n}\n\n// Build the generator polynomial for the chosen correction size.\nfunction makeGenerator(ecWords: number) {\n ensureField()\n\n let poly = [1]\n\n for (let i = 0; i < ecWords; i += 1) {\n poly = polyMul(poly, [1, expTable[i]])\n }\n\n return poly\n}\n\n// Compute Reed-Solomon error words for the current payload.\nfunction makeErrorWords(data: number[], ecWords: number) {\n const poly = makeGenerator(ecWords)\n const work = [...data, ...new Array(ecWords).fill(0)]\n\n for (let i = 0; i < data.length; i += 1) {\n const factor = work[i]\n\n if (!factor) continue\n\n for (let j = 0; j < poly.length; j += 1) {\n work[i + j] ^= gfMul(poly[j], factor)\n }\n }\n\n return work.slice(-ecWords)\n}\n\n// Push bits in MSB order so QR payload building stays explicit.\nfunction pushBits(target: number[], value: number, size: number) {\n for (let bit = size - 1; bit >= 0; bit -= 1) {\n target.push((value >> bit) & 1)\n }\n}\n\n// Repack a flat bit list into QR codewords.\nfunction bitsToBytes(bits: number[]) {\n const bytes: number[] = []\n\n for (let i = 0; i < bits.length; i += 8) {\n let byte = 0\n\n for (let bit = 0; bit < 8; bit += 1) {\n byte = (byte << 1) | (bits[i + bit] ?? 0)\n }\n\n bytes.push(byte)\n }\n\n return bytes\n}\n\n// Pick the smallest supported QR version for the payload.\nfunction pickVersion(length: number) {\n return versions.find((item) => length <= item.byteLimit) ?? null\n}\n\n// Encode a string as byte mode payload plus correction words.\nfunction encodeData(value: string, info: VersionInfo) {\n const data = Array.from(encoder.encode(value))\n const bits: number[] = []\n const capacity = info.dataWords * 8\n\n pushBits(bits, 0b0100, 4)\n pushBits(bits, data.length, 8)\n\n data.forEach((byte) => pushBits(bits, byte, 8))\n\n pushBits(bits, 0, Math.min(4, capacity - bits.length))\n\n while (bits.length % 8 !== 0) {\n bits.push(0)\n }\n\n const pads = [0xec, 0x11]\n\n for (let i = 0; bits.length < capacity; i += 1) {\n pushBits(bits, pads[i % 2], 8)\n }\n\n const dataWords = bitsToBytes(bits)\n return [...dataWords, ...makeErrorWords(dataWords, info.ecWords)]\n}\n\n// Create an empty matrix before function patterns are placed.\nfunction makeGrid(size: number) {\n return Array.from({length: size}, () => Array<boolean | null>(size).fill(null))\n}\n\n// Write a module and mark it as reserved.\nfunction setCell(grid: (boolean | null)[][], marks: boolean[][], row: number, col: number, dark: boolean) {\n if (row < 0 || col < 0 || row >= grid.length || col >= grid.length) return\n grid[row][col] = dark\n marks[row][col] = true\n}\n\n// Place one finder pattern with its quiet white border.\nfunction placeFinder(grid: (boolean | null)[][], marks: boolean[][], top: number, left: number) {\n for (let row = -1; row <= 7; row += 1) {\n for (let col = -1; col <= 7; col += 1) {\n const edge = row === -1 || row === 7 || col === -1 || col === 7\n const outer = row === 0 || row === 6 || col === 0 || col === 6\n const inner = row >= 2 && row <= 4 && col >= 2 && col <= 4\n setCell(grid, marks, top + row, left + col, !edge && (outer || inner))\n }\n }\n}\n\n// Place one alignment pattern unless another function block already owns it.\nfunction placeAlign(grid: (boolean | null)[][], marks: boolean[][], center: number, middle: number) {\n if (marks[center][middle]) return\n\n for (let row = -2; row <= 2; row += 1) {\n for (let col = -2; col <= 2; col += 1) {\n const edge = Math.max(Math.abs(row), Math.abs(col)) === 2\n const dot = row === 0 && col === 0\n setCell(grid, marks, center + row, middle + col, edge || dot)\n }\n }\n}\n\n// Reserve format info cells before data placement starts.\nfunction markFormat(marks: boolean[][]) {\n const size = marks.length\n const left = [\n [8, 0],\n [8, 1],\n [8, 2],\n [8, 3],\n [8, 4],\n [8, 5],\n [8, 7],\n [8, 8],\n [7, 8],\n [5, 8],\n [4, 8],\n [3, 8],\n [2, 8],\n [1, 8],\n [0, 8],\n ]\n const right = [\n [size - 1, 8],\n [size - 2, 8],\n [size - 3, 8],\n [size - 4, 8],\n [size - 5, 8],\n [size - 6, 8],\n [size - 7, 8],\n [8, size - 8],\n [8, size - 7],\n [8, size - 6],\n [8, size - 5],\n [8, size - 4],\n [8, size - 3],\n [8, size - 2],\n [8, size - 1],\n ]\n\n ;[...left, ...right].forEach(([row, col]) => {\n marks[row][col] = true\n })\n}\n\n// Build the static QR scaffolding: finders, timing and align blocks.\nfunction makeBase(info: VersionInfo) {\n const grid = makeGrid(info.size)\n const marks = Array.from({length: info.size}, () => Array<boolean>(info.size).fill(false))\n\n placeFinder(grid, marks, 0, 0)\n placeFinder(grid, marks, 0, info.size - 7)\n placeFinder(grid, marks, info.size - 7, 0)\n\n for (let i = 8; i < info.size - 8; i += 1) {\n setCell(grid, marks, 6, i, i % 2 === 0)\n setCell(grid, marks, i, 6, i % 2 === 0)\n }\n\n info.align.forEach((row) => {\n info.align.forEach((col) => {\n placeAlign(grid, marks, row, col)\n })\n })\n\n markFormat(marks)\n setCell(grid, marks, info.version * 4 + 9, 8, true)\n\n return {grid, marks}\n}\n\n// Fill open cells with payload bits using the QR zig-zag path.\nfunction placeData(grid: (boolean | null)[][], marks: boolean[][], words: number[]) {\n const size = grid.length\n const bits: number[] = []\n\n words.forEach((word) => pushBits(bits, word, 8))\n\n let index = 0\n let up = true\n\n for (let col = size - 1; col > 0; col -= 2) {\n if (col === 6) {\n col -= 1\n }\n\n let row = up ? size - 1 : 0\n\n while (row >= 0 && row < size) {\n for (let offset = 0; offset < 2; offset += 1) {\n const x = col - offset\n\n if (marks[row][x]) continue\n\n grid[row][x] = bits[index] === 1\n index += 1\n }\n\n row += up ? -1 : 1\n }\n\n up = !up\n }\n\n for (let row = 0; row < size; row += 1) {\n for (let col = 0; col < size; col += 1) {\n if (!marks[row][col] && grid[row][col] == null) {\n grid[row][col] = false\n }\n }\n }\n}\n\n// Check whether the current mask flips this module.\nfunction shouldFlip(mask: number, row: number, col: number) {\n switch (mask) {\n case 0:\n return (row + col) % 2 === 0\n case 1:\n return row % 2 === 0\n case 2:\n return col % 3 === 0\n case 3:\n return (row + col) % 3 === 0\n case 4:\n return (Math.floor(row / 2) + Math.floor(col / 3)) % 2 === 0\n case 5:\n return ((row * col) % 2) + ((row * col) % 3) === 0\n case 6:\n return (((row * col) % 2) + ((row * col) % 3)) % 2 === 0\n case 7:\n return (((row + col) % 2) + ((row * col) % 3)) % 2 === 0\n default:\n return false\n }\n}\n\n// Apply one mask while leaving reserved cells untouched.\nfunction applyMask(grid: (boolean | null)[][], marks: boolean[][], mask: number) {\n return grid.map((line, row) =>\n line.map((cell, col) => {\n if (marks[row][col]) return Boolean(cell)\n return shouldFlip(mask, row, col) ? !cell : Boolean(cell)\n })\n )\n}\n\n// Write format bits into both reserved format strips.\nfunction withFormat(grid: boolean[][], mask: number) {\n const size = grid.length\n const bits = formatBits[mask]\n const left = [\n [8, 0],\n [8, 1],\n [8, 2],\n [8, 3],\n [8, 4],\n [8, 5],\n [8, 7],\n [8, 8],\n [7, 8],\n [5, 8],\n [4, 8],\n [3, 8],\n [2, 8],\n [1, 8],\n [0, 8],\n ]\n const right = [\n [size - 1, 8],\n [size - 2, 8],\n [size - 3, 8],\n [size - 4, 8],\n [size - 5, 8],\n [size - 6, 8],\n [size - 7, 8],\n [8, size - 8],\n [8, size - 7],\n [8, size - 6],\n [8, size - 5],\n [8, size - 4],\n [8, size - 3],\n [8, size - 2],\n [8, size - 1],\n ]\n const next = grid.map((line) => [...line])\n\n bits.split('').forEach((bit, index) => {\n const dark = bit === '1'\n const [leftRow, leftCol] = left[index]\n const [rightRow, rightCol] = right[index]\n\n next[leftRow][leftCol] = dark\n next[rightRow][rightCol] = dark\n })\n\n return next\n}\n\n// Penalize long runs of the same color.\nfunction runPenalty(values: boolean[]) {\n let score = 0\n let run = 1\n\n for (let i = 1; i <= values.length; i += 1) {\n if (values[i] === values[i - 1]) {\n run += 1\n continue\n }\n\n if (run >= 5) {\n score += run - 2\n }\n\n run = 1\n }\n\n return score\n}\n\n// Penalize large flat blocks that scan poorly.\nfunction blockPenalty(grid: boolean[][]) {\n let score = 0\n\n for (let row = 0; row < grid.length - 1; row += 1) {\n for (let col = 0; col < grid.length - 1; col += 1) {\n const cell = grid[row][col]\n\n if (cell === grid[row][col + 1] && cell === grid[row + 1][col] && cell === grid[row + 1][col + 1]) {\n score += 3\n }\n }\n }\n\n return score\n}\n\n// Penalize patterns that look too similar to finder markers.\nfunction finderPenalty(values: boolean[]) {\n const matchA = '10111010000'\n const matchB = '00001011101'\n let score = 0\n\n for (let i = 0; i <= values.length - 11; i += 1) {\n const slice = values\n .slice(i, i + 11)\n .map((cell) => (cell ? '1' : '0'))\n .join('')\n\n if (slice === matchA || slice === matchB) {\n score += 40\n }\n }\n\n return score\n}\n\n// Keep the dark/light balance near the QR target.\nfunction ratioPenalty(grid: boolean[][]) {\n const total = grid.length * grid.length\n const dark = grid.flat().filter(Boolean).length\n const ratio = (dark * 100) / total\n return Math.floor(Math.abs(ratio - 50) / 5) * 10\n}\n\n// Sum the standard QR penalties for one candidate matrix.\nfunction getPenalty(grid: boolean[][]) {\n let score = 0\n\n for (let row = 0; row < grid.length; row += 1) {\n score += runPenalty(grid[row])\n score += finderPenalty(grid[row])\n }\n\n for (let col = 0; col < grid.length; col += 1) {\n const line = grid.map((row) => row[col])\n score += runPenalty(line)\n score += finderPenalty(line)\n }\n\n score += blockPenalty(grid)\n score += ratioPenalty(grid)\n\n return score\n}\n\n// Build the final matrix and pick the mask with the lowest penalty.\nfunction makeMatrix(value: string) {\n const data = Array.from(encoder.encode(value))\n const info = pickVersion(data.length)\n\n if (!info) {\n return null\n }\n\n const {grid, marks} = makeBase(info)\n placeData(grid, marks, encodeData(value, info))\n\n let bestMask = 0\n let bestGrid = withFormat(applyMask(grid, marks, 0), 0)\n let bestScore = getPenalty(bestGrid)\n\n for (let mask = 1; mask < 8; mask += 1) {\n const masked = withFormat(applyMask(grid, marks, mask), mask)\n const score = getPenalty(masked)\n\n if (score < bestScore) {\n bestMask = mask\n bestGrid = masked\n bestScore = score\n }\n }\n\n return {grid: bestGrid, mask: bestMask}\n}\n\n// Render a local SVG QR code without adding a runtime dependency.\nexport function MQrCode({\n value,\n size = 144,\n padding = 4,\n fg = '#111827',\n bg = '#ffffff',\n status = 'idle',\n statusLabel,\n className,\n style,\n ...rest\n}: MQrCodeProps) {\n const qr = makeMatrix(value)\n\n if (!qr) {\n return null\n }\n\n const dimension = qr.grid.length + padding * 2\n const nextStyle = {\n '--qr-size': `${size}px`,\n ...style,\n } as CSSProperties\n const statusColor = status === 'success' ? 'success' : status === 'error' ? 'error' : 'primary'\n\n return (\n <div\n className={cn('qr-code', status !== 'idle' && `status-${status}`, className)}\n style={nextStyle}\n aria-busy={status === 'loading' || undefined}\n {...rest}\n >\n <svg\n className={cn(status !== 'idle' && 'dimmed')}\n viewBox={`0 0 ${dimension} ${dimension}`}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n aria-label=\"QR code\"\n >\n <rect width={dimension} height={dimension} fill={bg} />\n {qr.grid.map((line, row) =>\n line.map((cell, col) =>\n cell ? (\n <rect\n key={`${row}-${col}`}\n x={col + padding}\n y={row + padding}\n width=\"1\"\n height=\"1\"\n fill={fg}\n />\n ) : null\n )\n )}\n </svg>\n {status !== 'idle' && (\n <div className=\"qr-status-center\" aria-label={statusLabel ?? `QR code ${status}`} role=\"status\">\n {status === 'loading' ? (\n <MButton\n variant=\"ghost\"\n size=\"lg\"\n color={statusColor}\n shape=\"circle\"\n iconOnly\n loading\n pulsing\n disabled\n tabIndex={-1}\n className=\"qr-status-chip\"\n aria-hidden=\"true\"\n />\n ) : status === 'success' ? (\n <MButton\n variant=\"ghost\"\n size=\"lg\"\n color={statusColor}\n shape=\"circle\"\n iconOnly\n pulsing\n disabled\n tabIndex={-1}\n className=\"qr-status-chip\"\n aria-hidden=\"true\"\n >\n <MSuccessIcon />\n </MButton>\n ) : (\n <MButton\n variant=\"ghost\"\n size=\"lg\"\n color={statusColor}\n shape=\"circle\"\n iconOnly\n pulsing\n disabled\n tabIndex={-1}\n className=\"qr-status-chip\"\n aria-hidden=\"true\"\n >\n <MErrorIcon />\n </MButton>\n )}\n </div>\n )}\n </div>\n )\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require(`./icons-qCoE70hn.cjs`),t=require(`./cn-CU5TNITO.cjs`),n=require(`./MStack-ByFYGSsy.cjs`),r=require(`./MText-D0fI_D_Q.cjs`),i=require(`./MLink-B3ImjkJV.cjs`),a=require(`./MButton-8UCydOik.cjs`);require(`./core-DAox0BHy.cjs`);let o=require(`react`),s=require(`react/jsx-runtime`);function c({value:n=0,max:r=5,color:i=`warning`,size:a=`md`,readOnly:c=!1,onChange:l,className:u,...d}){let[f,p]=(0,o.useState)(null),m=f??n,h=e=>{c||l?.(e)};return(0,s.jsx)(`div`,{className:t.t(`rating`,`color-${i}`,a,c&&`read-only`,u),role:`radiogroup`,"aria-label":`MRating`,onMouseLeave:()=>p(null),...d,children:Array.from({length:r},(t,n)=>{let r=n+1,i=m>=r;return(0,s.jsx)(`button`,{type:`button`,className:`rating-star`,onClick:()=>h(r),onMouseEnter:()=>!c&&p(r),"aria-label":`${r} star${r>1?`s`:``}`,tabIndex:c?-1:0,disabled:c,children:(0,s.jsx)(`span`,{className:`star-icon`,"aria-hidden":`true`,children:i?(0,s.jsx)(e.ai,{}):(0,s.jsx)(e.oi,{})})},n)})})}function l({items:e,size:a=`md`,bordered:o=!0,emptyState:c=null,className:l,...u}){return e.length?(0,s.jsx)(`div`,{className:t.t(`detail-list`,`size-${a}`,o&&`bordered`,l),...u,children:e.map(e=>{let t=e.key??e.label?.toString(),a=e.component||e.to||e.href?(0,s.jsx)(i.t,{component:e.component,to:e.to,href:e.href,target:e.target,rel:e.rel,children:e.value}):e.value;return(0,s.jsx)(`div`,{className:`detail-list-item`,children:(0,s.jsxs)(n.n,{justify:`between`,align:`start`,children:[(0,s.jsxs)(n.t,{children:[(0,s.jsx)(r.t,{size:`sm`,tone:`muted`,children:e.label}),a&&(0,s.jsx)(`div`,{className:`detail-list-value`,children:a}),e.helperText&&(0,s.jsx)(r.t,{size:`sm`,tone:`muted`,children:e.helperText})]}),e.status&&(0,s.jsx)(`div`,{className:`detail-list-status`,children:e.status})]})},t)})}):c?(0,s.jsx)(`div`,{className:t.t(`detail-list`,l),children:c}):null}var u=[{version:1,size:21,dataWords:19,ecWords:7,byteLimit:17,align:[]},{version:2,size:25,dataWords:34,ecWords:10,byteLimit:32,align:[6,18]},{version:3,size:29,dataWords:55,ecWords:15,byteLimit:53,align:[6,22]},{version:4,size:33,dataWords:80,ecWords:20,byteLimit:78,align:[6,26]},{version:5,size:37,dataWords:108,ecWords:26,byteLimit:106,align:[6,30]}],d=[`111011111000100`,`111001011110011`,`111110110101010`,`111100010011101`,`110011000101111`,`110001100011000`,`110110001000001`,`110100101110110`],f=Array(512).fill(0),p=Array(256).fill(0),m=new TextEncoder,h=!1;function g(){if(h)return;let e=1;for(let t=0;t<255;t+=1)f[t]=e,p[e]=t,e<<=1,e&256&&(e^=285);for(let e=255;e<512;e+=1)f[e]=f[e-255];h=!0}function _(e,t){return!e||!t?0:(g(),f[p[e]+p[t]])}function v(e,t){let n=Array(e.length+t.length-1).fill(0);for(let r=0;r<e.length;r+=1)for(let i=0;i<t.length;i+=1)n[r+i]^=_(e[r],t[i]);return n}function y(e){g();let t=[1];for(let n=0;n<e;n+=1)t=v(t,[1,f[n]]);return t}function b(e,t){let n=y(t),r=[...e,...Array(t).fill(0)];for(let t=0;t<e.length;t+=1){let e=r[t];if(e)for(let i=0;i<n.length;i+=1)r[t+i]^=_(n[i],e)}return r.slice(-t)}function x(e,t,n){for(let r=n-1;r>=0;--r)e.push(t>>r&1)}function S(e){let t=[];for(let n=0;n<e.length;n+=8){let r=0;for(let t=0;t<8;t+=1)r=r<<1|(e[n+t]??0);t.push(r)}return t}function C(e){return u.find(t=>e<=t.byteLimit)??null}function w(e,t){let n=Array.from(m.encode(e)),r=[],i=t.dataWords*8;for(x(r,4,4),x(r,n.length,8),n.forEach(e=>x(r,e,8)),x(r,0,Math.min(4,i-r.length));r.length%8!=0;)r.push(0);let a=[236,17];for(let e=0;r.length<i;e+=1)x(r,a[e%2],8);let o=S(r);return[...o,...b(o,t.ecWords)]}function T(e){return Array.from({length:e},()=>Array(e).fill(null))}function E(e,t,n,r,i){n<0||r<0||n>=e.length||r>=e.length||(e[n][r]=i,t[n][r]=!0)}function D(e,t,n,r){for(let i=-1;i<=7;i+=1)for(let a=-1;a<=7;a+=1){let o=i===-1||i===7||a===-1||a===7,s=i===0||i===6||a===0||a===6,c=i>=2&&i<=4&&a>=2&&a<=4;E(e,t,n+i,r+a,!o&&(s||c))}}function O(e,t,n,r){if(!t[n][r])for(let i=-2;i<=2;i+=1)for(let a=-2;a<=2;a+=1){let o=Math.max(Math.abs(i),Math.abs(a))===2,s=i===0&&a===0;E(e,t,n+i,r+a,o||s)}}function k(e){let t=e.length,n=[[8,0],[8,1],[8,2],[8,3],[8,4],[8,5],[8,7],[8,8],[7,8],[5,8],[4,8],[3,8],[2,8],[1,8],[0,8]],r=[[t-1,8],[t-2,8],[t-3,8],[t-4,8],[t-5,8],[t-6,8],[t-7,8],[8,t-8],[8,t-7],[8,t-6],[8,t-5],[8,t-4],[8,t-3],[8,t-2],[8,t-1]];[...n,...r].forEach(([t,n])=>{e[t][n]=!0})}function A(e){let t=T(e.size),n=Array.from({length:e.size},()=>Array(e.size).fill(!1));D(t,n,0,0),D(t,n,0,e.size-7),D(t,n,e.size-7,0);for(let r=8;r<e.size-8;r+=1)E(t,n,6,r,r%2==0),E(t,n,r,6,r%2==0);return e.align.forEach(r=>{e.align.forEach(e=>{O(t,n,r,e)})}),k(n),E(t,n,e.version*4+9,8,!0),{grid:t,marks:n}}function j(e,t,n){let r=e.length,i=[];n.forEach(e=>x(i,e,8));let a=0,o=!0;for(let n=r-1;n>0;n-=2){n===6&&--n;let s=o?r-1:0;for(;s>=0&&s<r;){for(let r=0;r<2;r+=1){let o=n-r;t[s][o]||(e[s][o]=i[a]===1,a+=1)}s+=o?-1:1}o=!o}for(let n=0;n<r;n+=1)for(let i=0;i<r;i+=1)!t[n][i]&&e[n][i]==null&&(e[n][i]=!1)}function M(e,t,n){switch(e){case 0:return(t+n)%2==0;case 1:return t%2==0;case 2:return n%3==0;case 3:return(t+n)%3==0;case 4:return(Math.floor(t/2)+Math.floor(n/3))%2==0;case 5:return t*n%2+t*n%3==0;case 6:return(t*n%2+t*n%3)%2==0;case 7:return((t+n)%2+t*n%3)%2==0;default:return!1}}function N(e,t,n){return e.map((e,r)=>e.map((e,i)=>t[r][i]?!!e:M(n,r,i)?!e:!!e))}function P(e,t){let n=e.length,r=d[t],i=[[8,0],[8,1],[8,2],[8,3],[8,4],[8,5],[8,7],[8,8],[7,8],[5,8],[4,8],[3,8],[2,8],[1,8],[0,8]],a=[[n-1,8],[n-2,8],[n-3,8],[n-4,8],[n-5,8],[n-6,8],[n-7,8],[8,n-8],[8,n-7],[8,n-6],[8,n-5],[8,n-4],[8,n-3],[8,n-2],[8,n-1]],o=e.map(e=>[...e]);return r.split(``).forEach((e,t)=>{let n=e===`1`,[r,s]=i[t],[c,l]=a[t];o[r][s]=n,o[c][l]=n}),o}function F(e){let t=0,n=1;for(let r=1;r<=e.length;r+=1){if(e[r]===e[r-1]){n+=1;continue}n>=5&&(t+=n-2),n=1}return t}function I(e){let t=0;for(let n=0;n<e.length-1;n+=1)for(let r=0;r<e.length-1;r+=1){let i=e[n][r];i===e[n][r+1]&&i===e[n+1][r]&&i===e[n+1][r+1]&&(t+=3)}return t}function L(e){let t=0;for(let n=0;n<=e.length-11;n+=1){let r=e.slice(n,n+11).map(e=>e?`1`:`0`).join(``);(r===`10111010000`||r===`00001011101`)&&(t+=40)}return t}function R(e){let t=e.length*e.length,n=e.flat().filter(Boolean).length*100/t;return Math.floor(Math.abs(n-50)/5)*10}function z(e){let t=0;for(let n=0;n<e.length;n+=1)t+=F(e[n]),t+=L(e[n]);for(let n=0;n<e.length;n+=1){let r=e.map(e=>e[n]);t+=F(r),t+=L(r)}return t+=I(e),t+=R(e),t}function B(e){let t=C(Array.from(m.encode(e)).length);if(!t)return null;let{grid:n,marks:r}=A(t);j(n,r,w(e,t));let i=0,a=P(N(n,r,0),0),o=z(a);for(let e=1;e<8;e+=1){let t=P(N(n,r,e),e),s=z(t);s<o&&(i=e,a=t,o=s)}return{grid:a,mask:i}}function V({value:n,size:r=144,padding:i=4,fg:o=`#111827`,bg:c=`#ffffff`,status:l=`idle`,statusLabel:u,className:d,style:f,...p}){let m=B(n);if(!m)return null;let h=m.grid.length+i*2,g={"--qr-size":`${r}px`,...f},_=l===`success`?`success`:l===`error`?`error`:`primary`;return(0,s.jsxs)(`div`,{className:t.t(`qr-code`,l!==`idle`&&`status-${l}`,d),style:g,"aria-busy":l===`loading`||void 0,...p,children:[(0,s.jsxs)(`svg`,{className:t.t(l!==`idle`&&`dimmed`),viewBox:`0 0 ${h} ${h}`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,role:`img`,"aria-label":`QR code`,children:[(0,s.jsx)(`rect`,{width:h,height:h,fill:c}),m.grid.map((e,t)=>e.map((e,n)=>e?(0,s.jsx)(`rect`,{x:n+i,y:t+i,width:`1`,height:`1`,fill:o},`${t}-${n}`):null))]}),l!==`idle`&&(0,s.jsx)(`div`,{className:`qr-status-center`,"aria-label":u??`QR code ${l}`,role:`status`,children:l===`loading`?(0,s.jsx)(a.t,{variant:`ghost`,size:`lg`,color:_,shape:`circle`,iconOnly:!0,loading:!0,pulsing:!0,disabled:!0,tabIndex:-1,className:`qr-status-chip`,"aria-hidden":`true`}):l===`success`?(0,s.jsx)(a.t,{variant:`ghost`,size:`lg`,color:_,shape:`circle`,iconOnly:!0,pulsing:!0,disabled:!0,tabIndex:-1,className:`qr-status-chip`,"aria-hidden":`true`,children:(0,s.jsx)(e.ui,{})}):(0,s.jsx)(a.t,{variant:`ghost`,size:`lg`,color:_,shape:`circle`,iconOnly:!0,pulsing:!0,disabled:!0,tabIndex:-1,className:`qr-status-chip`,"aria-hidden":`true`,children:(0,s.jsx)(e.di,{})})})]})}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return V}});
|
|
2
|
+
//# sourceMappingURL=MQrCode-B0-Np-N3.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MQrCode-B0-Np-N3.cjs","names":[],"sources":["../src/components/display/MRating/MRating.tsx","../src/components/display/MDetailList/MDetailList.tsx","../src/components/display/MQrCode/MQrCode.tsx"],"sourcesContent":["import {useState} from 'react'\nimport type {MRatingProps} from './MRating.types'\nimport {MStarFillIcon, MStarIcon} from '../../../icons'\nimport {cn} from '../../../utils/cn'\nimport './MRating.css'\n\n// Render an interactive star-based rating control.\nexport function MRating({\n value = 0,\n max = 5,\n color = 'warning',\n size = 'md',\n readOnly = false,\n onChange,\n className,\n ...rest\n}: MRatingProps) {\n const [hovered, setHovered] = useState<number | null>(null)\n const displayValue = hovered ?? value\n\n const handleClick = (index: number) => {\n if (readOnly) return\n onChange?.(index)\n }\n\n return (\n <div\n className={cn('rating', `color-${color}`, size, readOnly && 'read-only', className)}\n role=\"radiogroup\"\n aria-label=\"MRating\"\n onMouseLeave={() => setHovered(null)}\n {...rest}\n >\n {Array.from({length: max}, (_, i) => {\n const starIndex = i + 1\n const filled = displayValue >= starIndex\n return (\n <button\n key={i}\n type=\"button\"\n className=\"rating-star\"\n onClick={() => handleClick(starIndex)}\n onMouseEnter={() => !readOnly && setHovered(starIndex)}\n aria-label={`${starIndex} star${starIndex > 1 ? 's' : ''}`}\n tabIndex={readOnly ? -1 : 0}\n disabled={readOnly}\n >\n <span className=\"star-icon\" aria-hidden=\"true\">\n {filled ? <MStarFillIcon /> : <MStarIcon />}\n </span>\n </button>\n )\n })}\n </div>\n )\n}\n","import type {MDetailListProps} from './MDetailList.types'\nimport {cn} from '../../../utils/cn'\nimport {MInline, MStack} from '../../layout'\nimport {MLink, MText} from '../../typography'\nimport './MDetailList.css'\n\nexport function MDetailList({\n items,\n size = 'md',\n bordered = true,\n emptyState = null,\n className,\n ...rest\n}: MDetailListProps) {\n if (!items.length) {\n return emptyState ? <div className={cn('detail-list', className)}>{emptyState}</div> : null\n }\n\n return (\n <div className={cn('detail-list', `size-${size}`, bordered && 'bordered', className)} {...rest}>\n {items.map((item) => {\n const key = item.key ?? item.label?.toString()\n const value =\n item.component || item.to || item.href ? (\n <MLink\n component={item.component}\n to={item.to}\n href={item.href}\n target={item.target}\n rel={item.rel}\n >\n {item.value}\n </MLink>\n ) : (\n item.value\n )\n\n return (\n <div key={key} className=\"detail-list-item\">\n <MInline justify={'between'} align={'start'}>\n <MStack>\n <MText size={'sm'} tone={'muted'}>\n {item.label}\n </MText>\n {value && <div className=\"detail-list-value\">{value}</div>}\n {item.helperText && (\n <MText size={'sm'} tone={'muted'}>\n {item.helperText}\n </MText>\n )}\n </MStack>\n {item.status && <div className=\"detail-list-status\">{item.status}</div>}\n </MInline>\n </div>\n )\n })}\n </div>\n )\n}\n","import type {CSSProperties} from 'react'\nimport type {MQrCodeProps} from './MQrCode.types'\nimport {cn} from '../../../utils/cn'\nimport {MButton} from '../../controls/MButton'\nimport {MErrorIcon, MSuccessIcon} from '../../../icons'\nimport './MQrCode.css'\n\ntype VersionInfo = {\n version: number\n size: number\n dataWords: number\n ecWords: number\n byteLimit: number\n align: number[]\n}\n\nconst versions: VersionInfo[] = [\n {version: 1, size: 21, dataWords: 19, ecWords: 7, byteLimit: 17, align: []},\n {version: 2, size: 25, dataWords: 34, ecWords: 10, byteLimit: 32, align: [6, 18]},\n {version: 3, size: 29, dataWords: 55, ecWords: 15, byteLimit: 53, align: [6, 22]},\n {version: 4, size: 33, dataWords: 80, ecWords: 20, byteLimit: 78, align: [6, 26]},\n {version: 5, size: 37, dataWords: 108, ecWords: 26, byteLimit: 106, align: [6, 30]},\n]\n\nconst formatBits = [\n '111011111000100',\n '111001011110011',\n '111110110101010',\n '111100010011101',\n '110011000101111',\n '110001100011000',\n '110110001000001',\n '110100101110110',\n]\n\nconst expTable = new Array<number>(512).fill(0)\nconst logTable = new Array<number>(256).fill(0)\nconst encoder = new TextEncoder()\n\nlet fieldReady = false\n\n// Prepare log/exp lookup tables for QR Reed-Solomon math.\nfunction ensureField() {\n if (fieldReady) return\n\n let value = 1\n\n for (let i = 0; i < 255; i += 1) {\n expTable[i] = value\n logTable[value] = i\n value <<= 1\n\n if (value & 0x100) {\n value ^= 0x11d\n }\n }\n\n for (let i = 255; i < 512; i += 1) {\n expTable[i] = expTable[i - 255]\n }\n\n fieldReady = true\n}\n\n// Multiply two values inside the QR Galois field.\nfunction gfMul(a: number, b: number) {\n if (!a || !b) return 0\n ensureField()\n return expTable[logTable[a] + logTable[b]]\n}\n\n// Multiply generator polynomials used for error correction.\nfunction polyMul(left: number[], right: number[]) {\n const next = new Array(left.length + right.length - 1).fill(0)\n\n for (let row = 0; row < left.length; row += 1) {\n for (let col = 0; col < right.length; col += 1) {\n next[row + col] ^= gfMul(left[row], right[col])\n }\n }\n\n return next\n}\n\n// Build the generator polynomial for the chosen correction size.\nfunction makeGenerator(ecWords: number) {\n ensureField()\n\n let poly = [1]\n\n for (let i = 0; i < ecWords; i += 1) {\n poly = polyMul(poly, [1, expTable[i]])\n }\n\n return poly\n}\n\n// Compute Reed-Solomon error words for the current payload.\nfunction makeErrorWords(data: number[], ecWords: number) {\n const poly = makeGenerator(ecWords)\n const work = [...data, ...new Array(ecWords).fill(0)]\n\n for (let i = 0; i < data.length; i += 1) {\n const factor = work[i]\n\n if (!factor) continue\n\n for (let j = 0; j < poly.length; j += 1) {\n work[i + j] ^= gfMul(poly[j], factor)\n }\n }\n\n return work.slice(-ecWords)\n}\n\n// Push bits in MSB order so QR payload building stays explicit.\nfunction pushBits(target: number[], value: number, size: number) {\n for (let bit = size - 1; bit >= 0; bit -= 1) {\n target.push((value >> bit) & 1)\n }\n}\n\n// Repack a flat bit list into QR codewords.\nfunction bitsToBytes(bits: number[]) {\n const bytes: number[] = []\n\n for (let i = 0; i < bits.length; i += 8) {\n let byte = 0\n\n for (let bit = 0; bit < 8; bit += 1) {\n byte = (byte << 1) | (bits[i + bit] ?? 0)\n }\n\n bytes.push(byte)\n }\n\n return bytes\n}\n\n// Pick the smallest supported QR version for the payload.\nfunction pickVersion(length: number) {\n return versions.find((item) => length <= item.byteLimit) ?? null\n}\n\n// Encode a string as byte mode payload plus correction words.\nfunction encodeData(value: string, info: VersionInfo) {\n const data = Array.from(encoder.encode(value))\n const bits: number[] = []\n const capacity = info.dataWords * 8\n\n pushBits(bits, 0b0100, 4)\n pushBits(bits, data.length, 8)\n\n data.forEach((byte) => pushBits(bits, byte, 8))\n\n pushBits(bits, 0, Math.min(4, capacity - bits.length))\n\n while (bits.length % 8 !== 0) {\n bits.push(0)\n }\n\n const pads = [0xec, 0x11]\n\n for (let i = 0; bits.length < capacity; i += 1) {\n pushBits(bits, pads[i % 2], 8)\n }\n\n const dataWords = bitsToBytes(bits)\n return [...dataWords, ...makeErrorWords(dataWords, info.ecWords)]\n}\n\n// Create an empty matrix before function patterns are placed.\nfunction makeGrid(size: number) {\n return Array.from({length: size}, () => Array<boolean | null>(size).fill(null))\n}\n\n// Write a module and mark it as reserved.\nfunction setCell(grid: (boolean | null)[][], marks: boolean[][], row: number, col: number, dark: boolean) {\n if (row < 0 || col < 0 || row >= grid.length || col >= grid.length) return\n grid[row][col] = dark\n marks[row][col] = true\n}\n\n// Place one finder pattern with its quiet white border.\nfunction placeFinder(grid: (boolean | null)[][], marks: boolean[][], top: number, left: number) {\n for (let row = -1; row <= 7; row += 1) {\n for (let col = -1; col <= 7; col += 1) {\n const edge = row === -1 || row === 7 || col === -1 || col === 7\n const outer = row === 0 || row === 6 || col === 0 || col === 6\n const inner = row >= 2 && row <= 4 && col >= 2 && col <= 4\n setCell(grid, marks, top + row, left + col, !edge && (outer || inner))\n }\n }\n}\n\n// Place one alignment pattern unless another function block already owns it.\nfunction placeAlign(grid: (boolean | null)[][], marks: boolean[][], center: number, middle: number) {\n if (marks[center][middle]) return\n\n for (let row = -2; row <= 2; row += 1) {\n for (let col = -2; col <= 2; col += 1) {\n const edge = Math.max(Math.abs(row), Math.abs(col)) === 2\n const dot = row === 0 && col === 0\n setCell(grid, marks, center + row, middle + col, edge || dot)\n }\n }\n}\n\n// Reserve format info cells before data placement starts.\nfunction markFormat(marks: boolean[][]) {\n const size = marks.length\n const left = [\n [8, 0],\n [8, 1],\n [8, 2],\n [8, 3],\n [8, 4],\n [8, 5],\n [8, 7],\n [8, 8],\n [7, 8],\n [5, 8],\n [4, 8],\n [3, 8],\n [2, 8],\n [1, 8],\n [0, 8],\n ]\n const right = [\n [size - 1, 8],\n [size - 2, 8],\n [size - 3, 8],\n [size - 4, 8],\n [size - 5, 8],\n [size - 6, 8],\n [size - 7, 8],\n [8, size - 8],\n [8, size - 7],\n [8, size - 6],\n [8, size - 5],\n [8, size - 4],\n [8, size - 3],\n [8, size - 2],\n [8, size - 1],\n ]\n\n ;[...left, ...right].forEach(([row, col]) => {\n marks[row][col] = true\n })\n}\n\n// Build the static QR scaffolding: finders, timing and align blocks.\nfunction makeBase(info: VersionInfo) {\n const grid = makeGrid(info.size)\n const marks = Array.from({length: info.size}, () => Array<boolean>(info.size).fill(false))\n\n placeFinder(grid, marks, 0, 0)\n placeFinder(grid, marks, 0, info.size - 7)\n placeFinder(grid, marks, info.size - 7, 0)\n\n for (let i = 8; i < info.size - 8; i += 1) {\n setCell(grid, marks, 6, i, i % 2 === 0)\n setCell(grid, marks, i, 6, i % 2 === 0)\n }\n\n info.align.forEach((row) => {\n info.align.forEach((col) => {\n placeAlign(grid, marks, row, col)\n })\n })\n\n markFormat(marks)\n setCell(grid, marks, info.version * 4 + 9, 8, true)\n\n return {grid, marks}\n}\n\n// Fill open cells with payload bits using the QR zig-zag path.\nfunction placeData(grid: (boolean | null)[][], marks: boolean[][], words: number[]) {\n const size = grid.length\n const bits: number[] = []\n\n words.forEach((word) => pushBits(bits, word, 8))\n\n let index = 0\n let up = true\n\n for (let col = size - 1; col > 0; col -= 2) {\n if (col === 6) {\n col -= 1\n }\n\n let row = up ? size - 1 : 0\n\n while (row >= 0 && row < size) {\n for (let offset = 0; offset < 2; offset += 1) {\n const x = col - offset\n\n if (marks[row][x]) continue\n\n grid[row][x] = bits[index] === 1\n index += 1\n }\n\n row += up ? -1 : 1\n }\n\n up = !up\n }\n\n for (let row = 0; row < size; row += 1) {\n for (let col = 0; col < size; col += 1) {\n if (!marks[row][col] && grid[row][col] == null) {\n grid[row][col] = false\n }\n }\n }\n}\n\n// Check whether the current mask flips this module.\nfunction shouldFlip(mask: number, row: number, col: number) {\n switch (mask) {\n case 0:\n return (row + col) % 2 === 0\n case 1:\n return row % 2 === 0\n case 2:\n return col % 3 === 0\n case 3:\n return (row + col) % 3 === 0\n case 4:\n return (Math.floor(row / 2) + Math.floor(col / 3)) % 2 === 0\n case 5:\n return ((row * col) % 2) + ((row * col) % 3) === 0\n case 6:\n return (((row * col) % 2) + ((row * col) % 3)) % 2 === 0\n case 7:\n return (((row + col) % 2) + ((row * col) % 3)) % 2 === 0\n default:\n return false\n }\n}\n\n// Apply one mask while leaving reserved cells untouched.\nfunction applyMask(grid: (boolean | null)[][], marks: boolean[][], mask: number) {\n return grid.map((line, row) =>\n line.map((cell, col) => {\n if (marks[row][col]) return Boolean(cell)\n return shouldFlip(mask, row, col) ? !cell : Boolean(cell)\n })\n )\n}\n\n// Write format bits into both reserved format strips.\nfunction withFormat(grid: boolean[][], mask: number) {\n const size = grid.length\n const bits = formatBits[mask]\n const left = [\n [8, 0],\n [8, 1],\n [8, 2],\n [8, 3],\n [8, 4],\n [8, 5],\n [8, 7],\n [8, 8],\n [7, 8],\n [5, 8],\n [4, 8],\n [3, 8],\n [2, 8],\n [1, 8],\n [0, 8],\n ]\n const right = [\n [size - 1, 8],\n [size - 2, 8],\n [size - 3, 8],\n [size - 4, 8],\n [size - 5, 8],\n [size - 6, 8],\n [size - 7, 8],\n [8, size - 8],\n [8, size - 7],\n [8, size - 6],\n [8, size - 5],\n [8, size - 4],\n [8, size - 3],\n [8, size - 2],\n [8, size - 1],\n ]\n const next = grid.map((line) => [...line])\n\n bits.split('').forEach((bit, index) => {\n const dark = bit === '1'\n const [leftRow, leftCol] = left[index]\n const [rightRow, rightCol] = right[index]\n\n next[leftRow][leftCol] = dark\n next[rightRow][rightCol] = dark\n })\n\n return next\n}\n\n// Penalize long runs of the same color.\nfunction runPenalty(values: boolean[]) {\n let score = 0\n let run = 1\n\n for (let i = 1; i <= values.length; i += 1) {\n if (values[i] === values[i - 1]) {\n run += 1\n continue\n }\n\n if (run >= 5) {\n score += run - 2\n }\n\n run = 1\n }\n\n return score\n}\n\n// Penalize large flat blocks that scan poorly.\nfunction blockPenalty(grid: boolean[][]) {\n let score = 0\n\n for (let row = 0; row < grid.length - 1; row += 1) {\n for (let col = 0; col < grid.length - 1; col += 1) {\n const cell = grid[row][col]\n\n if (cell === grid[row][col + 1] && cell === grid[row + 1][col] && cell === grid[row + 1][col + 1]) {\n score += 3\n }\n }\n }\n\n return score\n}\n\n// Penalize patterns that look too similar to finder markers.\nfunction finderPenalty(values: boolean[]) {\n const matchA = '10111010000'\n const matchB = '00001011101'\n let score = 0\n\n for (let i = 0; i <= values.length - 11; i += 1) {\n const slice = values\n .slice(i, i + 11)\n .map((cell) => (cell ? '1' : '0'))\n .join('')\n\n if (slice === matchA || slice === matchB) {\n score += 40\n }\n }\n\n return score\n}\n\n// Keep the dark/light balance near the QR target.\nfunction ratioPenalty(grid: boolean[][]) {\n const total = grid.length * grid.length\n const dark = grid.flat().filter(Boolean).length\n const ratio = (dark * 100) / total\n return Math.floor(Math.abs(ratio - 50) / 5) * 10\n}\n\n// Sum the standard QR penalties for one candidate matrix.\nfunction getPenalty(grid: boolean[][]) {\n let score = 0\n\n for (let row = 0; row < grid.length; row += 1) {\n score += runPenalty(grid[row])\n score += finderPenalty(grid[row])\n }\n\n for (let col = 0; col < grid.length; col += 1) {\n const line = grid.map((row) => row[col])\n score += runPenalty(line)\n score += finderPenalty(line)\n }\n\n score += blockPenalty(grid)\n score += ratioPenalty(grid)\n\n return score\n}\n\n// Build the final matrix and pick the mask with the lowest penalty.\nfunction makeMatrix(value: string) {\n const data = Array.from(encoder.encode(value))\n const info = pickVersion(data.length)\n\n if (!info) {\n return null\n }\n\n const {grid, marks} = makeBase(info)\n placeData(grid, marks, encodeData(value, info))\n\n let bestMask = 0\n let bestGrid = withFormat(applyMask(grid, marks, 0), 0)\n let bestScore = getPenalty(bestGrid)\n\n for (let mask = 1; mask < 8; mask += 1) {\n const masked = withFormat(applyMask(grid, marks, mask), mask)\n const score = getPenalty(masked)\n\n if (score < bestScore) {\n bestMask = mask\n bestGrid = masked\n bestScore = score\n }\n }\n\n return {grid: bestGrid, mask: bestMask}\n}\n\n// Render a local SVG QR code without adding a runtime dependency.\nexport function MQrCode({\n value,\n size = 144,\n padding = 4,\n fg = '#111827',\n bg = '#ffffff',\n status = 'idle',\n statusLabel,\n className,\n style,\n ...rest\n}: MQrCodeProps) {\n const qr = makeMatrix(value)\n\n if (!qr) {\n return null\n }\n\n const dimension = qr.grid.length + padding * 2\n const nextStyle = {\n '--qr-size': `${size}px`,\n ...style,\n } as CSSProperties\n const statusColor = status === 'success' ? 'success' : status === 'error' ? 'error' : 'primary'\n\n return (\n <div\n className={cn('qr-code', status !== 'idle' && `status-${status}`, className)}\n style={nextStyle}\n aria-busy={status === 'loading' || undefined}\n {...rest}\n >\n <svg\n className={cn(status !== 'idle' && 'dimmed')}\n viewBox={`0 0 ${dimension} ${dimension}`}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n aria-label=\"QR code\"\n >\n <rect width={dimension} height={dimension} fill={bg} />\n {qr.grid.map((line, row) =>\n line.map((cell, col) =>\n cell ? (\n <rect\n key={`${row}-${col}`}\n x={col + padding}\n y={row + padding}\n width=\"1\"\n height=\"1\"\n fill={fg}\n />\n ) : null\n )\n )}\n </svg>\n {status !== 'idle' && (\n <div className=\"qr-status-center\" aria-label={statusLabel ?? `QR code ${status}`} role=\"status\">\n {status === 'loading' ? (\n <MButton\n variant=\"ghost\"\n size=\"lg\"\n color={statusColor}\n shape=\"circle\"\n iconOnly\n loading\n pulsing\n disabled\n tabIndex={-1}\n className=\"qr-status-chip\"\n aria-hidden=\"true\"\n />\n ) : status === 'success' ? (\n <MButton\n variant=\"ghost\"\n size=\"lg\"\n color={statusColor}\n shape=\"circle\"\n iconOnly\n pulsing\n disabled\n tabIndex={-1}\n className=\"qr-status-chip\"\n aria-hidden=\"true\"\n >\n <MSuccessIcon />\n </MButton>\n ) : (\n <MButton\n variant=\"ghost\"\n size=\"lg\"\n color={statusColor}\n shape=\"circle\"\n iconOnly\n pulsing\n disabled\n tabIndex={-1}\n className=\"qr-status-chip\"\n aria-hidden=\"true\"\n >\n <MErrorIcon />\n </MButton>\n )}\n </div>\n )}\n </div>\n )\n}\n"],"mappings":"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"}
|