@dnb/eufemia 10.68.1 → 10.69.1

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 (540) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/cjs/components/autocomplete/Autocomplete.js +1 -1
  3. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  4. package/cjs/components/global-error/GlobalError.d.ts +1 -1
  5. package/cjs/components/global-error/GlobalError.js +1 -1
  6. package/cjs/components/global-error/GlobalError.js.map +1 -1
  7. package/cjs/components/global-error/GlobalErrorDocs.d.ts +2 -0
  8. package/cjs/components/global-error/GlobalErrorDocs.js +64 -0
  9. package/cjs/components/global-error/GlobalErrorDocs.js.map +1 -0
  10. package/cjs/components/info-card/InfoCard.d.ts +4 -0
  11. package/cjs/components/info-card/InfoCard.js +29 -25
  12. package/cjs/components/info-card/InfoCard.js.map +1 -1
  13. package/cjs/components/info-card/InfoCardDocs.d.ts +3 -0
  14. package/cjs/components/info-card/InfoCardDocs.js +101 -0
  15. package/cjs/components/info-card/InfoCardDocs.js.map +1 -0
  16. package/cjs/components/info-card/style/dnb-info-card.css +5 -0
  17. package/cjs/components/info-card/style/dnb-info-card.min.css +1 -1
  18. package/cjs/components/info-card/style/dnb-info-card.scss +7 -0
  19. package/cjs/components/number-format/NumberFormat.js +4 -2
  20. package/cjs/components/number-format/NumberFormat.js.map +1 -1
  21. package/cjs/components/number-format/NumberUtils.d.ts +3 -0
  22. package/cjs/components/number-format/NumberUtils.js +5 -4
  23. package/cjs/components/number-format/NumberUtils.js.map +1 -1
  24. package/cjs/components/table/TableClickableHead.js +14 -3
  25. package/cjs/components/table/TableClickableHead.js.map +1 -1
  26. package/cjs/components/table/TableTr.js +4 -4
  27. package/cjs/components/table/TableTr.js.map +1 -1
  28. package/cjs/components/table/table-accordion/TableAccordionHead.d.ts +5 -0
  29. package/cjs/components/table/table-accordion/TableAccordionHead.js +27 -20
  30. package/cjs/components/table/table-accordion/TableAccordionHead.js.map +1 -1
  31. package/cjs/components/table/table-navigation/TableNavigationHead.js +7 -4
  32. package/cjs/components/table/table-navigation/TableNavigationHead.js.map +1 -1
  33. package/cjs/components/tabs/Tabs.js +2 -2
  34. package/cjs/components/tabs/Tabs.js.map +1 -1
  35. package/cjs/components/upload/UploadFileList.js +2 -3
  36. package/cjs/components/upload/UploadFileList.js.map +1 -1
  37. package/cjs/extensions/forms/DataContext/Context.d.ts +2 -2
  38. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  39. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +4 -4
  40. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  41. package/cjs/extensions/forms/DataContext/Provider/Provider.js +35 -41
  42. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  43. package/cjs/extensions/forms/Field/Currency/Currency.d.ts +9 -1
  44. package/cjs/extensions/forms/Field/Currency/Currency.js +8 -3
  45. package/cjs/extensions/forms/Field/Currency/Currency.js.map +1 -1
  46. package/cjs/extensions/forms/Field/Currency/CurrencyDocs.js +1 -1
  47. package/cjs/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -1
  48. package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +61 -3
  49. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -4
  50. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -2
  51. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  52. package/cjs/extensions/forms/Field/SelectCurrency/SelectCurrency.d.ts +51 -0
  53. package/cjs/extensions/forms/Field/SelectCurrency/SelectCurrency.js +289 -0
  54. package/cjs/extensions/forms/Field/SelectCurrency/SelectCurrency.js.map +1 -0
  55. package/cjs/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.d.ts +3 -0
  56. package/cjs/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js +36 -0
  57. package/cjs/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js.map +1 -0
  58. package/cjs/extensions/forms/Field/SelectCurrency/index.d.ts +2 -0
  59. package/cjs/extensions/forms/Field/SelectCurrency/index.js +28 -0
  60. package/cjs/extensions/forms/Field/SelectCurrency/index.js.map +1 -0
  61. package/cjs/extensions/forms/Field/index.d.ts +1 -0
  62. package/cjs/extensions/forms/Field/index.js +7 -0
  63. package/cjs/extensions/forms/Field/index.js.map +1 -1
  64. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -2
  65. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +2 -2
  66. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  67. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -1
  68. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  69. package/cjs/extensions/forms/Form/Isolation/Isolation.js +3 -4
  70. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  71. package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +1 -10
  72. package/cjs/extensions/forms/Form/Visibility/Visibility.js +1 -0
  73. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  74. package/cjs/extensions/forms/Form/Visibility/VisibilityContext.d.ts +2 -1
  75. package/cjs/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
  76. package/cjs/extensions/forms/Form/Visibility/useVisibility.js +1 -1
  77. package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  78. package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +3 -2
  79. package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  80. package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js +5 -2
  81. package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  82. package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.js +1 -1
  83. package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
  84. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -2
  85. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  86. package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.js +1 -1
  87. package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -1
  88. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +9 -2
  89. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  90. package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -1
  91. package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
  92. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +1 -1
  93. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  94. package/cjs/extensions/forms/Value/Currency/Currency.d.ts +7 -1
  95. package/cjs/extensions/forms/Value/Currency/Currency.js.map +1 -1
  96. package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +2 -1
  97. package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -1
  98. package/cjs/extensions/forms/Value/SelectCurrency/SelectCurrency.d.ts +9 -0
  99. package/cjs/extensions/forms/Value/SelectCurrency/SelectCurrency.js +37 -0
  100. package/cjs/extensions/forms/Value/SelectCurrency/SelectCurrency.js.map +1 -0
  101. package/cjs/extensions/forms/Value/SelectCurrency/index.d.ts +2 -0
  102. package/cjs/extensions/forms/Value/SelectCurrency/index.js +28 -0
  103. package/cjs/extensions/forms/Value/SelectCurrency/index.js.map +1 -0
  104. package/cjs/extensions/forms/Value/SelectCurrency/useCurrency.d.ts +4 -0
  105. package/cjs/extensions/forms/Value/SelectCurrency/useCurrency.js +32 -0
  106. package/cjs/extensions/forms/Value/SelectCurrency/useCurrency.js.map +1 -0
  107. package/cjs/extensions/forms/Value/index.d.ts +1 -0
  108. package/cjs/extensions/forms/Value/index.js +7 -0
  109. package/cjs/extensions/forms/Value/index.js.map +1 -1
  110. package/cjs/extensions/forms/Wizard/Buttons/Buttons.js +2 -2
  111. package/cjs/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
  112. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.js +10 -5
  113. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
  114. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +4 -3
  115. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.js +38 -32
  116. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -1
  117. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +106 -57
  118. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  119. package/cjs/extensions/forms/Wizard/Container/useCollectStepsData.d.ts +10 -0
  120. package/cjs/extensions/forms/Wizard/Container/useCollectStepsData.js +66 -0
  121. package/cjs/extensions/forms/Wizard/Container/useCollectStepsData.js.map +1 -0
  122. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +18 -4
  123. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  124. package/cjs/extensions/forms/Wizard/Context/types.d.ts +9 -6
  125. package/cjs/extensions/forms/Wizard/Context/types.js.map +1 -1
  126. package/cjs/extensions/forms/Wizard/Step/Step.d.ts +1 -1
  127. package/cjs/extensions/forms/Wizard/Step/Step.js +65 -22
  128. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  129. package/cjs/extensions/forms/Wizard/Step/StepDocs.js +2 -2
  130. package/cjs/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  131. package/cjs/extensions/forms/Wizard/hooks/useStep.js +10 -18
  132. package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  133. package/cjs/extensions/forms/constants/allCurrencies.d.ts +1786 -0
  134. package/cjs/extensions/forms/constants/allCurrencies.js +1447 -0
  135. package/cjs/extensions/forms/constants/allCurrencies.js.map +1 -0
  136. package/cjs/extensions/forms/constants/countries.d.ts +4023 -4
  137. package/cjs/extensions/forms/constants/countries.js.map +1 -1
  138. package/cjs/extensions/forms/constants/currencies.d.ts +716 -0
  139. package/cjs/extensions/forms/constants/currencies.js +12 -0
  140. package/cjs/extensions/forms/constants/currencies.js.map +1 -0
  141. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +5 -0
  142. package/cjs/extensions/forms/constants/locales/en-GB.js +5 -0
  143. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  144. package/cjs/extensions/forms/constants/locales/en-US.d.ts +5 -0
  145. package/cjs/extensions/forms/constants/locales/index.d.ts +10 -0
  146. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +5 -0
  147. package/cjs/extensions/forms/constants/locales/nb-NO.js +5 -0
  148. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  149. package/cjs/extensions/forms/constants/locales/sv-SE.d.ts +5 -0
  150. package/cjs/extensions/forms/constants/locales/sv-SE.js +5 -0
  151. package/cjs/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  152. package/cjs/extensions/forms/hooks/useFieldProps.js +32 -23
  153. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  154. package/cjs/extensions/forms/hooks/useValueProps.js +1 -1
  155. package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
  156. package/cjs/extensions/forms/types.d.ts +4 -4
  157. package/cjs/extensions/forms/types.js.map +1 -1
  158. package/cjs/shared/Eufemia.d.ts +1 -1
  159. package/cjs/shared/Eufemia.js +2 -2
  160. package/cjs/shared/Eufemia.js.map +1 -1
  161. package/cjs/shared/component-helper.js +1 -1
  162. package/cjs/shared/component-helper.js.map +1 -1
  163. package/cjs/style/core/scopes.scss +1 -1
  164. package/cjs/style/dnb-ui-basis.css +1 -1
  165. package/cjs/style/dnb-ui-basis.min.css +1 -1
  166. package/cjs/style/dnb-ui-body.css +1 -1
  167. package/cjs/style/dnb-ui-body.min.css +1 -1
  168. package/cjs/style/dnb-ui-components.css +5 -0
  169. package/cjs/style/dnb-ui-components.min.css +1 -1
  170. package/cjs/style/dnb-ui-core.css +1 -1
  171. package/cjs/style/dnb-ui-core.min.css +1 -1
  172. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +5 -0
  173. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  174. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +5 -0
  175. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  176. package/cjs/style/themes/theme-ui/ui-theme-components.css +5 -0
  177. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  178. package/components/autocomplete/Autocomplete.js +1 -1
  179. package/components/autocomplete/Autocomplete.js.map +1 -1
  180. package/components/global-error/GlobalError.d.ts +1 -1
  181. package/components/global-error/GlobalError.js +1 -1
  182. package/components/global-error/GlobalError.js.map +1 -1
  183. package/components/global-error/GlobalErrorDocs.d.ts +2 -0
  184. package/components/global-error/GlobalErrorDocs.js +58 -0
  185. package/components/global-error/GlobalErrorDocs.js.map +1 -0
  186. package/components/info-card/InfoCard.d.ts +4 -0
  187. package/components/info-card/InfoCard.js +26 -25
  188. package/components/info-card/InfoCard.js.map +1 -1
  189. package/components/info-card/InfoCardDocs.d.ts +3 -0
  190. package/components/info-card/InfoCardDocs.js +95 -0
  191. package/components/info-card/InfoCardDocs.js.map +1 -0
  192. package/components/info-card/style/dnb-info-card.css +5 -0
  193. package/components/info-card/style/dnb-info-card.min.css +1 -1
  194. package/components/info-card/style/dnb-info-card.scss +7 -0
  195. package/components/number-format/NumberFormat.js +4 -2
  196. package/components/number-format/NumberFormat.js.map +1 -1
  197. package/components/number-format/NumberUtils.d.ts +3 -0
  198. package/components/number-format/NumberUtils.js +5 -4
  199. package/components/number-format/NumberUtils.js.map +1 -1
  200. package/components/table/TableClickableHead.js +12 -3
  201. package/components/table/TableClickableHead.js.map +1 -1
  202. package/components/table/TableTr.js +4 -4
  203. package/components/table/TableTr.js.map +1 -1
  204. package/components/table/table-accordion/TableAccordionHead.d.ts +5 -0
  205. package/components/table/table-accordion/TableAccordionHead.js +28 -21
  206. package/components/table/table-accordion/TableAccordionHead.js.map +1 -1
  207. package/components/table/table-navigation/TableNavigationHead.js +4 -4
  208. package/components/table/table-navigation/TableNavigationHead.js.map +1 -1
  209. package/components/tabs/Tabs.js +2 -2
  210. package/components/tabs/Tabs.js.map +1 -1
  211. package/components/upload/UploadFileList.js +2 -3
  212. package/components/upload/UploadFileList.js.map +1 -1
  213. package/es/components/autocomplete/Autocomplete.js +1 -1
  214. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  215. package/es/components/global-error/GlobalError.d.ts +1 -1
  216. package/es/components/global-error/GlobalError.js +1 -1
  217. package/es/components/global-error/GlobalError.js.map +1 -1
  218. package/es/components/global-error/GlobalErrorDocs.d.ts +2 -0
  219. package/es/components/global-error/GlobalErrorDocs.js +58 -0
  220. package/es/components/global-error/GlobalErrorDocs.js.map +1 -0
  221. package/es/components/info-card/InfoCard.d.ts +4 -0
  222. package/es/components/info-card/InfoCard.js +26 -25
  223. package/es/components/info-card/InfoCard.js.map +1 -1
  224. package/es/components/info-card/InfoCardDocs.d.ts +3 -0
  225. package/es/components/info-card/InfoCardDocs.js +95 -0
  226. package/es/components/info-card/InfoCardDocs.js.map +1 -0
  227. package/es/components/info-card/style/dnb-info-card.css +5 -0
  228. package/es/components/info-card/style/dnb-info-card.min.css +1 -1
  229. package/es/components/info-card/style/dnb-info-card.scss +7 -0
  230. package/es/components/number-format/NumberFormat.js +4 -2
  231. package/es/components/number-format/NumberFormat.js.map +1 -1
  232. package/es/components/number-format/NumberUtils.d.ts +3 -0
  233. package/es/components/number-format/NumberUtils.js +5 -4
  234. package/es/components/number-format/NumberUtils.js.map +1 -1
  235. package/es/components/table/TableClickableHead.js +12 -3
  236. package/es/components/table/TableClickableHead.js.map +1 -1
  237. package/es/components/table/TableTr.js +4 -4
  238. package/es/components/table/TableTr.js.map +1 -1
  239. package/es/components/table/table-accordion/TableAccordionHead.d.ts +5 -0
  240. package/es/components/table/table-accordion/TableAccordionHead.js +28 -21
  241. package/es/components/table/table-accordion/TableAccordionHead.js.map +1 -1
  242. package/es/components/table/table-navigation/TableNavigationHead.js +4 -4
  243. package/es/components/table/table-navigation/TableNavigationHead.js.map +1 -1
  244. package/es/components/tabs/Tabs.js +2 -2
  245. package/es/components/tabs/Tabs.js.map +1 -1
  246. package/es/components/upload/UploadFileList.js +2 -3
  247. package/es/components/upload/UploadFileList.js.map +1 -1
  248. package/es/extensions/forms/DataContext/Context.d.ts +2 -2
  249. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  250. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +4 -4
  251. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  252. package/es/extensions/forms/DataContext/Provider/Provider.js +21 -29
  253. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  254. package/es/extensions/forms/Field/Currency/Currency.d.ts +9 -1
  255. package/es/extensions/forms/Field/Currency/Currency.js +8 -3
  256. package/es/extensions/forms/Field/Currency/Currency.js.map +1 -1
  257. package/es/extensions/forms/Field/Currency/CurrencyDocs.js +1 -1
  258. package/es/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -1
  259. package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +61 -3
  260. package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -4
  261. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -2
  262. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  263. package/es/extensions/forms/Field/SelectCurrency/SelectCurrency.d.ts +51 -0
  264. package/es/extensions/forms/Field/SelectCurrency/SelectCurrency.js +263 -0
  265. package/es/extensions/forms/Field/SelectCurrency/SelectCurrency.js.map +1 -0
  266. package/es/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.d.ts +3 -0
  267. package/es/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js +28 -0
  268. package/es/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js.map +1 -0
  269. package/es/extensions/forms/Field/SelectCurrency/index.d.ts +2 -0
  270. package/es/extensions/forms/Field/SelectCurrency/index.js +3 -0
  271. package/es/extensions/forms/Field/SelectCurrency/index.js.map +1 -0
  272. package/es/extensions/forms/Field/index.d.ts +1 -0
  273. package/es/extensions/forms/Field/index.js +1 -0
  274. package/es/extensions/forms/Field/index.js.map +1 -1
  275. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -2
  276. package/es/extensions/forms/FieldBlock/FieldBlock.js +2 -2
  277. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  278. package/es/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -1
  279. package/es/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  280. package/es/extensions/forms/Form/Isolation/Isolation.js +3 -4
  281. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  282. package/es/extensions/forms/Form/Visibility/Visibility.d.ts +1 -10
  283. package/es/extensions/forms/Form/Visibility/Visibility.js +1 -0
  284. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  285. package/es/extensions/forms/Form/Visibility/VisibilityContext.d.ts +2 -1
  286. package/es/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
  287. package/es/extensions/forms/Form/Visibility/useVisibility.js +1 -1
  288. package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  289. package/es/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +3 -2
  290. package/es/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  291. package/es/extensions/forms/Iterate/EditContainer/CancelButton.js +5 -2
  292. package/es/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  293. package/es/extensions/forms/Iterate/EditContainer/DoneButton.js +1 -1
  294. package/es/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
  295. package/es/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -2
  296. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  297. package/es/extensions/forms/Iterate/PushContainer/OpenButton.js +1 -1
  298. package/es/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -1
  299. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +9 -2
  300. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  301. package/es/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -1
  302. package/es/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
  303. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +1 -1
  304. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  305. package/es/extensions/forms/Value/Currency/Currency.d.ts +7 -1
  306. package/es/extensions/forms/Value/Currency/Currency.js.map +1 -1
  307. package/es/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +2 -1
  308. package/es/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -1
  309. package/es/extensions/forms/Value/SelectCurrency/SelectCurrency.d.ts +9 -0
  310. package/es/extensions/forms/Value/SelectCurrency/SelectCurrency.js +29 -0
  311. package/es/extensions/forms/Value/SelectCurrency/SelectCurrency.js.map +1 -0
  312. package/es/extensions/forms/Value/SelectCurrency/index.d.ts +2 -0
  313. package/es/extensions/forms/Value/SelectCurrency/index.js +3 -0
  314. package/es/extensions/forms/Value/SelectCurrency/index.js.map +1 -0
  315. package/es/extensions/forms/Value/SelectCurrency/useCurrency.d.ts +4 -0
  316. package/es/extensions/forms/Value/SelectCurrency/useCurrency.js +26 -0
  317. package/es/extensions/forms/Value/SelectCurrency/useCurrency.js.map +1 -0
  318. package/es/extensions/forms/Value/index.d.ts +1 -0
  319. package/es/extensions/forms/Value/index.js +1 -0
  320. package/es/extensions/forms/Value/index.js.map +1 -1
  321. package/es/extensions/forms/Wizard/Buttons/Buttons.js +2 -2
  322. package/es/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
  323. package/es/extensions/forms/Wizard/Container/DisplaySteps.js +10 -5
  324. package/es/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
  325. package/es/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +4 -3
  326. package/es/extensions/forms/Wizard/Container/IterateOverSteps.js +37 -31
  327. package/es/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -1
  328. package/es/extensions/forms/Wizard/Container/WizardContainer.js +103 -58
  329. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  330. package/es/extensions/forms/Wizard/Container/useCollectStepsData.d.ts +10 -0
  331. package/es/extensions/forms/Wizard/Container/useCollectStepsData.js +59 -0
  332. package/es/extensions/forms/Wizard/Container/useCollectStepsData.js.map +1 -0
  333. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +18 -4
  334. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  335. package/es/extensions/forms/Wizard/Context/types.d.ts +9 -6
  336. package/es/extensions/forms/Wizard/Context/types.js.map +1 -1
  337. package/es/extensions/forms/Wizard/Step/Step.d.ts +1 -1
  338. package/es/extensions/forms/Wizard/Step/Step.js +64 -22
  339. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  340. package/es/extensions/forms/Wizard/Step/StepDocs.js +2 -2
  341. package/es/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  342. package/es/extensions/forms/Wizard/hooks/useStep.js +10 -18
  343. package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  344. package/es/extensions/forms/constants/allCurrencies.d.ts +1786 -0
  345. package/es/extensions/forms/constants/allCurrencies.js +1440 -0
  346. package/es/extensions/forms/constants/allCurrencies.js.map +1 -0
  347. package/es/extensions/forms/constants/countries.d.ts +4023 -4
  348. package/es/extensions/forms/constants/countries.js.map +1 -1
  349. package/es/extensions/forms/constants/currencies.d.ts +716 -0
  350. package/es/extensions/forms/constants/currencies.js +5 -0
  351. package/es/extensions/forms/constants/currencies.js.map +1 -0
  352. package/es/extensions/forms/constants/locales/en-GB.d.ts +5 -0
  353. package/es/extensions/forms/constants/locales/en-GB.js +5 -0
  354. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  355. package/es/extensions/forms/constants/locales/en-US.d.ts +5 -0
  356. package/es/extensions/forms/constants/locales/index.d.ts +10 -0
  357. package/es/extensions/forms/constants/locales/nb-NO.d.ts +5 -0
  358. package/es/extensions/forms/constants/locales/nb-NO.js +5 -0
  359. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  360. package/es/extensions/forms/constants/locales/sv-SE.d.ts +5 -0
  361. package/es/extensions/forms/constants/locales/sv-SE.js +5 -0
  362. package/es/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  363. package/es/extensions/forms/hooks/useFieldProps.js +32 -23
  364. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  365. package/es/extensions/forms/hooks/useValueProps.js +1 -1
  366. package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
  367. package/es/extensions/forms/types.d.ts +4 -4
  368. package/es/extensions/forms/types.js.map +1 -1
  369. package/es/shared/Eufemia.d.ts +1 -1
  370. package/es/shared/Eufemia.js +2 -2
  371. package/es/shared/Eufemia.js.map +1 -1
  372. package/es/shared/component-helper.js +1 -1
  373. package/es/shared/component-helper.js.map +1 -1
  374. package/es/style/core/scopes.scss +1 -1
  375. package/es/style/dnb-ui-basis.css +1 -1
  376. package/es/style/dnb-ui-basis.min.css +1 -1
  377. package/es/style/dnb-ui-body.css +1 -1
  378. package/es/style/dnb-ui-body.min.css +1 -1
  379. package/es/style/dnb-ui-components.css +5 -0
  380. package/es/style/dnb-ui-components.min.css +1 -1
  381. package/es/style/dnb-ui-core.css +1 -1
  382. package/es/style/dnb-ui-core.min.css +1 -1
  383. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +5 -0
  384. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  385. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +5 -0
  386. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  387. package/es/style/themes/theme-ui/ui-theme-components.css +5 -0
  388. package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  389. package/esm/dnb-ui-basis.min.mjs +1 -1
  390. package/esm/dnb-ui-components.min.mjs +1 -1
  391. package/esm/dnb-ui-elements.min.mjs +1 -1
  392. package/esm/dnb-ui-extensions.min.mjs +1 -1
  393. package/esm/dnb-ui-lib.min.mjs +1 -1
  394. package/extensions/forms/DataContext/Context.d.ts +2 -2
  395. package/extensions/forms/DataContext/Context.js.map +1 -1
  396. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +4 -4
  397. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  398. package/extensions/forms/DataContext/Provider/Provider.js +35 -41
  399. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  400. package/extensions/forms/Field/Currency/Currency.d.ts +9 -1
  401. package/extensions/forms/Field/Currency/Currency.js +8 -3
  402. package/extensions/forms/Field/Currency/Currency.js.map +1 -1
  403. package/extensions/forms/Field/Currency/CurrencyDocs.js +1 -1
  404. package/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -1
  405. package/extensions/forms/Field/Provider/useFieldProvider.d.ts +61 -3
  406. package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -4
  407. package/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -2
  408. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  409. package/extensions/forms/Field/SelectCurrency/SelectCurrency.d.ts +51 -0
  410. package/extensions/forms/Field/SelectCurrency/SelectCurrency.js +275 -0
  411. package/extensions/forms/Field/SelectCurrency/SelectCurrency.js.map +1 -0
  412. package/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.d.ts +3 -0
  413. package/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js +28 -0
  414. package/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js.map +1 -0
  415. package/extensions/forms/Field/SelectCurrency/index.d.ts +2 -0
  416. package/extensions/forms/Field/SelectCurrency/index.js +3 -0
  417. package/extensions/forms/Field/SelectCurrency/index.js.map +1 -0
  418. package/extensions/forms/Field/index.d.ts +1 -0
  419. package/extensions/forms/Field/index.js +1 -0
  420. package/extensions/forms/Field/index.js.map +1 -1
  421. package/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -2
  422. package/extensions/forms/FieldBlock/FieldBlock.js +2 -2
  423. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  424. package/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -1
  425. package/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  426. package/extensions/forms/Form/Isolation/Isolation.js +3 -4
  427. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  428. package/extensions/forms/Form/Visibility/Visibility.d.ts +1 -10
  429. package/extensions/forms/Form/Visibility/Visibility.js +1 -0
  430. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  431. package/extensions/forms/Form/Visibility/VisibilityContext.d.ts +2 -1
  432. package/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
  433. package/extensions/forms/Form/Visibility/useVisibility.js +1 -1
  434. package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  435. package/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +3 -2
  436. package/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  437. package/extensions/forms/Iterate/EditContainer/CancelButton.js +5 -2
  438. package/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  439. package/extensions/forms/Iterate/EditContainer/DoneButton.js +1 -1
  440. package/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
  441. package/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -2
  442. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  443. package/extensions/forms/Iterate/PushContainer/OpenButton.js +1 -1
  444. package/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -1
  445. package/extensions/forms/Iterate/PushContainer/PushContainer.js +9 -2
  446. package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  447. package/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -1
  448. package/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
  449. package/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +1 -1
  450. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  451. package/extensions/forms/Value/Currency/Currency.d.ts +7 -1
  452. package/extensions/forms/Value/Currency/Currency.js.map +1 -1
  453. package/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +2 -1
  454. package/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -1
  455. package/extensions/forms/Value/SelectCurrency/SelectCurrency.d.ts +9 -0
  456. package/extensions/forms/Value/SelectCurrency/SelectCurrency.js +29 -0
  457. package/extensions/forms/Value/SelectCurrency/SelectCurrency.js.map +1 -0
  458. package/extensions/forms/Value/SelectCurrency/index.d.ts +2 -0
  459. package/extensions/forms/Value/SelectCurrency/index.js +3 -0
  460. package/extensions/forms/Value/SelectCurrency/index.js.map +1 -0
  461. package/extensions/forms/Value/SelectCurrency/useCurrency.d.ts +4 -0
  462. package/extensions/forms/Value/SelectCurrency/useCurrency.js +26 -0
  463. package/extensions/forms/Value/SelectCurrency/useCurrency.js.map +1 -0
  464. package/extensions/forms/Value/index.d.ts +1 -0
  465. package/extensions/forms/Value/index.js +1 -0
  466. package/extensions/forms/Value/index.js.map +1 -1
  467. package/extensions/forms/Wizard/Buttons/Buttons.js +2 -2
  468. package/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
  469. package/extensions/forms/Wizard/Container/DisplaySteps.js +10 -5
  470. package/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
  471. package/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +4 -3
  472. package/extensions/forms/Wizard/Container/IterateOverSteps.js +38 -31
  473. package/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -1
  474. package/extensions/forms/Wizard/Container/WizardContainer.js +107 -58
  475. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  476. package/extensions/forms/Wizard/Container/useCollectStepsData.d.ts +10 -0
  477. package/extensions/forms/Wizard/Container/useCollectStepsData.js +60 -0
  478. package/extensions/forms/Wizard/Container/useCollectStepsData.js.map +1 -0
  479. package/extensions/forms/Wizard/Context/WizardContext.d.ts +18 -4
  480. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  481. package/extensions/forms/Wizard/Context/types.d.ts +9 -6
  482. package/extensions/forms/Wizard/Context/types.js.map +1 -1
  483. package/extensions/forms/Wizard/Step/Step.d.ts +1 -1
  484. package/extensions/forms/Wizard/Step/Step.js +66 -22
  485. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  486. package/extensions/forms/Wizard/Step/StepDocs.js +2 -2
  487. package/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  488. package/extensions/forms/Wizard/hooks/useStep.js +10 -18
  489. package/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  490. package/extensions/forms/constants/allCurrencies.d.ts +1786 -0
  491. package/extensions/forms/constants/allCurrencies.js +1441 -0
  492. package/extensions/forms/constants/allCurrencies.js.map +1 -0
  493. package/extensions/forms/constants/countries.d.ts +4023 -4
  494. package/extensions/forms/constants/countries.js.map +1 -1
  495. package/extensions/forms/constants/currencies.d.ts +716 -0
  496. package/extensions/forms/constants/currencies.js +6 -0
  497. package/extensions/forms/constants/currencies.js.map +1 -0
  498. package/extensions/forms/constants/locales/en-GB.d.ts +5 -0
  499. package/extensions/forms/constants/locales/en-GB.js +5 -0
  500. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  501. package/extensions/forms/constants/locales/en-US.d.ts +5 -0
  502. package/extensions/forms/constants/locales/index.d.ts +10 -0
  503. package/extensions/forms/constants/locales/nb-NO.d.ts +5 -0
  504. package/extensions/forms/constants/locales/nb-NO.js +5 -0
  505. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  506. package/extensions/forms/constants/locales/sv-SE.d.ts +5 -0
  507. package/extensions/forms/constants/locales/sv-SE.js +5 -0
  508. package/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  509. package/extensions/forms/hooks/useFieldProps.js +32 -23
  510. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  511. package/extensions/forms/hooks/useValueProps.js +1 -1
  512. package/extensions/forms/hooks/useValueProps.js.map +1 -1
  513. package/extensions/forms/types.d.ts +4 -4
  514. package/extensions/forms/types.js.map +1 -1
  515. package/package.json +1 -1
  516. package/shared/Eufemia.d.ts +1 -1
  517. package/shared/Eufemia.js +2 -2
  518. package/shared/Eufemia.js.map +1 -1
  519. package/shared/component-helper.js +1 -1
  520. package/shared/component-helper.js.map +1 -1
  521. package/style/core/scopes.scss +1 -1
  522. package/style/dnb-ui-basis.css +1 -1
  523. package/style/dnb-ui-basis.min.css +1 -1
  524. package/style/dnb-ui-body.css +1 -1
  525. package/style/dnb-ui-body.min.css +1 -1
  526. package/style/dnb-ui-components.css +5 -0
  527. package/style/dnb-ui-components.min.css +1 -1
  528. package/style/dnb-ui-core.css +1 -1
  529. package/style/dnb-ui-core.min.css +1 -1
  530. package/style/themes/theme-eiendom/eiendom-theme-components.css +5 -0
  531. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  532. package/style/themes/theme-sbanken/sbanken-theme-components.css +5 -0
  533. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  534. package/style/themes/theme-ui/ui-theme-components.css +5 -0
  535. package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  536. package/umd/dnb-ui-basis.min.js +1 -1
  537. package/umd/dnb-ui-components.min.js +1 -1
  538. package/umd/dnb-ui-elements.min.js +1 -1
  539. package/umd/dnb-ui-extensions.min.js +1 -1
  540. package/umd/dnb-ui-lib.min.js +1 -1
@@ -0,0 +1,26 @@
1
+ "use client";
2
+
3
+ import { useCallback, useContext } from 'react';
4
+ import SharedContext from '../../../../shared/Context';
5
+ import { getCurrencyData } from '../../Field/SelectCurrency';
6
+ export default function useCurrency() {
7
+ const {
8
+ locale
9
+ } = useContext(SharedContext);
10
+ const getCurrencyDisplayNameByIso = useCallback(iso => {
11
+ if (!iso) {
12
+ return null;
13
+ }
14
+ const lang = locale === null || locale === void 0 ? void 0 : locale.split('-')[0];
15
+ return getCurrencyData({
16
+ lang,
17
+ filter: currency => {
18
+ return currency.iso === iso;
19
+ }
20
+ }).at(0).selected_value;
21
+ }, [locale]);
22
+ return {
23
+ getCurrencyDisplayNameByIso
24
+ };
25
+ }
26
+ //# sourceMappingURL=useCurrency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCurrency.js","names":["useCallback","useContext","SharedContext","getCurrencyData","useCurrency","locale","getCurrencyDisplayNameByIso","iso","lang","split","filter","currency","at","selected_value"],"sources":["../../../../../../src/extensions/forms/Value/SelectCurrency/useCurrency.ts"],"sourcesContent":["import { useCallback, useContext } from 'react'\nimport SharedContext from '../../../../shared/Context'\nimport { getCurrencyData } from '../../Field/SelectCurrency'\nimport { CurrencyLang, CurrencyType } from '../../constants/currencies'\n\nexport default function useCurrency() {\n const { locale } = useContext(SharedContext)\n\n const getCurrencyDisplayNameByIso = useCallback(\n (iso: CurrencyType['iso']) => {\n if (!iso) {\n return null\n }\n\n const lang = locale?.split('-')[0] as CurrencyLang\n return getCurrencyData({\n lang,\n filter: (currency) => {\n return currency.iso === iso\n },\n }).at(0).selected_value\n },\n [locale]\n )\n\n return { getCurrencyDisplayNameByIso }\n}\n"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,UAAU,QAAQ,OAAO;AAC/C,OAAOC,aAAa,MAAM,4BAA4B;AACtD,SAASC,eAAe,QAAQ,4BAA4B;AAG5D,eAAe,SAASC,WAAWA,CAAA,EAAG;EACpC,MAAM;IAAEC;EAAO,CAAC,GAAGJ,UAAU,CAACC,aAAa,CAAC;EAE5C,MAAMI,2BAA2B,GAAGN,WAAW,CAC5CO,GAAwB,IAAK;IAC5B,IAAI,CAACA,GAAG,EAAE;MACR,OAAO,IAAI;IACb;IAEA,MAAMC,IAAI,GAAGH,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAiB;IAClD,OAAON,eAAe,CAAC;MACrBK,IAAI;MACJE,MAAM,EAAGC,QAAQ,IAAK;QACpB,OAAOA,QAAQ,CAACJ,GAAG,KAAKA,GAAG;MAC7B;IACF,CAAC,CAAC,CAACK,EAAE,CAAC,CAAC,CAAC,CAACC,cAAc;EACzB,CAAC,EACD,CAACR,MAAM,CACT,CAAC;EAED,OAAO;IAAEC;EAA4B,CAAC;AACxC","ignoreList":[]}
@@ -15,6 +15,7 @@ export { default as PhoneNumber } from './PhoneNumber';
15
15
  export { default as BankAccountNumber } from './BankAccountNumber';
16
16
  export { default as OrganizationNumber } from './OrganizationNumber';
17
17
  export { default as SelectCountry } from './SelectCountry';
18
+ export { default as SelectCurrency } from './SelectCurrency';
18
19
  export { default as ArraySelection } from './ArraySelection';
19
20
  export { default as Selection } from './Selection';
20
21
  export { default as Upload } from './Upload';
@@ -15,6 +15,7 @@ export { default as PhoneNumber } from './PhoneNumber';
15
15
  export { default as BankAccountNumber } from './BankAccountNumber';
16
16
  export { default as OrganizationNumber } from './OrganizationNumber';
17
17
  export { default as SelectCountry } from './SelectCountry';
18
+ export { default as SelectCurrency } from './SelectCurrency';
18
19
  export { default as ArraySelection } from './ArraySelection';
19
20
  export { default as Selection } from './Selection';
20
21
  export { default as Upload } from './Upload';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","Provider","SummaryList","Composition","String","Number","Address","Boolean","Currency","Date","Email","Name","NationalIdentityNumber","PostalCodeAndCity","PhoneNumber","BankAccountNumber","OrganizationNumber","SelectCountry","ArraySelection","Selection","Upload"],"sources":["../../../../../src/extensions/forms/Value/index.ts"],"sourcesContent":["export { default as Provider } from './Provider'\nexport { default as SummaryList } from './SummaryList'\nexport { default as Composition } from './Composition'\nexport { default as String } from './String'\nexport { default as Number } from './Number'\nexport { default as Address } from './Address'\nexport { default as Boolean } from './Boolean'\nexport { default as Currency } from './Currency'\nexport { default as Date } from './Date'\nexport { default as Email } from './Email'\nexport { default as Name } from './Name'\nexport { default as NationalIdentityNumber } from './NationalIdentityNumber'\nexport { default as PostalCodeAndCity } from './PostalCodeAndCity'\nexport { default as PhoneNumber } from './PhoneNumber'\nexport { default as BankAccountNumber } from './BankAccountNumber'\nexport { default as OrganizationNumber } from './OrganizationNumber'\nexport { default as SelectCountry } from './SelectCountry'\nexport { default as ArraySelection } from './ArraySelection'\nexport { default as Selection } from './Selection'\nexport { default as Upload } from './Upload'\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,QAAQ,QAAQ,YAAY;AAChD,SAASD,OAAO,IAAIE,WAAW,QAAQ,eAAe;AACtD,SAASF,OAAO,IAAIG,WAAW,QAAQ,eAAe;AACtD,SAASH,OAAO,IAAII,MAAM,QAAQ,UAAU;AAC5C,SAASJ,OAAO,IAAIK,MAAM,QAAQ,UAAU;AAC5C,SAASL,OAAO,IAAIM,OAAO,QAAQ,WAAW;AAC9C,SAASN,OAAO,IAAIO,OAAO,QAAQ,WAAW;AAC9C,SAASP,OAAO,IAAIQ,QAAQ,QAAQ,YAAY;AAChD,SAASR,OAAO,IAAIS,IAAI,QAAQ,QAAQ;AACxC,SAAST,OAAO,IAAIU,KAAK,QAAQ,SAAS;AAC1C,SAASV,OAAO,IAAIW,IAAI,QAAQ,QAAQ;AACxC,SAASX,OAAO,IAAIY,sBAAsB,QAAQ,0BAA0B;AAC5E,SAASZ,OAAO,IAAIa,iBAAiB,QAAQ,qBAAqB;AAClE,SAASb,OAAO,IAAIc,WAAW,QAAQ,eAAe;AACtD,SAASd,OAAO,IAAIe,iBAAiB,QAAQ,qBAAqB;AAClE,SAASf,OAAO,IAAIgB,kBAAkB,QAAQ,sBAAsB;AACpE,SAAShB,OAAO,IAAIiB,aAAa,QAAQ,iBAAiB;AAC1D,SAASjB,OAAO,IAAIkB,cAAc,QAAQ,kBAAkB;AAC5D,SAASlB,OAAO,IAAImB,SAAS,QAAQ,aAAa;AAClD,SAASnB,OAAO,IAAIoB,MAAM,QAAQ,UAAU","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["default","Provider","SummaryList","Composition","String","Number","Address","Boolean","Currency","Date","Email","Name","NationalIdentityNumber","PostalCodeAndCity","PhoneNumber","BankAccountNumber","OrganizationNumber","SelectCountry","SelectCurrency","ArraySelection","Selection","Upload"],"sources":["../../../../../src/extensions/forms/Value/index.ts"],"sourcesContent":["export { default as Provider } from './Provider'\nexport { default as SummaryList } from './SummaryList'\nexport { default as Composition } from './Composition'\nexport { default as String } from './String'\nexport { default as Number } from './Number'\nexport { default as Address } from './Address'\nexport { default as Boolean } from './Boolean'\nexport { default as Currency } from './Currency'\nexport { default as Date } from './Date'\nexport { default as Email } from './Email'\nexport { default as Name } from './Name'\nexport { default as NationalIdentityNumber } from './NationalIdentityNumber'\nexport { default as PostalCodeAndCity } from './PostalCodeAndCity'\nexport { default as PhoneNumber } from './PhoneNumber'\nexport { default as BankAccountNumber } from './BankAccountNumber'\nexport { default as OrganizationNumber } from './OrganizationNumber'\nexport { default as SelectCountry } from './SelectCountry'\nexport { default as SelectCurrency } from './SelectCurrency'\nexport { default as ArraySelection } from './ArraySelection'\nexport { default as Selection } from './Selection'\nexport { default as Upload } from './Upload'\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,QAAQ,QAAQ,YAAY;AAChD,SAASD,OAAO,IAAIE,WAAW,QAAQ,eAAe;AACtD,SAASF,OAAO,IAAIG,WAAW,QAAQ,eAAe;AACtD,SAASH,OAAO,IAAII,MAAM,QAAQ,UAAU;AAC5C,SAASJ,OAAO,IAAIK,MAAM,QAAQ,UAAU;AAC5C,SAASL,OAAO,IAAIM,OAAO,QAAQ,WAAW;AAC9C,SAASN,OAAO,IAAIO,OAAO,QAAQ,WAAW;AAC9C,SAASP,OAAO,IAAIQ,QAAQ,QAAQ,YAAY;AAChD,SAASR,OAAO,IAAIS,IAAI,QAAQ,QAAQ;AACxC,SAAST,OAAO,IAAIU,KAAK,QAAQ,SAAS;AAC1C,SAASV,OAAO,IAAIW,IAAI,QAAQ,QAAQ;AACxC,SAASX,OAAO,IAAIY,sBAAsB,QAAQ,0BAA0B;AAC5E,SAASZ,OAAO,IAAIa,iBAAiB,QAAQ,qBAAqB;AAClE,SAASb,OAAO,IAAIc,WAAW,QAAQ,eAAe;AACtD,SAASd,OAAO,IAAIe,iBAAiB,QAAQ,qBAAqB;AAClE,SAASf,OAAO,IAAIgB,kBAAkB,QAAQ,sBAAsB;AACpE,SAAShB,OAAO,IAAIiB,aAAa,QAAQ,iBAAiB;AAC1D,SAASjB,OAAO,IAAIkB,cAAc,QAAQ,kBAAkB;AAC5D,SAASlB,OAAO,IAAImB,cAAc,QAAQ,kBAAkB;AAC5D,SAASnB,OAAO,IAAIoB,SAAS,QAAQ,aAAa;AAClD,SAASpB,OAAO,IAAIqB,MAAM,QAAQ,UAAU","ignoreList":[]}
@@ -14,9 +14,9 @@ function Buttons(props) {
14
14
  } = props;
15
15
  const {
16
16
  activeIndex,
17
- stepsRef
17
+ totalStepsRef
18
18
  } = useContext(WizardContext) || {};
19
- const totalSteps = Object.keys((stepsRef === null || stepsRef === void 0 ? void 0 : stepsRef.current) || {}).length || 0;
19
+ const totalSteps = (totalStepsRef === null || totalStepsRef === void 0 ? void 0 : totalStepsRef.current) || 0;
20
20
  const showPreviousButton = activeIndex > 0;
21
21
  const showNextButton = activeIndex < totalSteps - 1;
22
22
  if (!showPreviousButton && !showNextButton) {
@@ -1 +1 @@
1
- {"version":3,"file":"Buttons.js","names":["React","useContext","classnames","ButtonRow","NextButton","PreviousButton","WizardContext","Buttons","props","className","activeIndex","stepsRef","totalSteps","Object","keys","current","length","showPreviousButton","showNextButton","createElement","_extends","_PreviousButton","_NextButton","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Buttons/Buttons.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport classnames from 'classnames'\nimport { ComponentProps } from '../../types'\nimport ButtonRow from '../../Form/ButtonRow'\nimport NextButton from '../NextButton'\nimport PreviousButton from '../PreviousButton'\nimport WizardContext from '../Context'\n\nexport type Props = ComponentProps & {\n children?: string\n}\n\nfunction Buttons(props: Props) {\n const { className } = props\n const { activeIndex, stepsRef } = useContext(WizardContext) || {}\n\n const totalSteps = Object.keys(stepsRef?.current || {}).length || 0\n const showPreviousButton = activeIndex > 0\n const showNextButton = activeIndex < totalSteps - 1\n\n if (!showPreviousButton && !showNextButton) {\n return null\n }\n\n return (\n <ButtonRow\n className={classnames('dnb-forms-buttons', className)}\n {...props}\n >\n {showPreviousButton && <PreviousButton />}\n {showNextButton && <NextButton />}\n </ButtonRow>\n )\n}\n\nButtons._supportsSpacingProps = true\nexport default Buttons\n"],"mappings":";;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,UAAU,MAAM,YAAY;AAEnC,OAAOC,SAAS,MAAM,sBAAsB;AAC5C,OAAOC,UAAU,MAAM,eAAe;AACtC,OAAOC,cAAc,MAAM,mBAAmB;AAC9C,OAAOC,aAAa,MAAM,YAAY;AAMtC,SAASC,OAAOA,CAACC,KAAY,EAAE;EAC7B,MAAM;IAAEC;EAAU,CAAC,GAAGD,KAAK;EAC3B,MAAM;IAAEE,WAAW;IAAEC;EAAS,CAAC,GAAGV,UAAU,CAACK,aAAa,CAAC,IAAI,CAAC,CAAC;EAEjE,MAAMM,UAAU,GAAGC,MAAM,CAACC,IAAI,CAAC,CAAAH,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEI,OAAO,KAAI,CAAC,CAAC,CAAC,CAACC,MAAM,IAAI,CAAC;EACnE,MAAMC,kBAAkB,GAAGP,WAAW,GAAG,CAAC;EAC1C,MAAMQ,cAAc,GAAGR,WAAW,GAAGE,UAAU,GAAG,CAAC;EAEnD,IAAI,CAACK,kBAAkB,IAAI,CAACC,cAAc,EAAE;IAC1C,OAAO,IAAI;EACb;EAEA,OACElB,KAAA,CAAAmB,aAAA,CAAChB,SAAS,EAAAiB,QAAA;IACRX,SAAS,EAAEP,UAAU,CAAC,mBAAmB,EAAEO,SAAS;EAAE,GAClDD,KAAK,GAERS,kBAAkB,KAAAI,eAAA,KAAAA,eAAA,GAAIrB,KAAA,CAAAmB,aAAA,CAACd,cAAc,MAAE,CAAC,IACxCa,cAAc,KAAAI,WAAA,KAAAA,WAAA,GAAItB,KAAA,CAAAmB,aAAA,CAACf,UAAU,MAAE,CAAC,EACxB,CAAC;AAEhB;AAEAG,OAAO,CAACgB,qBAAqB,GAAG,IAAI;AACpC,eAAehB,OAAO","ignoreList":[]}
1
+ {"version":3,"file":"Buttons.js","names":["React","useContext","classnames","ButtonRow","NextButton","PreviousButton","WizardContext","Buttons","props","className","activeIndex","totalStepsRef","totalSteps","current","showPreviousButton","showNextButton","createElement","_extends","_PreviousButton","_NextButton","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Buttons/Buttons.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport classnames from 'classnames'\nimport { ComponentProps } from '../../types'\nimport ButtonRow from '../../Form/ButtonRow'\nimport NextButton from '../NextButton'\nimport PreviousButton from '../PreviousButton'\nimport WizardContext from '../Context'\n\nexport type Props = ComponentProps & {\n children?: string\n}\n\nfunction Buttons(props: Props) {\n const { className } = props\n const { activeIndex, totalStepsRef } = useContext(WizardContext) || {}\n\n const totalSteps = totalStepsRef?.current || 0\n const showPreviousButton = activeIndex > 0\n const showNextButton = activeIndex < totalSteps - 1\n\n if (!showPreviousButton && !showNextButton) {\n return null\n }\n\n return (\n <ButtonRow\n className={classnames('dnb-forms-buttons', className)}\n {...props}\n >\n {showPreviousButton && <PreviousButton />}\n {showNextButton && <NextButton />}\n </ButtonRow>\n )\n}\n\nButtons._supportsSpacingProps = true\nexport default Buttons\n"],"mappings":";;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,UAAU,MAAM,YAAY;AAEnC,OAAOC,SAAS,MAAM,sBAAsB;AAC5C,OAAOC,UAAU,MAAM,eAAe;AACtC,OAAOC,cAAc,MAAM,mBAAmB;AAC9C,OAAOC,aAAa,MAAM,YAAY;AAMtC,SAASC,OAAOA,CAACC,KAAY,EAAE;EAC7B,MAAM;IAAEC;EAAU,CAAC,GAAGD,KAAK;EAC3B,MAAM;IAAEE,WAAW;IAAEC;EAAc,CAAC,GAAGV,UAAU,CAACK,aAAa,CAAC,IAAI,CAAC,CAAC;EAEtE,MAAMM,UAAU,GAAG,CAAAD,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEE,OAAO,KAAI,CAAC;EAC9C,MAAMC,kBAAkB,GAAGJ,WAAW,GAAG,CAAC;EAC1C,MAAMK,cAAc,GAAGL,WAAW,GAAGE,UAAU,GAAG,CAAC;EAEnD,IAAI,CAACE,kBAAkB,IAAI,CAACC,cAAc,EAAE;IAC1C,OAAO,IAAI;EACb;EAEA,OACEf,KAAA,CAAAgB,aAAA,CAACb,SAAS,EAAAc,QAAA;IACRR,SAAS,EAAEP,UAAU,CAAC,mBAAmB,EAAEO,SAAS;EAAE,GAClDD,KAAK,GAERM,kBAAkB,KAAAI,eAAA,KAAAA,eAAA,GAAIlB,KAAA,CAAAgB,aAAA,CAACX,cAAc,MAAE,CAAC,IACxCU,cAAc,KAAAI,WAAA,KAAAA,WAAA,GAAInB,KAAA,CAAAgB,aAAA,CAACZ,UAAU,MAAE,CAAC,EACxB,CAAC;AAEhB;AAEAG,OAAO,CAACa,qBAAqB,GAAG,IAAI;AACpC,eAAeb,OAAO","ignoreList":[]}
@@ -17,6 +17,7 @@ export function DisplaySteps({
17
17
  activeIndexRef,
18
18
  stepsRef,
19
19
  updateTitlesRef,
20
+ hasErrorInOtherStepRef,
20
21
  hasInvalidStepsState
21
22
  } = useContext(WizardContext) || {};
22
23
  updateTitlesRef.current = () => {
@@ -25,19 +26,22 @@ export function DisplaySteps({
25
26
  const translations = useTranslation();
26
27
  const sidebar_id = variant === 'drawer' && !sidebarId ? undefined : sidebarId !== null && sidebarId !== void 0 ? sidebarId : id;
27
28
  const getTriggerStatus = useCallback(() => {
28
- if (hasInvalidStepsState(['error'])) {
29
+ if (!hasErrorInOtherStepRef.current) {
30
+ return;
31
+ }
32
+ if (hasInvalidStepsState(undefined, ['error'])) {
29
33
  return {
30
34
  status: translations.Step.stepHasError,
31
35
  status_state: 'error'
32
36
  };
33
37
  }
34
- if (hasInvalidStepsState(['unknown'])) {
38
+ if (hasInvalidStepsState(undefined, ['unknown'])) {
35
39
  return {
36
40
  status: 'Unknown state',
37
41
  status_state: 'warn'
38
42
  };
39
43
  }
40
- }, [hasInvalidStepsState, translations.Step.stepHasError]);
44
+ }, [hasErrorInOtherStepRef, hasInvalidStepsState, translations.Step.stepHasError]);
41
45
  return React.createElement("aside", {
42
46
  className: "dnb-forms-wizard-layout__indicator"
43
47
  }, React.createElement(StepIndicator.Sidebar, {
@@ -45,13 +49,14 @@ export function DisplaySteps({
45
49
  }), React.createElement(StepIndicator, {
46
50
  bottom: true,
47
51
  current_step: activeIndexRef.current,
48
- data: Object.values(stepsRef.current).map(({
52
+ data: Array.from(stepsRef.current.values()).map(({
53
+ stringifiedTitle,
49
54
  title,
50
55
  inactive,
51
56
  status,
52
57
  statusState
53
58
  }) => ({
54
- title,
59
+ title: stringifiedTitle || title,
55
60
  inactive,
56
61
  status,
57
62
  status_state: statusState
@@ -1 +1 @@
1
- {"version":3,"file":"DisplaySteps.js","names":["React","useCallback","useContext","useReducer","WizardContext","StepIndicator","useTranslation","DisplaySteps","mode","variant","noAnimation","handleChange","sidebarId","forceUpdate","id","activeIndexRef","stepsRef","updateTitlesRef","hasInvalidStepsState","current","translations","sidebar_id","undefined","getTriggerStatus","status","Step","stepHasError","status_state","createElement","className","Sidebar","bottom","current_step","data","Object","values","map","title","inactive","statusState","no_animation","on_change","triggerButtonProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Container/DisplaySteps.tsx"],"sourcesContent":["import React, { useCallback, useContext, useReducer } from 'react'\nimport WizardContext from '../Context'\nimport StepIndicator from '../../../../components/StepIndicator'\nimport { StepIndicatorItemProps } from '../../../../components/step-indicator/StepIndicatorItem'\nimport { useTranslation } from '../../hooks'\n\nexport function DisplaySteps({\n mode,\n variant,\n noAnimation,\n handleChange,\n sidebarId,\n}) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n const {\n id,\n activeIndexRef,\n stepsRef,\n updateTitlesRef,\n hasInvalidStepsState,\n } = useContext(WizardContext) || {}\n updateTitlesRef.current = () => {\n forceUpdate()\n }\n const translations = useTranslation()\n\n const sidebar_id =\n variant === 'drawer' && !sidebarId ? undefined : sidebarId ?? id\n\n const getTriggerStatus = useCallback(() => {\n if (hasInvalidStepsState(['error'])) {\n return {\n status: translations.Step.stepHasError,\n status_state: 'error',\n } satisfies Omit<StepIndicatorItemProps, 'title' | 'currentItemNum'>\n }\n if (hasInvalidStepsState(['unknown'])) {\n return {\n status: 'Unknown state',\n status_state: 'warn',\n } satisfies Omit<StepIndicatorItemProps, 'title' | 'currentItemNum'>\n }\n }, [hasInvalidStepsState, translations.Step.stepHasError])\n\n return (\n <aside className=\"dnb-forms-wizard-layout__indicator\">\n <StepIndicator.Sidebar sidebar_id={sidebar_id} />\n <StepIndicator\n bottom\n current_step={activeIndexRef.current}\n data={Object.values(stepsRef.current).map(\n ({ title, inactive, status, statusState }) =>\n ({\n title,\n inactive,\n status,\n status_state: statusState,\n }) satisfies Omit<StepIndicatorItemProps, 'currentItemNum'>\n )}\n mode={mode}\n no_animation={noAnimation}\n on_change={handleChange}\n sidebar_id={sidebar_id}\n triggerButtonProps={getTriggerStatus()}\n />\n </aside>\n )\n}\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,EAAEC,UAAU,QAAQ,OAAO;AAClE,OAAOC,aAAa,MAAM,YAAY;AACtC,OAAOC,aAAa,MAAM,sCAAsC;AAEhE,SAASC,cAAc,QAAQ,aAAa;AAE5C,OAAO,SAASC,YAAYA,CAAC;EAC3BC,IAAI;EACJC,OAAO;EACPC,WAAW;EACXC,YAAY;EACZC;AACF,CAAC,EAAE;EACD,MAAM,GAAGC,WAAW,CAAC,GAAGV,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAClD,MAAM;IACJW,EAAE;IACFC,cAAc;IACdC,QAAQ;IACRC,eAAe;IACfC;EACF,CAAC,GAAGhB,UAAU,CAACE,aAAa,CAAC,IAAI,CAAC,CAAC;EACnCa,eAAe,CAACE,OAAO,GAAG,MAAM;IAC9BN,WAAW,CAAC,CAAC;EACf,CAAC;EACD,MAAMO,YAAY,GAAGd,cAAc,CAAC,CAAC;EAErC,MAAMe,UAAU,GACdZ,OAAO,KAAK,QAAQ,IAAI,CAACG,SAAS,GAAGU,SAAS,GAAGV,SAAS,aAATA,SAAS,cAATA,SAAS,GAAIE,EAAE;EAElE,MAAMS,gBAAgB,GAAGtB,WAAW,CAAC,MAAM;IACzC,IAAIiB,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE;MACnC,OAAO;QACLM,MAAM,EAAEJ,YAAY,CAACK,IAAI,CAACC,YAAY;QACtCC,YAAY,EAAE;MAChB,CAAC;IACH;IACA,IAAIT,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE;MACrC,OAAO;QACLM,MAAM,EAAE,eAAe;QACvBG,YAAY,EAAE;MAChB,CAAC;IACH;EACF,CAAC,EAAE,CAACT,oBAAoB,EAAEE,YAAY,CAACK,IAAI,CAACC,YAAY,CAAC,CAAC;EAE1D,OACE1B,KAAA,CAAA4B,aAAA;IAAOC,SAAS,EAAC;EAAoC,GACnD7B,KAAA,CAAA4B,aAAA,CAACvB,aAAa,CAACyB,OAAO;IAACT,UAAU,EAAEA;EAAW,CAAE,CAAC,EACjDrB,KAAA,CAAA4B,aAAA,CAACvB,aAAa;IACZ0B,MAAM;IACNC,YAAY,EAAEjB,cAAc,CAACI,OAAQ;IACrCc,IAAI,EAAEC,MAAM,CAACC,MAAM,CAACnB,QAAQ,CAACG,OAAO,CAAC,CAACiB,GAAG,CACvC,CAAC;MAAEC,KAAK;MAAEC,QAAQ;MAAEd,MAAM;MAAEe;IAAY,CAAC,MACtC;MACCF,KAAK;MACLC,QAAQ;MACRd,MAAM;MACNG,YAAY,EAAEY;IAChB,CAAC,CACL,CAAE;IACF/B,IAAI,EAAEA,IAAK;IACXgC,YAAY,EAAE9B,WAAY;IAC1B+B,SAAS,EAAE9B,YAAa;IACxBU,UAAU,EAAEA,UAAW;IACvBqB,kBAAkB,EAAEnB,gBAAgB,CAAC;EAAE,CACxC,CACI,CAAC;AAEZ","ignoreList":[]}
1
+ {"version":3,"file":"DisplaySteps.js","names":["React","useCallback","useContext","useReducer","WizardContext","StepIndicator","useTranslation","DisplaySteps","mode","variant","noAnimation","handleChange","sidebarId","forceUpdate","id","activeIndexRef","stepsRef","updateTitlesRef","hasErrorInOtherStepRef","hasInvalidStepsState","current","translations","sidebar_id","undefined","getTriggerStatus","status","Step","stepHasError","status_state","createElement","className","Sidebar","bottom","current_step","data","Array","from","values","map","stringifiedTitle","title","inactive","statusState","no_animation","on_change","triggerButtonProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Container/DisplaySteps.tsx"],"sourcesContent":["import React, { useCallback, useContext, useReducer } from 'react'\nimport WizardContext from '../Context'\nimport StepIndicator from '../../../../components/StepIndicator'\nimport { StepIndicatorItemProps } from '../../../../components/step-indicator/StepIndicatorItem'\nimport { useTranslation } from '../../hooks'\n\nexport function DisplaySteps({\n mode,\n variant,\n noAnimation,\n handleChange,\n sidebarId,\n}) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n const {\n id,\n activeIndexRef,\n stepsRef,\n updateTitlesRef,\n hasErrorInOtherStepRef,\n hasInvalidStepsState,\n } = useContext(WizardContext) || {}\n updateTitlesRef.current = () => {\n forceUpdate()\n }\n const translations = useTranslation()\n\n const sidebar_id =\n variant === 'drawer' && !sidebarId ? undefined : sidebarId ?? id\n\n const getTriggerStatus = useCallback(() => {\n if (!hasErrorInOtherStepRef.current) {\n return // stop here\n }\n if (hasInvalidStepsState(undefined, ['error'])) {\n return {\n status: translations.Step.stepHasError,\n status_state: 'error',\n } satisfies Omit<StepIndicatorItemProps, 'title' | 'currentItemNum'>\n }\n if (hasInvalidStepsState(undefined, ['unknown'])) {\n return {\n status: 'Unknown state',\n status_state: 'warn',\n } satisfies Omit<StepIndicatorItemProps, 'title' | 'currentItemNum'>\n }\n }, [\n hasErrorInOtherStepRef,\n hasInvalidStepsState,\n translations.Step.stepHasError,\n ])\n\n return (\n <aside className=\"dnb-forms-wizard-layout__indicator\">\n <StepIndicator.Sidebar sidebar_id={sidebar_id} />\n <StepIndicator\n bottom\n current_step={activeIndexRef.current}\n data={Array.from(stepsRef.current.values()).map(\n ({ stringifiedTitle, title, inactive, status, statusState }) =>\n ({\n title: stringifiedTitle || title,\n inactive,\n status,\n status_state: statusState,\n }) satisfies Omit<StepIndicatorItemProps, 'currentItemNum'>\n )}\n mode={mode}\n no_animation={noAnimation}\n on_change={handleChange}\n sidebar_id={sidebar_id}\n triggerButtonProps={getTriggerStatus()}\n />\n </aside>\n )\n}\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,EAAEC,UAAU,QAAQ,OAAO;AAClE,OAAOC,aAAa,MAAM,YAAY;AACtC,OAAOC,aAAa,MAAM,sCAAsC;AAEhE,SAASC,cAAc,QAAQ,aAAa;AAE5C,OAAO,SAASC,YAAYA,CAAC;EAC3BC,IAAI;EACJC,OAAO;EACPC,WAAW;EACXC,YAAY;EACZC;AACF,CAAC,EAAE;EACD,MAAM,GAAGC,WAAW,CAAC,GAAGV,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAClD,MAAM;IACJW,EAAE;IACFC,cAAc;IACdC,QAAQ;IACRC,eAAe;IACfC,sBAAsB;IACtBC;EACF,CAAC,GAAGjB,UAAU,CAACE,aAAa,CAAC,IAAI,CAAC,CAAC;EACnCa,eAAe,CAACG,OAAO,GAAG,MAAM;IAC9BP,WAAW,CAAC,CAAC;EACf,CAAC;EACD,MAAMQ,YAAY,GAAGf,cAAc,CAAC,CAAC;EAErC,MAAMgB,UAAU,GACdb,OAAO,KAAK,QAAQ,IAAI,CAACG,SAAS,GAAGW,SAAS,GAAGX,SAAS,aAATA,SAAS,cAATA,SAAS,GAAIE,EAAE;EAElE,MAAMU,gBAAgB,GAAGvB,WAAW,CAAC,MAAM;IACzC,IAAI,CAACiB,sBAAsB,CAACE,OAAO,EAAE;MACnC;IACF;IACA,IAAID,oBAAoB,CAACI,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE;MAC9C,OAAO;QACLE,MAAM,EAAEJ,YAAY,CAACK,IAAI,CAACC,YAAY;QACtCC,YAAY,EAAE;MAChB,CAAC;IACH;IACA,IAAIT,oBAAoB,CAACI,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE;MAChD,OAAO;QACLE,MAAM,EAAE,eAAe;QACvBG,YAAY,EAAE;MAChB,CAAC;IACH;EACF,CAAC,EAAE,CACDV,sBAAsB,EACtBC,oBAAoB,EACpBE,YAAY,CAACK,IAAI,CAACC,YAAY,CAC/B,CAAC;EAEF,OACE3B,KAAA,CAAA6B,aAAA;IAAOC,SAAS,EAAC;EAAoC,GACnD9B,KAAA,CAAA6B,aAAA,CAACxB,aAAa,CAAC0B,OAAO;IAACT,UAAU,EAAEA;EAAW,CAAE,CAAC,EACjDtB,KAAA,CAAA6B,aAAA,CAACxB,aAAa;IACZ2B,MAAM;IACNC,YAAY,EAAElB,cAAc,CAACK,OAAQ;IACrCc,IAAI,EAAEC,KAAK,CAACC,IAAI,CAACpB,QAAQ,CAACI,OAAO,CAACiB,MAAM,CAAC,CAAC,CAAC,CAACC,GAAG,CAC7C,CAAC;MAAEC,gBAAgB;MAAEC,KAAK;MAAEC,QAAQ;MAAEhB,MAAM;MAAEiB;IAAY,CAAC,MACxD;MACCF,KAAK,EAAED,gBAAgB,IAAIC,KAAK;MAChCC,QAAQ;MACRhB,MAAM;MACNG,YAAY,EAAEc;IAChB,CAAC,CACL,CAAE;IACFlC,IAAI,EAAEA,IAAK;IACXmC,YAAY,EAAEjC,WAAY;IAC1BkC,SAAS,EAAEjC,YAAa;IACxBW,UAAU,EAAEA,UAAW;IACvBuB,kBAAkB,EAAErB,gBAAgB,CAAC;EAAE,CACxC,CACI,CAAC;AAEZ","ignoreList":[]}
@@ -1,3 +1,4 @@
1
- export declare function IterateOverSteps({ children }: {
2
- children: any;
3
- }): any;
1
+ import React from 'react';
2
+ export declare function IterateOverSteps({ children, }: {
3
+ children: React.ReactNode;
4
+ }): React.ReactNode;
@@ -1,10 +1,10 @@
1
1
  "use client";
2
2
 
3
3
  import React, { useContext } from 'react';
4
- import { useTranslation } from '../../hooks';
5
- import { convertJsxToString } from '../../../../shared/component-helper';
6
4
  import WizardContext from '../Context/WizardContext';
5
+ import WizardStepContext from '../Step/StepContext';
7
6
  import Step, { handleDeprecatedProps as handleDeprecatedStepProps } from '../Step/Step';
7
+ import { useCollectStepsData } from './useCollectStepsData';
8
8
  export function IterateOverSteps({
9
9
  children
10
10
  }) {
@@ -13,13 +13,19 @@ export function IterateOverSteps({
13
13
  stepsRef,
14
14
  activeIndexRef,
15
15
  totalStepsRef,
16
- stepStatusRef,
16
+ stepIndexRef,
17
17
  prerenderFieldProps,
18
- prerenderFieldPropsRef
18
+ prerenderFieldPropsRef,
19
+ hasErrorInOtherStepRef,
20
+ mapOverChildrenRef
19
21
  } = useContext(WizardContext);
20
- stepsRef.current = {};
21
- let incrementIndex = -1;
22
- const translations = useTranslation();
22
+ const {
23
+ collectStepsData
24
+ } = useCollectStepsData();
25
+ stepsRef.current = new Map();
26
+ hasErrorInOtherStepRef.current = false;
27
+ stepIndexRef.current = -1;
28
+ totalStepsRef.current = 0;
23
29
  const childrenArray = React.Children.map(children, child => {
24
30
  if (React.isValidElement(child)) {
25
31
  var _child, _child2;
@@ -33,7 +39,7 @@ export function IterateOverSteps({
33
39
  }
34
40
  if (((_child2 = child) === null || _child2 === void 0 ? void 0 : _child2.type) === Step) {
35
41
  const {
36
- title: titleProp,
42
+ title,
37
43
  inactive,
38
44
  include,
39
45
  includeWhen,
@@ -47,42 +53,42 @@ export function IterateOverSteps({
47
53
  })) {
48
54
  return null;
49
55
  }
50
- incrementIndex++;
51
- const index = incrementIndex;
52
- const title = titleProp !== undefined ? convertJsxToString(titleProp) : 'Title missing';
53
- const state = stepStatusRef.current[index];
54
- const status = index !== activeIndexRef.current ? state === 'error' ? translations.Step.stepHasError : state === 'unknown' ? 'Unknown state' : undefined : undefined;
55
- const statusState = state === 'error' ? 'error' : undefined;
56
- const key = `${index}-${activeIndexRef.current}`;
57
- stepsRef.current[index] = {
56
+ const index = totalStepsRef.current;
57
+ totalStepsRef.current = totalStepsRef.current + 1;
58
+ collectStepsData({
58
59
  id,
59
- title,
60
+ index,
60
61
  inactive,
61
- status,
62
- statusState
63
- };
64
- const clone = props => React.cloneElement(child, props);
62
+ title
63
+ });
65
64
  if (prerenderFieldProps && typeof document !== 'undefined' && index !== activeIndexRef.current && typeof prerenderFieldPropsRef.current['step-' + index] === 'undefined') {
66
- prerenderFieldPropsRef.current['step-' + index] = () => clone({
65
+ const key = `${index}-${activeIndexRef.current}`;
66
+ prerenderFieldPropsRef.current['step-' + index] = () => React.cloneElement(child, {
67
67
  key,
68
68
  index,
69
69
  prerenderFieldProps: true
70
70
  });
71
71
  }
72
- return clone({
73
- key,
74
- index
75
- });
72
+ return child;
76
73
  }
77
74
  }
78
75
  return child;
79
76
  });
80
- if ((childrenArray === null || childrenArray === void 0 ? void 0 : childrenArray.length) === 0) {
77
+ if (totalStepsRef.current === 0) {
81
78
  activeIndexRef.current = 0;
82
- } else if ((childrenArray === null || childrenArray === void 0 ? void 0 : childrenArray.length) < activeIndexRef.current + 1) {
83
- activeIndexRef.current = childrenArray.length - 1;
79
+ } else if (totalStepsRef.current < activeIndexRef.current + 1) {
80
+ activeIndexRef.current = totalStepsRef.current - 1;
81
+ }
82
+ if (mapOverChildrenRef.current) {
83
+ return childrenArray.map((child, index) => {
84
+ return React.createElement(WizardStepContext.Provider, {
85
+ key: index,
86
+ value: {
87
+ index
88
+ }
89
+ }, child);
90
+ });
84
91
  }
85
- totalStepsRef.current = childrenArray === null || childrenArray === void 0 ? void 0 : childrenArray.length;
86
- return childrenArray;
92
+ return children;
87
93
  }
88
94
  //# sourceMappingURL=IterateOverSteps.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IterateOverSteps.js","names":["React","useContext","useTranslation","convertJsxToString","WizardContext","Step","handleDeprecatedProps","handleDeprecatedStepProps","IterateOverSteps","children","check","stepsRef","activeIndexRef","totalStepsRef","stepStatusRef","prerenderFieldProps","prerenderFieldPropsRef","current","incrementIndex","translations","childrenArray","Children","map","child","isValidElement","_child","_child2","step","type","_step","apply","props","title","titleProp","inactive","include","includeWhen","id","visibleWhen","index","undefined","state","status","stepHasError","statusState","key","clone","cloneElement","document","length"],"sources":["../../../../../../src/extensions/forms/Wizard/Container/IterateOverSteps.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport { useTranslation } from '../../hooks'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport WizardContext from '../Context/WizardContext'\nimport Step, {\n Props as StepProps,\n handleDeprecatedProps as handleDeprecatedStepProps,\n} from '../Step/Step'\n\nexport function IterateOverSteps({ children }) {\n const {\n check,\n stepsRef,\n activeIndexRef,\n totalStepsRef,\n stepStatusRef,\n prerenderFieldProps,\n prerenderFieldPropsRef,\n } = useContext(WizardContext)\n\n stepsRef.current = {}\n let incrementIndex = -1\n\n const translations = useTranslation()\n\n const childrenArray = React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n let step = child\n\n if (child?.type !== Step && typeof child.type === 'function') {\n step = child.type.apply(child.type, [\n child.props,\n ]) as React.ReactElement\n\n if (step?.type === Step) {\n child = step\n }\n }\n\n if (child?.type === Step) {\n const {\n title: titleProp,\n inactive,\n include,\n includeWhen,\n id,\n } = handleDeprecatedStepProps(child.props)\n\n if (include === false) {\n return null\n }\n\n if (\n includeWhen &&\n !check({\n visibleWhen: includeWhen,\n })\n ) {\n return null\n }\n\n incrementIndex++\n\n const index = incrementIndex\n const title =\n titleProp !== undefined\n ? convertJsxToString(titleProp)\n : 'Title missing'\n const state = stepStatusRef.current[index]\n const status =\n index !== activeIndexRef.current\n ? state === 'error'\n ? translations.Step.stepHasError\n : state === 'unknown'\n ? 'Unknown state'\n : undefined\n : undefined\n const statusState = state === 'error' ? 'error' : undefined // undefined shows 'warn' by default\n const key = `${index}-${activeIndexRef.current}`\n\n stepsRef.current[index] = {\n id,\n title,\n inactive,\n status,\n statusState,\n }\n\n const clone = (props) =>\n React.cloneElement(child as React.ReactElement<StepProps>, props)\n\n if (\n prerenderFieldProps &&\n typeof document !== 'undefined' &&\n index !== activeIndexRef.current &&\n typeof prerenderFieldPropsRef.current['step-' + index] ===\n 'undefined'\n ) {\n prerenderFieldPropsRef.current['step-' + index] = () =>\n clone({\n key,\n index,\n prerenderFieldProps: true,\n })\n }\n\n return clone({\n key,\n index,\n })\n }\n }\n\n return child\n })\n\n // Ensure we never have a higher index than the available children\n // else we get a white screen\n if (childrenArray?.length === 0) {\n activeIndexRef.current = 0\n } else if (childrenArray?.length < activeIndexRef.current + 1) {\n activeIndexRef.current = childrenArray.length - 1\n }\n\n totalStepsRef.current = childrenArray?.length\n\n return childrenArray\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"IterateOverSteps.js","names":["React","useContext","WizardContext","WizardStepContext","Step","handleDeprecatedProps","handleDeprecatedStepProps","useCollectStepsData","IterateOverSteps","children","check","stepsRef","activeIndexRef","totalStepsRef","stepIndexRef","prerenderFieldProps","prerenderFieldPropsRef","hasErrorInOtherStepRef","mapOverChildrenRef","collectStepsData","current","Map","childrenArray","Children","map","child","isValidElement","_child","_child2","step","type","_step","apply","props","title","inactive","include","includeWhen","id","visibleWhen","index","document","key","cloneElement","createElement","Provider","value"],"sources":["../../../../../../src/extensions/forms/Wizard/Container/IterateOverSteps.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport WizardContext from '../Context/WizardContext'\nimport WizardStepContext from '../Step/StepContext'\nimport Step, {\n Props as StepProps,\n handleDeprecatedProps as handleDeprecatedStepProps,\n} from '../Step/Step'\nimport { useCollectStepsData } from './useCollectStepsData'\n\nexport function IterateOverSteps({\n children,\n}: {\n children: React.ReactNode\n}): React.ReactNode {\n const {\n check,\n stepsRef,\n activeIndexRef,\n totalStepsRef,\n stepIndexRef,\n prerenderFieldProps,\n prerenderFieldPropsRef,\n hasErrorInOtherStepRef,\n mapOverChildrenRef,\n } = useContext(WizardContext)\n\n const { collectStepsData } = useCollectStepsData()\n\n // Reset before iterating and calling \"collectStepsData\" and other variables are collected.\n stepsRef.current = new Map()\n hasErrorInOtherStepRef.current = false\n stepIndexRef.current = -1\n totalStepsRef.current = 0\n\n const childrenArray = React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n let step = child\n\n if (child?.type !== Step && typeof child.type === 'function') {\n step = child.type.apply(child.type, [\n child.props,\n ]) as React.ReactElement\n\n if (step?.type === Step) {\n child = step\n }\n }\n\n if (child?.type === Step) {\n const { title, inactive, include, includeWhen, id } =\n handleDeprecatedStepProps(child.props)\n\n if (include === false) {\n return null\n }\n\n if (\n includeWhen &&\n !check({\n visibleWhen: includeWhen,\n })\n ) {\n return null\n }\n\n const index = totalStepsRef.current\n totalStepsRef.current = totalStepsRef.current + 1\n\n collectStepsData({\n id,\n index,\n inactive,\n title,\n })\n\n if (\n prerenderFieldProps &&\n typeof document !== 'undefined' &&\n index !== activeIndexRef.current &&\n typeof prerenderFieldPropsRef.current['step-' + index] ===\n 'undefined'\n ) {\n const key = `${index}-${activeIndexRef.current}`\n prerenderFieldPropsRef.current['step-' + index] = () =>\n React.cloneElement(child as React.ReactElement<StepProps>, {\n key,\n index,\n prerenderFieldProps: true,\n })\n }\n\n return child\n }\n }\n\n return child\n })\n\n // Ensure we never have a higher index than the available children\n // else we get a white screen\n if (totalStepsRef.current === 0) {\n activeIndexRef.current = 0\n } else if (totalStepsRef.current < activeIndexRef.current + 1) {\n activeIndexRef.current = totalStepsRef.current - 1\n }\n\n if (mapOverChildrenRef.current) {\n return childrenArray.map((child, index) => {\n return (\n <WizardStepContext.Provider key={index} value={{ index }}>\n {child}\n </WizardStepContext.Provider>\n )\n })\n }\n\n return children\n}\n"],"mappings":"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","ignoreList":[]}
@@ -6,7 +6,7 @@ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutPr
6
6
  const _excluded = ["className", "id", "mode", "initialActiveIndex", "omitScrollManagement", "omitFocusManagement", "onStepChange", "children", "noAnimation", "prerenderFieldProps", "keepInDOM", "validationMode", "variant", "sidebarId"];
7
7
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
8
8
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9
- import React, { useContext, useCallback, useRef, useReducer, useMemo } from 'react';
9
+ import React, { useContext, useCallback, useRef, useReducer, useMemo, useEffect } from 'react';
10
10
  import classnames from 'classnames';
11
11
  import { Space } from '../../../../components';
12
12
  import { warn } from '../../../../shared/component-helper';
@@ -54,55 +54,96 @@ function WizardContainer(props) {
54
54
  const [, forceUpdate] = useReducer(() => ({}), {});
55
55
  const activeIndexRef = useRef(initialActiveIndex);
56
56
  const totalStepsRef = useRef(NaN);
57
- const stepStatusRef = useRef({});
58
- const fieldErrorRef = useRef({});
59
- const visitedStepsRef = useRef({});
57
+ const submitCountRef = useRef(0);
58
+ const visitedStepsRef = useRef(new Map());
59
+ const fieldErrorRef = useRef(new Map());
60
+ const storeStepStateRef = useRef(new Map());
61
+ const hasErrorInOtherStepRef = useRef(false);
60
62
  const elementRef = useRef();
61
63
  const stepElementRef = useRef();
62
64
  const preventNextStepRef = useRef(false);
63
- const stepsRef = useRef({});
64
- const tmpStepsRef = useRef({});
65
+ const stepsRef = useRef(new Map());
66
+ const tmpStepsRef = useRef();
67
+ const stepIndexRef = useRef(-1);
65
68
  const updateTitlesRef = useRef();
66
69
  const prerenderFieldPropsRef = useRef({});
67
70
  const bypassOnNavigation = validationMode === 'bypassOnNavigation';
68
71
  const sharedStateRef = useRef();
69
72
  sharedStateRef.current = useSharedState(hasContext && id ? createReferenceKey(id, 'wizard') : undefined);
70
- visitedStepsRef.current[activeIndexRef.current] = true;
71
- const setStepState = useCallback((index, state) => {
72
- stepStatusRef.current[index] = state;
73
- }, []);
74
73
  const hasFieldErrorInStep = useCallback(index => {
75
- return Object.values(fieldErrorRef.current).some(({
74
+ return Array.from(fieldErrorRef.current.values()).some(({
76
75
  index: i,
77
76
  hasError
78
77
  }) => {
79
78
  return i === index && hasError;
80
79
  });
81
80
  }, []);
82
- const revealError = useCallback((index, path, hasError) => {
83
- fieldErrorRef.current[path] = {
84
- index,
85
- hasError
86
- };
87
- if (hasFieldErrorInStep(index)) {
88
- setStepState(index, 'error');
81
+ const setStepAsVisited = useCallback(index => {
82
+ visitedStepsRef.current.set(index, true);
83
+ }, []);
84
+ useEffect(() => {
85
+ if (!initialActiveIndex) {
86
+ setStepAsVisited(activeIndexRef.current);
89
87
  }
90
- }, [hasFieldErrorInStep, setStepState]);
91
- const activeIndex = activeIndexRef.current;
92
- const hasErrorInActiveStep = hasFieldErrorInStep(activeIndex);
93
- useMemo(() => {
94
- const currentState = stepStatusRef.current[activeIndex];
95
- if (!hasErrorInActiveStep && ['error', 'valid'].includes(currentState)) {
96
- setStepState(activeIndex, 'valid');
97
- } else {
98
- setStepState(activeIndex, hasErrorInActiveStep ? 'error' : undefined);
88
+ }, [initialActiveIndex, setStepAsVisited]);
89
+ const writeStepsState = useCallback((index = undefined, forStates = ['unknown', 'error']) => {
90
+ for (let i = 0; i < totalStepsRef.current; i++) {
91
+ if (index !== undefined && index !== i) {
92
+ continue;
93
+ }
94
+ let result = undefined;
95
+ const existingState = storeStepStateRef.current.get(i);
96
+ if (forStates.includes('unknown')) {
97
+ const state = i < activeIndexRef.current && visitedStepsRef.current.get(i) === undefined;
98
+ if (state) {
99
+ result = 'unknown';
100
+ }
101
+ }
102
+ if (forStates.includes('error')) {
103
+ const state = hasFieldErrorInStep(i);
104
+ if (state) {
105
+ result = 'error';
106
+ } else if (existingState === 'error') {
107
+ if (i === activeIndexRef.current) {
108
+ result = undefined;
109
+ } else {
110
+ result = existingState;
111
+ }
112
+ }
113
+ }
114
+ storeStepStateRef.current.set(i, result);
115
+ }
116
+ }, [hasFieldErrorInStep]);
117
+ const hasInvalidStepsState = useCallback((index = undefined, forStates = ['unknown', 'error']) => {
118
+ for (let i = 0; i < totalStepsRef.current; i++) {
119
+ if (index !== undefined && index !== i) {
120
+ continue;
121
+ }
122
+ const state = storeStepStateRef.current.get(i);
123
+ if (forStates.includes('unknown')) {
124
+ if (state === 'unknown') {
125
+ return true;
126
+ }
127
+ }
128
+ if (forStates.includes('error')) {
129
+ if (state === 'error') {
130
+ return true;
131
+ }
132
+ }
99
133
  }
100
- }, [activeIndex, hasErrorInActiveStep, setStepState]);
134
+ return false;
135
+ }, []);
136
+ const setFieldError = useCallback((index, path, hasError) => {
137
+ fieldErrorRef.current.set(path, {
138
+ index,
139
+ hasError
140
+ });
141
+ }, []);
101
142
  const preventNavigation = useCallback((shouldPrevent = true) => {
102
143
  preventNextStepRef.current = shouldPrevent;
103
144
  }, []);
104
145
  const getStepChangeOptions = useCallback(index => {
105
- var _stepsRef$current$ind;
146
+ var _stepsRef$current$get;
106
147
  const previousIndex = activeIndexRef.current;
107
148
  const options = {
108
149
  preventNavigation,
@@ -110,10 +151,10 @@ function WizardContainer(props) {
110
151
  index: previousIndex
111
152
  }
112
153
  };
113
- const id = (_stepsRef$current$ind = stepsRef.current[index]) === null || _stepsRef$current$ind === void 0 ? void 0 : _stepsRef$current$ind.id;
154
+ const id = (_stepsRef$current$get = stepsRef.current.get(index)) === null || _stepsRef$current$get === void 0 ? void 0 : _stepsRef$current$get.id;
114
155
  if (id) {
115
- var _stepsRef$current$pre;
116
- const previousId = (_stepsRef$current$pre = stepsRef.current[previousIndex]) === null || _stepsRef$current$pre === void 0 ? void 0 : _stepsRef$current$pre.id;
156
+ var _stepsRef$current$get2;
157
+ const previousId = (_stepsRef$current$get2 = stepsRef.current.get(previousIndex)) === null || _stepsRef$current$get2 === void 0 ? void 0 : _stepsRef$current$get2.id;
117
158
  Object.assign(options, {
118
159
  id
119
160
  });
@@ -170,10 +211,11 @@ function WizardContainer(props) {
170
211
  result = await callOnStepChange(index, mode);
171
212
  }
172
213
  setFormState('abort');
173
- setShowAllErrors(bypassOnNavigation ? false : stepStatusRef.current[index] === 'error');
214
+ setShowAllErrors(bypassOnNavigation ? false : hasInvalidStepsState(index, ['error']));
174
215
  if (!preventNextStepRef.current && !(result instanceof Error)) {
175
216
  handleLayoutEffect();
176
217
  activeIndexRef.current = index;
218
+ setStepAsVisited(activeIndexRef.current);
177
219
  forceUpdate();
178
220
  }
179
221
  preventNextStepRef.current = false;
@@ -190,13 +232,15 @@ function WizardContainer(props) {
190
232
  if (bypassOnNavigation) {
191
233
  await onSubmit();
192
234
  } else {
193
- const state = stepStatusRef.current[activeIndexRef.current];
194
- if (mode === 'next' && state === 'valid') {
195
- await onSubmit();
235
+ if (mode === 'next') {
236
+ writeStepsState(activeIndexRef.current, ['error']);
237
+ if (!hasInvalidStepsState(activeIndexRef.current)) {
238
+ await onSubmit();
239
+ }
196
240
  }
197
241
  }
198
242
  }
199
- }, [bypassOnNavigation, callOnStepChange, getStepChangeOptions, handleLayoutEffect, handleSubmitCall, isInteractionRef, onStepChange, setFormState, setShowAllErrors]);
243
+ }, [bypassOnNavigation, callOnStepChange, getStepChangeOptions, handleLayoutEffect, handleSubmitCall, hasInvalidStepsState, isInteractionRef, onStepChange, setFormState, setShowAllErrors, setStepAsVisited, writeStepsState]);
200
244
  const setActiveIndex = useCallback((index, options) => {
201
245
  if (index === activeIndexRef.current) {
202
246
  return;
@@ -226,22 +270,10 @@ function WizardContainer(props) {
226
270
  error
227
271
  });
228
272
  }, [setSubmitState]);
229
- const handleUnknownStepsState = useCallback(() => {
230
- const index = activeIndexRef.current;
231
- for (let i = 0; i < totalStepsRef.current; i++) {
232
- if (!visitedStepsRef.current[i] && stepStatusRef.current[i] === undefined && i < index && i !== index) {
233
- setStepState(i, 'unknown');
234
- }
235
- }
236
- }, [setStepState]);
237
- const hasInvalidStepsState = useCallback(forStates => {
238
- const steps = Object.values(stepStatusRef.current);
239
- return (forStates || ['unknown', 'error']).some(state => steps.includes(state));
240
- }, []);
241
273
  const handleSubmit = useCallback(({
242
274
  preventSubmit
243
275
  }) => {
244
- handleUnknownStepsState();
276
+ submitCountRef.current += 1;
245
277
  if (hasInvalidStepsState()) {
246
278
  return preventSubmit();
247
279
  }
@@ -249,11 +281,16 @@ function WizardContainer(props) {
249
281
  handleNext();
250
282
  preventSubmit();
251
283
  }
252
- }, [handleUnknownStepsState, hasInvalidStepsState, handleNext]);
284
+ }, [hasInvalidStepsState, handleNext]);
253
285
  (_dataContext$setHandl = dataContext.setHandleSubmit) === null || _dataContext$setHandl === void 0 ? void 0 : _dataContext$setHandl.call(dataContext, handleSubmit);
254
286
  const {
255
287
  check
256
288
  } = useVisibility();
289
+ const mapOverChildrenRef = useRef(false);
290
+ const enableMapOverChildren = useCallback(() => {
291
+ mapOverChildrenRef.current = true;
292
+ }, []);
293
+ const activeIndex = activeIndexRef.current;
257
294
  const providerValue = useMemo(() => {
258
295
  return {
259
296
  id,
@@ -263,20 +300,25 @@ function WizardContainer(props) {
263
300
  stepsRef,
264
301
  updateTitlesRef,
265
302
  activeIndexRef,
303
+ stepIndexRef,
266
304
  totalStepsRef,
267
- stepStatusRef,
305
+ submitCountRef,
268
306
  prerenderFieldProps,
269
307
  prerenderFieldPropsRef,
308
+ hasErrorInOtherStepRef,
270
309
  keepInDOM,
310
+ enableMapOverChildren,
311
+ mapOverChildrenRef,
271
312
  check,
272
313
  setActiveIndex,
273
314
  handlePrevious,
274
315
  hasInvalidStepsState,
275
- revealError,
316
+ writeStepsState,
317
+ setFieldError,
276
318
  handleNext,
277
319
  setFormError
278
320
  };
279
- }, [id, activeIndex, initialActiveIndex, prerenderFieldProps, keepInDOM, check, setActiveIndex, handlePrevious, hasInvalidStepsState, revealError, handleNext, setFormError]);
321
+ }, [id, activeIndex, initialActiveIndex, prerenderFieldProps, keepInDOM, enableMapOverChildren, check, setActiveIndex, handlePrevious, hasInvalidStepsState, writeStepsState, setFieldError, handleNext, setFormError]);
280
322
  useLayoutEffect(() => {
281
323
  if (id && hasContext) {
282
324
  sharedStateRef.current.extend(providerValue);
@@ -287,8 +329,11 @@ function WizardContainer(props) {
287
329
  (_updateTitlesRef$curr = updateTitlesRef.current) === null || _updateTitlesRef$curr === void 0 ? void 0 : _updateTitlesRef$curr.call(updateTitlesRef);
288
330
  }, [stepsRef.current]);
289
331
  const stepsLengthDidChange = useCallback(() => {
290
- const count = Object.keys(stepsRef.current).length;
291
- const tmpCount = Object.keys(tmpStepsRef.current).length;
332
+ const tmpCount = tmpStepsRef.current;
333
+ if (tmpCount === undefined) {
334
+ return false;
335
+ }
336
+ const count = totalStepsRef.current;
292
337
  return count !== 0 && tmpCount !== 0 && count !== tmpCount;
293
338
  }, []);
294
339
  useLayoutEffect(() => {
@@ -297,8 +342,8 @@ function WizardContainer(props) {
297
342
  callOnStepChange(activeIndexRef.current, 'stepListModified');
298
343
  (_executeLayoutAnimati = executeLayoutAnimationRef.current) === null || _executeLayoutAnimati === void 0 ? void 0 : _executeLayoutAnimati.call(executeLayoutAnimationRef);
299
344
  }
300
- tmpStepsRef.current = stepsRef.current;
301
- }, [stepsRef.current, callOnStepChange, stepsLengthDidChange]);
345
+ tmpStepsRef.current = totalStepsRef.current;
346
+ }, [totalStepsRef.current, callOnStepChange, stepsLengthDidChange]);
302
347
  if (!hasContext) {
303
348
  warn('You may wrap Wizard.Container in Form.Handler');
304
349
  return React.createElement(Handler, null, React.createElement(WizardContainer, _extends({}, props, {