@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.
Files changed (288) hide show
  1. package/dist/chunks/{accordion-B_1KNzgc.cjs.js → accordion-DSGEXEhr.cjs.js} +2 -2
  2. package/dist/chunks/{accordion-B_1KNzgc.cjs.js.map → accordion-DSGEXEhr.cjs.js.map} +1 -1
  3. package/dist/chunks/{accordion-Dpz27R7h.es.js → accordion-qGqsBPyL.es.js} +2 -2
  4. package/dist/chunks/{accordion-Dpz27R7h.es.js.map → accordion-qGqsBPyL.es.js.map} +1 -1
  5. package/dist/chunks/{alert-CvjNVv19.cjs.js → alert-TRDlquOA.cjs.js} +2 -2
  6. package/dist/chunks/{alert-CvjNVv19.cjs.js.map → alert-TRDlquOA.cjs.js.map} +1 -1
  7. package/dist/chunks/{alert-NU_pbX5a.es.js → alert-oRDhQkv5.es.js} +2 -2
  8. package/dist/chunks/{alert-NU_pbX5a.es.js.map → alert-oRDhQkv5.es.js.map} +1 -1
  9. package/dist/chunks/{button-DVq0Tn9x.cjs.js → button-DBJWE37u.cjs.js} +2 -2
  10. package/dist/chunks/{button-DVq0Tn9x.cjs.js.map → button-DBJWE37u.cjs.js.map} +1 -1
  11. package/dist/chunks/{button-C-aK04VC.es.js → button-DPyMVftu.es.js} +2 -2
  12. package/dist/chunks/{button-C-aK04VC.es.js.map → button-DPyMVftu.es.js.map} +1 -1
  13. package/dist/chunks/{calendar-68UPkecF.cjs.js → calendar-CmXy0cPT.cjs.js} +2 -2
  14. package/dist/chunks/{calendar-68UPkecF.cjs.js.map → calendar-CmXy0cPT.cjs.js.map} +1 -1
  15. package/dist/chunks/{calendar-BOltdZgB.es.js → calendar-oIF-zfZk.es.js} +4 -4
  16. package/dist/chunks/{calendar-BOltdZgB.es.js.map → calendar-oIF-zfZk.es.js.map} +1 -1
  17. package/dist/chunks/{checkbox-CE8KCGeO.es.js → checkbox-Ba3nSo59.es.js} +2 -2
  18. package/dist/chunks/{checkbox-CE8KCGeO.es.js.map → checkbox-Ba3nSo59.es.js.map} +1 -1
  19. package/dist/chunks/{checkbox-BsF8yKNU.cjs.js → checkbox-BemzZgDS.cjs.js} +2 -2
  20. package/dist/chunks/{checkbox-BsF8yKNU.cjs.js.map → checkbox-BemzZgDS.cjs.js.map} +1 -1
  21. package/dist/chunks/{collapsible-motion-YVxwOqMx.es.js → collapsible-motion-ChDBaGDk.es.js} +2 -2
  22. package/dist/chunks/{collapsible-motion-YVxwOqMx.es.js.map → collapsible-motion-ChDBaGDk.es.js.map} +1 -1
  23. package/dist/chunks/{collapsible-motion-JlRqk1WP.cjs.js → collapsible-motion-cY4bTAQ3.cjs.js} +2 -2
  24. package/dist/chunks/{collapsible-motion-JlRqk1WP.cjs.js.map → collapsible-motion-cY4bTAQ3.cjs.js.map} +1 -1
  25. package/dist/chunks/{combobox-DxZYSfXC.es.js → combobox-KB0akVts.es.js} +5 -5
  26. package/dist/chunks/{combobox-DxZYSfXC.es.js.map → combobox-KB0akVts.es.js.map} +1 -1
  27. package/dist/chunks/{combobox--SFKwkv-.cjs.js → combobox-djmE5cgW.cjs.js} +2 -2
  28. package/dist/chunks/{combobox--SFKwkv-.cjs.js.map → combobox-djmE5cgW.cjs.js.map} +1 -1
  29. package/dist/chunks/{data-table-CVOGG34V.es.js → data-table-Bsv_hjhy.es.js} +5 -5
  30. package/dist/chunks/{data-table-CVOGG34V.es.js.map → data-table-Bsv_hjhy.es.js.map} +1 -1
  31. package/dist/chunks/{data-table-dVWkgyi0.cjs.js → data-table-DHPEKVQl.cjs.js} +2 -2
  32. package/dist/chunks/{data-table-dVWkgyi0.cjs.js.map → data-table-DHPEKVQl.cjs.js.map} +1 -1
  33. package/dist/chunks/{date-input-_QRphDSA.es.js → date-input-BsjCF8tk.es.js} +3 -3
  34. package/dist/chunks/{date-input-_QRphDSA.es.js.map → date-input-BsjCF8tk.es.js.map} +1 -1
  35. package/dist/chunks/{date-input-CPl8mFy8.cjs.js → date-input-CSJV8IVf.cjs.js} +2 -2
  36. package/dist/chunks/{date-input-CPl8mFy8.cjs.js.map → date-input-CSJV8IVf.cjs.js.map} +1 -1
  37. package/dist/chunks/{date-picker-iuCCrF6q.es.js → date-picker-ClR6hL46.es.js} +7 -7
  38. package/dist/chunks/{date-picker-iuCCrF6q.es.js.map → date-picker-ClR6hL46.es.js.map} +1 -1
  39. package/dist/chunks/{date-picker-4WW_uOY9.cjs.js → date-picker-DXIjMGQT.cjs.js} +2 -2
  40. package/dist/chunks/{date-picker-4WW_uOY9.cjs.js.map → date-picker-DXIjMGQT.cjs.js.map} +1 -1
  41. package/dist/chunks/{date-range-picker-B5thxmG7.cjs.js → date-range-picker-DrfyQRXe.cjs.js} +2 -2
  42. package/dist/chunks/{date-range-picker-B5thxmG7.cjs.js.map → date-range-picker-DrfyQRXe.cjs.js.map} +1 -1
  43. package/dist/chunks/{date-range-picker-9gMrujrF.es.js → date-range-picker-SaGG53EV.es.js} +7 -7
  44. package/dist/chunks/{date-range-picker-9gMrujrF.es.js.map → date-range-picker-SaGG53EV.es.js.map} +1 -1
  45. package/dist/chunks/{dialog-B9olReM9.cjs.js → dialog-B3RSB8sN.cjs.js} +2 -2
  46. package/dist/chunks/{dialog-B9olReM9.cjs.js.map → dialog-B3RSB8sN.cjs.js.map} +1 -1
  47. package/dist/chunks/{dialog-DkA2M2zA.es.js → dialog-B3lILV04.es.js} +2 -2
  48. package/dist/chunks/{dialog-DkA2M2zA.es.js.map → dialog-B3lILV04.es.js.map} +1 -1
  49. package/dist/chunks/{dialog.title-BjZfOiGY.cjs.js → dialog.title-A4z504qq.cjs.js} +2 -2
  50. package/dist/chunks/{dialog.title-BjZfOiGY.cjs.js.map → dialog.title-A4z504qq.cjs.js.map} +1 -1
  51. package/dist/chunks/{dialog.title-8ujXI7iT.es.js → dialog.title-BV6CRPsm.es.js} +3 -3
  52. package/dist/chunks/{dialog.title-8ujXI7iT.es.js.map → dialog.title-BV6CRPsm.es.js.map} +1 -1
  53. package/dist/chunks/{draggable-list-Clv2Jb9U.es.js → draggable-list-Ca9Fmn5s.es.js} +5 -5
  54. package/dist/chunks/{draggable-list-Clv2Jb9U.es.js.map → draggable-list-Ca9Fmn5s.es.js.map} +1 -1
  55. package/dist/chunks/{draggable-list-BWC9cgUJ.cjs.js → draggable-list-WF8DZYUH.cjs.js} +2 -2
  56. package/dist/chunks/{draggable-list-BWC9cgUJ.cjs.js.map → draggable-list-WF8DZYUH.cjs.js.map} +1 -1
  57. package/dist/chunks/{drawer-CPcfw8l3.cjs.js → drawer-Cav9VbD7.cjs.js} +2 -2
  58. package/dist/chunks/{drawer-CPcfw8l3.cjs.js.map → drawer-Cav9VbD7.cjs.js.map} +1 -1
  59. package/dist/chunks/{drawer-CGkXe_9E.es.js → drawer-DOasWYnp.es.js} +4 -4
  60. package/dist/chunks/{drawer-CGkXe_9E.es.js.map → drawer-DOasWYnp.es.js.map} +1 -1
  61. package/dist/chunks/{extract-style-props-Cg1pKYtC.es.js → extract-style-props-CHpzYLGm.es.js} +2 -2
  62. package/dist/chunks/{extract-style-props-Cg1pKYtC.es.js.map → extract-style-props-CHpzYLGm.es.js.map} +1 -1
  63. package/dist/chunks/{extract-style-props-Dk3fpLyQ.cjs.js → extract-style-props-KhpIPABw.cjs.js} +2 -2
  64. package/dist/chunks/{extract-style-props-Dk3fpLyQ.cjs.js.map → extract-style-props-KhpIPABw.cjs.js.map} +1 -1
  65. package/dist/chunks/{form-field-CSEMgt-e.es.js → form-field-AU_H4IwN.es.js} +2 -2
  66. package/dist/chunks/{form-field-CSEMgt-e.es.js.map → form-field-AU_H4IwN.es.js.map} +1 -1
  67. package/dist/chunks/{form-field-BeYe6Fae.cjs.js → form-field-B4SvBs6l.cjs.js} +2 -2
  68. package/dist/chunks/{form-field-BeYe6Fae.cjs.js.map → form-field-B4SvBs6l.cjs.js.map} +1 -1
  69. package/dist/chunks/{icon-button-DBJF6Y-T.cjs.js → icon-button-By5kCd-5.cjs.js} +2 -2
  70. package/dist/chunks/{icon-button-DBJF6Y-T.cjs.js.map → icon-button-By5kCd-5.cjs.js.map} +1 -1
  71. package/dist/chunks/{icon-button-DR2FLlZ4.es.js → icon-button-CdIIe5w1.es.js} +2 -2
  72. package/dist/chunks/{icon-button-DR2FLlZ4.es.js.map → icon-button-CdIIe5w1.es.js.map} +1 -1
  73. package/dist/chunks/{icon-toggle-button-Cqb4cQyZ.cjs.js → icon-toggle-button-B5RGHtU0.cjs.js} +2 -2
  74. package/dist/chunks/{icon-toggle-button-Cqb4cQyZ.cjs.js.map → icon-toggle-button-B5RGHtU0.cjs.js.map} +1 -1
  75. package/dist/chunks/{icon-toggle-button-BM45U1ea.es.js → icon-toggle-button-JEjHG0sc.es.js} +2 -2
  76. package/dist/chunks/{icon-toggle-button-BM45U1ea.es.js.map → icon-toggle-button-JEjHG0sc.es.js.map} +1 -1
  77. package/dist/chunks/{index-CRFg4Mhx.cjs.js → index-D_vaB826.cjs.js} +2 -2
  78. package/dist/chunks/index-D_vaB826.cjs.js.map +1 -0
  79. package/dist/chunks/{index-D6WdXWQX.es.js → index-DgmyBTGN.es.js} +26 -31
  80. package/dist/chunks/index-DgmyBTGN.es.js.map +1 -0
  81. package/dist/chunks/{localized-field-Dn2G8N65.es.js → localized-field-BWOWbS0n.es.js} +8 -8
  82. package/dist/chunks/localized-field-BWOWbS0n.es.js.map +1 -0
  83. package/dist/chunks/{localized-field-vfjg6ZQw.cjs.js → localized-field-DYEG251P.cjs.js} +2 -2
  84. package/dist/chunks/localized-field-DYEG251P.cjs.js.map +1 -0
  85. package/dist/chunks/{menu-D9Ji3iaH.es.js → menu-KpNoPQU3.es.js} +2 -2
  86. package/dist/chunks/{menu-D9Ji3iaH.es.js.map → menu-KpNoPQU3.es.js.map} +1 -1
  87. package/dist/chunks/{menu-x3kqOUl0.cjs.js → menu-y9u1LpRz.cjs.js} +2 -2
  88. package/dist/chunks/{menu-x3kqOUl0.cjs.js.map → menu-y9u1LpRz.cjs.js.map} +1 -1
  89. package/dist/chunks/money-input-B31JK8Hy.cjs.js +2 -0
  90. package/dist/chunks/money-input-B31JK8Hy.cjs.js.map +1 -0
  91. package/dist/chunks/{money-input-CyikuiLb.es.js → money-input-B73nxLNR.es.js} +125 -126
  92. package/dist/chunks/money-input-B73nxLNR.es.js.map +1 -0
  93. package/dist/chunks/{multiline-text-input-B-iIj6LP.cjs.js → multiline-text-input-B3QkRPNx.cjs.js} +2 -2
  94. package/dist/chunks/{multiline-text-input-B-iIj6LP.cjs.js.map → multiline-text-input-B3QkRPNx.cjs.js.map} +1 -1
  95. package/dist/chunks/{multiline-text-input-BGekltlt.es.js → multiline-text-input-D1fu1Eta.es.js} +3 -3
  96. package/dist/chunks/{multiline-text-input-BGekltlt.es.js.map → multiline-text-input-D1fu1Eta.es.js.map} +1 -1
  97. package/dist/chunks/nimbus-provider-BDmq6AzA.es.js +102 -0
  98. package/dist/chunks/nimbus-provider-BDmq6AzA.es.js.map +1 -0
  99. package/dist/chunks/nimbus-provider-WsvQ1e2w.cjs.js +2 -0
  100. package/dist/chunks/nimbus-provider-WsvQ1e2w.cjs.js.map +1 -0
  101. package/dist/chunks/{number-input-e4aNnp4Q.es.js → number-input-BNhWxDtw.es.js} +3 -3
  102. package/dist/chunks/{number-input-e4aNnp4Q.es.js.map → number-input-BNhWxDtw.es.js.map} +1 -1
  103. package/dist/chunks/{number-input-CBJ0pAwK.cjs.js → number-input-IGzwI6It.cjs.js} +2 -2
  104. package/dist/chunks/{number-input-CBJ0pAwK.cjs.js.map → number-input-IGzwI6It.cjs.js.map} +1 -1
  105. package/dist/chunks/{pagination-BJNQAP9b.es.js → pagination-DPNu_ESN.es.js} +4 -4
  106. package/dist/chunks/{pagination-BJNQAP9b.es.js.map → pagination-DPNu_ESN.es.js.map} +1 -1
  107. package/dist/chunks/{pagination-BUau2zil.cjs.js → pagination-De4lNc8M.cjs.js} +2 -2
  108. package/dist/chunks/{pagination-BUau2zil.cjs.js.map → pagination-De4lNc8M.cjs.js.map} +1 -1
  109. package/dist/chunks/{password-input-DgloRBJz.cjs.js → password-input-D5tZVRkW.cjs.js} +2 -2
  110. package/dist/chunks/{password-input-DgloRBJz.cjs.js.map → password-input-D5tZVRkW.cjs.js.map} +1 -1
  111. package/dist/chunks/{password-input-CzZKl1EE.es.js → password-input-GaNFcHfS.es.js} +3 -3
  112. package/dist/chunks/{password-input-CzZKl1EE.es.js.map → password-input-GaNFcHfS.es.js.map} +1 -1
  113. package/dist/chunks/{progress-bar-CRb4HUlh.cjs.js → progress-bar-BUuccHqU.cjs.js} +2 -2
  114. package/dist/chunks/{progress-bar-CRb4HUlh.cjs.js.map → progress-bar-BUuccHqU.cjs.js.map} +1 -1
  115. package/dist/chunks/{progress-bar-CtlTFrb-.es.js → progress-bar-DSdNuSmY.es.js} +2 -2
  116. package/dist/chunks/{progress-bar-CtlTFrb-.es.js.map → progress-bar-DSdNuSmY.es.js.map} +1 -1
  117. package/dist/chunks/{radio-input-CJjKZ56j.cjs.js → radio-input-B8DC66Dq.cjs.js} +2 -2
  118. package/dist/chunks/{radio-input-CJjKZ56j.cjs.js.map → radio-input-B8DC66Dq.cjs.js.map} +1 -1
  119. package/dist/chunks/{radio-input-COzb7v5p.es.js → radio-input-BmqKw3a4.es.js} +3 -3
  120. package/dist/chunks/{radio-input-COzb7v5p.es.js.map → radio-input-BmqKw3a4.es.js.map} +1 -1
  121. package/dist/chunks/{range-calendar-DGUcaTaL.cjs.js → range-calendar-DsSZfcRh.cjs.js} +2 -2
  122. package/dist/chunks/{range-calendar-DGUcaTaL.cjs.js.map → range-calendar-DsSZfcRh.cjs.js.map} +1 -1
  123. package/dist/chunks/{range-calendar-DWiND2-r.es.js → range-calendar-jzcPhhWP.es.js} +4 -4
  124. package/dist/chunks/{range-calendar-DWiND2-r.es.js.map → range-calendar-jzcPhhWP.es.js.map} +1 -1
  125. package/dist/chunks/{rich-text-input-bAQaG3hR.es.js → rich-text-input-C0MorZCK.es.js} +8 -8
  126. package/dist/chunks/{rich-text-input-bAQaG3hR.es.js.map → rich-text-input-C0MorZCK.es.js.map} +1 -1
  127. package/dist/chunks/{rich-text-input-DXl_zylc.cjs.js → rich-text-input-OlfGBRSb.cjs.js} +2 -2
  128. package/dist/chunks/{rich-text-input-DXl_zylc.cjs.js.map → rich-text-input-OlfGBRSb.cjs.js.map} +1 -1
  129. package/dist/chunks/{scoped-search-input-C8rggS1W.es.js → scoped-search-input-COwEJrBr.es.js} +5 -5
  130. package/dist/chunks/{scoped-search-input-C8rggS1W.es.js.map → scoped-search-input-COwEJrBr.es.js.map} +1 -1
  131. package/dist/chunks/{scoped-search-input-CL35u_qe.cjs.js → scoped-search-input-CzlCQxEr.cjs.js} +2 -2
  132. package/dist/chunks/{scoped-search-input-CL35u_qe.cjs.js.map → scoped-search-input-CzlCQxEr.cjs.js.map} +1 -1
  133. package/dist/chunks/{search-input-DCRuc8TX.es.js → search-input-CNWJt3sr.es.js} +4 -4
  134. package/dist/chunks/{search-input-DCRuc8TX.es.js.map → search-input-CNWJt3sr.es.js.map} +1 -1
  135. package/dist/chunks/{search-input-Dg6bANcB.cjs.js → search-input-Dny-ZfkH.cjs.js} +2 -2
  136. package/dist/chunks/{search-input-Dg6bANcB.cjs.js.map → search-input-Dny-ZfkH.cjs.js.map} +1 -1
  137. package/dist/chunks/{select-8M7Fx0Aj.es.js → select-BX8CxAIO.es.js} +4 -4
  138. package/dist/chunks/{select-8M7Fx0Aj.es.js.map → select-BX8CxAIO.es.js.map} +1 -1
  139. package/dist/chunks/{select-BmeHhM6P.cjs.js → select-eR7J0RJa.cjs.js} +2 -2
  140. package/dist/chunks/{select-BmeHhM6P.cjs.js.map → select-eR7J0RJa.cjs.js.map} +1 -1
  141. package/dist/chunks/{separator-C62eVjZN.cjs.js → separator-BjczrqRN.cjs.js} +2 -2
  142. package/dist/chunks/{separator-C62eVjZN.cjs.js.map → separator-BjczrqRN.cjs.js.map} +1 -1
  143. package/dist/chunks/{separator-BWeCBIxn.es.js → separator-IU-dtU00.es.js} +3 -3
  144. package/dist/chunks/{separator-BWeCBIxn.es.js.map → separator-IU-dtU00.es.js.map} +1 -1
  145. package/dist/chunks/{split-button-D1m7jEzh.es.js → split-button-D2jrXscW.es.js} +4 -4
  146. package/dist/chunks/{split-button-D1m7jEzh.es.js.map → split-button-D2jrXscW.es.js.map} +1 -1
  147. package/dist/chunks/{split-button-DCQPz8zr.cjs.js → split-button-QsjuZo85.cjs.js} +2 -2
  148. package/dist/chunks/{split-button-DCQPz8zr.cjs.js.map → split-button-QsjuZo85.cjs.js.map} +1 -1
  149. package/dist/chunks/{switch-DCARSVF8.cjs.js → switch-BgdV_tH-.cjs.js} +2 -2
  150. package/dist/chunks/{switch-DCARSVF8.cjs.js.map → switch-BgdV_tH-.cjs.js.map} +1 -1
  151. package/dist/chunks/{switch-D_3c0qqj.es.js → switch-CysGpMQp.es.js} +3 -3
  152. package/dist/chunks/{switch-D_3c0qqj.es.js.map → switch-CysGpMQp.es.js.map} +1 -1
  153. package/dist/chunks/{tabs-Bu_-Hx4D.es.js → tabs-BL_wffCN.es.js} +2 -2
  154. package/dist/chunks/{tabs-Bu_-Hx4D.es.js.map → tabs-BL_wffCN.es.js.map} +1 -1
  155. package/dist/chunks/{tabs-DfiWctDh.cjs.js → tabs-DPmsaPOs.cjs.js} +2 -2
  156. package/dist/chunks/{tabs-DfiWctDh.cjs.js.map → tabs-DPmsaPOs.cjs.js.map} +1 -1
  157. package/dist/chunks/{tag-group-CwiG07wb.cjs.js → tag-group-nMUPcRkc.cjs.js} +2 -2
  158. package/dist/chunks/{tag-group-CwiG07wb.cjs.js.map → tag-group-nMUPcRkc.cjs.js.map} +1 -1
  159. package/dist/chunks/{tag-group-M-514iVh.es.js → tag-group-pkBXTUxP.es.js} +2 -2
  160. package/dist/chunks/{tag-group-M-514iVh.es.js.map → tag-group-pkBXTUxP.es.js.map} +1 -1
  161. package/dist/chunks/{text-input-EVB84mKj.cjs.js → text-input-Dp9hDxgz.cjs.js} +2 -2
  162. package/dist/chunks/{text-input-EVB84mKj.cjs.js.map → text-input-Dp9hDxgz.cjs.js.map} +1 -1
  163. package/dist/chunks/{text-input-DkOL-5_E.es.js → text-input-lnixyU8q.es.js} +3 -3
  164. package/dist/chunks/{text-input-DkOL-5_E.es.js.map → text-input-lnixyU8q.es.js.map} +1 -1
  165. package/dist/chunks/{time-input-DQidALjG.es.js → time-input-BDWTODNy.es.js} +3 -3
  166. package/dist/chunks/{time-input-DQidALjG.es.js.map → time-input-BDWTODNy.es.js.map} +1 -1
  167. package/dist/chunks/{time-input-B9UjERFQ.cjs.js → time-input-BhQq-KSp.cjs.js} +2 -2
  168. package/dist/chunks/{time-input-B9UjERFQ.cjs.js.map → time-input-BhQq-KSp.cjs.js.map} +1 -1
  169. package/dist/chunks/{toggle-button-DVBPrGUn.cjs.js → toggle-button-BeLLjgUA.cjs.js} +2 -2
  170. package/dist/chunks/{toggle-button-DVBPrGUn.cjs.js.map → toggle-button-BeLLjgUA.cjs.js.map} +1 -1
  171. package/dist/chunks/{toggle-button-DRRMHCoV.es.js → toggle-button-rKQHaIfc.es.js} +3 -3
  172. package/dist/chunks/{toggle-button-DRRMHCoV.es.js.map → toggle-button-rKQHaIfc.es.js.map} +1 -1
  173. package/dist/chunks/{toolbar-JF64ZgP6.es.js → toolbar-B_QVHYyc.es.js} +3 -3
  174. package/dist/chunks/{toolbar-JF64ZgP6.es.js.map → toolbar-B_QVHYyc.es.js.map} +1 -1
  175. package/dist/chunks/{toolbar-BkLgUhIG.cjs.js → toolbar-BpOLF75D.cjs.js} +2 -2
  176. package/dist/chunks/{toolbar-BkLgUhIG.cjs.js.map → toolbar-BpOLF75D.cjs.js.map} +1 -1
  177. package/dist/components/accordion.cjs +1 -1
  178. package/dist/components/accordion.es.js +1 -1
  179. package/dist/components/alert.cjs +1 -1
  180. package/dist/components/alert.es.js +1 -1
  181. package/dist/components/button.cjs +1 -1
  182. package/dist/components/button.es.js +1 -1
  183. package/dist/components/calendar.cjs +1 -1
  184. package/dist/components/calendar.es.js +1 -1
  185. package/dist/components/checkbox.cjs +1 -1
  186. package/dist/components/checkbox.es.js +1 -1
  187. package/dist/components/collapsible-motion.cjs +1 -1
  188. package/dist/components/collapsible-motion.es.js +1 -1
  189. package/dist/components/combobox.cjs +1 -1
  190. package/dist/components/combobox.es.js +1 -1
  191. package/dist/components/components.cjs +1 -1
  192. package/dist/components/components.es.js +1 -1
  193. package/dist/components/data-table.cjs +1 -1
  194. package/dist/components/data-table.es.js +1 -1
  195. package/dist/components/date-input.cjs +1 -1
  196. package/dist/components/date-input.es.js +1 -1
  197. package/dist/components/date-picker.cjs +1 -1
  198. package/dist/components/date-picker.es.js +1 -1
  199. package/dist/components/date-range-picker.cjs +1 -1
  200. package/dist/components/date-range-picker.es.js +1 -1
  201. package/dist/components/dialog.cjs +1 -1
  202. package/dist/components/dialog.es.js +1 -1
  203. package/dist/components/draggable-list.cjs +1 -1
  204. package/dist/components/draggable-list.es.js +1 -1
  205. package/dist/components/drawer.cjs +1 -1
  206. package/dist/components/drawer.es.js +1 -1
  207. package/dist/components/form-field.cjs +1 -1
  208. package/dist/components/form-field.es.js +1 -1
  209. package/dist/components/icon-button.cjs +1 -1
  210. package/dist/components/icon-button.es.js +1 -1
  211. package/dist/components/icon-toggle-button.cjs +1 -1
  212. package/dist/components/icon-toggle-button.es.js +1 -1
  213. package/dist/components/localized-field/localized-field.d.ts +4 -4
  214. package/dist/components/localized-field/localized-field.types.d.ts +9 -9
  215. package/dist/components/localized-field/utils/localized-field.utils.d.ts +6 -6
  216. package/dist/components/localized-field/utils/test-data.d.ts +2 -2
  217. package/dist/components/localized-field.cjs +1 -1
  218. package/dist/components/localized-field.es.js +1 -1
  219. package/dist/components/money-input/index.d.ts +1 -1
  220. package/dist/components/money-input/money-input.d.ts +6 -6
  221. package/dist/components/money-input/money-input.recipe.d.ts +2 -6
  222. package/dist/components/money-input/money-input.types.d.ts +9 -9
  223. package/dist/components/money-input/utils/parsing-utilities.d.ts +10 -10
  224. package/dist/components/money-input/utils/static-methods.d.ts +5 -5
  225. package/dist/components/money-input.cjs +1 -1
  226. package/dist/components/money-input.es.js +1 -1
  227. package/dist/components/multiline-text-input.cjs +1 -1
  228. package/dist/components/multiline-text-input.es.js +1 -1
  229. package/dist/components/nimbus-provider/index.d.ts +1 -0
  230. package/dist/components/nimbus-provider/nimbus-provider.d.ts +1 -1
  231. package/dist/components/nimbus-provider.cjs +1 -1
  232. package/dist/components/nimbus-provider.es.js +3 -1
  233. package/dist/components/nimbus-provider.es.js.map +1 -1
  234. package/dist/components/number-input.cjs +1 -1
  235. package/dist/components/number-input.es.js +1 -1
  236. package/dist/components/pagination.cjs +1 -1
  237. package/dist/components/pagination.es.js +1 -1
  238. package/dist/components/password-input.cjs +1 -1
  239. package/dist/components/password-input.es.js +1 -1
  240. package/dist/components/progress-bar.cjs +1 -1
  241. package/dist/components/progress-bar.es.js +1 -1
  242. package/dist/components/radio-input.cjs +1 -1
  243. package/dist/components/radio-input.es.js +1 -1
  244. package/dist/components/range-calendar.cjs +1 -1
  245. package/dist/components/range-calendar.es.js +1 -1
  246. package/dist/components/rich-text-input.cjs +1 -1
  247. package/dist/components/rich-text-input.es.js +1 -1
  248. package/dist/components/scoped-search-input.cjs +1 -1
  249. package/dist/components/scoped-search-input.es.js +1 -1
  250. package/dist/components/search-input.cjs +1 -1
  251. package/dist/components/search-input.es.js +1 -1
  252. package/dist/components/select.cjs +1 -1
  253. package/dist/components/select.es.js +1 -1
  254. package/dist/components/separator.cjs +1 -1
  255. package/dist/components/separator.es.js +1 -1
  256. package/dist/components/split-button.cjs +1 -1
  257. package/dist/components/split-button.es.js +1 -1
  258. package/dist/components/switch.cjs +1 -1
  259. package/dist/components/switch.es.js +1 -1
  260. package/dist/components/tabs.cjs +1 -1
  261. package/dist/components/tabs.es.js +1 -1
  262. package/dist/components/tag-group.cjs +1 -1
  263. package/dist/components/tag-group.es.js +1 -1
  264. package/dist/components/text-input.cjs +1 -1
  265. package/dist/components/text-input.es.js +1 -1
  266. package/dist/components/time-input.cjs +1 -1
  267. package/dist/components/time-input.es.js +1 -1
  268. package/dist/components/toggle-button.cjs +1 -1
  269. package/dist/components/toggle-button.es.js +1 -1
  270. package/dist/components/toolbar.cjs +1 -1
  271. package/dist/components/toolbar.es.js +1 -1
  272. package/dist/index.cjs +1 -1
  273. package/dist/index.cjs.map +1 -1
  274. package/dist/index.es.js +170 -168
  275. package/dist/index.es.js.map +1 -1
  276. package/dist/theme/slot-recipes/index.d.ts +2 -6
  277. package/package.json +5 -5
  278. package/dist/chunks/index-CRFg4Mhx.cjs.js.map +0 -1
  279. package/dist/chunks/index-D6WdXWQX.es.js.map +0 -1
  280. package/dist/chunks/localized-field-Dn2G8N65.es.js.map +0 -1
  281. package/dist/chunks/localized-field-vfjg6ZQw.cjs.js.map +0 -1
  282. package/dist/chunks/money-input-CyikuiLb.es.js.map +0 -1
  283. package/dist/chunks/money-input-DzmW3hCJ.cjs.js +0 -2
  284. package/dist/chunks/money-input-DzmW3hCJ.cjs.js.map +0 -1
  285. package/dist/chunks/nimbus-provider-Bah2NJ5s.cjs.js +0 -2
  286. package/dist/chunks/nimbus-provider-Bah2NJ5s.cjs.js.map +0 -1
  287. package/dist/chunks/nimbus-provider-Dvg5Fzeq.es.js +0 -101
  288. 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 { jsxs as R, jsx as c } from "react/jsx-runtime";
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 { defineMessages as pi, useIntl as di, FormattedMessage as mi } from "react-intl";
5
- import { HighPrecision as yi } from "@commercetools/nimbus-icons";
6
- import { e as Mi } from "./extract-style-props-Cg1pKYtC.es.js";
7
- import { createSlotRecipeContext as hi } from "@chakra-ui/react";
8
- import { G as Si } from "./group-DDgNGiAB.es.js";
9
- import { j as Ci } from "./index-D6WdXWQX.es.js";
10
- import { $ as B } from "./mergeProps-_eTFpDiB.es.js";
11
- import { $ as Pi } from "./context-DW7UvQ8z.es.js";
12
- import { N as Ii } from "./number-input-e4aNnp4Q.es.js";
13
- import { M as bi } from "./make-element-focusable-BHUCTtmz.es.js";
14
- import { S as N } from "./select-8M7Fx0Aj.es.js";
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 Ai } from "./box-DuBoAZvq.es.js";
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: Ri, withContext: p } = /* @__PURE__ */ hi({
240
+ }, { withProvider: Bi, withContext: p } = /* @__PURE__ */ Si({
240
241
  key: "moneyInput"
241
- }), Bi = /* @__PURE__ */ Ri(Si, "root"), Ni = /* @__PURE__ */ p("div", "container"), Li = /* @__PURE__ */ p("div", "currencySelect"), Fi = /* @__PURE__ */ p("label", "currencyLabel"), Gi = /* @__PURE__ */ p("input", "amountInput"), Ti = /* @__PURE__ */ p("div", "badge"), Ki = (i, o, r) => {
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
- }, Oi = (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);
284
- function f(i, o) {
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) => Ki(
288
+ const w = (i, o) => Oi(
288
289
  typeof i.amount == "string" ? i.amount.trim() : "",
289
290
  o,
290
291
  i.currencyCode
291
- ), Ei = (i, o) => {
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 = Oi(i), t = i.preciseAmount ? i.fractionDigits : u[i.currencyCode].fractionDigits;
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
- }, Y = (i) => !i || i?.amount?.trim() === "" || i?.currencyCode?.trim() === "", V = (i, o) => Y(i) ? !1 : w(i, o)?.type === "highPrecision", P = /* @__PURE__ */ pi({
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
- }), D = (i) => {
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: L,
347
- onCurrencyChange: F,
348
- onFocus: d,
349
- onBlur: m,
347
+ onAmountChange: N,
348
+ onCurrencyChange: L,
349
+ onFocus: m,
350
+ onBlur: d,
350
351
  isDisabled: l,
351
- isReadOnly: G,
352
- isInvalid: x,
353
- isRequired: W,
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: J,
358
+ autoFocus: k,
358
359
  size: I,
359
- ...k
360
- } = i, Q = B(), b = o ?? Q, { locale: K } = Pi(), A = di(), q = t.amount ? parseFloat(t.amount) : void 0, z = !s || s.length === 0, O = V(t, K || "en"), _ = ui(() => t.currencyCode ? {
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, K]), ii = li({ recipe: Ci }), [ti, ni] = ii.splitVariantProps({
370
- ...k,
370
+ } : {}, [t.currencyCode, G]), ii = li({ recipe: Pi }), [ti, ni] = ii.splitVariantProps({
371
+ ...J,
371
372
  size: I
372
- }), [oi, ri] = Mi(ni), y = f(b, "amount"), M = f(b, "currencyCode"), h = f(r, "amount"), S = f(r, "currencyCode"), ci = g(
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 fi = { ...t, amount: C };
383
- e?.(fi), L?.(C);
383
+ const Di = { ...t, amount: C };
384
+ e?.(Di), N?.(C);
384
385
  },
385
- [a, e, L, t, b, r]
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
- d?.(n);
395
- }, [d, t.amount, o, r]), ai = g(() => {
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
- m?.(n);
404
- }, [m, t, o, r]), E = g(
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 U = {
414
+ const v = {
414
415
  ...t,
415
416
  currencyCode: n
416
417
  };
417
- e?.(U), F?.(n);
418
+ e?.(v), L?.(n);
418
419
  },
419
- [a, e, F, t, o, r]
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
- d?.(n);
429
- }, [d, t.currencyCode, o, r]), gi = g(() => {
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
- m?.(n);
438
- }, [m, t.currencyCode, o, r]), Di = g(
438
+ d?.(n);
439
+ }, [d, t.currencyCode, o, r]), fi = g(
439
440
  (n) => {
440
- n && typeof n == "string" && E(n);
441
+ n && typeof n == "string" && O(n);
441
442
  },
442
- [E]
443
- ), X = B(), v = B();
444
- return /* @__PURE__ */ R(Bi, { ...ti, ...oi, ...ri, children: [
445
- /* @__PURE__ */ R(Ni, { children: [
446
- /* @__PURE__ */ c(Li, { children: z ? /* @__PURE__ */ c(
447
- Fi,
448
- {
449
- ...l && { "data-disabled": l },
450
- asChild: !0,
451
- children: /* @__PURE__ */ c("label", { id: X, children: t.currencyCode })
452
- }
453
- ) : /* @__PURE__ */ c(
454
- N.Root,
455
- {
456
- id: M,
457
- name: S,
458
- selectedKey: t.currencyCode || null,
459
- onSelectionChange: Di,
460
- onFocus: ei,
461
- onBlur: gi,
462
- isDisabled: $ || l || G,
463
- isClearable: !1,
464
- placeholder: "",
465
- "aria-label": A.formatMessage(P.currencySelectLabel),
466
- size: I,
467
- children: /* @__PURE__ */ c(N.Options, { children: s.map((n) => /* @__PURE__ */ c(N.Option, { id: n, children: n }, n)) })
468
- }
469
- ) }),
470
- /* @__PURE__ */ c(
471
- Gi,
472
- {
473
- "data-has-high-precision": T && O,
474
- asChild: !0,
475
- children: /* @__PURE__ */ c(
476
- Ii,
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: G,
487
- isInvalid: x,
488
- isRequired: W,
489
- placeholder: j,
490
- autoFocus: J,
491
- size: I,
492
- "aria-label": A.formatMessage(P.amountInputLabel),
493
- "aria-labelledby": X,
494
- "aria-describedby": v,
495
- step: void 0
496
- }
497
- )
498
- }
499
- )
500
- ] }),
501
- T && O && /* @__PURE__ */ c(Ti, { children: /* @__PURE__ */ R(H.Root, { delay: 0, closeDelay: 0, children: [
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: yi,
506
- id: v,
504
+ as: Mi,
505
+ id: X,
507
506
  color: l ? "neutral.8" : "neutral.11",
508
507
  "aria-label": A.formatMessage(P.highPrecisionPrice),
509
- transform: "translateX(-100px) translateY(2px)"
508
+ transform: `translateX(-${pi.spacing[1200]})`
510
509
  }
511
510
  ) }),
512
- /* @__PURE__ */ c(H.Content, { placement: "top", children: /* @__PURE__ */ c(mi, { ...P.highPrecisionPrice }) })
511
+ /* @__PURE__ */ c(H.Content, { placement: "top", children: /* @__PURE__ */ c(yi, { ...P.highPrecisionPrice }) })
513
512
  ] }) })
514
- ] });
513
+ ] }) });
515
514
  };
516
- D.getAmountInputId = (i) => f(i, "amount");
517
- D.getCurrencyDropdownId = (i) => f(i, "currencyCode");
518
- D.convertToMoneyValue = w;
519
- D.parseMoneyValue = Ei;
520
- D.isEmpty = Y;
521
- D.isHighPrecision = V;
522
- D.displayName = "MoneyInput";
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
- D as M
523
+ f as M
525
524
  };
526
- //# sourceMappingURL=money-input-CyikuiLb.es.js.map
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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"}
@@ -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-Dk3fpLyQ.cjs.js"),I=require("./index-CRFg4Mhx.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-B-iIj6LP.cjs.js.map
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