@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
@@ -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":";;;;;;;;AAAA,OAAOA,KAAK,IACVC,UAAU,EACVC,WAAW,EACXC,MAAM,EACNC,UAAU,EACVC,OAAO,QACF,OAAO;AACd,OAAOC,QAAQ,MAAM,WAAW;AAChC,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,KAAK,EAAEC,aAAa,QAAQ,wBAAwB;AAC7D,SACEC,kBAAkB,EAClBC,IAAI,QACC,qCAAqC;AAC5C,SAASC,OAAO,QAAQ,oCAAoC;AAC5D,OAAOC,KAAK,MAAM,kCAAkC;AACpD,OAAOC,IAAI,IAETC,qBAAqB,IAAIC,yBAAyB,QAC7C,SAAS;AAChB,OAAOC,aAAa,MAQb,0BAA0B;AACjC,OAAOC,WAAW,IAChBC,mBAAmB,QACd,2BAA2B;AAClC,OAAOC,OAAO,MAAM,4BAA4B;AAChD,SAEEC,kBAAkB,EAClBC,cAAc,QACT,2CAA2C;AAClD,OAAOC,qBAAqB,MAAM,yBAAyB;AAC3D,OAAOC,gBAAgB,MAAM,oBAAoB;AAEjD,OAAOC,aAAa,MAAM,qCAAqC;AAG/D,MAAMC,eAAe,GACnB,OAAOC,MAAM,KAAK,WAAW,GAAG3B,KAAK,CAAC4B,SAAS,GAAG5B,KAAK,CAAC0B,eAAe;AA0DzE,SAASG,eAAeA,CAACC,KAAY,EAAE;EAAA,IAAAC,qBAAA;EACrC,MAAM;MACJC,SAAS;MACTC,EAAE,EAAEC,MAAM;MACVC,IAAI,GAAG,QAAQ;MACfC,kBAAkB,GAAG,CAAC;MACtBC,oBAAoB;MACpBC,mBAAmB;MACnBC,YAAY;MACZC,QAAQ;MACRC,WAAW,GAAG,IAAI;MAClBC,mBAAmB,GAAG,IAAI;MAC1BC,OAAO,GAAG,SAAS;MACnBC;IAEF,CAAC,GAAGd,KAAK;IADJe,IAAI,GAAAC,wBAAA,CACLhB,KAAK,EAAAiB,SAAA;EAET,MAAMC,WAAW,GAAG/C,UAAU,CAACiB,WAAW,CAAC;EAC3C,MAAM;IACJ+B,UAAU;IACVC,YAAY;IACZC,gBAAgB;IAChBC,gBAAgB;IAChBC,aAAa;IACbC;EACF,CAAC,GAAGN,WAAW;EAEf,MAAMf,EAAE,GAAGpB,KAAK,CAACqB,MAAM,CAAC;EACxB,MAAM,GAAGqB,WAAW,CAAC,GAAGnD,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAClD,MAAMoD,cAAc,GAAGrD,MAAM,CAAYiC,kBAAkB,CAAC;EAC5D,MAAMqB,aAAa,GAAGtD,MAAM,CAASuD,GAAG,CAAC;EACzC,MAAMC,cAAc,GAAGxD,MAAM,CAAsC,CAAC,CAAC,CAAC;EACtE,MAAMyD,UAAU,GAAGzD,MAAM,CAAc,CAAC;EACxC,MAAM0D,cAAc,GAAG1D,MAAM,CAAc,CAAC;EAC5C,MAAM2D,kBAAkB,GAAG3D,MAAM,CAAC,KAAK,CAAC;EACxC,MAAM4D,QAAQ,GAAG5D,MAAM,CAAQ,CAAC,CAAC,CAAC;EAClC,MAAM6D,WAAW,GAAG7D,MAAM,CAAQ,CAAC,CAAC,CAAC;EACrC,MAAM8D,eAAe,GAAG9D,MAAM,CAAa,CAAC;EAC5C,MAAM+D,sBAAsB,GAAG/D,MAAM,CAEnC,CAAC,CAAC,CAAC;EAGL,MAAMgE,cAAc,GAClBhE,MAAM,CAIJ,CAAC;EACLgE,cAAc,CAACC,OAAO,GAAG9C,cAAc,CACrC2B,UAAU,IAAIhB,EAAE,GAAGZ,kBAAkB,CAACY,EAAE,EAAE,QAAQ,CAAC,GAAGoC,SACxD,CAAC;EAGDV,cAAc,CAACS,OAAO,CAACZ,cAAc,CAACY,OAAO,CAAC,GAAGf,aAAa;EAE9D,MAAMiB,iBAAiB,GAAGpE,WAAW,CAAC,YAA0B;IAAA,IAAzBqE,aAAa,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAH,SAAA,GAAAG,SAAA,MAAG,IAAI;IACzDV,kBAAkB,CAACM,OAAO,GAAGG,aAAa;EAC5C,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMG,oBAA+D,GACnExE,WAAW,CACRyE,KAAK,IAAK;IAAA,IAAAC,qBAAA;IACT,MAAMC,aAAa,GAAGrB,cAAc,CAACY,OAAO;IAC5C,MAAMU,OAAO,GAAG;MACdR,iBAAiB;MACjBS,YAAY,EAAE;QAAEJ,KAAK,EAAEE;MAAc;IACvC,CAAC;IAED,MAAM5C,EAAE,IAAA2C,qBAAA,GAAGb,QAAQ,CAACK,OAAO,CAACO,KAAK,CAAC,cAAAC,qBAAA,uBAAvBA,qBAAA,CAAyB3C,EAAE;IACtC,IAAIA,EAAE,EAAE;MAAA,IAAA+C,qBAAA;MACN,MAAMC,UAAU,IAAAD,qBAAA,GAAGjB,QAAQ,CAACK,OAAO,CAACS,aAAa,CAAC,cAAAG,qBAAA,uBAA/BA,qBAAA,CAAiC/C,EAAE;MACtDiD,MAAM,CAACC,MAAM,CAACL,OAAO,EAAE;QAAE7C;MAAG,CAAC,CAAC;MAC9BiD,MAAM,CAACC,MAAM,CAACL,OAAO,CAACC,YAAY,EAAE;QAAE9C,EAAE,EAAEgD;MAAW,CAAC,CAAC;IACzD;IAEA,OAAOH,OAAO;EAChB,CAAC,EACD,CAACR,iBAAiB,CACpB,CAAC;EAEH,MAAMc,gBAAgB,GAAGlF,WAAW,CAClC,OAAOyE,KAAgB,EAAExC,IAAuB,KAAK;IACnD,IAAIvB,OAAO,CAAC2B,YAAY,CAAC,EAAE;MACzB,OAAO,MAAMA,YAAY,CAACoC,KAAK,EAAExC,IAAI,EAAEuC,oBAAoB,CAACC,KAAK,CAAC,CAAC;IACrE;IAEA,OAAOpC,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAGoC,KAAK,EAAExC,IAAI,EAAEuC,oBAAoB,CAACC,KAAK,CAAC,CAAC;EACjE,CAAC,EACD,CAACD,oBAAoB,EAAEnC,YAAY,CACrC,CAAC;EAED,MAAM;IAAE8C,QAAQ;IAAEC,WAAW;IAAEC;EAAiB,CAAC,GAC/ChE,qBAAqB,CAAC;IAAEqC,UAAU;IAAEC;EAAe,CAAC,CAAC;EAEvD,MAAM2B,yBAAyB,GAAGrF,MAAM,CAAa,CAAC;EACtDqB,gBAAgB,CAAC;IACfgC,cAAc;IACdK,cAAc;IACd2B;EACF,CAAC,CAAC;EAEF,MAAMC,kBAAkB,GAAGvF,WAAW,CAAC,MAAM;IAC3C,IAAI,CAACoC,mBAAmB,EAAE;MACxB+C,QAAQ,CAAC,CAAC;IACZ;IACA,IAAI,CAAChD,oBAAoB,EAAE;MACzBiD,WAAW,CAAC,CAAC;IACf;EACF,CAAC,EAAE,CAACjD,oBAAoB,EAAEC,mBAAmB,EAAE+C,QAAQ,EAAEC,WAAW,CAAC,CAAC;EAEtE,MAAMI,gBAAgB,GAAGxF,WAAW,CAClCyF,IAAA,IAU8B;IAAA,IAV7B;MACChB,KAAK;MACLiB,cAAc;MACdC,kBAAkB;MAClBC,+BAA+B;MAC/BC,0BAA0B;MAC1B5D;IAIsB,CAAC,GAAAwD,IAAA;IACvBxC,gBAAgB,CAAC;MACfyC,cAAc;MACdI,mBAAmB,EAAEJ,cAAc;MACnCK,mBAAmB,EAAErF,OAAO,CAAC2B,YAAY,CAAC;MAC1C2D,QAAQ,EAAE,MAAAA,CAAA,KAAY;QACpB,IAAI,CAACH,0BAA0B,EAAE;UAAA,IAAAI,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;UAC/B,CAAAF,qBAAA,GAAAhC,cAAc,CAACC,OAAO,cAAA+B,qBAAA,wBAAAC,sBAAA,GAAtBD,qBAAA,CAAwBG,IAAI,cAAAF,sBAAA,wBAAAC,sBAAA,GAA5BD,sBAAA,CAA8B7D,YAAY,cAAA8D,sBAAA,uBAA1CA,sBAAA,CAAAE,IAAA,CAAAH,sBAAA,EACEzB,KAAK,EACLxC,IAAI,EACJuC,oBAAoB,CAACC,KAAK,CAC5B,CAAC;QACH;QAEA,IAAI6B,MAAM,GAAGnC,SAAS;QAEtB,IACE,CAACwB,kBAAkB,IACnB,EAAEC,+BAA+B,IAAI,CAACP,gBAAgB,CAACnB,OAAO,CAAC,EAC/D;UACAoC,MAAM,GAAG,MAAMpB,gBAAgB,CAACT,KAAK,EAAExC,IAAI,CAAC;QAC9C;QAGAe,YAAY,CAAC,OAAO,CAAC;QAErB,IAAI,CAAC0C,cAAc,EAAE;UAEnBxC,gBAAgB,CAACqD,OAAO,CAAC9C,cAAc,CAACS,OAAO,CAACO,KAAK,CAAC,CAAC,CAAC;QAC1D;QAEA,IAAI,CAACb,kBAAkB,CAACM,OAAO,IAAI,EAAEoC,MAAM,YAAYE,KAAK,CAAC,EAAE;UAC7DjB,kBAAkB,CAAC,CAAC;UAEpBjC,cAAc,CAACY,OAAO,GAAGO,KAAK;UAC9BpB,WAAW,CAAC,CAAC;QACf;QAEAO,kBAAkB,CAACM,OAAO,GAAG,KAAK;QAElC,OAAOoC,MAAM;MACf;IACF,CAAC,CAAC;EACJ,CAAC,EACD,CACEpB,gBAAgB,EAChBV,oBAAoB,EACpBe,kBAAkB,EAClBtC,gBAAgB,EAChBoC,gBAAgB,EAChBhD,YAAY,EACZW,YAAY,EACZE,gBAAgB,CAEpB,CAAC;EAED,MAAMuD,cAAc,GAAGzG,WAAW,CAChC,CAACyE,KAAgB,EAAEG,OAA+B,KAAK;IACrD,IAAIH,KAAK,KAAKnB,cAAc,CAACY,OAAO,EAAE;MACpC;IACF;IAEA,MAAMjC,IAAI,GAAGwC,KAAK,GAAGnB,cAAc,CAACY,OAAO,GAAG,MAAM,GAAG,UAAU;IAEjEsB,gBAAgB,CAAAkB,aAAA;MACdjC,KAAK;MACLiB,cAAc,EAAEzD,IAAI,KAAK,UAAU;MACnCA;IAAI,GACD2C,OAAO,CACX,CAAC;EACJ,CAAC,EACD,CAACY,gBAAgB,CACnB,CAAC;EAED,MAAMmB,cAAc,GAAG3G,WAAW,CAAC,MAAM;IACvCyG,cAAc,CAACnD,cAAc,CAACY,OAAO,GAAG,CAAC,CAAC;EAC5C,CAAC,EAAE,CAACuC,cAAc,CAAC,CAAC;EAEpB,MAAMG,UAAU,GAAG5G,WAAW,CAAC,MAAM;IACnCyG,cAAc,CAACnD,cAAc,CAACY,OAAO,GAAG,CAAC,CAAC;EAC5C,CAAC,EAAE,CAACuC,cAAc,CAAC,CAAC;EAEpB,MAAMI,YAAY,GAAG7G,WAAW,CAC9B8G,KAAA,IAAsB;IAAA,IAArB;MAAEC;IAAa,CAAC,GAAAD,KAAA;IACfL,cAAc,CAACM,YAAY,EAAE;MAAErB,cAAc,EAAE;IAAK,CAAC,CAAC;EACxD,CAAC,EACD,CAACe,cAAc,CACjB,CAAC;EAED,MAAMO,YAAY,GAAGhH,WAAW,CAC7BiH,KAAY,IAAK;IAChB7D,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAG;MAAE6D;IAAM,CAAC,CAAC;EAC7B,CAAC,EACD,CAAC7D,cAAc,CACjB,CAAC;EAED,MAAM8D,YAAY,GAAGlH,WAAW,CAC9BmH,KAAA,IAAuB;IAAA,IAAtB;MAAEC;IAAc,CAAC,GAAAD,KAAA;IAChB,IAAI7D,cAAc,CAACY,OAAO,GAAG,CAAC,GAAGX,aAAa,CAACW,OAAO,EAAE;MACtD0C,UAAU,CAAC,CAAC;MACZQ,aAAa,CAAC,CAAC;IACjB;EACF,CAAC,EACD,CAACR,UAAU,CACb,CAAC;EACD,CAAA/E,qBAAA,GAAAiB,WAAW,CAACuE,eAAe,cAAAxF,qBAAA,uBAA3BA,qBAAA,CAAAwE,IAAA,CAAAvD,WAAW,EAAmBoE,YAAY,CAAC;EAE3C,MAAM;IAAEI;EAAM,CAAC,GAAG/F,aAAa,CAAC,CAAC;EAEjC,MAAMgG,WAAW,GAAGjE,cAAc,CAACY,OAAO;EAC1C,MAAMsD,aAAa,GAAGrH,OAAO,CAAqB,MAAM;IACtD,OAAO;MACL4B,EAAE;MACFwF,WAAW;MACX5D,cAAc;MACdE,QAAQ;MACRE,eAAe;MACfT,cAAc;MACdC,aAAa;MACbf,mBAAmB;MACnBwB,sBAAsB;MACtBsD,KAAK;MACLb,cAAc;MACdE,cAAc;MACdC,UAAU;MACVI;IACF,CAAC;EACH,CAAC,EAAE,CACDO,WAAW,EACXX,UAAU,EACVD,cAAc,EACd5E,EAAE,EACFS,mBAAmB,EACnB8E,KAAK,EACLb,cAAc,EACdO,YAAY,CACb,CAAC;EAGFxF,eAAe,CAAC,MAAM;IACpB,IAAIO,EAAE,IAAIgB,UAAU,EAAE;MACpBkB,cAAc,CAACC,OAAO,CAACuD,MAAM,CAACD,aAAa,CAAC;IAC9C;EACF,CAAC,EAAE,CAACzE,UAAU,EAAEhB,EAAE,EAAEyF,aAAa,CAAC,CAAC;EAEnChG,eAAe,CAAC,MAAM;IAAA,IAAAkG,qBAAA;IACpB,CAAAA,qBAAA,GAAA3D,eAAe,CAACG,OAAO,cAAAwD,qBAAA,uBAAvBA,qBAAA,CAAArB,IAAA,CAAAtC,eAA0B,CAAC;EAE7B,CAAC,EAAE,CAACF,QAAQ,CAACK,OAAO,CAAC,CAAC;EAEtB,MAAMyD,oBAAoB,GAAG3H,WAAW,CAAC,MAAM;IAC7C,MAAM4H,KAAK,GAAG5C,MAAM,CAAC6C,IAAI,CAAChE,QAAQ,CAACK,OAAO,CAAC,CAACK,MAAM;IAClD,MAAMuD,QAAQ,GAAG9C,MAAM,CAAC6C,IAAI,CAAC/D,WAAW,CAACI,OAAO,CAAC,CAACK,MAAM;IACxD,OAAOqD,KAAK,KAAK,CAAC,IAAIE,QAAQ,KAAK,CAAC,IAAIF,KAAK,KAAKE,QAAQ;EAC5D,CAAC,EAAE,EAAE,CAAC;EAGNtG,eAAe,CAAC,MAAM;IACpB,IAAImG,oBAAoB,CAAC,CAAC,EAAE;MAAA,IAAAI,qBAAA;MAC1B7C,gBAAgB,CAAC5B,cAAc,CAACY,OAAO,EAAE,kBAAkB,CAAC;MAC5D,CAAA6D,qBAAA,GAAAzC,yBAAyB,CAACpB,OAAO,cAAA6D,qBAAA,uBAAjCA,qBAAA,CAAA1B,IAAA,CAAAf,yBAAoC,CAAC;IACvC;IACAxB,WAAW,CAACI,OAAO,GAAGL,QAAQ,CAACK,OAAO;EAExC,CAAC,EAAE,CAACL,QAAQ,CAACK,OAAO,EAAEgB,gBAAgB,EAAEyC,oBAAoB,CAAC,CAAC;EAE9D,IAAI,CAAC5E,UAAU,EAAE;IACftC,IAAI,CAAC,+CAA+C,CAAC;IACrD,OACEX,KAAA,CAAAkI,aAAA,CAAC9G,OAAO,QACNpB,KAAA,CAAAkI,aAAA,CAACrG,eAAe,EAAAsG,QAAA,KAAKrG,KAAK;MAAEG,EAAE,EAAEA;IAAG,EAAE,CAC9B,CAAC;EAEd;EAEA,OACEjC,KAAA,CAAAkI,aAAA,CAACjH,aAAa,CAACmH,QAAQ;IAACC,KAAK,EAAEX;EAAc,GAC3C1H,KAAA,CAAAkI,aAAA,CAAC1H,KAAK,EAAA2H,QAAA;IACJnG,SAAS,EAAEzB,UAAU,qDAESoC,OAAQ,IACpCX,SACF,CAAE;IACFsG,QAAQ,EAAE1E;EAAW,GACjBf,IAAI,GAER7C,KAAA,CAAAkI,aAAA,CAACK,YAAY;IACXpG,IAAI,EAAEA,IAAK;IACXQ,OAAO,EAAEA,OAAQ;IACjBF,WAAW,EAAEA,WAAY;IACzBsE,YAAY,EAAEA,YAAa;IAC3BnE,SAAS,EAAEA;EAAU,CACtB,CAAC,EAEF5C,KAAA,CAAAkI,aAAA;IAAKlG,SAAS,EAAC;EAAmC,GAChDhC,KAAA,CAAAkI,aAAA,CAACM,gBAAgB,QAAEhG,QAA2B,CAC3C,CACA,CAAC,EAEPE,mBAAmB,IAClB1C,KAAA,CAAAkI,aAAA,CAACO,+BAA+B;IAC9BvE,sBAAsB,EAAEA;EAAuB,CAChD,CAEmB,CAAC;AAE7B;AAEA,SAASqE,YAAYA,CAAAG,KAAA,EAMlB;EAAA,IANmB;IACpBvG,IAAI;IACJQ,OAAO;IACPF,WAAW;IACXsE,YAAY;IACZnE;EACF,CAAC,GAAA8F,KAAA;EACC,MAAM,GAAGnF,WAAW,CAAC,GAAGnD,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAClD,MAAM;IAAE6B,EAAE;IAAEuB,cAAc;IAAEO,QAAQ;IAAEE;EAAgB,CAAC,GACrDhE,UAAU,CAACgB,aAAa,CAAC,IAAI,CAAC,CAAC;EACjCgD,eAAe,CAACG,OAAO,GAAG,MAAM;IAC9Bb,WAAW,CAAC,CAAC;EACf,CAAC;EAED,MAAMoF,UAAU,GACdhG,OAAO,KAAK,QAAQ,IAAI,CAACC,SAAS,GAAGyB,SAAS,GAAGzB,SAAS,aAATA,SAAS,cAATA,SAAS,GAAIX,EAAE;EAElE,OACEjC,KAAA,CAAAkI,aAAA;IAAOlG,SAAS,EAAC;EAAoC,GACnDhC,KAAA,CAAAkI,aAAA,CAACzH,aAAa,CAACmI,OAAO;IAACD,UAAU,EAAEA;EAAW,CAAE,CAAC,EACjD3I,KAAA,CAAAkI,aAAA,CAACzH,aAAa;IACZoI,MAAM;IACN5B,YAAY,EAAEzD,cAAc,CAACY,OAAQ;IACrCkC,IAAI,EAAEpB,MAAM,CAAC4D,MAAM,CAAC/E,QAAQ,CAACK,OAAO,CAAC,CAAC2E,GAAG,CACvCC,KAAA;MAAA,IAAC;QAAEC,KAAK;QAAEC;MAAS,CAAC,GAAAF,KAAA;MAAA,OAAM;QAAEC,KAAK;QAAEC;MAAS,CAAC;IAAA,CAC/C,CAAE;IACF/G,IAAI,EAAEA,IAAK;IACXgH,YAAY,EAAE1G,WAAY;IAC1B2G,SAAS,EAAErC,YAAa;IACxB4B,UAAU,EAAEA;EAAW,CACxB,CACI,CAAC;AAEZ;AAEA,SAASH,gBAAgBA,CAAAa,KAAA,EAAe;EAAA,IAAd;IAAE7G;EAAS,CAAC,GAAA6G,KAAA;EACpC,MAAM;IACJ7B,KAAK;IACLzD,QAAQ;IACRP,cAAc;IACdC,aAAa;IACbf,mBAAmB;IACnBwB;EACF,CAAC,GAAGjE,UAAU,CAACgB,aAAa,CAAC;EAE7B8C,QAAQ,CAACK,OAAO,GAAG,CAAC,CAAC;EACrB,IAAIkF,cAAc,GAAG,CAAC,CAAC;EAEvB,MAAMC,aAAa,GAAGvJ,KAAK,CAACwJ,QAAQ,CAACT,GAAG,CAACvG,QAAQ,EAAGiH,KAAK,IAAK;IAC5D,IAAIzJ,KAAK,CAAC0J,cAAc,CAACD,KAAK,CAAC,EAAE;MAAA,IAAAE,MAAA,EAAAC,OAAA;MAC/B,IAAIC,IAAI,GAAGJ,KAAK;MAEhB,IAAI,EAAAE,MAAA,GAAAF,KAAK,cAAAE,MAAA,uBAALA,MAAA,CAAOG,IAAI,MAAKhJ,IAAI,IAAI,OAAO2I,KAAK,CAACK,IAAI,KAAK,UAAU,EAAE;QAAA,IAAAC,KAAA;QAC5DF,IAAI,GAAGJ,KAAK,CAACK,IAAI,CAACE,KAAK,CAACP,KAAK,CAACK,IAAI,EAAE,CAClCL,KAAK,CAAC3H,KAAK,CACZ,CAAuB;QAExB,IAAI,EAAAiI,KAAA,GAAAF,IAAI,cAAAE,KAAA,uBAAJA,KAAA,CAAMD,IAAI,MAAKhJ,IAAI,EAAE;UACvB2I,KAAK,GAAGI,IAAI;QACd;MACF;MAEA,IAAI,EAAAD,OAAA,GAAAH,KAAK,cAAAG,OAAA,uBAALA,OAAA,CAAOE,IAAI,MAAKhJ,IAAI,EAAE;QACxB,MAAM;UAAEmI,KAAK;UAAEC,QAAQ;UAAEe,OAAO;UAAEC,WAAW;UAAEjI;QAAG,CAAC,GACjDjB,yBAAyB,CAACyI,KAAK,CAAC3H,KAAK,CAAC;QAExC,IAAImI,OAAO,KAAK,KAAK,EAAE;UACrB,OAAO,IAAI;QACb;QAEA,IACEC,WAAW,IACX,CAAC1C,KAAK,CAAC;UACL2C,WAAW,EAAED;QACf,CAAC,CAAC,EACF;UACA,OAAO,IAAI;QACb;QAEAZ,cAAc,EAAE;QAChB,MAAM3E,KAAK,GAAG2E,cAAc;QAE5BvF,QAAQ,CAACK,OAAO,CAACO,KAAK,CAAC,GAAG;UACxB1C,EAAE;UACFgH,KAAK,EACHA,KAAK,KAAK5E,SAAS,GACf3D,kBAAkB,CAACuI,KAAK,CAAC,GACzB,eAAe;UACrBC;QACF,CAAC;QACD,MAAMkB,GAAG,GAAI,GAAEzF,KAAM,IAAGnB,cAAc,CAACY,OAAQ,EAAC;QAChD,MAAMiG,KAAK,GAAIvI,KAAK,IAClB9B,KAAK,CAACsK,YAAY,CAACb,KAAK,EAAmC3H,KAAK,CAAC;QAEnE,IACEY,mBAAmB,IACnB,OAAO6H,QAAQ,KAAK,WAAW,IAC/B5F,KAAK,KAAKnB,cAAc,CAACY,OAAO,IAChC,OAAOF,sBAAsB,CAACE,OAAO,CAAC,OAAO,GAAGO,KAAK,CAAC,KACpD,WAAW,EACb;UACAT,sBAAsB,CAACE,OAAO,CAAC,OAAO,GAAGO,KAAK,CAAC,GAAG,MAChD0F,KAAK,CAAC;YACJD,GAAG;YACHzF,KAAK;YACLjC,mBAAmB,EAAE;UACvB,CAAC,CAAC;QACN;QAEA,OAAO2H,KAAK,CAAC;UACXD,GAAG;UACHzF;QACF,CAAC,CAAC;MACJ;IACF;IAEA,OAAO8E,KAAK;EACd,CAAC,CAAC;EAIF,IAAI,CAAAF,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE9E,MAAM,MAAK,CAAC,EAAE;IAC/BjB,cAAc,CAACY,OAAO,GAAG,CAAC;EAC5B,CAAC,MAAM,IAAI,CAAAmF,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE9E,MAAM,IAAGjB,cAAc,CAACY,OAAO,GAAG,CAAC,EAAE;IAC7DZ,cAAc,CAACY,OAAO,GAAGmF,aAAa,CAAC9E,MAAM,GAAG,CAAC;EACnD;EAEAhB,aAAa,CAACW,OAAO,GAAGmF,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE9E,MAAM;EAE7C,OAAO8E,aAAa;AACtB;AAEA,SAASd,+BAA+BA,CAAA+B,KAAA,EAIrC;EAAA,IAJsC;IACvCtG;EAGF,CAAC,GAAAsG,KAAA;EACC,MAAMC,cAAc,GAAGtK,MAAM,CAAC,IAAI,CAAC;EACnC,IAAI,CAACsK,cAAc,CAACrG,OAAO,EAAE;IAC3B,OAAO,IAAI;EACb;EACAqG,cAAc,CAACrG,OAAO,GAAG,KAAK;EAE9B,OACEpE,KAAA,CAAAkI,aAAA,CAACwC,YAAY,QACX1K,KAAA,CAAAkI,aAAA,CAACyC,2BAA2B,QAC1B3K,KAAA,CAAAkI,aAAA;IAAQe,KAAK,EAAC,kBAAkB;IAAC2B,MAAM;EAAA,GACpC1F,MAAM,CAAC4D,MAAM,CAAC5E,sBAAsB,CAACE,OAAO,CAAC,CAAC2E,GAAG,CAAC,CAAC8B,EAAE,EAAEC,CAAC,KACvD9K,KAAA,CAAAkI,aAAA,CAAC2C,EAAE;IAACT,GAAG,EAAEU;EAAE,CAAE,CACd,CACK,CACmB,CACjB,CAAC;AAEnB;AAEA,SAASJ,YAAYA,CAAAK,KAAA,EAAe;EAAA,IAAd;IAAEvI;EAAS,CAAC,GAAAuI,KAAA;EAChC,IAAI,OAAOR,QAAQ,KAAK,WAAW,EAAE;IACnC,OAAOjK,QAAQ,CAAC0K,YAAY,CAACxI,QAAQ,EAAE+H,QAAQ,CAACU,IAAI,CAAC;EACvD;AACF;AAEA,SAASN,2BAA2BA,CAAAO,KAAA,EAAe;EAAA,IAAd;IAAE1I;EAAS,CAAC,GAAA0I,KAAA;EAC/C,MAAM;IAAE5E,IAAI;IAAE6E,iBAAiB;IAAEC;EAAgB,CAAC,GAChDnL,UAAU,CAACiB,WAAW,CAAC;EAEzB,OACElB,KAAA,CAAAkI,aAAA,CAAChH,WAAW,CAACkH,QAAQ;IACnBC,KAAK,EAAAzB,aAAA,CAAAA,aAAA,KACAzF,mBAAmB;MAGtBmF,IAAI;MACJ6E,iBAAiB;MACjBC,eAAe;MACf1I,mBAAmB,EAAE,IAAI;MACzBO,UAAU,EAAE;IAAI;EAChB,GAEFjD,KAAA,CAAAkI,aAAA,CAACjH,aAAa,CAACmH,QAAQ;IAACC,KAAK,EAAE;MAAE3F,mBAAmB,EAAE;IAAK;EAAE,GAC1DF,QACqB,CACJ,CAAC;AAE3B;AAEAX,eAAe,CAACwJ,qBAAqB,GAAG,IAAI;AAE5C,eAAexJ,eAAe"}
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',
@@ -1 +1 @@
1
- {"version":3,"file":"WizardContainerDocs.js","names":["WizardContainerProperties","initialActiveIndex","doc","type","status","mode","variant","omitScrollManagement","omitFocusManagement","sidebarId","noAnimation","children","WizardContainerEvents","onStepChange"],"sources":["../../../../../../src/extensions/forms/Wizard/Container/WizardContainerDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const WizardContainerProperties: PropertiesTableProps = {\n initialActiveIndex: {\n doc: 'What step should show initially (defaults to 0 for the first one).',\n type: 'number',\n status: 'optional',\n },\n mode: {\n doc: 'How to show the wizard. Inherited from StepIndicator. Defaults to `strict`.',\n type: 'string',\n status: 'optional',\n },\n variant: {\n doc: 'Sets the StepIndicator to be either `sidebar` or `drawer`. Defaults to `sidebar`.',\n type: 'string',\n status: 'optional',\n },\n omitScrollManagement: {\n doc: 'True to omit scroll management.',\n type: 'boolean',\n status: 'optional',\n },\n omitFocusManagement: {\n doc: 'True to omit focus management.',\n type: 'boolean',\n status: 'optional',\n },\n sidebarId: {\n doc: 'Sets the id for `<StepIndicator.Sidebar />` Inherited from StepIndicator.',\n type: 'string',\n status: 'required',\n },\n noAnimation: {\n doc: 'Determines if the height animation for step items and the drawer button will run. Inherited from StepIndicator. Defaults to `true`.',\n type: 'boolean',\n status: 'optional',\n },\n children: {\n doc: 'Contents (Step components).',\n type: 'React.Node',\n status: 'required',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const WizardContainerEvents: PropertiesTableProps = {\n onStepChange: {\n doc: 'Will be called when the user navigate to a different step, with step `index` as the first argument and `previous` or `next` (or `stepListModified` when a step gets replaced) as the second argument, and as the third parameter an options object containing a `preventNavigation` function, an `id` if given on the `Wizard.Step` and a `previousStep` object containing the previous `index` (and `id` if given on the `Wizard.Step`). When an async function is provided, it will show an indicator on the submit button during the form submission. All form elements will be disabled during the submit. The indicator will be shown for minimum 1 second. Related Form.Handler props: `minimumAsyncBehaviorTime` and `asyncSubmitTimeout`.',\n type: 'function',\n status: 'optional',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,yBAA+C,GAAG;EAC7DC,kBAAkB,EAAE;IAClBC,GAAG,EAAE,oEAAoE;IACzEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,IAAI,EAAE;IACJH,GAAG,EAAE,6EAA6E;IAClFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,OAAO,EAAE;IACPJ,GAAG,EAAE,mFAAmF;IACxFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,oBAAoB,EAAE;IACpBL,GAAG,EAAE,iCAAiC;IACtCC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDI,mBAAmB,EAAE;IACnBN,GAAG,EAAE,gCAAgC;IACrCC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDK,SAAS,EAAE;IACTP,GAAG,EAAE,2EAA2E;IAChFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDM,WAAW,EAAE;IACXR,GAAG,EAAE,qIAAqI;IAC1IC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDO,QAAQ,EAAE;IACRT,GAAG,EAAE,6BAA6B;IAClCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMQ,qBAA2C,GAAG;EACzDC,YAAY,EAAE;IACZX,GAAG,EAAE,mtBAAmtB;IACxtBC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV;AACF,CAAC"}
1
+ {"version":3,"file":"WizardContainerDocs.js","names":["WizardContainerProperties","initialActiveIndex","doc","type","status","mode","variant","omitScrollManagement","omitFocusManagement","sidebarId","noAnimation","keepInDOM","validationMode","children","WizardContainerEvents","onStepChange"],"sources":["../../../../../../src/extensions/forms/Wizard/Container/WizardContainerDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const WizardContainerProperties: PropertiesTableProps = {\n initialActiveIndex: {\n doc: 'What step should show initially (defaults to 0 for the first one).',\n type: 'number',\n status: 'optional',\n },\n mode: {\n doc: 'How to show the wizard. Inherited from StepIndicator. Defaults to `strict`.',\n type: 'string',\n status: 'optional',\n },\n variant: {\n doc: 'Sets the StepIndicator to be either `sidebar` or `drawer`. Defaults to `sidebar`.',\n type: 'string',\n status: 'optional',\n },\n omitScrollManagement: {\n doc: 'True to omit scroll management.',\n type: 'boolean',\n status: 'optional',\n },\n omitFocusManagement: {\n doc: 'True to omit focus management.',\n type: 'boolean',\n status: 'optional',\n },\n sidebarId: {\n doc: 'Sets the id for `<StepIndicator.Sidebar />` Inherited from StepIndicator.',\n type: 'string',\n status: 'required',\n },\n noAnimation: {\n doc: 'Determines if the height animation for step items and the drawer button will run. Inherited from StepIndicator. Defaults to `true`.',\n type: 'boolean',\n status: 'optional',\n },\n keepInDOM: {\n doc: 'Determines if all steps should be kept in the DOM. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n validationMode: {\n doc: 'Determines if and how the validation will be bypassed.',\n type: ['bypassOnNavigation'],\n status: 'optional',\n },\n children: {\n doc: 'Contents (Step components).',\n type: 'React.Node',\n status: 'required',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const WizardContainerEvents: PropertiesTableProps = {\n onStepChange: {\n doc: 'Will be called when the user navigate to a different step, with step `index` as the first argument and `previous` or `next` (or `stepListModified` when a step gets replaced) as the second argument, and as the third parameter an options object containing a `preventNavigation` function, an `id` if given on the `Wizard.Step` and a `previousStep` object containing the previous `index` (and `id` if given on the `Wizard.Step`). When an async function is provided, it will show an indicator on the submit button during the form submission. All form elements will be disabled during the submit. The indicator will be shown for minimum 1 second. Related Form.Handler props: `minimumAsyncBehaviorTime` and `asyncSubmitTimeout`.',\n type: 'function',\n status: 'optional',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,yBAA+C,GAAG;EAC7DC,kBAAkB,EAAE;IAClBC,GAAG,EAAE,oEAAoE;IACzEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,IAAI,EAAE;IACJH,GAAG,EAAE,6EAA6E;IAClFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,OAAO,EAAE;IACPJ,GAAG,EAAE,mFAAmF;IACxFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,oBAAoB,EAAE;IACpBL,GAAG,EAAE,iCAAiC;IACtCC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDI,mBAAmB,EAAE;IACnBN,GAAG,EAAE,gCAAgC;IACrCC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDK,SAAS,EAAE;IACTP,GAAG,EAAE,2EAA2E;IAChFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDM,WAAW,EAAE;IACXR,GAAG,EAAE,qIAAqI;IAC1IC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDO,SAAS,EAAE;IACTT,GAAG,EAAE,yEAAyE;IAC9EC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDQ,cAAc,EAAE;IACdV,GAAG,EAAE,wDAAwD;IAC7DC,IAAI,EAAE,CAAC,oBAAoB,CAAC;IAC5BC,MAAM,EAAE;EACV,CAAC;EACDS,QAAQ,EAAE;IACRX,GAAG,EAAE,6BAA6B;IAClCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMU,qBAA2C,GAAG;EACzDC,YAAY,EAAE;IACZb,GAAG,EAAE,mtBAAmtB;IACxtBC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV;AACF,CAAC"}