@dnb/eufemia 10.65.1 → 10.66.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (483) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/cjs/components/card/Card.js +1 -1
  3. package/cjs/components/card/Card.js.map +1 -1
  4. package/cjs/components/date-picker/DatePickerInput.d.ts +5 -0
  5. package/cjs/components/date-picker/DatePickerInput.js +103 -76
  6. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  7. package/cjs/components/date-picker/DatePickerProvider.d.ts +4 -3
  8. package/cjs/components/date-picker/DatePickerProvider.js +7 -2
  9. package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
  10. package/cjs/components/date-picker/hooks/useDates.js.map +1 -1
  11. package/cjs/components/flex/Container.d.ts +2 -1
  12. package/cjs/components/flex/Container.js +31 -24
  13. package/cjs/components/flex/Container.js.map +1 -1
  14. package/cjs/components/flex/ContainerDocs.d.ts +2 -0
  15. package/cjs/components/flex/ContainerDocs.js +81 -0
  16. package/cjs/components/flex/ContainerDocs.js.map +1 -0
  17. package/cjs/components/flex/style/dnb-flex.css +36 -4
  18. package/cjs/components/flex/style/dnb-flex.min.css +1 -1
  19. package/cjs/components/flex/style/flex-container.scss +39 -4
  20. package/cjs/components/help-button/HelpButtonInline.d.ts +7 -0
  21. package/cjs/components/help-button/HelpButtonInline.js +53 -20
  22. package/cjs/components/help-button/HelpButtonInline.js.map +1 -1
  23. package/cjs/components/help-button/HelpButtonInstance.js +1 -1
  24. package/cjs/components/help-button/HelpButtonInstance.js.map +1 -1
  25. package/cjs/components/slider/SliderDocs.js +2 -2
  26. package/cjs/components/slider/SliderDocs.js.map +1 -1
  27. package/cjs/components/slider/SliderProvider.js +0 -2
  28. package/cjs/components/slider/SliderProvider.js.map +1 -1
  29. package/cjs/components/slider/types.d.ts +2 -2
  30. package/cjs/components/slider/types.js.map +1 -1
  31. package/cjs/components/step-indicator/StepIndicator.d.ts +6 -0
  32. package/cjs/components/step-indicator/StepIndicator.js.map +1 -1
  33. package/cjs/components/step-indicator/StepIndicatorContext.d.ts +2 -0
  34. package/cjs/components/step-indicator/StepIndicatorContext.js.map +1 -1
  35. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +4 -3
  36. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  37. package/cjs/components/toggle-button/ToggleButton.d.ts +9 -1
  38. package/cjs/components/toggle-button/ToggleButtonDocs.js +1 -0
  39. package/cjs/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  40. package/cjs/components/upload/Upload.js +4 -5
  41. package/cjs/components/upload/Upload.js.map +1 -1
  42. package/cjs/components/upload/UploadFileInput.d.ts +4 -1
  43. package/cjs/components/upload/UploadFileInput.js +11 -3
  44. package/cjs/components/upload/UploadFileInput.js.map +1 -1
  45. package/cjs/components/upload/types.d.ts +1 -1
  46. package/cjs/components/upload/types.js.map +1 -1
  47. package/cjs/extensions/forms/DataContext/Context.d.ts +10 -4
  48. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  49. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +2 -2
  50. package/cjs/extensions/forms/DataContext/Provider/Provider.js +44 -40
  51. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  52. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  53. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  54. package/cjs/extensions/forms/Field/Composition/Composition.js +2 -1
  55. package/cjs/extensions/forms/Field/Composition/Composition.js.map +1 -1
  56. package/cjs/extensions/forms/Field/Date/Date.d.ts +1 -1
  57. package/cjs/extensions/forms/Field/Date/Date.js +1 -1
  58. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  59. package/cjs/extensions/forms/Field/Slider/Slider.js +13 -4
  60. package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -1
  61. package/cjs/extensions/forms/Field/Upload/Upload.js +2 -1
  62. package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
  63. package/cjs/extensions/forms/Field/Upload/style/dnb-upload.css +5 -0
  64. package/cjs/extensions/forms/Field/Upload/style/dnb-upload.min.css +1 -1
  65. package/cjs/extensions/forms/Field/Upload/style/dnb-upload.scss +6 -0
  66. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +17 -13
  67. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  68. package/cjs/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  69. package/cjs/extensions/forms/Value/ValueDocs.js +5 -0
  70. package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -1
  71. package/cjs/extensions/forms/ValueBlock/ValueBlock.d.ts +14 -1
  72. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +40 -10
  73. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  74. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +17 -0
  75. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  76. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.scss +24 -0
  77. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.d.ts +7 -0
  78. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.js +78 -0
  79. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -0
  80. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +3 -0
  81. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.js +94 -0
  82. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -0
  83. package/cjs/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.d.ts +4 -0
  84. package/cjs/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js +67 -0
  85. package/cjs/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js.map +1 -0
  86. package/cjs/extensions/forms/Wizard/Container/WizardContainer.d.ts +9 -1
  87. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +102 -206
  88. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  89. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js +10 -0
  90. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  91. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +7 -23
  92. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  93. package/cjs/extensions/forms/Wizard/Context/types.d.ts +35 -0
  94. package/cjs/extensions/forms/Wizard/Context/types.js +1 -0
  95. package/cjs/extensions/forms/Wizard/Context/types.js.map +1 -0
  96. package/cjs/extensions/forms/Wizard/EditButton/EditButton.d.ts +1 -1
  97. package/cjs/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
  98. package/cjs/extensions/forms/Wizard/Step/Step.d.ts +4 -0
  99. package/cjs/extensions/forms/Wizard/Step/Step.js +28 -9
  100. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  101. package/cjs/extensions/forms/Wizard/Step/StepContext.d.ts +7 -0
  102. package/cjs/extensions/forms/Wizard/Step/StepContext.js +12 -0
  103. package/cjs/extensions/forms/Wizard/Step/StepContext.js.map +1 -0
  104. package/cjs/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  105. package/cjs/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  106. package/cjs/extensions/forms/Wizard/hooks/useStep.d.ts +2 -1
  107. package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  108. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  109. package/cjs/extensions/forms/constants/locales/en-GB.js +2 -1
  110. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  111. package/cjs/extensions/forms/constants/locales/en-US.d.ts +1 -0
  112. package/cjs/extensions/forms/constants/locales/index.d.ts +2 -0
  113. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  114. package/cjs/extensions/forms/constants/locales/nb-NO.js +2 -1
  115. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  116. package/cjs/extensions/forms/hooks/useFieldProps.js +35 -17
  117. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  118. package/cjs/extensions/forms/style/dnb-forms.css +22 -0
  119. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  120. package/cjs/extensions/forms/types.d.ts +9 -1
  121. package/cjs/extensions/forms/types.js.map +1 -1
  122. package/cjs/fragments/drawer-list/DrawerList.d.ts +6 -1
  123. package/cjs/fragments/drawer-list/DrawerList.js +1 -0
  124. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  125. package/cjs/shared/Eufemia.d.ts +1 -1
  126. package/cjs/shared/Eufemia.js +2 -2
  127. package/cjs/shared/Eufemia.js.map +1 -1
  128. package/cjs/style/core/scopes.scss +1 -1
  129. package/cjs/style/dnb-ui-basis.css +1 -1
  130. package/cjs/style/dnb-ui-basis.min.css +1 -1
  131. package/cjs/style/dnb-ui-body.css +1 -1
  132. package/cjs/style/dnb-ui-body.min.css +1 -1
  133. package/cjs/style/dnb-ui-components.css +58 -4
  134. package/cjs/style/dnb-ui-components.min.css +2 -2
  135. package/cjs/style/dnb-ui-core.css +1 -1
  136. package/cjs/style/dnb-ui-core.min.css +1 -1
  137. package/cjs/style/dnb-ui-extensions.css +22 -0
  138. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  139. package/cjs/style/dnb-ui-forms.css +22 -0
  140. package/cjs/style/dnb-ui-forms.min.css +1 -1
  141. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +80 -4
  142. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  143. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +22 -0
  144. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  145. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +22 -0
  146. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  147. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +80 -4
  148. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  149. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +22 -0
  150. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  151. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +22 -0
  152. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  153. package/cjs/style/themes/theme-ui/ui-theme-components.css +80 -4
  154. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  155. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +22 -0
  156. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  157. package/cjs/style/themes/theme-ui/ui-theme-forms.css +22 -0
  158. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  159. package/components/card/Card.js +1 -1
  160. package/components/card/Card.js.map +1 -1
  161. package/components/date-picker/DatePickerInput.d.ts +5 -0
  162. package/components/date-picker/DatePickerInput.js +103 -76
  163. package/components/date-picker/DatePickerInput.js.map +1 -1
  164. package/components/date-picker/DatePickerProvider.d.ts +4 -3
  165. package/components/date-picker/DatePickerProvider.js +7 -2
  166. package/components/date-picker/DatePickerProvider.js.map +1 -1
  167. package/components/date-picker/hooks/useDates.js.map +1 -1
  168. package/components/flex/Container.d.ts +2 -1
  169. package/components/flex/Container.js +32 -25
  170. package/components/flex/Container.js.map +1 -1
  171. package/components/flex/ContainerDocs.d.ts +2 -0
  172. package/components/flex/ContainerDocs.js +74 -0
  173. package/components/flex/ContainerDocs.js.map +1 -0
  174. package/components/flex/style/dnb-flex.css +36 -4
  175. package/components/flex/style/dnb-flex.min.css +1 -1
  176. package/components/flex/style/flex-container.scss +39 -4
  177. package/components/help-button/HelpButtonInline.d.ts +7 -0
  178. package/components/help-button/HelpButtonInline.js +53 -20
  179. package/components/help-button/HelpButtonInline.js.map +1 -1
  180. package/components/help-button/HelpButtonInstance.js +1 -1
  181. package/components/help-button/HelpButtonInstance.js.map +1 -1
  182. package/components/slider/SliderDocs.js +2 -2
  183. package/components/slider/SliderDocs.js.map +1 -1
  184. package/components/slider/SliderProvider.js +0 -2
  185. package/components/slider/SliderProvider.js.map +1 -1
  186. package/components/slider/types.d.ts +2 -2
  187. package/components/slider/types.js.map +1 -1
  188. package/components/step-indicator/StepIndicator.d.ts +6 -0
  189. package/components/step-indicator/StepIndicator.js.map +1 -1
  190. package/components/step-indicator/StepIndicatorContext.d.ts +2 -0
  191. package/components/step-indicator/StepIndicatorContext.js.map +1 -1
  192. package/components/step-indicator/StepIndicatorTriggerButton.js +4 -3
  193. package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  194. package/components/toggle-button/ToggleButton.d.ts +9 -1
  195. package/components/toggle-button/ToggleButtonDocs.js +1 -0
  196. package/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  197. package/components/upload/Upload.js +3 -4
  198. package/components/upload/Upload.js.map +1 -1
  199. package/components/upload/UploadFileInput.d.ts +4 -1
  200. package/components/upload/UploadFileInput.js +10 -3
  201. package/components/upload/UploadFileInput.js.map +1 -1
  202. package/components/upload/types.d.ts +1 -1
  203. package/components/upload/types.js.map +1 -1
  204. package/es/components/card/Card.js +1 -1
  205. package/es/components/card/Card.js.map +1 -1
  206. package/es/components/date-picker/DatePickerInput.d.ts +5 -0
  207. package/es/components/date-picker/DatePickerInput.js +103 -76
  208. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  209. package/es/components/date-picker/DatePickerProvider.d.ts +4 -3
  210. package/es/components/date-picker/DatePickerProvider.js +7 -2
  211. package/es/components/date-picker/DatePickerProvider.js.map +1 -1
  212. package/es/components/date-picker/hooks/useDates.js.map +1 -1
  213. package/es/components/flex/Container.d.ts +2 -1
  214. package/es/components/flex/Container.js +32 -25
  215. package/es/components/flex/Container.js.map +1 -1
  216. package/es/components/flex/ContainerDocs.d.ts +2 -0
  217. package/es/components/flex/ContainerDocs.js +74 -0
  218. package/es/components/flex/ContainerDocs.js.map +1 -0
  219. package/es/components/flex/style/dnb-flex.css +36 -4
  220. package/es/components/flex/style/dnb-flex.min.css +1 -1
  221. package/es/components/flex/style/flex-container.scss +39 -4
  222. package/es/components/help-button/HelpButtonInline.d.ts +7 -0
  223. package/es/components/help-button/HelpButtonInline.js +52 -19
  224. package/es/components/help-button/HelpButtonInline.js.map +1 -1
  225. package/es/components/help-button/HelpButtonInstance.js +1 -1
  226. package/es/components/help-button/HelpButtonInstance.js.map +1 -1
  227. package/es/components/slider/SliderDocs.js +2 -2
  228. package/es/components/slider/SliderDocs.js.map +1 -1
  229. package/es/components/slider/SliderProvider.js +0 -2
  230. package/es/components/slider/SliderProvider.js.map +1 -1
  231. package/es/components/slider/types.d.ts +2 -2
  232. package/es/components/slider/types.js.map +1 -1
  233. package/es/components/step-indicator/StepIndicator.d.ts +6 -0
  234. package/es/components/step-indicator/StepIndicator.js.map +1 -1
  235. package/es/components/step-indicator/StepIndicatorContext.d.ts +2 -0
  236. package/es/components/step-indicator/StepIndicatorContext.js.map +1 -1
  237. package/es/components/step-indicator/StepIndicatorTriggerButton.js +4 -3
  238. package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  239. package/es/components/toggle-button/ToggleButton.d.ts +9 -1
  240. package/es/components/toggle-button/ToggleButtonDocs.js +1 -0
  241. package/es/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  242. package/es/components/upload/Upload.js +3 -4
  243. package/es/components/upload/Upload.js.map +1 -1
  244. package/es/components/upload/UploadFileInput.d.ts +4 -1
  245. package/es/components/upload/UploadFileInput.js +10 -3
  246. package/es/components/upload/UploadFileInput.js.map +1 -1
  247. package/es/components/upload/types.d.ts +1 -1
  248. package/es/components/upload/types.js.map +1 -1
  249. package/es/extensions/forms/DataContext/Context.d.ts +10 -4
  250. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  251. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +2 -2
  252. package/es/extensions/forms/DataContext/Provider/Provider.js +34 -33
  253. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  254. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  255. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  256. package/es/extensions/forms/Field/Composition/Composition.js +2 -1
  257. package/es/extensions/forms/Field/Composition/Composition.js.map +1 -1
  258. package/es/extensions/forms/Field/Date/Date.d.ts +1 -1
  259. package/es/extensions/forms/Field/Date/Date.js +1 -1
  260. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  261. package/es/extensions/forms/Field/Slider/Slider.js +13 -4
  262. package/es/extensions/forms/Field/Slider/Slider.js.map +1 -1
  263. package/es/extensions/forms/Field/Upload/Upload.js +2 -1
  264. package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
  265. package/es/extensions/forms/Field/Upload/style/dnb-upload.css +5 -0
  266. package/es/extensions/forms/Field/Upload/style/dnb-upload.min.css +1 -1
  267. package/es/extensions/forms/Field/Upload/style/dnb-upload.scss +6 -0
  268. package/es/extensions/forms/FieldBlock/FieldBlock.js +17 -13
  269. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  270. package/es/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  271. package/es/extensions/forms/Value/ValueDocs.js +5 -0
  272. package/es/extensions/forms/Value/ValueDocs.js.map +1 -1
  273. package/es/extensions/forms/ValueBlock/ValueBlock.d.ts +14 -1
  274. package/es/extensions/forms/ValueBlock/ValueBlock.js +40 -10
  275. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  276. package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +17 -0
  277. package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  278. package/es/extensions/forms/ValueBlock/style/dnb-value-block.scss +24 -0
  279. package/es/extensions/forms/Wizard/Container/DisplaySteps.d.ts +7 -0
  280. package/es/extensions/forms/Wizard/Container/DisplaySteps.js +66 -0
  281. package/es/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -0
  282. package/es/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +3 -0
  283. package/es/extensions/forms/Wizard/Container/IterateOverSteps.js +85 -0
  284. package/es/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -0
  285. package/es/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.d.ts +4 -0
  286. package/es/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js +54 -0
  287. package/es/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js.map +1 -0
  288. package/es/extensions/forms/Wizard/Container/WizardContainer.d.ts +9 -1
  289. package/es/extensions/forms/Wizard/Container/WizardContainer.js +97 -194
  290. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  291. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js +10 -0
  292. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  293. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +7 -23
  294. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  295. package/es/extensions/forms/Wizard/Context/types.d.ts +35 -0
  296. package/es/extensions/forms/Wizard/Context/types.js +1 -0
  297. package/es/extensions/forms/Wizard/Context/types.js.map +1 -0
  298. package/es/extensions/forms/Wizard/EditButton/EditButton.d.ts +1 -1
  299. package/es/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
  300. package/es/extensions/forms/Wizard/Step/Step.d.ts +4 -0
  301. package/es/extensions/forms/Wizard/Step/Step.js +29 -10
  302. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  303. package/es/extensions/forms/Wizard/Step/StepContext.d.ts +7 -0
  304. package/es/extensions/forms/Wizard/Step/StepContext.js +4 -0
  305. package/es/extensions/forms/Wizard/Step/StepContext.js.map +1 -0
  306. package/es/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  307. package/es/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  308. package/es/extensions/forms/Wizard/hooks/useStep.d.ts +2 -1
  309. package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  310. package/es/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  311. package/es/extensions/forms/constants/locales/en-GB.js +2 -1
  312. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  313. package/es/extensions/forms/constants/locales/en-US.d.ts +1 -0
  314. package/es/extensions/forms/constants/locales/index.d.ts +2 -0
  315. package/es/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  316. package/es/extensions/forms/constants/locales/nb-NO.js +2 -1
  317. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  318. package/es/extensions/forms/hooks/useFieldProps.js +36 -16
  319. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  320. package/es/extensions/forms/style/dnb-forms.css +22 -0
  321. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  322. package/es/extensions/forms/types.d.ts +9 -1
  323. package/es/extensions/forms/types.js.map +1 -1
  324. package/es/fragments/drawer-list/DrawerList.d.ts +6 -1
  325. package/es/fragments/drawer-list/DrawerList.js +1 -0
  326. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  327. package/es/shared/Eufemia.d.ts +1 -1
  328. package/es/shared/Eufemia.js +2 -2
  329. package/es/shared/Eufemia.js.map +1 -1
  330. package/es/style/core/scopes.scss +1 -1
  331. package/es/style/dnb-ui-basis.css +1 -1
  332. package/es/style/dnb-ui-basis.min.css +1 -1
  333. package/es/style/dnb-ui-body.css +1 -1
  334. package/es/style/dnb-ui-body.min.css +1 -1
  335. package/es/style/dnb-ui-components.css +58 -4
  336. package/es/style/dnb-ui-components.min.css +2 -2
  337. package/es/style/dnb-ui-core.css +1 -1
  338. package/es/style/dnb-ui-core.min.css +1 -1
  339. package/es/style/dnb-ui-extensions.css +22 -0
  340. package/es/style/dnb-ui-extensions.min.css +1 -1
  341. package/es/style/dnb-ui-forms.css +22 -0
  342. package/es/style/dnb-ui-forms.min.css +1 -1
  343. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +80 -4
  344. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  345. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +22 -0
  346. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  347. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +22 -0
  348. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  349. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +80 -4
  350. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  351. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +22 -0
  352. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  353. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +22 -0
  354. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  355. package/es/style/themes/theme-ui/ui-theme-components.css +80 -4
  356. package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  357. package/es/style/themes/theme-ui/ui-theme-extensions.css +22 -0
  358. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  359. package/es/style/themes/theme-ui/ui-theme-forms.css +22 -0
  360. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  361. package/esm/dnb-ui-basis.min.mjs +1 -1
  362. package/esm/dnb-ui-components.min.mjs +1 -1
  363. package/esm/dnb-ui-elements.min.mjs +1 -1
  364. package/esm/dnb-ui-extensions.min.mjs +2 -2
  365. package/esm/dnb-ui-lib.min.mjs +1 -1
  366. package/extensions/forms/DataContext/Context.d.ts +10 -4
  367. package/extensions/forms/DataContext/Context.js.map +1 -1
  368. package/extensions/forms/DataContext/Provider/Provider.d.ts +2 -2
  369. package/extensions/forms/DataContext/Provider/Provider.js +44 -40
  370. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  371. package/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  372. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  373. package/extensions/forms/Field/Composition/Composition.js +2 -1
  374. package/extensions/forms/Field/Composition/Composition.js.map +1 -1
  375. package/extensions/forms/Field/Date/Date.d.ts +1 -1
  376. package/extensions/forms/Field/Date/Date.js +1 -1
  377. package/extensions/forms/Field/Date/Date.js.map +1 -1
  378. package/extensions/forms/Field/Slider/Slider.js +13 -4
  379. package/extensions/forms/Field/Slider/Slider.js.map +1 -1
  380. package/extensions/forms/Field/Upload/Upload.js +2 -1
  381. package/extensions/forms/Field/Upload/Upload.js.map +1 -1
  382. package/extensions/forms/Field/Upload/style/dnb-upload.css +5 -0
  383. package/extensions/forms/Field/Upload/style/dnb-upload.min.css +1 -1
  384. package/extensions/forms/Field/Upload/style/dnb-upload.scss +6 -0
  385. package/extensions/forms/FieldBlock/FieldBlock.js +17 -13
  386. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  387. package/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  388. package/extensions/forms/Value/ValueDocs.js +5 -0
  389. package/extensions/forms/Value/ValueDocs.js.map +1 -1
  390. package/extensions/forms/ValueBlock/ValueBlock.d.ts +14 -1
  391. package/extensions/forms/ValueBlock/ValueBlock.js +40 -10
  392. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  393. package/extensions/forms/ValueBlock/style/dnb-value-block.css +17 -0
  394. package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  395. package/extensions/forms/ValueBlock/style/dnb-value-block.scss +24 -0
  396. package/extensions/forms/Wizard/Container/DisplaySteps.d.ts +7 -0
  397. package/extensions/forms/Wizard/Container/DisplaySteps.js +70 -0
  398. package/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -0
  399. package/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +3 -0
  400. package/extensions/forms/Wizard/Container/IterateOverSteps.js +86 -0
  401. package/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -0
  402. package/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.d.ts +4 -0
  403. package/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js +57 -0
  404. package/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js.map +1 -0
  405. package/extensions/forms/Wizard/Container/WizardContainer.d.ts +9 -1
  406. package/extensions/forms/Wizard/Container/WizardContainer.js +103 -207
  407. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  408. package/extensions/forms/Wizard/Container/WizardContainerDocs.js +10 -0
  409. package/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  410. package/extensions/forms/Wizard/Context/WizardContext.d.ts +7 -23
  411. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  412. package/extensions/forms/Wizard/Context/types.d.ts +35 -0
  413. package/extensions/forms/Wizard/Context/types.js +1 -0
  414. package/extensions/forms/Wizard/Context/types.js.map +1 -0
  415. package/extensions/forms/Wizard/EditButton/EditButton.d.ts +1 -1
  416. package/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
  417. package/extensions/forms/Wizard/Step/Step.d.ts +4 -0
  418. package/extensions/forms/Wizard/Step/Step.js +29 -10
  419. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  420. package/extensions/forms/Wizard/Step/StepContext.d.ts +7 -0
  421. package/extensions/forms/Wizard/Step/StepContext.js +4 -0
  422. package/extensions/forms/Wizard/Step/StepContext.js.map +1 -0
  423. package/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  424. package/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  425. package/extensions/forms/Wizard/hooks/useStep.d.ts +2 -1
  426. package/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  427. package/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  428. package/extensions/forms/constants/locales/en-GB.js +2 -1
  429. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  430. package/extensions/forms/constants/locales/en-US.d.ts +1 -0
  431. package/extensions/forms/constants/locales/index.d.ts +2 -0
  432. package/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  433. package/extensions/forms/constants/locales/nb-NO.js +2 -1
  434. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  435. package/extensions/forms/hooks/useFieldProps.js +35 -17
  436. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  437. package/extensions/forms/style/dnb-forms.css +22 -0
  438. package/extensions/forms/style/dnb-forms.min.css +1 -1
  439. package/extensions/forms/types.d.ts +9 -1
  440. package/extensions/forms/types.js.map +1 -1
  441. package/fragments/drawer-list/DrawerList.d.ts +6 -1
  442. package/fragments/drawer-list/DrawerList.js +1 -0
  443. package/fragments/drawer-list/DrawerList.js.map +1 -1
  444. package/package.json +1 -1
  445. package/shared/Eufemia.d.ts +1 -1
  446. package/shared/Eufemia.js +2 -2
  447. package/shared/Eufemia.js.map +1 -1
  448. package/style/core/scopes.scss +1 -1
  449. package/style/dnb-ui-basis.css +1 -1
  450. package/style/dnb-ui-basis.min.css +1 -1
  451. package/style/dnb-ui-body.css +1 -1
  452. package/style/dnb-ui-body.min.css +1 -1
  453. package/style/dnb-ui-components.css +58 -4
  454. package/style/dnb-ui-components.min.css +2 -2
  455. package/style/dnb-ui-core.css +1 -1
  456. package/style/dnb-ui-core.min.css +1 -1
  457. package/style/dnb-ui-extensions.css +22 -0
  458. package/style/dnb-ui-extensions.min.css +1 -1
  459. package/style/dnb-ui-forms.css +22 -0
  460. package/style/dnb-ui-forms.min.css +1 -1
  461. package/style/themes/theme-eiendom/eiendom-theme-components.css +80 -4
  462. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  463. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +22 -0
  464. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  465. package/style/themes/theme-eiendom/eiendom-theme-forms.css +22 -0
  466. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  467. package/style/themes/theme-sbanken/sbanken-theme-components.css +80 -4
  468. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  469. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +22 -0
  470. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  471. package/style/themes/theme-sbanken/sbanken-theme-forms.css +22 -0
  472. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  473. package/style/themes/theme-ui/ui-theme-components.css +80 -4
  474. package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  475. package/style/themes/theme-ui/ui-theme-extensions.css +22 -0
  476. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  477. package/style/themes/theme-ui/ui-theme-forms.css +22 -0
  478. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  479. package/umd/dnb-ui-basis.min.js +1 -1
  480. package/umd/dnb-ui-components.min.js +1 -1
  481. package/umd/dnb-ui-elements.min.js +1 -1
  482. package/umd/dnb-ui-extensions.min.js +2 -2
  483. package/umd/dnb-ui-lib.min.js +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrerenderFieldPropsOfOtherSteps.js","names":["React","useContext","useRef","ReactDOM","DataContext","defaultContextState","WizardContext","PrerenderFieldPropsOfOtherSteps","_ref","prerenderFieldPropsRef","hasRenderedRef","current","createElement","PrerenderPortal","PrerenderFieldPropsProvider","title","hidden","Object","values","map","Fn","i","key","_ref2","children","document","createPortal","body","_ref3","data","setFieldInternals","updateDataValue","Provider","value","_objectSpread","hasContext","prerenderFieldProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.tsx"],"sourcesContent":["import React, { useContext, useRef } from 'react'\nimport ReactDOM from 'react-dom'\nimport DataContext, {\n defaultContextState,\n} from '../../DataContext/Context'\nimport WizardContext, {\n WizardContextState,\n} from '../Context/WizardContext'\n\nexport function PrerenderFieldPropsOfOtherSteps({\n prerenderFieldPropsRef,\n}: {\n prerenderFieldPropsRef: WizardContextState['prerenderFieldPropsRef']\n}) {\n const hasRenderedRef = useRef(true)\n if (!hasRenderedRef.current) {\n return null\n }\n hasRenderedRef.current = false\n\n return (\n <PrerenderPortal>\n <PrerenderFieldPropsProvider>\n <iframe title=\"Wizard Prerender\" hidden>\n {Object.values(prerenderFieldPropsRef.current).map((Fn, i) => (\n <Fn key={i} />\n ))}\n </iframe>\n </PrerenderFieldPropsProvider>\n </PrerenderPortal>\n )\n}\n\nfunction PrerenderPortal({ children }) {\n if (typeof document !== 'undefined') {\n return ReactDOM.createPortal(children, document.body)\n }\n}\n\nfunction PrerenderFieldPropsProvider({ children }) {\n const { data, setFieldInternals, updateDataValue } =\n useContext(DataContext)\n\n return (\n <DataContext.Provider\n value={{\n ...defaultContextState,\n hasContext: true,\n prerenderFieldProps: true,\n\n // Only enable data and these methods\n data,\n setFieldInternals,\n updateDataValue,\n }}\n >\n <WizardContext.Provider value={{ prerenderFieldProps: true }}>\n {children}\n </WizardContext.Provider>\n </DataContext.Provider>\n )\n}\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,MAAM,QAAQ,OAAO;AACjD,OAAOC,QAAQ,MAAM,WAAW;AAChC,OAAOC,WAAW,IAChBC,mBAAmB,QACd,2BAA2B;AAClC,OAAOC,aAAa,MAEb,0BAA0B;AAEjC,OAAO,SAASC,+BAA+BA,CAAAC,IAAA,EAI5C;EAAA,IAJ6C;IAC9CC;EAGF,CAAC,GAAAD,IAAA;EACC,MAAME,cAAc,GAAGR,MAAM,CAAC,IAAI,CAAC;EACnC,IAAI,CAACQ,cAAc,CAACC,OAAO,EAAE;IAC3B,OAAO,IAAI;EACb;EACAD,cAAc,CAACC,OAAO,GAAG,KAAK;EAE9B,OACEX,KAAA,CAAAY,aAAA,CAACC,eAAe,QACdb,KAAA,CAAAY,aAAA,CAACE,2BAA2B,QAC1Bd,KAAA,CAAAY,aAAA;IAAQG,KAAK,EAAC,kBAAkB;IAACC,MAAM;EAAA,GACpCC,MAAM,CAACC,MAAM,CAACT,sBAAsB,CAACE,OAAO,CAAC,CAACQ,GAAG,CAAC,CAACC,EAAE,EAAEC,CAAC,KACvDrB,KAAA,CAAAY,aAAA,CAACQ,EAAE;IAACE,GAAG,EAAED;EAAE,CAAE,CACd,CACK,CACmB,CACd,CAAC;AAEtB;AAEA,SAASR,eAAeA,CAAAU,KAAA,EAAe;EAAA,IAAd;IAAEC;EAAS,CAAC,GAAAD,KAAA;EACnC,IAAI,OAAOE,QAAQ,KAAK,WAAW,EAAE;IACnC,OAAOtB,QAAQ,CAACuB,YAAY,CAACF,QAAQ,EAAEC,QAAQ,CAACE,IAAI,CAAC;EACvD;AACF;AAEA,SAASb,2BAA2BA,CAAAc,KAAA,EAAe;EAAA,IAAd;IAAEJ;EAAS,CAAC,GAAAI,KAAA;EAC/C,MAAM;IAAEC,IAAI;IAAEC,iBAAiB;IAAEC;EAAgB,CAAC,GAChD9B,UAAU,CAACG,WAAW,CAAC;EAEzB,OACEJ,KAAA,CAAAY,aAAA,CAACR,WAAW,CAAC4B,QAAQ;IACnBC,KAAK,EAAAC,aAAA,CAAAA,aAAA,KACA7B,mBAAmB;MACtB8B,UAAU,EAAE,IAAI;MAChBC,mBAAmB,EAAE,IAAI;MAGzBP,IAAI;MACJC,iBAAiB;MACjBC;IAAe;EACf,GAEF/B,KAAA,CAAAY,aAAA,CAACN,aAAa,CAAC0B,QAAQ;IAACC,KAAK,EAAE;MAAEG,mBAAmB,EAAE;IAAK;EAAE,GAC1DZ,QACqB,CACJ,CAAC;AAE3B"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { OnStepChange, StepIndex } from '../Context/WizardContext';
2
+ import type { OnStepChange, StepIndex } from '../Context/types';
3
3
  import { ComponentProps } from '../../types';
4
4
  export type Props = ComponentProps & {
5
5
  id?: string;
@@ -32,11 +32,19 @@ export type Props = ComponentProps & {
32
32
  * If set to `true`, the wizard will not animate the steps.
33
33
  */
34
34
  noAnimation?: boolean;
35
+ /**
36
+ * If set to `true`, the wizard will not unmount the steps when navigating back and forth.
37
+ */
38
+ keepInDOM?: boolean;
35
39
  /**
36
40
  * If set to `true`, the wizard pre-render all steps so the props of each field is available in the data context.
37
41
  * Defaults to `true`.
38
42
  */
39
43
  prerenderFieldProps?: boolean;
44
+ /**
45
+ * Determines if and how the validation will be bypassed.
46
+ */
47
+ validationMode?: 'bypassOnNavigation';
40
48
  /**
41
49
  * The children of the wizard container.
42
50
  */
@@ -3,24 +3,25 @@
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
5
5
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
6
- const _excluded = ["className", "id", "mode", "initialActiveIndex", "omitScrollManagement", "omitFocusManagement", "onStepChange", "children", "noAnimation", "prerenderFieldProps", "variant", "sidebarId"];
6
+ const _excluded = ["className", "id", "mode", "initialActiveIndex", "omitScrollManagement", "omitFocusManagement", "onStepChange", "children", "noAnimation", "prerenderFieldProps", "keepInDOM", "validationMode", "variant", "sidebarId"];
7
7
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
8
8
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
9
9
  import React, { useContext, useCallback, useRef, useReducer, useMemo } from 'react';
10
- import ReactDOM from 'react-dom';
11
10
  import classnames from 'classnames';
12
- import { Space, StepIndicator } from '../../../../components';
13
- import { convertJsxToString, warn } from '../../../../shared/component-helper';
11
+ import { Space } from '../../../../components';
12
+ import { warn } from '../../../../shared/component-helper';
14
13
  import { isAsync } from '../../../../shared/helpers/isAsync';
15
14
  import useId from '../../../../shared/helpers/useId';
16
- import Step, { handleDeprecatedProps as handleDeprecatedStepProps } from '../Step';
17
15
  import WizardContext from '../Context/WizardContext';
18
- import DataContext, { defaultContextState } from '../../DataContext/Context';
16
+ import DataContext from '../../DataContext/Context';
19
17
  import Handler from '../../Form/Handler/Handler';
20
18
  import { createReferenceKey, useSharedState } from '../../../../shared/helpers/useSharedState';
21
19
  import useHandleLayoutEffect from './useHandleLayoutEffect';
22
20
  import useStepAnimation from './useStepAnimation';
23
21
  import useVisibility from '../../Form/Visibility/useVisibility';
22
+ import { DisplaySteps } from './DisplaySteps';
23
+ import { IterateOverSteps } from './IterateOverSteps';
24
+ import { PrerenderFieldPropsOfOtherSteps } from './PrerenderFieldPropsOfOtherSteps';
24
25
  const useLayoutEffect = typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect;
25
26
  function WizardContainer(props) {
26
27
  var _dataContext$setHandl;
@@ -35,6 +36,8 @@ function WizardContainer(props) {
35
36
  children,
36
37
  noAnimation = true,
37
38
  prerenderFieldProps = true,
39
+ keepInDOM,
40
+ validationMode,
38
41
  variant = 'sidebar',
39
42
  sidebarId
40
43
  } = props,
@@ -45,14 +48,15 @@ function WizardContainer(props) {
45
48
  setFormState,
46
49
  handleSubmitCall,
47
50
  setShowAllErrors,
48
- showAllErrors,
49
51
  setSubmitState
50
52
  } = dataContext;
51
53
  const id = useId(idProp);
52
54
  const [, forceUpdate] = useReducer(() => ({}), {});
53
55
  const activeIndexRef = useRef(initialActiveIndex);
54
56
  const totalStepsRef = useRef(NaN);
55
- const errorOnStepRef = useRef({});
57
+ const stepStatusRef = useRef({});
58
+ const fieldErrorRef = useRef({});
59
+ const visitedStepsRef = useRef({});
56
60
  const elementRef = useRef();
57
61
  const stepElementRef = useRef();
58
62
  const preventNextStepRef = useRef(false);
@@ -60,9 +64,41 @@ function WizardContainer(props) {
60
64
  const tmpStepsRef = useRef({});
61
65
  const updateTitlesRef = useRef();
62
66
  const prerenderFieldPropsRef = useRef({});
67
+ const bypassOnNavigation = validationMode === 'bypassOnNavigation';
63
68
  const sharedStateRef = useRef();
64
69
  sharedStateRef.current = useSharedState(hasContext && id ? createReferenceKey(id, 'wizard') : undefined);
65
- errorOnStepRef.current[activeIndexRef.current] = showAllErrors;
70
+ visitedStepsRef.current[activeIndexRef.current] = true;
71
+ const setStepState = useCallback((index, state) => {
72
+ stepStatusRef.current[index] = state;
73
+ }, []);
74
+ const hasFieldErrorInStep = useCallback(index => {
75
+ return Object.values(fieldErrorRef.current).some(_ref => {
76
+ let {
77
+ index: i,
78
+ hasError
79
+ } = _ref;
80
+ return i === index && hasError;
81
+ });
82
+ }, []);
83
+ const revealError = useCallback((index, path, hasError) => {
84
+ fieldErrorRef.current[path] = {
85
+ index,
86
+ hasError
87
+ };
88
+ if (hasFieldErrorInStep(index)) {
89
+ setStepState(index, 'error');
90
+ }
91
+ }, [hasFieldErrorInStep, setStepState]);
92
+ const activeIndex = activeIndexRef.current;
93
+ const hasErrorInActiveStep = hasFieldErrorInStep(activeIndex);
94
+ useMemo(() => {
95
+ const currentState = stepStatusRef.current[activeIndex];
96
+ if (!hasErrorInActiveStep && ['error', 'valid'].includes(currentState)) {
97
+ setStepState(activeIndex, 'valid');
98
+ } else {
99
+ setStepState(activeIndex, hasErrorInActiveStep ? 'error' : undefined);
100
+ }
101
+ }, [activeIndex, hasErrorInActiveStep, setStepState]);
66
102
  const preventNavigation = useCallback(function () {
67
103
  let shouldPrevent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
68
104
  preventNextStepRef.current = shouldPrevent;
@@ -117,7 +153,7 @@ function WizardContainer(props) {
117
153
  scrollToTop();
118
154
  }
119
155
  }, [omitScrollManagement, omitFocusManagement, setFocus, scrollToTop]);
120
- const handleStepChange = useCallback(_ref => {
156
+ const handleStepChange = useCallback(async _ref2 => {
121
157
  let {
122
158
  index,
123
159
  skipErrorCheck,
@@ -125,34 +161,36 @@ function WizardContainer(props) {
125
161
  skipStepChangeCallBeforeMounted,
126
162
  skipStepChangeCallFromHook,
127
163
  mode
128
- } = _ref;
129
- handleSubmitCall({
164
+ } = _ref2;
165
+ const onSubmit = async () => {
166
+ if (!skipStepChangeCallFromHook) {
167
+ var _sharedStateRef$curre, _sharedStateRef$curre2, _sharedStateRef$curre3;
168
+ (_sharedStateRef$curre = sharedStateRef.current) === null || _sharedStateRef$curre === void 0 ? void 0 : (_sharedStateRef$curre2 = _sharedStateRef$curre.data) === null || _sharedStateRef$curre2 === void 0 ? void 0 : (_sharedStateRef$curre3 = _sharedStateRef$curre2.onStepChange) === null || _sharedStateRef$curre3 === void 0 ? void 0 : _sharedStateRef$curre3.call(_sharedStateRef$curre2, index, mode, getStepChangeOptions(index));
169
+ }
170
+ let result = undefined;
171
+ if (!skipStepChangeCall && !(skipStepChangeCallBeforeMounted && !isInteractionRef.current)) {
172
+ result = await callOnStepChange(index, mode);
173
+ }
174
+ setFormState('abort');
175
+ setShowAllErrors(bypassOnNavigation ? false : stepStatusRef.current[index] === 'error');
176
+ if (!preventNextStepRef.current && !(result instanceof Error)) {
177
+ handleLayoutEffect();
178
+ activeIndexRef.current = index;
179
+ forceUpdate();
180
+ }
181
+ preventNextStepRef.current = false;
182
+ return result;
183
+ };
184
+ await handleSubmitCall({
130
185
  skipErrorCheck,
131
186
  skipFieldValidation: skipErrorCheck,
132
187
  enableAsyncBehavior: isAsync(onStepChange),
133
- onSubmit: async () => {
134
- if (!skipStepChangeCallFromHook) {
135
- var _sharedStateRef$curre, _sharedStateRef$curre2, _sharedStateRef$curre3;
136
- (_sharedStateRef$curre = sharedStateRef.current) === null || _sharedStateRef$curre === void 0 ? void 0 : (_sharedStateRef$curre2 = _sharedStateRef$curre.data) === null || _sharedStateRef$curre2 === void 0 ? void 0 : (_sharedStateRef$curre3 = _sharedStateRef$curre2.onStepChange) === null || _sharedStateRef$curre3 === void 0 ? void 0 : _sharedStateRef$curre3.call(_sharedStateRef$curre2, index, mode, getStepChangeOptions(index));
137
- }
138
- let result = undefined;
139
- if (!skipStepChangeCall && !(skipStepChangeCallBeforeMounted && !isInteractionRef.current)) {
140
- result = await callOnStepChange(index, mode);
141
- }
142
- setFormState('abort');
143
- if (!skipErrorCheck) {
144
- setShowAllErrors(Boolean(errorOnStepRef.current[index]));
145
- }
146
- if (!preventNextStepRef.current && !(result instanceof Error)) {
147
- handleLayoutEffect();
148
- activeIndexRef.current = index;
149
- forceUpdate();
150
- }
151
- preventNextStepRef.current = false;
152
- return result;
153
- }
188
+ onSubmit: bypassOnNavigation ? () => null : onSubmit
154
189
  });
155
- }, [callOnStepChange, getStepChangeOptions, handleLayoutEffect, handleSubmitCall, isInteractionRef, onStepChange, setFormState, setShowAllErrors]);
190
+ if (bypassOnNavigation) {
191
+ await onSubmit();
192
+ }
193
+ }, [bypassOnNavigation, callOnStepChange, getStepChangeOptions, handleLayoutEffect, handleSubmitCall, isInteractionRef, onStepChange, setFormState, setShowAllErrors]);
156
194
  const setActiveIndex = useCallback((index, options) => {
157
195
  if (index === activeIndexRef.current) {
158
196
  return;
@@ -170,51 +208,71 @@ function WizardContainer(props) {
170
208
  const handleNext = useCallback(() => {
171
209
  setActiveIndex(activeIndexRef.current + 1);
172
210
  }, [setActiveIndex]);
173
- const handleChange = useCallback(_ref2 => {
211
+ const handleChange = useCallback(_ref3 => {
174
212
  let {
175
213
  current_step
176
- } = _ref2;
177
- setActiveIndex(current_step, {
214
+ } = _ref3;
215
+ setActiveIndex(current_step, mode === 'loose' ? {
178
216
  skipErrorCheck: true
179
- });
180
- }, [setActiveIndex]);
217
+ } : undefined);
218
+ }, [mode, setActiveIndex]);
181
219
  const setFormError = useCallback(error => {
182
220
  setSubmitState === null || setSubmitState === void 0 ? void 0 : setSubmitState({
183
221
  error
184
222
  });
185
223
  }, [setSubmitState]);
186
- const handleSubmit = useCallback(_ref3 => {
224
+ const handleUnknownStepsState = useCallback(() => {
225
+ const index = activeIndexRef.current;
226
+ for (let i = 0; i < totalStepsRef.current; i++) {
227
+ if (!visitedStepsRef.current[i] && stepStatusRef.current[i] === undefined && i < index && i !== index) {
228
+ setStepState(i, 'unknown');
229
+ }
230
+ }
231
+ }, [setStepState]);
232
+ const hasInvalidStepsState = useCallback(forStates => {
233
+ const steps = Object.values(stepStatusRef.current);
234
+ return (forStates || ['unknown', 'error']).some(state => steps.includes(state));
235
+ }, []);
236
+ const handleSubmit = useCallback(_ref4 => {
187
237
  let {
188
238
  preventSubmit
189
- } = _ref3;
239
+ } = _ref4;
240
+ handleUnknownStepsState();
241
+ if (hasInvalidStepsState()) {
242
+ return preventSubmit();
243
+ }
190
244
  if (activeIndexRef.current + 1 < totalStepsRef.current) {
191
245
  handleNext();
192
246
  preventSubmit();
193
247
  }
194
- }, [handleNext]);
248
+ }, [handleUnknownStepsState, hasInvalidStepsState, handleNext]);
195
249
  (_dataContext$setHandl = dataContext.setHandleSubmit) === null || _dataContext$setHandl === void 0 ? void 0 : _dataContext$setHandl.call(dataContext, handleSubmit);
196
250
  const {
197
251
  check
198
252
  } = useVisibility();
199
- const activeIndex = activeIndexRef.current;
200
253
  const providerValue = useMemo(() => {
201
254
  return {
202
255
  id,
203
256
  activeIndex,
257
+ initialActiveIndex,
204
258
  stepElementRef,
205
259
  stepsRef,
206
260
  updateTitlesRef,
207
261
  activeIndexRef,
208
262
  totalStepsRef,
263
+ stepStatusRef,
209
264
  prerenderFieldProps,
210
265
  prerenderFieldPropsRef,
266
+ keepInDOM,
211
267
  check,
212
268
  setActiveIndex,
213
269
  handlePrevious,
270
+ hasInvalidStepsState,
271
+ revealError,
214
272
  handleNext,
215
273
  setFormError
216
274
  };
217
- }, [activeIndex, handleNext, handlePrevious, id, prerenderFieldProps, check, setActiveIndex, setFormError]);
275
+ }, [id, activeIndex, initialActiveIndex, prerenderFieldProps, keepInDOM, check, setActiveIndex, handlePrevious, hasInvalidStepsState, revealError, handleNext, setFormError]);
218
276
  useLayoutEffect(() => {
219
277
  if (id && hasContext) {
220
278
  sharedStateRef.current.extend(providerValue);
@@ -256,172 +314,10 @@ function WizardContainer(props) {
256
314
  sidebarId: sidebarId
257
315
  }), React.createElement("div", {
258
316
  className: "dnb-forms-wizard-layout__contents"
259
- }, React.createElement(IterateOverSteps, null, children))), prerenderFieldProps && React.createElement(PrerenderFieldPropsOfOtherSteps, {
317
+ }, React.createElement(IterateOverSteps, null, children))), prerenderFieldProps && !keepInDOM && React.createElement(PrerenderFieldPropsOfOtherSteps, {
260
318
  prerenderFieldPropsRef: prerenderFieldPropsRef
261
319
  }));
262
320
  }
263
- function DisplaySteps(_ref4) {
264
- let {
265
- mode,
266
- variant,
267
- noAnimation,
268
- handleChange,
269
- sidebarId
270
- } = _ref4;
271
- const [, forceUpdate] = useReducer(() => ({}), {});
272
- const {
273
- id,
274
- activeIndexRef,
275
- stepsRef,
276
- updateTitlesRef
277
- } = useContext(WizardContext) || {};
278
- updateTitlesRef.current = () => {
279
- forceUpdate();
280
- };
281
- const sidebar_id = variant === 'drawer' && !sidebarId ? undefined : sidebarId !== null && sidebarId !== void 0 ? sidebarId : id;
282
- return React.createElement("aside", {
283
- className: "dnb-forms-wizard-layout__indicator"
284
- }, React.createElement(StepIndicator.Sidebar, {
285
- sidebar_id: sidebar_id
286
- }), React.createElement(StepIndicator, {
287
- bottom: true,
288
- current_step: activeIndexRef.current,
289
- data: Object.values(stepsRef.current).map(_ref5 => {
290
- let {
291
- title,
292
- inactive
293
- } = _ref5;
294
- return {
295
- title,
296
- inactive
297
- };
298
- }),
299
- mode: mode,
300
- no_animation: noAnimation,
301
- on_change: handleChange,
302
- sidebar_id: sidebar_id
303
- }));
304
- }
305
- function IterateOverSteps(_ref6) {
306
- let {
307
- children
308
- } = _ref6;
309
- const {
310
- check,
311
- stepsRef,
312
- activeIndexRef,
313
- totalStepsRef,
314
- prerenderFieldProps,
315
- prerenderFieldPropsRef
316
- } = useContext(WizardContext);
317
- stepsRef.current = {};
318
- let incrementIndex = -1;
319
- const childrenArray = React.Children.map(children, child => {
320
- if (React.isValidElement(child)) {
321
- var _child, _child2;
322
- let step = child;
323
- if (((_child = child) === null || _child === void 0 ? void 0 : _child.type) !== Step && typeof child.type === 'function') {
324
- var _step;
325
- step = child.type.apply(child.type, [child.props]);
326
- if (((_step = step) === null || _step === void 0 ? void 0 : _step.type) === Step) {
327
- child = step;
328
- }
329
- }
330
- if (((_child2 = child) === null || _child2 === void 0 ? void 0 : _child2.type) === Step) {
331
- const {
332
- title,
333
- inactive,
334
- include,
335
- includeWhen,
336
- id
337
- } = handleDeprecatedStepProps(child.props);
338
- if (include === false) {
339
- return null;
340
- }
341
- if (includeWhen && !check({
342
- visibleWhen: includeWhen
343
- })) {
344
- return null;
345
- }
346
- incrementIndex++;
347
- const index = incrementIndex;
348
- stepsRef.current[index] = {
349
- id,
350
- title: title !== undefined ? convertJsxToString(title) : 'Title missing',
351
- inactive
352
- };
353
- const key = `${index}-${activeIndexRef.current}`;
354
- const clone = props => React.cloneElement(child, props);
355
- if (prerenderFieldProps && typeof document !== 'undefined' && index !== activeIndexRef.current && typeof prerenderFieldPropsRef.current['step-' + index] === 'undefined') {
356
- prerenderFieldPropsRef.current['step-' + index] = () => clone({
357
- key,
358
- index,
359
- prerenderFieldProps: true
360
- });
361
- }
362
- return clone({
363
- key,
364
- index
365
- });
366
- }
367
- }
368
- return child;
369
- });
370
- if ((childrenArray === null || childrenArray === void 0 ? void 0 : childrenArray.length) === 0) {
371
- activeIndexRef.current = 0;
372
- } else if ((childrenArray === null || childrenArray === void 0 ? void 0 : childrenArray.length) < activeIndexRef.current + 1) {
373
- activeIndexRef.current = childrenArray.length - 1;
374
- }
375
- totalStepsRef.current = childrenArray === null || childrenArray === void 0 ? void 0 : childrenArray.length;
376
- return childrenArray;
377
- }
378
- function PrerenderFieldPropsOfOtherSteps(_ref7) {
379
- let {
380
- prerenderFieldPropsRef
381
- } = _ref7;
382
- const hasRenderedRef = useRef(true);
383
- if (!hasRenderedRef.current) {
384
- return null;
385
- }
386
- hasRenderedRef.current = false;
387
- return React.createElement(WizardPortal, null, React.createElement(PrerenderFieldPropsProvider, null, React.createElement("iframe", {
388
- title: "Wizard Prerender",
389
- hidden: true
390
- }, Object.values(prerenderFieldPropsRef.current).map((Fn, i) => React.createElement(Fn, {
391
- key: i
392
- })))));
393
- }
394
- function WizardPortal(_ref8) {
395
- let {
396
- children
397
- } = _ref8;
398
- if (typeof document !== 'undefined') {
399
- return ReactDOM.createPortal(children, document.body);
400
- }
401
- }
402
- function PrerenderFieldPropsProvider(_ref9) {
403
- let {
404
- children
405
- } = _ref9;
406
- const {
407
- data,
408
- setFieldInternals,
409
- updateDataValue
410
- } = useContext(DataContext);
411
- return React.createElement(DataContext.Provider, {
412
- value: _objectSpread(_objectSpread({}, defaultContextState), {}, {
413
- data,
414
- setFieldInternals,
415
- updateDataValue,
416
- prerenderFieldProps: true,
417
- hasContext: true
418
- })
419
- }, React.createElement(WizardContext.Provider, {
420
- value: {
421
- prerenderFieldProps: true
422
- }
423
- }, children));
424
- }
425
321
  WizardContainer._supportsSpacingProps = true;
426
322
  export default WizardContainer;
427
323
  //# sourceMappingURL=WizardContainer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WizardContainer.js","names":["React","useContext","useCallback","useRef","useReducer","useMemo","ReactDOM","classnames","Space","StepIndicator","convertJsxToString","warn","isAsync","useId","Step","handleDeprecatedProps","handleDeprecatedStepProps","WizardContext","DataContext","defaultContextState","Handler","createReferenceKey","useSharedState","useHandleLayoutEffect","useStepAnimation","useVisibility","useLayoutEffect","window","useEffect","WizardContainer","props","_dataContext$setHandl","className","id","idProp","mode","initialActiveIndex","omitScrollManagement","omitFocusManagement","onStepChange","children","noAnimation","prerenderFieldProps","variant","sidebarId","rest","_objectWithoutProperties","_excluded","dataContext","hasContext","setFormState","handleSubmitCall","setShowAllErrors","showAllErrors","setSubmitState","forceUpdate","activeIndexRef","totalStepsRef","NaN","errorOnStepRef","elementRef","stepElementRef","preventNextStepRef","stepsRef","tmpStepsRef","updateTitlesRef","prerenderFieldPropsRef","sharedStateRef","current","undefined","preventNavigation","shouldPrevent","arguments","length","getStepChangeOptions","index","_stepsRef$current$ind","previousIndex","options","previousStep","_stepsRef$current$pre","previousId","Object","assign","callOnStepChange","setFocus","scrollToTop","isInteractionRef","executeLayoutAnimationRef","handleLayoutEffect","handleStepChange","_ref","skipErrorCheck","skipStepChangeCall","skipStepChangeCallBeforeMounted","skipStepChangeCallFromHook","skipFieldValidation","enableAsyncBehavior","onSubmit","_sharedStateRef$curre","_sharedStateRef$curre2","_sharedStateRef$curre3","data","call","result","Boolean","Error","setActiveIndex","_objectSpread","handlePrevious","handleNext","handleChange","_ref2","current_step","setFormError","error","handleSubmit","_ref3","preventSubmit","setHandleSubmit","check","activeIndex","providerValue","extend","_updateTitlesRef$curr","stepsLengthDidChange","count","keys","tmpCount","_executeLayoutAnimati","createElement","_extends","Provider","value","innerRef","DisplaySteps","IterateOverSteps","PrerenderFieldPropsOfOtherSteps","_ref4","sidebar_id","Sidebar","bottom","values","map","_ref5","title","inactive","no_animation","on_change","_ref6","incrementIndex","childrenArray","Children","child","isValidElement","_child","_child2","step","type","_step","apply","include","includeWhen","visibleWhen","key","clone","cloneElement","document","_ref7","hasRenderedRef","WizardPortal","PrerenderFieldPropsProvider","hidden","Fn","i","_ref8","createPortal","body","_ref9","setFieldInternals","updateDataValue","_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 ReactDOM from 'react-dom'\nimport classnames from 'classnames'\nimport { Space, StepIndicator } from '../../../../components'\nimport {\n convertJsxToString,\n warn,\n} from '../../../../shared/component-helper'\nimport { isAsync } from '../../../../shared/helpers/isAsync'\nimport useId from '../../../../shared/helpers/useId'\nimport Step, {\n Props as StepProps,\n handleDeprecatedProps as handleDeprecatedStepProps,\n} from '../Step'\nimport WizardContext, {\n OnStepChange,\n OnStepChangeOptions,\n OnStepsChangeMode,\n SetActiveIndexOptions,\n StepIndex,\n Steps,\n WizardContextState,\n} from '../Context/WizardContext'\nimport DataContext, {\n defaultContextState,\n} 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'\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 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 * 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 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 showAllErrors,\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 errorOnStepRef = useRef<Record<StepIndex, boolean | number>>({})\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 // - 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 // Store the current state of showAllErrors\n errorOnStepRef.current[activeIndexRef.current] = showAllErrors\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 ({\n index,\n skipErrorCheck,\n skipStepChangeCall,\n skipStepChangeCallBeforeMounted,\n skipStepChangeCallFromHook,\n mode,\n }: {\n index: StepIndex\n mode: OnStepsChangeMode\n } & SetActiveIndexOptions) => {\n handleSubmitCall({\n skipErrorCheck,\n skipFieldValidation: skipErrorCheck,\n enableAsyncBehavior: isAsync(onStepChange),\n 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 if (!skipErrorCheck) {\n // Set the showAllErrors to the step we got to\n setShowAllErrors(Boolean(errorOnStepRef.current[index]))\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\n return result\n },\n })\n },\n [\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(current_step, { skipErrorCheck: true })\n },\n [setActiveIndex]\n )\n\n const setFormError = useCallback(\n (error: Error) => {\n setSubmitState?.({ error })\n },\n [setSubmitState]\n )\n\n const handleSubmit = useCallback(\n ({ preventSubmit }) => {\n if (activeIndexRef.current + 1 < totalStepsRef.current) {\n handleNext()\n preventSubmit()\n }\n },\n [handleNext]\n )\n dataContext.setHandleSubmit?.(handleSubmit)\n\n const { check } = useVisibility()\n\n const activeIndex = activeIndexRef.current\n const providerValue = useMemo<WizardContextState>(() => {\n return {\n id,\n activeIndex,\n stepElementRef,\n stepsRef,\n updateTitlesRef,\n activeIndexRef,\n totalStepsRef,\n prerenderFieldProps,\n prerenderFieldPropsRef,\n check,\n setActiveIndex,\n handlePrevious,\n handleNext,\n setFormError,\n }\n }, [\n activeIndex,\n handleNext,\n handlePrevious,\n id,\n prerenderFieldProps,\n check,\n setActiveIndex,\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 && (\n <PrerenderFieldPropsOfOtherSteps\n prerenderFieldPropsRef={prerenderFieldPropsRef}\n />\n )}\n </WizardContext.Provider>\n )\n}\n\nfunction DisplaySteps({\n mode,\n variant,\n noAnimation,\n handleChange,\n sidebarId,\n}) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n const { id, activeIndexRef, stepsRef, updateTitlesRef } =\n useContext(WizardContext) || {}\n updateTitlesRef.current = () => {\n forceUpdate()\n }\n\n const sidebar_id =\n variant === 'drawer' && !sidebarId ? undefined : sidebarId ?? id\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 }) => ({ title, inactive })\n )}\n mode={mode}\n no_animation={noAnimation}\n on_change={handleChange}\n sidebar_id={sidebar_id}\n />\n </aside>\n )\n}\n\nfunction IterateOverSteps({ children }) {\n const {\n check,\n stepsRef,\n activeIndexRef,\n totalStepsRef,\n prerenderFieldProps,\n prerenderFieldPropsRef,\n } = useContext(WizardContext)\n\n stepsRef.current = {}\n let incrementIndex = -1\n\n const childrenArray = React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n let step = child\n\n if (child?.type !== Step && typeof child.type === 'function') {\n step = child.type.apply(child.type, [\n child.props,\n ]) as React.ReactElement\n\n if (step?.type === Step) {\n child = step\n }\n }\n\n if (child?.type === Step) {\n const { title, inactive, include, includeWhen, id } =\n handleDeprecatedStepProps(child.props)\n\n if (include === false) {\n return null\n }\n\n if (\n includeWhen &&\n !check({\n visibleWhen: includeWhen,\n })\n ) {\n return null\n }\n\n incrementIndex++\n const index = incrementIndex\n\n stepsRef.current[index] = {\n id,\n title:\n title !== undefined\n ? convertJsxToString(title)\n : 'Title missing',\n inactive,\n }\n const key = `${index}-${activeIndexRef.current}`\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\nfunction PrerenderFieldPropsOfOtherSteps({\n prerenderFieldPropsRef,\n}: {\n prerenderFieldPropsRef: WizardContextState['prerenderFieldPropsRef']\n}) {\n const hasRenderedRef = useRef(true)\n if (!hasRenderedRef.current) {\n return null\n }\n hasRenderedRef.current = false\n\n return (\n <WizardPortal>\n <PrerenderFieldPropsProvider>\n <iframe title=\"Wizard Prerender\" hidden>\n {Object.values(prerenderFieldPropsRef.current).map((Fn, i) => (\n <Fn key={i} />\n ))}\n </iframe>\n </PrerenderFieldPropsProvider>\n </WizardPortal>\n )\n}\n\nfunction WizardPortal({ children }) {\n if (typeof document !== 'undefined') {\n return ReactDOM.createPortal(children, document.body)\n }\n}\n\nfunction PrerenderFieldPropsProvider({ children }) {\n const { data, setFieldInternals, updateDataValue } =\n useContext(DataContext)\n\n return (\n <DataContext.Provider\n value={{\n ...defaultContextState,\n\n // Only update the props and the data value\n data,\n setFieldInternals,\n updateDataValue,\n prerenderFieldProps: true,\n hasContext: true,\n }}\n >\n <WizardContext.Provider value={{ prerenderFieldProps: true }}>\n {children}\n </WizardContext.Provider>\n </DataContext.Provider>\n )\n}\n\nWizardContainer._supportsSpacingProps = true\n\nexport default WizardContainer\n"],"mappings":"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"}
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","_ref","i","hasError","revealError","path","activeIndex","hasErrorInActiveStep","currentState","includes","preventNavigation","shouldPrevent","arguments","length","getStepChangeOptions","_stepsRef$current$ind","previousIndex","options","previousStep","_stepsRef$current$pre","previousId","assign","callOnStepChange","setFocus","scrollToTop","isInteractionRef","executeLayoutAnimationRef","handleLayoutEffect","handleStepChange","_ref2","skipErrorCheck","skipStepChangeCall","skipStepChangeCallBeforeMounted","skipStepChangeCallFromHook","onSubmit","_sharedStateRef$curre","_sharedStateRef$curre2","_sharedStateRef$curre3","data","call","result","Error","skipFieldValidation","enableAsyncBehavior","setActiveIndex","_objectSpread","handlePrevious","handleNext","handleChange","_ref3","current_step","setFormError","error","handleUnknownStepsState","hasInvalidStepsState","forStates","steps","handleSubmit","_ref4","preventSubmit","setHandleSubmit","check","providerValue","extend","_updateTitlesRef$curr","stepsLengthDidChange","count","keys","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 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\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 (bypassOnNavigation) {\n await onSubmit()\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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"}
@@ -34,6 +34,16 @@ export const WizardContainerProperties = {
34
34
  type: 'boolean',
35
35
  status: 'optional'
36
36
  },
37
+ keepInDOM: {
38
+ doc: 'Determines if all steps should be kept in the DOM. Defaults to `false`.',
39
+ type: 'boolean',
40
+ status: 'optional'
41
+ },
42
+ validationMode: {
43
+ doc: 'Determines if and how the validation will be bypassed.',
44
+ type: ['bypassOnNavigation'],
45
+ status: 'optional'
46
+ },
37
47
  children: {
38
48
  doc: 'Contents (Step components).',
39
49
  type: 'React.Node',