@dnb/eufemia 10.65.0 → 10.66.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 (465) hide show
  1. package/CHANGELOG.md +39 -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/DatePicker.d.ts +3 -1
  5. package/cjs/components/date-picker/DatePicker.js +3 -1
  6. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  7. package/cjs/components/date-picker/DatePickerAddon.js +8 -1
  8. package/cjs/components/date-picker/DatePickerAddon.js.map +1 -1
  9. package/cjs/components/date-picker/DatePickerInput.d.ts +5 -0
  10. package/cjs/components/date-picker/DatePickerInput.js +54 -36
  11. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  12. package/cjs/components/date-picker/DatePickerProvider.d.ts +4 -3
  13. package/cjs/components/date-picker/DatePickerProvider.js +7 -2
  14. package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
  15. package/cjs/components/date-picker/hooks/useDates.js.map +1 -1
  16. package/cjs/components/flex/Container.d.ts +2 -1
  17. package/cjs/components/flex/Container.js +31 -24
  18. package/cjs/components/flex/Container.js.map +1 -1
  19. package/cjs/components/flex/ContainerDocs.d.ts +2 -0
  20. package/cjs/components/flex/ContainerDocs.js +81 -0
  21. package/cjs/components/flex/ContainerDocs.js.map +1 -0
  22. package/cjs/components/flex/style/dnb-flex.css +36 -4
  23. package/cjs/components/flex/style/dnb-flex.min.css +1 -1
  24. package/cjs/components/flex/style/flex-container.scss +39 -4
  25. package/cjs/components/help-button/HelpButtonInline.d.ts +6 -0
  26. package/cjs/components/help-button/HelpButtonInline.js +51 -19
  27. package/cjs/components/help-button/HelpButtonInline.js.map +1 -1
  28. package/cjs/components/help-button/HelpButtonInstance.js +1 -1
  29. package/cjs/components/help-button/HelpButtonInstance.js.map +1 -1
  30. package/cjs/components/slider/SliderDocs.js +2 -2
  31. package/cjs/components/slider/SliderDocs.js.map +1 -1
  32. package/cjs/components/slider/SliderProvider.js +0 -2
  33. package/cjs/components/slider/SliderProvider.js.map +1 -1
  34. package/cjs/components/slider/types.d.ts +2 -2
  35. package/cjs/components/slider/types.js.map +1 -1
  36. package/cjs/components/step-indicator/StepIndicator.d.ts +6 -0
  37. package/cjs/components/step-indicator/StepIndicator.js.map +1 -1
  38. package/cjs/components/step-indicator/StepIndicatorContext.d.ts +2 -0
  39. package/cjs/components/step-indicator/StepIndicatorContext.js.map +1 -1
  40. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +4 -3
  41. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  42. package/cjs/components/toggle-button/ToggleButton.d.ts +9 -1
  43. package/cjs/components/toggle-button/ToggleButtonDocs.js +1 -0
  44. package/cjs/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  45. package/cjs/extensions/forms/DataContext/Context.d.ts +11 -5
  46. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  47. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +1 -1
  48. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  49. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +2 -2
  50. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  51. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +2 -2
  52. package/cjs/extensions/forms/DataContext/Provider/Provider.js +46 -42
  53. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  54. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  55. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  56. package/cjs/extensions/forms/Field/Slider/Slider.js +13 -4
  57. package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -1
  58. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +17 -13
  59. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  60. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +7 -2
  61. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  62. package/cjs/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  63. package/cjs/extensions/forms/Value/ValueDocs.js +5 -0
  64. package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -1
  65. package/cjs/extensions/forms/ValueBlock/ValueBlock.d.ts +14 -1
  66. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +40 -10
  67. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  68. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +17 -0
  69. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  70. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.scss +24 -0
  71. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.d.ts +7 -0
  72. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.js +78 -0
  73. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -0
  74. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +3 -0
  75. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.js +94 -0
  76. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -0
  77. package/cjs/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.d.ts +4 -0
  78. package/cjs/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js +67 -0
  79. package/cjs/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js.map +1 -0
  80. package/cjs/extensions/forms/Wizard/Container/WizardContainer.d.ts +9 -1
  81. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +102 -206
  82. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  83. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js +10 -0
  84. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  85. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +7 -23
  86. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  87. package/cjs/extensions/forms/Wizard/Context/types.d.ts +35 -0
  88. package/cjs/extensions/forms/Wizard/Context/types.js +1 -0
  89. package/cjs/extensions/forms/Wizard/Context/types.js.map +1 -0
  90. package/cjs/extensions/forms/Wizard/EditButton/EditButton.d.ts +1 -1
  91. package/cjs/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
  92. package/cjs/extensions/forms/Wizard/Step/Step.d.ts +4 -0
  93. package/cjs/extensions/forms/Wizard/Step/Step.js +28 -9
  94. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  95. package/cjs/extensions/forms/Wizard/Step/StepContext.d.ts +7 -0
  96. package/cjs/extensions/forms/Wizard/Step/StepContext.js +12 -0
  97. package/cjs/extensions/forms/Wizard/Step/StepContext.js.map +1 -0
  98. package/cjs/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  99. package/cjs/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  100. package/cjs/extensions/forms/Wizard/hooks/useStep.d.ts +2 -1
  101. package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  102. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  103. package/cjs/extensions/forms/constants/locales/en-GB.js +2 -1
  104. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  105. package/cjs/extensions/forms/constants/locales/en-US.d.ts +1 -0
  106. package/cjs/extensions/forms/constants/locales/index.d.ts +2 -0
  107. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  108. package/cjs/extensions/forms/constants/locales/nb-NO.js +2 -1
  109. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  110. package/cjs/extensions/forms/hooks/useFieldProps.js +41 -23
  111. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  112. package/cjs/extensions/forms/style/dnb-forms.css +17 -0
  113. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  114. package/cjs/extensions/forms/types.d.ts +9 -1
  115. package/cjs/extensions/forms/types.js.map +1 -1
  116. package/cjs/fragments/drawer-list/DrawerList.d.ts +6 -1
  117. package/cjs/fragments/drawer-list/DrawerList.js +1 -0
  118. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  119. package/cjs/shared/Eufemia.d.ts +1 -1
  120. package/cjs/shared/Eufemia.js +2 -2
  121. package/cjs/shared/Eufemia.js.map +1 -1
  122. package/cjs/style/core/scopes.scss +1 -1
  123. package/cjs/style/dnb-ui-basis.css +1 -1
  124. package/cjs/style/dnb-ui-basis.min.css +1 -1
  125. package/cjs/style/dnb-ui-body.css +1 -1
  126. package/cjs/style/dnb-ui-body.min.css +1 -1
  127. package/cjs/style/dnb-ui-components.css +53 -4
  128. package/cjs/style/dnb-ui-components.min.css +2 -2
  129. package/cjs/style/dnb-ui-core.css +1 -1
  130. package/cjs/style/dnb-ui-core.min.css +1 -1
  131. package/cjs/style/dnb-ui-extensions.css +17 -0
  132. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  133. package/cjs/style/dnb-ui-forms.css +17 -0
  134. package/cjs/style/dnb-ui-forms.min.css +1 -1
  135. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +70 -4
  136. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  137. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +17 -0
  138. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  139. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +17 -0
  140. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  141. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +70 -4
  142. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  143. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +17 -0
  144. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  145. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +17 -0
  146. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  147. package/cjs/style/themes/theme-ui/ui-theme-components.css +70 -4
  148. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  149. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +17 -0
  150. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  151. package/cjs/style/themes/theme-ui/ui-theme-forms.css +17 -0
  152. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  153. package/components/card/Card.js +1 -1
  154. package/components/card/Card.js.map +1 -1
  155. package/components/date-picker/DatePicker.d.ts +3 -1
  156. package/components/date-picker/DatePicker.js +3 -1
  157. package/components/date-picker/DatePicker.js.map +1 -1
  158. package/components/date-picker/DatePickerAddon.js +6 -1
  159. package/components/date-picker/DatePickerAddon.js.map +1 -1
  160. package/components/date-picker/DatePickerInput.d.ts +5 -0
  161. package/components/date-picker/DatePickerInput.js +54 -36
  162. package/components/date-picker/DatePickerInput.js.map +1 -1
  163. package/components/date-picker/DatePickerProvider.d.ts +4 -3
  164. package/components/date-picker/DatePickerProvider.js +7 -2
  165. package/components/date-picker/DatePickerProvider.js.map +1 -1
  166. package/components/date-picker/hooks/useDates.js.map +1 -1
  167. package/components/flex/Container.d.ts +2 -1
  168. package/components/flex/Container.js +32 -25
  169. package/components/flex/Container.js.map +1 -1
  170. package/components/flex/ContainerDocs.d.ts +2 -0
  171. package/components/flex/ContainerDocs.js +74 -0
  172. package/components/flex/ContainerDocs.js.map +1 -0
  173. package/components/flex/style/dnb-flex.css +36 -4
  174. package/components/flex/style/dnb-flex.min.css +1 -1
  175. package/components/flex/style/flex-container.scss +39 -4
  176. package/components/help-button/HelpButtonInline.d.ts +6 -0
  177. package/components/help-button/HelpButtonInline.js +51 -19
  178. package/components/help-button/HelpButtonInline.js.map +1 -1
  179. package/components/help-button/HelpButtonInstance.js +1 -1
  180. package/components/help-button/HelpButtonInstance.js.map +1 -1
  181. package/components/slider/SliderDocs.js +2 -2
  182. package/components/slider/SliderDocs.js.map +1 -1
  183. package/components/slider/SliderProvider.js +0 -2
  184. package/components/slider/SliderProvider.js.map +1 -1
  185. package/components/slider/types.d.ts +2 -2
  186. package/components/slider/types.js.map +1 -1
  187. package/components/step-indicator/StepIndicator.d.ts +6 -0
  188. package/components/step-indicator/StepIndicator.js.map +1 -1
  189. package/components/step-indicator/StepIndicatorContext.d.ts +2 -0
  190. package/components/step-indicator/StepIndicatorContext.js.map +1 -1
  191. package/components/step-indicator/StepIndicatorTriggerButton.js +4 -3
  192. package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  193. package/components/toggle-button/ToggleButton.d.ts +9 -1
  194. package/components/toggle-button/ToggleButtonDocs.js +1 -0
  195. package/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  196. package/es/components/card/Card.js +1 -1
  197. package/es/components/card/Card.js.map +1 -1
  198. package/es/components/date-picker/DatePicker.d.ts +3 -1
  199. package/es/components/date-picker/DatePicker.js +3 -1
  200. package/es/components/date-picker/DatePicker.js.map +1 -1
  201. package/es/components/date-picker/DatePickerAddon.js +6 -1
  202. package/es/components/date-picker/DatePickerAddon.js.map +1 -1
  203. package/es/components/date-picker/DatePickerInput.d.ts +5 -0
  204. package/es/components/date-picker/DatePickerInput.js +54 -36
  205. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  206. package/es/components/date-picker/DatePickerProvider.d.ts +4 -3
  207. package/es/components/date-picker/DatePickerProvider.js +7 -2
  208. package/es/components/date-picker/DatePickerProvider.js.map +1 -1
  209. package/es/components/date-picker/hooks/useDates.js.map +1 -1
  210. package/es/components/flex/Container.d.ts +2 -1
  211. package/es/components/flex/Container.js +32 -25
  212. package/es/components/flex/Container.js.map +1 -1
  213. package/es/components/flex/ContainerDocs.d.ts +2 -0
  214. package/es/components/flex/ContainerDocs.js +74 -0
  215. package/es/components/flex/ContainerDocs.js.map +1 -0
  216. package/es/components/flex/style/dnb-flex.css +36 -4
  217. package/es/components/flex/style/dnb-flex.min.css +1 -1
  218. package/es/components/flex/style/flex-container.scss +39 -4
  219. package/es/components/help-button/HelpButtonInline.d.ts +6 -0
  220. package/es/components/help-button/HelpButtonInline.js +50 -18
  221. package/es/components/help-button/HelpButtonInline.js.map +1 -1
  222. package/es/components/help-button/HelpButtonInstance.js +1 -1
  223. package/es/components/help-button/HelpButtonInstance.js.map +1 -1
  224. package/es/components/slider/SliderDocs.js +2 -2
  225. package/es/components/slider/SliderDocs.js.map +1 -1
  226. package/es/components/slider/SliderProvider.js +0 -2
  227. package/es/components/slider/SliderProvider.js.map +1 -1
  228. package/es/components/slider/types.d.ts +2 -2
  229. package/es/components/slider/types.js.map +1 -1
  230. package/es/components/step-indicator/StepIndicator.d.ts +6 -0
  231. package/es/components/step-indicator/StepIndicator.js.map +1 -1
  232. package/es/components/step-indicator/StepIndicatorContext.d.ts +2 -0
  233. package/es/components/step-indicator/StepIndicatorContext.js.map +1 -1
  234. package/es/components/step-indicator/StepIndicatorTriggerButton.js +4 -3
  235. package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  236. package/es/components/toggle-button/ToggleButton.d.ts +9 -1
  237. package/es/components/toggle-button/ToggleButtonDocs.js +1 -0
  238. package/es/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  239. package/es/extensions/forms/DataContext/Context.d.ts +11 -5
  240. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  241. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +1 -1
  242. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  243. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +2 -2
  244. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  245. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +2 -2
  246. package/es/extensions/forms/DataContext/Provider/Provider.js +36 -35
  247. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  248. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  249. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  250. package/es/extensions/forms/Field/Slider/Slider.js +13 -4
  251. package/es/extensions/forms/Field/Slider/Slider.js.map +1 -1
  252. package/es/extensions/forms/FieldBlock/FieldBlock.js +17 -13
  253. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  254. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +7 -2
  255. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  256. package/es/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  257. package/es/extensions/forms/Value/ValueDocs.js +5 -0
  258. package/es/extensions/forms/Value/ValueDocs.js.map +1 -1
  259. package/es/extensions/forms/ValueBlock/ValueBlock.d.ts +14 -1
  260. package/es/extensions/forms/ValueBlock/ValueBlock.js +40 -10
  261. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  262. package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +17 -0
  263. package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  264. package/es/extensions/forms/ValueBlock/style/dnb-value-block.scss +24 -0
  265. package/es/extensions/forms/Wizard/Container/DisplaySteps.d.ts +7 -0
  266. package/es/extensions/forms/Wizard/Container/DisplaySteps.js +66 -0
  267. package/es/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -0
  268. package/es/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +3 -0
  269. package/es/extensions/forms/Wizard/Container/IterateOverSteps.js +85 -0
  270. package/es/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -0
  271. package/es/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.d.ts +4 -0
  272. package/es/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js +54 -0
  273. package/es/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js.map +1 -0
  274. package/es/extensions/forms/Wizard/Container/WizardContainer.d.ts +9 -1
  275. package/es/extensions/forms/Wizard/Container/WizardContainer.js +97 -194
  276. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  277. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js +10 -0
  278. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  279. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +7 -23
  280. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  281. package/es/extensions/forms/Wizard/Context/types.d.ts +35 -0
  282. package/es/extensions/forms/Wizard/Context/types.js +1 -0
  283. package/es/extensions/forms/Wizard/Context/types.js.map +1 -0
  284. package/es/extensions/forms/Wizard/EditButton/EditButton.d.ts +1 -1
  285. package/es/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
  286. package/es/extensions/forms/Wizard/Step/Step.d.ts +4 -0
  287. package/es/extensions/forms/Wizard/Step/Step.js +29 -10
  288. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  289. package/es/extensions/forms/Wizard/Step/StepContext.d.ts +7 -0
  290. package/es/extensions/forms/Wizard/Step/StepContext.js +4 -0
  291. package/es/extensions/forms/Wizard/Step/StepContext.js.map +1 -0
  292. package/es/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  293. package/es/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  294. package/es/extensions/forms/Wizard/hooks/useStep.d.ts +2 -1
  295. package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  296. package/es/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  297. package/es/extensions/forms/constants/locales/en-GB.js +2 -1
  298. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  299. package/es/extensions/forms/constants/locales/en-US.d.ts +1 -0
  300. package/es/extensions/forms/constants/locales/index.d.ts +2 -0
  301. package/es/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  302. package/es/extensions/forms/constants/locales/nb-NO.js +2 -1
  303. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  304. package/es/extensions/forms/hooks/useFieldProps.js +42 -22
  305. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  306. package/es/extensions/forms/style/dnb-forms.css +17 -0
  307. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  308. package/es/extensions/forms/types.d.ts +9 -1
  309. package/es/extensions/forms/types.js.map +1 -1
  310. package/es/fragments/drawer-list/DrawerList.d.ts +6 -1
  311. package/es/fragments/drawer-list/DrawerList.js +1 -0
  312. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  313. package/es/shared/Eufemia.d.ts +1 -1
  314. package/es/shared/Eufemia.js +2 -2
  315. package/es/shared/Eufemia.js.map +1 -1
  316. package/es/style/core/scopes.scss +1 -1
  317. package/es/style/dnb-ui-basis.css +1 -1
  318. package/es/style/dnb-ui-basis.min.css +1 -1
  319. package/es/style/dnb-ui-body.css +1 -1
  320. package/es/style/dnb-ui-body.min.css +1 -1
  321. package/es/style/dnb-ui-components.css +53 -4
  322. package/es/style/dnb-ui-components.min.css +2 -2
  323. package/es/style/dnb-ui-core.css +1 -1
  324. package/es/style/dnb-ui-core.min.css +1 -1
  325. package/es/style/dnb-ui-extensions.css +17 -0
  326. package/es/style/dnb-ui-extensions.min.css +1 -1
  327. package/es/style/dnb-ui-forms.css +17 -0
  328. package/es/style/dnb-ui-forms.min.css +1 -1
  329. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +70 -4
  330. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  331. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +17 -0
  332. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  333. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +17 -0
  334. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  335. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +70 -4
  336. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  337. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +17 -0
  338. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  339. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +17 -0
  340. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  341. package/es/style/themes/theme-ui/ui-theme-components.css +70 -4
  342. package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  343. package/es/style/themes/theme-ui/ui-theme-extensions.css +17 -0
  344. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  345. package/es/style/themes/theme-ui/ui-theme-forms.css +17 -0
  346. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  347. package/esm/dnb-ui-basis.min.mjs +1 -1
  348. package/esm/dnb-ui-components.min.mjs +1 -1
  349. package/esm/dnb-ui-elements.min.mjs +1 -1
  350. package/esm/dnb-ui-extensions.min.mjs +3 -3
  351. package/esm/dnb-ui-lib.min.mjs +1 -1
  352. package/extensions/forms/DataContext/Context.d.ts +11 -5
  353. package/extensions/forms/DataContext/Context.js.map +1 -1
  354. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +1 -1
  355. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  356. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +2 -2
  357. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  358. package/extensions/forms/DataContext/Provider/Provider.d.ts +2 -2
  359. package/extensions/forms/DataContext/Provider/Provider.js +46 -42
  360. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  361. package/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  362. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  363. package/extensions/forms/Field/Slider/Slider.js +13 -4
  364. package/extensions/forms/Field/Slider/Slider.js.map +1 -1
  365. package/extensions/forms/FieldBlock/FieldBlock.js +17 -13
  366. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  367. package/extensions/forms/Iterate/PushContainer/PushContainer.js +7 -2
  368. package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  369. package/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  370. package/extensions/forms/Value/ValueDocs.js +5 -0
  371. package/extensions/forms/Value/ValueDocs.js.map +1 -1
  372. package/extensions/forms/ValueBlock/ValueBlock.d.ts +14 -1
  373. package/extensions/forms/ValueBlock/ValueBlock.js +40 -10
  374. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  375. package/extensions/forms/ValueBlock/style/dnb-value-block.css +17 -0
  376. package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  377. package/extensions/forms/ValueBlock/style/dnb-value-block.scss +24 -0
  378. package/extensions/forms/Wizard/Container/DisplaySteps.d.ts +7 -0
  379. package/extensions/forms/Wizard/Container/DisplaySteps.js +70 -0
  380. package/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -0
  381. package/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +3 -0
  382. package/extensions/forms/Wizard/Container/IterateOverSteps.js +86 -0
  383. package/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -0
  384. package/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.d.ts +4 -0
  385. package/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js +57 -0
  386. package/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js.map +1 -0
  387. package/extensions/forms/Wizard/Container/WizardContainer.d.ts +9 -1
  388. package/extensions/forms/Wizard/Container/WizardContainer.js +103 -207
  389. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  390. package/extensions/forms/Wizard/Container/WizardContainerDocs.js +10 -0
  391. package/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  392. package/extensions/forms/Wizard/Context/WizardContext.d.ts +7 -23
  393. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  394. package/extensions/forms/Wizard/Context/types.d.ts +35 -0
  395. package/extensions/forms/Wizard/Context/types.js +1 -0
  396. package/extensions/forms/Wizard/Context/types.js.map +1 -0
  397. package/extensions/forms/Wizard/EditButton/EditButton.d.ts +1 -1
  398. package/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
  399. package/extensions/forms/Wizard/Step/Step.d.ts +4 -0
  400. package/extensions/forms/Wizard/Step/Step.js +29 -10
  401. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  402. package/extensions/forms/Wizard/Step/StepContext.d.ts +7 -0
  403. package/extensions/forms/Wizard/Step/StepContext.js +4 -0
  404. package/extensions/forms/Wizard/Step/StepContext.js.map +1 -0
  405. package/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  406. package/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  407. package/extensions/forms/Wizard/hooks/useStep.d.ts +2 -1
  408. package/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  409. package/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  410. package/extensions/forms/constants/locales/en-GB.js +2 -1
  411. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  412. package/extensions/forms/constants/locales/en-US.d.ts +1 -0
  413. package/extensions/forms/constants/locales/index.d.ts +2 -0
  414. package/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  415. package/extensions/forms/constants/locales/nb-NO.js +2 -1
  416. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  417. package/extensions/forms/hooks/useFieldProps.js +41 -23
  418. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  419. package/extensions/forms/style/dnb-forms.css +17 -0
  420. package/extensions/forms/style/dnb-forms.min.css +1 -1
  421. package/extensions/forms/types.d.ts +9 -1
  422. package/extensions/forms/types.js.map +1 -1
  423. package/fragments/drawer-list/DrawerList.d.ts +6 -1
  424. package/fragments/drawer-list/DrawerList.js +1 -0
  425. package/fragments/drawer-list/DrawerList.js.map +1 -1
  426. package/package.json +1 -1
  427. package/shared/Eufemia.d.ts +1 -1
  428. package/shared/Eufemia.js +2 -2
  429. package/shared/Eufemia.js.map +1 -1
  430. package/style/core/scopes.scss +1 -1
  431. package/style/dnb-ui-basis.css +1 -1
  432. package/style/dnb-ui-basis.min.css +1 -1
  433. package/style/dnb-ui-body.css +1 -1
  434. package/style/dnb-ui-body.min.css +1 -1
  435. package/style/dnb-ui-components.css +53 -4
  436. package/style/dnb-ui-components.min.css +2 -2
  437. package/style/dnb-ui-core.css +1 -1
  438. package/style/dnb-ui-core.min.css +1 -1
  439. package/style/dnb-ui-extensions.css +17 -0
  440. package/style/dnb-ui-extensions.min.css +1 -1
  441. package/style/dnb-ui-forms.css +17 -0
  442. package/style/dnb-ui-forms.min.css +1 -1
  443. package/style/themes/theme-eiendom/eiendom-theme-components.css +70 -4
  444. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  445. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +17 -0
  446. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  447. package/style/themes/theme-eiendom/eiendom-theme-forms.css +17 -0
  448. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  449. package/style/themes/theme-sbanken/sbanken-theme-components.css +70 -4
  450. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  451. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +17 -0
  452. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  453. package/style/themes/theme-sbanken/sbanken-theme-forms.css +17 -0
  454. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  455. package/style/themes/theme-ui/ui-theme-components.css +70 -4
  456. package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  457. package/style/themes/theme-ui/ui-theme-extensions.css +17 -0
  458. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  459. package/style/themes/theme-ui/ui-theme-forms.css +17 -0
  460. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  461. package/umd/dnb-ui-basis.min.js +1 -1
  462. package/umd/dnb-ui-components.min.js +1 -1
  463. package/umd/dnb-ui-elements.min.js +1 -1
  464. package/umd/dnb-ui-extensions.min.js +1 -1
  465. package/umd/dnb-ui-lib.min.js +1 -1
@@ -6,21 +6,22 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
- var _reactDom = _interopRequireDefault(require("react-dom"));
10
9
  var _classnames = _interopRequireDefault(require("classnames"));
11
10
  var _components = require("../../../../components");
12
11
  var _componentHelper = require("../../../../shared/component-helper");
13
12
  var _isAsync = require("../../../../shared/helpers/isAsync");
14
13
  var _useId = _interopRequireDefault(require("../../../../shared/helpers/useId"));
15
- var _Step = _interopRequireWildcard(require("../Step"));
16
14
  var _WizardContext = _interopRequireDefault(require("../Context/WizardContext"));
17
- var _Context = _interopRequireWildcard(require("../../DataContext/Context"));
15
+ var _Context = _interopRequireDefault(require("../../DataContext/Context"));
18
16
  var _Handler = _interopRequireDefault(require("../../Form/Handler/Handler"));
19
17
  var _useSharedState = require("../../../../shared/helpers/useSharedState");
20
18
  var _useHandleLayoutEffect = _interopRequireDefault(require("./useHandleLayoutEffect"));
21
19
  var _useStepAnimation = _interopRequireDefault(require("./useStepAnimation"));
22
20
  var _useVisibility = _interopRequireDefault(require("../../Form/Visibility/useVisibility"));
23
- const _excluded = ["className", "id", "mode", "initialActiveIndex", "omitScrollManagement", "omitFocusManagement", "onStepChange", "children", "noAnimation", "prerenderFieldProps", "variant", "sidebarId"];
21
+ var _DisplaySteps = require("./DisplaySteps");
22
+ var _IterateOverSteps = require("./IterateOverSteps");
23
+ var _PrerenderFieldPropsOfOtherSteps = require("./PrerenderFieldPropsOfOtherSteps");
24
+ const _excluded = ["className", "id", "mode", "initialActiveIndex", "omitScrollManagement", "omitFocusManagement", "onStepChange", "children", "noAnimation", "prerenderFieldProps", "keepInDOM", "validationMode", "variant", "sidebarId"];
24
25
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
26
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
26
27
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -46,6 +47,8 @@ function WizardContainer(props) {
46
47
  children,
47
48
  noAnimation = true,
48
49
  prerenderFieldProps = true,
50
+ keepInDOM,
51
+ validationMode,
49
52
  variant = 'sidebar',
50
53
  sidebarId
51
54
  } = props,
@@ -56,14 +59,15 @@ function WizardContainer(props) {
56
59
  setFormState,
57
60
  handleSubmitCall,
58
61
  setShowAllErrors,
59
- showAllErrors,
60
62
  setSubmitState
61
63
  } = dataContext;
62
64
  const id = (0, _useId.default)(idProp);
63
65
  const [, forceUpdate] = (0, _react.useReducer)(() => ({}), {});
64
66
  const activeIndexRef = (0, _react.useRef)(initialActiveIndex);
65
67
  const totalStepsRef = (0, _react.useRef)(NaN);
66
- const errorOnStepRef = (0, _react.useRef)({});
68
+ const stepStatusRef = (0, _react.useRef)({});
69
+ const fieldErrorRef = (0, _react.useRef)({});
70
+ const visitedStepsRef = (0, _react.useRef)({});
67
71
  const elementRef = (0, _react.useRef)();
68
72
  const stepElementRef = (0, _react.useRef)();
69
73
  const preventNextStepRef = (0, _react.useRef)(false);
@@ -71,9 +75,41 @@ function WizardContainer(props) {
71
75
  const tmpStepsRef = (0, _react.useRef)({});
72
76
  const updateTitlesRef = (0, _react.useRef)();
73
77
  const prerenderFieldPropsRef = (0, _react.useRef)({});
78
+ const bypassOnNavigation = validationMode === 'bypassOnNavigation';
74
79
  const sharedStateRef = (0, _react.useRef)();
75
80
  sharedStateRef.current = (0, _useSharedState.useSharedState)(hasContext && id ? (0, _useSharedState.createReferenceKey)(id, 'wizard') : undefined);
76
- errorOnStepRef.current[activeIndexRef.current] = showAllErrors;
81
+ visitedStepsRef.current[activeIndexRef.current] = true;
82
+ const setStepState = (0, _react.useCallback)((index, state) => {
83
+ stepStatusRef.current[index] = state;
84
+ }, []);
85
+ const hasFieldErrorInStep = (0, _react.useCallback)(index => {
86
+ return Object.values(fieldErrorRef.current).some(_ref => {
87
+ let {
88
+ index: i,
89
+ hasError
90
+ } = _ref;
91
+ return i === index && hasError;
92
+ });
93
+ }, []);
94
+ const revealError = (0, _react.useCallback)((index, path, hasError) => {
95
+ fieldErrorRef.current[path] = {
96
+ index,
97
+ hasError
98
+ };
99
+ if (hasFieldErrorInStep(index)) {
100
+ setStepState(index, 'error');
101
+ }
102
+ }, [hasFieldErrorInStep, setStepState]);
103
+ const activeIndex = activeIndexRef.current;
104
+ const hasErrorInActiveStep = hasFieldErrorInStep(activeIndex);
105
+ (0, _react.useMemo)(() => {
106
+ const currentState = stepStatusRef.current[activeIndex];
107
+ if (!hasErrorInActiveStep && ['error', 'valid'].includes(currentState)) {
108
+ setStepState(activeIndex, 'valid');
109
+ } else {
110
+ setStepState(activeIndex, hasErrorInActiveStep ? 'error' : undefined);
111
+ }
112
+ }, [activeIndex, hasErrorInActiveStep, setStepState]);
77
113
  const preventNavigation = (0, _react.useCallback)(function () {
78
114
  let shouldPrevent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
79
115
  preventNextStepRef.current = shouldPrevent;
@@ -128,7 +164,7 @@ function WizardContainer(props) {
128
164
  scrollToTop();
129
165
  }
130
166
  }, [omitScrollManagement, omitFocusManagement, setFocus, scrollToTop]);
131
- const handleStepChange = (0, _react.useCallback)(_ref => {
167
+ const handleStepChange = (0, _react.useCallback)(async _ref2 => {
132
168
  let {
133
169
  index,
134
170
  skipErrorCheck,
@@ -136,34 +172,36 @@ function WizardContainer(props) {
136
172
  skipStepChangeCallBeforeMounted,
137
173
  skipStepChangeCallFromHook,
138
174
  mode
139
- } = _ref;
140
- handleSubmitCall({
175
+ } = _ref2;
176
+ const onSubmit = async () => {
177
+ if (!skipStepChangeCallFromHook) {
178
+ var _sharedStateRef$curre, _sharedStateRef$curre2, _sharedStateRef$curre3;
179
+ (_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));
180
+ }
181
+ let result = undefined;
182
+ if (!skipStepChangeCall && !(skipStepChangeCallBeforeMounted && !isInteractionRef.current)) {
183
+ result = await callOnStepChange(index, mode);
184
+ }
185
+ setFormState('abort');
186
+ setShowAllErrors(bypassOnNavigation ? false : stepStatusRef.current[index] === 'error');
187
+ if (!preventNextStepRef.current && !(result instanceof Error)) {
188
+ handleLayoutEffect();
189
+ activeIndexRef.current = index;
190
+ forceUpdate();
191
+ }
192
+ preventNextStepRef.current = false;
193
+ return result;
194
+ };
195
+ await handleSubmitCall({
141
196
  skipErrorCheck,
142
197
  skipFieldValidation: skipErrorCheck,
143
198
  enableAsyncBehavior: (0, _isAsync.isAsync)(onStepChange),
144
- onSubmit: async () => {
145
- if (!skipStepChangeCallFromHook) {
146
- var _sharedStateRef$curre, _sharedStateRef$curre2, _sharedStateRef$curre3;
147
- (_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));
148
- }
149
- let result = undefined;
150
- if (!skipStepChangeCall && !(skipStepChangeCallBeforeMounted && !isInteractionRef.current)) {
151
- result = await callOnStepChange(index, mode);
152
- }
153
- setFormState('abort');
154
- if (!skipErrorCheck) {
155
- setShowAllErrors(Boolean(errorOnStepRef.current[index]));
156
- }
157
- if (!preventNextStepRef.current && !(result instanceof Error)) {
158
- handleLayoutEffect();
159
- activeIndexRef.current = index;
160
- forceUpdate();
161
- }
162
- preventNextStepRef.current = false;
163
- return result;
164
- }
199
+ onSubmit: bypassOnNavigation ? () => null : onSubmit
165
200
  });
166
- }, [callOnStepChange, getStepChangeOptions, handleLayoutEffect, handleSubmitCall, isInteractionRef, onStepChange, setFormState, setShowAllErrors]);
201
+ if (bypassOnNavigation) {
202
+ await onSubmit();
203
+ }
204
+ }, [bypassOnNavigation, callOnStepChange, getStepChangeOptions, handleLayoutEffect, handleSubmitCall, isInteractionRef, onStepChange, setFormState, setShowAllErrors]);
167
205
  const setActiveIndex = (0, _react.useCallback)((index, options) => {
168
206
  if (index === activeIndexRef.current) {
169
207
  return;
@@ -181,51 +219,71 @@ function WizardContainer(props) {
181
219
  const handleNext = (0, _react.useCallback)(() => {
182
220
  setActiveIndex(activeIndexRef.current + 1);
183
221
  }, [setActiveIndex]);
184
- const handleChange = (0, _react.useCallback)(_ref2 => {
222
+ const handleChange = (0, _react.useCallback)(_ref3 => {
185
223
  let {
186
224
  current_step
187
- } = _ref2;
188
- setActiveIndex(current_step, {
225
+ } = _ref3;
226
+ setActiveIndex(current_step, mode === 'loose' ? {
189
227
  skipErrorCheck: true
190
- });
191
- }, [setActiveIndex]);
228
+ } : undefined);
229
+ }, [mode, setActiveIndex]);
192
230
  const setFormError = (0, _react.useCallback)(error => {
193
231
  setSubmitState === null || setSubmitState === void 0 ? void 0 : setSubmitState({
194
232
  error
195
233
  });
196
234
  }, [setSubmitState]);
197
- const handleSubmit = (0, _react.useCallback)(_ref3 => {
235
+ const handleUnknownStepsState = (0, _react.useCallback)(() => {
236
+ const index = activeIndexRef.current;
237
+ for (let i = 0; i < totalStepsRef.current; i++) {
238
+ if (!visitedStepsRef.current[i] && stepStatusRef.current[i] === undefined && i < index && i !== index) {
239
+ setStepState(i, 'unknown');
240
+ }
241
+ }
242
+ }, [setStepState]);
243
+ const hasInvalidStepsState = (0, _react.useCallback)(forStates => {
244
+ const steps = Object.values(stepStatusRef.current);
245
+ return (forStates || ['unknown', 'error']).some(state => steps.includes(state));
246
+ }, []);
247
+ const handleSubmit = (0, _react.useCallback)(_ref4 => {
198
248
  let {
199
249
  preventSubmit
200
- } = _ref3;
250
+ } = _ref4;
251
+ handleUnknownStepsState();
252
+ if (hasInvalidStepsState()) {
253
+ return preventSubmit();
254
+ }
201
255
  if (activeIndexRef.current + 1 < totalStepsRef.current) {
202
256
  handleNext();
203
257
  preventSubmit();
204
258
  }
205
- }, [handleNext]);
259
+ }, [handleUnknownStepsState, hasInvalidStepsState, handleNext]);
206
260
  (_dataContext$setHandl = dataContext.setHandleSubmit) === null || _dataContext$setHandl === void 0 ? void 0 : _dataContext$setHandl.call(dataContext, handleSubmit);
207
261
  const {
208
262
  check
209
263
  } = (0, _useVisibility.default)();
210
- const activeIndex = activeIndexRef.current;
211
264
  const providerValue = (0, _react.useMemo)(() => {
212
265
  return {
213
266
  id,
214
267
  activeIndex,
268
+ initialActiveIndex,
215
269
  stepElementRef,
216
270
  stepsRef,
217
271
  updateTitlesRef,
218
272
  activeIndexRef,
219
273
  totalStepsRef,
274
+ stepStatusRef,
220
275
  prerenderFieldProps,
221
276
  prerenderFieldPropsRef,
277
+ keepInDOM,
222
278
  check,
223
279
  setActiveIndex,
224
280
  handlePrevious,
281
+ hasInvalidStepsState,
282
+ revealError,
225
283
  handleNext,
226
284
  setFormError
227
285
  };
228
- }, [activeIndex, handleNext, handlePrevious, id, prerenderFieldProps, check, setActiveIndex, setFormError]);
286
+ }, [id, activeIndex, initialActiveIndex, prerenderFieldProps, keepInDOM, check, setActiveIndex, handlePrevious, hasInvalidStepsState, revealError, handleNext, setFormError]);
229
287
  useLayoutEffect(() => {
230
288
  if (id && hasContext) {
231
289
  sharedStateRef.current.extend(providerValue);
@@ -259,7 +317,7 @@ function WizardContainer(props) {
259
317
  }, _react.default.createElement(_components.Space, _extends({
260
318
  className: (0, _classnames.default)(`dnb-forms-wizard-layout dnb-forms-wizard-layout--${variant}`, className),
261
319
  innerRef: elementRef
262
- }, rest), _react.default.createElement(DisplaySteps, {
320
+ }, rest), _react.default.createElement(_DisplaySteps.DisplaySteps, {
263
321
  mode: mode,
264
322
  variant: variant,
265
323
  noAnimation: noAnimation,
@@ -267,172 +325,10 @@ function WizardContainer(props) {
267
325
  sidebarId: sidebarId
268
326
  }), _react.default.createElement("div", {
269
327
  className: "dnb-forms-wizard-layout__contents"
270
- }, _react.default.createElement(IterateOverSteps, null, children))), prerenderFieldProps && _react.default.createElement(PrerenderFieldPropsOfOtherSteps, {
328
+ }, _react.default.createElement(_IterateOverSteps.IterateOverSteps, null, children))), prerenderFieldProps && !keepInDOM && _react.default.createElement(_PrerenderFieldPropsOfOtherSteps.PrerenderFieldPropsOfOtherSteps, {
271
329
  prerenderFieldPropsRef: prerenderFieldPropsRef
272
330
  }));
273
331
  }
274
- function DisplaySteps(_ref4) {
275
- let {
276
- mode,
277
- variant,
278
- noAnimation,
279
- handleChange,
280
- sidebarId
281
- } = _ref4;
282
- const [, forceUpdate] = (0, _react.useReducer)(() => ({}), {});
283
- const {
284
- id,
285
- activeIndexRef,
286
- stepsRef,
287
- updateTitlesRef
288
- } = (0, _react.useContext)(_WizardContext.default) || {};
289
- updateTitlesRef.current = () => {
290
- forceUpdate();
291
- };
292
- const sidebar_id = variant === 'drawer' && !sidebarId ? undefined : sidebarId !== null && sidebarId !== void 0 ? sidebarId : id;
293
- return _react.default.createElement("aside", {
294
- className: "dnb-forms-wizard-layout__indicator"
295
- }, _react.default.createElement(_components.StepIndicator.Sidebar, {
296
- sidebar_id: sidebar_id
297
- }), _react.default.createElement(_components.StepIndicator, {
298
- bottom: true,
299
- current_step: activeIndexRef.current,
300
- data: Object.values(stepsRef.current).map(_ref5 => {
301
- let {
302
- title,
303
- inactive
304
- } = _ref5;
305
- return {
306
- title,
307
- inactive
308
- };
309
- }),
310
- mode: mode,
311
- no_animation: noAnimation,
312
- on_change: handleChange,
313
- sidebar_id: sidebar_id
314
- }));
315
- }
316
- function IterateOverSteps(_ref6) {
317
- let {
318
- children
319
- } = _ref6;
320
- const {
321
- check,
322
- stepsRef,
323
- activeIndexRef,
324
- totalStepsRef,
325
- prerenderFieldProps,
326
- prerenderFieldPropsRef
327
- } = (0, _react.useContext)(_WizardContext.default);
328
- stepsRef.current = {};
329
- let incrementIndex = -1;
330
- const childrenArray = _react.default.Children.map(children, child => {
331
- if (_react.default.isValidElement(child)) {
332
- var _child, _child2;
333
- let step = child;
334
- if (((_child = child) === null || _child === void 0 ? void 0 : _child.type) !== _Step.default && typeof child.type === 'function') {
335
- var _step;
336
- step = child.type.apply(child.type, [child.props]);
337
- if (((_step = step) === null || _step === void 0 ? void 0 : _step.type) === _Step.default) {
338
- child = step;
339
- }
340
- }
341
- if (((_child2 = child) === null || _child2 === void 0 ? void 0 : _child2.type) === _Step.default) {
342
- const {
343
- title,
344
- inactive,
345
- include,
346
- includeWhen,
347
- id
348
- } = (0, _Step.handleDeprecatedProps)(child.props);
349
- if (include === false) {
350
- return null;
351
- }
352
- if (includeWhen && !check({
353
- visibleWhen: includeWhen
354
- })) {
355
- return null;
356
- }
357
- incrementIndex++;
358
- const index = incrementIndex;
359
- stepsRef.current[index] = {
360
- id,
361
- title: title !== undefined ? (0, _componentHelper.convertJsxToString)(title) : 'Title missing',
362
- inactive
363
- };
364
- const key = `${index}-${activeIndexRef.current}`;
365
- const clone = props => _react.default.cloneElement(child, props);
366
- if (prerenderFieldProps && typeof document !== 'undefined' && index !== activeIndexRef.current && typeof prerenderFieldPropsRef.current['step-' + index] === 'undefined') {
367
- prerenderFieldPropsRef.current['step-' + index] = () => clone({
368
- key,
369
- index,
370
- prerenderFieldProps: true
371
- });
372
- }
373
- return clone({
374
- key,
375
- index
376
- });
377
- }
378
- }
379
- return child;
380
- });
381
- if ((childrenArray === null || childrenArray === void 0 ? void 0 : childrenArray.length) === 0) {
382
- activeIndexRef.current = 0;
383
- } else if ((childrenArray === null || childrenArray === void 0 ? void 0 : childrenArray.length) < activeIndexRef.current + 1) {
384
- activeIndexRef.current = childrenArray.length - 1;
385
- }
386
- totalStepsRef.current = childrenArray === null || childrenArray === void 0 ? void 0 : childrenArray.length;
387
- return childrenArray;
388
- }
389
- function PrerenderFieldPropsOfOtherSteps(_ref7) {
390
- let {
391
- prerenderFieldPropsRef
392
- } = _ref7;
393
- const hasRenderedRef = (0, _react.useRef)(true);
394
- if (!hasRenderedRef.current) {
395
- return null;
396
- }
397
- hasRenderedRef.current = false;
398
- return _react.default.createElement(WizardPortal, null, _react.default.createElement(PrerenderFieldPropsProvider, null, _react.default.createElement("iframe", {
399
- title: "Wizard Prerender",
400
- hidden: true
401
- }, Object.values(prerenderFieldPropsRef.current).map((Fn, i) => _react.default.createElement(Fn, {
402
- key: i
403
- })))));
404
- }
405
- function WizardPortal(_ref8) {
406
- let {
407
- children
408
- } = _ref8;
409
- if (typeof document !== 'undefined') {
410
- return _reactDom.default.createPortal(children, document.body);
411
- }
412
- }
413
- function PrerenderFieldPropsProvider(_ref9) {
414
- let {
415
- children
416
- } = _ref9;
417
- const {
418
- data,
419
- setFieldInternals,
420
- updateDataValue
421
- } = (0, _react.useContext)(_Context.default);
422
- return _react.default.createElement(_Context.default.Provider, {
423
- value: _objectSpread(_objectSpread({}, _Context.defaultContextState), {}, {
424
- data,
425
- setFieldInternals,
426
- updateDataValue,
427
- prerenderFieldProps: true,
428
- hasContext: true
429
- })
430
- }, _react.default.createElement(_WizardContext.default.Provider, {
431
- value: {
432
- prerenderFieldProps: true
433
- }
434
- }, children));
435
- }
436
332
  WizardContainer._supportsSpacingProps = true;
437
333
  var _default = WizardContainer;
438
334
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"file":"WizardContainer.js","names":["_react","_interopRequireWildcard","require","_reactDom","_interopRequireDefault","_classnames","_components","_componentHelper","_isAsync","_useId","_Step","_WizardContext","_Context","_Handler","_useSharedState","_useHandleLayoutEffect","_useStepAnimation","_useVisibility","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","useLayoutEffect","window","React","useEffect","WizardContainer","props","_dataContext$setHandl","className","id","idProp","mode","initialActiveIndex","omitScrollManagement","omitFocusManagement","onStepChange","children","noAnimation","prerenderFieldProps","variant","sidebarId","rest","dataContext","useContext","DataContext","hasContext","setFormState","handleSubmitCall","setShowAllErrors","showAllErrors","setSubmitState","useId","forceUpdate","useReducer","activeIndexRef","useRef","totalStepsRef","NaN","errorOnStepRef","elementRef","stepElementRef","preventNextStepRef","stepsRef","tmpStepsRef","updateTitlesRef","prerenderFieldPropsRef","sharedStateRef","current","useSharedState","createReferenceKey","preventNavigation","useCallback","shouldPrevent","getStepChangeOptions","index","_stepsRef$current$ind","previousIndex","options","previousStep","_stepsRef$current$pre","previousId","callOnStepChange","isAsync","setFocus","scrollToTop","isInteractionRef","useHandleLayoutEffect","executeLayoutAnimationRef","useStepAnimation","handleLayoutEffect","handleStepChange","_ref","skipErrorCheck","skipStepChangeCall","skipStepChangeCallBeforeMounted","skipStepChangeCallFromHook","skipFieldValidation","enableAsyncBehavior","onSubmit","_sharedStateRef$curre","_sharedStateRef$curre2","_sharedStateRef$curre3","data","result","Boolean","Error","setActiveIndex","handlePrevious","handleNext","handleChange","_ref2","current_step","setFormError","error","handleSubmit","_ref3","preventSubmit","setHandleSubmit","check","useVisibility","activeIndex","providerValue","useMemo","extend","_updateTitlesRef$curr","stepsLengthDidChange","count","tmpCount","_executeLayoutAnimati","warn","createElement","Provider","Space","classnames","innerRef","DisplaySteps","IterateOverSteps","PrerenderFieldPropsOfOtherSteps","_ref4","WizardContext","sidebar_id","StepIndicator","Sidebar","bottom","values","map","_ref5","title","inactive","no_animation","on_change","_ref6","incrementIndex","childrenArray","Children","child","isValidElement","_child","_child2","step","type","Step","_step","include","includeWhen","handleDeprecatedStepProps","visibleWhen","convertJsxToString","clone","cloneElement","document","_ref7","hasRenderedRef","WizardPortal","PrerenderFieldPropsProvider","hidden","Fn","_ref8","ReactDOM","createPortal","body","_ref9","setFieldInternals","updateDataValue","defaultContextState","_supportsSpacingProps","_default","exports"],"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","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_components","_componentHelper","_isAsync","_useId","_WizardContext","_Context","_Handler","_useSharedState","_useHandleLayoutEffect","_useStepAnimation","_useVisibility","_DisplaySteps","_IterateOverSteps","_PrerenderFieldPropsOfOtherSteps","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","useLayoutEffect","window","React","useEffect","WizardContainer","props","_dataContext$setHandl","className","id","idProp","mode","initialActiveIndex","omitScrollManagement","omitFocusManagement","onStepChange","children","noAnimation","prerenderFieldProps","keepInDOM","validationMode","variant","sidebarId","rest","dataContext","useContext","DataContext","hasContext","setFormState","handleSubmitCall","setShowAllErrors","setSubmitState","useId","forceUpdate","useReducer","activeIndexRef","useRef","totalStepsRef","NaN","stepStatusRef","fieldErrorRef","visitedStepsRef","elementRef","stepElementRef","preventNextStepRef","stepsRef","tmpStepsRef","updateTitlesRef","prerenderFieldPropsRef","bypassOnNavigation","sharedStateRef","current","useSharedState","createReferenceKey","setStepState","useCallback","index","state","hasFieldErrorInStep","values","some","_ref","hasError","revealError","path","activeIndex","hasErrorInActiveStep","useMemo","currentState","includes","preventNavigation","shouldPrevent","getStepChangeOptions","_stepsRef$current$ind","previousIndex","options","previousStep","_stepsRef$current$pre","previousId","callOnStepChange","isAsync","setFocus","scrollToTop","isInteractionRef","useHandleLayoutEffect","executeLayoutAnimationRef","useStepAnimation","handleLayoutEffect","handleStepChange","_ref2","skipErrorCheck","skipStepChangeCall","skipStepChangeCallBeforeMounted","skipStepChangeCallFromHook","onSubmit","_sharedStateRef$curre","_sharedStateRef$curre2","_sharedStateRef$curre3","data","result","Error","skipFieldValidation","enableAsyncBehavior","setActiveIndex","handlePrevious","handleNext","handleChange","_ref3","current_step","setFormError","error","handleUnknownStepsState","hasInvalidStepsState","forStates","steps","handleSubmit","_ref4","preventSubmit","setHandleSubmit","check","useVisibility","providerValue","extend","_updateTitlesRef$curr","stepsLengthDidChange","count","tmpCount","_executeLayoutAnimati","warn","createElement","Provider","Space","classnames","innerRef","DisplaySteps","IterateOverSteps","PrerenderFieldPropsOfOtherSteps","_supportsSpacingProps","_default","exports"],"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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"}
@@ -40,6 +40,16 @@ const WizardContainerProperties = {
40
40
  type: 'boolean',
41
41
  status: 'optional'
42
42
  },
43
+ keepInDOM: {
44
+ doc: 'Determines if all steps should be kept in the DOM. Defaults to `false`.',
45
+ type: 'boolean',
46
+ status: 'optional'
47
+ },
48
+ validationMode: {
49
+ doc: 'Determines if and how the validation will be bypassed.',
50
+ type: ['bypassOnNavigation'],
51
+ status: 'optional'
52
+ },
43
53
  children: {
44
54
  doc: 'Contents (Step components).',
45
55
  type: 'React.Node',