@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.
- package/dist/chunks/{DatePicker-DOq_YUYb.es.js → DatePicker-DmiNa1e-.es.js} +2 -2
- package/dist/chunks/{DatePicker-DOq_YUYb.es.js.map → DatePicker-DmiNa1e-.es.js.map} +1 -1
- package/dist/chunks/{Dialog-BgV9Ur8E.es.js → Dialog-SvkYfu5i.es.js} +4 -4
- package/dist/chunks/{Dialog-BgV9Ur8E.es.js.map → Dialog-SvkYfu5i.es.js.map} +1 -1
- package/dist/chunks/{Header-LkbMVqUr.es.js → Header-CnkbxL1Z.es.js} +3 -3
- package/dist/chunks/{Header-LkbMVqUr.es.js.map → Header-CnkbxL1Z.es.js.map} +1 -1
- package/dist/chunks/{ListBox-BLYSfKWM.es.js → ListBox-CkDiOBnJ.es.js} +4 -4
- package/dist/chunks/{ListBox-BLYSfKWM.es.js.map → ListBox-CkDiOBnJ.es.js.map} +1 -1
- package/dist/chunks/{SelectionManager-DPe6sYkP.es.js → SelectionManager-CSt4dh97.es.js} +2 -2
- package/dist/chunks/{SelectionManager-DPe6sYkP.es.js.map → SelectionManager-CSt4dh97.es.js.map} +1 -1
- package/dist/chunks/{Separator-DOY-4i96.es.js → Separator-HDKQdp4v.es.js} +6 -6
- package/dist/chunks/{Separator-DOY-4i96.es.js.map → Separator-HDKQdp4v.es.js.map} +1 -1
- package/dist/chunks/{accordion-BSR4mSOu.es.js → accordion-1xPIt07g.es.js} +2 -2
- package/dist/chunks/{accordion-BSR4mSOu.es.js.map → accordion-1xPIt07g.es.js.map} +1 -1
- package/dist/chunks/{accordion-4Vh8MRHG.cjs.js → accordion-CdIEuDDs.cjs.js} +2 -2
- package/dist/chunks/{accordion-4Vh8MRHG.cjs.js.map → accordion-CdIEuDDs.cjs.js.map} +1 -1
- package/dist/chunks/{alert-C0YsaZz2.es.js → alert-Blp_hf9F.es.js} +2 -2
- package/dist/chunks/{alert-C0YsaZz2.es.js.map → alert-Blp_hf9F.es.js.map} +1 -1
- package/dist/chunks/{alert-cCy3Ka2E.cjs.js → alert-CZEBRJ9p.cjs.js} +2 -2
- package/dist/chunks/{alert-cCy3Ka2E.cjs.js.map → alert-CZEBRJ9p.cjs.js.map} +1 -1
- package/dist/chunks/{button-BAH2aLJh.cjs.js → button-BSWhqzIJ.cjs.js} +2 -2
- package/dist/chunks/{button-BAH2aLJh.cjs.js.map → button-BSWhqzIJ.cjs.js.map} +1 -1
- package/dist/chunks/{button-DSws4IjQ.es.js → button-tLehmoCt.es.js} +2 -2
- package/dist/chunks/{button-DSws4IjQ.es.js.map → button-tLehmoCt.es.js.map} +1 -1
- package/dist/chunks/{calendar-QYUcSSuy.es.js → calendar-B58zfVhs.es.js} +4 -4
- package/dist/chunks/{calendar-QYUcSSuy.es.js.map → calendar-B58zfVhs.es.js.map} +1 -1
- package/dist/chunks/{calendar-CNjZUyhZ.cjs.js → calendar-xPQsLl6L.cjs.js} +2 -2
- package/dist/chunks/{calendar-CNjZUyhZ.cjs.js.map → calendar-xPQsLl6L.cjs.js.map} +1 -1
- package/dist/chunks/{checkbox-BjhklyOp.cjs.js → checkbox-CLR3YHZW.cjs.js} +2 -2
- package/dist/chunks/{checkbox-BjhklyOp.cjs.js.map → checkbox-CLR3YHZW.cjs.js.map} +1 -1
- package/dist/chunks/{checkbox-BYw5k4jR.es.js → checkbox-D1Y9DVYF.es.js} +2 -2
- package/dist/chunks/{checkbox-BYw5k4jR.es.js.map → checkbox-D1Y9DVYF.es.js.map} +1 -1
- package/dist/chunks/{collapsible-motion-BASfX7dq.es.js → collapsible-motion-BvdtYGQE.es.js} +2 -2
- package/dist/chunks/{collapsible-motion-BASfX7dq.es.js.map → collapsible-motion-BvdtYGQE.es.js.map} +1 -1
- package/dist/chunks/{collapsible-motion-CKitPEjA.cjs.js → collapsible-motion-D3QM37Qz.cjs.js} +2 -2
- package/dist/chunks/{collapsible-motion-CKitPEjA.cjs.js.map → collapsible-motion-D3QM37Qz.cjs.js.map} +1 -1
- package/dist/chunks/{combobox-D0zYU4ZZ.cjs.js → combobox-B60AWpPC.cjs.js} +2 -2
- package/dist/chunks/{combobox-D0zYU4ZZ.cjs.js.map → combobox-B60AWpPC.cjs.js.map} +1 -1
- package/dist/chunks/{combobox-DmQUeFFT.es.js → combobox-BWJoplDo.es.js} +11 -11
- package/dist/chunks/{combobox-DmQUeFFT.es.js.map → combobox-BWJoplDo.es.js.map} +1 -1
- package/dist/chunks/{data-table-Cipv3jS9.cjs.js → data-table-BJVv7I8A.cjs.js} +2 -2
- package/dist/chunks/{data-table-Cipv3jS9.cjs.js.map → data-table-BJVv7I8A.cjs.js.map} +1 -1
- package/dist/chunks/{data-table-BKJDvxYT.es.js → data-table-D4e35rxu.es.js} +8 -8
- package/dist/chunks/{data-table-BKJDvxYT.es.js.map → data-table-D4e35rxu.es.js.map} +1 -1
- package/dist/chunks/date-input-CK3WtPkJ.cjs.js +2 -0
- package/dist/chunks/date-input-CK3WtPkJ.cjs.js.map +1 -0
- package/dist/chunks/date-input-Daj_CPWN.es.js +20 -0
- package/dist/chunks/date-input-Daj_CPWN.es.js.map +1 -0
- package/dist/chunks/{date-picker-BIvJI-6_.es.js → date-picker-BLb_IHhd.es.js} +9 -9
- package/dist/chunks/{date-picker-BIvJI-6_.es.js.map → date-picker-BLb_IHhd.es.js.map} +1 -1
- package/dist/chunks/{date-picker-BKudarck.cjs.js → date-picker-mE3ZgF5x.cjs.js} +2 -2
- package/dist/chunks/{date-picker-BKudarck.cjs.js.map → date-picker-mE3ZgF5x.cjs.js.map} +1 -1
- package/dist/chunks/{date-range-picker-4mZ19UM7.cjs.js → date-range-picker--g9Bzar4.cjs.js} +2 -2
- package/dist/chunks/{date-range-picker-4mZ19UM7.cjs.js.map → date-range-picker--g9Bzar4.cjs.js.map} +1 -1
- package/dist/chunks/{date-range-picker-DelR30zw.es.js → date-range-picker-B5KfWxe9.es.js} +9 -9
- package/dist/chunks/{date-range-picker-DelR30zw.es.js.map → date-range-picker-B5KfWxe9.es.js.map} +1 -1
- package/dist/chunks/{dialog-D0RnaoTx.cjs.js → dialog-Bech4WpU.cjs.js} +2 -2
- package/dist/chunks/{dialog-D0RnaoTx.cjs.js.map → dialog-Bech4WpU.cjs.js.map} +1 -1
- package/dist/chunks/{dialog-B-NKwVSi.es.js → dialog-Bx0O1gKI.es.js} +2 -2
- package/dist/chunks/{dialog-B-NKwVSi.es.js.map → dialog-Bx0O1gKI.es.js.map} +1 -1
- package/dist/chunks/{dialog.title-DyRR_xdZ.es.js → dialog.title-CfwJLUeB.es.js} +5 -5
- package/dist/chunks/{dialog.title-DyRR_xdZ.es.js.map → dialog.title-CfwJLUeB.es.js.map} +1 -1
- package/dist/chunks/{dialog.title-Co1QDiYA.cjs.js → dialog.title-RLHmO1dx.cjs.js} +2 -2
- package/dist/chunks/{dialog.title-Co1QDiYA.cjs.js.map → dialog.title-RLHmO1dx.cjs.js.map} +1 -1
- package/dist/chunks/{extractStyleProps-i_um9deg.es.js → extractStyleProps-DjVNA871.es.js} +2 -2
- package/dist/chunks/{extractStyleProps-i_um9deg.es.js.map → extractStyleProps-DjVNA871.es.js.map} +1 -1
- package/dist/chunks/{extractStyleProps-BIJocpXL.cjs.js → extractStyleProps-Q5HTdHwJ.cjs.js} +2 -2
- package/dist/chunks/{extractStyleProps-BIJocpXL.cjs.js.map → extractStyleProps-Q5HTdHwJ.cjs.js.map} +1 -1
- package/dist/chunks/field-errors-Dzmxsyfu.cjs.js +2 -0
- package/dist/chunks/field-errors-Dzmxsyfu.cjs.js.map +1 -0
- package/dist/chunks/{field-errors-CcQ1ssQj.es.js → field-errors-n9EuKYPI.es.js} +43 -37
- package/dist/chunks/field-errors-n9EuKYPI.es.js.map +1 -0
- package/dist/chunks/form-field-8JwWMQy1.cjs.js +11 -0
- package/dist/chunks/form-field-8JwWMQy1.cjs.js.map +1 -0
- package/dist/chunks/form-field-BBRdeEEq.es.js +341 -0
- package/dist/chunks/form-field-BBRdeEEq.es.js.map +1 -0
- package/dist/chunks/{icon-button-CBhvV2Ok.cjs.js → icon-button-BeIGRIFN.cjs.js} +2 -2
- package/dist/chunks/{icon-button-CBhvV2Ok.cjs.js.map → icon-button-BeIGRIFN.cjs.js.map} +1 -1
- package/dist/chunks/{icon-button-_9swBHc3.es.js → icon-button-CctfLs8I.es.js} +2 -2
- package/dist/chunks/{icon-button-_9swBHc3.es.js.map → icon-button-CctfLs8I.es.js.map} +1 -1
- package/dist/chunks/{icon-toggle-button-S56p30pP.es.js → icon-toggle-button-0s_KaTfe.es.js} +2 -2
- package/dist/chunks/{icon-toggle-button-S56p30pP.es.js.map → icon-toggle-button-0s_KaTfe.es.js.map} +1 -1
- package/dist/chunks/{icon-toggle-button-wPsxrI7v.cjs.js → icon-toggle-button-ONFPX0qS.cjs.js} +2 -2
- package/dist/chunks/{icon-toggle-button-wPsxrI7v.cjs.js.map → icon-toggle-button-ONFPX0qS.cjs.js.map} +1 -1
- package/dist/chunks/{index-L5KSWClG.cjs.js → index-SuWPp512.cjs.js} +14 -3
- package/dist/chunks/index-SuWPp512.cjs.js.map +1 -0
- package/dist/chunks/{index-DRb2wMPi.es.js → index-fjbcWgyz.es.js} +216 -65
- package/dist/chunks/{index-L5KSWClG.cjs.js.map → index-fjbcWgyz.es.js.map} +1 -1
- package/dist/chunks/localized-field-C2cbHq3g.es.js +471 -0
- package/dist/chunks/localized-field-C2cbHq3g.es.js.map +1 -0
- package/dist/chunks/localized-field-hQsX33XN.cjs.js +2 -0
- package/dist/chunks/localized-field-hQsX33XN.cjs.js.map +1 -0
- package/dist/chunks/{menu-CVO7gYdK.es.js → menu-BjwsANQd.es.js} +6 -6
- package/dist/chunks/{menu-CVO7gYdK.es.js.map → menu-BjwsANQd.es.js.map} +1 -1
- package/dist/chunks/{menu-BfwjSmIS.cjs.js → menu-CbBblVAx.cjs.js} +2 -2
- package/dist/chunks/{menu-BfwjSmIS.cjs.js.map → menu-CbBblVAx.cjs.js.map} +1 -1
- package/dist/chunks/money-input-CdGqdo4S.cjs.js +2 -0
- package/dist/chunks/money-input-CdGqdo4S.cjs.js.map +1 -0
- package/dist/chunks/{money-input-C1jSkjXo.es.js → money-input-Cs8XrifY.es.js} +119 -86
- package/dist/chunks/money-input-Cs8XrifY.es.js.map +1 -0
- package/dist/chunks/{multiline-text-input-_G6GcQrg.es.js → multiline-text-input-DGMceBRu.es.js} +19 -17
- package/dist/chunks/multiline-text-input-DGMceBRu.es.js.map +1 -0
- package/dist/chunks/multiline-text-input-n_bb3ViF.cjs.js +12 -0
- package/dist/chunks/multiline-text-input-n_bb3ViF.cjs.js.map +1 -0
- package/dist/chunks/{nimbus-provider-BDP4hXF7.es.js → nimbus-provider-BND7wasE.es.js} +2 -2
- package/dist/chunks/{nimbus-provider-BDP4hXF7.es.js.map → nimbus-provider-BND7wasE.es.js.map} +1 -1
- package/dist/chunks/{nimbus-provider-CyRDR7rD.cjs.js → nimbus-provider-ChYtQ95-.cjs.js} +2 -2
- package/dist/chunks/{nimbus-provider-CyRDR7rD.cjs.js.map → nimbus-provider-ChYtQ95-.cjs.js.map} +1 -1
- package/dist/chunks/{number-input-DnBbey5l.cjs.js → number-input-BQvDkOaw.cjs.js} +2 -2
- package/dist/chunks/{number-input-DnBbey5l.cjs.js.map → number-input-BQvDkOaw.cjs.js.map} +1 -1
- package/dist/chunks/{number-input-CI0DSniW.es.js → number-input-DVUK5Vqy.es.js} +30 -29
- package/dist/chunks/{number-input-CI0DSniW.es.js.map → number-input-DVUK5Vqy.es.js.map} +1 -1
- package/dist/chunks/{pagination-Bi6keZ3a.es.js → pagination-BOCer9DU.es.js} +4 -4
- package/dist/chunks/{pagination-Bi6keZ3a.es.js.map → pagination-BOCer9DU.es.js.map} +1 -1
- package/dist/chunks/{pagination-DdGULNPt.cjs.js → pagination-DtowryRO.cjs.js} +2 -2
- package/dist/chunks/{pagination-DdGULNPt.cjs.js.map → pagination-DtowryRO.cjs.js.map} +1 -1
- package/dist/chunks/{password-input-Lh2HHpnL.cjs.js → password-input-B-YRh6bw.cjs.js} +2 -2
- package/dist/chunks/{password-input-Lh2HHpnL.cjs.js.map → password-input-B-YRh6bw.cjs.js.map} +1 -1
- package/dist/chunks/{password-input-BC8qYtsr.es.js → password-input-Brdfp_j8.es.js} +3 -3
- package/dist/chunks/{password-input-BC8qYtsr.es.js.map → password-input-Brdfp_j8.es.js.map} +1 -1
- package/dist/chunks/popover-QYDVIaQN.cjs.js +2 -0
- package/dist/chunks/popover-QYDVIaQN.cjs.js.map +1 -0
- package/dist/chunks/popover-diWkZ07x.es.js +27 -0
- package/dist/chunks/popover-diWkZ07x.es.js.map +1 -0
- package/dist/chunks/{progress-bar-7H8xrBrA.es.js → progress-bar-hYGJlvcE.es.js} +2 -2
- package/dist/chunks/{progress-bar-7H8xrBrA.es.js.map → progress-bar-hYGJlvcE.es.js.map} +1 -1
- package/dist/chunks/{progress-bar-Cw9FWHlW.cjs.js → progress-bar-m6NsCg7W.cjs.js} +2 -2
- package/dist/chunks/{progress-bar-Cw9FWHlW.cjs.js.map → progress-bar-m6NsCg7W.cjs.js.map} +1 -1
- package/dist/chunks/{radio-input-CsIiU86R.cjs.js → radio-input-CVk4E1vl.cjs.js} +2 -2
- package/dist/chunks/{radio-input-CsIiU86R.cjs.js.map → radio-input-CVk4E1vl.cjs.js.map} +1 -1
- package/dist/chunks/{radio-input-BR53WuBU.es.js → radio-input-DpkravQW.es.js} +3 -3
- package/dist/chunks/{radio-input-BR53WuBU.es.js.map → radio-input-DpkravQW.es.js.map} +1 -1
- package/dist/chunks/{range-calendar-DFb9bsJ4.es.js → range-calendar-4rEdNmr4.es.js} +4 -4
- package/dist/chunks/{range-calendar-DFb9bsJ4.es.js.map → range-calendar-4rEdNmr4.es.js.map} +1 -1
- package/dist/chunks/{range-calendar-BH-2JsiF.cjs.js → range-calendar-BA_Ep3Zy.cjs.js} +2 -2
- package/dist/chunks/{range-calendar-BH-2JsiF.cjs.js.map → range-calendar-BA_Ep3Zy.cjs.js.map} +1 -1
- package/dist/chunks/{rich-text-input-BZ-Msa-L.cjs.js → rich-text-input-DxCnw4AP.cjs.js} +3 -3
- package/dist/chunks/rich-text-input-DxCnw4AP.cjs.js.map +1 -0
- package/dist/chunks/{rich-text-input-BmdxXmR4.es.js → rich-text-input-MyC1ucSo.es.js} +15 -7
- package/dist/chunks/rich-text-input-MyC1ucSo.es.js.map +1 -0
- package/dist/chunks/{select-kYdilBPV.cjs.js → select-ARr1JS_7.cjs.js} +2 -2
- package/dist/chunks/{select-kYdilBPV.cjs.js.map → select-ARr1JS_7.cjs.js.map} +1 -1
- package/dist/chunks/{select-CTbgnj8L.es.js → select-Du-L0KgJ.es.js} +10 -10
- package/dist/chunks/{select-CTbgnj8L.es.js.map → select-Du-L0KgJ.es.js.map} +1 -1
- package/dist/chunks/{separator-BPbw-2l_.cjs.js → separator-CqI23She.cjs.js} +2 -2
- package/dist/chunks/{separator-BPbw-2l_.cjs.js.map → separator-CqI23She.cjs.js.map} +1 -1
- package/dist/chunks/{separator-kuEDe6AG.es.js → separator-DgdTy5cy.es.js} +3 -3
- package/dist/chunks/{separator-kuEDe6AG.es.js.map → separator-DgdTy5cy.es.js.map} +1 -1
- package/dist/chunks/{split-button-OxOyRI3k.cjs.js → split-button-I1ltM4Vj.cjs.js} +2 -2
- package/dist/chunks/{split-button-OxOyRI3k.cjs.js.map → split-button-I1ltM4Vj.cjs.js.map} +1 -1
- package/dist/chunks/{split-button-VbEC4QmQ.es.js → split-button-R-totPZa.es.js} +5 -5
- package/dist/chunks/{split-button-VbEC4QmQ.es.js.map → split-button-R-totPZa.es.js.map} +1 -1
- package/dist/chunks/{switch-BtgfHCUU.cjs.js → switch-CWUuLZOP.cjs.js} +2 -2
- package/dist/chunks/{switch-BtgfHCUU.cjs.js.map → switch-CWUuLZOP.cjs.js.map} +1 -1
- package/dist/chunks/{switch-Cqlh-hxo.es.js → switch-DZ8nNXLD.es.js} +3 -3
- package/dist/chunks/{switch-Cqlh-hxo.es.js.map → switch-DZ8nNXLD.es.js.map} +1 -1
- package/dist/chunks/{tag-group-Dd6RDJ85.es.js → tag-group-85VbFf5V.es.js} +6 -6
- package/dist/chunks/{tag-group-Dd6RDJ85.es.js.map → tag-group-85VbFf5V.es.js.map} +1 -1
- package/dist/chunks/{tag-group-BiHCKIBb.cjs.js → tag-group-B5zBt0aa.cjs.js} +2 -2
- package/dist/chunks/{tag-group-BiHCKIBb.cjs.js.map → tag-group-B5zBt0aa.cjs.js.map} +1 -1
- package/dist/chunks/text-input-CaBBSE9c.cjs.js +2 -0
- package/dist/chunks/{text-input-NqDP9nsj.cjs.js.map → text-input-CaBBSE9c.cjs.js.map} +1 -1
- package/dist/chunks/text-input-iDHRgozX.es.js +49 -0
- package/dist/chunks/{text-input-Ch6OZEU5.es.js.map → text-input-iDHRgozX.es.js.map} +1 -1
- package/dist/chunks/{time-input-BPMoY1TY.es.js → time-input-DUfC3pNm.es.js} +2 -2
- package/dist/chunks/{time-input-BPMoY1TY.es.js.map → time-input-DUfC3pNm.es.js.map} +1 -1
- package/dist/chunks/{time-input-CAUpjIAO.cjs.js → time-input-YZY-GzT7.cjs.js} +2 -2
- package/dist/chunks/{time-input-CAUpjIAO.cjs.js.map → time-input-YZY-GzT7.cjs.js.map} +1 -1
- package/dist/chunks/{toggle-button-Q0HDyGR5.es.js → toggle-button-BFJvsG3g.es.js} +3 -3
- package/dist/chunks/{toggle-button-Q0HDyGR5.es.js.map → toggle-button-BFJvsG3g.es.js.map} +1 -1
- package/dist/chunks/{toggle-button-BcqqrZ6N.cjs.js → toggle-button-BKz5tJB3.cjs.js} +2 -2
- package/dist/chunks/{toggle-button-BcqqrZ6N.cjs.js.map → toggle-button-BKz5tJB3.cjs.js.map} +1 -1
- package/dist/chunks/{toolbar-CK8vOB4V.cjs.js → toolbar-BbuClYWc.cjs.js} +2 -2
- package/dist/chunks/{toolbar-CK8vOB4V.cjs.js.map → toolbar-BbuClYWc.cjs.js.map} +1 -1
- package/dist/chunks/{toolbar-CpMMNKHw.es.js → toolbar-kJJMLzLV.es.js} +3 -3
- package/dist/chunks/{toolbar-CpMMNKHw.es.js.map → toolbar-kJJMLzLV.es.js.map} +1 -1
- package/dist/chunks/{useSingleSelectListState-BCxpO0gf.es.js → useSingleSelectListState-CYgE8tvg.es.js} +2 -2
- package/dist/chunks/{useSingleSelectListState-BCxpO0gf.es.js.map → useSingleSelectListState-CYgE8tvg.es.js.map} +1 -1
- package/dist/components/accordion.cjs +1 -1
- package/dist/components/accordion.es.js +1 -1
- package/dist/components/alert.cjs +1 -1
- package/dist/components/alert.es.js +1 -1
- package/dist/components/button.cjs +1 -1
- package/dist/components/button.es.js +1 -1
- package/dist/components/calendar.cjs +1 -1
- package/dist/components/calendar.es.js +1 -1
- package/dist/components/checkbox.cjs +1 -1
- package/dist/components/checkbox.es.js +1 -1
- package/dist/components/collapsible-motion.cjs +1 -1
- package/dist/components/collapsible-motion.es.js +1 -1
- package/dist/components/combobox.cjs +1 -1
- package/dist/components/combobox.es.js +1 -1
- package/dist/components/components.cjs +1 -1
- package/dist/components/components.es.js +1 -1
- package/dist/components/data-table.cjs +1 -1
- package/dist/components/data-table.es.js +1 -1
- package/dist/components/date-input.cjs +1 -1
- package/dist/components/date-input.es.js +1 -1
- package/dist/components/date-picker.cjs +1 -1
- package/dist/components/date-picker.es.js +1 -1
- package/dist/components/date-range-picker.cjs +1 -1
- package/dist/components/date-range-picker.es.js +1 -1
- package/dist/components/dialog.cjs +1 -1
- package/dist/components/dialog.es.js +1 -1
- package/dist/components/field-errors.cjs +1 -1
- package/dist/components/field-errors.es.js +1 -1
- package/dist/components/form-field.cjs +1 -1
- package/dist/components/form-field.es.js +1 -1
- package/dist/components/icon-button.cjs +1 -1
- package/dist/components/icon-button.es.js +1 -1
- package/dist/components/icon-toggle-button.cjs +1 -1
- package/dist/components/icon-toggle-button.es.js +1 -1
- package/dist/components/localized-field.cjs +2 -0
- package/dist/components/localized-field.cjs.map +1 -0
- package/dist/components/localized-field.es.js +5 -0
- package/dist/components/localized-field.es.js.map +1 -0
- package/dist/components/money-input.cjs +1 -1
- package/dist/components/money-input.es.js +1 -1
- package/dist/components/multiline-text-input.cjs +1 -1
- package/dist/components/multiline-text-input.es.js +1 -1
- package/dist/components/nimbus-provider.cjs +1 -1
- package/dist/components/nimbus-provider.es.js +1 -1
- package/dist/components/number-input.cjs +1 -1
- package/dist/components/number-input.es.js +1 -1
- package/dist/components/pagination.cjs +1 -1
- package/dist/components/pagination.es.js +1 -1
- package/dist/components/password-input.cjs +1 -1
- package/dist/components/password-input.es.js +1 -1
- package/dist/components/popover.cjs +1 -1
- package/dist/components/popover.cjs.map +1 -1
- package/dist/components/popover.es.js +2 -22
- package/dist/components/popover.es.js.map +1 -1
- package/dist/components/progress-bar.cjs +1 -1
- package/dist/components/progress-bar.es.js +1 -1
- package/dist/components/radio-input.cjs +1 -1
- package/dist/components/radio-input.es.js +1 -1
- package/dist/components/range-calendar.cjs +1 -1
- package/dist/components/range-calendar.es.js +1 -1
- package/dist/components/rich-text-input.cjs +1 -1
- package/dist/components/rich-text-input.es.js +1 -1
- package/dist/components/select.cjs +1 -1
- package/dist/components/select.es.js +1 -1
- package/dist/components/separator.cjs +1 -1
- package/dist/components/separator.es.js +1 -1
- package/dist/components/split-button.cjs +1 -1
- package/dist/components/split-button.es.js +1 -1
- package/dist/components/switch.cjs +1 -1
- package/dist/components/switch.es.js +1 -1
- package/dist/components/tag-group.cjs +1 -1
- package/dist/components/tag-group.es.js +1 -1
- package/dist/components/text-input.cjs +1 -1
- package/dist/components/text-input.es.js +1 -1
- package/dist/components/time-input.cjs +1 -1
- package/dist/components/time-input.es.js +1 -1
- package/dist/components/toggle-button.cjs +1 -1
- package/dist/components/toggle-button.es.js +1 -1
- package/dist/components/toolbar.cjs +1 -1
- package/dist/components/toolbar.es.js +1 -1
- package/dist/field-errors.d.ts +19 -1
- package/dist/form-field.d.ts +4 -2
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.es.js +41 -39
- package/dist/index.es.js.map +1 -1
- package/dist/localized-field.d.ts +937 -0
- package/dist/money-input.d.ts +9 -1
- package/dist/popover.d.ts +19 -3
- package/package.json +5 -5
- package/dist/chunks/date-input-BS7NT0zS.es.js +0 -21
- package/dist/chunks/date-input-BS7NT0zS.es.js.map +0 -1
- package/dist/chunks/date-input-x1wfQ64a.cjs.js +0 -2
- package/dist/chunks/date-input-x1wfQ64a.cjs.js.map +0 -1
- package/dist/chunks/field-errors-CcQ1ssQj.es.js.map +0 -1
- package/dist/chunks/field-errors-Rzp3VbWz.cjs.js +0 -2
- package/dist/chunks/field-errors-Rzp3VbWz.cjs.js.map +0 -1
- package/dist/chunks/form-field-ClSAs-Vz.es.js +0 -319
- package/dist/chunks/form-field-ClSAs-Vz.es.js.map +0 -1
- package/dist/chunks/form-field-DVpuX6t5.cjs.js +0 -11
- package/dist/chunks/form-field-DVpuX6t5.cjs.js.map +0 -1
- package/dist/chunks/index-DRb2wMPi.es.js.map +0 -1
- package/dist/chunks/money-input-C1jSkjXo.es.js.map +0 -1
- package/dist/chunks/money-input-DJMTLGRy.cjs.js +0 -2
- package/dist/chunks/money-input-DJMTLGRy.cjs.js.map +0 -1
- package/dist/chunks/multiline-text-input-Dz0ikaM-.cjs.js +0 -12
- package/dist/chunks/multiline-text-input-Dz0ikaM-.cjs.js.map +0 -1
- package/dist/chunks/multiline-text-input-_G6GcQrg.es.js.map +0 -1
- package/dist/chunks/rich-text-input-BZ-Msa-L.cjs.js.map +0 -1
- package/dist/chunks/rich-text-input-BmdxXmR4.es.js.map +0 -1
- package/dist/chunks/text-input-Ch6OZEU5.es.js +0 -48
- 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-
|
|
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
|
|
9
|
+
import { $ as L } from "./mergeProps-CzyOU2NE.es.js";
|
|
10
10
|
import { $ as Pi } from "./context-R4YUlO9Y.es.js";
|
|
11
|
-
import { S as
|
|
12
|
-
import { N as Ri } from "./number-input-
|
|
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
|
|
15
|
-
import { B as
|
|
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
|
-
"
|
|
260
|
-
|
|
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:
|
|
362
|
+
}), { withProvider: Bi, withContext: p } = /* @__PURE__ */ di({
|
|
337
363
|
recipe: H
|
|
338
|
-
}), Ni = /* @__PURE__ */
|
|
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
|
-
},
|
|
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
|
|
410
|
+
const W = (i, o) => Oi(
|
|
385
411
|
typeof i.amount == "string" ? i.amount.trim() : "",
|
|
386
412
|
o,
|
|
387
413
|
i.currencyCode
|
|
388
|
-
),
|
|
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 =
|
|
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
|
-
},
|
|
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
|
-
}),
|
|
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:
|
|
446
|
-
onBlur:
|
|
447
|
-
isDisabled:
|
|
448
|
-
isReadOnly:
|
|
449
|
-
isInvalid:
|
|
450
|
-
isRequired:
|
|
451
|
-
hasHighPrecisionBadge:
|
|
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 =
|
|
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,
|
|
492
|
+
} : {}, [t.currencyCode, T]), ni = mi({ recipe: H }), [oi, ri] = ni.splitVariantProps({
|
|
467
493
|
...k,
|
|
468
494
|
size: I
|
|
469
|
-
}), [ei, ci] = bi(ri),
|
|
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
|
|
497
|
+
const b = n.toString();
|
|
472
498
|
s?.({
|
|
473
499
|
target: {
|
|
474
|
-
id:
|
|
475
|
-
name:
|
|
476
|
-
value:
|
|
500
|
+
id: y,
|
|
501
|
+
name: M,
|
|
502
|
+
value: b
|
|
477
503
|
}
|
|
478
504
|
});
|
|
479
|
-
const li = { ...t, amount:
|
|
480
|
-
a?.(li), N?.(
|
|
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:
|
|
487
|
-
name:
|
|
512
|
+
id: y,
|
|
513
|
+
name: M,
|
|
488
514
|
value: t.amount
|
|
489
515
|
}
|
|
490
516
|
};
|
|
491
|
-
|
|
492
|
-
}, [
|
|
517
|
+
d?.(n);
|
|
518
|
+
}, [d, t.amount, o, r]), gi = g(() => {
|
|
493
519
|
const n = {
|
|
494
520
|
target: {
|
|
495
|
-
id:
|
|
496
|
-
name:
|
|
521
|
+
id: y,
|
|
522
|
+
name: M,
|
|
497
523
|
value: t.amount
|
|
498
524
|
}
|
|
499
525
|
};
|
|
500
|
-
|
|
501
|
-
}, [
|
|
526
|
+
m?.(n);
|
|
527
|
+
}, [m, t, o, r]), O = g(
|
|
502
528
|
(n) => {
|
|
503
529
|
s?.({
|
|
504
530
|
target: {
|
|
505
|
-
id:
|
|
506
|
-
name:
|
|
531
|
+
id: h,
|
|
532
|
+
name: S,
|
|
507
533
|
value: n
|
|
508
534
|
}
|
|
509
535
|
});
|
|
510
|
-
const
|
|
536
|
+
const E = {
|
|
511
537
|
...t,
|
|
512
538
|
currencyCode: n
|
|
513
539
|
};
|
|
514
|
-
a?.(
|
|
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:
|
|
521
|
-
name:
|
|
546
|
+
id: h,
|
|
547
|
+
name: S,
|
|
522
548
|
value: t.currencyCode
|
|
523
549
|
}
|
|
524
550
|
};
|
|
525
|
-
|
|
526
|
-
}, [
|
|
551
|
+
d?.(n);
|
|
552
|
+
}, [d, t.currencyCode, o, r]), Di = g(() => {
|
|
527
553
|
const n = {
|
|
528
554
|
target: {
|
|
529
|
-
id:
|
|
530
|
-
name:
|
|
555
|
+
id: h,
|
|
556
|
+
name: S,
|
|
531
557
|
value: t.currencyCode
|
|
532
558
|
}
|
|
533
559
|
};
|
|
534
|
-
|
|
535
|
-
}, [
|
|
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
|
-
),
|
|
566
|
+
), K = L(), w = L();
|
|
541
567
|
return /* @__PURE__ */ A(Ni, { ...oi, ...ei, ...ci, children: [
|
|
542
568
|
/* @__PURE__ */ A(Fi, { children: [
|
|
543
|
-
/* @__PURE__ */ e(
|
|
544
|
-
|
|
569
|
+
/* @__PURE__ */ e(xi, { children: ii ? /* @__PURE__ */ e(
|
|
570
|
+
Gi,
|
|
545
571
|
{
|
|
546
|
-
|
|
547
|
-
|
|
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 ||
|
|
585
|
+
isDisabled: z || l || x,
|
|
553
586
|
isClearable: !1,
|
|
554
587
|
placeholder: "",
|
|
555
|
-
"aria-label": R.formatMessage(
|
|
588
|
+
"aria-label": R.formatMessage(C.currencySelectLabel),
|
|
556
589
|
size: I,
|
|
557
|
-
children: /* @__PURE__ */ e(
|
|
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
|
-
|
|
594
|
+
Ti,
|
|
562
595
|
{
|
|
563
|
-
"data-has-high-precision":
|
|
596
|
+
"data-has-high-precision": G && v,
|
|
564
597
|
asChild: !0,
|
|
565
598
|
children: /* @__PURE__ */ e(
|
|
566
599
|
Ri,
|
|
567
600
|
{
|
|
568
|
-
id:
|
|
569
|
-
name:
|
|
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:
|
|
576
|
-
isReadOnly:
|
|
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(
|
|
583
|
-
"aria-labelledby":
|
|
584
|
-
"aria-describedby":
|
|
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
|
-
|
|
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
|
-
|
|
626
|
+
Li,
|
|
594
627
|
{
|
|
595
628
|
as: Si,
|
|
596
|
-
id:
|
|
597
|
-
color:
|
|
598
|
-
"aria-label": R.formatMessage(
|
|
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(
|
|
635
|
+
/* @__PURE__ */ e(X.Content, { placement: "top", children: /* @__PURE__ */ e(Mi, { ...C.highPrecisionPrice }) })
|
|
603
636
|
] }) })
|
|
604
637
|
] });
|
|
605
638
|
};
|
|
606
|
-
|
|
607
|
-
const u =
|
|
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 =
|
|
611
|
-
u.parseMoneyValue =
|
|
612
|
-
u.isEmpty =
|
|
613
|
-
u.isHighPrecision =
|
|
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-
|
|
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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"}
|
package/dist/chunks/{multiline-text-input-_G6GcQrg.es.js → multiline-text-input-DGMceBRu.es.js}
RENAMED
|
@@ -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-
|
|
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(
|
|
144
|
-
const { enabled: r = !1 } = s,
|
|
145
|
-
const e =
|
|
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),
|
|
149
|
-
e.style.height = `${
|
|
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 =
|
|
153
|
+
const e = o.current;
|
|
153
154
|
if (!e || !r) return;
|
|
154
|
-
|
|
155
|
+
i();
|
|
155
156
|
const t = () => {
|
|
156
|
-
|
|
157
|
+
i();
|
|
157
158
|
};
|
|
158
159
|
return e.addEventListener("input", t), () => {
|
|
159
160
|
e.removeEventListener("input", t);
|
|
160
161
|
};
|
|
161
|
-
}, [
|
|
162
|
+
}, [i, r]);
|
|
162
163
|
}
|
|
163
|
-
const j = (
|
|
164
|
+
const j = (o) => {
|
|
164
165
|
const {
|
|
165
166
|
ref: s,
|
|
166
167
|
leadingElement: r,
|
|
167
|
-
rows:
|
|
168
|
+
rows: i = 1,
|
|
168
169
|
autoGrow: e = !1,
|
|
169
170
|
...t
|
|
170
|
-
} =
|
|
171
|
-
V(
|
|
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:
|
|
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-
|
|
195
|
+
//# sourceMappingURL=multiline-text-input-DGMceBRu.es.js.map
|