@commercetools/nimbus 0.0.0-canary-20251001071243 → 0.0.0-canary-20251001130410

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 (290) hide show
  1. package/dist/chunks/{DatePicker-DOq_YUYb.es.js → DatePicker-DmiNa1e-.es.js} +2 -2
  2. package/dist/chunks/{DatePicker-DOq_YUYb.es.js.map → DatePicker-DmiNa1e-.es.js.map} +1 -1
  3. package/dist/chunks/{Dialog-BgV9Ur8E.es.js → Dialog-SvkYfu5i.es.js} +4 -4
  4. package/dist/chunks/{Dialog-BgV9Ur8E.es.js.map → Dialog-SvkYfu5i.es.js.map} +1 -1
  5. package/dist/chunks/{Header-LkbMVqUr.es.js → Header-CnkbxL1Z.es.js} +3 -3
  6. package/dist/chunks/{Header-LkbMVqUr.es.js.map → Header-CnkbxL1Z.es.js.map} +1 -1
  7. package/dist/chunks/{ListBox-BLYSfKWM.es.js → ListBox-CkDiOBnJ.es.js} +4 -4
  8. package/dist/chunks/{ListBox-BLYSfKWM.es.js.map → ListBox-CkDiOBnJ.es.js.map} +1 -1
  9. package/dist/chunks/{SelectionManager-DPe6sYkP.es.js → SelectionManager-CSt4dh97.es.js} +2 -2
  10. package/dist/chunks/{SelectionManager-DPe6sYkP.es.js.map → SelectionManager-CSt4dh97.es.js.map} +1 -1
  11. package/dist/chunks/{Separator-DOY-4i96.es.js → Separator-HDKQdp4v.es.js} +6 -6
  12. package/dist/chunks/{Separator-DOY-4i96.es.js.map → Separator-HDKQdp4v.es.js.map} +1 -1
  13. package/dist/chunks/{accordion-BSR4mSOu.es.js → accordion-1xPIt07g.es.js} +2 -2
  14. package/dist/chunks/{accordion-BSR4mSOu.es.js.map → accordion-1xPIt07g.es.js.map} +1 -1
  15. package/dist/chunks/{accordion-4Vh8MRHG.cjs.js → accordion-CdIEuDDs.cjs.js} +2 -2
  16. package/dist/chunks/{accordion-4Vh8MRHG.cjs.js.map → accordion-CdIEuDDs.cjs.js.map} +1 -1
  17. package/dist/chunks/{alert-C0YsaZz2.es.js → alert-Blp_hf9F.es.js} +2 -2
  18. package/dist/chunks/{alert-C0YsaZz2.es.js.map → alert-Blp_hf9F.es.js.map} +1 -1
  19. package/dist/chunks/{alert-cCy3Ka2E.cjs.js → alert-CZEBRJ9p.cjs.js} +2 -2
  20. package/dist/chunks/{alert-cCy3Ka2E.cjs.js.map → alert-CZEBRJ9p.cjs.js.map} +1 -1
  21. package/dist/chunks/{button-BAH2aLJh.cjs.js → button-BSWhqzIJ.cjs.js} +2 -2
  22. package/dist/chunks/{button-BAH2aLJh.cjs.js.map → button-BSWhqzIJ.cjs.js.map} +1 -1
  23. package/dist/chunks/{button-DSws4IjQ.es.js → button-tLehmoCt.es.js} +2 -2
  24. package/dist/chunks/{button-DSws4IjQ.es.js.map → button-tLehmoCt.es.js.map} +1 -1
  25. package/dist/chunks/{calendar-QYUcSSuy.es.js → calendar-B58zfVhs.es.js} +4 -4
  26. package/dist/chunks/{calendar-QYUcSSuy.es.js.map → calendar-B58zfVhs.es.js.map} +1 -1
  27. package/dist/chunks/{calendar-CNjZUyhZ.cjs.js → calendar-xPQsLl6L.cjs.js} +2 -2
  28. package/dist/chunks/{calendar-CNjZUyhZ.cjs.js.map → calendar-xPQsLl6L.cjs.js.map} +1 -1
  29. package/dist/chunks/{checkbox-BjhklyOp.cjs.js → checkbox-CLR3YHZW.cjs.js} +2 -2
  30. package/dist/chunks/{checkbox-BjhklyOp.cjs.js.map → checkbox-CLR3YHZW.cjs.js.map} +1 -1
  31. package/dist/chunks/{checkbox-BYw5k4jR.es.js → checkbox-D1Y9DVYF.es.js} +2 -2
  32. package/dist/chunks/{checkbox-BYw5k4jR.es.js.map → checkbox-D1Y9DVYF.es.js.map} +1 -1
  33. package/dist/chunks/{collapsible-motion-BASfX7dq.es.js → collapsible-motion-BvdtYGQE.es.js} +2 -2
  34. package/dist/chunks/{collapsible-motion-BASfX7dq.es.js.map → collapsible-motion-BvdtYGQE.es.js.map} +1 -1
  35. package/dist/chunks/{collapsible-motion-CKitPEjA.cjs.js → collapsible-motion-D3QM37Qz.cjs.js} +2 -2
  36. package/dist/chunks/{collapsible-motion-CKitPEjA.cjs.js.map → collapsible-motion-D3QM37Qz.cjs.js.map} +1 -1
  37. package/dist/chunks/{combobox-D0zYU4ZZ.cjs.js → combobox-B60AWpPC.cjs.js} +2 -2
  38. package/dist/chunks/{combobox-D0zYU4ZZ.cjs.js.map → combobox-B60AWpPC.cjs.js.map} +1 -1
  39. package/dist/chunks/{combobox-DmQUeFFT.es.js → combobox-BWJoplDo.es.js} +11 -11
  40. package/dist/chunks/{combobox-DmQUeFFT.es.js.map → combobox-BWJoplDo.es.js.map} +1 -1
  41. package/dist/chunks/{data-table-Cipv3jS9.cjs.js → data-table-BJVv7I8A.cjs.js} +2 -2
  42. package/dist/chunks/{data-table-Cipv3jS9.cjs.js.map → data-table-BJVv7I8A.cjs.js.map} +1 -1
  43. package/dist/chunks/{data-table-BKJDvxYT.es.js → data-table-D4e35rxu.es.js} +8 -8
  44. package/dist/chunks/{data-table-BKJDvxYT.es.js.map → data-table-D4e35rxu.es.js.map} +1 -1
  45. package/dist/chunks/date-input-CK3WtPkJ.cjs.js +2 -0
  46. package/dist/chunks/date-input-CK3WtPkJ.cjs.js.map +1 -0
  47. package/dist/chunks/date-input-Daj_CPWN.es.js +20 -0
  48. package/dist/chunks/date-input-Daj_CPWN.es.js.map +1 -0
  49. package/dist/chunks/{date-picker-BIvJI-6_.es.js → date-picker-BLb_IHhd.es.js} +9 -9
  50. package/dist/chunks/{date-picker-BIvJI-6_.es.js.map → date-picker-BLb_IHhd.es.js.map} +1 -1
  51. package/dist/chunks/{date-picker-BKudarck.cjs.js → date-picker-mE3ZgF5x.cjs.js} +2 -2
  52. package/dist/chunks/{date-picker-BKudarck.cjs.js.map → date-picker-mE3ZgF5x.cjs.js.map} +1 -1
  53. package/dist/chunks/{date-range-picker-4mZ19UM7.cjs.js → date-range-picker--g9Bzar4.cjs.js} +2 -2
  54. package/dist/chunks/{date-range-picker-4mZ19UM7.cjs.js.map → date-range-picker--g9Bzar4.cjs.js.map} +1 -1
  55. package/dist/chunks/{date-range-picker-DelR30zw.es.js → date-range-picker-B5KfWxe9.es.js} +9 -9
  56. package/dist/chunks/{date-range-picker-DelR30zw.es.js.map → date-range-picker-B5KfWxe9.es.js.map} +1 -1
  57. package/dist/chunks/{dialog-D0RnaoTx.cjs.js → dialog-Bech4WpU.cjs.js} +2 -2
  58. package/dist/chunks/{dialog-D0RnaoTx.cjs.js.map → dialog-Bech4WpU.cjs.js.map} +1 -1
  59. package/dist/chunks/{dialog-B-NKwVSi.es.js → dialog-Bx0O1gKI.es.js} +2 -2
  60. package/dist/chunks/{dialog-B-NKwVSi.es.js.map → dialog-Bx0O1gKI.es.js.map} +1 -1
  61. package/dist/chunks/{dialog.title-DyRR_xdZ.es.js → dialog.title-CfwJLUeB.es.js} +5 -5
  62. package/dist/chunks/{dialog.title-DyRR_xdZ.es.js.map → dialog.title-CfwJLUeB.es.js.map} +1 -1
  63. package/dist/chunks/{dialog.title-Co1QDiYA.cjs.js → dialog.title-RLHmO1dx.cjs.js} +2 -2
  64. package/dist/chunks/{dialog.title-Co1QDiYA.cjs.js.map → dialog.title-RLHmO1dx.cjs.js.map} +1 -1
  65. package/dist/chunks/{extractStyleProps-i_um9deg.es.js → extractStyleProps-DjVNA871.es.js} +2 -2
  66. package/dist/chunks/{extractStyleProps-i_um9deg.es.js.map → extractStyleProps-DjVNA871.es.js.map} +1 -1
  67. package/dist/chunks/{extractStyleProps-BIJocpXL.cjs.js → extractStyleProps-Q5HTdHwJ.cjs.js} +2 -2
  68. package/dist/chunks/{extractStyleProps-BIJocpXL.cjs.js.map → extractStyleProps-Q5HTdHwJ.cjs.js.map} +1 -1
  69. package/dist/chunks/field-errors-Dzmxsyfu.cjs.js +2 -0
  70. package/dist/chunks/field-errors-Dzmxsyfu.cjs.js.map +1 -0
  71. package/dist/chunks/{field-errors-CcQ1ssQj.es.js → field-errors-n9EuKYPI.es.js} +43 -37
  72. package/dist/chunks/field-errors-n9EuKYPI.es.js.map +1 -0
  73. package/dist/chunks/form-field-8JwWMQy1.cjs.js +11 -0
  74. package/dist/chunks/form-field-8JwWMQy1.cjs.js.map +1 -0
  75. package/dist/chunks/form-field-BBRdeEEq.es.js +341 -0
  76. package/dist/chunks/form-field-BBRdeEEq.es.js.map +1 -0
  77. package/dist/chunks/{icon-button-CBhvV2Ok.cjs.js → icon-button-BeIGRIFN.cjs.js} +2 -2
  78. package/dist/chunks/{icon-button-CBhvV2Ok.cjs.js.map → icon-button-BeIGRIFN.cjs.js.map} +1 -1
  79. package/dist/chunks/{icon-button-_9swBHc3.es.js → icon-button-CctfLs8I.es.js} +2 -2
  80. package/dist/chunks/{icon-button-_9swBHc3.es.js.map → icon-button-CctfLs8I.es.js.map} +1 -1
  81. package/dist/chunks/{icon-toggle-button-S56p30pP.es.js → icon-toggle-button-0s_KaTfe.es.js} +2 -2
  82. package/dist/chunks/{icon-toggle-button-S56p30pP.es.js.map → icon-toggle-button-0s_KaTfe.es.js.map} +1 -1
  83. package/dist/chunks/{icon-toggle-button-wPsxrI7v.cjs.js → icon-toggle-button-ONFPX0qS.cjs.js} +2 -2
  84. package/dist/chunks/{icon-toggle-button-wPsxrI7v.cjs.js.map → icon-toggle-button-ONFPX0qS.cjs.js.map} +1 -1
  85. package/dist/chunks/{index-L5KSWClG.cjs.js → index-SuWPp512.cjs.js} +14 -3
  86. package/dist/chunks/index-SuWPp512.cjs.js.map +1 -0
  87. package/dist/chunks/{index-DRb2wMPi.es.js → index-fjbcWgyz.es.js} +216 -65
  88. package/dist/chunks/{index-L5KSWClG.cjs.js.map → index-fjbcWgyz.es.js.map} +1 -1
  89. package/dist/chunks/localized-field-C2cbHq3g.es.js +471 -0
  90. package/dist/chunks/localized-field-C2cbHq3g.es.js.map +1 -0
  91. package/dist/chunks/localized-field-hQsX33XN.cjs.js +2 -0
  92. package/dist/chunks/localized-field-hQsX33XN.cjs.js.map +1 -0
  93. package/dist/chunks/{menu-CVO7gYdK.es.js → menu-BjwsANQd.es.js} +6 -6
  94. package/dist/chunks/{menu-CVO7gYdK.es.js.map → menu-BjwsANQd.es.js.map} +1 -1
  95. package/dist/chunks/{menu-BfwjSmIS.cjs.js → menu-CbBblVAx.cjs.js} +2 -2
  96. package/dist/chunks/{menu-BfwjSmIS.cjs.js.map → menu-CbBblVAx.cjs.js.map} +1 -1
  97. package/dist/chunks/money-input-CdGqdo4S.cjs.js +2 -0
  98. package/dist/chunks/money-input-CdGqdo4S.cjs.js.map +1 -0
  99. package/dist/chunks/{money-input-C1jSkjXo.es.js → money-input-Cs8XrifY.es.js} +119 -86
  100. package/dist/chunks/money-input-Cs8XrifY.es.js.map +1 -0
  101. package/dist/chunks/{multiline-text-input-_G6GcQrg.es.js → multiline-text-input-DGMceBRu.es.js} +19 -17
  102. package/dist/chunks/multiline-text-input-DGMceBRu.es.js.map +1 -0
  103. package/dist/chunks/multiline-text-input-n_bb3ViF.cjs.js +12 -0
  104. package/dist/chunks/multiline-text-input-n_bb3ViF.cjs.js.map +1 -0
  105. package/dist/chunks/{nimbus-provider-BDP4hXF7.es.js → nimbus-provider-BND7wasE.es.js} +2 -2
  106. package/dist/chunks/{nimbus-provider-BDP4hXF7.es.js.map → nimbus-provider-BND7wasE.es.js.map} +1 -1
  107. package/dist/chunks/{nimbus-provider-CyRDR7rD.cjs.js → nimbus-provider-ChYtQ95-.cjs.js} +2 -2
  108. package/dist/chunks/{nimbus-provider-CyRDR7rD.cjs.js.map → nimbus-provider-ChYtQ95-.cjs.js.map} +1 -1
  109. package/dist/chunks/{number-input-DnBbey5l.cjs.js → number-input-BQvDkOaw.cjs.js} +2 -2
  110. package/dist/chunks/{number-input-DnBbey5l.cjs.js.map → number-input-BQvDkOaw.cjs.js.map} +1 -1
  111. package/dist/chunks/{number-input-CI0DSniW.es.js → number-input-DVUK5Vqy.es.js} +30 -29
  112. package/dist/chunks/{number-input-CI0DSniW.es.js.map → number-input-DVUK5Vqy.es.js.map} +1 -1
  113. package/dist/chunks/{pagination-Bi6keZ3a.es.js → pagination-BOCer9DU.es.js} +4 -4
  114. package/dist/chunks/{pagination-Bi6keZ3a.es.js.map → pagination-BOCer9DU.es.js.map} +1 -1
  115. package/dist/chunks/{pagination-DdGULNPt.cjs.js → pagination-DtowryRO.cjs.js} +2 -2
  116. package/dist/chunks/{pagination-DdGULNPt.cjs.js.map → pagination-DtowryRO.cjs.js.map} +1 -1
  117. package/dist/chunks/{password-input-Lh2HHpnL.cjs.js → password-input-B-YRh6bw.cjs.js} +2 -2
  118. package/dist/chunks/{password-input-Lh2HHpnL.cjs.js.map → password-input-B-YRh6bw.cjs.js.map} +1 -1
  119. package/dist/chunks/{password-input-BC8qYtsr.es.js → password-input-Brdfp_j8.es.js} +3 -3
  120. package/dist/chunks/{password-input-BC8qYtsr.es.js.map → password-input-Brdfp_j8.es.js.map} +1 -1
  121. package/dist/chunks/popover-QYDVIaQN.cjs.js +2 -0
  122. package/dist/chunks/popover-QYDVIaQN.cjs.js.map +1 -0
  123. package/dist/chunks/popover-diWkZ07x.es.js +27 -0
  124. package/dist/chunks/popover-diWkZ07x.es.js.map +1 -0
  125. package/dist/chunks/{progress-bar-7H8xrBrA.es.js → progress-bar-hYGJlvcE.es.js} +2 -2
  126. package/dist/chunks/{progress-bar-7H8xrBrA.es.js.map → progress-bar-hYGJlvcE.es.js.map} +1 -1
  127. package/dist/chunks/{progress-bar-Cw9FWHlW.cjs.js → progress-bar-m6NsCg7W.cjs.js} +2 -2
  128. package/dist/chunks/{progress-bar-Cw9FWHlW.cjs.js.map → progress-bar-m6NsCg7W.cjs.js.map} +1 -1
  129. package/dist/chunks/{radio-input-CsIiU86R.cjs.js → radio-input-CVk4E1vl.cjs.js} +2 -2
  130. package/dist/chunks/{radio-input-CsIiU86R.cjs.js.map → radio-input-CVk4E1vl.cjs.js.map} +1 -1
  131. package/dist/chunks/{radio-input-BR53WuBU.es.js → radio-input-DpkravQW.es.js} +3 -3
  132. package/dist/chunks/{radio-input-BR53WuBU.es.js.map → radio-input-DpkravQW.es.js.map} +1 -1
  133. package/dist/chunks/{range-calendar-DFb9bsJ4.es.js → range-calendar-4rEdNmr4.es.js} +4 -4
  134. package/dist/chunks/{range-calendar-DFb9bsJ4.es.js.map → range-calendar-4rEdNmr4.es.js.map} +1 -1
  135. package/dist/chunks/{range-calendar-BH-2JsiF.cjs.js → range-calendar-BA_Ep3Zy.cjs.js} +2 -2
  136. package/dist/chunks/{range-calendar-BH-2JsiF.cjs.js.map → range-calendar-BA_Ep3Zy.cjs.js.map} +1 -1
  137. package/dist/chunks/{rich-text-input-BZ-Msa-L.cjs.js → rich-text-input-DxCnw4AP.cjs.js} +3 -3
  138. package/dist/chunks/rich-text-input-DxCnw4AP.cjs.js.map +1 -0
  139. package/dist/chunks/{rich-text-input-BmdxXmR4.es.js → rich-text-input-MyC1ucSo.es.js} +15 -7
  140. package/dist/chunks/rich-text-input-MyC1ucSo.es.js.map +1 -0
  141. package/dist/chunks/{select-kYdilBPV.cjs.js → select-ARr1JS_7.cjs.js} +2 -2
  142. package/dist/chunks/{select-kYdilBPV.cjs.js.map → select-ARr1JS_7.cjs.js.map} +1 -1
  143. package/dist/chunks/{select-CTbgnj8L.es.js → select-Du-L0KgJ.es.js} +10 -10
  144. package/dist/chunks/{select-CTbgnj8L.es.js.map → select-Du-L0KgJ.es.js.map} +1 -1
  145. package/dist/chunks/{separator-BPbw-2l_.cjs.js → separator-CqI23She.cjs.js} +2 -2
  146. package/dist/chunks/{separator-BPbw-2l_.cjs.js.map → separator-CqI23She.cjs.js.map} +1 -1
  147. package/dist/chunks/{separator-kuEDe6AG.es.js → separator-DgdTy5cy.es.js} +3 -3
  148. package/dist/chunks/{separator-kuEDe6AG.es.js.map → separator-DgdTy5cy.es.js.map} +1 -1
  149. package/dist/chunks/{split-button-OxOyRI3k.cjs.js → split-button-I1ltM4Vj.cjs.js} +2 -2
  150. package/dist/chunks/{split-button-OxOyRI3k.cjs.js.map → split-button-I1ltM4Vj.cjs.js.map} +1 -1
  151. package/dist/chunks/{split-button-VbEC4QmQ.es.js → split-button-R-totPZa.es.js} +5 -5
  152. package/dist/chunks/{split-button-VbEC4QmQ.es.js.map → split-button-R-totPZa.es.js.map} +1 -1
  153. package/dist/chunks/{switch-BtgfHCUU.cjs.js → switch-CWUuLZOP.cjs.js} +2 -2
  154. package/dist/chunks/{switch-BtgfHCUU.cjs.js.map → switch-CWUuLZOP.cjs.js.map} +1 -1
  155. package/dist/chunks/{switch-Cqlh-hxo.es.js → switch-DZ8nNXLD.es.js} +3 -3
  156. package/dist/chunks/{switch-Cqlh-hxo.es.js.map → switch-DZ8nNXLD.es.js.map} +1 -1
  157. package/dist/chunks/{tag-group-Dd6RDJ85.es.js → tag-group-85VbFf5V.es.js} +6 -6
  158. package/dist/chunks/{tag-group-Dd6RDJ85.es.js.map → tag-group-85VbFf5V.es.js.map} +1 -1
  159. package/dist/chunks/{tag-group-BiHCKIBb.cjs.js → tag-group-B5zBt0aa.cjs.js} +2 -2
  160. package/dist/chunks/{tag-group-BiHCKIBb.cjs.js.map → tag-group-B5zBt0aa.cjs.js.map} +1 -1
  161. package/dist/chunks/text-input-CaBBSE9c.cjs.js +2 -0
  162. package/dist/chunks/{text-input-NqDP9nsj.cjs.js.map → text-input-CaBBSE9c.cjs.js.map} +1 -1
  163. package/dist/chunks/text-input-iDHRgozX.es.js +49 -0
  164. package/dist/chunks/{text-input-Ch6OZEU5.es.js.map → text-input-iDHRgozX.es.js.map} +1 -1
  165. package/dist/chunks/{time-input-BPMoY1TY.es.js → time-input-DUfC3pNm.es.js} +2 -2
  166. package/dist/chunks/{time-input-BPMoY1TY.es.js.map → time-input-DUfC3pNm.es.js.map} +1 -1
  167. package/dist/chunks/{time-input-CAUpjIAO.cjs.js → time-input-YZY-GzT7.cjs.js} +2 -2
  168. package/dist/chunks/{time-input-CAUpjIAO.cjs.js.map → time-input-YZY-GzT7.cjs.js.map} +1 -1
  169. package/dist/chunks/{toggle-button-Q0HDyGR5.es.js → toggle-button-BFJvsG3g.es.js} +3 -3
  170. package/dist/chunks/{toggle-button-Q0HDyGR5.es.js.map → toggle-button-BFJvsG3g.es.js.map} +1 -1
  171. package/dist/chunks/{toggle-button-BcqqrZ6N.cjs.js → toggle-button-BKz5tJB3.cjs.js} +2 -2
  172. package/dist/chunks/{toggle-button-BcqqrZ6N.cjs.js.map → toggle-button-BKz5tJB3.cjs.js.map} +1 -1
  173. package/dist/chunks/{toolbar-CK8vOB4V.cjs.js → toolbar-BbuClYWc.cjs.js} +2 -2
  174. package/dist/chunks/{toolbar-CK8vOB4V.cjs.js.map → toolbar-BbuClYWc.cjs.js.map} +1 -1
  175. package/dist/chunks/{toolbar-CpMMNKHw.es.js → toolbar-kJJMLzLV.es.js} +3 -3
  176. package/dist/chunks/{toolbar-CpMMNKHw.es.js.map → toolbar-kJJMLzLV.es.js.map} +1 -1
  177. package/dist/chunks/{useSingleSelectListState-BCxpO0gf.es.js → useSingleSelectListState-CYgE8tvg.es.js} +2 -2
  178. package/dist/chunks/{useSingleSelectListState-BCxpO0gf.es.js.map → useSingleSelectListState-CYgE8tvg.es.js.map} +1 -1
  179. package/dist/components/accordion.cjs +1 -1
  180. package/dist/components/accordion.es.js +1 -1
  181. package/dist/components/alert.cjs +1 -1
  182. package/dist/components/alert.es.js +1 -1
  183. package/dist/components/button.cjs +1 -1
  184. package/dist/components/button.es.js +1 -1
  185. package/dist/components/calendar.cjs +1 -1
  186. package/dist/components/calendar.es.js +1 -1
  187. package/dist/components/checkbox.cjs +1 -1
  188. package/dist/components/checkbox.es.js +1 -1
  189. package/dist/components/collapsible-motion.cjs +1 -1
  190. package/dist/components/collapsible-motion.es.js +1 -1
  191. package/dist/components/combobox.cjs +1 -1
  192. package/dist/components/combobox.es.js +1 -1
  193. package/dist/components/components.cjs +1 -1
  194. package/dist/components/components.es.js +1 -1
  195. package/dist/components/data-table.cjs +1 -1
  196. package/dist/components/data-table.es.js +1 -1
  197. package/dist/components/date-input.cjs +1 -1
  198. package/dist/components/date-input.es.js +1 -1
  199. package/dist/components/date-picker.cjs +1 -1
  200. package/dist/components/date-picker.es.js +1 -1
  201. package/dist/components/date-range-picker.cjs +1 -1
  202. package/dist/components/date-range-picker.es.js +1 -1
  203. package/dist/components/dialog.cjs +1 -1
  204. package/dist/components/dialog.es.js +1 -1
  205. package/dist/components/field-errors.cjs +1 -1
  206. package/dist/components/field-errors.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.cjs +2 -0
  214. package/dist/components/localized-field.cjs.map +1 -0
  215. package/dist/components/localized-field.es.js +5 -0
  216. package/dist/components/localized-field.es.js.map +1 -0
  217. package/dist/components/money-input.cjs +1 -1
  218. package/dist/components/money-input.es.js +1 -1
  219. package/dist/components/multiline-text-input.cjs +1 -1
  220. package/dist/components/multiline-text-input.es.js +1 -1
  221. package/dist/components/nimbus-provider.cjs +1 -1
  222. package/dist/components/nimbus-provider.es.js +1 -1
  223. package/dist/components/number-input.cjs +1 -1
  224. package/dist/components/number-input.es.js +1 -1
  225. package/dist/components/pagination.cjs +1 -1
  226. package/dist/components/pagination.es.js +1 -1
  227. package/dist/components/password-input.cjs +1 -1
  228. package/dist/components/password-input.es.js +1 -1
  229. package/dist/components/popover.cjs +1 -1
  230. package/dist/components/popover.cjs.map +1 -1
  231. package/dist/components/popover.es.js +2 -22
  232. package/dist/components/popover.es.js.map +1 -1
  233. package/dist/components/progress-bar.cjs +1 -1
  234. package/dist/components/progress-bar.es.js +1 -1
  235. package/dist/components/radio-input.cjs +1 -1
  236. package/dist/components/radio-input.es.js +1 -1
  237. package/dist/components/range-calendar.cjs +1 -1
  238. package/dist/components/range-calendar.es.js +1 -1
  239. package/dist/components/rich-text-input.cjs +1 -1
  240. package/dist/components/rich-text-input.es.js +1 -1
  241. package/dist/components/select.cjs +1 -1
  242. package/dist/components/select.es.js +1 -1
  243. package/dist/components/separator.cjs +1 -1
  244. package/dist/components/separator.es.js +1 -1
  245. package/dist/components/split-button.cjs +1 -1
  246. package/dist/components/split-button.es.js +1 -1
  247. package/dist/components/switch.cjs +1 -1
  248. package/dist/components/switch.es.js +1 -1
  249. package/dist/components/tag-group.cjs +1 -1
  250. package/dist/components/tag-group.es.js +1 -1
  251. package/dist/components/text-input.cjs +1 -1
  252. package/dist/components/text-input.es.js +1 -1
  253. package/dist/components/time-input.cjs +1 -1
  254. package/dist/components/time-input.es.js +1 -1
  255. package/dist/components/toggle-button.cjs +1 -1
  256. package/dist/components/toggle-button.es.js +1 -1
  257. package/dist/components/toolbar.cjs +1 -1
  258. package/dist/components/toolbar.es.js +1 -1
  259. package/dist/field-errors.d.ts +19 -1
  260. package/dist/form-field.d.ts +4 -2
  261. package/dist/index.cjs +1 -1
  262. package/dist/index.cjs.map +1 -1
  263. package/dist/index.es.js +41 -39
  264. package/dist/index.es.js.map +1 -1
  265. package/dist/localized-field.d.ts +937 -0
  266. package/dist/money-input.d.ts +9 -1
  267. package/dist/popover.d.ts +19 -3
  268. package/package.json +5 -5
  269. package/dist/chunks/date-input-BS7NT0zS.es.js +0 -21
  270. package/dist/chunks/date-input-BS7NT0zS.es.js.map +0 -1
  271. package/dist/chunks/date-input-x1wfQ64a.cjs.js +0 -2
  272. package/dist/chunks/date-input-x1wfQ64a.cjs.js.map +0 -1
  273. package/dist/chunks/field-errors-CcQ1ssQj.es.js.map +0 -1
  274. package/dist/chunks/field-errors-Rzp3VbWz.cjs.js +0 -2
  275. package/dist/chunks/field-errors-Rzp3VbWz.cjs.js.map +0 -1
  276. package/dist/chunks/form-field-ClSAs-Vz.es.js +0 -319
  277. package/dist/chunks/form-field-ClSAs-Vz.es.js.map +0 -1
  278. package/dist/chunks/form-field-DVpuX6t5.cjs.js +0 -11
  279. package/dist/chunks/form-field-DVpuX6t5.cjs.js.map +0 -1
  280. package/dist/chunks/index-DRb2wMPi.es.js.map +0 -1
  281. package/dist/chunks/money-input-C1jSkjXo.es.js.map +0 -1
  282. package/dist/chunks/money-input-DJMTLGRy.cjs.js +0 -2
  283. package/dist/chunks/money-input-DJMTLGRy.cjs.js.map +0 -1
  284. package/dist/chunks/multiline-text-input-Dz0ikaM-.cjs.js +0 -12
  285. package/dist/chunks/multiline-text-input-Dz0ikaM-.cjs.js.map +0 -1
  286. package/dist/chunks/multiline-text-input-_G6GcQrg.es.js.map +0 -1
  287. package/dist/chunks/rich-text-input-BZ-Msa-L.cjs.js.map +0 -1
  288. package/dist/chunks/rich-text-input-BmdxXmR4.es.js.map +0 -1
  289. package/dist/chunks/text-input-Ch6OZEU5.es.js +0 -48
  290. package/dist/chunks/text-input-NqDP9nsj.cjs.js +0 -2
@@ -3,16 +3,16 @@ import { useMemo as pi, useCallback as g } from "react";
3
3
  import { createSlotRecipeContext as di, useSlotRecipe as mi } from "@chakra-ui/react/styled-system";
4
4
  import { defineMessages as yi, useIntl as hi, FormattedMessage as Mi } from "react-intl";
5
5
  import { HighPrecision as Si } from "@commercetools/nimbus-icons";
6
- import { e as bi } from "./extractStyleProps-i_um9deg.es.js";
6
+ import { e as bi } from "./extractStyleProps-DjVNA871.es.js";
7
7
  import { defineSlotRecipe as Ci } from "@chakra-ui/react";
8
8
  import { G as Ii } from "./group-DRLYSxIt.es.js";
9
- import { $ as B } from "./mergeProps-CzyOU2NE.es.js";
9
+ import { $ as L } from "./mergeProps-CzyOU2NE.es.js";
10
10
  import { $ as Pi } from "./context-R4YUlO9Y.es.js";
11
- import { S as L } from "./select-CTbgnj8L.es.js";
12
- import { N as Ri } from "./number-input-CI0DSniW.es.js";
11
+ import { S as B } from "./select-Du-L0KgJ.es.js";
12
+ import { N as Ri } from "./number-input-DVUK5Vqy.es.js";
13
13
  import { M as Ai } from "./make-element-focusable-D5ajCMdm.es.js";
14
- import { b as w } from "./tooltip-B8OD-6ed.es.js";
15
- import { B as Bi } from "./box-DuBoAZvq.es.js";
14
+ import { b as X } from "./tooltip-B8OD-6ed.es.js";
15
+ import { B as Li } from "./box-DuBoAZvq.es.js";
16
16
  const D = {
17
17
  ADP: { fractionDigits: 0 },
18
18
  AED: { fractionDigits: 2 },
@@ -244,7 +244,7 @@ const D = {
244
244
  "amountInput",
245
245
  "badge"
246
246
  ],
247
- className: "money-input",
247
+ className: "nimbus-money-input",
248
248
  base: {
249
249
  root: {
250
250
  width: "full",
@@ -256,8 +256,20 @@ const D = {
256
256
  // Show all but the right shadow
257
257
  boxShadow: "inset 0 1px 0 0 {colors.neutral.7}, inset 0 -1px 0 0 {colors.neutral.7}, inset 1px 0 0 0 {colors.neutral.7}"
258
258
  },
259
- "& .nimbus-number-input__root > input": {
260
- borderLeftRadius: "0"
259
+ "&:has(.nimbus-money-input__container:focus-within)": {
260
+ "& .nimbus-money-input__currencyLabel": {
261
+ // add outline to label so that it looks like focus outline is around entire input
262
+ outlineWidth: "var(--focus-ring-width)",
263
+ outlineColor: "var(--focus-ring-color)",
264
+ outlineStyle: "var(--focus-ring-style)",
265
+ outlineOffset: "var(--focus-ring-offset)",
266
+ // remove outline on right side of label so that it looks like there is a continuous outline around the label and input.
267
+ clipPath: "inset(-4px -1px -4px -4px)"
268
+ },
269
+ "& .nimbus-money-input__amountInput": {
270
+ // remove outline on left side of input so that it looks like there is a continuous outline around the label and input.
271
+ clipPath: "inset(-4px -4px -4px -1px)"
272
+ }
261
273
  }
262
274
  },
263
275
  container: {
@@ -272,15 +284,21 @@ const D = {
272
284
  }
273
285
  },
274
286
  currencyLabel: {
287
+ color: "neutral.11",
288
+ fontWeight: "500",
275
289
  display: "flex",
276
290
  height: "full",
277
291
  borderLeftRadius: "200",
278
292
  backgroundColor: "neutral.1",
279
293
  boxShadow: "inset 0 1px 0 0 {colors.neutral.7}, inset 0 -1px 0 0 {colors.neutral.7}, inset 1px 0 0 0 {colors.neutral.7}",
280
294
  paddingInline: "400",
281
- alignItems: "center"
295
+ alignItems: "center",
296
+ "&[data-disabled='true']": {
297
+ opacity: "0.5"
298
+ }
282
299
  },
283
300
  amountInput: {
301
+ borderLeftRadius: "0",
284
302
  // Ensure focus ring is visible above currency select
285
303
  _focusWithin: {
286
304
  zIndex: 2
@@ -312,6 +330,10 @@ const D = {
312
330
  },
313
331
  amountInput: {
314
332
  paddingRight: "spacing.30"
333
+ },
334
+ currencyLabel: {
335
+ fontSize: "300",
336
+ lineHeight: "450"
315
337
  }
316
338
  },
317
339
  md: {
@@ -326,6 +348,10 @@ const D = {
326
348
  },
327
349
  amountInput: {
328
350
  paddingRight: "spacing.40"
351
+ },
352
+ currencyLabel: {
353
+ fontSize: "350",
354
+ lineHeight: "500"
329
355
  }
330
356
  }
331
357
  }
@@ -333,9 +359,9 @@ const D = {
333
359
  defaultVariants: {
334
360
  size: "md"
335
361
  }
336
- }), { withProvider: Li, withContext: l } = /* @__PURE__ */ di({
362
+ }), { withProvider: Bi, withContext: p } = /* @__PURE__ */ di({
337
363
  recipe: H
338
- }), Ni = /* @__PURE__ */ Li(Ii, "root"), Fi = /* @__PURE__ */ l("div", "container"), Gi = /* @__PURE__ */ l("div", "currencySelect"), Ti = /* @__PURE__ */ l("label", "currencyLabel"), xi = /* @__PURE__ */ l("input", "amountInput"), Ki = /* @__PURE__ */ l("div", "badge"), Oi = (i, o, r) => {
364
+ }), Ni = /* @__PURE__ */ Bi(Ii, "root"), Fi = /* @__PURE__ */ p("div", "container"), xi = /* @__PURE__ */ p("div", "currencySelect"), Gi = /* @__PURE__ */ p("label", "currencyLabel"), Ti = /* @__PURE__ */ p("input", "amountInput"), vi = /* @__PURE__ */ p("div", "badge"), Oi = (i, o, r) => {
339
365
  if (!r) return null;
340
366
  const t = D[r];
341
367
  if (!t || i.length === 0 || i.trim() === "") return null;
@@ -377,15 +403,15 @@ const D = {
377
403
  centAmount: s,
378
404
  fractionDigits: t.fractionDigits
379
405
  };
380
- }, vi = (i) => i.type === "highPrecision" ? i.preciseAmount / 10 ** i.fractionDigits : i.centAmount / 10 ** D[i.currencyCode].fractionDigits, U = (i, o) => Object.prototype.hasOwnProperty.call(i, o);
406
+ }, Ki = (i) => i.type === "highPrecision" ? i.preciseAmount / 10 ** i.fractionDigits : i.centAmount / 10 ** D[i.currencyCode].fractionDigits, U = (i, o) => Object.prototype.hasOwnProperty.call(i, o);
381
407
  function f(i, o) {
382
408
  return i && o ? `${i}.${o}` : void 0;
383
409
  }
384
- const Z = (i, o) => Oi(
410
+ const W = (i, o) => Oi(
385
411
  typeof i.amount == "string" ? i.amount.trim() : "",
386
412
  o,
387
413
  i.currencyCode
388
- ), Ei = (i, o) => {
414
+ ), wi = (i, o) => {
389
415
  if (!i) return { currencyCode: "", amount: "" };
390
416
  if (console.warn(
391
417
  typeof o == "string",
@@ -412,11 +438,11 @@ const Z = (i, o) => Oi(
412
438
  typeof i.centAmount == "number" || typeof i.preciseAmount == "number" && typeof i.fractionDigits == "number",
413
439
  'MoneyInput.parseMoneyValue: Value must contain "amount"'
414
440
  );
415
- const r = vi(i), t = i.preciseAmount ? i.fractionDigits : D[i.currencyCode].fractionDigits;
441
+ const r = Ki(i), t = i.preciseAmount ? i.fractionDigits : D[i.currencyCode].fractionDigits;
416
442
  return { amount: isNaN(r) ? "" : r.toLocaleString(o, {
417
443
  minimumFractionDigits: t
418
444
  }), currencyCode: i.currencyCode };
419
- }, V = (i) => !i || i.amount.trim() === "" || i.currencyCode.trim() === "", Y = (i, o) => V(i) ? !1 : Z(i, o)?.type === "highPrecision", b = /* @__PURE__ */ yi({
445
+ }, Z = (i) => !i || i?.amount?.trim() === "" || i?.currencyCode?.trim() === "", V = (i, o) => Z(i) ? !1 : W(i, o)?.type === "highPrecision", C = /* @__PURE__ */ yi({
420
446
  currencySelectLabel: {
421
447
  id: "Nimbus.MoneyInput.currencySelectLabel",
422
448
  description: "aria-label for currency selection dropdown",
@@ -432,7 +458,7 @@ const Z = (i, o) => Oi(
432
458
  description: "tooltip text for high precision price badge",
433
459
  defaultMessage: "High precision price"
434
460
  }
435
- }), W = (i) => {
461
+ }), Y = (i) => {
436
462
  const {
437
463
  id: o,
438
464
  name: r,
@@ -442,19 +468,19 @@ const Z = (i, o) => Oi(
442
468
  onValueChange: a,
443
469
  onAmountChange: N,
444
470
  onCurrencyChange: F,
445
- onFocus: p,
446
- onBlur: d,
447
- isDisabled: C,
448
- isReadOnly: G,
449
- isInvalid: $,
450
- isRequired: _,
451
- hasHighPrecisionBadge: T = !0,
471
+ onFocus: d,
472
+ onBlur: m,
473
+ isDisabled: l,
474
+ isReadOnly: x,
475
+ isInvalid: _,
476
+ isRequired: $,
477
+ hasHighPrecisionBadge: G = !0,
452
478
  isCurrencyInputDisabled: z,
453
479
  placeholder: j = "0.00",
454
480
  autoFocus: J,
455
481
  size: I,
456
482
  ...k
457
- } = i, Q = B(), P = o ?? Q, { locale: x } = Pi(), R = hi(), q = t.amount ? parseFloat(t.amount) : void 0, ii = !c || c.length === 0, K = Y(t, x || "en"), ti = pi(() => t.currencyCode ? {
483
+ } = i, Q = L(), P = o ?? Q, { locale: T } = Pi(), R = hi(), q = t.amount ? parseFloat(t.amount) : void 0, ii = !c || c.length === 0, v = V(t, T || "en"), ti = pi(() => t.currencyCode ? {
458
484
  minimumFractionDigits: D[t.currencyCode].fractionDigits,
459
485
  // Always respect currency minimum (e.g., 2 for USD, 0 for JPY)
460
486
  maximumFractionDigits: 20,
@@ -463,155 +489,162 @@ const Z = (i, o) => Oi(
463
489
  // Keep thousand separators for readability (formatted per locale)
464
490
  style: "decimal"
465
491
  // Use decimal to avoid currency symbol conflicts
466
- } : {}, [t.currencyCode, x]), ni = mi({ recipe: H }), [oi, ri] = ni.splitVariantProps({
492
+ } : {}, [t.currencyCode, T]), ni = mi({ recipe: H }), [oi, ri] = ni.splitVariantProps({
467
493
  ...k,
468
494
  size: I
469
- }), [ei, ci] = bi(ri), m = f(P, "amount"), y = f(P, "currencyCode"), h = f(r, "amount"), M = f(r, "currencyCode"), si = g(
495
+ }), [ei, ci] = bi(ri), y = f(P, "amount"), h = f(P, "currencyCode"), M = f(r, "amount"), S = f(r, "currencyCode"), si = g(
470
496
  (n) => {
471
- const S = n.toString();
497
+ const b = n.toString();
472
498
  s?.({
473
499
  target: {
474
- id: m,
475
- name: h,
476
- value: S
500
+ id: y,
501
+ name: M,
502
+ value: b
477
503
  }
478
504
  });
479
- const li = { ...t, amount: S };
480
- a?.(li), N?.(S);
505
+ const li = { ...t, amount: b };
506
+ a?.(li), N?.(b);
481
507
  },
482
508
  [s, a, N, t, P, r]
483
509
  ), ai = g(() => {
484
510
  const n = {
485
511
  target: {
486
- id: m,
487
- name: h,
512
+ id: y,
513
+ name: M,
488
514
  value: t.amount
489
515
  }
490
516
  };
491
- p?.(n);
492
- }, [p, t.amount, o, r]), gi = g(() => {
517
+ d?.(n);
518
+ }, [d, t.amount, o, r]), gi = g(() => {
493
519
  const n = {
494
520
  target: {
495
- id: m,
496
- name: h,
521
+ id: y,
522
+ name: M,
497
523
  value: t.amount
498
524
  }
499
525
  };
500
- d?.(n);
501
- }, [d, t, o, r]), O = g(
526
+ m?.(n);
527
+ }, [m, t, o, r]), O = g(
502
528
  (n) => {
503
529
  s?.({
504
530
  target: {
505
- id: y,
506
- name: M,
531
+ id: h,
532
+ name: S,
507
533
  value: n
508
534
  }
509
535
  });
510
- const X = {
536
+ const E = {
511
537
  ...t,
512
538
  currencyCode: n
513
539
  };
514
- a?.(X), F?.(n);
540
+ a?.(E), F?.(n);
515
541
  },
516
542
  [s, a, F, t, o, r]
517
543
  ), fi = g(() => {
518
544
  const n = {
519
545
  target: {
520
- id: y,
521
- name: M,
546
+ id: h,
547
+ name: S,
522
548
  value: t.currencyCode
523
549
  }
524
550
  };
525
- p?.(n);
526
- }, [p, t.currencyCode, o, r]), Di = g(() => {
551
+ d?.(n);
552
+ }, [d, t.currencyCode, o, r]), Di = g(() => {
527
553
  const n = {
528
554
  target: {
529
- id: y,
530
- name: M,
555
+ id: h,
556
+ name: S,
531
557
  value: t.currencyCode
532
558
  }
533
559
  };
534
- d?.(n);
535
- }, [d, t.currencyCode, o, r]), ui = g(
560
+ m?.(n);
561
+ }, [m, t.currencyCode, o, r]), ui = g(
536
562
  (n) => {
537
563
  n && typeof n == "string" && O(n);
538
564
  },
539
565
  [O]
540
- ), v = B(), E = B();
566
+ ), K = L(), w = L();
541
567
  return /* @__PURE__ */ A(Ni, { ...oi, ...ei, ...ci, children: [
542
568
  /* @__PURE__ */ A(Fi, { children: [
543
- /* @__PURE__ */ e(Gi, { children: ii ? /* @__PURE__ */ e(Ti, { asChild: !0, children: /* @__PURE__ */ e("label", { id: v, children: t.currencyCode }) }) : /* @__PURE__ */ e(
544
- L.Root,
569
+ /* @__PURE__ */ e(xi, { children: ii ? /* @__PURE__ */ e(
570
+ Gi,
545
571
  {
546
- id: y,
547
- name: M,
572
+ ...l && { "data-disabled": l },
573
+ asChild: !0,
574
+ children: /* @__PURE__ */ e("label", { id: K, children: t.currencyCode })
575
+ }
576
+ ) : /* @__PURE__ */ e(
577
+ B.Root,
578
+ {
579
+ id: h,
580
+ name: S,
548
581
  selectedKey: t.currencyCode || null,
549
582
  onSelectionChange: ui,
550
583
  onFocus: fi,
551
584
  onBlur: Di,
552
- isDisabled: z || C || G,
585
+ isDisabled: z || l || x,
553
586
  isClearable: !1,
554
587
  placeholder: "",
555
- "aria-label": R.formatMessage(b.currencySelectLabel),
588
+ "aria-label": R.formatMessage(C.currencySelectLabel),
556
589
  size: I,
557
- children: /* @__PURE__ */ e(L.Options, { children: c.map((n) => /* @__PURE__ */ e(L.Option, { id: n, children: n }, n)) })
590
+ children: /* @__PURE__ */ e(B.Options, { children: c.map((n) => /* @__PURE__ */ e(B.Option, { id: n, children: n }, n)) })
558
591
  }
559
592
  ) }),
560
593
  /* @__PURE__ */ e(
561
- xi,
594
+ Ti,
562
595
  {
563
- "data-has-high-precision": T && K,
596
+ "data-has-high-precision": G && v,
564
597
  asChild: !0,
565
598
  children: /* @__PURE__ */ e(
566
599
  Ri,
567
600
  {
568
- id: m,
569
- name: h,
601
+ id: y,
602
+ name: M,
570
603
  value: q,
571
604
  formatOptions: ti,
572
605
  onChange: si,
573
606
  onFocus: ai,
574
607
  onBlur: gi,
575
- isDisabled: C,
576
- isReadOnly: G,
577
- isInvalid: $,
578
- isRequired: _,
608
+ isDisabled: l,
609
+ isReadOnly: x,
610
+ isInvalid: _,
611
+ isRequired: $,
579
612
  placeholder: j,
580
613
  autoFocus: J,
581
614
  size: I,
582
- "aria-label": R.formatMessage(b.amountInputLabel),
583
- "aria-labelledby": v,
584
- "aria-describedby": E,
615
+ "aria-label": R.formatMessage(C.amountInputLabel),
616
+ "aria-labelledby": K,
617
+ "aria-describedby": w,
585
618
  step: void 0
586
619
  }
587
620
  )
588
621
  }
589
622
  )
590
623
  ] }),
591
- T && K && /* @__PURE__ */ e(Ki, { children: /* @__PURE__ */ A(w.Root, { delay: 0, closeDelay: 0, children: [
624
+ G && v && /* @__PURE__ */ e(vi, { children: /* @__PURE__ */ A(X.Root, { delay: 0, closeDelay: 0, children: [
592
625
  /* @__PURE__ */ e(Ai, { children: /* @__PURE__ */ e(
593
- Bi,
626
+ Li,
594
627
  {
595
628
  as: Si,
596
- id: E,
597
- color: C ? "neutral.8" : "neutral.11",
598
- "aria-label": R.formatMessage(b.highPrecisionPrice),
629
+ id: w,
630
+ color: l ? "neutral.8" : "neutral.11",
631
+ "aria-label": R.formatMessage(C.highPrecisionPrice),
599
632
  transform: "translateX(-100px) translateY(2px)"
600
633
  }
601
634
  ) }),
602
- /* @__PURE__ */ e(w.Content, { placement: "top", children: /* @__PURE__ */ e(Mi, { ...b.highPrecisionPrice }) })
635
+ /* @__PURE__ */ e(X.Content, { placement: "top", children: /* @__PURE__ */ e(Mi, { ...C.highPrecisionPrice }) })
603
636
  ] }) })
604
637
  ] });
605
638
  };
606
- W.displayName = "MoneyInput";
607
- const u = W;
639
+ Y.displayName = "MoneyInput";
640
+ const u = Y;
608
641
  u.getAmountInputId = (i) => f(i, "amount");
609
642
  u.getCurrencyDropdownId = (i) => f(i, "currencyCode");
610
- u.convertToMoneyValue = Z;
611
- u.parseMoneyValue = Ei;
612
- u.isEmpty = V;
613
- u.isHighPrecision = Y;
643
+ u.convertToMoneyValue = W;
644
+ u.parseMoneyValue = wi;
645
+ u.isEmpty = Z;
646
+ u.isHighPrecision = V;
614
647
  export {
615
648
  u as M
616
649
  };
617
- //# sourceMappingURL=money-input-C1jSkjXo.es.js.map
650
+ //# sourceMappingURL=money-input-Cs8XrifY.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"money-input-Cs8XrifY.es.js","sources":["../../src/components/money-input/utils/currencies.ts","../../src/components/money-input/money-input.recipe.tsx","../../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 { defineSlotRecipe } from \"@chakra-ui/react\";\n\nexport const moneyInputRecipe = defineSlotRecipe({\n slots: [\n \"root\",\n \"container\",\n \"currencySelect\",\n \"currencyLabel\",\n \"amountInput\",\n \"badge\",\n ],\n className: \"nimbus-money-input\",\n base: {\n root: {\n width: \"full\",\n position: \"relative\",\n fontFamily: \"inherit\",\n \"& .nimbus-select__trigger\": {\n width: \"2800\",\n borderRightRadius: \"0\",\n // Show all but the right shadow\n boxShadow:\n \"inset 0 1px 0 0 {colors.neutral.7}, inset 0 -1px 0 0 {colors.neutral.7}, inset 1px 0 0 0 {colors.neutral.7}\",\n },\n \"&:has(.nimbus-money-input__container:focus-within)\": {\n \"& .nimbus-money-input__currencyLabel\": {\n // add outline to label so that it looks like focus outline is around entire input\n outlineWidth: \"var(--focus-ring-width)\",\n outlineColor: \"var(--focus-ring-color)\",\n outlineStyle: \"var(--focus-ring-style)\",\n outlineOffset: \"var(--focus-ring-offset)\",\n // remove outline on right side of label so that it looks like there is a continuous outline around the label and input.\n clipPath: `inset(-4px -1px -4px -4px)`,\n },\n \"& .nimbus-money-input__amountInput\": {\n // remove outline on left side of input so that it looks like there is a continuous outline around the label and input.\n clipPath: `inset(-4px -4px -4px -1px)`,\n },\n },\n },\n container: {\n display: \"inline-flex\",\n alignItems: \"stretch\",\n position: \"relative\",\n },\n currencySelect: {\n // Ensure focus ring is visible above amount input\n _focusWithin: {\n zIndex: 2,\n },\n },\n currencyLabel: {\n color: \"neutral.11\",\n fontWeight: \"500\",\n display: \"flex\",\n height: \"full\",\n borderLeftRadius: \"200\",\n backgroundColor: \"neutral.1\",\n boxShadow:\n \"inset 0 1px 0 0 {colors.neutral.7}, inset 0 -1px 0 0 {colors.neutral.7}, inset 1px 0 0 0 {colors.neutral.7}\",\n paddingInline: \"400\",\n alignItems: \"center\",\n \"&[data-disabled='true']\": {\n opacity: \"0.5\",\n },\n },\n amountInput: {\n borderLeftRadius: \"0\",\n // Ensure focus ring is visible above currency select\n _focusWithin: {\n zIndex: 2,\n },\n },\n // TODO: tackle this once \"trailing element\" is save to be rebased on top of\n badge: {\n position: \"absolute\",\n top: \"0\",\n right: \"0\",\n height: \"full\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n marginRight: \"spacing.25\",\n },\n },\n variants: {\n size: {\n sm: {\n root: {\n fontSize: \"fontSize.20\",\n \"& .nimbus-select__trigger\": {\n width: \"2600\",\n },\n },\n currencySelect: {\n padding: \"0 spacing.20\",\n },\n amountInput: {\n paddingRight: \"spacing.30\",\n },\n currencyLabel: {\n fontSize: \"300\",\n lineHeight: \"450\",\n },\n },\n md: {\n root: {\n fontSize: \"fontSize.30\",\n \"& .nimbus-select__trigger\": {\n width: \"2800\",\n },\n },\n currencySelect: {\n padding: \"0 spacing.25\",\n },\n amountInput: {\n paddingRight: \"spacing.40\",\n },\n currencyLabel: {\n fontSize: \"350\",\n lineHeight: \"500\",\n },\n },\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n","import { createSlotRecipeContext } from \"@chakra-ui/react/styled-system\";\nimport { Group } from \"@/components\";\nimport type {\n MoneyInputRootSlotProps,\n MoneyInputContainerSlotProps,\n MoneyInputCurrencySelectSlotProps,\n MoneyInputCurrencyLabelSlotProps,\n MoneyInputAmountInputSlotProps,\n MoneyInputBadgeSlotProps,\n} from \"./money-input.types\";\nimport { moneyInputRecipe } from \"./money-input.recipe\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n recipe: moneyInputRecipe,\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 TCurrencyCode = keyof typeof currencies;\n\ntype TMoneyConditionalProps =\n | { type: \"highPrecision\"; preciseAmount: number }\n | {\n type: \"centPrecision\";\n preciseAmount?: never;\n };\n\nexport type TMoneyValue = {\n currencyCode: TCurrencyCode;\n centAmount: number;\n fractionDigits: number;\n} & TMoneyConditionalProps;\n\nexport type TValue = {\n amount: string;\n currencyCode: TCurrencyCode | \"\";\n};\n\n// Currency parsing utilities for MoneyInput static methods\nexport const parseStringToMoneyValue = (\n rawAmount: string,\n locale: string,\n currencyCode?: TCurrencyCode | \"\"\n): TMoneyValue | 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: TCurrencyCode\n): TMoneyValue => ({\n type: \"centPrecision\",\n currencyCode,\n centAmount: NaN,\n fractionDigits: 2,\n});\n\nexport const extractDecimalAmount = (moneyValue: TMoneyValue) =>\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 TMoneyValue,\n type TValue,\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 = (value: TValue, locale: string) =>\n parseStringToMoneyValue(\n typeof value.amount === \"string\" ? value.amount.trim() : \"\",\n locale,\n value.currencyCode\n );\n\nexport const formatMoneyValueForDisplay = (\n moneyValue: TMoneyValue,\n locale: string\n): TValue => {\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: TValue) => {\n return (\n !formValue ||\n formValue?.amount?.trim() === \"\" ||\n formValue?.currencyCode?.trim() === \"\"\n );\n};\n\nexport const isHighPrecision = (formValue: TValue, locale: string): 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 { 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/extractStyleProps\";\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 TCustomEvent,\n MoneyInputProps,\n TCurrencyCode,\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 TCurrencyCode }));\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 TCurrencyCode 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 MoneyInputComponent = (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: TCustomEvent = {\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: TCustomEvent = {\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: TCustomEvent = {\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: TCustomEvent = {\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 TCurrencyCode,\n };\n onValueChange?.(newValueObject);\n onCurrencyChange?.(currencyCode as TCurrencyCode);\n },\n [onChange, onValueChange, onCurrencyChange, value, id, name]\n );\n\n const handleCurrencyFocus = useCallback(() => {\n const event: TCustomEvent = {\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: TCustomEvent = {\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 </MoneyInputContainerSlot>\n\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 // TODO: this is a hack to position the badge correctly until we have trailingElement support\n transform=\"translateX(-100px) translateY(2px)\"\n />\n </MakeElementFocusable>\n <Tooltip.Content placement=\"top\">\n <FormattedMessage {...messages.highPrecisionPrice} />\n </Tooltip.Content>\n </Tooltip.Root>\n </MoneyInputBadgeSlot>\n )}\n </MoneyInputRootSlot>\n );\n};\n\nMoneyInputComponent.displayName = \"MoneyInput\";\n\n// Create the main export with static methods\ntype MoneyInputType = typeof MoneyInputComponent & {\n // Static methods preserved from UI Kit\n convertToMoneyValue: typeof transformFormInputToMoneyValue;\n parseMoneyValue: typeof formatMoneyValueForDisplay;\n isEmpty: typeof isEmpty;\n isHighPrecision: typeof isHighPrecision;\n getAmountInputId: (id?: string) => string | undefined;\n getCurrencyDropdownId: (id?: string) => string | undefined;\n};\n\nexport const MoneyInput = MoneyInputComponent as MoneyInputType;\n\n// Static methods for UI-Kit compatibility and internal utilities\nMoneyInput.getAmountInputId = (id) => getMoneyGroupAttribute(id, \"amount\");\nMoneyInput.getCurrencyDropdownId = (id) =>\n getMoneyGroupAttribute(id, \"currencyCode\");\nMoneyInput.convertToMoneyValue = transformFormInputToMoneyValue;\nMoneyInput.parseMoneyValue = formatMoneyValueForDisplay;\nMoneyInput.isEmpty = isEmpty;\nMoneyInput.isHighPrecision = isHighPrecision;\n"],"names":["currencies","moneyInputRecipe","defineSlotRecipe","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","MoneyInputComponent","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","recipeProps","recipeRestProps","styleProps","remainingProps","extractStyleProps","amountInputId","currencySelectId","amountInputName","currencySelectName","handleAmountChange","useCallback","newValue","stringValue","newValueObject","handleAmountFocus","event","handleAmountBlur","handleCurrencyChange","handleCurrencyFocus","handleCurrencyBlur","handleCurrencySelectionChange","selectedKey","noCurrenciesLabelId","highPrecisionBadgeId","jsxs","jsx","Select","NumberInput","Tooltip","MakeElementFocusable","Box","HighPrecision","FormattedMessage","MoneyInput"],"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,EAC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"}
@@ -3,7 +3,7 @@ import { useCallback as w, useEffect as y, useRef as R } from "react";
3
3
  import { mergeRefs as k } from "@chakra-ui/react";
4
4
  import { defineSlotRecipe as S, createSlotRecipeContext as $, useRecipe as C } from "@chakra-ui/react/styled-system";
5
5
  import { $ as P } from "./TextArea-P6n8ajPu.es.js";
6
- import { e as z } from "./extractStyleProps-i_um9deg.es.js";
6
+ import { e as z } from "./extractStyleProps-DjVNA871.es.js";
7
7
  import { designTokens as I } from "@commercetools/nimbus-tokens";
8
8
  import { $ as E } from "./useObjectRef-CaJ5pgjX.es.js";
9
9
  import { $ as T } from "./useTextField-CFlmp99F.es.js";
@@ -70,7 +70,8 @@ const c = /* @__PURE__ */ S({
70
70
  _placeholder: {
71
71
  opacity: 0.5,
72
72
  color: "currentColor"
73
- }
73
+ },
74
+ "&[data-disabled='true']": { cursor: "not-allowed" }
74
75
  }
75
76
  },
76
77
  variants: {
@@ -140,35 +141,35 @@ const c = /* @__PURE__ */ S({
140
141
  }), { withContext: u, withProvider: H } = /* @__PURE__ */ $({
141
142
  recipe: c
142
143
  }), _ = /* @__PURE__ */ H("div", "root"), M = /* @__PURE__ */ u("div", "leadingElement"), N = /* @__PURE__ */ u("textarea", "textarea");
143
- function V(n, s = {}) {
144
- const { enabled: r = !1 } = s, o = w(() => {
145
- const e = n.current;
144
+ function V(o, s = {}) {
145
+ const { enabled: r = !1 } = s, i = w(() => {
146
+ const e = o.current;
146
147
  if (!e || !r) return;
147
148
  e.style.height = "auto";
148
- const t = e.scrollHeight, d = window.getComputedStyle(e), i = parseInt(d.maxHeight, 10), a = !isNaN(i) && i > 0 ? Math.min(t, i) : t;
149
- e.style.height = `${a}px`;
149
+ const t = e.scrollHeight, d = window.getComputedStyle(e), a = parseInt(d.maxHeight, 10), n = !isNaN(a) && a > 0 ? Math.min(t, a) : t;
150
+ e.style.height = `${n}px`;
150
151
  }, [r]);
151
152
  y(() => {
152
- const e = n.current;
153
+ const e = o.current;
153
154
  if (!e || !r) return;
154
- o();
155
+ i();
155
156
  const t = () => {
156
- o();
157
+ i();
157
158
  };
158
159
  return e.addEventListener("input", t), () => {
159
160
  e.removeEventListener("input", t);
160
161
  };
161
- }, [o, r]);
162
+ }, [i, r]);
162
163
  }
163
- const j = (n) => {
164
+ const j = (o) => {
164
165
  const {
165
166
  ref: s,
166
167
  leadingElement: r,
167
- rows: o = 1,
168
+ rows: i = 1,
168
169
  autoGrow: e = !1,
169
170
  ...t
170
- } = n, d = C({ recipe: c }), i = R(null), a = E(k(i, s)), [p, m] = d.splitVariantProps(t), [g, h] = z(m), { inputProps: f } = T(h, a);
171
- V(a, { enabled: e });
171
+ } = o, d = C({ recipe: c }), a = R(null), n = E(k(a, s)), [p, m] = d.splitVariantProps(t), [g, h] = z(m), { inputProps: f } = T(h, n);
172
+ V(n, { enabled: e });
172
173
  const x = {
173
174
  "data-disabled": t.isDisabled ? "true" : void 0,
174
175
  "data-invalid": t.isInvalid ? "true" : "false"
@@ -176,12 +177,13 @@ const j = (n) => {
176
177
  return /* @__PURE__ */ l(
177
178
  _,
178
179
  {
180
+ className: o?.className,
179
181
  ...p,
180
182
  ...g,
181
183
  ...x,
182
184
  children: /* @__PURE__ */ b(v, { children: [
183
185
  r && /* @__PURE__ */ l(M, { children: r }),
184
- /* @__PURE__ */ l(N, { asChild: !0, children: /* @__PURE__ */ l(P, { ref: a, rows: o, ...f }) })
186
+ /* @__PURE__ */ l(N, { asChild: !0, children: /* @__PURE__ */ l(P, { ref: n, rows: i, ...f }) })
185
187
  ] })
186
188
  }
187
189
  );
@@ -190,4 +192,4 @@ j.displayName = "MultilineTextInput";
190
192
  export {
191
193
  j as M
192
194
  };
193
- //# sourceMappingURL=multiline-text-input-_G6GcQrg.es.js.map
195
+ //# sourceMappingURL=multiline-text-input-DGMceBRu.es.js.map