@commercetools/nimbus 0.0.0-canary-20251020195126 → 0.0.0-canary-20251021173355
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/chunks/{accordion-B_1KNzgc.cjs.js → accordion-DSGEXEhr.cjs.js} +2 -2
- package/dist/chunks/{accordion-B_1KNzgc.cjs.js.map → accordion-DSGEXEhr.cjs.js.map} +1 -1
- package/dist/chunks/{accordion-Dpz27R7h.es.js → accordion-qGqsBPyL.es.js} +2 -2
- package/dist/chunks/{accordion-Dpz27R7h.es.js.map → accordion-qGqsBPyL.es.js.map} +1 -1
- package/dist/chunks/{alert-CvjNVv19.cjs.js → alert-TRDlquOA.cjs.js} +2 -2
- package/dist/chunks/{alert-CvjNVv19.cjs.js.map → alert-TRDlquOA.cjs.js.map} +1 -1
- package/dist/chunks/{alert-NU_pbX5a.es.js → alert-oRDhQkv5.es.js} +2 -2
- package/dist/chunks/{alert-NU_pbX5a.es.js.map → alert-oRDhQkv5.es.js.map} +1 -1
- package/dist/chunks/{button-DVq0Tn9x.cjs.js → button-DBJWE37u.cjs.js} +2 -2
- package/dist/chunks/{button-DVq0Tn9x.cjs.js.map → button-DBJWE37u.cjs.js.map} +1 -1
- package/dist/chunks/{button-C-aK04VC.es.js → button-DPyMVftu.es.js} +2 -2
- package/dist/chunks/{button-C-aK04VC.es.js.map → button-DPyMVftu.es.js.map} +1 -1
- package/dist/chunks/{calendar-68UPkecF.cjs.js → calendar-CmXy0cPT.cjs.js} +2 -2
- package/dist/chunks/{calendar-68UPkecF.cjs.js.map → calendar-CmXy0cPT.cjs.js.map} +1 -1
- package/dist/chunks/{calendar-BOltdZgB.es.js → calendar-oIF-zfZk.es.js} +4 -4
- package/dist/chunks/{calendar-BOltdZgB.es.js.map → calendar-oIF-zfZk.es.js.map} +1 -1
- package/dist/chunks/{checkbox-CE8KCGeO.es.js → checkbox-Ba3nSo59.es.js} +2 -2
- package/dist/chunks/{checkbox-CE8KCGeO.es.js.map → checkbox-Ba3nSo59.es.js.map} +1 -1
- package/dist/chunks/{checkbox-BsF8yKNU.cjs.js → checkbox-BemzZgDS.cjs.js} +2 -2
- package/dist/chunks/{checkbox-BsF8yKNU.cjs.js.map → checkbox-BemzZgDS.cjs.js.map} +1 -1
- package/dist/chunks/{collapsible-motion-YVxwOqMx.es.js → collapsible-motion-ChDBaGDk.es.js} +2 -2
- package/dist/chunks/{collapsible-motion-YVxwOqMx.es.js.map → collapsible-motion-ChDBaGDk.es.js.map} +1 -1
- package/dist/chunks/{collapsible-motion-JlRqk1WP.cjs.js → collapsible-motion-cY4bTAQ3.cjs.js} +2 -2
- package/dist/chunks/{collapsible-motion-JlRqk1WP.cjs.js.map → collapsible-motion-cY4bTAQ3.cjs.js.map} +1 -1
- package/dist/chunks/{combobox-DxZYSfXC.es.js → combobox-KB0akVts.es.js} +5 -5
- package/dist/chunks/{combobox-DxZYSfXC.es.js.map → combobox-KB0akVts.es.js.map} +1 -1
- package/dist/chunks/{combobox--SFKwkv-.cjs.js → combobox-djmE5cgW.cjs.js} +2 -2
- package/dist/chunks/{combobox--SFKwkv-.cjs.js.map → combobox-djmE5cgW.cjs.js.map} +1 -1
- package/dist/chunks/{data-table-CVOGG34V.es.js → data-table-Bsv_hjhy.es.js} +5 -5
- package/dist/chunks/{data-table-CVOGG34V.es.js.map → data-table-Bsv_hjhy.es.js.map} +1 -1
- package/dist/chunks/{data-table-dVWkgyi0.cjs.js → data-table-DHPEKVQl.cjs.js} +2 -2
- package/dist/chunks/{data-table-dVWkgyi0.cjs.js.map → data-table-DHPEKVQl.cjs.js.map} +1 -1
- package/dist/chunks/{date-input-_QRphDSA.es.js → date-input-BsjCF8tk.es.js} +3 -3
- package/dist/chunks/{date-input-_QRphDSA.es.js.map → date-input-BsjCF8tk.es.js.map} +1 -1
- package/dist/chunks/{date-input-CPl8mFy8.cjs.js → date-input-CSJV8IVf.cjs.js} +2 -2
- package/dist/chunks/{date-input-CPl8mFy8.cjs.js.map → date-input-CSJV8IVf.cjs.js.map} +1 -1
- package/dist/chunks/{date-picker-iuCCrF6q.es.js → date-picker-ClR6hL46.es.js} +7 -7
- package/dist/chunks/{date-picker-iuCCrF6q.es.js.map → date-picker-ClR6hL46.es.js.map} +1 -1
- package/dist/chunks/{date-picker-4WW_uOY9.cjs.js → date-picker-DXIjMGQT.cjs.js} +2 -2
- package/dist/chunks/{date-picker-4WW_uOY9.cjs.js.map → date-picker-DXIjMGQT.cjs.js.map} +1 -1
- package/dist/chunks/{date-range-picker-B5thxmG7.cjs.js → date-range-picker-DrfyQRXe.cjs.js} +2 -2
- package/dist/chunks/{date-range-picker-B5thxmG7.cjs.js.map → date-range-picker-DrfyQRXe.cjs.js.map} +1 -1
- package/dist/chunks/{date-range-picker-9gMrujrF.es.js → date-range-picker-SaGG53EV.es.js} +7 -7
- package/dist/chunks/{date-range-picker-9gMrujrF.es.js.map → date-range-picker-SaGG53EV.es.js.map} +1 -1
- package/dist/chunks/{dialog-B9olReM9.cjs.js → dialog-B3RSB8sN.cjs.js} +2 -2
- package/dist/chunks/{dialog-B9olReM9.cjs.js.map → dialog-B3RSB8sN.cjs.js.map} +1 -1
- package/dist/chunks/{dialog-DkA2M2zA.es.js → dialog-B3lILV04.es.js} +2 -2
- package/dist/chunks/{dialog-DkA2M2zA.es.js.map → dialog-B3lILV04.es.js.map} +1 -1
- package/dist/chunks/{dialog.title-BjZfOiGY.cjs.js → dialog.title-A4z504qq.cjs.js} +2 -2
- package/dist/chunks/{dialog.title-BjZfOiGY.cjs.js.map → dialog.title-A4z504qq.cjs.js.map} +1 -1
- package/dist/chunks/{dialog.title-8ujXI7iT.es.js → dialog.title-BV6CRPsm.es.js} +3 -3
- package/dist/chunks/{dialog.title-8ujXI7iT.es.js.map → dialog.title-BV6CRPsm.es.js.map} +1 -1
- package/dist/chunks/{draggable-list-Clv2Jb9U.es.js → draggable-list-Ca9Fmn5s.es.js} +5 -5
- package/dist/chunks/{draggable-list-Clv2Jb9U.es.js.map → draggable-list-Ca9Fmn5s.es.js.map} +1 -1
- package/dist/chunks/{draggable-list-BWC9cgUJ.cjs.js → draggable-list-WF8DZYUH.cjs.js} +2 -2
- package/dist/chunks/{draggable-list-BWC9cgUJ.cjs.js.map → draggable-list-WF8DZYUH.cjs.js.map} +1 -1
- package/dist/chunks/{drawer-CPcfw8l3.cjs.js → drawer-Cav9VbD7.cjs.js} +2 -2
- package/dist/chunks/{drawer-CPcfw8l3.cjs.js.map → drawer-Cav9VbD7.cjs.js.map} +1 -1
- package/dist/chunks/{drawer-CGkXe_9E.es.js → drawer-DOasWYnp.es.js} +4 -4
- package/dist/chunks/{drawer-CGkXe_9E.es.js.map → drawer-DOasWYnp.es.js.map} +1 -1
- package/dist/chunks/{extract-style-props-Cg1pKYtC.es.js → extract-style-props-CHpzYLGm.es.js} +2 -2
- package/dist/chunks/{extract-style-props-Cg1pKYtC.es.js.map → extract-style-props-CHpzYLGm.es.js.map} +1 -1
- package/dist/chunks/{extract-style-props-Dk3fpLyQ.cjs.js → extract-style-props-KhpIPABw.cjs.js} +2 -2
- package/dist/chunks/{extract-style-props-Dk3fpLyQ.cjs.js.map → extract-style-props-KhpIPABw.cjs.js.map} +1 -1
- package/dist/chunks/{form-field-CSEMgt-e.es.js → form-field-AU_H4IwN.es.js} +2 -2
- package/dist/chunks/{form-field-CSEMgt-e.es.js.map → form-field-AU_H4IwN.es.js.map} +1 -1
- package/dist/chunks/{form-field-BeYe6Fae.cjs.js → form-field-B4SvBs6l.cjs.js} +2 -2
- package/dist/chunks/{form-field-BeYe6Fae.cjs.js.map → form-field-B4SvBs6l.cjs.js.map} +1 -1
- package/dist/chunks/{icon-button-DBJF6Y-T.cjs.js → icon-button-By5kCd-5.cjs.js} +2 -2
- package/dist/chunks/{icon-button-DBJF6Y-T.cjs.js.map → icon-button-By5kCd-5.cjs.js.map} +1 -1
- package/dist/chunks/{icon-button-DR2FLlZ4.es.js → icon-button-CdIIe5w1.es.js} +2 -2
- package/dist/chunks/{icon-button-DR2FLlZ4.es.js.map → icon-button-CdIIe5w1.es.js.map} +1 -1
- package/dist/chunks/{icon-toggle-button-Cqb4cQyZ.cjs.js → icon-toggle-button-B5RGHtU0.cjs.js} +2 -2
- package/dist/chunks/{icon-toggle-button-Cqb4cQyZ.cjs.js.map → icon-toggle-button-B5RGHtU0.cjs.js.map} +1 -1
- package/dist/chunks/{icon-toggle-button-BM45U1ea.es.js → icon-toggle-button-JEjHG0sc.es.js} +2 -2
- package/dist/chunks/{icon-toggle-button-BM45U1ea.es.js.map → icon-toggle-button-JEjHG0sc.es.js.map} +1 -1
- package/dist/chunks/{index-CRFg4Mhx.cjs.js → index-D_vaB826.cjs.js} +2 -2
- package/dist/chunks/index-D_vaB826.cjs.js.map +1 -0
- package/dist/chunks/{index-D6WdXWQX.es.js → index-DgmyBTGN.es.js} +26 -31
- package/dist/chunks/index-DgmyBTGN.es.js.map +1 -0
- package/dist/chunks/{localized-field-Dn2G8N65.es.js → localized-field-BWOWbS0n.es.js} +8 -8
- package/dist/chunks/localized-field-BWOWbS0n.es.js.map +1 -0
- package/dist/chunks/{localized-field-vfjg6ZQw.cjs.js → localized-field-DYEG251P.cjs.js} +2 -2
- package/dist/chunks/localized-field-DYEG251P.cjs.js.map +1 -0
- package/dist/chunks/{menu-D9Ji3iaH.es.js → menu-KpNoPQU3.es.js} +2 -2
- package/dist/chunks/{menu-D9Ji3iaH.es.js.map → menu-KpNoPQU3.es.js.map} +1 -1
- package/dist/chunks/{menu-x3kqOUl0.cjs.js → menu-y9u1LpRz.cjs.js} +2 -2
- package/dist/chunks/{menu-x3kqOUl0.cjs.js.map → menu-y9u1LpRz.cjs.js.map} +1 -1
- package/dist/chunks/money-input-B31JK8Hy.cjs.js +2 -0
- package/dist/chunks/money-input-B31JK8Hy.cjs.js.map +1 -0
- package/dist/chunks/{money-input-CyikuiLb.es.js → money-input-B73nxLNR.es.js} +125 -126
- package/dist/chunks/money-input-B73nxLNR.es.js.map +1 -0
- package/dist/chunks/{multiline-text-input-B-iIj6LP.cjs.js → multiline-text-input-B3QkRPNx.cjs.js} +2 -2
- package/dist/chunks/{multiline-text-input-B-iIj6LP.cjs.js.map → multiline-text-input-B3QkRPNx.cjs.js.map} +1 -1
- package/dist/chunks/{multiline-text-input-BGekltlt.es.js → multiline-text-input-D1fu1Eta.es.js} +3 -3
- package/dist/chunks/{multiline-text-input-BGekltlt.es.js.map → multiline-text-input-D1fu1Eta.es.js.map} +1 -1
- package/dist/chunks/nimbus-provider-BDmq6AzA.es.js +102 -0
- package/dist/chunks/nimbus-provider-BDmq6AzA.es.js.map +1 -0
- package/dist/chunks/nimbus-provider-WsvQ1e2w.cjs.js +2 -0
- package/dist/chunks/nimbus-provider-WsvQ1e2w.cjs.js.map +1 -0
- package/dist/chunks/{number-input-e4aNnp4Q.es.js → number-input-BNhWxDtw.es.js} +3 -3
- package/dist/chunks/{number-input-e4aNnp4Q.es.js.map → number-input-BNhWxDtw.es.js.map} +1 -1
- package/dist/chunks/{number-input-CBJ0pAwK.cjs.js → number-input-IGzwI6It.cjs.js} +2 -2
- package/dist/chunks/{number-input-CBJ0pAwK.cjs.js.map → number-input-IGzwI6It.cjs.js.map} +1 -1
- package/dist/chunks/{pagination-BJNQAP9b.es.js → pagination-DPNu_ESN.es.js} +4 -4
- package/dist/chunks/{pagination-BJNQAP9b.es.js.map → pagination-DPNu_ESN.es.js.map} +1 -1
- package/dist/chunks/{pagination-BUau2zil.cjs.js → pagination-De4lNc8M.cjs.js} +2 -2
- package/dist/chunks/{pagination-BUau2zil.cjs.js.map → pagination-De4lNc8M.cjs.js.map} +1 -1
- package/dist/chunks/{password-input-DgloRBJz.cjs.js → password-input-D5tZVRkW.cjs.js} +2 -2
- package/dist/chunks/{password-input-DgloRBJz.cjs.js.map → password-input-D5tZVRkW.cjs.js.map} +1 -1
- package/dist/chunks/{password-input-CzZKl1EE.es.js → password-input-GaNFcHfS.es.js} +3 -3
- package/dist/chunks/{password-input-CzZKl1EE.es.js.map → password-input-GaNFcHfS.es.js.map} +1 -1
- package/dist/chunks/{progress-bar-CRb4HUlh.cjs.js → progress-bar-BUuccHqU.cjs.js} +2 -2
- package/dist/chunks/{progress-bar-CRb4HUlh.cjs.js.map → progress-bar-BUuccHqU.cjs.js.map} +1 -1
- package/dist/chunks/{progress-bar-CtlTFrb-.es.js → progress-bar-DSdNuSmY.es.js} +2 -2
- package/dist/chunks/{progress-bar-CtlTFrb-.es.js.map → progress-bar-DSdNuSmY.es.js.map} +1 -1
- package/dist/chunks/{radio-input-CJjKZ56j.cjs.js → radio-input-B8DC66Dq.cjs.js} +2 -2
- package/dist/chunks/{radio-input-CJjKZ56j.cjs.js.map → radio-input-B8DC66Dq.cjs.js.map} +1 -1
- package/dist/chunks/{radio-input-COzb7v5p.es.js → radio-input-BmqKw3a4.es.js} +3 -3
- package/dist/chunks/{radio-input-COzb7v5p.es.js.map → radio-input-BmqKw3a4.es.js.map} +1 -1
- package/dist/chunks/{range-calendar-DGUcaTaL.cjs.js → range-calendar-DsSZfcRh.cjs.js} +2 -2
- package/dist/chunks/{range-calendar-DGUcaTaL.cjs.js.map → range-calendar-DsSZfcRh.cjs.js.map} +1 -1
- package/dist/chunks/{range-calendar-DWiND2-r.es.js → range-calendar-jzcPhhWP.es.js} +4 -4
- package/dist/chunks/{range-calendar-DWiND2-r.es.js.map → range-calendar-jzcPhhWP.es.js.map} +1 -1
- package/dist/chunks/{rich-text-input-bAQaG3hR.es.js → rich-text-input-C0MorZCK.es.js} +8 -8
- package/dist/chunks/{rich-text-input-bAQaG3hR.es.js.map → rich-text-input-C0MorZCK.es.js.map} +1 -1
- package/dist/chunks/{rich-text-input-DXl_zylc.cjs.js → rich-text-input-OlfGBRSb.cjs.js} +2 -2
- package/dist/chunks/{rich-text-input-DXl_zylc.cjs.js.map → rich-text-input-OlfGBRSb.cjs.js.map} +1 -1
- package/dist/chunks/{scoped-search-input-C8rggS1W.es.js → scoped-search-input-COwEJrBr.es.js} +5 -5
- package/dist/chunks/{scoped-search-input-C8rggS1W.es.js.map → scoped-search-input-COwEJrBr.es.js.map} +1 -1
- package/dist/chunks/{scoped-search-input-CL35u_qe.cjs.js → scoped-search-input-CzlCQxEr.cjs.js} +2 -2
- package/dist/chunks/{scoped-search-input-CL35u_qe.cjs.js.map → scoped-search-input-CzlCQxEr.cjs.js.map} +1 -1
- package/dist/chunks/{search-input-DCRuc8TX.es.js → search-input-CNWJt3sr.es.js} +4 -4
- package/dist/chunks/{search-input-DCRuc8TX.es.js.map → search-input-CNWJt3sr.es.js.map} +1 -1
- package/dist/chunks/{search-input-Dg6bANcB.cjs.js → search-input-Dny-ZfkH.cjs.js} +2 -2
- package/dist/chunks/{search-input-Dg6bANcB.cjs.js.map → search-input-Dny-ZfkH.cjs.js.map} +1 -1
- package/dist/chunks/{select-8M7Fx0Aj.es.js → select-BX8CxAIO.es.js} +4 -4
- package/dist/chunks/{select-8M7Fx0Aj.es.js.map → select-BX8CxAIO.es.js.map} +1 -1
- package/dist/chunks/{select-BmeHhM6P.cjs.js → select-eR7J0RJa.cjs.js} +2 -2
- package/dist/chunks/{select-BmeHhM6P.cjs.js.map → select-eR7J0RJa.cjs.js.map} +1 -1
- package/dist/chunks/{separator-C62eVjZN.cjs.js → separator-BjczrqRN.cjs.js} +2 -2
- package/dist/chunks/{separator-C62eVjZN.cjs.js.map → separator-BjczrqRN.cjs.js.map} +1 -1
- package/dist/chunks/{separator-BWeCBIxn.es.js → separator-IU-dtU00.es.js} +3 -3
- package/dist/chunks/{separator-BWeCBIxn.es.js.map → separator-IU-dtU00.es.js.map} +1 -1
- package/dist/chunks/{split-button-D1m7jEzh.es.js → split-button-D2jrXscW.es.js} +4 -4
- package/dist/chunks/{split-button-D1m7jEzh.es.js.map → split-button-D2jrXscW.es.js.map} +1 -1
- package/dist/chunks/{split-button-DCQPz8zr.cjs.js → split-button-QsjuZo85.cjs.js} +2 -2
- package/dist/chunks/{split-button-DCQPz8zr.cjs.js.map → split-button-QsjuZo85.cjs.js.map} +1 -1
- package/dist/chunks/{switch-DCARSVF8.cjs.js → switch-BgdV_tH-.cjs.js} +2 -2
- package/dist/chunks/{switch-DCARSVF8.cjs.js.map → switch-BgdV_tH-.cjs.js.map} +1 -1
- package/dist/chunks/{switch-D_3c0qqj.es.js → switch-CysGpMQp.es.js} +3 -3
- package/dist/chunks/{switch-D_3c0qqj.es.js.map → switch-CysGpMQp.es.js.map} +1 -1
- package/dist/chunks/{tabs-Bu_-Hx4D.es.js → tabs-BL_wffCN.es.js} +2 -2
- package/dist/chunks/{tabs-Bu_-Hx4D.es.js.map → tabs-BL_wffCN.es.js.map} +1 -1
- package/dist/chunks/{tabs-DfiWctDh.cjs.js → tabs-DPmsaPOs.cjs.js} +2 -2
- package/dist/chunks/{tabs-DfiWctDh.cjs.js.map → tabs-DPmsaPOs.cjs.js.map} +1 -1
- package/dist/chunks/{tag-group-CwiG07wb.cjs.js → tag-group-nMUPcRkc.cjs.js} +2 -2
- package/dist/chunks/{tag-group-CwiG07wb.cjs.js.map → tag-group-nMUPcRkc.cjs.js.map} +1 -1
- package/dist/chunks/{tag-group-M-514iVh.es.js → tag-group-pkBXTUxP.es.js} +2 -2
- package/dist/chunks/{tag-group-M-514iVh.es.js.map → tag-group-pkBXTUxP.es.js.map} +1 -1
- package/dist/chunks/{text-input-EVB84mKj.cjs.js → text-input-Dp9hDxgz.cjs.js} +2 -2
- package/dist/chunks/{text-input-EVB84mKj.cjs.js.map → text-input-Dp9hDxgz.cjs.js.map} +1 -1
- package/dist/chunks/{text-input-DkOL-5_E.es.js → text-input-lnixyU8q.es.js} +3 -3
- package/dist/chunks/{text-input-DkOL-5_E.es.js.map → text-input-lnixyU8q.es.js.map} +1 -1
- package/dist/chunks/{time-input-DQidALjG.es.js → time-input-BDWTODNy.es.js} +3 -3
- package/dist/chunks/{time-input-DQidALjG.es.js.map → time-input-BDWTODNy.es.js.map} +1 -1
- package/dist/chunks/{time-input-B9UjERFQ.cjs.js → time-input-BhQq-KSp.cjs.js} +2 -2
- package/dist/chunks/{time-input-B9UjERFQ.cjs.js.map → time-input-BhQq-KSp.cjs.js.map} +1 -1
- package/dist/chunks/{toggle-button-DVBPrGUn.cjs.js → toggle-button-BeLLjgUA.cjs.js} +2 -2
- package/dist/chunks/{toggle-button-DVBPrGUn.cjs.js.map → toggle-button-BeLLjgUA.cjs.js.map} +1 -1
- package/dist/chunks/{toggle-button-DRRMHCoV.es.js → toggle-button-rKQHaIfc.es.js} +3 -3
- package/dist/chunks/{toggle-button-DRRMHCoV.es.js.map → toggle-button-rKQHaIfc.es.js.map} +1 -1
- package/dist/chunks/{toolbar-JF64ZgP6.es.js → toolbar-B_QVHYyc.es.js} +3 -3
- package/dist/chunks/{toolbar-JF64ZgP6.es.js.map → toolbar-B_QVHYyc.es.js.map} +1 -1
- package/dist/chunks/{toolbar-BkLgUhIG.cjs.js → toolbar-BpOLF75D.cjs.js} +2 -2
- package/dist/chunks/{toolbar-BkLgUhIG.cjs.js.map → toolbar-BpOLF75D.cjs.js.map} +1 -1
- package/dist/components/accordion.cjs +1 -1
- package/dist/components/accordion.es.js +1 -1
- package/dist/components/alert.cjs +1 -1
- package/dist/components/alert.es.js +1 -1
- package/dist/components/button.cjs +1 -1
- package/dist/components/button.es.js +1 -1
- package/dist/components/calendar.cjs +1 -1
- package/dist/components/calendar.es.js +1 -1
- package/dist/components/checkbox.cjs +1 -1
- package/dist/components/checkbox.es.js +1 -1
- package/dist/components/collapsible-motion.cjs +1 -1
- package/dist/components/collapsible-motion.es.js +1 -1
- package/dist/components/combobox.cjs +1 -1
- package/dist/components/combobox.es.js +1 -1
- package/dist/components/components.cjs +1 -1
- package/dist/components/components.es.js +1 -1
- package/dist/components/data-table.cjs +1 -1
- package/dist/components/data-table.es.js +1 -1
- package/dist/components/date-input.cjs +1 -1
- package/dist/components/date-input.es.js +1 -1
- package/dist/components/date-picker.cjs +1 -1
- package/dist/components/date-picker.es.js +1 -1
- package/dist/components/date-range-picker.cjs +1 -1
- package/dist/components/date-range-picker.es.js +1 -1
- package/dist/components/dialog.cjs +1 -1
- package/dist/components/dialog.es.js +1 -1
- package/dist/components/draggable-list.cjs +1 -1
- package/dist/components/draggable-list.es.js +1 -1
- package/dist/components/drawer.cjs +1 -1
- package/dist/components/drawer.es.js +1 -1
- package/dist/components/form-field.cjs +1 -1
- package/dist/components/form-field.es.js +1 -1
- package/dist/components/icon-button.cjs +1 -1
- package/dist/components/icon-button.es.js +1 -1
- package/dist/components/icon-toggle-button.cjs +1 -1
- package/dist/components/icon-toggle-button.es.js +1 -1
- package/dist/components/localized-field/localized-field.d.ts +4 -4
- package/dist/components/localized-field/localized-field.types.d.ts +9 -9
- package/dist/components/localized-field/utils/localized-field.utils.d.ts +6 -6
- package/dist/components/localized-field/utils/test-data.d.ts +2 -2
- package/dist/components/localized-field.cjs +1 -1
- package/dist/components/localized-field.es.js +1 -1
- package/dist/components/money-input/index.d.ts +1 -1
- package/dist/components/money-input/money-input.d.ts +6 -6
- package/dist/components/money-input/money-input.recipe.d.ts +2 -6
- package/dist/components/money-input/money-input.types.d.ts +9 -9
- package/dist/components/money-input/utils/parsing-utilities.d.ts +10 -10
- package/dist/components/money-input/utils/static-methods.d.ts +5 -5
- package/dist/components/money-input.cjs +1 -1
- package/dist/components/money-input.es.js +1 -1
- package/dist/components/multiline-text-input.cjs +1 -1
- package/dist/components/multiline-text-input.es.js +1 -1
- package/dist/components/nimbus-provider/index.d.ts +1 -0
- package/dist/components/nimbus-provider/nimbus-provider.d.ts +1 -1
- package/dist/components/nimbus-provider.cjs +1 -1
- package/dist/components/nimbus-provider.es.js +3 -1
- package/dist/components/nimbus-provider.es.js.map +1 -1
- package/dist/components/number-input.cjs +1 -1
- package/dist/components/number-input.es.js +1 -1
- package/dist/components/pagination.cjs +1 -1
- package/dist/components/pagination.es.js +1 -1
- package/dist/components/password-input.cjs +1 -1
- package/dist/components/password-input.es.js +1 -1
- package/dist/components/progress-bar.cjs +1 -1
- package/dist/components/progress-bar.es.js +1 -1
- package/dist/components/radio-input.cjs +1 -1
- package/dist/components/radio-input.es.js +1 -1
- package/dist/components/range-calendar.cjs +1 -1
- package/dist/components/range-calendar.es.js +1 -1
- package/dist/components/rich-text-input.cjs +1 -1
- package/dist/components/rich-text-input.es.js +1 -1
- package/dist/components/scoped-search-input.cjs +1 -1
- package/dist/components/scoped-search-input.es.js +1 -1
- package/dist/components/search-input.cjs +1 -1
- package/dist/components/search-input.es.js +1 -1
- package/dist/components/select.cjs +1 -1
- package/dist/components/select.es.js +1 -1
- package/dist/components/separator.cjs +1 -1
- package/dist/components/separator.es.js +1 -1
- package/dist/components/split-button.cjs +1 -1
- package/dist/components/split-button.es.js +1 -1
- package/dist/components/switch.cjs +1 -1
- package/dist/components/switch.es.js +1 -1
- package/dist/components/tabs.cjs +1 -1
- package/dist/components/tabs.es.js +1 -1
- package/dist/components/tag-group.cjs +1 -1
- package/dist/components/tag-group.es.js +1 -1
- package/dist/components/text-input.cjs +1 -1
- package/dist/components/text-input.es.js +1 -1
- package/dist/components/time-input.cjs +1 -1
- package/dist/components/time-input.es.js +1 -1
- package/dist/components/toggle-button.cjs +1 -1
- package/dist/components/toggle-button.es.js +1 -1
- package/dist/components/toolbar.cjs +1 -1
- package/dist/components/toolbar.es.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.es.js +170 -168
- package/dist/index.es.js.map +1 -1
- package/dist/theme/slot-recipes/index.d.ts +2 -6
- package/package.json +5 -5
- package/dist/chunks/index-CRFg4Mhx.cjs.js.map +0 -1
- package/dist/chunks/index-D6WdXWQX.es.js.map +0 -1
- package/dist/chunks/localized-field-Dn2G8N65.es.js.map +0 -1
- package/dist/chunks/localized-field-vfjg6ZQw.cjs.js.map +0 -1
- package/dist/chunks/money-input-CyikuiLb.es.js.map +0 -1
- package/dist/chunks/money-input-DzmW3hCJ.cjs.js +0 -2
- package/dist/chunks/money-input-DzmW3hCJ.cjs.js.map +0 -1
- package/dist/chunks/nimbus-provider-Bah2NJ5s.cjs.js +0 -2
- package/dist/chunks/nimbus-provider-Bah2NJ5s.cjs.js.map +0 -1
- package/dist/chunks/nimbus-provider-Dvg5Fzeq.es.js +0 -101
- package/dist/chunks/nimbus-provider-Dvg5Fzeq.es.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"money-input-B31JK8Hy.cjs.js","sources":["../../src/components/money-input/utils/currencies.ts","../../src/components/money-input/money-input.slots.tsx","../../src/components/money-input/utils/parsing-utilities.ts","../../src/components/money-input/utils/static-methods.ts","../../src/components/money-input/money-input.i18n.ts","../../src/components/money-input/money-input.tsx"],"sourcesContent":["// ARCHITECTURE NOTE: Shared Currency Data\n//\n// This currency data is used by TWO INDEPENDENT formatting systems:\n//\n// 1. NumberInput System (live user interaction):\n// - Creates format options for NumberInput\n// - Powers React Aria NumberField formatting as users type\n//\n// 2. MoneyInput Static Methods System (API compatibility):\n// - Uses parseStringToMoneyValue() + TMoneyValue objects\n// - Only triggered by explicit static method calls\n//\n// Both systems access this same data but for different purposes.\n// Changes here affect both NumberInput behavior AND MoneyInput static methods.\n\nconst currencies = {\n ADP: { fractionDigits: 0 },\n AED: { fractionDigits: 2 },\n AFA: { fractionDigits: 2 },\n AFN: { fractionDigits: 2 },\n ALL: { fractionDigits: 2 },\n AMD: { fractionDigits: 2 },\n ANG: { fractionDigits: 2 },\n AOA: { fractionDigits: 2 },\n ARS: { fractionDigits: 2 },\n ATS: { fractionDigits: 2 },\n AUD: { fractionDigits: 2 },\n AWG: { fractionDigits: 2 },\n AYM: { fractionDigits: 2 },\n AZM: { fractionDigits: 2 },\n AZN: { fractionDigits: 2 },\n BAM: { fractionDigits: 2 },\n BBD: { fractionDigits: 2 },\n BDT: { fractionDigits: 2 },\n BEF: { fractionDigits: 0 },\n BGL: { fractionDigits: 2 },\n BGN: { fractionDigits: 2 },\n BHD: { fractionDigits: 3 },\n BIF: { fractionDigits: 0 },\n BMD: { fractionDigits: 2 },\n BND: { fractionDigits: 2 },\n BOB: { fractionDigits: 2 },\n BOV: { fractionDigits: 2 },\n BRL: { fractionDigits: 2 },\n BSD: { fractionDigits: 2 },\n BTN: { fractionDigits: 2 },\n BWP: { fractionDigits: 2 },\n BYB: { fractionDigits: 0 },\n BYN: { fractionDigits: 2 },\n BYR: { fractionDigits: 0 },\n BZD: { fractionDigits: 2 },\n CAD: { fractionDigits: 2 },\n CDF: { fractionDigits: 2 },\n CHF: { fractionDigits: 2 },\n CLF: { fractionDigits: 0 },\n CLP: { fractionDigits: 0 },\n CNY: { fractionDigits: 2 },\n COP: { fractionDigits: 2 },\n CRC: { fractionDigits: 2 },\n CSD: { fractionDigits: 2 },\n CUC: { fractionDigits: 2 },\n CUP: { fractionDigits: 2 },\n CVE: { fractionDigits: 2 },\n CYP: { fractionDigits: 2 },\n CZK: { fractionDigits: 2 },\n DEM: { fractionDigits: 2 },\n DJF: { fractionDigits: 0 },\n DKK: { fractionDigits: 2 },\n DOP: { fractionDigits: 2 },\n DZD: { fractionDigits: 2 },\n EEK: { fractionDigits: 2 },\n EGP: { fractionDigits: 2 },\n ERN: { fractionDigits: 2 },\n ESP: { fractionDigits: 0 },\n ETB: { fractionDigits: 2 },\n EUR: { fractionDigits: 2 },\n FIM: { fractionDigits: 2 },\n FJD: { fractionDigits: 2 },\n FKP: { fractionDigits: 2 },\n FRF: { fractionDigits: 2 },\n GBP: { fractionDigits: 2 },\n GEL: { fractionDigits: 2 },\n GHC: { fractionDigits: 2 },\n GHS: { fractionDigits: 2 },\n GIP: { fractionDigits: 2 },\n GMD: { fractionDigits: 2 },\n GNF: { fractionDigits: 0 },\n GRD: { fractionDigits: 0 },\n GTQ: { fractionDigits: 2 },\n GWP: { fractionDigits: 2 },\n GYD: { fractionDigits: 2 },\n HKD: { fractionDigits: 2 },\n HNL: { fractionDigits: 2 },\n HRK: { fractionDigits: 2 },\n HTG: { fractionDigits: 2 },\n HUF: { fractionDigits: 2 },\n IDR: { fractionDigits: 2 },\n IEP: { fractionDigits: 2 },\n ILS: { fractionDigits: 2 },\n INR: { fractionDigits: 2 },\n IQD: { fractionDigits: 3 },\n IRR: { fractionDigits: 2 },\n ISK: { fractionDigits: 0 },\n ITL: { fractionDigits: 0 },\n JMD: { fractionDigits: 2 },\n JOD: { fractionDigits: 3 },\n JPY: { fractionDigits: 0 },\n KES: { fractionDigits: 2 },\n KGS: { fractionDigits: 2 },\n KHR: { fractionDigits: 2 },\n KMF: { fractionDigits: 0 },\n KPW: { fractionDigits: 2 },\n KRW: { fractionDigits: 0 },\n KWD: { fractionDigits: 3 },\n KYD: { fractionDigits: 2 },\n KZT: { fractionDigits: 2 },\n LAK: { fractionDigits: 2 },\n LBP: { fractionDigits: 2 },\n LKR: { fractionDigits: 2 },\n LRD: { fractionDigits: 2 },\n LSL: { fractionDigits: 2 },\n LTL: { fractionDigits: 2 },\n LUF: { fractionDigits: 0 },\n LVL: { fractionDigits: 2 },\n LYD: { fractionDigits: 3 },\n MAD: { fractionDigits: 2 },\n MDL: { fractionDigits: 2 },\n MGA: { fractionDigits: 2 },\n MGF: { fractionDigits: 0 },\n MKD: { fractionDigits: 2 },\n MMK: { fractionDigits: 2 },\n MNT: { fractionDigits: 2 },\n MOP: { fractionDigits: 2 },\n MRO: { fractionDigits: 2 },\n MTL: { fractionDigits: 2 },\n MUR: { fractionDigits: 2 },\n MVR: { fractionDigits: 2 },\n MWK: { fractionDigits: 2 },\n MXN: { fractionDigits: 2 },\n MXV: { fractionDigits: 2 },\n MYR: { fractionDigits: 2 },\n MZM: { fractionDigits: 2 },\n MZN: { fractionDigits: 2 },\n NAD: { fractionDigits: 2 },\n NGN: { fractionDigits: 2 },\n NIO: { fractionDigits: 2 },\n NLG: { fractionDigits: 2 },\n NOK: { fractionDigits: 2 },\n NPR: { fractionDigits: 2 },\n NZD: { fractionDigits: 2 },\n OMR: { fractionDigits: 3 },\n PAB: { fractionDigits: 2 },\n PEN: { fractionDigits: 2 },\n PGK: { fractionDigits: 2 },\n PHP: { fractionDigits: 2 },\n PKR: { fractionDigits: 2 },\n PLN: { fractionDigits: 2 },\n PTE: { fractionDigits: 0 },\n PYG: { fractionDigits: 0 },\n QAR: { fractionDigits: 2 },\n ROL: { fractionDigits: 2 },\n RON: { fractionDigits: 2 },\n RSD: { fractionDigits: 2 },\n RUB: { fractionDigits: 2 },\n RUR: { fractionDigits: 2 },\n RWF: { fractionDigits: 0 },\n SAR: { fractionDigits: 2 },\n SBD: { fractionDigits: 2 },\n SCR: { fractionDigits: 2 },\n SDD: { fractionDigits: 2 },\n SDG: { fractionDigits: 2 },\n SEK: { fractionDigits: 2 },\n SGD: { fractionDigits: 2 },\n SHP: { fractionDigits: 2 },\n SIT: { fractionDigits: 2 },\n SKK: { fractionDigits: 2 },\n SLL: { fractionDigits: 2 },\n SOS: { fractionDigits: 2 },\n SRD: { fractionDigits: 2 },\n SRG: { fractionDigits: 2 },\n SSP: { fractionDigits: 2 },\n STD: { fractionDigits: 2 },\n SVC: { fractionDigits: 2 },\n SYP: { fractionDigits: 2 },\n SZL: { fractionDigits: 2 },\n THB: { fractionDigits: 2 },\n TJS: { fractionDigits: 2 },\n TMM: { fractionDigits: 2 },\n TMT: { fractionDigits: 2 },\n TND: { fractionDigits: 3 },\n TOP: { fractionDigits: 2 },\n TPE: { fractionDigits: 0 },\n TRL: { fractionDigits: 0 },\n TRY: { fractionDigits: 2 },\n TTD: { fractionDigits: 2 },\n TWD: { fractionDigits: 2 },\n TZS: { fractionDigits: 2 },\n UAH: { fractionDigits: 2 },\n UGX: { fractionDigits: 0 },\n USD: { fractionDigits: 2 },\n USN: { fractionDigits: 2 },\n USS: { fractionDigits: 2 },\n UYU: { fractionDigits: 2 },\n UZS: { fractionDigits: 2 },\n VEB: { fractionDigits: 2 },\n VEF: { fractionDigits: 2 },\n VND: { fractionDigits: 0 },\n VUV: { fractionDigits: 0 },\n WST: { fractionDigits: 2 },\n XAF: { fractionDigits: 0 },\n XAG: { fractionDigits: -1 },\n XAU: { fractionDigits: -1 },\n XBA: { fractionDigits: -1 },\n XBB: { fractionDigits: -1 },\n XBC: { fractionDigits: -1 },\n XBD: { fractionDigits: -1 },\n XCD: { fractionDigits: 2 },\n XDR: { fractionDigits: -1 },\n XFO: { fractionDigits: -1 },\n XFU: { fractionDigits: -1 },\n XOF: { fractionDigits: 0 },\n XPD: { fractionDigits: -1 },\n XPF: { fractionDigits: 0 },\n XPT: { fractionDigits: -1 },\n XSU: { fractionDigits: -1 },\n XTS: { fractionDigits: -1 },\n XUA: { fractionDigits: -1 },\n XXX: { fractionDigits: -1 },\n YER: { fractionDigits: 2 },\n YUM: { fractionDigits: 2 },\n ZAR: { fractionDigits: 2 },\n ZMK: { fractionDigits: 2 },\n ZMW: { fractionDigits: 2 },\n ZWD: { fractionDigits: 2 },\n ZWL: { fractionDigits: 2 },\n ZWN: { fractionDigits: 2 },\n ZWR: { fractionDigits: 2 },\n} as const;\n\nexport default currencies;\n","import { createSlotRecipeContext } from \"@chakra-ui/react\";\nimport { Group } from \"@/components\";\nimport type {\n MoneyInputRootSlotProps,\n MoneyInputContainerSlotProps,\n MoneyInputCurrencySelectSlotProps,\n MoneyInputCurrencyLabelSlotProps,\n MoneyInputAmountInputSlotProps,\n MoneyInputBadgeSlotProps,\n} from \"./money-input.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"moneyInput\",\n});\n\nexport const MoneyInputRootSlot = withProvider<\n HTMLDivElement,\n MoneyInputRootSlotProps\n>(Group, \"root\");\n\nexport const MoneyInputContainerSlot = withContext<\n HTMLDivElement,\n MoneyInputContainerSlotProps\n>(\"div\", \"container\");\n\nexport const MoneyInputCurrencySelectSlot = withContext<\n HTMLDivElement,\n MoneyInputCurrencySelectSlotProps\n>(\"div\", \"currencySelect\");\n\nexport const MoneyInputCurrencyLabelSlot = withContext<\n HTMLLabelElement,\n MoneyInputCurrencyLabelSlotProps\n>(\"label\", \"currencyLabel\");\n\nexport const MoneyInputAmountInputSlot = withContext<\n HTMLInputElement,\n MoneyInputAmountInputSlotProps\n>(\"input\", \"amountInput\");\n\nexport const MoneyInputBadgeSlot = withContext<\n HTMLDivElement,\n MoneyInputBadgeSlotProps\n>(\"div\", \"badge\");\n","import currencies from \"./currencies\";\n\nexport type CurrencyCode = keyof typeof currencies;\n\ntype MoneyConditionalProps =\n | { type: \"highPrecision\"; preciseAmount: number }\n | {\n type: \"centPrecision\";\n preciseAmount?: never;\n };\n\nexport type MoneyValue = {\n currencyCode: CurrencyCode;\n centAmount: number;\n fractionDigits: number;\n} & MoneyConditionalProps;\n\nexport type MoneyInputValue = {\n amount: string;\n currencyCode: CurrencyCode | \"\";\n};\n\n// Currency parsing utilities for MoneyInput static methods\nexport const parseStringToMoneyValue = (\n rawAmount: string,\n locale: string,\n currencyCode?: CurrencyCode | \"\"\n): MoneyValue | null => {\n if (!currencyCode) return null;\n\n const currency = currencies[currencyCode];\n if (!currency) return null;\n // The user may enter a value with a comma, dot, or apostrophe as the decimal separator.\n if (rawAmount.length === 0 || rawAmount.trim() === \"\") return null;\n\n // Only warn if locale is missing AND currency has zero fraction digits\n if (!locale && currency.fractionDigits === 0) {\n console.warn(\n `MoneyInput: A locale must be provided when currency has no fraction digits (${currencyCode})`\n );\n }\n const amountAsNumber = parseFloat(rawAmount);\n if (isNaN(amountAsNumber)) return null;\n\n // The cent amount is rounded to the currency's default number\n // of fraction digits for prices with high precision.\n //\n // Additionally, JavaScript is sometimes incorrect when multiplying floats,\n // e.g. 2.49 * 100 -> 249.00000000000003\n // While inaccuracy from multiplying floating point numbers is a\n // general problem in JS, we can avoid it by cutting off all\n // decimals. This is possible since cents is the base unit, so we\n // operate on integers anyways\n // Also we should the round the value to ensure that we come close\n // to the nearest decimal value\n // ref: https://github.com/commercetools/merchant-center-frontend/pull/770\n const centAmount = Math.trunc(\n Math.round(amountAsNumber * 10 ** currency.fractionDigits)\n );\n\n const fractionDigitsOfAmount =\n // The conversion to a string will always use a dot as the separator.\n // That means we don't have to handle a comma.\n String(amountAsNumber).indexOf(\".\") === -1\n ? 0\n : String(amountAsNumber).length - String(amountAsNumber).indexOf(\".\") - 1;\n\n if (fractionDigitsOfAmount > currency.fractionDigits) {\n return {\n type: \"highPrecision\",\n currencyCode,\n centAmount,\n preciseAmount: parseInt(\n // Here we need to convert a number like 8.066652 to its centamount\n // We could do that by multiplying it with 10 ** number-of-fraction-digits\n // but then we'll run into problems with JavaScript's floating point\n // number precision and end up with 8066651.9999999, and then parseInt\n // cuts off the remainder.\n // So instead of using maths to convert the number, we just replace\n // the dot inside the number which does the same thing.\n // We don't need to replace \",\" as well, as numbers always us a dot\n // when converted using String().\n //\n // The mathematical way: amountAsNumber * 10 ** fractionDigitsOfAmount,\n String(amountAsNumber).replace(\".\", \"\"),\n 10\n ),\n fractionDigits: fractionDigitsOfAmount,\n };\n }\n\n return {\n type: \"centPrecision\",\n currencyCode,\n centAmount,\n fractionDigits: currency.fractionDigits,\n };\n};\n\nexport const createNullMoneyValue = (\n currencyCode: CurrencyCode\n): MoneyValue => ({\n type: \"centPrecision\",\n currencyCode,\n centAmount: NaN,\n fractionDigits: 2,\n});\n\nexport const extractDecimalAmount = (moneyValue: MoneyValue) =>\n moneyValue.type === \"highPrecision\"\n ? moneyValue.preciseAmount / 10 ** moneyValue.fractionDigits\n : moneyValue.centAmount /\n 10 ** currencies[moneyValue.currencyCode].fractionDigits;\n","import currencies from \"./currencies\";\nimport {\n parseStringToMoneyValue,\n extractDecimalAmount,\n type MoneyValue,\n type MoneyInputValue,\n} from \"./parsing-utilities\";\n\n// Replace lodash/has with native implementation\nconst has = (obj: Record<string, unknown>, key: string): boolean => {\n return Object.prototype.hasOwnProperty.call(obj, key);\n};\n\n// Static method implementations - preserve exact logic from UI Kit\nexport function getMoneyGroupAttribute(\n attr?: string,\n inputType?: string\n): string | undefined {\n return attr && inputType ? `${attr}.${inputType}` : undefined;\n}\n\nexport const transformFormInputToMoneyValue = (\n value: MoneyInputValue,\n locale: string\n) =>\n parseStringToMoneyValue(\n typeof value.amount === \"string\" ? value.amount.trim() : \"\",\n locale,\n value.currencyCode\n );\n\nexport const formatMoneyValueForDisplay = (\n moneyValue: MoneyValue,\n locale: string\n): MoneyInputValue => {\n if (!moneyValue) return { currencyCode: \"\", amount: \"\" };\n\n console.warn(\n typeof locale === \"string\",\n \"MoneyInput.parseMoneyValue: A locale must be passed as the second argument\"\n );\n\n console.warn(\n typeof moneyValue === \"object\",\n \"MoneyInput.parseMoneyValue: Value must be passed as an object or be undefined\"\n );\n\n console.warn(\n typeof moneyValue.currencyCode === \"string\",\n 'MoneyInput.parseMoneyValue: Value must contain \"currencyCode\"'\n );\n\n if (typeof moneyValue.currencyCode !== \"string\") {\n throw new Error(\n 'MoneyInput.parseMoneyValue: Value must contain \"currencyCode\"'\n );\n }\n\n console.warn(\n has(currencies, moneyValue.currencyCode),\n \"MoneyInput.parseMoneyValue: Value must use known currency code\"\n );\n\n if (!has(currencies, moneyValue.currencyCode)) {\n throw new Error(\n \"MoneyInput.parseMoneyValue: Value must use known currency code\"\n );\n }\n\n console.warn(\n // highPrecision or centPrecision values must be set\n typeof moneyValue.centAmount === \"number\" ||\n (typeof moneyValue.preciseAmount === \"number\" &&\n typeof moneyValue.fractionDigits === \"number\"),\n 'MoneyInput.parseMoneyValue: Value must contain \"amount\"'\n );\n\n // Direct formatting without circular conversion\n const amountAsNumber = extractDecimalAmount(moneyValue);\n const fractionDigits = moneyValue.preciseAmount\n ? moneyValue.fractionDigits\n : currencies[moneyValue.currencyCode].fractionDigits;\n\n const amount = isNaN(amountAsNumber)\n ? \"\"\n : amountAsNumber.toLocaleString(locale, {\n minimumFractionDigits: fractionDigits,\n });\n\n return { amount, currencyCode: moneyValue.currencyCode };\n};\n\nexport const isEmpty = (formValue: MoneyInputValue) => {\n return (\n !formValue ||\n formValue?.amount?.trim() === \"\" ||\n formValue?.currencyCode?.trim() === \"\"\n );\n};\n\nexport const isHighPrecision = (\n formValue: MoneyInputValue,\n locale: string\n): boolean => {\n if (isEmpty(formValue)) {\n return false;\n }\n const moneyValue = transformFormInputToMoneyValue(formValue, locale);\n return moneyValue?.type === \"highPrecision\";\n};\n","import { defineMessages } from \"react-intl\";\n\nexport default defineMessages({\n currencySelectLabel: {\n id: \"Nimbus.MoneyInput.currencySelectLabel\",\n description: \"aria-label for currency selection dropdown\",\n defaultMessage: \"Currency\",\n },\n amountInputLabel: {\n id: \"Nimbus.MoneyInput.amountInputLabel\",\n description: \"aria-label for amount input\",\n defaultMessage: \"Amount\",\n },\n highPrecisionPrice: {\n id: \"Nimbus.MoneyInput.highPrecisionPrice\",\n description: \"tooltip text for high precision price badge\",\n defaultMessage: \"High precision price\",\n },\n});\n","import { useCallback, useMemo } from \"react\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { useId, useLocale } from \"react-aria\";\nimport { designTokens } from \"@commercetools/nimbus-tokens\";\nimport { useIntl, FormattedMessage } from \"react-intl\";\nimport {\n NumberInput,\n Select,\n Tooltip,\n Box,\n MakeElementFocusable,\n} from \"@/components\";\nimport { HighPrecision } from \"@commercetools/nimbus-icons\";\nimport { extractStyleProps } from \"@/utils\";\nimport currenciesData from \"./utils/currencies\";\nimport {\n MoneyInputRootSlot,\n MoneyInputContainerSlot,\n MoneyInputCurrencySelectSlot,\n MoneyInputCurrencyLabelSlot,\n MoneyInputAmountInputSlot,\n MoneyInputBadgeSlot,\n} from \"./money-input.slots\";\nimport { moneyInputRecipe } from \"./money-input.recipe\";\nimport {\n getMoneyGroupAttribute,\n isHighPrecision,\n transformFormInputToMoneyValue,\n formatMoneyValueForDisplay,\n isEmpty,\n} from \"./utils\";\nimport type {\n CustomEvent,\n MoneyInputProps,\n CurrencyCode,\n} from \"./money-input.types\";\nimport messages from \"./money-input.i18n\";\n\n/**\n * # MoneyInput\n *\n * A specialized input component for entering monetary amounts with currency selection.\n * Supports high precision values and automatic locale-based formatting.\n *\n * ## Usage\n *\n * ### Modern API (Recommended)\n *\n * Use the modern event handlers for better type safety and cleaner code:\n *\n * ```tsx\n * function MyComponent() {\n * const [value, setValue] = useState<TValue>({\n * amount: \"\",\n * currencyCode: \"USD\",\n * });\n *\n * return (\n * <MoneyInput\n * value={value}\n * currencies={[\"USD\", \"EUR\", \"GBP\"]}\n * onValueChange={setValue} // Recommended: handles complete value changes\n * onAmountChange={(amount) => console.log(\"Amount:\", amount)}\n * onCurrencyChange={(currency) => console.log(\"Currency:\", currency)}\n * />\n * );\n * }\n * ```\n *\n * ### Legacy API (Deprecated)\n *\n * For backward compatibility only - migrate to modern API when possible:\n *\n * ```tsx\n * function LegacyComponent() {\n * const [value, setValue] = useState<TValue>({ amount: \"\", currencyCode: \"USD\" });\n *\n * const handleChange = (event: TCustomEvent) => {\n * const { name, value } = event.target;\n * if (name?.endsWith(\".amount\")) {\n * setValue(prev => ({ ...prev, amount: value as string }));\n * } else if (name?.endsWith(\".currencyCode\")) {\n * setValue(prev => ({ ...prev, currencyCode: value as CurrencyCode }));\n * }\n * };\n *\n * return (\n * <MoneyInput\n * value={value}\n * currencies={[\"USD\", \"EUR\"]}\n * onChange={handleChange} // Deprecated - use onValueChange instead\n * />\n * );\n * }\n * ```\n *\n * ## Features\n *\n * - **Type-safe currency handling** with CurrencyCode enum\n * - **High precision support** for values exceeding standard currency precision\n * - **Automatic locale formatting** using React Aria NumberField\n * - **Accessibility compliant** following WCAG 2.1 AA standards\n * - **Dual API support** for backward compatibility and modern development\n */\nexport const MoneyInput = (props: MoneyInputProps) => {\n const {\n id,\n name,\n value,\n currencies = [],\n onChange,\n onValueChange,\n onAmountChange,\n onCurrencyChange,\n onFocus,\n onBlur,\n isDisabled,\n isReadOnly,\n isInvalid,\n isRequired,\n hasHighPrecisionBadge = true,\n isCurrencyInputDisabled,\n placeholder = \"0.00\",\n autoFocus,\n size,\n ...restProps\n } = props;\n\n // Generate IDs\n const defaultGroupId = useId();\n const groupId = id ?? defaultGroupId;\n\n // Get locale for formatting\n const { locale } = useLocale();\n const intl = useIntl();\n\n // Convert string value to number for NumberInput\n const numericValue = value.amount ? parseFloat(value.amount) : undefined;\n\n // Detect whether the currency select or currency label should display\n const hasNoCurrencies = !currencies || currencies.length === 0;\n\n // High precision detection using raw input value - default to en if locale is not provided\n const isCurrentlyHighPrecision = isHighPrecision(value, locale || \"en\");\n\n // Create currency-aware format options for NumberInput\n const formatOptions: Intl.NumberFormatOptions = useMemo(() => {\n if (!value.currencyCode) return {};\n\n // Decimal style: pure number formatting without currency symbols\n // Handles high precision mode for extended decimal places\n return {\n minimumFractionDigits: currenciesData[value.currencyCode].fractionDigits, // Always respect currency minimum (e.g., 2 for USD, 0 for JPY)\n maximumFractionDigits: 20, // Always use a maximum of 20 decimal places to match API precision\n useGrouping: true, // Keep thousand separators for readability (formatted per locale)\n style: \"decimal\", // Use decimal to avoid currency symbol conflicts\n };\n }, [value.currencyCode, locale]);\n\n // Recipe setup\n const recipe = useSlotRecipe({ recipe: moneyInputRecipe });\n const [recipeProps, recipeRestProps] = recipe.splitVariantProps({\n ...restProps,\n size,\n });\n const [styleProps, remainingProps] = extractStyleProps(recipeRestProps);\n\n // Id's and Names for each group input type\n const amountInputId = getMoneyGroupAttribute(groupId, \"amount\");\n const currencySelectId = getMoneyGroupAttribute(groupId, \"currencyCode\");\n const amountInputName = getMoneyGroupAttribute(name, \"amount\");\n const currencySelectName = getMoneyGroupAttribute(name, \"currencyCode\");\n\n // Event handlers - NumberInput will preserve decimal precision with new settings\n const handleAmountChange = useCallback(\n (newValue: number) => {\n const stringValue = newValue.toString();\n\n // Support legacy API\n const event: CustomEvent = {\n target: {\n id: amountInputId,\n name: amountInputName,\n value: stringValue,\n },\n };\n onChange?.(event);\n\n // Support modern APIs\n const newValueObject = { ...value, amount: stringValue };\n onValueChange?.(newValueObject);\n onAmountChange?.(stringValue);\n },\n [onChange, onValueChange, onAmountChange, value, groupId, name]\n );\n\n const handleAmountFocus = useCallback(() => {\n const event: CustomEvent = {\n target: {\n id: amountInputId,\n name: amountInputName,\n value: value.amount,\n },\n };\n onFocus?.(event);\n }, [onFocus, value.amount, id, name]);\n\n const handleAmountBlur = useCallback(() => {\n const event: CustomEvent = {\n target: {\n id: amountInputId,\n name: amountInputName,\n value: value.amount,\n },\n };\n onBlur?.(event);\n }, [onBlur, value, id, name]);\n\n const handleCurrencyChange = useCallback(\n (currencyCode: string) => {\n // Support legacy API\n const event: CustomEvent = {\n target: {\n id: currencySelectId,\n name: currencySelectName,\n value: currencyCode,\n },\n };\n onChange?.(event);\n\n // Support modern APIs\n const newValueObject = {\n ...value,\n currencyCode: currencyCode as CurrencyCode,\n };\n onValueChange?.(newValueObject);\n onCurrencyChange?.(currencyCode as CurrencyCode);\n },\n [onChange, onValueChange, onCurrencyChange, value, id, name]\n );\n\n const handleCurrencyFocus = useCallback(() => {\n const event: CustomEvent = {\n target: {\n id: currencySelectId,\n name: currencySelectName,\n value: value.currencyCode,\n },\n };\n onFocus?.(event);\n }, [onFocus, value.currencyCode, id, name]);\n\n const handleCurrencyBlur = useCallback(() => {\n const event: CustomEvent = {\n target: {\n id: currencySelectId,\n name: currencySelectName,\n value: value.currencyCode,\n },\n };\n onBlur?.(event);\n }, [onBlur, value.currencyCode, id, name]);\n\n const handleCurrencySelectionChange = useCallback(\n (selectedKey: string | number | null) => {\n if (selectedKey && typeof selectedKey === \"string\") {\n handleCurrencyChange(selectedKey);\n }\n },\n [handleCurrencyChange]\n );\n\n const noCurrenciesLabelId = useId();\n const highPrecisionBadgeId = useId();\n\n return (\n <MoneyInputRootSlot {...recipeProps} {...styleProps} {...remainingProps}>\n <MoneyInputContainerSlot>\n {/* Currency Select or Label */}\n <MoneyInputCurrencySelectSlot>\n {hasNoCurrencies ? (\n <MoneyInputCurrencyLabelSlot\n {...(isDisabled && { \"data-disabled\": isDisabled })}\n asChild\n >\n <label id={noCurrenciesLabelId}>{value.currencyCode}</label>\n </MoneyInputCurrencyLabelSlot>\n ) : (\n <Select.Root\n id={currencySelectId}\n name={currencySelectName}\n selectedKey={value.currencyCode || null}\n onSelectionChange={handleCurrencySelectionChange}\n onFocus={handleCurrencyFocus}\n onBlur={handleCurrencyBlur}\n isDisabled={isCurrencyInputDisabled || isDisabled || isReadOnly}\n isClearable={false}\n placeholder=\"\"\n aria-label={intl.formatMessage(messages.currencySelectLabel)}\n size={size}\n >\n <Select.Options>\n {currencies.map((currencyCode) => (\n <Select.Option key={currencyCode} id={currencyCode}>\n {currencyCode}\n </Select.Option>\n ))}\n </Select.Options>\n </Select.Root>\n )}\n </MoneyInputCurrencySelectSlot>\n\n {/* Amount Input - NumberInput handles live user interaction */}\n <MoneyInputAmountInputSlot\n data-has-high-precision={\n hasHighPrecisionBadge && isCurrentlyHighPrecision\n }\n asChild\n >\n <NumberInput\n id={amountInputId}\n name={amountInputName}\n value={numericValue}\n formatOptions={formatOptions}\n onChange={handleAmountChange}\n onFocus={handleAmountFocus}\n onBlur={handleAmountBlur}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n isInvalid={isInvalid}\n isRequired={isRequired}\n placeholder={placeholder}\n autoFocus={autoFocus}\n size={size}\n //base accessible name: \"Amount\"\n aria-label={intl.formatMessage(messages.amountInputLabel)}\n // accessible name when hasNoCurrencies=true: \"<CURRENCY_CODE> Amount\"\n aria-labelledby={noCurrenciesLabelId}\n // accessible name when high precision: \"High Precision Amount\"\n aria-describedby={highPrecisionBadgeId}\n // See the types file for why we don't use step\n step={undefined}\n />\n </MoneyInputAmountInputSlot>\n {/* High Precision Badge */}\n {hasHighPrecisionBadge && isCurrentlyHighPrecision && (\n <MoneyInputBadgeSlot>\n <Tooltip.Root delay={0} closeDelay={0}>\n <MakeElementFocusable>\n <Box\n as={HighPrecision}\n id={highPrecisionBadgeId}\n color={isDisabled ? \"neutral.8\" : \"neutral.11\"}\n aria-label={intl.formatMessage(messages.highPrecisionPrice)}\n // Position the badge correctly as we don't want layout shift that occurs with trailingElement use in the underlying NumberInput\n transform={`translateX(-${designTokens.spacing[\"1200\"]})`}\n />\n </MakeElementFocusable>\n <Tooltip.Content placement=\"top\">\n <FormattedMessage {...messages.highPrecisionPrice} />\n </Tooltip.Content>\n </Tooltip.Root>\n </MoneyInputBadgeSlot>\n )}\n </MoneyInputContainerSlot>\n </MoneyInputRootSlot>\n );\n};\n\n// Static methods for UI-Kit compatibility and internal utilities\nMoneyInput.getAmountInputId = (id?: string) =>\n getMoneyGroupAttribute(id, \"amount\");\nMoneyInput.getCurrencyDropdownId = (id?: string) =>\n getMoneyGroupAttribute(id, \"currencyCode\");\nMoneyInput.convertToMoneyValue = transformFormInputToMoneyValue;\nMoneyInput.parseMoneyValue = formatMoneyValueForDisplay;\nMoneyInput.isEmpty = isEmpty;\nMoneyInput.isHighPrecision = isHighPrecision;\n\n// Display name\nMoneyInput.displayName = \"MoneyInput\";\n"],"names":["currencies","withProvider","withContext","createSlotRecipeContext","MoneyInputRootSlot","Group","MoneyInputContainerSlot","MoneyInputCurrencySelectSlot","MoneyInputCurrencyLabelSlot","MoneyInputAmountInputSlot","MoneyInputBadgeSlot","parseStringToMoneyValue","rawAmount","locale","currencyCode","currency","amountAsNumber","centAmount","fractionDigitsOfAmount","extractDecimalAmount","moneyValue","has","obj","key","getMoneyGroupAttribute","attr","inputType","transformFormInputToMoneyValue","value","formatMoneyValueForDisplay","fractionDigits","isEmpty","formValue","isHighPrecision","messages","defineMessages","MoneyInput","props","id","name","onChange","onValueChange","onAmountChange","onCurrencyChange","onFocus","onBlur","isDisabled","isReadOnly","isInvalid","isRequired","hasHighPrecisionBadge","isCurrencyInputDisabled","placeholder","autoFocus","size","restProps","defaultGroupId","useId","groupId","useLocale","intl","useIntl","numericValue","hasNoCurrencies","isCurrentlyHighPrecision","formatOptions","useMemo","currenciesData","recipe","useSlotRecipe","moneyInputRecipe","recipeProps","recipeRestProps","styleProps","remainingProps","extractStyleProps","amountInputId","currencySelectId","amountInputName","currencySelectName","handleAmountChange","useCallback","newValue","stringValue","newValueObject","handleAmountFocus","event","handleAmountBlur","handleCurrencyChange","handleCurrencyFocus","handleCurrencyBlur","handleCurrencySelectionChange","selectedKey","noCurrenciesLabelId","highPrecisionBadgeId","jsx","jsxs","Select","NumberInput","Tooltip","MakeElementFocusable","Box","HighPrecision","designTokens","FormattedMessage"],"mappings":"qqBAeMA,EAAa,CACjB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,EAAA,EACvB,IAAK,CAAE,eAAgB,EAAA,EACvB,IAAK,CAAE,eAAgB,EAAA,EACvB,IAAK,CAAE,eAAgB,EAAA,EACvB,IAAK,CAAE,eAAgB,EAAA,EACvB,IAAK,CAAE,eAAgB,EAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,EAAA,EACvB,IAAK,CAAE,eAAgB,EAAA,EACvB,IAAK,CAAE,eAAgB,EAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,EAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,EAAA,EACvB,IAAK,CAAE,eAAgB,EAAA,EACvB,IAAK,CAAE,eAAgB,EAAA,EACvB,IAAK,CAAE,eAAgB,EAAA,EACvB,IAAK,CAAE,eAAgB,EAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,EACvB,IAAK,CAAE,eAAgB,CAAA,CACzB,EClOM,CAAE,aAA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"}
|
|
@@ -1,19 +1,20 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { jsx as c, jsxs as U } from "react/jsx-runtime";
|
|
2
2
|
import { useMemo as ui, useCallback as g } from "react";
|
|
3
3
|
import { useSlotRecipe as li } from "@chakra-ui/react/styled-system";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import { $ as
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
4
|
+
import { designTokens as pi } from "@commercetools/nimbus-tokens";
|
|
5
|
+
import { defineMessages as mi, useIntl as di, FormattedMessage as yi } from "react-intl";
|
|
6
|
+
import { HighPrecision as Mi } from "@commercetools/nimbus-icons";
|
|
7
|
+
import { e as hi } from "./extract-style-props-CHpzYLGm.es.js";
|
|
8
|
+
import { createSlotRecipeContext as Si } from "@chakra-ui/react";
|
|
9
|
+
import { G as Ci } from "./group-DDgNGiAB.es.js";
|
|
10
|
+
import { j as Pi } from "./index-DgmyBTGN.es.js";
|
|
11
|
+
import { $ as R } from "./mergeProps-_eTFpDiB.es.js";
|
|
12
|
+
import { $ as Ii } from "./context-DW7UvQ8z.es.js";
|
|
13
|
+
import { N as bi } from "./number-input-BNhWxDtw.es.js";
|
|
14
|
+
import { M as Ai } from "./make-element-focusable-BHUCTtmz.es.js";
|
|
15
|
+
import { S as B } from "./select-BX8CxAIO.es.js";
|
|
15
16
|
import { b as H } from "./tooltip-B6mt46EB.es.js";
|
|
16
|
-
import { B as
|
|
17
|
+
import { B as Ri } from "./box-DuBoAZvq.es.js";
|
|
17
18
|
const u = {
|
|
18
19
|
ADP: { fractionDigits: 0 },
|
|
19
20
|
AED: { fractionDigits: 2 },
|
|
@@ -236,9 +237,9 @@ const u = {
|
|
|
236
237
|
ZWL: { fractionDigits: 2 },
|
|
237
238
|
ZWN: { fractionDigits: 2 },
|
|
238
239
|
ZWR: { fractionDigits: 2 }
|
|
239
|
-
}, { withProvider:
|
|
240
|
+
}, { withProvider: Bi, withContext: p } = /* @__PURE__ */ Si({
|
|
240
241
|
key: "moneyInput"
|
|
241
|
-
}),
|
|
242
|
+
}), Ni = /* @__PURE__ */ Bi(Ci, "root"), Li = /* @__PURE__ */ p("div", "container"), Fi = /* @__PURE__ */ p("div", "currencySelect"), Ti = /* @__PURE__ */ p("label", "currencyLabel"), Gi = /* @__PURE__ */ p("input", "amountInput"), Ki = /* @__PURE__ */ p("div", "badge"), Oi = (i, o, r) => {
|
|
242
243
|
if (!r) return null;
|
|
243
244
|
const t = u[r];
|
|
244
245
|
if (!t || i.length === 0 || i.trim() === "") return null;
|
|
@@ -280,15 +281,15 @@ const u = {
|
|
|
280
281
|
centAmount: a,
|
|
281
282
|
fractionDigits: t.fractionDigits
|
|
282
283
|
};
|
|
283
|
-
},
|
|
284
|
-
function
|
|
284
|
+
}, Ei = (i) => i.type === "highPrecision" ? i.preciseAmount / 10 ** i.fractionDigits : i.centAmount / 10 ** u[i.currencyCode].fractionDigits, Z = (i, o) => Object.prototype.hasOwnProperty.call(i, o);
|
|
285
|
+
function D(i, o) {
|
|
285
286
|
return i && o ? `${i}.${o}` : void 0;
|
|
286
287
|
}
|
|
287
|
-
const w = (i, o) =>
|
|
288
|
+
const w = (i, o) => Oi(
|
|
288
289
|
typeof i.amount == "string" ? i.amount.trim() : "",
|
|
289
290
|
o,
|
|
290
291
|
i.currencyCode
|
|
291
|
-
),
|
|
292
|
+
), Xi = (i, o) => {
|
|
292
293
|
if (!i) return { currencyCode: "", amount: "" };
|
|
293
294
|
if (console.warn(
|
|
294
295
|
typeof o == "string",
|
|
@@ -315,11 +316,11 @@ const w = (i, o) => Ki(
|
|
|
315
316
|
typeof i.centAmount == "number" || typeof i.preciseAmount == "number" && typeof i.fractionDigits == "number",
|
|
316
317
|
'MoneyInput.parseMoneyValue: Value must contain "amount"'
|
|
317
318
|
);
|
|
318
|
-
const r =
|
|
319
|
+
const r = Ei(i), t = i.preciseAmount ? i.fractionDigits : u[i.currencyCode].fractionDigits;
|
|
319
320
|
return { amount: isNaN(r) ? "" : r.toLocaleString(o, {
|
|
320
321
|
minimumFractionDigits: t
|
|
321
322
|
}), currencyCode: i.currencyCode };
|
|
322
|
-
},
|
|
323
|
+
}, V = (i) => !i || i?.amount?.trim() === "" || i?.currencyCode?.trim() === "", Y = (i, o) => V(i) ? !1 : w(i, o)?.type === "highPrecision", P = /* @__PURE__ */ mi({
|
|
323
324
|
currencySelectLabel: {
|
|
324
325
|
id: "Nimbus.MoneyInput.currencySelectLabel",
|
|
325
326
|
description: "aria-label for currency selection dropdown",
|
|
@@ -335,7 +336,7 @@ const w = (i, o) => Ki(
|
|
|
335
336
|
description: "tooltip text for high precision price badge",
|
|
336
337
|
defaultMessage: "High precision price"
|
|
337
338
|
}
|
|
338
|
-
}),
|
|
339
|
+
}), f = (i) => {
|
|
339
340
|
const {
|
|
340
341
|
id: o,
|
|
341
342
|
name: r,
|
|
@@ -343,21 +344,21 @@ const w = (i, o) => Ki(
|
|
|
343
344
|
currencies: s = [],
|
|
344
345
|
onChange: a,
|
|
345
346
|
onValueChange: e,
|
|
346
|
-
onAmountChange:
|
|
347
|
-
onCurrencyChange:
|
|
348
|
-
onFocus:
|
|
349
|
-
onBlur:
|
|
347
|
+
onAmountChange: N,
|
|
348
|
+
onCurrencyChange: L,
|
|
349
|
+
onFocus: m,
|
|
350
|
+
onBlur: d,
|
|
350
351
|
isDisabled: l,
|
|
351
|
-
isReadOnly:
|
|
352
|
-
isInvalid:
|
|
353
|
-
isRequired:
|
|
352
|
+
isReadOnly: F,
|
|
353
|
+
isInvalid: W,
|
|
354
|
+
isRequired: x,
|
|
354
355
|
hasHighPrecisionBadge: T = !0,
|
|
355
356
|
isCurrencyInputDisabled: $,
|
|
356
357
|
placeholder: j = "0.00",
|
|
357
|
-
autoFocus:
|
|
358
|
+
autoFocus: k,
|
|
358
359
|
size: I,
|
|
359
|
-
...
|
|
360
|
-
} = i, Q =
|
|
360
|
+
...J
|
|
361
|
+
} = i, Q = R(), b = o ?? Q, { locale: G } = Ii(), A = di(), q = t.amount ? parseFloat(t.amount) : void 0, z = !s || s.length === 0, K = Y(t, G || "en"), _ = ui(() => t.currencyCode ? {
|
|
361
362
|
minimumFractionDigits: u[t.currencyCode].fractionDigits,
|
|
362
363
|
// Always respect currency minimum (e.g., 2 for USD, 0 for JPY)
|
|
363
364
|
maximumFractionDigits: 20,
|
|
@@ -366,10 +367,10 @@ const w = (i, o) => Ki(
|
|
|
366
367
|
// Keep thousand separators for readability (formatted per locale)
|
|
367
368
|
style: "decimal"
|
|
368
369
|
// Use decimal to avoid currency symbol conflicts
|
|
369
|
-
} : {}, [t.currencyCode,
|
|
370
|
-
...
|
|
370
|
+
} : {}, [t.currencyCode, G]), ii = li({ recipe: Pi }), [ti, ni] = ii.splitVariantProps({
|
|
371
|
+
...J,
|
|
371
372
|
size: I
|
|
372
|
-
}), [oi, ri] =
|
|
373
|
+
}), [oi, ri] = hi(ni), y = D(b, "amount"), M = D(b, "currencyCode"), h = D(r, "amount"), S = D(r, "currencyCode"), ci = g(
|
|
373
374
|
(n) => {
|
|
374
375
|
const C = n.toString();
|
|
375
376
|
a?.({
|
|
@@ -379,10 +380,10 @@ const w = (i, o) => Ki(
|
|
|
379
380
|
value: C
|
|
380
381
|
}
|
|
381
382
|
});
|
|
382
|
-
const
|
|
383
|
-
e?.(
|
|
383
|
+
const Di = { ...t, amount: C };
|
|
384
|
+
e?.(Di), N?.(C);
|
|
384
385
|
},
|
|
385
|
-
[a, e,
|
|
386
|
+
[a, e, N, t, b, r]
|
|
386
387
|
), si = g(() => {
|
|
387
388
|
const n = {
|
|
388
389
|
target: {
|
|
@@ -391,8 +392,8 @@ const w = (i, o) => Ki(
|
|
|
391
392
|
value: t.amount
|
|
392
393
|
}
|
|
393
394
|
};
|
|
394
|
-
|
|
395
|
-
}, [
|
|
395
|
+
m?.(n);
|
|
396
|
+
}, [m, t.amount, o, r]), ai = g(() => {
|
|
396
397
|
const n = {
|
|
397
398
|
target: {
|
|
398
399
|
id: y,
|
|
@@ -400,8 +401,8 @@ const w = (i, o) => Ki(
|
|
|
400
401
|
value: t.amount
|
|
401
402
|
}
|
|
402
403
|
};
|
|
403
|
-
|
|
404
|
-
}, [
|
|
404
|
+
d?.(n);
|
|
405
|
+
}, [d, t, o, r]), O = g(
|
|
405
406
|
(n) => {
|
|
406
407
|
a?.({
|
|
407
408
|
target: {
|
|
@@ -410,13 +411,13 @@ const w = (i, o) => Ki(
|
|
|
410
411
|
value: n
|
|
411
412
|
}
|
|
412
413
|
});
|
|
413
|
-
const
|
|
414
|
+
const v = {
|
|
414
415
|
...t,
|
|
415
416
|
currencyCode: n
|
|
416
417
|
};
|
|
417
|
-
e?.(
|
|
418
|
+
e?.(v), L?.(n);
|
|
418
419
|
},
|
|
419
|
-
[a, e,
|
|
420
|
+
[a, e, L, t, o, r]
|
|
420
421
|
), ei = g(() => {
|
|
421
422
|
const n = {
|
|
422
423
|
target: {
|
|
@@ -425,8 +426,8 @@ const w = (i, o) => Ki(
|
|
|
425
426
|
value: t.currencyCode
|
|
426
427
|
}
|
|
427
428
|
};
|
|
428
|
-
|
|
429
|
-
}, [
|
|
429
|
+
m?.(n);
|
|
430
|
+
}, [m, t.currencyCode, o, r]), gi = g(() => {
|
|
430
431
|
const n = {
|
|
431
432
|
target: {
|
|
432
433
|
id: M,
|
|
@@ -434,93 +435,91 @@ const w = (i, o) => Ki(
|
|
|
434
435
|
value: t.currencyCode
|
|
435
436
|
}
|
|
436
437
|
};
|
|
437
|
-
|
|
438
|
-
}, [
|
|
438
|
+
d?.(n);
|
|
439
|
+
}, [d, t.currencyCode, o, r]), fi = g(
|
|
439
440
|
(n) => {
|
|
440
|
-
n && typeof n == "string" &&
|
|
441
|
+
n && typeof n == "string" && O(n);
|
|
441
442
|
},
|
|
442
|
-
[
|
|
443
|
-
),
|
|
444
|
-
return /* @__PURE__ */
|
|
445
|
-
/* @__PURE__ */
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
{
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
/* @__PURE__ */ c(bi, { children: /* @__PURE__ */ c(
|
|
503
|
-
Ai,
|
|
443
|
+
[O]
|
|
444
|
+
), E = R(), X = R();
|
|
445
|
+
return /* @__PURE__ */ c(Ni, { ...ti, ...oi, ...ri, children: /* @__PURE__ */ U(Li, { children: [
|
|
446
|
+
/* @__PURE__ */ c(Fi, { children: z ? /* @__PURE__ */ c(
|
|
447
|
+
Ti,
|
|
448
|
+
{
|
|
449
|
+
...l && { "data-disabled": l },
|
|
450
|
+
asChild: !0,
|
|
451
|
+
children: /* @__PURE__ */ c("label", { id: E, children: t.currencyCode })
|
|
452
|
+
}
|
|
453
|
+
) : /* @__PURE__ */ c(
|
|
454
|
+
B.Root,
|
|
455
|
+
{
|
|
456
|
+
id: M,
|
|
457
|
+
name: S,
|
|
458
|
+
selectedKey: t.currencyCode || null,
|
|
459
|
+
onSelectionChange: fi,
|
|
460
|
+
onFocus: ei,
|
|
461
|
+
onBlur: gi,
|
|
462
|
+
isDisabled: $ || l || F,
|
|
463
|
+
isClearable: !1,
|
|
464
|
+
placeholder: "",
|
|
465
|
+
"aria-label": A.formatMessage(P.currencySelectLabel),
|
|
466
|
+
size: I,
|
|
467
|
+
children: /* @__PURE__ */ c(B.Options, { children: s.map((n) => /* @__PURE__ */ c(B.Option, { id: n, children: n }, n)) })
|
|
468
|
+
}
|
|
469
|
+
) }),
|
|
470
|
+
/* @__PURE__ */ c(
|
|
471
|
+
Gi,
|
|
472
|
+
{
|
|
473
|
+
"data-has-high-precision": T && K,
|
|
474
|
+
asChild: !0,
|
|
475
|
+
children: /* @__PURE__ */ c(
|
|
476
|
+
bi,
|
|
477
|
+
{
|
|
478
|
+
id: y,
|
|
479
|
+
name: h,
|
|
480
|
+
value: q,
|
|
481
|
+
formatOptions: _,
|
|
482
|
+
onChange: ci,
|
|
483
|
+
onFocus: si,
|
|
484
|
+
onBlur: ai,
|
|
485
|
+
isDisabled: l,
|
|
486
|
+
isReadOnly: F,
|
|
487
|
+
isInvalid: W,
|
|
488
|
+
isRequired: x,
|
|
489
|
+
placeholder: j,
|
|
490
|
+
autoFocus: k,
|
|
491
|
+
size: I,
|
|
492
|
+
"aria-label": A.formatMessage(P.amountInputLabel),
|
|
493
|
+
"aria-labelledby": E,
|
|
494
|
+
"aria-describedby": X,
|
|
495
|
+
step: void 0
|
|
496
|
+
}
|
|
497
|
+
)
|
|
498
|
+
}
|
|
499
|
+
),
|
|
500
|
+
T && K && /* @__PURE__ */ c(Ki, { children: /* @__PURE__ */ U(H.Root, { delay: 0, closeDelay: 0, children: [
|
|
501
|
+
/* @__PURE__ */ c(Ai, { children: /* @__PURE__ */ c(
|
|
502
|
+
Ri,
|
|
504
503
|
{
|
|
505
|
-
as:
|
|
506
|
-
id:
|
|
504
|
+
as: Mi,
|
|
505
|
+
id: X,
|
|
507
506
|
color: l ? "neutral.8" : "neutral.11",
|
|
508
507
|
"aria-label": A.formatMessage(P.highPrecisionPrice),
|
|
509
|
-
transform:
|
|
508
|
+
transform: `translateX(-${pi.spacing[1200]})`
|
|
510
509
|
}
|
|
511
510
|
) }),
|
|
512
|
-
/* @__PURE__ */ c(H.Content, { placement: "top", children: /* @__PURE__ */ c(
|
|
511
|
+
/* @__PURE__ */ c(H.Content, { placement: "top", children: /* @__PURE__ */ c(yi, { ...P.highPrecisionPrice }) })
|
|
513
512
|
] }) })
|
|
514
|
-
] });
|
|
513
|
+
] }) });
|
|
515
514
|
};
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
515
|
+
f.getAmountInputId = (i) => D(i, "amount");
|
|
516
|
+
f.getCurrencyDropdownId = (i) => D(i, "currencyCode");
|
|
517
|
+
f.convertToMoneyValue = w;
|
|
518
|
+
f.parseMoneyValue = Xi;
|
|
519
|
+
f.isEmpty = V;
|
|
520
|
+
f.isHighPrecision = Y;
|
|
521
|
+
f.displayName = "MoneyInput";
|
|
523
522
|
export {
|
|
524
|
-
|
|
523
|
+
f as M
|
|
525
524
|
};
|
|
526
|
-
//# sourceMappingURL=money-input-
|
|
525
|
+
//# sourceMappingURL=money-input-B73nxLNR.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"money-input-B73nxLNR.es.js","sources":["../../src/components/money-input/utils/currencies.ts","../../src/components/money-input/money-input.slots.tsx","../../src/components/money-input/utils/parsing-utilities.ts","../../src/components/money-input/utils/static-methods.ts","../../src/components/money-input/money-input.i18n.ts","../../src/components/money-input/money-input.tsx"],"sourcesContent":["// ARCHITECTURE NOTE: Shared Currency Data\n//\n// This currency data is used by TWO INDEPENDENT formatting systems:\n//\n// 1. NumberInput System (live user interaction):\n// - Creates format options for NumberInput\n// - Powers React Aria NumberField formatting as users type\n//\n// 2. MoneyInput Static Methods System (API compatibility):\n// - Uses parseStringToMoneyValue() + TMoneyValue objects\n// - Only triggered by explicit static method calls\n//\n// Both systems access this same data but for different purposes.\n// Changes here affect both NumberInput behavior AND MoneyInput static methods.\n\nconst currencies = {\n ADP: { fractionDigits: 0 },\n AED: { fractionDigits: 2 },\n AFA: { fractionDigits: 2 },\n AFN: { fractionDigits: 2 },\n ALL: { fractionDigits: 2 },\n AMD: { fractionDigits: 2 },\n ANG: { fractionDigits: 2 },\n AOA: { fractionDigits: 2 },\n ARS: { fractionDigits: 2 },\n ATS: { fractionDigits: 2 },\n AUD: { fractionDigits: 2 },\n AWG: { fractionDigits: 2 },\n AYM: { fractionDigits: 2 },\n AZM: { fractionDigits: 2 },\n AZN: { fractionDigits: 2 },\n BAM: { fractionDigits: 2 },\n BBD: { fractionDigits: 2 },\n BDT: { fractionDigits: 2 },\n BEF: { fractionDigits: 0 },\n BGL: { fractionDigits: 2 },\n BGN: { fractionDigits: 2 },\n BHD: { fractionDigits: 3 },\n BIF: { fractionDigits: 0 },\n BMD: { fractionDigits: 2 },\n BND: { fractionDigits: 2 },\n BOB: { fractionDigits: 2 },\n BOV: { fractionDigits: 2 },\n BRL: { fractionDigits: 2 },\n BSD: { fractionDigits: 2 },\n BTN: { fractionDigits: 2 },\n BWP: { fractionDigits: 2 },\n BYB: { fractionDigits: 0 },\n BYN: { fractionDigits: 2 },\n BYR: { fractionDigits: 0 },\n BZD: { fractionDigits: 2 },\n CAD: { fractionDigits: 2 },\n CDF: { fractionDigits: 2 },\n CHF: { fractionDigits: 2 },\n CLF: { fractionDigits: 0 },\n CLP: { fractionDigits: 0 },\n CNY: { fractionDigits: 2 },\n COP: { fractionDigits: 2 },\n CRC: { fractionDigits: 2 },\n CSD: { fractionDigits: 2 },\n CUC: { fractionDigits: 2 },\n CUP: { fractionDigits: 2 },\n CVE: { fractionDigits: 2 },\n CYP: { fractionDigits: 2 },\n CZK: { fractionDigits: 2 },\n DEM: { fractionDigits: 2 },\n DJF: { fractionDigits: 0 },\n DKK: { fractionDigits: 2 },\n DOP: { fractionDigits: 2 },\n DZD: { fractionDigits: 2 },\n EEK: { fractionDigits: 2 },\n EGP: { fractionDigits: 2 },\n ERN: { fractionDigits: 2 },\n ESP: { fractionDigits: 0 },\n ETB: { fractionDigits: 2 },\n EUR: { fractionDigits: 2 },\n FIM: { fractionDigits: 2 },\n FJD: { fractionDigits: 2 },\n FKP: { fractionDigits: 2 },\n FRF: { fractionDigits: 2 },\n GBP: { fractionDigits: 2 },\n GEL: { fractionDigits: 2 },\n GHC: { fractionDigits: 2 },\n GHS: { fractionDigits: 2 },\n GIP: { fractionDigits: 2 },\n GMD: { fractionDigits: 2 },\n GNF: { fractionDigits: 0 },\n GRD: { fractionDigits: 0 },\n GTQ: { fractionDigits: 2 },\n GWP: { fractionDigits: 2 },\n GYD: { fractionDigits: 2 },\n HKD: { fractionDigits: 2 },\n HNL: { fractionDigits: 2 },\n HRK: { fractionDigits: 2 },\n HTG: { fractionDigits: 2 },\n HUF: { fractionDigits: 2 },\n IDR: { fractionDigits: 2 },\n IEP: { fractionDigits: 2 },\n ILS: { fractionDigits: 2 },\n INR: { fractionDigits: 2 },\n IQD: { fractionDigits: 3 },\n IRR: { fractionDigits: 2 },\n ISK: { fractionDigits: 0 },\n ITL: { fractionDigits: 0 },\n JMD: { fractionDigits: 2 },\n JOD: { fractionDigits: 3 },\n JPY: { fractionDigits: 0 },\n KES: { fractionDigits: 2 },\n KGS: { fractionDigits: 2 },\n KHR: { fractionDigits: 2 },\n KMF: { fractionDigits: 0 },\n KPW: { fractionDigits: 2 },\n KRW: { fractionDigits: 0 },\n KWD: { fractionDigits: 3 },\n KYD: { fractionDigits: 2 },\n KZT: { fractionDigits: 2 },\n LAK: { fractionDigits: 2 },\n LBP: { fractionDigits: 2 },\n LKR: { fractionDigits: 2 },\n LRD: { fractionDigits: 2 },\n LSL: { fractionDigits: 2 },\n LTL: { fractionDigits: 2 },\n LUF: { fractionDigits: 0 },\n LVL: { fractionDigits: 2 },\n LYD: { fractionDigits: 3 },\n MAD: { fractionDigits: 2 },\n MDL: { fractionDigits: 2 },\n MGA: { fractionDigits: 2 },\n MGF: { fractionDigits: 0 },\n MKD: { fractionDigits: 2 },\n MMK: { fractionDigits: 2 },\n MNT: { fractionDigits: 2 },\n MOP: { fractionDigits: 2 },\n MRO: { fractionDigits: 2 },\n MTL: { fractionDigits: 2 },\n MUR: { fractionDigits: 2 },\n MVR: { fractionDigits: 2 },\n MWK: { fractionDigits: 2 },\n MXN: { fractionDigits: 2 },\n MXV: { fractionDigits: 2 },\n MYR: { fractionDigits: 2 },\n MZM: { fractionDigits: 2 },\n MZN: { fractionDigits: 2 },\n NAD: { fractionDigits: 2 },\n NGN: { fractionDigits: 2 },\n NIO: { fractionDigits: 2 },\n NLG: { fractionDigits: 2 },\n NOK: { fractionDigits: 2 },\n NPR: { fractionDigits: 2 },\n NZD: { fractionDigits: 2 },\n OMR: { fractionDigits: 3 },\n PAB: { fractionDigits: 2 },\n PEN: { fractionDigits: 2 },\n PGK: { fractionDigits: 2 },\n PHP: { fractionDigits: 2 },\n PKR: { fractionDigits: 2 },\n PLN: { fractionDigits: 2 },\n PTE: { fractionDigits: 0 },\n PYG: { fractionDigits: 0 },\n QAR: { fractionDigits: 2 },\n ROL: { fractionDigits: 2 },\n RON: { fractionDigits: 2 },\n RSD: { fractionDigits: 2 },\n RUB: { fractionDigits: 2 },\n RUR: { fractionDigits: 2 },\n RWF: { fractionDigits: 0 },\n SAR: { fractionDigits: 2 },\n SBD: { fractionDigits: 2 },\n SCR: { fractionDigits: 2 },\n SDD: { fractionDigits: 2 },\n SDG: { fractionDigits: 2 },\n SEK: { fractionDigits: 2 },\n SGD: { fractionDigits: 2 },\n SHP: { fractionDigits: 2 },\n SIT: { fractionDigits: 2 },\n SKK: { fractionDigits: 2 },\n SLL: { fractionDigits: 2 },\n SOS: { fractionDigits: 2 },\n SRD: { fractionDigits: 2 },\n SRG: { fractionDigits: 2 },\n SSP: { fractionDigits: 2 },\n STD: { fractionDigits: 2 },\n SVC: { fractionDigits: 2 },\n SYP: { fractionDigits: 2 },\n SZL: { fractionDigits: 2 },\n THB: { fractionDigits: 2 },\n TJS: { fractionDigits: 2 },\n TMM: { fractionDigits: 2 },\n TMT: { fractionDigits: 2 },\n TND: { fractionDigits: 3 },\n TOP: { fractionDigits: 2 },\n TPE: { fractionDigits: 0 },\n TRL: { fractionDigits: 0 },\n TRY: { fractionDigits: 2 },\n TTD: { fractionDigits: 2 },\n TWD: { fractionDigits: 2 },\n TZS: { fractionDigits: 2 },\n UAH: { fractionDigits: 2 },\n UGX: { fractionDigits: 0 },\n USD: { fractionDigits: 2 },\n USN: { fractionDigits: 2 },\n USS: { fractionDigits: 2 },\n UYU: { fractionDigits: 2 },\n UZS: { fractionDigits: 2 },\n VEB: { fractionDigits: 2 },\n VEF: { fractionDigits: 2 },\n VND: { fractionDigits: 0 },\n VUV: { fractionDigits: 0 },\n WST: { fractionDigits: 2 },\n XAF: { fractionDigits: 0 },\n XAG: { fractionDigits: -1 },\n XAU: { fractionDigits: -1 },\n XBA: { fractionDigits: -1 },\n XBB: { fractionDigits: -1 },\n XBC: { fractionDigits: -1 },\n XBD: { fractionDigits: -1 },\n XCD: { fractionDigits: 2 },\n XDR: { fractionDigits: -1 },\n XFO: { fractionDigits: -1 },\n XFU: { fractionDigits: -1 },\n XOF: { fractionDigits: 0 },\n XPD: { fractionDigits: -1 },\n XPF: { fractionDigits: 0 },\n XPT: { fractionDigits: -1 },\n XSU: { fractionDigits: -1 },\n XTS: { fractionDigits: -1 },\n XUA: { fractionDigits: -1 },\n XXX: { fractionDigits: -1 },\n YER: { fractionDigits: 2 },\n YUM: { fractionDigits: 2 },\n ZAR: { fractionDigits: 2 },\n ZMK: { fractionDigits: 2 },\n ZMW: { fractionDigits: 2 },\n ZWD: { fractionDigits: 2 },\n ZWL: { fractionDigits: 2 },\n ZWN: { fractionDigits: 2 },\n ZWR: { fractionDigits: 2 },\n} as const;\n\nexport default currencies;\n","import { createSlotRecipeContext } from \"@chakra-ui/react\";\nimport { Group } from \"@/components\";\nimport type {\n MoneyInputRootSlotProps,\n MoneyInputContainerSlotProps,\n MoneyInputCurrencySelectSlotProps,\n MoneyInputCurrencyLabelSlotProps,\n MoneyInputAmountInputSlotProps,\n MoneyInputBadgeSlotProps,\n} from \"./money-input.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"moneyInput\",\n});\n\nexport const MoneyInputRootSlot = withProvider<\n HTMLDivElement,\n MoneyInputRootSlotProps\n>(Group, \"root\");\n\nexport const MoneyInputContainerSlot = withContext<\n HTMLDivElement,\n MoneyInputContainerSlotProps\n>(\"div\", \"container\");\n\nexport const MoneyInputCurrencySelectSlot = withContext<\n HTMLDivElement,\n MoneyInputCurrencySelectSlotProps\n>(\"div\", \"currencySelect\");\n\nexport const MoneyInputCurrencyLabelSlot = withContext<\n HTMLLabelElement,\n MoneyInputCurrencyLabelSlotProps\n>(\"label\", \"currencyLabel\");\n\nexport const MoneyInputAmountInputSlot = withContext<\n HTMLInputElement,\n MoneyInputAmountInputSlotProps\n>(\"input\", \"amountInput\");\n\nexport const MoneyInputBadgeSlot = withContext<\n HTMLDivElement,\n MoneyInputBadgeSlotProps\n>(\"div\", \"badge\");\n","import currencies from \"./currencies\";\n\nexport type CurrencyCode = keyof typeof currencies;\n\ntype MoneyConditionalProps =\n | { type: \"highPrecision\"; preciseAmount: number }\n | {\n type: \"centPrecision\";\n preciseAmount?: never;\n };\n\nexport type MoneyValue = {\n currencyCode: CurrencyCode;\n centAmount: number;\n fractionDigits: number;\n} & MoneyConditionalProps;\n\nexport type MoneyInputValue = {\n amount: string;\n currencyCode: CurrencyCode | \"\";\n};\n\n// Currency parsing utilities for MoneyInput static methods\nexport const parseStringToMoneyValue = (\n rawAmount: string,\n locale: string,\n currencyCode?: CurrencyCode | \"\"\n): MoneyValue | null => {\n if (!currencyCode) return null;\n\n const currency = currencies[currencyCode];\n if (!currency) return null;\n // The user may enter a value with a comma, dot, or apostrophe as the decimal separator.\n if (rawAmount.length === 0 || rawAmount.trim() === \"\") return null;\n\n // Only warn if locale is missing AND currency has zero fraction digits\n if (!locale && currency.fractionDigits === 0) {\n console.warn(\n `MoneyInput: A locale must be provided when currency has no fraction digits (${currencyCode})`\n );\n }\n const amountAsNumber = parseFloat(rawAmount);\n if (isNaN(amountAsNumber)) return null;\n\n // The cent amount is rounded to the currency's default number\n // of fraction digits for prices with high precision.\n //\n // Additionally, JavaScript is sometimes incorrect when multiplying floats,\n // e.g. 2.49 * 100 -> 249.00000000000003\n // While inaccuracy from multiplying floating point numbers is a\n // general problem in JS, we can avoid it by cutting off all\n // decimals. This is possible since cents is the base unit, so we\n // operate on integers anyways\n // Also we should the round the value to ensure that we come close\n // to the nearest decimal value\n // ref: https://github.com/commercetools/merchant-center-frontend/pull/770\n const centAmount = Math.trunc(\n Math.round(amountAsNumber * 10 ** currency.fractionDigits)\n );\n\n const fractionDigitsOfAmount =\n // The conversion to a string will always use a dot as the separator.\n // That means we don't have to handle a comma.\n String(amountAsNumber).indexOf(\".\") === -1\n ? 0\n : String(amountAsNumber).length - String(amountAsNumber).indexOf(\".\") - 1;\n\n if (fractionDigitsOfAmount > currency.fractionDigits) {\n return {\n type: \"highPrecision\",\n currencyCode,\n centAmount,\n preciseAmount: parseInt(\n // Here we need to convert a number like 8.066652 to its centamount\n // We could do that by multiplying it with 10 ** number-of-fraction-digits\n // but then we'll run into problems with JavaScript's floating point\n // number precision and end up with 8066651.9999999, and then parseInt\n // cuts off the remainder.\n // So instead of using maths to convert the number, we just replace\n // the dot inside the number which does the same thing.\n // We don't need to replace \",\" as well, as numbers always us a dot\n // when converted using String().\n //\n // The mathematical way: amountAsNumber * 10 ** fractionDigitsOfAmount,\n String(amountAsNumber).replace(\".\", \"\"),\n 10\n ),\n fractionDigits: fractionDigitsOfAmount,\n };\n }\n\n return {\n type: \"centPrecision\",\n currencyCode,\n centAmount,\n fractionDigits: currency.fractionDigits,\n };\n};\n\nexport const createNullMoneyValue = (\n currencyCode: CurrencyCode\n): MoneyValue => ({\n type: \"centPrecision\",\n currencyCode,\n centAmount: NaN,\n fractionDigits: 2,\n});\n\nexport const extractDecimalAmount = (moneyValue: MoneyValue) =>\n moneyValue.type === \"highPrecision\"\n ? moneyValue.preciseAmount / 10 ** moneyValue.fractionDigits\n : moneyValue.centAmount /\n 10 ** currencies[moneyValue.currencyCode].fractionDigits;\n","import currencies from \"./currencies\";\nimport {\n parseStringToMoneyValue,\n extractDecimalAmount,\n type MoneyValue,\n type MoneyInputValue,\n} from \"./parsing-utilities\";\n\n// Replace lodash/has with native implementation\nconst has = (obj: Record<string, unknown>, key: string): boolean => {\n return Object.prototype.hasOwnProperty.call(obj, key);\n};\n\n// Static method implementations - preserve exact logic from UI Kit\nexport function getMoneyGroupAttribute(\n attr?: string,\n inputType?: string\n): string | undefined {\n return attr && inputType ? `${attr}.${inputType}` : undefined;\n}\n\nexport const transformFormInputToMoneyValue = (\n value: MoneyInputValue,\n locale: string\n) =>\n parseStringToMoneyValue(\n typeof value.amount === \"string\" ? value.amount.trim() : \"\",\n locale,\n value.currencyCode\n );\n\nexport const formatMoneyValueForDisplay = (\n moneyValue: MoneyValue,\n locale: string\n): MoneyInputValue => {\n if (!moneyValue) return { currencyCode: \"\", amount: \"\" };\n\n console.warn(\n typeof locale === \"string\",\n \"MoneyInput.parseMoneyValue: A locale must be passed as the second argument\"\n );\n\n console.warn(\n typeof moneyValue === \"object\",\n \"MoneyInput.parseMoneyValue: Value must be passed as an object or be undefined\"\n );\n\n console.warn(\n typeof moneyValue.currencyCode === \"string\",\n 'MoneyInput.parseMoneyValue: Value must contain \"currencyCode\"'\n );\n\n if (typeof moneyValue.currencyCode !== \"string\") {\n throw new Error(\n 'MoneyInput.parseMoneyValue: Value must contain \"currencyCode\"'\n );\n }\n\n console.warn(\n has(currencies, moneyValue.currencyCode),\n \"MoneyInput.parseMoneyValue: Value must use known currency code\"\n );\n\n if (!has(currencies, moneyValue.currencyCode)) {\n throw new Error(\n \"MoneyInput.parseMoneyValue: Value must use known currency code\"\n );\n }\n\n console.warn(\n // highPrecision or centPrecision values must be set\n typeof moneyValue.centAmount === \"number\" ||\n (typeof moneyValue.preciseAmount === \"number\" &&\n typeof moneyValue.fractionDigits === \"number\"),\n 'MoneyInput.parseMoneyValue: Value must contain \"amount\"'\n );\n\n // Direct formatting without circular conversion\n const amountAsNumber = extractDecimalAmount(moneyValue);\n const fractionDigits = moneyValue.preciseAmount\n ? moneyValue.fractionDigits\n : currencies[moneyValue.currencyCode].fractionDigits;\n\n const amount = isNaN(amountAsNumber)\n ? \"\"\n : amountAsNumber.toLocaleString(locale, {\n minimumFractionDigits: fractionDigits,\n });\n\n return { amount, currencyCode: moneyValue.currencyCode };\n};\n\nexport const isEmpty = (formValue: MoneyInputValue) => {\n return (\n !formValue ||\n formValue?.amount?.trim() === \"\" ||\n formValue?.currencyCode?.trim() === \"\"\n );\n};\n\nexport const isHighPrecision = (\n formValue: MoneyInputValue,\n locale: string\n): boolean => {\n if (isEmpty(formValue)) {\n return false;\n }\n const moneyValue = transformFormInputToMoneyValue(formValue, locale);\n return moneyValue?.type === \"highPrecision\";\n};\n","import { defineMessages } from \"react-intl\";\n\nexport default defineMessages({\n currencySelectLabel: {\n id: \"Nimbus.MoneyInput.currencySelectLabel\",\n description: \"aria-label for currency selection dropdown\",\n defaultMessage: \"Currency\",\n },\n amountInputLabel: {\n id: \"Nimbus.MoneyInput.amountInputLabel\",\n description: \"aria-label for amount input\",\n defaultMessage: \"Amount\",\n },\n highPrecisionPrice: {\n id: \"Nimbus.MoneyInput.highPrecisionPrice\",\n description: \"tooltip text for high precision price badge\",\n defaultMessage: \"High precision price\",\n },\n});\n","import { useCallback, useMemo } from \"react\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { useId, useLocale } from \"react-aria\";\nimport { designTokens } from \"@commercetools/nimbus-tokens\";\nimport { useIntl, FormattedMessage } from \"react-intl\";\nimport {\n NumberInput,\n Select,\n Tooltip,\n Box,\n MakeElementFocusable,\n} from \"@/components\";\nimport { HighPrecision } from \"@commercetools/nimbus-icons\";\nimport { extractStyleProps } from \"@/utils\";\nimport currenciesData from \"./utils/currencies\";\nimport {\n MoneyInputRootSlot,\n MoneyInputContainerSlot,\n MoneyInputCurrencySelectSlot,\n MoneyInputCurrencyLabelSlot,\n MoneyInputAmountInputSlot,\n MoneyInputBadgeSlot,\n} from \"./money-input.slots\";\nimport { moneyInputRecipe } from \"./money-input.recipe\";\nimport {\n getMoneyGroupAttribute,\n isHighPrecision,\n transformFormInputToMoneyValue,\n formatMoneyValueForDisplay,\n isEmpty,\n} from \"./utils\";\nimport type {\n CustomEvent,\n MoneyInputProps,\n CurrencyCode,\n} from \"./money-input.types\";\nimport messages from \"./money-input.i18n\";\n\n/**\n * # MoneyInput\n *\n * A specialized input component for entering monetary amounts with currency selection.\n * Supports high precision values and automatic locale-based formatting.\n *\n * ## Usage\n *\n * ### Modern API (Recommended)\n *\n * Use the modern event handlers for better type safety and cleaner code:\n *\n * ```tsx\n * function MyComponent() {\n * const [value, setValue] = useState<TValue>({\n * amount: \"\",\n * currencyCode: \"USD\",\n * });\n *\n * return (\n * <MoneyInput\n * value={value}\n * currencies={[\"USD\", \"EUR\", \"GBP\"]}\n * onValueChange={setValue} // Recommended: handles complete value changes\n * onAmountChange={(amount) => console.log(\"Amount:\", amount)}\n * onCurrencyChange={(currency) => console.log(\"Currency:\", currency)}\n * />\n * );\n * }\n * ```\n *\n * ### Legacy API (Deprecated)\n *\n * For backward compatibility only - migrate to modern API when possible:\n *\n * ```tsx\n * function LegacyComponent() {\n * const [value, setValue] = useState<TValue>({ amount: \"\", currencyCode: \"USD\" });\n *\n * const handleChange = (event: TCustomEvent) => {\n * const { name, value } = event.target;\n * if (name?.endsWith(\".amount\")) {\n * setValue(prev => ({ ...prev, amount: value as string }));\n * } else if (name?.endsWith(\".currencyCode\")) {\n * setValue(prev => ({ ...prev, currencyCode: value as CurrencyCode }));\n * }\n * };\n *\n * return (\n * <MoneyInput\n * value={value}\n * currencies={[\"USD\", \"EUR\"]}\n * onChange={handleChange} // Deprecated - use onValueChange instead\n * />\n * );\n * }\n * ```\n *\n * ## Features\n *\n * - **Type-safe currency handling** with CurrencyCode enum\n * - **High precision support** for values exceeding standard currency precision\n * - **Automatic locale formatting** using React Aria NumberField\n * - **Accessibility compliant** following WCAG 2.1 AA standards\n * - **Dual API support** for backward compatibility and modern development\n */\nexport const MoneyInput = (props: MoneyInputProps) => {\n const {\n id,\n name,\n value,\n currencies = [],\n onChange,\n onValueChange,\n onAmountChange,\n onCurrencyChange,\n onFocus,\n onBlur,\n isDisabled,\n isReadOnly,\n isInvalid,\n isRequired,\n hasHighPrecisionBadge = true,\n isCurrencyInputDisabled,\n placeholder = \"0.00\",\n autoFocus,\n size,\n ...restProps\n } = props;\n\n // Generate IDs\n const defaultGroupId = useId();\n const groupId = id ?? defaultGroupId;\n\n // Get locale for formatting\n const { locale } = useLocale();\n const intl = useIntl();\n\n // Convert string value to number for NumberInput\n const numericValue = value.amount ? parseFloat(value.amount) : undefined;\n\n // Detect whether the currency select or currency label should display\n const hasNoCurrencies = !currencies || currencies.length === 0;\n\n // High precision detection using raw input value - default to en if locale is not provided\n const isCurrentlyHighPrecision = isHighPrecision(value, locale || \"en\");\n\n // Create currency-aware format options for NumberInput\n const formatOptions: Intl.NumberFormatOptions = useMemo(() => {\n if (!value.currencyCode) return {};\n\n // Decimal style: pure number formatting without currency symbols\n // Handles high precision mode for extended decimal places\n return {\n minimumFractionDigits: currenciesData[value.currencyCode].fractionDigits, // Always respect currency minimum (e.g., 2 for USD, 0 for JPY)\n maximumFractionDigits: 20, // Always use a maximum of 20 decimal places to match API precision\n useGrouping: true, // Keep thousand separators for readability (formatted per locale)\n style: \"decimal\", // Use decimal to avoid currency symbol conflicts\n };\n }, [value.currencyCode, locale]);\n\n // Recipe setup\n const recipe = useSlotRecipe({ recipe: moneyInputRecipe });\n const [recipeProps, recipeRestProps] = recipe.splitVariantProps({\n ...restProps,\n size,\n });\n const [styleProps, remainingProps] = extractStyleProps(recipeRestProps);\n\n // Id's and Names for each group input type\n const amountInputId = getMoneyGroupAttribute(groupId, \"amount\");\n const currencySelectId = getMoneyGroupAttribute(groupId, \"currencyCode\");\n const amountInputName = getMoneyGroupAttribute(name, \"amount\");\n const currencySelectName = getMoneyGroupAttribute(name, \"currencyCode\");\n\n // Event handlers - NumberInput will preserve decimal precision with new settings\n const handleAmountChange = useCallback(\n (newValue: number) => {\n const stringValue = newValue.toString();\n\n // Support legacy API\n const event: CustomEvent = {\n target: {\n id: amountInputId,\n name: amountInputName,\n value: stringValue,\n },\n };\n onChange?.(event);\n\n // Support modern APIs\n const newValueObject = { ...value, amount: stringValue };\n onValueChange?.(newValueObject);\n onAmountChange?.(stringValue);\n },\n [onChange, onValueChange, onAmountChange, value, groupId, name]\n );\n\n const handleAmountFocus = useCallback(() => {\n const event: CustomEvent = {\n target: {\n id: amountInputId,\n name: amountInputName,\n value: value.amount,\n },\n };\n onFocus?.(event);\n }, [onFocus, value.amount, id, name]);\n\n const handleAmountBlur = useCallback(() => {\n const event: CustomEvent = {\n target: {\n id: amountInputId,\n name: amountInputName,\n value: value.amount,\n },\n };\n onBlur?.(event);\n }, [onBlur, value, id, name]);\n\n const handleCurrencyChange = useCallback(\n (currencyCode: string) => {\n // Support legacy API\n const event: CustomEvent = {\n target: {\n id: currencySelectId,\n name: currencySelectName,\n value: currencyCode,\n },\n };\n onChange?.(event);\n\n // Support modern APIs\n const newValueObject = {\n ...value,\n currencyCode: currencyCode as CurrencyCode,\n };\n onValueChange?.(newValueObject);\n onCurrencyChange?.(currencyCode as CurrencyCode);\n },\n [onChange, onValueChange, onCurrencyChange, value, id, name]\n );\n\n const handleCurrencyFocus = useCallback(() => {\n const event: CustomEvent = {\n target: {\n id: currencySelectId,\n name: currencySelectName,\n value: value.currencyCode,\n },\n };\n onFocus?.(event);\n }, [onFocus, value.currencyCode, id, name]);\n\n const handleCurrencyBlur = useCallback(() => {\n const event: CustomEvent = {\n target: {\n id: currencySelectId,\n name: currencySelectName,\n value: value.currencyCode,\n },\n };\n onBlur?.(event);\n }, [onBlur, value.currencyCode, id, name]);\n\n const handleCurrencySelectionChange = useCallback(\n (selectedKey: string | number | null) => {\n if (selectedKey && typeof selectedKey === \"string\") {\n handleCurrencyChange(selectedKey);\n }\n },\n [handleCurrencyChange]\n );\n\n const noCurrenciesLabelId = useId();\n const highPrecisionBadgeId = useId();\n\n return (\n <MoneyInputRootSlot {...recipeProps} {...styleProps} {...remainingProps}>\n <MoneyInputContainerSlot>\n {/* Currency Select or Label */}\n <MoneyInputCurrencySelectSlot>\n {hasNoCurrencies ? (\n <MoneyInputCurrencyLabelSlot\n {...(isDisabled && { \"data-disabled\": isDisabled })}\n asChild\n >\n <label id={noCurrenciesLabelId}>{value.currencyCode}</label>\n </MoneyInputCurrencyLabelSlot>\n ) : (\n <Select.Root\n id={currencySelectId}\n name={currencySelectName}\n selectedKey={value.currencyCode || null}\n onSelectionChange={handleCurrencySelectionChange}\n onFocus={handleCurrencyFocus}\n onBlur={handleCurrencyBlur}\n isDisabled={isCurrencyInputDisabled || isDisabled || isReadOnly}\n isClearable={false}\n placeholder=\"\"\n aria-label={intl.formatMessage(messages.currencySelectLabel)}\n size={size}\n >\n <Select.Options>\n {currencies.map((currencyCode) => (\n <Select.Option key={currencyCode} id={currencyCode}>\n {currencyCode}\n </Select.Option>\n ))}\n </Select.Options>\n </Select.Root>\n )}\n </MoneyInputCurrencySelectSlot>\n\n {/* Amount Input - NumberInput handles live user interaction */}\n <MoneyInputAmountInputSlot\n data-has-high-precision={\n hasHighPrecisionBadge && isCurrentlyHighPrecision\n }\n asChild\n >\n <NumberInput\n id={amountInputId}\n name={amountInputName}\n value={numericValue}\n formatOptions={formatOptions}\n onChange={handleAmountChange}\n onFocus={handleAmountFocus}\n onBlur={handleAmountBlur}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n isInvalid={isInvalid}\n isRequired={isRequired}\n placeholder={placeholder}\n autoFocus={autoFocus}\n size={size}\n //base accessible name: \"Amount\"\n aria-label={intl.formatMessage(messages.amountInputLabel)}\n // accessible name when hasNoCurrencies=true: \"<CURRENCY_CODE> Amount\"\n aria-labelledby={noCurrenciesLabelId}\n // accessible name when high precision: \"High Precision Amount\"\n aria-describedby={highPrecisionBadgeId}\n // See the types file for why we don't use step\n step={undefined}\n />\n </MoneyInputAmountInputSlot>\n {/* High Precision Badge */}\n {hasHighPrecisionBadge && isCurrentlyHighPrecision && (\n <MoneyInputBadgeSlot>\n <Tooltip.Root delay={0} closeDelay={0}>\n <MakeElementFocusable>\n <Box\n as={HighPrecision}\n id={highPrecisionBadgeId}\n color={isDisabled ? \"neutral.8\" : \"neutral.11\"}\n aria-label={intl.formatMessage(messages.highPrecisionPrice)}\n // Position the badge correctly as we don't want layout shift that occurs with trailingElement use in the underlying NumberInput\n transform={`translateX(-${designTokens.spacing[\"1200\"]})`}\n />\n </MakeElementFocusable>\n <Tooltip.Content placement=\"top\">\n <FormattedMessage {...messages.highPrecisionPrice} />\n </Tooltip.Content>\n </Tooltip.Root>\n </MoneyInputBadgeSlot>\n )}\n </MoneyInputContainerSlot>\n </MoneyInputRootSlot>\n );\n};\n\n// Static methods for UI-Kit compatibility and internal utilities\nMoneyInput.getAmountInputId = (id?: string) =>\n getMoneyGroupAttribute(id, \"amount\");\nMoneyInput.getCurrencyDropdownId = (id?: string) =>\n getMoneyGroupAttribute(id, \"currencyCode\");\nMoneyInput.convertToMoneyValue = transformFormInputToMoneyValue;\nMoneyInput.parseMoneyValue = formatMoneyValueForDisplay;\nMoneyInput.isEmpty = isEmpty;\nMoneyInput.isHighPrecision = isHighPrecision;\n\n// Display name\nMoneyInput.displayName = \"MoneyInput\";\n"],"names":["currencies","withProvider","withContext","createSlotRecipeContext","MoneyInputRootSlot","Group","MoneyInputContainerSlot","MoneyInputCurrencySelectSlot","MoneyInputCurrencyLabelSlot","MoneyInputAmountInputSlot","MoneyInputBadgeSlot","parseStringToMoneyValue","rawAmount","locale","currencyCode","currency","amountAsNumber","centAmount","fractionDigitsOfAmount","extractDecimalAmount","moneyValue","has","obj","key","getMoneyGroupAttribute","attr","inputType","transformFormInputToMoneyValue","value","formatMoneyValueForDisplay","fractionDigits","isEmpty","formValue","isHighPrecision","messages","defineMessages","MoneyInput","props","id","name","onChange","onValueChange","onAmountChange","onCurrencyChange","onFocus","onBlur","isDisabled","isReadOnly","isInvalid","isRequired","hasHighPrecisionBadge","isCurrencyInputDisabled","placeholder","autoFocus","size","restProps","defaultGroupId","useId","groupId","useLocale","intl","useIntl","numericValue","hasNoCurrencies","isCurrentlyHighPrecision","formatOptions","useMemo","currenciesData","recipe","useSlotRecipe","moneyInputRecipe","recipeProps","recipeRestProps","styleProps","remainingProps","extractStyleProps","amountInputId","currencySelectId","amountInputName","currencySelectName","handleAmountChange","useCallback","newValue","stringValue","newValueObject","handleAmountFocus","event","handleAmountBlur","handleCurrencyChange","handleCurrencyFocus","handleCurrencyBlur","handleCurrencySelectionChange","selectedKey","noCurrenciesLabelId","highPrecisionBadgeId","jsx","jsxs","Select","NumberInput","Tooltip","MakeElementFocusable","Box","HighPrecision","designTokens","FormattedMessage"],"mappings":";;;;;;;;;;;;;;;;;AAeA,MAAMA,IAAa;AAAA,EACjB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,GAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,GAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,GAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,GAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,GAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,GAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,GAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,GAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,GAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,GAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,GAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,GAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,GAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,GAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,GAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,EACvB,KAAK,EAAE,gBAAgB,EAAA;AAAA,E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"}
|
package/dist/chunks/{multiline-text-input-B-iIj6LP.cjs.js → multiline-text-input-B3QkRPNx.cjs.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const i=require("react/jsx-runtime"),u=require("react"),d=require("@chakra-ui/react"),$=require("@chakra-ui/react/styled-system"),b=require("./TextArea-2QJpeMJq.cjs.js"),y=require("./extract-style-props-
|
|
2
|
-
//# sourceMappingURL=multiline-text-input-
|
|
1
|
+
"use strict";const i=require("react/jsx-runtime"),u=require("react"),d=require("@chakra-ui/react"),$=require("@chakra-ui/react/styled-system"),b=require("./TextArea-2QJpeMJq.cjs.js"),y=require("./extract-style-props-KhpIPABw.cjs.js"),I=require("./index-D_vaB826.cjs.js"),T=require("./useObjectRef-4v2MxSjQ.cjs.js"),S=require("./useTextField-B1RrrtMI.cjs.js"),{withContext:p,withProvider:q}=d.createSlotRecipeContext({key:"multilineTextInput"}),v=q("div","root"),j=p("div","leadingElement"),w=p("textarea","textarea");function M(s,l={}){const{enabled:n=!1}=l,r=u.useCallback(()=>{const e=s.current;if(!e||!n)return;e.style.height="auto";const t=e.scrollHeight,a=window.getComputedStyle(e),o=parseInt(a.maxHeight,10),c=!isNaN(o)&&o>0?Math.min(t,o):t;e.style.height=`${c}px`},[n]);u.useEffect(()=>{const e=s.current;if(!e||!n)return;r();const t=()=>{r()};return e.addEventListener("input",t),()=>{e.removeEventListener("input",t)}},[r,n])}const x=s=>{const{ref:l,leadingElement:n,rows:r=1,autoGrow:e=!1,...t}=s,a=$.useRecipe({recipe:I.multilineTextInputRecipe}),o=u.useRef(null),c=T.$df56164dff5785e2$export$4338b53315abf666(d.mergeRefs(o,l)),[f,h]=a.splitVariantProps(t),[m,g]=y.extractStyleProps(h),{inputProps:P}=S.$2d73ec29415bd339$export$712718f7aec83d5(g,c);M(c,{enabled:e});const R={"data-disabled":t.isDisabled?"true":void 0,"data-invalid":t.isInvalid?"true":"false"};return i.jsx(v,{className:s?.className,...f,...m,...R,children:i.jsxs(i.Fragment,{children:[n&&i.jsx(j,{children:n}),i.jsx(w,{asChild:!0,children:i.jsx(b.$216918bed6669f72$export$f5c9f3c2c4054eec,{ref:c,rows:r,...P})})]})})};x.displayName="MultilineTextInput";exports.MultilineTextInput=x;
|
|
2
|
+
//# sourceMappingURL=multiline-text-input-B3QkRPNx.cjs.js.map
|