@dnb/eufemia 10.68.0 → 10.69.0

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 (348) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/cjs/components/autocomplete/Autocomplete.js +1 -1
  3. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  4. package/cjs/components/info-card/InfoCard.d.ts +4 -0
  5. package/cjs/components/info-card/InfoCard.js +29 -25
  6. package/cjs/components/info-card/InfoCard.js.map +1 -1
  7. package/cjs/components/info-card/style/dnb-info-card.css +5 -0
  8. package/cjs/components/info-card/style/dnb-info-card.min.css +1 -1
  9. package/cjs/components/info-card/style/dnb-info-card.scss +7 -0
  10. package/cjs/components/number-format/NumberFormat.js +4 -2
  11. package/cjs/components/number-format/NumberFormat.js.map +1 -1
  12. package/cjs/components/number-format/NumberUtils.d.ts +3 -0
  13. package/cjs/components/number-format/NumberUtils.js +6 -4
  14. package/cjs/components/number-format/NumberUtils.js.map +1 -1
  15. package/cjs/components/table/TableClickableHead.js +14 -3
  16. package/cjs/components/table/TableClickableHead.js.map +1 -1
  17. package/cjs/components/table/TableTr.js +4 -4
  18. package/cjs/components/table/TableTr.js.map +1 -1
  19. package/cjs/components/table/table-accordion/TableAccordionHead.d.ts +5 -0
  20. package/cjs/components/table/table-accordion/TableAccordionHead.js +27 -20
  21. package/cjs/components/table/table-accordion/TableAccordionHead.js.map +1 -1
  22. package/cjs/components/table/table-navigation/TableNavigationHead.js +7 -4
  23. package/cjs/components/table/table-navigation/TableNavigationHead.js.map +1 -1
  24. package/cjs/extensions/forms/Field/Currency/Currency.d.ts +9 -1
  25. package/cjs/extensions/forms/Field/Currency/Currency.js +8 -3
  26. package/cjs/extensions/forms/Field/Currency/Currency.js.map +1 -1
  27. package/cjs/extensions/forms/Field/Currency/CurrencyDocs.js +1 -1
  28. package/cjs/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -1
  29. package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +61 -3
  30. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -4
  31. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -2
  32. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  33. package/cjs/extensions/forms/Field/SelectCurrency/SelectCurrency.d.ts +51 -0
  34. package/cjs/extensions/forms/Field/SelectCurrency/SelectCurrency.js +289 -0
  35. package/cjs/extensions/forms/Field/SelectCurrency/SelectCurrency.js.map +1 -0
  36. package/cjs/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.d.ts +3 -0
  37. package/cjs/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js +36 -0
  38. package/cjs/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js.map +1 -0
  39. package/cjs/extensions/forms/Field/SelectCurrency/index.d.ts +2 -0
  40. package/cjs/extensions/forms/Field/SelectCurrency/index.js +28 -0
  41. package/cjs/extensions/forms/Field/SelectCurrency/index.js.map +1 -0
  42. package/cjs/extensions/forms/Field/index.d.ts +1 -0
  43. package/cjs/extensions/forms/Field/index.js +7 -0
  44. package/cjs/extensions/forms/Field/index.js.map +1 -1
  45. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -2
  46. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  47. package/cjs/extensions/forms/Value/Currency/Currency.d.ts +7 -1
  48. package/cjs/extensions/forms/Value/Currency/Currency.js.map +1 -1
  49. package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +2 -1
  50. package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -1
  51. package/cjs/extensions/forms/Value/SelectCurrency/SelectCurrency.d.ts +9 -0
  52. package/cjs/extensions/forms/Value/SelectCurrency/SelectCurrency.js +37 -0
  53. package/cjs/extensions/forms/Value/SelectCurrency/SelectCurrency.js.map +1 -0
  54. package/cjs/extensions/forms/Value/SelectCurrency/index.d.ts +2 -0
  55. package/cjs/extensions/forms/Value/SelectCurrency/index.js +28 -0
  56. package/cjs/extensions/forms/Value/SelectCurrency/index.js.map +1 -0
  57. package/cjs/extensions/forms/Value/SelectCurrency/useCurrency.d.ts +4 -0
  58. package/cjs/extensions/forms/Value/SelectCurrency/useCurrency.js +32 -0
  59. package/cjs/extensions/forms/Value/SelectCurrency/useCurrency.js.map +1 -0
  60. package/cjs/extensions/forms/Value/index.d.ts +1 -0
  61. package/cjs/extensions/forms/Value/index.js +7 -0
  62. package/cjs/extensions/forms/Value/index.js.map +1 -1
  63. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.js +4 -0
  64. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
  65. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.js +6 -1
  66. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -1
  67. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +5 -3
  68. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  69. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +1 -0
  70. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  71. package/cjs/extensions/forms/constants/allCurrencies.d.ts +1786 -0
  72. package/cjs/extensions/forms/constants/allCurrencies.js +1447 -0
  73. package/cjs/extensions/forms/constants/allCurrencies.js.map +1 -0
  74. package/cjs/extensions/forms/constants/countries.d.ts +4023 -4
  75. package/cjs/extensions/forms/constants/countries.js.map +1 -1
  76. package/cjs/extensions/forms/constants/currencies.d.ts +716 -0
  77. package/cjs/extensions/forms/constants/currencies.js +12 -0
  78. package/cjs/extensions/forms/constants/currencies.js.map +1 -0
  79. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +5 -0
  80. package/cjs/extensions/forms/constants/locales/en-GB.js +5 -0
  81. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  82. package/cjs/extensions/forms/constants/locales/en-US.d.ts +5 -0
  83. package/cjs/extensions/forms/constants/locales/index.d.ts +10 -0
  84. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +5 -0
  85. package/cjs/extensions/forms/constants/locales/nb-NO.js +5 -0
  86. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  87. package/cjs/extensions/forms/constants/locales/sv-SE.d.ts +5 -0
  88. package/cjs/extensions/forms/constants/locales/sv-SE.js +5 -0
  89. package/cjs/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  90. package/cjs/extensions/forms/hooks/useFieldProps.js +18 -17
  91. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  92. package/cjs/extensions/forms/types.d.ts +4 -4
  93. package/cjs/extensions/forms/types.js.map +1 -1
  94. package/cjs/shared/Eufemia.d.ts +1 -1
  95. package/cjs/shared/Eufemia.js +2 -2
  96. package/cjs/shared/Eufemia.js.map +1 -1
  97. package/cjs/shared/Translation.js +5 -6
  98. package/cjs/shared/Translation.js.map +1 -1
  99. package/cjs/style/core/scopes.scss +1 -1
  100. package/cjs/style/dnb-ui-basis.css +1 -1
  101. package/cjs/style/dnb-ui-basis.min.css +1 -1
  102. package/cjs/style/dnb-ui-body.css +1 -1
  103. package/cjs/style/dnb-ui-body.min.css +1 -1
  104. package/cjs/style/dnb-ui-components.css +5 -0
  105. package/cjs/style/dnb-ui-components.min.css +1 -1
  106. package/cjs/style/dnb-ui-core.css +1 -1
  107. package/cjs/style/dnb-ui-core.min.css +1 -1
  108. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +5 -0
  109. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  110. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +5 -0
  111. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  112. package/cjs/style/themes/theme-ui/ui-theme-components.css +5 -0
  113. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  114. package/components/autocomplete/Autocomplete.js +1 -1
  115. package/components/autocomplete/Autocomplete.js.map +1 -1
  116. package/components/info-card/InfoCard.d.ts +4 -0
  117. package/components/info-card/InfoCard.js +26 -25
  118. package/components/info-card/InfoCard.js.map +1 -1
  119. package/components/info-card/style/dnb-info-card.css +5 -0
  120. package/components/info-card/style/dnb-info-card.min.css +1 -1
  121. package/components/info-card/style/dnb-info-card.scss +7 -0
  122. package/components/number-format/NumberFormat.js +4 -2
  123. package/components/number-format/NumberFormat.js.map +1 -1
  124. package/components/number-format/NumberUtils.d.ts +3 -0
  125. package/components/number-format/NumberUtils.js +6 -4
  126. package/components/number-format/NumberUtils.js.map +1 -1
  127. package/components/table/TableClickableHead.js +12 -3
  128. package/components/table/TableClickableHead.js.map +1 -1
  129. package/components/table/TableTr.js +4 -4
  130. package/components/table/TableTr.js.map +1 -1
  131. package/components/table/table-accordion/TableAccordionHead.d.ts +5 -0
  132. package/components/table/table-accordion/TableAccordionHead.js +28 -21
  133. package/components/table/table-accordion/TableAccordionHead.js.map +1 -1
  134. package/components/table/table-navigation/TableNavigationHead.js +4 -4
  135. package/components/table/table-navigation/TableNavigationHead.js.map +1 -1
  136. package/es/components/autocomplete/Autocomplete.js +1 -1
  137. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  138. package/es/components/info-card/InfoCard.d.ts +4 -0
  139. package/es/components/info-card/InfoCard.js +26 -25
  140. package/es/components/info-card/InfoCard.js.map +1 -1
  141. package/es/components/info-card/style/dnb-info-card.css +5 -0
  142. package/es/components/info-card/style/dnb-info-card.min.css +1 -1
  143. package/es/components/info-card/style/dnb-info-card.scss +7 -0
  144. package/es/components/number-format/NumberFormat.js +4 -2
  145. package/es/components/number-format/NumberFormat.js.map +1 -1
  146. package/es/components/number-format/NumberUtils.d.ts +3 -0
  147. package/es/components/number-format/NumberUtils.js +6 -4
  148. package/es/components/number-format/NumberUtils.js.map +1 -1
  149. package/es/components/table/TableClickableHead.js +12 -3
  150. package/es/components/table/TableClickableHead.js.map +1 -1
  151. package/es/components/table/TableTr.js +4 -4
  152. package/es/components/table/TableTr.js.map +1 -1
  153. package/es/components/table/table-accordion/TableAccordionHead.d.ts +5 -0
  154. package/es/components/table/table-accordion/TableAccordionHead.js +28 -21
  155. package/es/components/table/table-accordion/TableAccordionHead.js.map +1 -1
  156. package/es/components/table/table-navigation/TableNavigationHead.js +4 -4
  157. package/es/components/table/table-navigation/TableNavigationHead.js.map +1 -1
  158. package/es/extensions/forms/Field/Currency/Currency.d.ts +9 -1
  159. package/es/extensions/forms/Field/Currency/Currency.js +8 -3
  160. package/es/extensions/forms/Field/Currency/Currency.js.map +1 -1
  161. package/es/extensions/forms/Field/Currency/CurrencyDocs.js +1 -1
  162. package/es/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -1
  163. package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +61 -3
  164. package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -4
  165. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -2
  166. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  167. package/es/extensions/forms/Field/SelectCurrency/SelectCurrency.d.ts +51 -0
  168. package/es/extensions/forms/Field/SelectCurrency/SelectCurrency.js +263 -0
  169. package/es/extensions/forms/Field/SelectCurrency/SelectCurrency.js.map +1 -0
  170. package/es/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.d.ts +3 -0
  171. package/es/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js +28 -0
  172. package/es/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js.map +1 -0
  173. package/es/extensions/forms/Field/SelectCurrency/index.d.ts +2 -0
  174. package/es/extensions/forms/Field/SelectCurrency/index.js +3 -0
  175. package/es/extensions/forms/Field/SelectCurrency/index.js.map +1 -0
  176. package/es/extensions/forms/Field/index.d.ts +1 -0
  177. package/es/extensions/forms/Field/index.js +1 -0
  178. package/es/extensions/forms/Field/index.js.map +1 -1
  179. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -2
  180. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  181. package/es/extensions/forms/Value/Currency/Currency.d.ts +7 -1
  182. package/es/extensions/forms/Value/Currency/Currency.js.map +1 -1
  183. package/es/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +2 -1
  184. package/es/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -1
  185. package/es/extensions/forms/Value/SelectCurrency/SelectCurrency.d.ts +9 -0
  186. package/es/extensions/forms/Value/SelectCurrency/SelectCurrency.js +29 -0
  187. package/es/extensions/forms/Value/SelectCurrency/SelectCurrency.js.map +1 -0
  188. package/es/extensions/forms/Value/SelectCurrency/index.d.ts +2 -0
  189. package/es/extensions/forms/Value/SelectCurrency/index.js +3 -0
  190. package/es/extensions/forms/Value/SelectCurrency/index.js.map +1 -0
  191. package/es/extensions/forms/Value/SelectCurrency/useCurrency.d.ts +4 -0
  192. package/es/extensions/forms/Value/SelectCurrency/useCurrency.js +26 -0
  193. package/es/extensions/forms/Value/SelectCurrency/useCurrency.js.map +1 -0
  194. package/es/extensions/forms/Value/index.d.ts +1 -0
  195. package/es/extensions/forms/Value/index.js +1 -0
  196. package/es/extensions/forms/Value/index.js.map +1 -1
  197. package/es/extensions/forms/Wizard/Container/DisplaySteps.js +4 -0
  198. package/es/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
  199. package/es/extensions/forms/Wizard/Container/IterateOverSteps.js +6 -1
  200. package/es/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -1
  201. package/es/extensions/forms/Wizard/Container/WizardContainer.js +5 -3
  202. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  203. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +1 -0
  204. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  205. package/es/extensions/forms/constants/allCurrencies.d.ts +1786 -0
  206. package/es/extensions/forms/constants/allCurrencies.js +1440 -0
  207. package/es/extensions/forms/constants/allCurrencies.js.map +1 -0
  208. package/es/extensions/forms/constants/countries.d.ts +4023 -4
  209. package/es/extensions/forms/constants/countries.js.map +1 -1
  210. package/es/extensions/forms/constants/currencies.d.ts +716 -0
  211. package/es/extensions/forms/constants/currencies.js +5 -0
  212. package/es/extensions/forms/constants/currencies.js.map +1 -0
  213. package/es/extensions/forms/constants/locales/en-GB.d.ts +5 -0
  214. package/es/extensions/forms/constants/locales/en-GB.js +5 -0
  215. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  216. package/es/extensions/forms/constants/locales/en-US.d.ts +5 -0
  217. package/es/extensions/forms/constants/locales/index.d.ts +10 -0
  218. package/es/extensions/forms/constants/locales/nb-NO.d.ts +5 -0
  219. package/es/extensions/forms/constants/locales/nb-NO.js +5 -0
  220. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  221. package/es/extensions/forms/constants/locales/sv-SE.d.ts +5 -0
  222. package/es/extensions/forms/constants/locales/sv-SE.js +5 -0
  223. package/es/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  224. package/es/extensions/forms/hooks/useFieldProps.js +18 -17
  225. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  226. package/es/extensions/forms/types.d.ts +4 -4
  227. package/es/extensions/forms/types.js.map +1 -1
  228. package/es/shared/Eufemia.d.ts +1 -1
  229. package/es/shared/Eufemia.js +2 -2
  230. package/es/shared/Eufemia.js.map +1 -1
  231. package/es/shared/Translation.js +5 -4
  232. package/es/shared/Translation.js.map +1 -1
  233. package/es/style/core/scopes.scss +1 -1
  234. package/es/style/dnb-ui-basis.css +1 -1
  235. package/es/style/dnb-ui-basis.min.css +1 -1
  236. package/es/style/dnb-ui-body.css +1 -1
  237. package/es/style/dnb-ui-body.min.css +1 -1
  238. package/es/style/dnb-ui-components.css +5 -0
  239. package/es/style/dnb-ui-components.min.css +1 -1
  240. package/es/style/dnb-ui-core.css +1 -1
  241. package/es/style/dnb-ui-core.min.css +1 -1
  242. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +5 -0
  243. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  244. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +5 -0
  245. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  246. package/es/style/themes/theme-ui/ui-theme-components.css +5 -0
  247. package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  248. package/esm/dnb-ui-basis.min.mjs +1 -1
  249. package/esm/dnb-ui-components.min.mjs +1 -1
  250. package/esm/dnb-ui-elements.min.mjs +1 -1
  251. package/esm/dnb-ui-extensions.min.mjs +1 -1
  252. package/esm/dnb-ui-lib.min.mjs +1 -1
  253. package/extensions/forms/Field/Currency/Currency.d.ts +9 -1
  254. package/extensions/forms/Field/Currency/Currency.js +8 -3
  255. package/extensions/forms/Field/Currency/Currency.js.map +1 -1
  256. package/extensions/forms/Field/Currency/CurrencyDocs.js +1 -1
  257. package/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -1
  258. package/extensions/forms/Field/Provider/useFieldProvider.d.ts +61 -3
  259. package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -4
  260. package/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -2
  261. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  262. package/extensions/forms/Field/SelectCurrency/SelectCurrency.d.ts +51 -0
  263. package/extensions/forms/Field/SelectCurrency/SelectCurrency.js +275 -0
  264. package/extensions/forms/Field/SelectCurrency/SelectCurrency.js.map +1 -0
  265. package/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.d.ts +3 -0
  266. package/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js +28 -0
  267. package/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js.map +1 -0
  268. package/extensions/forms/Field/SelectCurrency/index.d.ts +2 -0
  269. package/extensions/forms/Field/SelectCurrency/index.js +3 -0
  270. package/extensions/forms/Field/SelectCurrency/index.js.map +1 -0
  271. package/extensions/forms/Field/index.d.ts +1 -0
  272. package/extensions/forms/Field/index.js +1 -0
  273. package/extensions/forms/Field/index.js.map +1 -1
  274. package/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -2
  275. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  276. package/extensions/forms/Value/Currency/Currency.d.ts +7 -1
  277. package/extensions/forms/Value/Currency/Currency.js.map +1 -1
  278. package/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +2 -1
  279. package/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -1
  280. package/extensions/forms/Value/SelectCurrency/SelectCurrency.d.ts +9 -0
  281. package/extensions/forms/Value/SelectCurrency/SelectCurrency.js +29 -0
  282. package/extensions/forms/Value/SelectCurrency/SelectCurrency.js.map +1 -0
  283. package/extensions/forms/Value/SelectCurrency/index.d.ts +2 -0
  284. package/extensions/forms/Value/SelectCurrency/index.js +3 -0
  285. package/extensions/forms/Value/SelectCurrency/index.js.map +1 -0
  286. package/extensions/forms/Value/SelectCurrency/useCurrency.d.ts +4 -0
  287. package/extensions/forms/Value/SelectCurrency/useCurrency.js +26 -0
  288. package/extensions/forms/Value/SelectCurrency/useCurrency.js.map +1 -0
  289. package/extensions/forms/Value/index.d.ts +1 -0
  290. package/extensions/forms/Value/index.js +1 -0
  291. package/extensions/forms/Value/index.js.map +1 -1
  292. package/extensions/forms/Wizard/Container/DisplaySteps.js +4 -0
  293. package/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
  294. package/extensions/forms/Wizard/Container/IterateOverSteps.js +6 -1
  295. package/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -1
  296. package/extensions/forms/Wizard/Container/WizardContainer.js +5 -3
  297. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  298. package/extensions/forms/Wizard/Context/WizardContext.d.ts +1 -0
  299. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  300. package/extensions/forms/constants/allCurrencies.d.ts +1786 -0
  301. package/extensions/forms/constants/allCurrencies.js +1441 -0
  302. package/extensions/forms/constants/allCurrencies.js.map +1 -0
  303. package/extensions/forms/constants/countries.d.ts +4023 -4
  304. package/extensions/forms/constants/countries.js.map +1 -1
  305. package/extensions/forms/constants/currencies.d.ts +716 -0
  306. package/extensions/forms/constants/currencies.js +6 -0
  307. package/extensions/forms/constants/currencies.js.map +1 -0
  308. package/extensions/forms/constants/locales/en-GB.d.ts +5 -0
  309. package/extensions/forms/constants/locales/en-GB.js +5 -0
  310. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  311. package/extensions/forms/constants/locales/en-US.d.ts +5 -0
  312. package/extensions/forms/constants/locales/index.d.ts +10 -0
  313. package/extensions/forms/constants/locales/nb-NO.d.ts +5 -0
  314. package/extensions/forms/constants/locales/nb-NO.js +5 -0
  315. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  316. package/extensions/forms/constants/locales/sv-SE.d.ts +5 -0
  317. package/extensions/forms/constants/locales/sv-SE.js +5 -0
  318. package/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  319. package/extensions/forms/hooks/useFieldProps.js +18 -17
  320. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  321. package/extensions/forms/types.d.ts +4 -4
  322. package/extensions/forms/types.js.map +1 -1
  323. package/package.json +2 -2
  324. package/shared/Eufemia.d.ts +1 -1
  325. package/shared/Eufemia.js +2 -2
  326. package/shared/Eufemia.js.map +1 -1
  327. package/shared/Translation.js +5 -4
  328. package/shared/Translation.js.map +1 -1
  329. package/style/core/scopes.scss +1 -1
  330. package/style/dnb-ui-basis.css +1 -1
  331. package/style/dnb-ui-basis.min.css +1 -1
  332. package/style/dnb-ui-body.css +1 -1
  333. package/style/dnb-ui-body.min.css +1 -1
  334. package/style/dnb-ui-components.css +5 -0
  335. package/style/dnb-ui-components.min.css +1 -1
  336. package/style/dnb-ui-core.css +1 -1
  337. package/style/dnb-ui-core.min.css +1 -1
  338. package/style/themes/theme-eiendom/eiendom-theme-components.css +5 -0
  339. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  340. package/style/themes/theme-sbanken/sbanken-theme-components.css +5 -0
  341. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  342. package/style/themes/theme-ui/ui-theme-components.css +5 -0
  343. package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  344. package/umd/dnb-ui-basis.min.js +1 -1
  345. package/umd/dnb-ui-components.min.js +1 -1
  346. package/umd/dnb-ui-elements.min.js +1 -1
  347. package/umd/dnb-ui-extensions.min.js +1 -1
  348. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1,5 +1,11 @@
1
1
  import { Props as NumberValueProps } from '../Number';
2
- export type Props = NumberValueProps;
2
+ import type { CurrencyISO } from '../../constants/currencies';
3
+ export type Props = NumberValueProps & {
4
+ /**
5
+ * The currency of the component.
6
+ */
7
+ currency?: CurrencyISO | true;
8
+ };
3
9
  declare function Currency(props: Props): import("react/jsx-runtime").JSX.Element;
4
10
  declare namespace Currency {
5
11
  var _supportsSpacingProps: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Currency.js","names":["React","CURRENCY","NumberValue","Currency","props","_props$currency","numberProps","_objectSpread","currency","createElement","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Value/Currency/Currency.tsx"],"sourcesContent":["import React from 'react'\nimport { CURRENCY } from '../../../../shared/defaults'\nimport NumberValue, { Props as NumberValueProps } from '../Number'\n\nexport type Props = NumberValueProps\n\nfunction Currency(props: Props) {\n const numberProps: Props = {\n ...props,\n currency: props.currency ?? CURRENCY,\n }\n\n return <NumberValue {...numberProps} />\n}\n\nCurrency._supportsSpacingProps = true\nexport default Currency\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,QAAQ,6BAA6B;AACtD,OAAOC,WAAW,MAAqC,WAAW;AAIlE,SAASC,QAAQA,CAACC,KAAY,EAAE;EAAA,IAAAC,eAAA;EAC9B,MAAMC,WAAkB,GAAAC,aAAA,CAAAA,aAAA,KACnBH,KAAK;IACRI,QAAQ,GAAAH,eAAA,GAAED,KAAK,CAACI,QAAQ,cAAAH,eAAA,cAAAA,eAAA,GAAIJ;EAAQ,EACrC;EAED,OAAOD,KAAA,CAAAS,aAAA,CAACP,WAAW,EAAKI,WAAc,CAAC;AACzC;AAEAH,QAAQ,CAACO,qBAAqB,GAAG,IAAI;AACrC,eAAeP,QAAQ","ignoreList":[]}
1
+ {"version":3,"file":"Currency.js","names":["React","CURRENCY","NumberValue","Currency","props","_props$currency","numberProps","_objectSpread","currency","createElement","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Value/Currency/Currency.tsx"],"sourcesContent":["import React from 'react'\nimport { CURRENCY } from '../../../../shared/defaults'\nimport NumberValue, { Props as NumberValueProps } from '../Number'\nimport type { CurrencyISO } from '../../constants/currencies'\n\nexport type Props = NumberValueProps & {\n /**\n * The currency of the component.\n */\n currency?: CurrencyISO | true\n}\n\nfunction Currency(props: Props) {\n const numberProps: Props = {\n ...props,\n currency: props.currency ?? CURRENCY,\n }\n\n return <NumberValue {...numberProps} />\n}\n\nCurrency._supportsSpacingProps = true\nexport default Currency\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,QAAQ,6BAA6B;AACtD,OAAOC,WAAW,MAAqC,WAAW;AAUlE,SAASC,QAAQA,CAACC,KAAY,EAAE;EAAA,IAAAC,eAAA;EAC9B,MAAMC,WAAkB,GAAAC,aAAA,CAAAA,aAAA,KACnBH,KAAK;IACRI,QAAQ,GAAAH,eAAA,GAAED,KAAK,CAACI,QAAQ,cAAAH,eAAA,cAAAA,eAAA,GAAIJ;EAAQ,EACrC;EAED,OAAOD,KAAA,CAAAS,aAAA,CAACP,WAAW,EAAKI,WAAc,CAAC;AACzC;AAEAH,QAAQ,CAACO,qBAAqB,GAAG,IAAI;AACrC,eAAeP,QAAQ","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  import { ValueProps } from '../../types';
2
- export type Props = ValueProps<string>;
2
+ import type { CountryISO } from '../../constants/countries';
3
+ export type Props = ValueProps<CountryISO>;
3
4
  declare function SelectCountry(props: Props): import("react/jsx-runtime").JSX.Element;
4
5
  declare namespace SelectCountry {
5
6
  var useCountry: typeof import("./useCountry").default;
@@ -1 +1 @@
1
- {"version":3,"file":"SelectCountry.js","names":["React","classnames","useTranslation","useValueProps","ValueBlock","useCountry","SelectCountry","props","translations","_useValueProps","value","className","label","rest","_objectWithoutProperties","_excluded","getCountryNameByIso","createElement","_extends","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Value/SelectCountry/SelectCountry.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport { useTranslation, useValueProps } from '../../hooks'\nimport { ValueProps } from '../../types'\nimport ValueBlock from '../../ValueBlock'\nimport useCountry from './useCountry'\n\nexport type Props = ValueProps<string>\n\nfunction SelectCountry(props: Props) {\n const translations = useTranslation().SelectCountry\n const {\n value,\n className,\n label = translations.label,\n ...rest\n } = useValueProps(props)\n\n const { getCountryNameByIso } = useCountry()\n\n return (\n <ValueBlock\n label={label}\n className={classnames('dnb-forms-value-select-country', className)}\n {...rest}\n >\n {getCountryNameByIso(value)}\n </ValueBlock>\n )\n}\n\nSelectCountry.useCountry = useCountry\nSelectCountry._supportsSpacingProps = true\nexport default SelectCountry\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,cAAc,EAAEC,aAAa,QAAQ,aAAa;AAE3D,OAAOC,UAAU,MAAM,kBAAkB;AACzC,OAAOC,UAAU,MAAM,cAAc;AAIrC,SAASC,aAAaA,CAACC,KAAY,EAAE;EACnC,MAAMC,YAAY,GAAGN,cAAc,CAAC,CAAC,CAACI,aAAa;EACnD,MAAAG,cAAA,GAKIN,aAAa,CAACI,KAAK,CAAC;IALlB;MACJG,KAAK;MACLC,SAAS;MACTC,KAAK,GAAGJ,YAAY,CAACI;IAEvB,CAAC,GAAAH,cAAA;IADII,IAAI,GAAAC,wBAAA,CAAAL,cAAA,EAAAM,SAAA;EAGT,MAAM;IAAEC;EAAoB,CAAC,GAAGX,UAAU,CAAC,CAAC;EAE5C,OACEL,KAAA,CAAAiB,aAAA,CAACb,UAAU,EAAAc,QAAA;IACTN,KAAK,EAAEA,KAAM;IACbD,SAAS,EAAEV,UAAU,CAAC,gCAAgC,EAAEU,SAAS;EAAE,GAC/DE,IAAI,GAEPG,mBAAmB,CAACN,KAAK,CAChB,CAAC;AAEjB;AAEAJ,aAAa,CAACD,UAAU,GAAGA,UAAU;AACrCC,aAAa,CAACa,qBAAqB,GAAG,IAAI;AAC1C,eAAeb,aAAa","ignoreList":[]}
1
+ {"version":3,"file":"SelectCountry.js","names":["React","classnames","useTranslation","useValueProps","ValueBlock","useCountry","SelectCountry","props","translations","_useValueProps","value","className","label","rest","_objectWithoutProperties","_excluded","getCountryNameByIso","createElement","_extends","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Value/SelectCountry/SelectCountry.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport { useTranslation, useValueProps } from '../../hooks'\nimport { ValueProps } from '../../types'\nimport ValueBlock from '../../ValueBlock'\nimport useCountry from './useCountry'\nimport type { CountryISO } from '../../constants/countries'\n\nexport type Props = ValueProps<CountryISO>\n\nfunction SelectCountry(props: Props) {\n const translations = useTranslation().SelectCountry\n const {\n value,\n className,\n label = translations.label,\n ...rest\n } = useValueProps(props)\n\n const { getCountryNameByIso } = useCountry()\n\n return (\n <ValueBlock\n label={label}\n className={classnames('dnb-forms-value-select-country', className)}\n {...rest}\n >\n {getCountryNameByIso(value)}\n </ValueBlock>\n )\n}\n\nSelectCountry.useCountry = useCountry\nSelectCountry._supportsSpacingProps = true\nexport default SelectCountry\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,cAAc,EAAEC,aAAa,QAAQ,aAAa;AAE3D,OAAOC,UAAU,MAAM,kBAAkB;AACzC,OAAOC,UAAU,MAAM,cAAc;AAKrC,SAASC,aAAaA,CAACC,KAAY,EAAE;EACnC,MAAMC,YAAY,GAAGN,cAAc,CAAC,CAAC,CAACI,aAAa;EACnD,MAAAG,cAAA,GAKIN,aAAa,CAACI,KAAK,CAAC;IALlB;MACJG,KAAK;MACLC,SAAS;MACTC,KAAK,GAAGJ,YAAY,CAACI;IAEvB,CAAC,GAAAH,cAAA;IADII,IAAI,GAAAC,wBAAA,CAAAL,cAAA,EAAAM,SAAA;EAGT,MAAM;IAAEC;EAAoB,CAAC,GAAGX,UAAU,CAAC,CAAC;EAE5C,OACEL,KAAA,CAAAiB,aAAA,CAACb,UAAU,EAAAc,QAAA;IACTN,KAAK,EAAEA,KAAM;IACbD,SAAS,EAAEV,UAAU,CAAC,gCAAgC,EAAEU,SAAS;EAAE,GAC/DE,IAAI,GAEPG,mBAAmB,CAACN,KAAK,CAChB,CAAC;AAEjB;AAEAJ,aAAa,CAACD,UAAU,GAAGA,UAAU;AACrCC,aAAa,CAACa,qBAAqB,GAAG,IAAI;AAC1C,eAAeb,aAAa","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import { ValueProps } from '../../types';
2
+ import type { CurrencyISO } from '../../constants/currencies';
3
+ export type Props = ValueProps<CurrencyISO>;
4
+ declare function SelectCurrency(props: Props): import("react/jsx-runtime").JSX.Element;
5
+ declare namespace SelectCurrency {
6
+ var useCurrency: typeof import("./useCurrency").default;
7
+ var _supportsSpacingProps: boolean;
8
+ }
9
+ export default SelectCurrency;
@@ -0,0 +1,29 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ const _excluded = ["value", "className", "label"];
4
+ import React from 'react';
5
+ import classnames from 'classnames';
6
+ import { useTranslation, useValueProps } from '../../hooks';
7
+ import ValueBlock from '../../ValueBlock';
8
+ import useCurrency from './useCurrency';
9
+ function SelectCurrency(props) {
10
+ const translations = useTranslation().SelectCurrency;
11
+ const _useValueProps = useValueProps(props),
12
+ {
13
+ value,
14
+ className,
15
+ label = translations.label
16
+ } = _useValueProps,
17
+ rest = _objectWithoutProperties(_useValueProps, _excluded);
18
+ const {
19
+ getCurrencyDisplayNameByIso
20
+ } = useCurrency();
21
+ return React.createElement(ValueBlock, _extends({
22
+ label: label,
23
+ className: classnames('dnb-forms-value-select-currency', className)
24
+ }, rest), getCurrencyDisplayNameByIso(value));
25
+ }
26
+ SelectCurrency.useCurrency = useCurrency;
27
+ SelectCurrency._supportsSpacingProps = true;
28
+ export default SelectCurrency;
29
+ //# sourceMappingURL=SelectCurrency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectCurrency.js","names":["React","classnames","useTranslation","useValueProps","ValueBlock","useCurrency","SelectCurrency","props","translations","_useValueProps","value","className","label","rest","_objectWithoutProperties","_excluded","getCurrencyDisplayNameByIso","createElement","_extends","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Value/SelectCurrency/SelectCurrency.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport { useTranslation, useValueProps } from '../../hooks'\nimport { ValueProps } from '../../types'\nimport ValueBlock from '../../ValueBlock'\nimport useCurrency from './useCurrency'\nimport type { CurrencyISO } from '../../constants/currencies'\n\nexport type Props = ValueProps<CurrencyISO>\n\nfunction SelectCurrency(props: Props) {\n const translations = useTranslation().SelectCurrency\n const {\n value,\n className,\n label = translations.label,\n ...rest\n } = useValueProps(props)\n\n const { getCurrencyDisplayNameByIso } = useCurrency()\n\n return (\n <ValueBlock\n label={label}\n className={classnames('dnb-forms-value-select-currency', className)}\n {...rest}\n >\n {getCurrencyDisplayNameByIso(value)}\n </ValueBlock>\n )\n}\n\nSelectCurrency.useCurrency = useCurrency\nSelectCurrency._supportsSpacingProps = true\nexport default SelectCurrency\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,cAAc,EAAEC,aAAa,QAAQ,aAAa;AAE3D,OAAOC,UAAU,MAAM,kBAAkB;AACzC,OAAOC,WAAW,MAAM,eAAe;AAKvC,SAASC,cAAcA,CAACC,KAAY,EAAE;EACpC,MAAMC,YAAY,GAAGN,cAAc,CAAC,CAAC,CAACI,cAAc;EACpD,MAAAG,cAAA,GAKIN,aAAa,CAACI,KAAK,CAAC;IALlB;MACJG,KAAK;MACLC,SAAS;MACTC,KAAK,GAAGJ,YAAY,CAACI;IAEvB,CAAC,GAAAH,cAAA;IADII,IAAI,GAAAC,wBAAA,CAAAL,cAAA,EAAAM,SAAA;EAGT,MAAM;IAAEC;EAA4B,CAAC,GAAGX,WAAW,CAAC,CAAC;EAErD,OACEL,KAAA,CAAAiB,aAAA,CAACb,UAAU,EAAAc,QAAA;IACTN,KAAK,EAAEA,KAAM;IACbD,SAAS,EAAEV,UAAU,CAAC,iCAAiC,EAAEU,SAAS;EAAE,GAChEE,IAAI,GAEPG,2BAA2B,CAACN,KAAK,CACxB,CAAC;AAEjB;AAEAJ,cAAc,CAACD,WAAW,GAAGA,WAAW;AACxCC,cAAc,CAACa,qBAAqB,GAAG,IAAI;AAC3C,eAAeb,cAAc","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export { default } from './SelectCurrency';
2
+ export * from './SelectCurrency';
@@ -0,0 +1,3 @@
1
+ export { default } from './SelectCurrency';
2
+ export * from './SelectCurrency';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["default"],"sources":["../../../../../../src/extensions/forms/Value/SelectCurrency/index.ts"],"sourcesContent":["export { default } from './SelectCurrency'\nexport * from './SelectCurrency'\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,kBAAkB;AAC1C,cAAc,kBAAkB","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import { CurrencyType } from '../../constants/currencies';
2
+ export default function useCurrency(): {
3
+ getCurrencyDisplayNameByIso: (iso: CurrencyType['iso']) => string;
4
+ };
@@ -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":[]}
@@ -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,6 +26,9 @@ 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(() => {
29
+ if (!hasErrorInOtherStepRef.current) {
30
+ return;
31
+ }
28
32
  if (hasInvalidStepsState(['error'])) {
29
33
  return {
30
34
  status: translations.Step.stepHasError,
@@ -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","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 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(['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,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,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,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,MAAM,CAACC,MAAM,CAACpB,QAAQ,CAACI,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;IACFhC,IAAI,EAAEA,IAAK;IACXiC,YAAY,EAAE/B,WAAY;IAC1BgC,SAAS,EAAE/B,YAAa;IACxBW,UAAU,EAAEA,UAAW;IACvBqB,kBAAkB,EAAEnB,gBAAgB,CAAC;EAAE,CACxC,CACI,CAAC;AAEZ","ignoreList":[]}
@@ -15,8 +15,10 @@ export function IterateOverSteps({
15
15
  totalStepsRef,
16
16
  stepStatusRef,
17
17
  prerenderFieldProps,
18
- prerenderFieldPropsRef
18
+ prerenderFieldPropsRef,
19
+ hasErrorInOtherStepRef
19
20
  } = useContext(WizardContext);
21
+ hasErrorInOtherStepRef.current = false;
20
22
  stepsRef.current = {};
21
23
  let incrementIndex = -1;
22
24
  const translations = useTranslation();
@@ -54,6 +56,9 @@ export function IterateOverSteps({
54
56
  const status = index !== activeIndexRef.current ? state === 'error' ? translations.Step.stepHasError : state === 'unknown' ? 'Unknown state' : undefined : undefined;
55
57
  const statusState = state === 'error' ? 'error' : undefined;
56
58
  const key = `${index}-${activeIndexRef.current}`;
59
+ if (status) {
60
+ hasErrorInOtherStepRef.current = true;
61
+ }
57
62
  stepsRef.current[index] = {
58
63
  id,
59
64
  title,
@@ -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","useTranslation","convertJsxToString","WizardContext","Step","handleDeprecatedProps","handleDeprecatedStepProps","IterateOverSteps","children","check","stepsRef","activeIndexRef","totalStepsRef","stepStatusRef","prerenderFieldProps","prerenderFieldPropsRef","hasErrorInOtherStepRef","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 hasErrorInOtherStepRef,\n } = useContext(WizardContext)\n hasErrorInOtherStepRef.current = false\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 if (status) {\n hasErrorInOtherStepRef.current = true\n }\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":[]}
@@ -55,7 +55,8 @@ function WizardContainer(props) {
55
55
  const activeIndexRef = useRef(initialActiveIndex);
56
56
  const totalStepsRef = useRef(NaN);
57
57
  const stepStatusRef = useRef({});
58
- const fieldErrorRef = useRef({});
58
+ const hasVisibleErrorRef = useRef({});
59
+ const hasErrorInOtherStepRef = useRef(false);
59
60
  const visitedStepsRef = useRef({});
60
61
  const elementRef = useRef();
61
62
  const stepElementRef = useRef();
@@ -72,7 +73,7 @@ function WizardContainer(props) {
72
73
  stepStatusRef.current[index] = state;
73
74
  }, []);
74
75
  const hasFieldErrorInStep = useCallback(index => {
75
- return Object.values(fieldErrorRef.current).some(({
76
+ return Object.values(hasVisibleErrorRef.current).some(({
76
77
  index: i,
77
78
  hasError
78
79
  }) => {
@@ -80,7 +81,7 @@ function WizardContainer(props) {
80
81
  });
81
82
  }, []);
82
83
  const revealError = useCallback((index, path, hasError) => {
83
- fieldErrorRef.current[path] = {
84
+ hasVisibleErrorRef.current[path] = {
84
85
  index,
85
86
  hasError
86
87
  };
@@ -267,6 +268,7 @@ function WizardContainer(props) {
267
268
  stepStatusRef,
268
269
  prerenderFieldProps,
269
270
  prerenderFieldPropsRef,
271
+ hasErrorInOtherStepRef,
270
272
  keepInDOM,
271
273
  check,
272
274
  setActiveIndex,
@@ -1 +1 @@
1
- {"version":3,"file":"WizardContainer.js","names":["React","useContext","useCallback","useRef","useReducer","useMemo","classnames","Space","warn","isAsync","useId","WizardContext","DataContext","Handler","createReferenceKey","useSharedState","useHandleLayoutEffect","useStepAnimation","useVisibility","DisplaySteps","IterateOverSteps","PrerenderFieldPropsOfOtherSteps","useLayoutEffect","window","useEffect","WizardContainer","props","_dataContext$setHandl","className","id","idProp","mode","initialActiveIndex","omitScrollManagement","omitFocusManagement","onStepChange","children","noAnimation","prerenderFieldProps","keepInDOM","validationMode","variant","sidebarId","rest","_objectWithoutProperties","_excluded","dataContext","hasContext","setFormState","handleSubmitCall","setShowAllErrors","setSubmitState","forceUpdate","activeIndexRef","totalStepsRef","NaN","stepStatusRef","fieldErrorRef","visitedStepsRef","elementRef","stepElementRef","preventNextStepRef","stepsRef","tmpStepsRef","updateTitlesRef","prerenderFieldPropsRef","bypassOnNavigation","sharedStateRef","current","undefined","setStepState","index","state","hasFieldErrorInStep","Object","values","some","i","hasError","revealError","path","activeIndex","hasErrorInActiveStep","currentState","includes","preventNavigation","shouldPrevent","getStepChangeOptions","_stepsRef$current$ind","previousIndex","options","previousStep","_stepsRef$current$pre","previousId","assign","callOnStepChange","setFocus","scrollToTop","isInteractionRef","executeLayoutAnimationRef","handleLayoutEffect","handleStepChange","skipErrorCheck","skipStepChangeCall","skipStepChangeCallBeforeMounted","skipStepChangeCallFromHook","didSubmit","onSubmit","_sharedStateRef$curre","_sharedStateRef$curre2","_sharedStateRef$curre3","data","call","result","Error","skipFieldValidation","enableAsyncBehavior","setActiveIndex","_objectSpread","handlePrevious","handleNext","handleChange","current_step","setFormError","error","handleUnknownStepsState","hasInvalidStepsState","forStates","steps","handleSubmit","preventSubmit","setHandleSubmit","check","providerValue","extend","_updateTitlesRef$curr","stepsLengthDidChange","count","keys","length","tmpCount","_executeLayoutAnimati","createElement","_extends","Provider","value","innerRef","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Container/WizardContainer.tsx"],"sourcesContent":["import React, {\n useContext,\n useCallback,\n useRef,\n useReducer,\n useMemo,\n} from 'react'\nimport classnames from 'classnames'\nimport { Space } from '../../../../components'\nimport { warn } from '../../../../shared/component-helper'\nimport { isAsync } from '../../../../shared/helpers/isAsync'\nimport useId from '../../../../shared/helpers/useId'\nimport WizardContext, {\n WizardContextState,\n} from '../Context/WizardContext'\nimport type {\n OnStepChange,\n OnStepChangeOptions,\n OnStepsChangeMode,\n SetActiveIndexOptions,\n StepIndex,\n Steps,\n InternalFieldError,\n InternalStepStatus,\n InternalStepStatuses,\n InternalVisitedSteps,\n} from '../Context/types'\nimport DataContext from '../../DataContext/Context'\nimport Handler from '../../Form/Handler/Handler'\nimport {\n SharedStateReturn,\n createReferenceKey,\n useSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport useHandleLayoutEffect from './useHandleLayoutEffect'\nimport useStepAnimation from './useStepAnimation'\nimport { ComponentProps } from '../../types'\nimport useVisibility from '../../Form/Visibility/useVisibility'\nimport { DisplaySteps } from './DisplaySteps'\nimport { IterateOverSteps } from './IterateOverSteps'\nimport { PrerenderFieldPropsOfOtherSteps } from './PrerenderFieldPropsOfOtherSteps'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport type Props = ComponentProps & {\n id?: string\n\n /**\n * The mode of the wizard.\n */\n mode?: 'static' | 'strict' | 'loose'\n\n /**\n * If set to `true`, the wizard will not scroll to the first step when the user clicks on the next button.\n */\n omitScrollManagement?: boolean\n\n /**\n * If set to `true`, the wizard will not focus on the next step when the user clicks on the next button.\n */\n omitFocusManagement?: boolean\n\n /**\n * The index of the first step to be rendered.\n */\n initialActiveIndex?: StepIndex\n\n /**\n * The callback function that will be called when the user clicks on the next button.\n */\n onStepChange?: OnStepChange\n\n /**\n * The sidebar variant.\n */\n variant?: 'sidebar' | 'drawer'\n sidebarId?: string\n\n /**\n * If set to `true`, the wizard will not animate the steps.\n */\n noAnimation?: boolean\n\n /**\n * If set to `true`, the wizard will not unmount the steps when navigating back and forth.\n */\n keepInDOM?: boolean\n\n /**\n * If set to `true`, the wizard pre-render all steps so the props of each field is available in the data context.\n * Defaults to `true`.\n */\n prerenderFieldProps?: boolean\n\n /**\n * Determines if and how the validation will be bypassed.\n */\n validationMode?: 'bypassOnNavigation'\n\n /**\n * The children of the wizard container.\n */\n children: React.ReactNode\n\n /**\n * @deprecated Is enabled by default. You can disable it with \"omitScrollManagement\"\n */\n scrollTopOnStepChange?: boolean\n}\n\nfunction WizardContainer(props: Props) {\n const {\n className,\n id: idProp,\n mode = 'strict',\n initialActiveIndex = 0,\n omitScrollManagement,\n omitFocusManagement,\n onStepChange,\n children,\n noAnimation = true,\n prerenderFieldProps = true,\n keepInDOM,\n validationMode,\n variant = 'sidebar',\n sidebarId,\n ...rest\n } = props\n\n const dataContext = useContext(DataContext)\n const {\n hasContext,\n setFormState,\n handleSubmitCall,\n setShowAllErrors,\n setSubmitState,\n } = dataContext\n\n const id = useId(idProp)\n const [, forceUpdate] = useReducer(() => ({}), {})\n const activeIndexRef = useRef<StepIndex>(initialActiveIndex)\n const totalStepsRef = useRef<number>(NaN)\n const stepStatusRef = useRef<InternalStepStatuses>({})\n const fieldErrorRef = useRef<InternalFieldError>({})\n const visitedStepsRef = useRef<InternalVisitedSteps>({})\n const elementRef = useRef<HTMLElement>()\n const stepElementRef = useRef<HTMLElement>()\n const preventNextStepRef = useRef(false)\n const stepsRef = useRef<Steps>({})\n const tmpStepsRef = useRef<Steps>({})\n const updateTitlesRef = useRef<() => void>()\n const prerenderFieldPropsRef = useRef<\n Record<string, () => React.ReactElement>\n >({})\n\n const bypassOnNavigation = validationMode === 'bypassOnNavigation'\n\n // - Handle shared state\n const sharedStateRef =\n useRef<\n SharedStateReturn<\n WizardContextState & { onStepChange?: OnStepChange }\n >\n >()\n sharedStateRef.current = useSharedState<WizardContextState>(\n hasContext && id ? createReferenceKey(id, 'wizard') : undefined\n )\n\n visitedStepsRef.current[activeIndexRef.current] = true\n\n const setStepState = useCallback(\n (index: number, state: InternalStepStatus) => {\n stepStatusRef.current[index] = state\n },\n []\n )\n const hasFieldErrorInStep = useCallback((index: StepIndex) => {\n return Object.values(fieldErrorRef.current).some(\n ({ index: i, hasError }) => {\n return i === index && hasError\n }\n )\n }, [])\n const revealError: WizardContextState['revealError'] = useCallback(\n (index, path, hasError) => {\n fieldErrorRef.current[path] = { index, hasError }\n\n if (hasFieldErrorInStep(index)) {\n setStepState(index, 'error')\n }\n },\n [hasFieldErrorInStep, setStepState]\n )\n\n const activeIndex = activeIndexRef.current\n const hasErrorInActiveStep = hasFieldErrorInStep(activeIndex)\n useMemo(() => {\n const currentState = stepStatusRef.current[activeIndex]\n if (\n !hasErrorInActiveStep &&\n ['error', 'valid'].includes(currentState)\n ) {\n setStepState(activeIndex, 'valid')\n } else {\n setStepState(activeIndex, hasErrorInActiveStep ? 'error' : undefined)\n }\n }, [activeIndex, hasErrorInActiveStep, setStepState])\n\n const preventNavigation = useCallback((shouldPrevent = true) => {\n preventNextStepRef.current = shouldPrevent\n }, [])\n\n const getStepChangeOptions: (index: StepIndex) => OnStepChangeOptions =\n useCallback(\n (index) => {\n const previousIndex = activeIndexRef.current\n const options = {\n preventNavigation,\n previousStep: { index: previousIndex },\n }\n\n const id = stepsRef.current[index]?.id\n if (id) {\n const previousId = stepsRef.current[previousIndex]?.id\n Object.assign(options, { id })\n Object.assign(options.previousStep, { id: previousId })\n }\n\n return options\n },\n [preventNavigation]\n )\n\n const callOnStepChange = useCallback(\n async (index: StepIndex, mode: OnStepsChangeMode) => {\n if (isAsync(onStepChange)) {\n return await onStepChange(index, mode, getStepChangeOptions(index))\n }\n\n return onStepChange?.(index, mode, getStepChangeOptions(index))\n },\n [getStepChangeOptions, onStepChange]\n )\n\n const { setFocus, scrollToTop, isInteractionRef } =\n useHandleLayoutEffect({ elementRef, stepElementRef })\n\n const executeLayoutAnimationRef = useRef<() => void>()\n useStepAnimation({\n activeIndexRef,\n stepElementRef,\n executeLayoutAnimationRef,\n })\n\n const handleLayoutEffect = useCallback(() => {\n if (!omitFocusManagement) {\n setFocus()\n }\n if (!omitScrollManagement) {\n scrollToTop()\n }\n }, [omitScrollManagement, omitFocusManagement, setFocus, scrollToTop])\n\n const handleStepChange = useCallback(\n async ({\n index,\n skipErrorCheck,\n skipStepChangeCall,\n skipStepChangeCallBeforeMounted,\n skipStepChangeCallFromHook,\n mode,\n }: {\n index: StepIndex\n mode: OnStepsChangeMode\n } & SetActiveIndexOptions) => {\n let didSubmit = false\n const onSubmit = async () => {\n if (!skipStepChangeCallFromHook) {\n sharedStateRef.current?.data?.onStepChange?.(\n index,\n mode,\n getStepChangeOptions(index)\n )\n }\n\n let result = undefined\n\n if (\n !skipStepChangeCall &&\n !(skipStepChangeCallBeforeMounted && !isInteractionRef.current)\n ) {\n result = await callOnStepChange(index, mode)\n }\n\n // Hide async indicator\n setFormState('abort')\n\n // Set the \"showAllErrors\" to the step we got to\n setShowAllErrors(\n bypassOnNavigation\n ? false\n : stepStatusRef.current[index] === 'error'\n )\n\n if (!preventNextStepRef.current && !(result instanceof Error)) {\n handleLayoutEffect()\n\n activeIndexRef.current = index\n forceUpdate()\n }\n\n preventNextStepRef.current = false\n didSubmit = true\n\n return result\n }\n\n await handleSubmitCall({\n skipErrorCheck,\n skipFieldValidation: skipErrorCheck,\n enableAsyncBehavior: isAsync(onStepChange),\n onSubmit: bypassOnNavigation ? () => null : onSubmit,\n })\n\n if (!didSubmit) {\n if (bypassOnNavigation) {\n await onSubmit()\n } else {\n // In case steps were visited before, or they use the \"keepInDOM\" prop,\n // we need to check the step status, because other steps may report an error,\n // so the user will not be able to navigate to the next step,\n // because the form contains errors. Thats why onSubmit will not be called via handleSubmitCall.\n const state = stepStatusRef.current[activeIndexRef.current]\n if (mode === 'next' && state === 'valid') {\n await onSubmit()\n }\n }\n }\n },\n [\n bypassOnNavigation,\n callOnStepChange,\n getStepChangeOptions,\n handleLayoutEffect,\n handleSubmitCall,\n isInteractionRef,\n onStepChange,\n setFormState,\n setShowAllErrors,\n ]\n )\n\n const setActiveIndex = useCallback(\n (index: StepIndex, options?: SetActiveIndexOptions) => {\n if (index === activeIndexRef.current) {\n return\n }\n\n const mode = index > activeIndexRef.current ? 'next' : 'previous'\n\n handleStepChange({\n index,\n skipErrorCheck: mode === 'previous',\n mode,\n ...options,\n })\n },\n [handleStepChange]\n )\n\n const handlePrevious = useCallback(() => {\n setActiveIndex(activeIndexRef.current - 1)\n }, [setActiveIndex])\n\n const handleNext = useCallback(() => {\n setActiveIndex(activeIndexRef.current + 1)\n }, [setActiveIndex])\n\n const handleChange = useCallback(\n ({ current_step }) => {\n setActiveIndex(\n current_step,\n mode === 'loose' ? { skipErrorCheck: true } : undefined\n )\n },\n [mode, setActiveIndex]\n )\n\n const setFormError = useCallback(\n (error: Error) => {\n setSubmitState?.({ error })\n },\n [setSubmitState]\n )\n\n const handleUnknownStepsState = useCallback(() => {\n const index = activeIndexRef.current\n for (let i = 0; i < totalStepsRef.current; i++) {\n // - Check if the step was visited before,\n // - if, not check if the step has already an state,\n // - if, not check if the step is before the active step and and below.\n // - Only then set the state to \"unknown\"\n if (\n !visitedStepsRef.current[i] &&\n stepStatusRef.current[i] === undefined &&\n i < index &&\n i !== index\n ) {\n setStepState(i, 'unknown')\n }\n }\n }, [setStepState])\n\n const hasInvalidStepsState: WizardContextState['hasInvalidStepsState'] =\n useCallback((forStates) => {\n const steps = Object.values(stepStatusRef.current)\n return (forStates || ['unknown', 'error']).some((state) =>\n steps.includes(state)\n )\n }, [])\n\n const handleSubmit = useCallback(\n ({ preventSubmit }) => {\n handleUnknownStepsState()\n\n // - If there is an unknown step state, we need to prevent the submit\n if (hasInvalidStepsState()) {\n return preventSubmit()\n }\n\n if (activeIndexRef.current + 1 < totalStepsRef.current) {\n handleNext()\n preventSubmit()\n }\n },\n [handleUnknownStepsState, hasInvalidStepsState, handleNext]\n )\n dataContext.setHandleSubmit?.(handleSubmit)\n\n const { check } = useVisibility()\n\n const providerValue = useMemo<WizardContextState>(() => {\n return {\n id,\n activeIndex,\n initialActiveIndex,\n stepElementRef,\n stepsRef,\n updateTitlesRef,\n activeIndexRef,\n totalStepsRef,\n stepStatusRef,\n prerenderFieldProps,\n prerenderFieldPropsRef,\n keepInDOM,\n check,\n setActiveIndex,\n handlePrevious,\n hasInvalidStepsState,\n revealError,\n handleNext,\n setFormError,\n }\n }, [\n id,\n activeIndex,\n initialActiveIndex,\n prerenderFieldProps,\n keepInDOM,\n check,\n setActiveIndex,\n handlePrevious,\n hasInvalidStepsState,\n revealError,\n handleNext,\n setFormError,\n ])\n\n // - Handle shared state\n useLayoutEffect(() => {\n if (id && hasContext) {\n sharedStateRef.current.extend(providerValue)\n }\n }, [hasContext, id, providerValue])\n\n useLayoutEffect(() => {\n updateTitlesRef.current?.()\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [stepsRef.current])\n\n const stepsLengthDidChange = useCallback(() => {\n const count = Object.keys(stepsRef.current).length\n const tmpCount = Object.keys(tmpStepsRef.current).length\n return count !== 0 && tmpCount !== 0 && count !== tmpCount\n }, [])\n\n // - Call onStepChange when step gets replaced or added (e.g. via includeWhen)\n useLayoutEffect(() => {\n if (stepsLengthDidChange()) {\n callOnStepChange(activeIndexRef.current, 'stepListModified')\n executeLayoutAnimationRef.current?.()\n }\n tmpStepsRef.current = stepsRef.current\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [stepsRef.current, callOnStepChange, stepsLengthDidChange])\n\n if (!hasContext) {\n warn('You may wrap Wizard.Container in Form.Handler')\n return (\n <Handler>\n <WizardContainer {...props} id={id} />\n </Handler>\n )\n }\n\n return (\n <WizardContext.Provider value={providerValue}>\n <Space\n className={classnames(\n 'dnb-forms-wizard-layout',\n `dnb-forms-wizard-layout--${variant}`,\n className\n )}\n innerRef={elementRef}\n {...rest}\n >\n <DisplaySteps\n mode={mode}\n variant={variant}\n noAnimation={noAnimation}\n handleChange={handleChange}\n sidebarId={sidebarId}\n />\n\n <div className=\"dnb-forms-wizard-layout__contents\">\n <IterateOverSteps>{children}</IterateOverSteps>\n </div>\n </Space>\n\n {prerenderFieldProps && !keepInDOM && (\n <PrerenderFieldPropsOfOtherSteps\n prerenderFieldPropsRef={prerenderFieldPropsRef}\n />\n )}\n </WizardContext.Provider>\n )\n}\n\nWizardContainer._supportsSpacingProps = true\n\nexport default WizardContainer\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"WizardContainer.js","names":["React","useContext","useCallback","useRef","useReducer","useMemo","classnames","Space","warn","isAsync","useId","WizardContext","DataContext","Handler","createReferenceKey","useSharedState","useHandleLayoutEffect","useStepAnimation","useVisibility","DisplaySteps","IterateOverSteps","PrerenderFieldPropsOfOtherSteps","useLayoutEffect","window","useEffect","WizardContainer","props","_dataContext$setHandl","className","id","idProp","mode","initialActiveIndex","omitScrollManagement","omitFocusManagement","onStepChange","children","noAnimation","prerenderFieldProps","keepInDOM","validationMode","variant","sidebarId","rest","_objectWithoutProperties","_excluded","dataContext","hasContext","setFormState","handleSubmitCall","setShowAllErrors","setSubmitState","forceUpdate","activeIndexRef","totalStepsRef","NaN","stepStatusRef","hasVisibleErrorRef","hasErrorInOtherStepRef","visitedStepsRef","elementRef","stepElementRef","preventNextStepRef","stepsRef","tmpStepsRef","updateTitlesRef","prerenderFieldPropsRef","bypassOnNavigation","sharedStateRef","current","undefined","setStepState","index","state","hasFieldErrorInStep","Object","values","some","i","hasError","revealError","path","activeIndex","hasErrorInActiveStep","currentState","includes","preventNavigation","shouldPrevent","getStepChangeOptions","_stepsRef$current$ind","previousIndex","options","previousStep","_stepsRef$current$pre","previousId","assign","callOnStepChange","setFocus","scrollToTop","isInteractionRef","executeLayoutAnimationRef","handleLayoutEffect","handleStepChange","skipErrorCheck","skipStepChangeCall","skipStepChangeCallBeforeMounted","skipStepChangeCallFromHook","didSubmit","onSubmit","_sharedStateRef$curre","_sharedStateRef$curre2","_sharedStateRef$curre3","data","call","result","Error","skipFieldValidation","enableAsyncBehavior","setActiveIndex","_objectSpread","handlePrevious","handleNext","handleChange","current_step","setFormError","error","handleUnknownStepsState","hasInvalidStepsState","forStates","steps","handleSubmit","preventSubmit","setHandleSubmit","check","providerValue","extend","_updateTitlesRef$curr","stepsLengthDidChange","count","keys","length","tmpCount","_executeLayoutAnimati","createElement","_extends","Provider","value","innerRef","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Container/WizardContainer.tsx"],"sourcesContent":["import React, {\n useContext,\n useCallback,\n useRef,\n useReducer,\n useMemo,\n} from 'react'\nimport classnames from 'classnames'\nimport { Space } from '../../../../components'\nimport { warn } from '../../../../shared/component-helper'\nimport { isAsync } from '../../../../shared/helpers/isAsync'\nimport useId from '../../../../shared/helpers/useId'\nimport WizardContext, {\n WizardContextState,\n} from '../Context/WizardContext'\nimport type {\n OnStepChange,\n OnStepChangeOptions,\n OnStepsChangeMode,\n SetActiveIndexOptions,\n StepIndex,\n Steps,\n InternalFieldError,\n InternalStepStatus,\n InternalStepStatuses,\n InternalVisitedSteps,\n} from '../Context/types'\nimport DataContext from '../../DataContext/Context'\nimport Handler from '../../Form/Handler/Handler'\nimport {\n SharedStateReturn,\n createReferenceKey,\n useSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport useHandleLayoutEffect from './useHandleLayoutEffect'\nimport useStepAnimation from './useStepAnimation'\nimport { ComponentProps } from '../../types'\nimport useVisibility from '../../Form/Visibility/useVisibility'\nimport { DisplaySteps } from './DisplaySteps'\nimport { IterateOverSteps } from './IterateOverSteps'\nimport { PrerenderFieldPropsOfOtherSteps } from './PrerenderFieldPropsOfOtherSteps'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport type Props = ComponentProps & {\n id?: string\n\n /**\n * The mode of the wizard.\n */\n mode?: 'static' | 'strict' | 'loose'\n\n /**\n * If set to `true`, the wizard will not scroll to the first step when the user clicks on the next button.\n */\n omitScrollManagement?: boolean\n\n /**\n * If set to `true`, the wizard will not focus on the next step when the user clicks on the next button.\n */\n omitFocusManagement?: boolean\n\n /**\n * The index of the first step to be rendered.\n */\n initialActiveIndex?: StepIndex\n\n /**\n * The callback function that will be called when the user clicks on the next button.\n */\n onStepChange?: OnStepChange\n\n /**\n * The sidebar variant.\n */\n variant?: 'sidebar' | 'drawer'\n sidebarId?: string\n\n /**\n * If set to `true`, the wizard will not animate the steps.\n */\n noAnimation?: boolean\n\n /**\n * If set to `true`, the wizard will not unmount the steps when navigating back and forth.\n */\n keepInDOM?: boolean\n\n /**\n * If set to `true`, the wizard pre-render all steps so the props of each field is available in the data context.\n * Defaults to `true`.\n */\n prerenderFieldProps?: boolean\n\n /**\n * Determines if and how the validation will be bypassed.\n */\n validationMode?: 'bypassOnNavigation'\n\n /**\n * The children of the wizard container.\n */\n children: React.ReactNode\n\n /**\n * @deprecated Is enabled by default. You can disable it with \"omitScrollManagement\"\n */\n scrollTopOnStepChange?: boolean\n}\n\nfunction WizardContainer(props: Props) {\n const {\n className,\n id: idProp,\n mode = 'strict',\n initialActiveIndex = 0,\n omitScrollManagement,\n omitFocusManagement,\n onStepChange,\n children,\n noAnimation = true,\n prerenderFieldProps = true,\n keepInDOM,\n validationMode,\n variant = 'sidebar',\n sidebarId,\n ...rest\n } = props\n\n const dataContext = useContext(DataContext)\n const {\n hasContext,\n setFormState,\n handleSubmitCall,\n setShowAllErrors,\n setSubmitState,\n } = dataContext\n\n const id = useId(idProp)\n const [, forceUpdate] = useReducer(() => ({}), {})\n const activeIndexRef = useRef<StepIndex>(initialActiveIndex)\n const totalStepsRef = useRef<number>(NaN)\n const stepStatusRef = useRef<InternalStepStatuses>({})\n const hasVisibleErrorRef = useRef<InternalFieldError>({})\n const hasErrorInOtherStepRef = useRef<boolean>(false)\n const visitedStepsRef = useRef<InternalVisitedSteps>({})\n const elementRef = useRef<HTMLElement>()\n const stepElementRef = useRef<HTMLElement>()\n const preventNextStepRef = useRef(false)\n const stepsRef = useRef<Steps>({})\n const tmpStepsRef = useRef<Steps>({})\n const updateTitlesRef = useRef<() => void>()\n const prerenderFieldPropsRef = useRef<\n Record<string, () => React.ReactElement>\n >({})\n\n const bypassOnNavigation = validationMode === 'bypassOnNavigation'\n\n // - Handle shared state\n const sharedStateRef =\n useRef<\n SharedStateReturn<\n WizardContextState & { onStepChange?: OnStepChange }\n >\n >()\n sharedStateRef.current = useSharedState<WizardContextState>(\n hasContext && id ? createReferenceKey(id, 'wizard') : undefined\n )\n\n visitedStepsRef.current[activeIndexRef.current] = true\n\n const setStepState = useCallback(\n (index: number, state: InternalStepStatus) => {\n stepStatusRef.current[index] = state\n },\n []\n )\n const hasFieldErrorInStep = useCallback((index: StepIndex) => {\n return Object.values(hasVisibleErrorRef.current).some(\n ({ index: i, hasError }) => {\n return i === index && hasError\n }\n )\n }, [])\n const revealError: WizardContextState['revealError'] = useCallback(\n (index, path, hasError) => {\n hasVisibleErrorRef.current[path] = { index, hasError }\n\n if (hasFieldErrorInStep(index)) {\n setStepState(index, 'error')\n }\n },\n [hasFieldErrorInStep, setStepState]\n )\n\n const activeIndex = activeIndexRef.current\n const hasErrorInActiveStep = hasFieldErrorInStep(activeIndex)\n useMemo(() => {\n const currentState = stepStatusRef.current[activeIndex]\n if (\n !hasErrorInActiveStep &&\n ['error', 'valid'].includes(currentState)\n ) {\n setStepState(activeIndex, 'valid')\n } else {\n setStepState(activeIndex, hasErrorInActiveStep ? 'error' : undefined)\n }\n }, [activeIndex, hasErrorInActiveStep, setStepState])\n\n const preventNavigation = useCallback((shouldPrevent = true) => {\n preventNextStepRef.current = shouldPrevent\n }, [])\n\n const getStepChangeOptions: (index: StepIndex) => OnStepChangeOptions =\n useCallback(\n (index) => {\n const previousIndex = activeIndexRef.current\n const options = {\n preventNavigation,\n previousStep: { index: previousIndex },\n }\n\n const id = stepsRef.current[index]?.id\n if (id) {\n const previousId = stepsRef.current[previousIndex]?.id\n Object.assign(options, { id })\n Object.assign(options.previousStep, { id: previousId })\n }\n\n return options\n },\n [preventNavigation]\n )\n\n const callOnStepChange = useCallback(\n async (index: StepIndex, mode: OnStepsChangeMode) => {\n if (isAsync(onStepChange)) {\n return await onStepChange(index, mode, getStepChangeOptions(index))\n }\n\n return onStepChange?.(index, mode, getStepChangeOptions(index))\n },\n [getStepChangeOptions, onStepChange]\n )\n\n const { setFocus, scrollToTop, isInteractionRef } =\n useHandleLayoutEffect({ elementRef, stepElementRef })\n\n const executeLayoutAnimationRef = useRef<() => void>()\n useStepAnimation({\n activeIndexRef,\n stepElementRef,\n executeLayoutAnimationRef,\n })\n\n const handleLayoutEffect = useCallback(() => {\n if (!omitFocusManagement) {\n setFocus()\n }\n if (!omitScrollManagement) {\n scrollToTop()\n }\n }, [omitScrollManagement, omitFocusManagement, setFocus, scrollToTop])\n\n const handleStepChange = useCallback(\n async ({\n index,\n skipErrorCheck,\n skipStepChangeCall,\n skipStepChangeCallBeforeMounted,\n skipStepChangeCallFromHook,\n mode,\n }: {\n index: StepIndex\n mode: OnStepsChangeMode\n } & SetActiveIndexOptions) => {\n let didSubmit = false\n const onSubmit = async () => {\n if (!skipStepChangeCallFromHook) {\n sharedStateRef.current?.data?.onStepChange?.(\n index,\n mode,\n getStepChangeOptions(index)\n )\n }\n\n let result = undefined\n\n if (\n !skipStepChangeCall &&\n !(skipStepChangeCallBeforeMounted && !isInteractionRef.current)\n ) {\n result = await callOnStepChange(index, mode)\n }\n\n // Hide async indicator\n setFormState('abort')\n\n // Set the \"showAllErrors\" to the step we got to\n setShowAllErrors(\n bypassOnNavigation\n ? false\n : stepStatusRef.current[index] === 'error'\n )\n\n if (!preventNextStepRef.current && !(result instanceof Error)) {\n handleLayoutEffect()\n\n activeIndexRef.current = index\n forceUpdate()\n }\n\n preventNextStepRef.current = false\n didSubmit = true\n\n return result\n }\n\n await handleSubmitCall({\n skipErrorCheck,\n skipFieldValidation: skipErrorCheck,\n enableAsyncBehavior: isAsync(onStepChange),\n onSubmit: bypassOnNavigation ? () => null : onSubmit,\n })\n\n if (!didSubmit) {\n if (bypassOnNavigation) {\n await onSubmit()\n } else {\n // In case steps were visited before, or they use the \"keepInDOM\" prop,\n // we need to check the step status, because other steps may report an error,\n // so the user will not be able to navigate to the next step,\n // because the form contains errors. Thats why onSubmit will not be called via handleSubmitCall.\n const state = stepStatusRef.current[activeIndexRef.current]\n if (mode === 'next' && state === 'valid') {\n await onSubmit()\n }\n }\n }\n },\n [\n bypassOnNavigation,\n callOnStepChange,\n getStepChangeOptions,\n handleLayoutEffect,\n handleSubmitCall,\n isInteractionRef,\n onStepChange,\n setFormState,\n setShowAllErrors,\n ]\n )\n\n const setActiveIndex = useCallback(\n (index: StepIndex, options?: SetActiveIndexOptions) => {\n if (index === activeIndexRef.current) {\n return\n }\n\n const mode = index > activeIndexRef.current ? 'next' : 'previous'\n\n handleStepChange({\n index,\n skipErrorCheck: mode === 'previous',\n mode,\n ...options,\n })\n },\n [handleStepChange]\n )\n\n const handlePrevious = useCallback(() => {\n setActiveIndex(activeIndexRef.current - 1)\n }, [setActiveIndex])\n\n const handleNext = useCallback(() => {\n setActiveIndex(activeIndexRef.current + 1)\n }, [setActiveIndex])\n\n const handleChange = useCallback(\n ({ current_step }) => {\n setActiveIndex(\n current_step,\n mode === 'loose' ? { skipErrorCheck: true } : undefined\n )\n },\n [mode, setActiveIndex]\n )\n\n const setFormError = useCallback(\n (error: Error) => {\n setSubmitState?.({ error })\n },\n [setSubmitState]\n )\n\n const handleUnknownStepsState = useCallback(() => {\n const index = activeIndexRef.current\n for (let i = 0; i < totalStepsRef.current; i++) {\n // - Check if the step was visited before,\n // - if, not check if the step has already an state,\n // - if, not check if the step is before the active step and and below.\n // - Only then set the state to \"unknown\"\n if (\n !visitedStepsRef.current[i] &&\n stepStatusRef.current[i] === undefined &&\n i < index &&\n i !== index\n ) {\n setStepState(i, 'unknown')\n }\n }\n }, [setStepState])\n\n const hasInvalidStepsState: WizardContextState['hasInvalidStepsState'] =\n useCallback((forStates) => {\n const steps = Object.values(stepStatusRef.current)\n return (forStates || ['unknown', 'error']).some((state) =>\n steps.includes(state)\n )\n }, [])\n\n const handleSubmit = useCallback(\n ({ preventSubmit }) => {\n handleUnknownStepsState()\n\n // - If there is an unknown step state, we need to prevent the submit\n if (hasInvalidStepsState()) {\n return preventSubmit()\n }\n\n if (activeIndexRef.current + 1 < totalStepsRef.current) {\n handleNext()\n preventSubmit()\n }\n },\n [handleUnknownStepsState, hasInvalidStepsState, handleNext]\n )\n dataContext.setHandleSubmit?.(handleSubmit)\n\n const { check } = useVisibility()\n\n const providerValue = useMemo<WizardContextState>(() => {\n return {\n id,\n activeIndex,\n initialActiveIndex,\n stepElementRef,\n stepsRef,\n updateTitlesRef,\n activeIndexRef,\n totalStepsRef,\n stepStatusRef,\n prerenderFieldProps,\n prerenderFieldPropsRef,\n hasErrorInOtherStepRef,\n keepInDOM,\n check,\n setActiveIndex,\n handlePrevious,\n hasInvalidStepsState,\n revealError,\n handleNext,\n setFormError,\n }\n }, [\n id,\n activeIndex,\n initialActiveIndex,\n prerenderFieldProps,\n keepInDOM,\n check,\n setActiveIndex,\n handlePrevious,\n hasInvalidStepsState,\n revealError,\n handleNext,\n setFormError,\n ])\n\n // - Handle shared state\n useLayoutEffect(() => {\n if (id && hasContext) {\n sharedStateRef.current.extend(providerValue)\n }\n }, [hasContext, id, providerValue])\n\n useLayoutEffect(() => {\n updateTitlesRef.current?.()\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [stepsRef.current])\n\n const stepsLengthDidChange = useCallback(() => {\n const count = Object.keys(stepsRef.current).length\n const tmpCount = Object.keys(tmpStepsRef.current).length\n return count !== 0 && tmpCount !== 0 && count !== tmpCount\n }, [])\n\n // - Call onStepChange when step gets replaced or added (e.g. via includeWhen)\n useLayoutEffect(() => {\n if (stepsLengthDidChange()) {\n callOnStepChange(activeIndexRef.current, 'stepListModified')\n executeLayoutAnimationRef.current?.()\n }\n tmpStepsRef.current = stepsRef.current\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [stepsRef.current, callOnStepChange, stepsLengthDidChange])\n\n if (!hasContext) {\n warn('You may wrap Wizard.Container in Form.Handler')\n return (\n <Handler>\n <WizardContainer {...props} id={id} />\n </Handler>\n )\n }\n\n return (\n <WizardContext.Provider value={providerValue}>\n <Space\n className={classnames(\n 'dnb-forms-wizard-layout',\n `dnb-forms-wizard-layout--${variant}`,\n className\n )}\n innerRef={elementRef}\n {...rest}\n >\n <DisplaySteps\n mode={mode}\n variant={variant}\n noAnimation={noAnimation}\n handleChange={handleChange}\n sidebarId={sidebarId}\n />\n\n <div className=\"dnb-forms-wizard-layout__contents\">\n <IterateOverSteps>{children}</IterateOverSteps>\n </div>\n </Space>\n\n {prerenderFieldProps && !keepInDOM && (\n <PrerenderFieldPropsOfOtherSteps\n prerenderFieldPropsRef={prerenderFieldPropsRef}\n />\n )}\n </WizardContext.Provider>\n )\n}\n\nWizardContainer._supportsSpacingProps = true\n\nexport default WizardContainer\n"],"mappings":"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","ignoreList":[]}
@@ -14,6 +14,7 @@ export interface WizardContextState {
14
14
  totalStepsRef?: React.MutableRefObject<number>;
15
15
  stepStatusRef?: React.MutableRefObject<InternalStepStatuses>;
16
16
  prerenderFieldPropsRef?: React.MutableRefObject<Record<string, () => React.ReactElement>>;
17
+ hasErrorInOtherStepRef?: React.MutableRefObject<boolean>;
17
18
  prerenderFieldProps?: boolean;
18
19
  keepInDOM?: boolean;
19
20
  handlePrevious?: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"WizardContext.js","names":["React","WizardContext","createContext","undefined"],"sources":["../../../../../../src/extensions/forms/Wizard/Context/WizardContext.ts"],"sourcesContent":["import React from 'react'\nimport { Path } from '../../types'\nimport { VisibleWhen } from '../../Form/Visibility'\nimport {\n InternalStepStatus,\n InternalStepStatuses,\n SetActiveIndexOptions,\n StepIndex,\n Steps,\n} from './types'\n\nexport interface WizardContextState {\n id?: string\n totalSteps?: number\n activeIndex?: StepIndex\n initialActiveIndex?: StepIndex\n stepElementRef?: React.MutableRefObject<HTMLElement>\n stepsRef?: React.MutableRefObject<Steps>\n updateTitlesRef?: React.MutableRefObject<() => void>\n activeIndexRef?: React.MutableRefObject<StepIndex>\n totalStepsRef?: React.MutableRefObject<number>\n stepStatusRef?: React.MutableRefObject<InternalStepStatuses>\n prerenderFieldPropsRef?: React.MutableRefObject<\n Record<string, () => React.ReactElement>\n >\n prerenderFieldProps?: boolean\n keepInDOM?: boolean\n handlePrevious?: () => void\n handleNext?: () => void\n setActiveIndex?: (\n index: StepIndex,\n {\n skipStepChangeCall,\n skipStepChangeCallBeforeMounted,\n skipStepChangeCallFromHook,\n }?: SetActiveIndexOptions\n ) => void\n setFormError?: (error: Error) => void\n revealError?: (index: StepIndex, path: Path, hasError: boolean) => void\n hasInvalidStepsState?: (forStates?: Array<InternalStepStatus>) => boolean\n check?: ({ visibleWhen }: { visibleWhen: VisibleWhen }) => boolean\n}\n\nconst WizardContext = React.createContext<WizardContextState | undefined>(\n undefined\n)\n\nexport default WizardContext\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AA2CzB,MAAMC,aAAa,GAAGD,KAAK,CAACE,aAAa,CACvCC,SACF,CAAC;AAED,eAAeF,aAAa","ignoreList":[]}
1
+ {"version":3,"file":"WizardContext.js","names":["React","WizardContext","createContext","undefined"],"sources":["../../../../../../src/extensions/forms/Wizard/Context/WizardContext.ts"],"sourcesContent":["import React from 'react'\nimport { Path } from '../../types'\nimport { VisibleWhen } from '../../Form/Visibility'\nimport {\n InternalStepStatus,\n InternalStepStatuses,\n SetActiveIndexOptions,\n StepIndex,\n Steps,\n} from './types'\n\nexport interface WizardContextState {\n id?: string\n totalSteps?: number\n activeIndex?: StepIndex\n initialActiveIndex?: StepIndex\n stepElementRef?: React.MutableRefObject<HTMLElement>\n stepsRef?: React.MutableRefObject<Steps>\n updateTitlesRef?: React.MutableRefObject<() => void>\n activeIndexRef?: React.MutableRefObject<StepIndex>\n totalStepsRef?: React.MutableRefObject<number>\n stepStatusRef?: React.MutableRefObject<InternalStepStatuses>\n prerenderFieldPropsRef?: React.MutableRefObject<\n Record<string, () => React.ReactElement>\n >\n hasErrorInOtherStepRef?: React.MutableRefObject<boolean>\n prerenderFieldProps?: boolean\n keepInDOM?: boolean\n handlePrevious?: () => void\n handleNext?: () => void\n setActiveIndex?: (\n index: StepIndex,\n {\n skipStepChangeCall,\n skipStepChangeCallBeforeMounted,\n skipStepChangeCallFromHook,\n }?: SetActiveIndexOptions\n ) => void\n setFormError?: (error: Error) => void\n revealError?: (index: StepIndex, path: Path, hasError: boolean) => void\n hasInvalidStepsState?: (forStates?: Array<InternalStepStatus>) => boolean\n check?: ({ visibleWhen }: { visibleWhen: VisibleWhen }) => boolean\n}\n\nconst WizardContext = React.createContext<WizardContextState | undefined>(\n undefined\n)\n\nexport default WizardContext\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AA4CzB,MAAMC,aAAa,GAAGD,KAAK,CAACE,aAAa,CACvCC,SACF,CAAC;AAED,eAAeF,aAAa","ignoreList":[]}