@dnb/eufemia 10.33.0 → 10.34.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (950) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/cjs/components/accordion/Accordion.d.ts +0 -2
  3. package/cjs/components/accordion/Accordion.js +2 -3
  4. package/cjs/components/accordion/Accordion.js.map +1 -1
  5. package/cjs/components/accordion/AccordionGroup.js +2 -3
  6. package/cjs/components/accordion/AccordionGroup.js.map +1 -1
  7. package/cjs/components/anchor/Anchor.d.ts +3 -0
  8. package/cjs/components/anchor/Anchor.js +22 -15
  9. package/cjs/components/anchor/Anchor.js.map +1 -1
  10. package/cjs/components/autocomplete/Autocomplete.js +2 -4
  11. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  12. package/cjs/components/autocomplete/style/dnb-autocomplete.css +0 -1
  13. package/cjs/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  14. package/cjs/components/autocomplete/style/dnb-autocomplete.scss +0 -2
  15. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.css +41 -0
  16. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.min.css +1 -0
  17. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.scss +65 -0
  18. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.css +3 -0
  19. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.min.css +1 -1
  20. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.scss +6 -0
  21. package/cjs/components/breadcrumb/Breadcrumb.d.ts +4 -4
  22. package/cjs/components/breadcrumb/Breadcrumb.js +5 -3
  23. package/cjs/components/breadcrumb/Breadcrumb.js.map +1 -1
  24. package/cjs/components/button/Button.d.ts +0 -4
  25. package/cjs/components/button/Button.js +2 -5
  26. package/cjs/components/button/Button.js.map +1 -1
  27. package/cjs/components/card/Card.js +1 -0
  28. package/cjs/components/card/Card.js.map +1 -1
  29. package/cjs/components/card/style/dnb-card.css +3 -0
  30. package/cjs/components/card/style/dnb-card.min.css +1 -1
  31. package/cjs/components/card/style/dnb-card.scss +4 -0
  32. package/cjs/components/checkbox/Checkbox.js +1 -1
  33. package/cjs/components/checkbox/Checkbox.js.map +1 -1
  34. package/cjs/components/checkbox/style/dnb-checkbox.css +9 -3
  35. package/cjs/components/checkbox/style/dnb-checkbox.min.css +1 -1
  36. package/cjs/components/checkbox/style/dnb-checkbox.scss +11 -3
  37. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.css +5 -3
  38. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.min.css +2 -2
  39. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.scss +5 -3
  40. package/cjs/components/date-picker/DatePicker.d.ts +0 -1
  41. package/cjs/components/date-picker/DatePicker.js +2 -5
  42. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  43. package/cjs/components/dropdown/Dropdown.js +2 -5
  44. package/cjs/components/dropdown/Dropdown.js.map +1 -1
  45. package/cjs/components/form-row/FormRow.d.ts +0 -1
  46. package/cjs/components/form-row/FormRow.js +3 -6
  47. package/cjs/components/form-row/FormRow.js.map +1 -1
  48. package/cjs/components/form-set/FormSet.d.ts +0 -1
  49. package/cjs/components/form-set/FormSet.js +4 -5
  50. package/cjs/components/form-set/FormSet.js.map +1 -1
  51. package/cjs/components/form-status/FormStatus.d.ts +0 -2
  52. package/cjs/components/form-status/FormStatus.js +87 -72
  53. package/cjs/components/form-status/FormStatus.js.map +1 -1
  54. package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +2 -2
  55. package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -1
  56. package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +2 -2
  57. package/cjs/components/global-status/GlobalStatus.d.ts +0 -1
  58. package/cjs/components/global-status/GlobalStatus.js +4 -9
  59. package/cjs/components/global-status/GlobalStatus.js.map +1 -1
  60. package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +1 -1
  61. package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -1
  62. package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +1 -1
  63. package/cjs/components/grid/ContainerDocs.js +1 -1
  64. package/cjs/components/grid/ContainerDocs.js.map +1 -1
  65. package/cjs/components/help-button/HelpButtonInstance.js +3 -4
  66. package/cjs/components/help-button/HelpButtonInstance.js.map +1 -1
  67. package/cjs/components/icon/Icon.js +2 -3
  68. package/cjs/components/icon/Icon.js.map +1 -1
  69. package/cjs/components/input/Input.d.ts +0 -1
  70. package/cjs/components/input/Input.js +2 -5
  71. package/cjs/components/input/Input.js.map +1 -1
  72. package/cjs/components/input-masked/InputMasked.d.ts +0 -1
  73. package/cjs/components/logo/Logo.js +5 -8
  74. package/cjs/components/logo/Logo.js.map +1 -1
  75. package/cjs/components/modal/Modal.d.ts +0 -1
  76. package/cjs/components/modal/Modal.js +1 -2
  77. package/cjs/components/modal/Modal.js.map +1 -1
  78. package/cjs/components/modal/types.d.ts +0 -4
  79. package/cjs/components/modal/types.js.map +1 -1
  80. package/cjs/components/number-format/NumberFormat.js +3 -6
  81. package/cjs/components/number-format/NumberFormat.js.map +1 -1
  82. package/cjs/components/pagination/Pagination.d.ts +0 -3
  83. package/cjs/components/pagination/Pagination.js +2 -5
  84. package/cjs/components/pagination/Pagination.js.map +1 -1
  85. package/cjs/components/radio/Radio.d.ts +0 -1
  86. package/cjs/components/radio/Radio.js +2 -5
  87. package/cjs/components/radio/Radio.js.map +1 -1
  88. package/cjs/components/radio/RadioGroup.d.ts +0 -1
  89. package/cjs/components/radio/RadioGroup.js +2 -5
  90. package/cjs/components/radio/RadioGroup.js.map +1 -1
  91. package/cjs/components/radio/style/dnb-radio.css +19 -7
  92. package/cjs/components/radio/style/dnb-radio.min.css +1 -1
  93. package/cjs/components/radio/style/dnb-radio.scss +21 -7
  94. package/cjs/components/radio/style/themes/dnb-radio-theme-sbanken.css +6 -0
  95. package/cjs/components/radio/style/themes/dnb-radio-theme-sbanken.min.css +1 -1
  96. package/cjs/components/radio/style/themes/dnb-radio-theme-sbanken.scss +6 -0
  97. package/cjs/components/section/style/themes/dnb-section-theme-sbanken.css +1 -1
  98. package/cjs/components/section/style/themes/dnb-section-theme-sbanken.min.css +1 -1
  99. package/cjs/components/section/style/themes/dnb-section-theme-sbanken.scss +1 -1
  100. package/cjs/components/skeleton/Skeleton.d.ts +0 -1
  101. package/cjs/components/skeleton/Skeleton.js +2 -5
  102. package/cjs/components/skeleton/Skeleton.js.map +1 -1
  103. package/cjs/components/step-indicator/StepIndicator.js +1 -10
  104. package/cjs/components/step-indicator/StepIndicator.js.map +1 -1
  105. package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +1 -1
  106. package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -1
  107. package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +1 -1
  108. package/cjs/components/switch/Switch.d.ts +0 -1
  109. package/cjs/components/switch/Switch.js +2 -5
  110. package/cjs/components/switch/Switch.js.map +1 -1
  111. package/cjs/components/table/TableContainer.d.ts +1 -0
  112. package/cjs/components/table/TableContainer.js +1 -0
  113. package/cjs/components/table/TableContainer.js.map +1 -1
  114. package/cjs/components/table/style/dnb-table.css +3 -0
  115. package/cjs/components/table/style/dnb-table.min.css +1 -1
  116. package/cjs/components/table/style/table-container.scss +5 -0
  117. package/cjs/components/tabs/Tabs.d.ts +0 -1
  118. package/cjs/components/tabs/Tabs.js +0 -2
  119. package/cjs/components/tabs/Tabs.js.map +1 -1
  120. package/cjs/components/tabs/TabsCustomContent.d.ts +0 -1
  121. package/cjs/components/tabs/TabsCustomContent.js +5 -8
  122. package/cjs/components/tabs/TabsCustomContent.js.map +1 -1
  123. package/cjs/components/textarea/Textarea.d.ts +0 -1
  124. package/cjs/components/textarea/Textarea.js +2 -5
  125. package/cjs/components/textarea/Textarea.js.map +1 -1
  126. package/cjs/components/toggle-button/ToggleButton.d.ts +0 -1
  127. package/cjs/components/toggle-button/ToggleButton.js +2 -5
  128. package/cjs/components/toggle-button/ToggleButton.js.map +1 -1
  129. package/cjs/components/toggle-button/ToggleButtonGroup.d.ts +0 -1
  130. package/cjs/components/toggle-button/ToggleButtonGroup.js +2 -5
  131. package/cjs/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  132. package/cjs/extensions/forms/DataContext/Context.d.ts +1 -0
  133. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  134. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +1 -1
  135. package/cjs/extensions/forms/DataContext/Provider/Provider.js +17 -0
  136. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  137. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +7 -2
  138. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  139. package/cjs/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
  140. package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  141. package/cjs/extensions/forms/Field/Composition/CompositionDocs.d.ts +2 -0
  142. package/cjs/extensions/forms/Field/Composition/CompositionDocs.js +23 -0
  143. package/cjs/extensions/forms/Field/Composition/CompositionDocs.js.map +1 -0
  144. package/cjs/extensions/forms/Field/Number/Number.d.ts +1 -0
  145. package/cjs/extensions/forms/Field/Number/Number.js +21 -18
  146. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  147. package/cjs/extensions/forms/Field/Number/NumberDocs.js +6 -1
  148. package/cjs/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  149. package/cjs/extensions/forms/Field/Number/style/dnb-number.css +10 -0
  150. package/cjs/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  151. package/cjs/extensions/forms/Field/Number/style/dnb-number.scss +11 -0
  152. package/cjs/extensions/forms/Field/Password/Password.js +2 -1
  153. package/cjs/extensions/forms/Field/Password/Password.js.map +1 -1
  154. package/cjs/extensions/forms/Field/Selection/Selection.js +2 -3
  155. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  156. package/cjs/extensions/forms/Field/Toggle/Toggle.d.ts +2 -2
  157. package/cjs/extensions/forms/Field/Toggle/Toggle.js +9 -1
  158. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  159. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -0
  160. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +15 -3
  161. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  162. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js +5 -0
  163. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  164. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -0
  165. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  166. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +5 -1
  167. package/cjs/extensions/forms/Form/Appearance/Appearance.d.ts +3 -0
  168. package/cjs/extensions/forms/Form/Appearance/Appearance.js +1 -0
  169. package/cjs/extensions/forms/Form/Appearance/Appearance.js.map +1 -1
  170. package/cjs/extensions/forms/Form/FieldProps/FieldProps.d.ts +5 -1
  171. package/cjs/extensions/forms/Form/FieldProps/FieldProps.js +15 -20
  172. package/cjs/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
  173. package/cjs/extensions/forms/Form/MainHeading/MainHeading.js +1 -0
  174. package/cjs/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
  175. package/cjs/extensions/forms/Form/Section/Section.d.ts +1 -9
  176. package/cjs/extensions/forms/Form/Section/Section.js +21 -9
  177. package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
  178. package/cjs/extensions/forms/Form/Section/SectionContext.d.ts +3 -3
  179. package/cjs/extensions/forms/Form/Section/SectionContext.js.map +1 -1
  180. package/cjs/extensions/forms/Form/Section/SectionDocs.js +10 -0
  181. package/cjs/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
  182. package/cjs/extensions/forms/Form/SubHeading/SubHeading.js +1 -0
  183. package/cjs/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
  184. package/cjs/extensions/forms/Iterate/Array/Array.js +37 -1
  185. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  186. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js +15 -0
  187. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  188. package/cjs/extensions/forms/Iterate/Array/types.d.ts +9 -3
  189. package/cjs/extensions/forms/Iterate/Array/types.js.map +1 -1
  190. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.css +1 -1
  191. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  192. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.scss +1 -0
  193. package/cjs/extensions/forms/Tools/ListAllProps.js +2 -2
  194. package/cjs/extensions/forms/Tools/ListAllProps.js.map +1 -1
  195. package/cjs/extensions/forms/Value/Boolean/Boolean.d.ts +5 -1
  196. package/cjs/extensions/forms/Value/Boolean/Boolean.js +5 -3
  197. package/cjs/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  198. package/cjs/extensions/forms/Value/Boolean/BooleanDocs.d.ts +2 -0
  199. package/cjs/extensions/forms/Value/Boolean/BooleanDocs.js +20 -0
  200. package/cjs/extensions/forms/Value/Boolean/BooleanDocs.js.map +1 -0
  201. package/cjs/extensions/forms/Value/Number/Number.d.ts +5 -1
  202. package/cjs/extensions/forms/Value/Number/Number.js +16 -5
  203. package/cjs/extensions/forms/Value/Number/Number.js.map +1 -1
  204. package/cjs/extensions/forms/Value/Number/NumberDocs.d.ts +2 -0
  205. package/cjs/extensions/forms/Value/Number/NumberDocs.js +20 -0
  206. package/cjs/extensions/forms/Value/Number/NumberDocs.js.map +1 -0
  207. package/cjs/extensions/forms/Value/ValueDocs.js +6 -1
  208. package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -1
  209. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +15 -1
  210. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  211. package/cjs/extensions/forms/Wizard/Buttons/Buttons.js +2 -1
  212. package/cjs/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
  213. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +88 -40
  214. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  215. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +2 -1
  216. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  217. package/cjs/extensions/forms/Wizard/EditButton/EditButton.js +7 -2
  218. package/cjs/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
  219. package/cjs/extensions/forms/Wizard/Step/Step.d.ts +4 -0
  220. package/cjs/extensions/forms/Wizard/Step/Step.js +8 -5
  221. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  222. package/cjs/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  223. package/cjs/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  224. package/cjs/extensions/forms/Wizard/hooks/useStep.js +17 -1
  225. package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  226. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +1 -1
  227. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  228. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -1
  229. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +13 -0
  230. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +164 -0
  231. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -0
  232. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.d.ts +2 -0
  233. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +25 -0
  234. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -0
  235. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.d.ts +77 -0
  236. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +84 -0
  237. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -0
  238. package/cjs/extensions/forms/blocks/ChildrenWithAge/index.d.ts +2 -0
  239. package/cjs/extensions/forms/blocks/{Category/FirstBlock → ChildrenWithAge}/index.js +5 -5
  240. package/cjs/extensions/forms/blocks/ChildrenWithAge/index.js.map +1 -0
  241. package/cjs/extensions/forms/blocks/index.d.ts +1 -1
  242. package/cjs/extensions/forms/blocks/index.js +8 -5
  243. package/cjs/extensions/forms/blocks/index.js.map +1 -1
  244. package/cjs/extensions/forms/constants/locales/en-GB.js +2 -2
  245. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  246. package/cjs/extensions/forms/hooks/DataValueDocs.js +10 -10
  247. package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  248. package/cjs/extensions/forms/hooks/useFieldProps.js +13 -8
  249. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  250. package/cjs/extensions/forms/hooks/useValueProps.js +5 -4
  251. package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
  252. package/cjs/extensions/forms/style/dnb-forms.css +15 -2
  253. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  254. package/cjs/extensions/forms/types.d.ts +10 -4
  255. package/cjs/extensions/forms/types.js.map +1 -1
  256. package/cjs/extensions/payment-card/PaymentCard.js +0 -2
  257. package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
  258. package/cjs/fragments/drawer-list/DrawerList.d.ts +0 -1
  259. package/cjs/fragments/drawer-list/DrawerList.js +6 -13
  260. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  261. package/cjs/fragments/drawer-list/DrawerListHelpers.d.ts +43 -46
  262. package/cjs/fragments/drawer-list/DrawerListHelpers.js +2 -4
  263. package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  264. package/cjs/fragments/drawer-list/style/themes/dnb-drawer-list-theme-sbanken.scss +12 -1
  265. package/cjs/shared/Context.d.ts +1 -1
  266. package/cjs/shared/Context.js +1 -1
  267. package/cjs/shared/Context.js.map +1 -1
  268. package/cjs/shared/Eufemia.d.ts +1 -1
  269. package/cjs/shared/Eufemia.js +2 -2
  270. package/cjs/shared/Eufemia.js.map +1 -1
  271. package/cjs/shared/component-helper.d.ts +3 -1
  272. package/cjs/shared/component-helper.js +39 -10
  273. package/cjs/shared/component-helper.js.map +1 -1
  274. package/cjs/style/core/scopes.scss +1 -1
  275. package/cjs/style/dnb-ui-basis.css +1 -1
  276. package/cjs/style/dnb-ui-basis.min.css +1 -1
  277. package/cjs/style/dnb-ui-body.css +1 -1
  278. package/cjs/style/dnb-ui-body.min.css +1 -1
  279. package/cjs/style/dnb-ui-components.css +49 -13
  280. package/cjs/style/dnb-ui-components.min.css +3 -3
  281. package/cjs/style/dnb-ui-core.css +1 -1
  282. package/cjs/style/dnb-ui-core.min.css +1 -1
  283. package/cjs/style/dnb-ui-extensions.css +15 -2
  284. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  285. package/cjs/style/dnb-ui-forms.css +15 -2
  286. package/cjs/style/dnb-ui-forms.min.css +1 -1
  287. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +67 -15
  288. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  289. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +15 -2
  290. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  291. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +15 -2
  292. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  293. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +132 -74
  294. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +8 -8
  295. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -1
  296. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +15 -2
  297. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  298. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +15 -2
  299. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  300. package/cjs/style/themes/theme-ui/ui-theme-components.css +67 -15
  301. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  302. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +15 -2
  303. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  304. package/cjs/style/themes/theme-ui/ui-theme-forms.css +15 -2
  305. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  306. package/components/accordion/Accordion.d.ts +0 -2
  307. package/components/accordion/Accordion.js +2 -3
  308. package/components/accordion/Accordion.js.map +1 -1
  309. package/components/accordion/AccordionGroup.js +2 -3
  310. package/components/accordion/AccordionGroup.js.map +1 -1
  311. package/components/anchor/Anchor.d.ts +3 -0
  312. package/components/anchor/Anchor.js +21 -15
  313. package/components/anchor/Anchor.js.map +1 -1
  314. package/components/autocomplete/Autocomplete.js +2 -4
  315. package/components/autocomplete/Autocomplete.js.map +1 -1
  316. package/components/autocomplete/style/dnb-autocomplete.css +0 -1
  317. package/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  318. package/components/autocomplete/style/dnb-autocomplete.scss +0 -2
  319. package/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.css +41 -0
  320. package/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.min.css +1 -0
  321. package/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.scss +65 -0
  322. package/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.css +3 -0
  323. package/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.min.css +1 -1
  324. package/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.scss +6 -0
  325. package/components/breadcrumb/Breadcrumb.d.ts +4 -4
  326. package/components/breadcrumb/Breadcrumb.js +6 -4
  327. package/components/breadcrumb/Breadcrumb.js.map +1 -1
  328. package/components/button/Button.d.ts +0 -4
  329. package/components/button/Button.js +2 -5
  330. package/components/button/Button.js.map +1 -1
  331. package/components/card/Card.js +1 -0
  332. package/components/card/Card.js.map +1 -1
  333. package/components/card/style/dnb-card.css +3 -0
  334. package/components/card/style/dnb-card.min.css +1 -1
  335. package/components/card/style/dnb-card.scss +4 -0
  336. package/components/checkbox/Checkbox.js +1 -1
  337. package/components/checkbox/Checkbox.js.map +1 -1
  338. package/components/checkbox/style/dnb-checkbox.css +9 -3
  339. package/components/checkbox/style/dnb-checkbox.min.css +1 -1
  340. package/components/checkbox/style/dnb-checkbox.scss +11 -3
  341. package/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.css +5 -3
  342. package/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.min.css +2 -2
  343. package/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.scss +5 -3
  344. package/components/date-picker/DatePicker.d.ts +0 -1
  345. package/components/date-picker/DatePicker.js +2 -5
  346. package/components/date-picker/DatePicker.js.map +1 -1
  347. package/components/dropdown/Dropdown.js +2 -5
  348. package/components/dropdown/Dropdown.js.map +1 -1
  349. package/components/form-row/FormRow.d.ts +0 -1
  350. package/components/form-row/FormRow.js +4 -7
  351. package/components/form-row/FormRow.js.map +1 -1
  352. package/components/form-set/FormSet.d.ts +0 -1
  353. package/components/form-set/FormSet.js +5 -6
  354. package/components/form-set/FormSet.js.map +1 -1
  355. package/components/form-status/FormStatus.d.ts +0 -2
  356. package/components/form-status/FormStatus.js +86 -71
  357. package/components/form-status/FormStatus.js.map +1 -1
  358. package/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +2 -2
  359. package/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -1
  360. package/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +2 -2
  361. package/components/global-status/GlobalStatus.d.ts +0 -1
  362. package/components/global-status/GlobalStatus.js +4 -9
  363. package/components/global-status/GlobalStatus.js.map +1 -1
  364. package/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +1 -1
  365. package/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -1
  366. package/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +1 -1
  367. package/components/grid/ContainerDocs.js +1 -1
  368. package/components/grid/ContainerDocs.js.map +1 -1
  369. package/components/help-button/HelpButtonInstance.js +3 -4
  370. package/components/help-button/HelpButtonInstance.js.map +1 -1
  371. package/components/icon/Icon.js +2 -3
  372. package/components/icon/Icon.js.map +1 -1
  373. package/components/input/Input.d.ts +0 -1
  374. package/components/input/Input.js +2 -5
  375. package/components/input/Input.js.map +1 -1
  376. package/components/input-masked/InputMasked.d.ts +0 -1
  377. package/components/logo/Logo.js +5 -8
  378. package/components/logo/Logo.js.map +1 -1
  379. package/components/modal/Modal.d.ts +0 -1
  380. package/components/modal/Modal.js +1 -2
  381. package/components/modal/Modal.js.map +1 -1
  382. package/components/modal/types.d.ts +0 -4
  383. package/components/modal/types.js.map +1 -1
  384. package/components/number-format/NumberFormat.js +4 -7
  385. package/components/number-format/NumberFormat.js.map +1 -1
  386. package/components/pagination/Pagination.d.ts +0 -3
  387. package/components/pagination/Pagination.js +2 -5
  388. package/components/pagination/Pagination.js.map +1 -1
  389. package/components/radio/Radio.d.ts +0 -1
  390. package/components/radio/Radio.js +2 -5
  391. package/components/radio/Radio.js.map +1 -1
  392. package/components/radio/RadioGroup.d.ts +0 -1
  393. package/components/radio/RadioGroup.js +2 -5
  394. package/components/radio/RadioGroup.js.map +1 -1
  395. package/components/radio/style/dnb-radio.css +19 -7
  396. package/components/radio/style/dnb-radio.min.css +1 -1
  397. package/components/radio/style/dnb-radio.scss +21 -7
  398. package/components/radio/style/themes/dnb-radio-theme-sbanken.css +6 -0
  399. package/components/radio/style/themes/dnb-radio-theme-sbanken.min.css +1 -1
  400. package/components/radio/style/themes/dnb-radio-theme-sbanken.scss +6 -0
  401. package/components/section/style/themes/dnb-section-theme-sbanken.css +1 -1
  402. package/components/section/style/themes/dnb-section-theme-sbanken.min.css +1 -1
  403. package/components/section/style/themes/dnb-section-theme-sbanken.scss +1 -1
  404. package/components/skeleton/Skeleton.d.ts +0 -1
  405. package/components/skeleton/Skeleton.js +2 -5
  406. package/components/skeleton/Skeleton.js.map +1 -1
  407. package/components/step-indicator/StepIndicator.js +1 -9
  408. package/components/step-indicator/StepIndicator.js.map +1 -1
  409. package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +1 -1
  410. package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -1
  411. package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +1 -1
  412. package/components/switch/Switch.d.ts +0 -1
  413. package/components/switch/Switch.js +2 -5
  414. package/components/switch/Switch.js.map +1 -1
  415. package/components/table/TableContainer.d.ts +1 -0
  416. package/components/table/TableContainer.js +1 -0
  417. package/components/table/TableContainer.js.map +1 -1
  418. package/components/table/style/dnb-table.css +3 -0
  419. package/components/table/style/dnb-table.min.css +1 -1
  420. package/components/table/style/table-container.scss +5 -0
  421. package/components/tabs/Tabs.d.ts +0 -1
  422. package/components/tabs/Tabs.js +0 -2
  423. package/components/tabs/Tabs.js.map +1 -1
  424. package/components/tabs/TabsCustomContent.d.ts +0 -1
  425. package/components/tabs/TabsCustomContent.js +5 -8
  426. package/components/tabs/TabsCustomContent.js.map +1 -1
  427. package/components/textarea/Textarea.d.ts +0 -1
  428. package/components/textarea/Textarea.js +2 -5
  429. package/components/textarea/Textarea.js.map +1 -1
  430. package/components/toggle-button/ToggleButton.d.ts +0 -1
  431. package/components/toggle-button/ToggleButton.js +2 -5
  432. package/components/toggle-button/ToggleButton.js.map +1 -1
  433. package/components/toggle-button/ToggleButtonGroup.d.ts +0 -1
  434. package/components/toggle-button/ToggleButtonGroup.js +2 -5
  435. package/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  436. package/es/components/accordion/Accordion.d.ts +0 -2
  437. package/es/components/accordion/Accordion.js +2 -3
  438. package/es/components/accordion/Accordion.js.map +1 -1
  439. package/es/components/accordion/AccordionGroup.js +2 -3
  440. package/es/components/accordion/AccordionGroup.js.map +1 -1
  441. package/es/components/anchor/Anchor.d.ts +3 -0
  442. package/es/components/anchor/Anchor.js +21 -15
  443. package/es/components/anchor/Anchor.js.map +1 -1
  444. package/es/components/autocomplete/Autocomplete.js +2 -4
  445. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  446. package/es/components/autocomplete/style/dnb-autocomplete.css +0 -1
  447. package/es/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  448. package/es/components/autocomplete/style/dnb-autocomplete.scss +0 -2
  449. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.css +41 -0
  450. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.min.css +1 -0
  451. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.scss +65 -0
  452. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.css +3 -0
  453. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.min.css +1 -1
  454. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.scss +6 -0
  455. package/es/components/breadcrumb/Breadcrumb.d.ts +4 -4
  456. package/es/components/breadcrumb/Breadcrumb.js +6 -4
  457. package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
  458. package/es/components/button/Button.d.ts +0 -4
  459. package/es/components/button/Button.js +2 -5
  460. package/es/components/button/Button.js.map +1 -1
  461. package/es/components/card/Card.js +1 -0
  462. package/es/components/card/Card.js.map +1 -1
  463. package/es/components/card/style/dnb-card.css +3 -0
  464. package/es/components/card/style/dnb-card.min.css +1 -1
  465. package/es/components/card/style/dnb-card.scss +4 -0
  466. package/es/components/checkbox/Checkbox.js +1 -1
  467. package/es/components/checkbox/Checkbox.js.map +1 -1
  468. package/es/components/checkbox/style/dnb-checkbox.css +9 -3
  469. package/es/components/checkbox/style/dnb-checkbox.min.css +1 -1
  470. package/es/components/checkbox/style/dnb-checkbox.scss +11 -3
  471. package/es/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.css +5 -3
  472. package/es/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.min.css +2 -2
  473. package/es/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.scss +5 -3
  474. package/es/components/date-picker/DatePicker.d.ts +0 -1
  475. package/es/components/date-picker/DatePicker.js +2 -5
  476. package/es/components/date-picker/DatePicker.js.map +1 -1
  477. package/es/components/dropdown/Dropdown.js +2 -5
  478. package/es/components/dropdown/Dropdown.js.map +1 -1
  479. package/es/components/form-row/FormRow.d.ts +0 -1
  480. package/es/components/form-row/FormRow.js +4 -7
  481. package/es/components/form-row/FormRow.js.map +1 -1
  482. package/es/components/form-set/FormSet.d.ts +0 -1
  483. package/es/components/form-set/FormSet.js +5 -6
  484. package/es/components/form-set/FormSet.js.map +1 -1
  485. package/es/components/form-status/FormStatus.d.ts +0 -2
  486. package/es/components/form-status/FormStatus.js +86 -71
  487. package/es/components/form-status/FormStatus.js.map +1 -1
  488. package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +2 -2
  489. package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -1
  490. package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +2 -2
  491. package/es/components/global-status/GlobalStatus.d.ts +0 -1
  492. package/es/components/global-status/GlobalStatus.js +4 -9
  493. package/es/components/global-status/GlobalStatus.js.map +1 -1
  494. package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +1 -1
  495. package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -1
  496. package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +1 -1
  497. package/es/components/grid/ContainerDocs.js +1 -1
  498. package/es/components/grid/ContainerDocs.js.map +1 -1
  499. package/es/components/help-button/HelpButtonInstance.js +3 -4
  500. package/es/components/help-button/HelpButtonInstance.js.map +1 -1
  501. package/es/components/icon/Icon.js +2 -3
  502. package/es/components/icon/Icon.js.map +1 -1
  503. package/es/components/input/Input.d.ts +0 -1
  504. package/es/components/input/Input.js +2 -5
  505. package/es/components/input/Input.js.map +1 -1
  506. package/es/components/input-masked/InputMasked.d.ts +0 -1
  507. package/es/components/logo/Logo.js +5 -8
  508. package/es/components/logo/Logo.js.map +1 -1
  509. package/es/components/modal/Modal.d.ts +0 -1
  510. package/es/components/modal/Modal.js +1 -2
  511. package/es/components/modal/Modal.js.map +1 -1
  512. package/es/components/modal/types.d.ts +0 -4
  513. package/es/components/modal/types.js.map +1 -1
  514. package/es/components/number-format/NumberFormat.js +4 -7
  515. package/es/components/number-format/NumberFormat.js.map +1 -1
  516. package/es/components/pagination/Pagination.d.ts +0 -3
  517. package/es/components/pagination/Pagination.js +2 -5
  518. package/es/components/pagination/Pagination.js.map +1 -1
  519. package/es/components/radio/Radio.d.ts +0 -1
  520. package/es/components/radio/Radio.js +2 -5
  521. package/es/components/radio/Radio.js.map +1 -1
  522. package/es/components/radio/RadioGroup.d.ts +0 -1
  523. package/es/components/radio/RadioGroup.js +2 -5
  524. package/es/components/radio/RadioGroup.js.map +1 -1
  525. package/es/components/radio/style/dnb-radio.css +19 -7
  526. package/es/components/radio/style/dnb-radio.min.css +1 -1
  527. package/es/components/radio/style/dnb-radio.scss +21 -7
  528. package/es/components/radio/style/themes/dnb-radio-theme-sbanken.css +6 -0
  529. package/es/components/radio/style/themes/dnb-radio-theme-sbanken.min.css +1 -1
  530. package/es/components/radio/style/themes/dnb-radio-theme-sbanken.scss +6 -0
  531. package/es/components/section/style/themes/dnb-section-theme-sbanken.css +1 -1
  532. package/es/components/section/style/themes/dnb-section-theme-sbanken.min.css +1 -1
  533. package/es/components/section/style/themes/dnb-section-theme-sbanken.scss +1 -1
  534. package/es/components/skeleton/Skeleton.d.ts +0 -1
  535. package/es/components/skeleton/Skeleton.js +2 -5
  536. package/es/components/skeleton/Skeleton.js.map +1 -1
  537. package/es/components/step-indicator/StepIndicator.js +1 -9
  538. package/es/components/step-indicator/StepIndicator.js.map +1 -1
  539. package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +1 -1
  540. package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -1
  541. package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +1 -1
  542. package/es/components/switch/Switch.d.ts +0 -1
  543. package/es/components/switch/Switch.js +2 -5
  544. package/es/components/switch/Switch.js.map +1 -1
  545. package/es/components/table/TableContainer.d.ts +1 -0
  546. package/es/components/table/TableContainer.js +1 -0
  547. package/es/components/table/TableContainer.js.map +1 -1
  548. package/es/components/table/style/dnb-table.css +3 -0
  549. package/es/components/table/style/dnb-table.min.css +1 -1
  550. package/es/components/table/style/table-container.scss +5 -0
  551. package/es/components/tabs/Tabs.d.ts +0 -1
  552. package/es/components/tabs/Tabs.js +0 -2
  553. package/es/components/tabs/Tabs.js.map +1 -1
  554. package/es/components/tabs/TabsCustomContent.d.ts +0 -1
  555. package/es/components/tabs/TabsCustomContent.js +5 -8
  556. package/es/components/tabs/TabsCustomContent.js.map +1 -1
  557. package/es/components/textarea/Textarea.d.ts +0 -1
  558. package/es/components/textarea/Textarea.js +2 -5
  559. package/es/components/textarea/Textarea.js.map +1 -1
  560. package/es/components/toggle-button/ToggleButton.d.ts +0 -1
  561. package/es/components/toggle-button/ToggleButton.js +2 -5
  562. package/es/components/toggle-button/ToggleButton.js.map +1 -1
  563. package/es/components/toggle-button/ToggleButtonGroup.d.ts +0 -1
  564. package/es/components/toggle-button/ToggleButtonGroup.js +2 -5
  565. package/es/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  566. package/es/extensions/forms/DataContext/Context.d.ts +1 -0
  567. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  568. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +1 -1
  569. package/es/extensions/forms/DataContext/Provider/Provider.js +19 -2
  570. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  571. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +7 -2
  572. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  573. package/es/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
  574. package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  575. package/es/extensions/forms/Field/Composition/CompositionDocs.d.ts +2 -0
  576. package/es/extensions/forms/Field/Composition/CompositionDocs.js +14 -0
  577. package/es/extensions/forms/Field/Composition/CompositionDocs.js.map +1 -0
  578. package/es/extensions/forms/Field/Number/Number.d.ts +1 -0
  579. package/es/extensions/forms/Field/Number/Number.js +21 -18
  580. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  581. package/es/extensions/forms/Field/Number/NumberDocs.js +6 -1
  582. package/es/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  583. package/es/extensions/forms/Field/Number/style/dnb-number.css +10 -0
  584. package/es/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  585. package/es/extensions/forms/Field/Number/style/dnb-number.scss +11 -0
  586. package/es/extensions/forms/Field/Password/Password.js +2 -1
  587. package/es/extensions/forms/Field/Password/Password.js.map +1 -1
  588. package/es/extensions/forms/Field/Selection/Selection.js +2 -3
  589. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  590. package/es/extensions/forms/Field/Toggle/Toggle.d.ts +2 -2
  591. package/es/extensions/forms/Field/Toggle/Toggle.js +10 -2
  592. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  593. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -0
  594. package/es/extensions/forms/FieldBlock/FieldBlock.js +15 -3
  595. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  596. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js +5 -0
  597. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  598. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -0
  599. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  600. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +5 -1
  601. package/es/extensions/forms/Form/Appearance/Appearance.d.ts +3 -0
  602. package/es/extensions/forms/Form/Appearance/Appearance.js +1 -0
  603. package/es/extensions/forms/Form/Appearance/Appearance.js.map +1 -1
  604. package/es/extensions/forms/Form/FieldProps/FieldProps.d.ts +5 -1
  605. package/es/extensions/forms/Form/FieldProps/FieldProps.js +15 -20
  606. package/es/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
  607. package/es/extensions/forms/Form/MainHeading/MainHeading.js +1 -0
  608. package/es/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
  609. package/es/extensions/forms/Form/Section/Section.d.ts +1 -9
  610. package/es/extensions/forms/Form/Section/Section.js +17 -10
  611. package/es/extensions/forms/Form/Section/Section.js.map +1 -1
  612. package/es/extensions/forms/Form/Section/SectionContext.d.ts +3 -3
  613. package/es/extensions/forms/Form/Section/SectionContext.js.map +1 -1
  614. package/es/extensions/forms/Form/Section/SectionDocs.js +10 -0
  615. package/es/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
  616. package/es/extensions/forms/Form/SubHeading/SubHeading.js +1 -0
  617. package/es/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
  618. package/es/extensions/forms/Iterate/Array/Array.js +37 -1
  619. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  620. package/es/extensions/forms/Iterate/Array/ArrayDocs.js +15 -0
  621. package/es/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  622. package/es/extensions/forms/Iterate/Array/types.d.ts +9 -3
  623. package/es/extensions/forms/Iterate/Array/types.js.map +1 -1
  624. package/es/extensions/forms/Iterate/style/dnb-form-iterate.css +1 -1
  625. package/es/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  626. package/es/extensions/forms/Iterate/style/dnb-form-iterate.scss +1 -0
  627. package/es/extensions/forms/Tools/ListAllProps.js +3 -3
  628. package/es/extensions/forms/Tools/ListAllProps.js.map +1 -1
  629. package/es/extensions/forms/Value/Boolean/Boolean.d.ts +5 -1
  630. package/es/extensions/forms/Value/Boolean/Boolean.js +5 -3
  631. package/es/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  632. package/es/extensions/forms/Value/Boolean/BooleanDocs.d.ts +2 -0
  633. package/es/extensions/forms/Value/Boolean/BooleanDocs.js +13 -0
  634. package/es/extensions/forms/Value/Boolean/BooleanDocs.js.map +1 -0
  635. package/es/extensions/forms/Value/Number/Number.d.ts +5 -1
  636. package/es/extensions/forms/Value/Number/Number.js +16 -5
  637. package/es/extensions/forms/Value/Number/Number.js.map +1 -1
  638. package/es/extensions/forms/Value/Number/NumberDocs.d.ts +2 -0
  639. package/es/extensions/forms/Value/Number/NumberDocs.js +13 -0
  640. package/es/extensions/forms/Value/Number/NumberDocs.js.map +1 -0
  641. package/es/extensions/forms/Value/ValueDocs.js +6 -1
  642. package/es/extensions/forms/Value/ValueDocs.js.map +1 -1
  643. package/es/extensions/forms/ValueBlock/ValueBlock.js +16 -2
  644. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  645. package/es/extensions/forms/Wizard/Buttons/Buttons.js +2 -1
  646. package/es/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
  647. package/es/extensions/forms/Wizard/Container/WizardContainer.js +81 -34
  648. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  649. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +2 -1
  650. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  651. package/es/extensions/forms/Wizard/EditButton/EditButton.js +7 -2
  652. package/es/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
  653. package/es/extensions/forms/Wizard/Step/Step.d.ts +4 -0
  654. package/es/extensions/forms/Wizard/Step/Step.js +8 -5
  655. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  656. package/es/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  657. package/es/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  658. package/es/extensions/forms/Wizard/hooks/useStep.js +17 -1
  659. package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  660. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +1 -1
  661. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  662. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -1
  663. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +13 -0
  664. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +151 -0
  665. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -0
  666. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.d.ts +2 -0
  667. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +18 -0
  668. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -0
  669. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.d.ts +77 -0
  670. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +77 -0
  671. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -0
  672. package/es/extensions/forms/blocks/ChildrenWithAge/index.d.ts +2 -0
  673. package/es/extensions/forms/blocks/ChildrenWithAge/index.js +3 -0
  674. package/es/extensions/forms/blocks/ChildrenWithAge/index.js.map +1 -0
  675. package/es/extensions/forms/blocks/index.d.ts +1 -1
  676. package/es/extensions/forms/blocks/index.js +1 -1
  677. package/es/extensions/forms/blocks/index.js.map +1 -1
  678. package/es/extensions/forms/constants/locales/en-GB.js +2 -2
  679. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  680. package/es/extensions/forms/hooks/DataValueDocs.js +10 -10
  681. package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  682. package/es/extensions/forms/hooks/useFieldProps.js +12 -8
  683. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  684. package/es/extensions/forms/hooks/useValueProps.js +4 -3
  685. package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
  686. package/es/extensions/forms/style/dnb-forms.css +15 -2
  687. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  688. package/es/extensions/forms/types.d.ts +10 -4
  689. package/es/extensions/forms/types.js.map +1 -1
  690. package/es/extensions/payment-card/PaymentCard.js +0 -2
  691. package/es/extensions/payment-card/PaymentCard.js.map +1 -1
  692. package/es/fragments/drawer-list/DrawerList.d.ts +0 -1
  693. package/es/fragments/drawer-list/DrawerList.js +6 -13
  694. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  695. package/es/fragments/drawer-list/DrawerListHelpers.d.ts +43 -46
  696. package/es/fragments/drawer-list/DrawerListHelpers.js +2 -4
  697. package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  698. package/es/fragments/drawer-list/style/themes/dnb-drawer-list-theme-sbanken.scss +12 -1
  699. package/es/shared/Context.d.ts +1 -1
  700. package/es/shared/Context.js +2 -2
  701. package/es/shared/Context.js.map +1 -1
  702. package/es/shared/Eufemia.d.ts +1 -1
  703. package/es/shared/Eufemia.js +2 -2
  704. package/es/shared/Eufemia.js.map +1 -1
  705. package/es/shared/component-helper.d.ts +3 -1
  706. package/es/shared/component-helper.js +25 -2
  707. package/es/shared/component-helper.js.map +1 -1
  708. package/es/style/core/scopes.scss +1 -1
  709. package/es/style/dnb-ui-basis.css +1 -1
  710. package/es/style/dnb-ui-basis.min.css +1 -1
  711. package/es/style/dnb-ui-body.css +1 -1
  712. package/es/style/dnb-ui-body.min.css +1 -1
  713. package/es/style/dnb-ui-components.css +49 -13
  714. package/es/style/dnb-ui-components.min.css +3 -3
  715. package/es/style/dnb-ui-core.css +1 -1
  716. package/es/style/dnb-ui-core.min.css +1 -1
  717. package/es/style/dnb-ui-extensions.css +15 -2
  718. package/es/style/dnb-ui-extensions.min.css +1 -1
  719. package/es/style/dnb-ui-forms.css +15 -2
  720. package/es/style/dnb-ui-forms.min.css +1 -1
  721. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +67 -15
  722. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  723. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +15 -2
  724. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  725. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +15 -2
  726. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  727. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +132 -74
  728. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +8 -8
  729. package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -1
  730. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +15 -2
  731. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  732. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +15 -2
  733. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  734. package/es/style/themes/theme-ui/ui-theme-components.css +67 -15
  735. package/es/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  736. package/es/style/themes/theme-ui/ui-theme-extensions.css +15 -2
  737. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  738. package/es/style/themes/theme-ui/ui-theme-forms.css +15 -2
  739. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  740. package/esm/dnb-ui-basis.min.mjs +1 -1
  741. package/esm/dnb-ui-components.min.mjs +1 -1
  742. package/esm/dnb-ui-elements.min.mjs +1 -1
  743. package/esm/dnb-ui-extensions.min.mjs +5 -5
  744. package/esm/dnb-ui-lib.min.mjs +1 -1
  745. package/extensions/forms/DataContext/Context.d.ts +1 -0
  746. package/extensions/forms/DataContext/Context.js.map +1 -1
  747. package/extensions/forms/DataContext/Provider/Provider.d.ts +1 -1
  748. package/extensions/forms/DataContext/Provider/Provider.js +19 -2
  749. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  750. package/extensions/forms/DataContext/Provider/ProviderDocs.js +7 -2
  751. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  752. package/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
  753. package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  754. package/extensions/forms/Field/Composition/CompositionDocs.d.ts +2 -0
  755. package/extensions/forms/Field/Composition/CompositionDocs.js +14 -0
  756. package/extensions/forms/Field/Composition/CompositionDocs.js.map +1 -0
  757. package/extensions/forms/Field/Number/Number.d.ts +1 -0
  758. package/extensions/forms/Field/Number/Number.js +21 -18
  759. package/extensions/forms/Field/Number/Number.js.map +1 -1
  760. package/extensions/forms/Field/Number/NumberDocs.js +6 -1
  761. package/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  762. package/extensions/forms/Field/Number/style/dnb-number.css +10 -0
  763. package/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  764. package/extensions/forms/Field/Number/style/dnb-number.scss +11 -0
  765. package/extensions/forms/Field/Password/Password.js +2 -1
  766. package/extensions/forms/Field/Password/Password.js.map +1 -1
  767. package/extensions/forms/Field/Selection/Selection.js +2 -3
  768. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  769. package/extensions/forms/Field/Toggle/Toggle.d.ts +2 -2
  770. package/extensions/forms/Field/Toggle/Toggle.js +10 -2
  771. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  772. package/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -0
  773. package/extensions/forms/FieldBlock/FieldBlock.js +15 -3
  774. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  775. package/extensions/forms/FieldBlock/FieldBlockDocs.js +5 -0
  776. package/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  777. package/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -0
  778. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  779. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +5 -1
  780. package/extensions/forms/Form/Appearance/Appearance.d.ts +3 -0
  781. package/extensions/forms/Form/Appearance/Appearance.js +1 -0
  782. package/extensions/forms/Form/Appearance/Appearance.js.map +1 -1
  783. package/extensions/forms/Form/FieldProps/FieldProps.d.ts +5 -1
  784. package/extensions/forms/Form/FieldProps/FieldProps.js +15 -21
  785. package/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
  786. package/extensions/forms/Form/MainHeading/MainHeading.js +1 -0
  787. package/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
  788. package/extensions/forms/Form/Section/Section.d.ts +1 -9
  789. package/extensions/forms/Form/Section/Section.js +22 -10
  790. package/extensions/forms/Form/Section/Section.js.map +1 -1
  791. package/extensions/forms/Form/Section/SectionContext.d.ts +3 -3
  792. package/extensions/forms/Form/Section/SectionContext.js.map +1 -1
  793. package/extensions/forms/Form/Section/SectionDocs.js +10 -0
  794. package/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
  795. package/extensions/forms/Form/SubHeading/SubHeading.js +1 -0
  796. package/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
  797. package/extensions/forms/Iterate/Array/Array.js +37 -1
  798. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  799. package/extensions/forms/Iterate/Array/ArrayDocs.js +15 -0
  800. package/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  801. package/extensions/forms/Iterate/Array/types.d.ts +9 -3
  802. package/extensions/forms/Iterate/Array/types.js.map +1 -1
  803. package/extensions/forms/Iterate/style/dnb-form-iterate.css +1 -1
  804. package/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  805. package/extensions/forms/Iterate/style/dnb-form-iterate.scss +1 -0
  806. package/extensions/forms/Tools/ListAllProps.js +3 -3
  807. package/extensions/forms/Tools/ListAllProps.js.map +1 -1
  808. package/extensions/forms/Value/Boolean/Boolean.d.ts +5 -1
  809. package/extensions/forms/Value/Boolean/Boolean.js +5 -3
  810. package/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  811. package/extensions/forms/Value/Boolean/BooleanDocs.d.ts +2 -0
  812. package/extensions/forms/Value/Boolean/BooleanDocs.js +13 -0
  813. package/extensions/forms/Value/Boolean/BooleanDocs.js.map +1 -0
  814. package/extensions/forms/Value/Number/Number.d.ts +5 -1
  815. package/extensions/forms/Value/Number/Number.js +16 -5
  816. package/extensions/forms/Value/Number/Number.js.map +1 -1
  817. package/extensions/forms/Value/Number/NumberDocs.d.ts +2 -0
  818. package/extensions/forms/Value/Number/NumberDocs.js +13 -0
  819. package/extensions/forms/Value/Number/NumberDocs.js.map +1 -0
  820. package/extensions/forms/Value/ValueDocs.js +6 -1
  821. package/extensions/forms/Value/ValueDocs.js.map +1 -1
  822. package/extensions/forms/ValueBlock/ValueBlock.js +16 -2
  823. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  824. package/extensions/forms/Wizard/Buttons/Buttons.js +2 -1
  825. package/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
  826. package/extensions/forms/Wizard/Container/WizardContainer.js +89 -41
  827. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  828. package/extensions/forms/Wizard/Context/WizardContext.d.ts +2 -1
  829. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  830. package/extensions/forms/Wizard/EditButton/EditButton.js +7 -2
  831. package/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
  832. package/extensions/forms/Wizard/Step/Step.d.ts +4 -0
  833. package/extensions/forms/Wizard/Step/Step.js +8 -5
  834. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  835. package/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  836. package/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  837. package/extensions/forms/Wizard/hooks/useStep.js +17 -1
  838. package/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  839. package/extensions/forms/Wizard/style/dnb-wizard-layout.css +1 -1
  840. package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  841. package/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -1
  842. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +13 -0
  843. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +156 -0
  844. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -0
  845. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.d.ts +2 -0
  846. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +18 -0
  847. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -0
  848. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.d.ts +77 -0
  849. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +77 -0
  850. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -0
  851. package/extensions/forms/blocks/ChildrenWithAge/index.d.ts +2 -0
  852. package/extensions/forms/blocks/ChildrenWithAge/index.js +3 -0
  853. package/extensions/forms/blocks/ChildrenWithAge/index.js.map +1 -0
  854. package/extensions/forms/blocks/index.d.ts +1 -1
  855. package/extensions/forms/blocks/index.js +1 -3
  856. package/extensions/forms/blocks/index.js.map +1 -1
  857. package/extensions/forms/constants/locales/en-GB.js +2 -2
  858. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  859. package/extensions/forms/hooks/DataValueDocs.js +10 -10
  860. package/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  861. package/extensions/forms/hooks/useFieldProps.js +12 -7
  862. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  863. package/extensions/forms/hooks/useValueProps.js +4 -3
  864. package/extensions/forms/hooks/useValueProps.js.map +1 -1
  865. package/extensions/forms/style/dnb-forms.css +15 -2
  866. package/extensions/forms/style/dnb-forms.min.css +1 -1
  867. package/extensions/forms/types.d.ts +10 -4
  868. package/extensions/forms/types.js.map +1 -1
  869. package/extensions/payment-card/PaymentCard.js +0 -2
  870. package/extensions/payment-card/PaymentCard.js.map +1 -1
  871. package/fragments/drawer-list/DrawerList.d.ts +0 -1
  872. package/fragments/drawer-list/DrawerList.js +6 -13
  873. package/fragments/drawer-list/DrawerList.js.map +1 -1
  874. package/fragments/drawer-list/DrawerListHelpers.d.ts +43 -46
  875. package/fragments/drawer-list/DrawerListHelpers.js +2 -4
  876. package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  877. package/fragments/drawer-list/style/themes/dnb-drawer-list-theme-sbanken.scss +12 -1
  878. package/package.json +2 -2
  879. package/shared/Context.d.ts +1 -1
  880. package/shared/Context.js +2 -2
  881. package/shared/Context.js.map +1 -1
  882. package/shared/Eufemia.d.ts +1 -1
  883. package/shared/Eufemia.js +2 -2
  884. package/shared/Eufemia.js.map +1 -1
  885. package/shared/component-helper.d.ts +3 -1
  886. package/shared/component-helper.js +35 -8
  887. package/shared/component-helper.js.map +1 -1
  888. package/style/core/scopes.scss +1 -1
  889. package/style/dnb-ui-basis.css +1 -1
  890. package/style/dnb-ui-basis.min.css +1 -1
  891. package/style/dnb-ui-body.css +1 -1
  892. package/style/dnb-ui-body.min.css +1 -1
  893. package/style/dnb-ui-components.css +49 -13
  894. package/style/dnb-ui-components.min.css +3 -3
  895. package/style/dnb-ui-core.css +1 -1
  896. package/style/dnb-ui-core.min.css +1 -1
  897. package/style/dnb-ui-extensions.css +15 -2
  898. package/style/dnb-ui-extensions.min.css +1 -1
  899. package/style/dnb-ui-forms.css +15 -2
  900. package/style/dnb-ui-forms.min.css +1 -1
  901. package/style/themes/theme-eiendom/eiendom-theme-components.css +67 -15
  902. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  903. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +15 -2
  904. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  905. package/style/themes/theme-eiendom/eiendom-theme-forms.css +15 -2
  906. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  907. package/style/themes/theme-sbanken/sbanken-theme-components.css +132 -74
  908. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +8 -8
  909. package/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -1
  910. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +15 -2
  911. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  912. package/style/themes/theme-sbanken/sbanken-theme-forms.css +15 -2
  913. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  914. package/style/themes/theme-ui/ui-theme-components.css +67 -15
  915. package/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  916. package/style/themes/theme-ui/ui-theme-extensions.css +15 -2
  917. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  918. package/style/themes/theme-ui/ui-theme-forms.css +15 -2
  919. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  920. package/umd/dnb-ui-basis.min.js +1 -1
  921. package/umd/dnb-ui-components.min.js +1 -1
  922. package/umd/dnb-ui-elements.min.js +1 -1
  923. package/umd/dnb-ui-extensions.min.js +5 -5
  924. package/umd/dnb-ui-lib.min.js +1 -1
  925. package/cjs/extensions/forms/blocks/Category/FirstBlock/FirstBlock.d.ts +0 -2
  926. package/cjs/extensions/forms/blocks/Category/FirstBlock/FirstBlock.js +0 -46
  927. package/cjs/extensions/forms/blocks/Category/FirstBlock/FirstBlock.js.map +0 -1
  928. package/cjs/extensions/forms/blocks/Category/FirstBlock/index.d.ts +0 -2
  929. package/cjs/extensions/forms/blocks/Category/FirstBlock/index.js.map +0 -1
  930. package/cjs/extensions/forms/blocks/Category/index.d.ts +0 -1
  931. package/cjs/extensions/forms/blocks/Category/index.js +0 -14
  932. package/cjs/extensions/forms/blocks/Category/index.js.map +0 -1
  933. package/es/extensions/forms/blocks/Category/FirstBlock/FirstBlock.d.ts +0 -2
  934. package/es/extensions/forms/blocks/Category/FirstBlock/FirstBlock.js +0 -39
  935. package/es/extensions/forms/blocks/Category/FirstBlock/FirstBlock.js.map +0 -1
  936. package/es/extensions/forms/blocks/Category/FirstBlock/index.d.ts +0 -2
  937. package/es/extensions/forms/blocks/Category/FirstBlock/index.js +0 -3
  938. package/es/extensions/forms/blocks/Category/FirstBlock/index.js.map +0 -1
  939. package/es/extensions/forms/blocks/Category/index.d.ts +0 -1
  940. package/es/extensions/forms/blocks/Category/index.js +0 -1
  941. package/es/extensions/forms/blocks/Category/index.js.map +0 -1
  942. package/extensions/forms/blocks/Category/FirstBlock/FirstBlock.d.ts +0 -2
  943. package/extensions/forms/blocks/Category/FirstBlock/FirstBlock.js +0 -39
  944. package/extensions/forms/blocks/Category/FirstBlock/FirstBlock.js.map +0 -1
  945. package/extensions/forms/blocks/Category/FirstBlock/index.d.ts +0 -2
  946. package/extensions/forms/blocks/Category/FirstBlock/index.js +0 -3
  947. package/extensions/forms/blocks/Category/FirstBlock/index.js.map +0 -1
  948. package/extensions/forms/blocks/Category/index.d.ts +0 -1
  949. package/extensions/forms/blocks/Category/index.js +0 -1
  950. package/extensions/forms/blocks/Category/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ValueBlock.js","names":["React","Fragment","useContext","useEffect","useRef","classnames","warn","Dd","Dl","Dt","Span","FormLabel","SummaryListContext","ValueBlockContext","DataContext","pickSpacingProps","ValueBlock","props","summaryListContext","valueBlockContext","dataContext","className","label","labelProp","inline","maxWidth","composition","placeholder","showEmpty","children","gap","ref","useNotInSummaryList","undefined","prerenderFieldProps","content","compositionClass","Element","isNested","layout","Item","_span","createElement","Provider","value","_objectSpread","_extends","element","labelDirection","current","sibling","previousElementSibling","classList","contains","closest","apply","filter","Boolean","error","_supportsSpacingProps"],"sources":["../../../../../src/extensions/forms/ValueBlock/ValueBlock.tsx"],"sourcesContent":["import React, { Fragment, useContext, useEffect, useRef } from 'react'\nimport classnames from 'classnames'\nimport { warn } from '../../../shared/helpers'\nimport { Dd, Dl, Dt, Span } from '../../../elements'\nimport { FormLabel } from '../../../components'\nimport SummaryListContext from '../Value/SummaryList/SummaryListContext'\nimport ValueBlockContext from './ValueBlockContext'\nimport DataContext from '../DataContext/Context'\nimport { ValueProps } from '../types'\nimport { pickSpacingProps } from '../../../components/flex/utils'\n\n/**\n * Props are documented in ValueDocs.ts\n */\nexport type Props = Omit<ValueProps<unknown>, 'value'> & {\n children?: React.ReactNode\n\n /**\n * Used internally by the Composition component\n */\n composition?: boolean\n\n /**\n * Used internally by the Composition component\n */\n gap?: 'xx-small' | 'x-small' | 'small' | 'medium' | 'large' | false\n}\n\nfunction ValueBlock(props: Props) {\n const summaryListContext = useContext(SummaryListContext)\n const valueBlockContext = useContext(ValueBlockContext)\n const dataContext = useContext(DataContext)\n\n const {\n className,\n label: labelProp,\n inline,\n maxWidth = props.composition ? props.maxWidth : 'large',\n placeholder,\n showEmpty,\n children,\n composition,\n gap = 'xx-small',\n } = props\n\n const label = inline ? null : labelProp\n\n const ref = useRef<HTMLElement>(null)\n useNotInSummaryList(valueBlockContext?.composition ? null : ref, label)\n\n if (\n ((children === undefined || children === null || children === false) &&\n !showEmpty &&\n !placeholder) ||\n dataContext?.prerenderFieldProps\n ) {\n return null\n }\n\n let content = null\n\n const compositionClass =\n composition &&\n classnames(\n `dnb-forms-value-block__composition--${\n composition === true ? 'horizontal' : composition\n }`\n )\n\n if (summaryListContext) {\n const Element = summaryListContext.isNested\n ? Dl\n : summaryListContext.layout === 'horizontal'\n ? Dl.Item\n : Fragment\n\n if (!label && valueBlockContext?.composition) {\n content = (\n <span\n className={classnames(\n 'dnb-forms-value-block__content',\n gap && `dnb-forms-value-block__content--gap-${gap}`\n )}\n >\n {children}\n </span>\n ) ?? (\n <span className=\"dnb-forms-value-block__placeholder\">\n {placeholder}\n </span>\n )\n } else {\n content = (\n <Element>\n <SummaryListContext.Provider\n value={{ ...summaryListContext, isNested: true }}\n >\n {label && (\n <Dt className=\"dnb-forms-value-block__label\">\n <strong>{label}</strong>\n </Dt>\n )}\n <Dd\n className={classnames(\n summaryListContext.layout !== 'grid' &&\n !summaryListContext.isNested &&\n maxWidth &&\n `dnb-forms-value-block--max-width-${maxWidth}`,\n compositionClass\n )}\n >\n {children ? (\n <span\n className={classnames(\n 'dnb-forms-value-block__content',\n gap && `dnb-forms-value-block__content--gap-${gap}`\n )}\n >\n {children}\n </span>\n ) : (\n <span className=\"dnb-forms-value-block__placeholder\">\n {placeholder}\n </span>\n )}\n </Dd>\n </SummaryListContext.Provider>\n </Element>\n )\n }\n } else {\n content = (\n <Span\n ref={ref}\n className={classnames(\n 'dnb-forms-value-block',\n inline && 'dnb-forms-value-block--inline',\n maxWidth && `dnb-forms-value-block--max-width-${maxWidth}`,\n compositionClass,\n className\n )}\n {...pickSpacingProps(props)}\n >\n {label && (\n <FormLabel\n element=\"strong\" // enhance a11y: https://www.w3.org/WAI/WCAG21/Techniques/html/H49\n className=\"dnb-forms-value-block__label\"\n labelDirection={inline ? 'horizontal' : 'vertical'}\n >\n {label}\n </FormLabel>\n )}\n {children ? (\n <span\n className={classnames(\n 'dnb-forms-value-block__content',\n gap && `dnb-forms-value-block__content--gap-${gap}`\n )}\n >\n {children}\n </span>\n ) : (\n <span className=\"dnb-forms-value-block__placeholder\">\n {placeholder}\n </span>\n )}\n </Span>\n )\n }\n\n return (\n <ValueBlockContext.Provider value={props}>\n {content}\n </ValueBlockContext.Provider>\n )\n}\n\nfunction useNotInSummaryList(\n ref: React.RefObject<HTMLElement>,\n label?: React.ReactNode\n) {\n useEffect(() => {\n if (ref?.current) {\n try {\n const sibling = ref.current.previousElementSibling\n\n if (\n sibling?.classList.contains('dnb-forms-value-block') &&\n !ref.current.closest('.dnb-forms-summary-list')\n ) {\n warn.apply(\n warn,\n [\n 'Value components as siblings should be wrapped inside a Value.SummaryList!',\n label,\n ].filter(Boolean)\n )\n }\n } catch (error) {\n //\n }\n }\n }, [label, ref])\n}\n\nValueBlock._supportsSpacingProps = true\nexport default ValueBlock\n"],"mappings":"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"}
1
+ {"version":3,"file":"ValueBlock.js","names":["React","Fragment","useContext","useEffect","useMemo","useRef","classnames","warn","Dd","Dl","Dt","Span","FormLabel","SummaryListContext","ValueBlockContext","DataContext","pickSpacingProps","IterateElementContext","convertJsxToString","ValueBlock","props","summaryListContext","valueBlockContext","dataContext","iterateElementContext","index","iterateIndex","className","label","labelProp","inline","maxWidth","composition","placeholder","showEmpty","children","gap","undefined","replace","String","ref","useNotInSummaryList","prerenderFieldProps","content","compositionClass","Element","isNested","layout","Item","_span","createElement","Provider","value","_objectSpread","_extends","element","labelDirection","current","sibling","previousElementSibling","classList","contains","closest","apply","filter","Boolean","error","_supportsSpacingProps"],"sources":["../../../../../src/extensions/forms/ValueBlock/ValueBlock.tsx"],"sourcesContent":["import React, {\n Fragment,\n useContext,\n useEffect,\n useMemo,\n useRef,\n} from 'react'\nimport classnames from 'classnames'\nimport { warn } from '../../../shared/helpers'\nimport { Dd, Dl, Dt, Span } from '../../../elements'\nimport { FormLabel } from '../../../components'\nimport SummaryListContext from '../Value/SummaryList/SummaryListContext'\nimport ValueBlockContext from './ValueBlockContext'\nimport DataContext from '../DataContext/Context'\nimport { ValueProps } from '../types'\nimport { pickSpacingProps } from '../../../components/flex/utils'\nimport IterateElementContext from '../Iterate/IterateElementContext'\nimport { convertJsxToString } from '../../../shared/component-helper'\n\n/**\n * Props are documented in ValueDocs.ts\n */\nexport type Props = Omit<ValueProps<unknown>, 'value'> & {\n children?: React.ReactNode\n\n /**\n * Used internally by the Composition component\n */\n composition?: boolean\n\n /**\n * Used internally by the Composition component\n */\n gap?: 'xx-small' | 'x-small' | 'small' | 'medium' | 'large' | false\n}\n\nfunction ValueBlock(props: Props) {\n const summaryListContext = useContext(SummaryListContext)\n const valueBlockContext = useContext(ValueBlockContext)\n const dataContext = useContext(DataContext)\n const iterateElementContext = useContext(IterateElementContext)\n const { index: iterateIndex } = iterateElementContext ?? {}\n\n const {\n className,\n label: labelProp,\n inline,\n maxWidth = props.composition ? props.maxWidth : 'large',\n placeholder,\n showEmpty,\n children,\n composition,\n gap = 'xx-small',\n } = props\n\n const label = useMemo(() => {\n if (inline) {\n return null\n }\n if (iterateIndex !== undefined) {\n return convertJsxToString(labelProp).replace(\n '{itemNr}',\n String(iterateIndex + 1)\n )\n }\n return labelProp\n }, [inline, iterateIndex, labelProp])\n\n const ref = useRef<HTMLElement>(null)\n useNotInSummaryList(valueBlockContext?.composition ? null : ref, label)\n\n if (\n ((children === undefined || children === null || children === false) &&\n !showEmpty &&\n !placeholder) ||\n dataContext?.prerenderFieldProps\n ) {\n return null\n }\n\n let content = null\n\n const compositionClass =\n composition &&\n classnames(\n `dnb-forms-value-block__composition--${\n composition === true ? 'horizontal' : composition\n }`\n )\n\n if (summaryListContext) {\n const Element = summaryListContext.isNested\n ? Dl\n : summaryListContext.layout === 'horizontal'\n ? Dl.Item\n : Fragment\n\n if (!label && valueBlockContext?.composition) {\n content = (\n <span\n className={classnames(\n 'dnb-forms-value-block__content',\n gap && `dnb-forms-value-block__content--gap-${gap}`\n )}\n >\n {children}\n </span>\n ) ?? (\n <span className=\"dnb-forms-value-block__placeholder\">\n {placeholder}\n </span>\n )\n } else {\n content = (\n <Element>\n <SummaryListContext.Provider\n value={{ ...summaryListContext, isNested: true }}\n >\n {label && (\n <Dt className=\"dnb-forms-value-block__label\">\n <strong>{label}</strong>\n </Dt>\n )}\n <Dd\n className={classnames(\n summaryListContext.layout !== 'grid' &&\n !summaryListContext.isNested &&\n maxWidth &&\n `dnb-forms-value-block--max-width-${maxWidth}`,\n compositionClass\n )}\n >\n {children ? (\n <span\n className={classnames(\n 'dnb-forms-value-block__content',\n gap && `dnb-forms-value-block__content--gap-${gap}`\n )}\n >\n {children}\n </span>\n ) : (\n <span className=\"dnb-forms-value-block__placeholder\">\n {placeholder}\n </span>\n )}\n </Dd>\n </SummaryListContext.Provider>\n </Element>\n )\n }\n } else {\n content = (\n <Span\n ref={ref}\n className={classnames(\n 'dnb-forms-value-block',\n inline && 'dnb-forms-value-block--inline',\n maxWidth && `dnb-forms-value-block--max-width-${maxWidth}`,\n compositionClass,\n className\n )}\n {...pickSpacingProps(props)}\n >\n {label && (\n <FormLabel\n element=\"strong\" // enhance a11y: https://www.w3.org/WAI/WCAG21/Techniques/html/H49\n className=\"dnb-forms-value-block__label\"\n labelDirection={inline ? 'horizontal' : 'vertical'}\n >\n {label}\n </FormLabel>\n )}\n {children ? (\n <span\n className={classnames(\n 'dnb-forms-value-block__content',\n gap && `dnb-forms-value-block__content--gap-${gap}`\n )}\n >\n {children}\n </span>\n ) : (\n <span className=\"dnb-forms-value-block__placeholder\">\n {placeholder}\n </span>\n )}\n </Span>\n )\n }\n\n return (\n <ValueBlockContext.Provider value={props}>\n {content}\n </ValueBlockContext.Provider>\n )\n}\n\nfunction useNotInSummaryList(\n ref: React.RefObject<HTMLElement>,\n label?: React.ReactNode\n) {\n useEffect(() => {\n if (ref?.current) {\n try {\n const sibling = ref.current.previousElementSibling\n\n if (\n sibling?.classList.contains('dnb-forms-value-block') &&\n !ref.current.closest('.dnb-forms-summary-list')\n ) {\n warn.apply(\n warn,\n [\n 'Value components as siblings should be wrapped inside a Value.SummaryList!',\n label,\n ].filter(Boolean)\n )\n }\n } catch (error) {\n //\n }\n }\n }, [label, ref])\n}\n\nValueBlock._supportsSpacingProps = true\nexport default ValueBlock\n"],"mappings":"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"}
@@ -14,8 +14,9 @@ function Buttons(props) {
14
14
  } = props;
15
15
  const {
16
16
  activeIndex,
17
- totalSteps
17
+ titlesRef
18
18
  } = useContext(WizardContext) || {};
19
+ const totalSteps = Object.keys((titlesRef === null || titlesRef === void 0 ? void 0 : titlesRef.current) || {}).length || 0;
19
20
  const showPreviousButton = activeIndex > 0;
20
21
  const showNextButton = activeIndex < totalSteps - 1;
21
22
  if (!showPreviousButton && !showNextButton) {
@@ -1 +1 @@
1
- {"version":3,"file":"Buttons.js","names":["React","useContext","classnames","ButtonRow","NextButton","PreviousButton","WizardContext","Buttons","props","className","activeIndex","totalSteps","showPreviousButton","showNextButton","createElement","_extends","_PreviousButton","_NextButton","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Buttons/Buttons.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport classnames from 'classnames'\nimport { ComponentProps } from '../../types'\nimport ButtonRow from '../../Form/ButtonRow'\nimport NextButton from '../NextButton'\nimport PreviousButton from '../PreviousButton'\nimport WizardContext from '../Context'\n\nexport type Props = ComponentProps & {\n children?: string\n}\n\nfunction Buttons(props: Props) {\n const { className } = props\n const { activeIndex, totalSteps } = useContext(WizardContext) || {}\n const showPreviousButton = activeIndex > 0\n const showNextButton = activeIndex < totalSteps - 1\n\n if (!showPreviousButton && !showNextButton) {\n return null\n }\n\n return (\n <ButtonRow\n className={classnames('dnb-forms-buttons', className)}\n {...props}\n >\n {showPreviousButton && <PreviousButton />}\n {showNextButton && <NextButton />}\n </ButtonRow>\n )\n}\n\nButtons._supportsSpacingProps = true\nexport default Buttons\n"],"mappings":";;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,UAAU,MAAM,YAAY;AAEnC,OAAOC,SAAS,MAAM,sBAAsB;AAC5C,OAAOC,UAAU,MAAM,eAAe;AACtC,OAAOC,cAAc,MAAM,mBAAmB;AAC9C,OAAOC,aAAa,MAAM,YAAY;AAMtC,SAASC,OAAOA,CAACC,KAAY,EAAE;EAC7B,MAAM;IAAEC;EAAU,CAAC,GAAGD,KAAK;EAC3B,MAAM;IAAEE,WAAW;IAAEC;EAAW,CAAC,GAAGV,UAAU,CAACK,aAAa,CAAC,IAAI,CAAC,CAAC;EACnE,MAAMM,kBAAkB,GAAGF,WAAW,GAAG,CAAC;EAC1C,MAAMG,cAAc,GAAGH,WAAW,GAAGC,UAAU,GAAG,CAAC;EAEnD,IAAI,CAACC,kBAAkB,IAAI,CAACC,cAAc,EAAE;IAC1C,OAAO,IAAI;EACb;EAEA,OACEb,KAAA,CAAAc,aAAA,CAACX,SAAS,EAAAY,QAAA;IACRN,SAAS,EAAEP,UAAU,CAAC,mBAAmB,EAAEO,SAAS;EAAE,GAClDD,KAAK,GAERI,kBAAkB,KAAAI,eAAA,KAAAA,eAAA,GAAIhB,KAAA,CAAAc,aAAA,CAACT,cAAc,MAAE,CAAC,IACxCQ,cAAc,KAAAI,WAAA,KAAAA,WAAA,GAAIjB,KAAA,CAAAc,aAAA,CAACV,UAAU,MAAE,CAAC,EACxB,CAAC;AAEhB;AAEAG,OAAO,CAACW,qBAAqB,GAAG,IAAI;AACpC,eAAeX,OAAO"}
1
+ {"version":3,"file":"Buttons.js","names":["React","useContext","classnames","ButtonRow","NextButton","PreviousButton","WizardContext","Buttons","props","className","activeIndex","titlesRef","totalSteps","Object","keys","current","length","showPreviousButton","showNextButton","createElement","_extends","_PreviousButton","_NextButton","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Buttons/Buttons.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport classnames from 'classnames'\nimport { ComponentProps } from '../../types'\nimport ButtonRow from '../../Form/ButtonRow'\nimport NextButton from '../NextButton'\nimport PreviousButton from '../PreviousButton'\nimport WizardContext from '../Context'\n\nexport type Props = ComponentProps & {\n children?: string\n}\n\nfunction Buttons(props: Props) {\n const { className } = props\n const { activeIndex, titlesRef } = useContext(WizardContext) || {}\n\n const totalSteps = Object.keys(titlesRef?.current || {}).length || 0\n const showPreviousButton = activeIndex > 0\n const showNextButton = activeIndex < totalSteps - 1\n\n if (!showPreviousButton && !showNextButton) {\n return null\n }\n\n return (\n <ButtonRow\n className={classnames('dnb-forms-buttons', className)}\n {...props}\n >\n {showPreviousButton && <PreviousButton />}\n {showNextButton && <NextButton />}\n </ButtonRow>\n )\n}\n\nButtons._supportsSpacingProps = true\nexport default Buttons\n"],"mappings":";;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,UAAU,MAAM,YAAY;AAEnC,OAAOC,SAAS,MAAM,sBAAsB;AAC5C,OAAOC,UAAU,MAAM,eAAe;AACtC,OAAOC,cAAc,MAAM,mBAAmB;AAC9C,OAAOC,aAAa,MAAM,YAAY;AAMtC,SAASC,OAAOA,CAACC,KAAY,EAAE;EAC7B,MAAM;IAAEC;EAAU,CAAC,GAAGD,KAAK;EAC3B,MAAM;IAAEE,WAAW;IAAEC;EAAU,CAAC,GAAGV,UAAU,CAACK,aAAa,CAAC,IAAI,CAAC,CAAC;EAElE,MAAMM,UAAU,GAAGC,MAAM,CAACC,IAAI,CAAC,CAAAH,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEI,OAAO,KAAI,CAAC,CAAC,CAAC,CAACC,MAAM,IAAI,CAAC;EACpE,MAAMC,kBAAkB,GAAGP,WAAW,GAAG,CAAC;EAC1C,MAAMQ,cAAc,GAAGR,WAAW,GAAGE,UAAU,GAAG,CAAC;EAEnD,IAAI,CAACK,kBAAkB,IAAI,CAACC,cAAc,EAAE;IAC1C,OAAO,IAAI;EACb;EAEA,OACElB,KAAA,CAAAmB,aAAA,CAAChB,SAAS,EAAAiB,QAAA;IACRX,SAAS,EAAEP,UAAU,CAAC,mBAAmB,EAAEO,SAAS;EAAE,GAClDD,KAAK,GAERS,kBAAkB,KAAAI,eAAA,KAAAA,eAAA,GAAIrB,KAAA,CAAAmB,aAAA,CAACd,cAAc,MAAE,CAAC,IACxCa,cAAc,KAAAI,WAAA,KAAAA,WAAA,GAAItB,KAAA,CAAAmB,aAAA,CAACf,UAAU,MAAE,CAAC,EACxB,CAAC;AAEhB;AAEAG,OAAO,CAACgB,qBAAqB,GAAG,IAAI;AACpC,eAAehB,OAAO"}
@@ -10,7 +10,7 @@ import React, { useContext, useCallback, useRef, useReducer, useMemo } from 'rea
10
10
  import ReactDOM from 'react-dom';
11
11
  import classnames from 'classnames';
12
12
  import { Space, StepIndicator } from '../../../../components';
13
- import { warn } from '../../../../shared/component-helper';
13
+ import { convertJsxToString, warn } from '../../../../shared/component-helper';
14
14
  import { isAsync } from '../../../../shared/helpers/isAsync';
15
15
  import useId from '../../../../shared/helpers/useId';
16
16
  import Step from '../Step';
@@ -42,8 +42,7 @@ function WizardContainer(props) {
42
42
  handleSubmitCall,
43
43
  setShowAllErrors,
44
44
  showAllErrors,
45
- setSubmitState,
46
- fieldPropsRef
45
+ setSubmitState
47
46
  } = useContext(DataContext);
48
47
  const id = useId(idProp);
49
48
  const [, forceUpdate] = useReducer(() => ({}), {});
@@ -105,7 +104,7 @@ function WizardContainer(props) {
105
104
  return result;
106
105
  }
107
106
  });
108
- }, [callOnStepChange, fieldPropsRef, handleLayoutEffect, handleSubmitCall, isInteractionRef, onStepChange, setFormState, setShowAllErrors]);
107
+ }, [callOnStepChange, handleLayoutEffect, handleSubmitCall, isInteractionRef, onStepChange, setFormState, setShowAllErrors]);
109
108
  const setActiveIndex = useCallback((index, options) => {
110
109
  if (index === activeIndexRef.current) {
111
110
  return;
@@ -135,30 +134,36 @@ function WizardContainer(props) {
135
134
  error
136
135
  });
137
136
  }, [setSubmitState]);
138
- const titlesRef = useRef([]);
137
+ const titlesRef = useRef({});
138
+ const updateTitlesRef = useRef();
139
139
  const prerenderFieldPropsRef = useRef({});
140
140
  const activeIndex = activeIndexRef.current;
141
- const totalSteps = titlesRef.current.length;
142
- const providerValue = useMemo(() => ({
143
- id,
144
- activeIndex,
145
- totalSteps,
146
- stepElementRef,
147
- titlesRef,
148
- activeIndexRef,
149
- prerenderFieldProps,
150
- prerenderFieldPropsRef,
151
- setActiveIndex,
152
- handlePrevious,
153
- handleNext,
154
- setFormError
155
- }), [id, activeIndex, totalSteps, prerenderFieldProps, setActiveIndex, handlePrevious, handleNext, setFormError]);
141
+ const providerValue = useMemo(() => {
142
+ return {
143
+ id,
144
+ activeIndex,
145
+ stepElementRef,
146
+ titlesRef,
147
+ updateTitlesRef,
148
+ activeIndexRef,
149
+ prerenderFieldProps,
150
+ prerenderFieldPropsRef,
151
+ setActiveIndex,
152
+ handlePrevious,
153
+ handleNext,
154
+ setFormError
155
+ };
156
+ }, [activeIndex, handleNext, handlePrevious, id, prerenderFieldProps, setActiveIndex, setFormError]);
156
157
  useLayoutEffect(() => {
157
158
  if (id && hasContext) {
158
159
  var _sharedStateRef$curre4, _sharedStateRef$curre5;
159
160
  (_sharedStateRef$curre4 = sharedStateRef.current) === null || _sharedStateRef$curre4 === void 0 ? void 0 : (_sharedStateRef$curre5 = _sharedStateRef$curre4.extend) === null || _sharedStateRef$curre5 === void 0 ? void 0 : _sharedStateRef$curre5.call(_sharedStateRef$curre4, providerValue);
160
161
  }
161
162
  }, [id, providerValue]);
163
+ useLayoutEffect(() => {
164
+ var _updateTitlesRef$curr;
165
+ (_updateTitlesRef$curr = updateTitlesRef.current) === null || _updateTitlesRef$curr === void 0 ? void 0 : _updateTitlesRef$curr.call(updateTitlesRef);
166
+ }, [titlesRef.current]);
162
167
  if (!hasContext) {
163
168
  warn('You may wrap Wizard.Container in Form.Handler');
164
169
  return React.createElement(Handler, null, React.createElement(WizardContainer, _extends({}, props, {
@@ -169,25 +174,51 @@ function WizardContainer(props) {
169
174
  value: providerValue
170
175
  }, React.createElement(Space, _extends({
171
176
  className: classnames(`dnb-forms-wizard-layout dnb-forms-wizard-layout--${variant}`, className)
172
- }, rest), React.createElement("aside", {
173
- className: "dnb-forms-wizard-layout__sidebar"
177
+ }, rest), React.createElement(DisplaySteps, {
178
+ mode: mode,
179
+ variant: variant,
180
+ noAnimation: noAnimation,
181
+ handleChange: handleChange,
182
+ sidebarId: sidebarId
183
+ }), React.createElement("div", {
184
+ className: "dnb-forms-wizard-layout__contents"
185
+ }, React.createElement(IterateOverSteps, null, children))), prerenderFieldProps && React.createElement(PrerenderFieldPropsOfOtherSteps, {
186
+ prerenderFieldPropsRef: prerenderFieldPropsRef
187
+ }));
188
+ }
189
+ function DisplaySteps({
190
+ mode,
191
+ variant,
192
+ noAnimation,
193
+ handleChange,
194
+ sidebarId
195
+ }) {
196
+ const [, forceUpdate] = useReducer(() => ({}), {});
197
+ const {
198
+ id,
199
+ activeIndexRef,
200
+ titlesRef,
201
+ updateTitlesRef
202
+ } = useContext(WizardContext) || {};
203
+ updateTitlesRef.current = () => {
204
+ forceUpdate();
205
+ };
206
+ const sidebar_id = variant === 'drawer' && !sidebarId ? undefined : sidebarId !== null && sidebarId !== void 0 ? sidebarId : id;
207
+ return React.createElement("aside", {
208
+ className: "dnb-forms-wizard-layout__indicator"
174
209
  }, React.createElement(StepIndicator.Sidebar, {
175
- sidebar_id: id
210
+ sidebar_id: sidebar_id
176
211
  }), React.createElement(StepIndicator, {
177
212
  bottom: true,
178
213
  current_step: activeIndexRef.current,
179
- data: titlesRef.current,
214
+ data: Object.values(titlesRef.current),
180
215
  mode: mode,
181
216
  no_animation: noAnimation,
182
217
  on_change: handleChange,
183
- sidebar_id: variant === 'drawer' && !sidebarId ? '' : sidebarId ? sidebarId : id
184
- })), React.createElement("div", {
185
- className: "dnb-forms-wizard-layout__contents"
186
- }, React.createElement(Contents, null, children))), prerenderFieldProps && React.createElement(PrerenderFieldPropsOfOtherSteps, {
187
- prerenderFieldPropsRef: prerenderFieldPropsRef
218
+ sidebar_id: sidebar_id
188
219
  }));
189
220
  }
190
- function Contents({
221
+ function IterateOverSteps({
191
222
  children
192
223
  }) {
193
224
  const {
@@ -196,8 +227,10 @@ function Contents({
196
227
  prerenderFieldProps,
197
228
  prerenderFieldPropsRef
198
229
  } = useContext(WizardContext);
199
- titlesRef.current = [];
200
- return React.Children.map(children, (child, index) => {
230
+ titlesRef.current = {};
231
+ let incrementIndex = -1;
232
+ let decrementIndex = -1;
233
+ const childrenArray = React.Children.map(children, child => {
201
234
  if (React.isValidElement(child)) {
202
235
  var _child, _child2;
203
236
  let step = child;
@@ -209,8 +242,16 @@ function Contents({
209
242
  }
210
243
  }
211
244
  if (((_child2 = child) === null || _child2 === void 0 ? void 0 : _child2.type) === Step) {
212
- var _child$props$title;
213
- titlesRef.current.push((_child$props$title = child.props.title) !== null && _child$props$title !== void 0 ? _child$props$title : 'Title missing');
245
+ if (child.props.active === false) {
246
+ return null;
247
+ }
248
+ if (child.props.active === false) {
249
+ decrementIndex--;
250
+ } else {
251
+ incrementIndex++;
252
+ }
253
+ const index = child.props.active === false ? decrementIndex : incrementIndex;
254
+ titlesRef.current[index] = child.props.title !== undefined ? convertJsxToString(child.props.title) : 'Title missing';
214
255
  const key = `${index}-${activeIndexRef.current}`;
215
256
  const clone = props => React.cloneElement(child, props);
216
257
  if (prerenderFieldProps && typeof document !== 'undefined' && index !== activeIndexRef.current && typeof prerenderFieldPropsRef.current['step-' + index] === 'undefined') {
@@ -228,6 +269,12 @@ function Contents({
228
269
  }
229
270
  return child;
230
271
  });
272
+ if (childrenArray.length === 0) {
273
+ activeIndexRef.current = 0;
274
+ } else if (childrenArray.length < activeIndexRef.current + 1) {
275
+ activeIndexRef.current = childrenArray.length - 1;
276
+ }
277
+ return childrenArray;
231
278
  }
232
279
  function PrerenderFieldPropsOfOtherSteps({
233
280
  prerenderFieldPropsRef
@@ -1 +1 @@
1
- {"version":3,"file":"WizardContainer.js","names":["React","useContext","useCallback","useRef","useReducer","useMemo","ReactDOM","classnames","Space","StepIndicator","warn","isAsync","useId","Step","WizardContext","DataContext","defaultContextState","Handler","useSharedState","useHandleLayoutEffect","useLayoutEffect","window","useEffect","WizardContainer","props","className","id","idProp","mode","initialActiveIndex","omitScrollManagement","omitFocusManagement","onStepChange","children","noAnimation","prerenderFieldProps","variant","sidebarId","rest","_objectWithoutProperties","_excluded","hasContext","setFormState","handleSubmitCall","setShowAllErrors","showAllErrors","setSubmitState","fieldPropsRef","forceUpdate","activeIndexRef","errorOnStepRef","stepElementRef","sharedStateRef","current","undefined","callOnStepChange","index","setFocus","scrollToTop","isInteractionRef","handleLayoutEffect","handleStepChange","skipErrorCheck","skipStepChangeCall","skipStepChangeCallBeforeMounted","skipStepChangeCallFromHook","skipFieldValidation","enableAsyncBehaviour","onSubmit","_sharedStateRef$curre","_sharedStateRef$curre2","_sharedStateRef$curre3","data","call","result","Error","setActiveIndex","options","_objectSpread","handlePrevious","handleNext","handleChange","current_step","setFormError","error","titlesRef","prerenderFieldPropsRef","activeIndex","totalSteps","length","providerValue","_sharedStateRef$curre4","_sharedStateRef$curre5","extend","createElement","_extends","Provider","value","Sidebar","sidebar_id","bottom","no_animation","on_change","Contents","PrerenderFieldPropsOfOtherSteps","Children","map","child","isValidElement","_child","_child2","step","type","_step","apply","_child$props$title","push","title","key","clone","cloneElement","document","hasRenderedRef","WizardPortal","PrerenderFieldPropsProvider","hidden","Object","values","Fn","i","createPortal","body","setFieldProps","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 { warn } from '../../../../shared/component-helper'\nimport { isAsync } from '../../../../shared/helpers/isAsync'\nimport useId from '../../../../shared/helpers/useId'\nimport Step, { Props as StepProps } from '../Step'\nimport WizardContext, {\n OnStepChange,\n SetActiveIndexOptions,\n StepIndex,\n WizardContextState,\n} from '../Context/WizardContext'\nimport DataContext, {\n defaultContextState,\n} from '../../DataContext/Context'\nimport Handler from '../../Form/Handler/Handler'\nimport {\n SharedStateReturn,\n useSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport useHandleLayoutEffect from './useHandleLayoutEffect'\nimport { ComponentProps } from '../../types'\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 {\n hasContext,\n setFormState,\n handleSubmitCall,\n setShowAllErrors,\n showAllErrors,\n setSubmitState,\n fieldPropsRef,\n } = useContext(DataContext)\n\n const id = useId(idProp)\n const [, forceUpdate] = useReducer(() => ({}), {})\n const activeIndexRef = useRef<StepIndex>(initialActiveIndex)\n const errorOnStepRef = useRef<Record<StepIndex, boolean>>({})\n const stepElementRef = useRef<HTMLElement>()\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 ? id + '-wizard' : undefined\n )\n\n // Store the current state of showAllErrors\n errorOnStepRef.current[activeIndexRef.current] = showAllErrors\n\n const callOnStepChange = useCallback(\n async (index: StepIndex, mode: 'previous' | 'next') => {\n if (isAsync(onStepChange)) {\n return await onStepChange(index, mode)\n }\n\n return onStepChange?.(index, mode)\n },\n [onStepChange]\n )\n\n const { setFocus, scrollToTop, isInteractionRef } =\n useHandleLayoutEffect({ activeIndexRef, stepElementRef })\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: 'previous' | 'next'\n } & SetActiveIndexOptions) => {\n handleSubmitCall({\n skipErrorCheck,\n skipFieldValidation: skipErrorCheck,\n enableAsyncBehaviour: isAsync(onStepChange),\n onSubmit: async () => {\n if (!skipStepChangeCallFromHook) {\n sharedStateRef.current?.data?.onStepChange?.(index, mode)\n }\n\n const result =\n skipStepChangeCall ||\n (skipStepChangeCallBeforeMounted && !isInteractionRef.current)\n ? undefined\n : await callOnStepChange(index, mode)\n\n // Hide async indicator\n setFormState('abort')\n\n if (!skipErrorCheck) {\n // Set the showAllErrors to the step we got to\n setShowAllErrors(errorOnStepRef.current[index])\n }\n\n if (!(result instanceof Error)) {\n handleLayoutEffect()\n\n activeIndexRef.current = index\n forceUpdate()\n }\n\n return result\n },\n })\n },\n [\n callOnStepChange,\n fieldPropsRef,\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 titlesRef = useRef([])\n const prerenderFieldPropsRef = useRef<\n Record<string, () => React.ReactElement>\n >({})\n\n const activeIndex = activeIndexRef.current\n const totalSteps = titlesRef.current.length\n const providerValue = useMemo(\n () => ({\n id,\n activeIndex,\n totalSteps,\n stepElementRef,\n titlesRef,\n activeIndexRef,\n prerenderFieldProps,\n prerenderFieldPropsRef,\n setActiveIndex,\n handlePrevious,\n handleNext,\n setFormError,\n }),\n [\n id,\n activeIndex,\n totalSteps,\n prerenderFieldProps,\n setActiveIndex,\n handlePrevious,\n handleNext,\n setFormError,\n ]\n )\n\n // - Handle shared state\n useLayoutEffect(() => {\n if (id && hasContext) {\n sharedStateRef.current?.extend?.(providerValue)\n }\n }, [id, providerValue]) // eslint-disable-line react-hooks/exhaustive-deps\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 {...rest}\n >\n <aside className=\"dnb-forms-wizard-layout__sidebar\">\n <StepIndicator.Sidebar sidebar_id={id} />\n <StepIndicator\n bottom\n current_step={activeIndexRef.current}\n data={titlesRef.current}\n mode={mode}\n no_animation={noAnimation}\n on_change={handleChange}\n sidebar_id={\n variant === 'drawer' && !sidebarId\n ? ''\n : sidebarId\n ? sidebarId\n : id\n }\n />\n </aside>\n\n <div className=\"dnb-forms-wizard-layout__contents\">\n <Contents>{children}</Contents>\n </div>\n </Space>\n\n {prerenderFieldProps && (\n <PrerenderFieldPropsOfOtherSteps\n prerenderFieldPropsRef={prerenderFieldPropsRef}\n />\n )}\n </WizardContext.Provider>\n )\n}\n\nfunction Contents({ children }) {\n const {\n titlesRef,\n activeIndexRef,\n prerenderFieldProps,\n prerenderFieldPropsRef,\n } = useContext(WizardContext)\n\n titlesRef.current = []\n return React.Children.map(children, (child, index) => {\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 titlesRef.current.push(child.props.title ?? 'Title missing')\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\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, setFieldProps, updateDataValue } = 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 setFieldProps,\n updateDataValue,\n prerenderFieldProps: true,\n }}\n >\n <WizardContext.Provider value={{ prerenderFieldProps: true }}>\n {children}\n </WizardContext.Provider>\n </DataContext.Provider>\n )\n}\n\nWizardContainer._supportsSpacingProps = true\n\nexport default WizardContainer\n"],"mappings":"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"}
1
+ {"version":3,"file":"WizardContainer.js","names":["React","useContext","useCallback","useRef","useReducer","useMemo","ReactDOM","classnames","Space","StepIndicator","convertJsxToString","warn","isAsync","useId","Step","WizardContext","DataContext","defaultContextState","Handler","useSharedState","useHandleLayoutEffect","useLayoutEffect","window","useEffect","WizardContainer","props","className","id","idProp","mode","initialActiveIndex","omitScrollManagement","omitFocusManagement","onStepChange","children","noAnimation","prerenderFieldProps","variant","sidebarId","rest","_objectWithoutProperties","_excluded","hasContext","setFormState","handleSubmitCall","setShowAllErrors","showAllErrors","setSubmitState","forceUpdate","activeIndexRef","errorOnStepRef","stepElementRef","sharedStateRef","current","undefined","callOnStepChange","index","setFocus","scrollToTop","isInteractionRef","handleLayoutEffect","handleStepChange","skipErrorCheck","skipStepChangeCall","skipStepChangeCallBeforeMounted","skipStepChangeCallFromHook","skipFieldValidation","enableAsyncBehaviour","onSubmit","_sharedStateRef$curre","_sharedStateRef$curre2","_sharedStateRef$curre3","data","call","result","Error","setActiveIndex","options","_objectSpread","handlePrevious","handleNext","handleChange","current_step","setFormError","error","titlesRef","updateTitlesRef","prerenderFieldPropsRef","activeIndex","providerValue","_sharedStateRef$curre4","_sharedStateRef$curre5","extend","_updateTitlesRef$curr","createElement","_extends","Provider","value","DisplaySteps","IterateOverSteps","PrerenderFieldPropsOfOtherSteps","sidebar_id","Sidebar","bottom","Object","values","no_animation","on_change","incrementIndex","decrementIndex","childrenArray","Children","map","child","isValidElement","_child","_child2","step","type","_step","apply","active","title","key","clone","cloneElement","document","length","hasRenderedRef","WizardPortal","PrerenderFieldPropsProvider","hidden","Fn","i","createPortal","body","setFieldProps","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, { Props as StepProps } from '../Step'\nimport WizardContext, {\n OnStepChange,\n SetActiveIndexOptions,\n StepIndex,\n WizardContextState,\n} from '../Context/WizardContext'\nimport DataContext, {\n defaultContextState,\n} from '../../DataContext/Context'\nimport Handler from '../../Form/Handler/Handler'\nimport {\n SharedStateReturn,\n useSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport useHandleLayoutEffect from './useHandleLayoutEffect'\nimport { ComponentProps } from '../../types'\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 {\n hasContext,\n setFormState,\n handleSubmitCall,\n setShowAllErrors,\n showAllErrors,\n setSubmitState,\n } = useContext(DataContext)\n\n const id = useId(idProp)\n const [, forceUpdate] = useReducer(() => ({}), {})\n const activeIndexRef = useRef<StepIndex>(initialActiveIndex)\n const errorOnStepRef = useRef<Record<StepIndex, boolean>>({})\n const stepElementRef = useRef<HTMLElement>()\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 ? id + '-wizard' : undefined\n )\n\n // Store the current state of showAllErrors\n errorOnStepRef.current[activeIndexRef.current] = showAllErrors\n\n const callOnStepChange = useCallback(\n async (index: StepIndex, mode: 'previous' | 'next') => {\n if (isAsync(onStepChange)) {\n return await onStepChange(index, mode)\n }\n\n return onStepChange?.(index, mode)\n },\n [onStepChange]\n )\n\n const { setFocus, scrollToTop, isInteractionRef } =\n useHandleLayoutEffect({ activeIndexRef, stepElementRef })\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: 'previous' | 'next'\n } & SetActiveIndexOptions) => {\n handleSubmitCall({\n skipErrorCheck,\n skipFieldValidation: skipErrorCheck,\n enableAsyncBehaviour: isAsync(onStepChange),\n onSubmit: async () => {\n if (!skipStepChangeCallFromHook) {\n sharedStateRef.current?.data?.onStepChange?.(index, mode)\n }\n\n const result =\n skipStepChangeCall ||\n (skipStepChangeCallBeforeMounted && !isInteractionRef.current)\n ? undefined\n : await callOnStepChange(index, mode)\n\n // Hide async indicator\n setFormState('abort')\n\n if (!skipErrorCheck) {\n // Set the showAllErrors to the step we got to\n setShowAllErrors(errorOnStepRef.current[index])\n }\n\n if (!(result instanceof Error)) {\n handleLayoutEffect()\n\n activeIndexRef.current = index\n forceUpdate()\n }\n\n return result\n },\n })\n },\n [\n callOnStepChange,\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 titlesRef = useRef({})\n const updateTitlesRef = useRef<() => void>()\n const prerenderFieldPropsRef = useRef<\n Record<string, () => React.ReactElement>\n >({})\n\n const activeIndex = activeIndexRef.current\n const providerValue = useMemo(() => {\n return {\n id,\n activeIndex,\n stepElementRef,\n titlesRef,\n updateTitlesRef,\n activeIndexRef,\n prerenderFieldProps,\n prerenderFieldPropsRef,\n setActiveIndex,\n handlePrevious,\n handleNext,\n setFormError,\n }\n }, [\n activeIndex,\n handleNext,\n handlePrevious,\n id,\n prerenderFieldProps,\n setActiveIndex,\n setFormError,\n ])\n\n // - Handle shared state\n useLayoutEffect(() => {\n if (id && hasContext) {\n sharedStateRef.current?.extend?.(providerValue)\n }\n }, [id, providerValue]) // eslint-disable-line react-hooks/exhaustive-deps\n\n useLayoutEffect(() => {\n updateTitlesRef.current?.()\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [titlesRef.current])\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 {...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, titlesRef, 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(titlesRef.current)}\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 titlesRef,\n activeIndexRef,\n prerenderFieldProps,\n prerenderFieldPropsRef,\n } = useContext(WizardContext)\n\n titlesRef.current = {}\n let incrementIndex = -1\n let decrementIndex = -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 if (child.props.active === false) {\n return null\n }\n\n if (child.props.active === false) {\n decrementIndex--\n } else {\n incrementIndex++\n }\n const index =\n child.props.active === false ? decrementIndex : incrementIndex\n\n titlesRef.current[index] =\n child.props.title !== undefined\n ? convertJsxToString(child.props.title)\n : 'Title missing'\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 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, setFieldProps, updateDataValue } = 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 setFieldProps,\n updateDataValue,\n prerenderFieldProps: true,\n }}\n >\n <WizardContext.Provider value={{ prerenderFieldProps: true }}>\n {children}\n </WizardContext.Provider>\n </DataContext.Provider>\n )\n}\n\nWizardContainer._supportsSpacingProps = true\n\nexport default WizardContainer\n"],"mappings":"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"}
@@ -13,7 +13,8 @@ export interface WizardContextState {
13
13
  totalSteps?: number;
14
14
  activeIndex?: StepIndex;
15
15
  stepElementRef?: React.MutableRefObject<HTMLElement>;
16
- titlesRef?: React.MutableRefObject<Array<string>>;
16
+ titlesRef?: React.MutableRefObject<Record<string, string>>;
17
+ updateTitlesRef?: React.MutableRefObject<() => void>;
17
18
  activeIndexRef?: React.MutableRefObject<StepIndex>;
18
19
  prerenderFieldPropsRef?: React.MutableRefObject<Record<string, () => React.ReactElement>>;
19
20
  prerenderFieldProps?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"WizardContext.js","names":["React","WizardContext","createContext","undefined"],"sources":["../../../../../../src/extensions/forms/Wizard/Context/WizardContext.ts"],"sourcesContent":["import React from 'react'\nimport { EventReturnWithStateObject } from '../../types'\n\nexport type OnStepChange = (\n index: StepIndex,\n mode: 'previous' | 'next'\n) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n\nexport type StepIndex = number\nexport type SetActiveIndexOptions = {\n skipStepChangeCall?: boolean\n skipStepChangeCallBeforeMounted?: boolean\n skipStepChangeCallFromHook?: boolean\n skipErrorCheck?: boolean\n}\nexport interface WizardContextState {\n id?: string\n totalSteps?: number\n activeIndex?: StepIndex\n stepElementRef?: React.MutableRefObject<HTMLElement>\n titlesRef?: React.MutableRefObject<Array<string>>\n activeIndexRef?: React.MutableRefObject<StepIndex>\n prerenderFieldPropsRef?: React.MutableRefObject<\n Record<string, () => React.ReactElement>\n >\n prerenderFieldProps?: boolean\n handlePrevious?: () => void\n handleNext?: () => void\n setActiveIndex?: (\n index: StepIndex,\n {\n skipStepChangeCall,\n skipStepChangeCallBeforeMounted,\n skipStepChangeCallFromHook,\n }?: SetActiveIndexOptions\n ) => void\n setFormError?: (error: Error) => void\n}\n\nconst WizardContext = React.createContext<WizardContextState | undefined>(\n undefined\n)\n\nexport default WizardContext\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AA0CzB,MAAMC,aAAa,GAAGD,KAAK,CAACE,aAAa,CACvCC,SACF,CAAC;AAED,eAAeF,aAAa"}
1
+ {"version":3,"file":"WizardContext.js","names":["React","WizardContext","createContext","undefined"],"sources":["../../../../../../src/extensions/forms/Wizard/Context/WizardContext.ts"],"sourcesContent":["import React from 'react'\nimport { EventReturnWithStateObject } from '../../types'\n\nexport type OnStepChange = (\n index: StepIndex,\n mode: 'previous' | 'next'\n) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n\nexport type StepIndex = number\nexport type SetActiveIndexOptions = {\n skipStepChangeCall?: boolean\n skipStepChangeCallBeforeMounted?: boolean\n skipStepChangeCallFromHook?: boolean\n skipErrorCheck?: boolean\n}\nexport interface WizardContextState {\n id?: string\n totalSteps?: number\n activeIndex?: StepIndex\n stepElementRef?: React.MutableRefObject<HTMLElement>\n titlesRef?: React.MutableRefObject<Record<string, string>>\n updateTitlesRef?: React.MutableRefObject<() => void>\n activeIndexRef?: React.MutableRefObject<StepIndex>\n prerenderFieldPropsRef?: React.MutableRefObject<\n Record<string, () => React.ReactElement>\n >\n prerenderFieldProps?: boolean\n handlePrevious?: () => void\n handleNext?: () => void\n setActiveIndex?: (\n index: StepIndex,\n {\n skipStepChangeCall,\n skipStepChangeCallBeforeMounted,\n skipStepChangeCallFromHook,\n }?: SetActiveIndexOptions\n ) => void\n setFormError?: (error: Error) => void\n}\n\nconst WizardContext = React.createContext<WizardContextState | undefined>(\n undefined\n)\n\nexport default WizardContext\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AA2CzB,MAAMC,aAAa,GAAGD,KAAK,CAACE,aAAa,CACvCC,SACF,CAAC;AAED,eAAeF,aAAa"}
@@ -1,5 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ var _Hr;
3
4
  const _excluded = ["className", "variant", "icon_position", "icon", "toStep", "children"];
4
5
  import React, { useCallback } from 'react';
5
6
  import classnames from 'classnames';
@@ -8,6 +9,8 @@ import ButtonRow from '../../Form/ButtonRow';
8
9
  import useTranslation from '../../hooks/useTranslation';
9
10
  import useStep from '../hooks/useStep';
10
11
  import { edit } from '../../../../icons';
12
+ import Hr from '../../../../elements/Hr';
13
+ import { omitSpacingProps, pickSpacingProps } from '../../../../components/flex/utils';
11
14
  function EditButton(props) {
12
15
  const translations = useTranslation().Step;
13
16
  const {
@@ -27,13 +30,15 @@ function EditButton(props) {
27
30
  setActiveIndex(toStep);
28
31
  }
29
32
  }, [toStep, setActiveIndex]);
30
- return React.createElement(ButtonRow, null, React.createElement(Button, _extends({
33
+ return React.createElement(ButtonRow, pickSpacingProps(props), _Hr || (_Hr = React.createElement(Hr, {
34
+ space: 0
35
+ })), React.createElement(Button, _extends({
31
36
  className: classnames('dnb-forms-edit-button', className),
32
37
  variant: variant,
33
38
  icon_position: icon_position,
34
39
  icon: edit || icon,
35
40
  on_click: handleClick
36
- }, rest), children));
41
+ }, omitSpacingProps(rest)), children));
37
42
  }
38
43
  EditButton._supportsSpacingProps = true;
39
44
  export default EditButton;
@@ -1 +1 @@
1
- {"version":3,"file":"EditButton.js","names":["React","useCallback","classnames","Button","ButtonRow","useTranslation","useStep","edit","EditButton","props","translations","Step","setActiveIndex","className","variant","icon_position","icon","toStep","children","rest","_objectWithoutProperties","_excluded","handleClick","createElement","_extends","on_click","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Wizard/EditButton/EditButton.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport classnames from 'classnames'\nimport type { ComponentProps } from '../../types'\nimport Button, { ButtonProps } from '../../../../components/button/Button'\nimport ButtonRow from '../../Form/ButtonRow'\nimport { StepIndex } from '../Context/WizardContext'\nimport useTranslation from '../../hooks/useTranslation'\nimport useStep from '../hooks/useStep'\nimport { edit } from '../../../../icons'\n\nexport type Props = ComponentProps & ButtonProps & { toStep?: StepIndex }\n\nfunction EditButton(props: Props) {\n const translations = useTranslation().Step\n const { setActiveIndex } = useStep()\n\n const {\n className,\n variant = 'tertiary',\n icon_position = 'left',\n icon,\n toStep,\n children = translations.edit,\n ...rest\n } = props\n\n const handleClick = useCallback(() => {\n if (toStep > -1) {\n setActiveIndex(toStep)\n }\n }, [toStep, setActiveIndex])\n\n return (\n <ButtonRow>\n <Button\n className={classnames('dnb-forms-edit-button', className)}\n variant={variant}\n icon_position={icon_position}\n icon={edit || icon}\n on_click={handleClick}\n {...rest}\n >\n {children}\n </Button>\n </ButtonRow>\n )\n}\n\nEditButton._supportsSpacingProps = true\nexport default EditButton\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAC1C,OAAOC,UAAU,MAAM,YAAY;AAEnC,OAAOC,MAAM,MAAuB,sCAAsC;AAC1E,OAAOC,SAAS,MAAM,sBAAsB;AAE5C,OAAOC,cAAc,MAAM,4BAA4B;AACvD,OAAOC,OAAO,MAAM,kBAAkB;AACtC,SAASC,IAAI,QAAQ,mBAAmB;AAIxC,SAASC,UAAUA,CAACC,KAAY,EAAE;EAChC,MAAMC,YAAY,GAAGL,cAAc,CAAC,CAAC,CAACM,IAAI;EAC1C,MAAM;IAAEC;EAAe,CAAC,GAAGN,OAAO,CAAC,CAAC;EAEpC,MAAM;MACJO,SAAS;MACTC,OAAO,GAAG,UAAU;MACpBC,aAAa,GAAG,MAAM;MACtBC,IAAI;MACJC,MAAM;MACNC,QAAQ,GAAGR,YAAY,CAACH;IAE1B,CAAC,GAAGE,KAAK;IADJU,IAAI,GAAAC,wBAAA,CACLX,KAAK,EAAAY,SAAA;EAET,MAAMC,WAAW,GAAGrB,WAAW,CAAC,MAAM;IACpC,IAAIgB,MAAM,GAAG,CAAC,CAAC,EAAE;MACfL,cAAc,CAACK,MAAM,CAAC;IACxB;EACF,CAAC,EAAE,CAACA,MAAM,EAAEL,cAAc,CAAC,CAAC;EAE5B,OACEZ,KAAA,CAAAuB,aAAA,CAACnB,SAAS,QACRJ,KAAA,CAAAuB,aAAA,CAACpB,MAAM,EAAAqB,QAAA;IACLX,SAAS,EAAEX,UAAU,CAAC,uBAAuB,EAAEW,SAAS,CAAE;IAC1DC,OAAO,EAAEA,OAAQ;IACjBC,aAAa,EAAEA,aAAc;IAC7BC,IAAI,EAAET,IAAI,IAAIS,IAAK;IACnBS,QAAQ,EAAEH;EAAY,GAClBH,IAAI,GAEPD,QACK,CACC,CAAC;AAEhB;AAEAV,UAAU,CAACkB,qBAAqB,GAAG,IAAI;AACvC,eAAelB,UAAU"}
1
+ {"version":3,"file":"EditButton.js","names":["React","useCallback","classnames","Button","ButtonRow","useTranslation","useStep","edit","Hr","omitSpacingProps","pickSpacingProps","EditButton","props","translations","Step","setActiveIndex","className","variant","icon_position","icon","toStep","children","rest","_objectWithoutProperties","_excluded","handleClick","createElement","_Hr","space","_extends","on_click","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Wizard/EditButton/EditButton.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport classnames from 'classnames'\nimport type { ComponentProps } from '../../types'\nimport Button, { ButtonProps } from '../../../../components/button/Button'\nimport ButtonRow from '../../Form/ButtonRow'\nimport { StepIndex } from '../Context/WizardContext'\nimport useTranslation from '../../hooks/useTranslation'\nimport useStep from '../hooks/useStep'\nimport { edit } from '../../../../icons'\nimport Hr from '../../../../elements/Hr'\nimport {\n omitSpacingProps,\n pickSpacingProps,\n} from '../../../../components/flex/utils'\n\nexport type Props = ComponentProps & ButtonProps & { toStep?: StepIndex }\n\nfunction EditButton(props: Props) {\n const translations = useTranslation().Step\n const { setActiveIndex } = useStep()\n\n const {\n className,\n variant = 'tertiary',\n icon_position = 'left',\n icon,\n toStep,\n children = translations.edit,\n ...rest\n } = props\n\n const handleClick = useCallback(() => {\n if (toStep > -1) {\n setActiveIndex(toStep)\n }\n }, [toStep, setActiveIndex])\n\n return (\n <ButtonRow {...pickSpacingProps(props)}>\n <Hr space={0} />\n <Button\n className={classnames('dnb-forms-edit-button', className)}\n variant={variant}\n icon_position={icon_position}\n icon={edit || icon}\n on_click={handleClick}\n {...omitSpacingProps(rest)}\n >\n {children}\n </Button>\n </ButtonRow>\n )\n}\n\nEditButton._supportsSpacingProps = true\nexport default EditButton\n"],"mappings":";;;;AAAA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAC1C,OAAOC,UAAU,MAAM,YAAY;AAEnC,OAAOC,MAAM,MAAuB,sCAAsC;AAC1E,OAAOC,SAAS,MAAM,sBAAsB;AAE5C,OAAOC,cAAc,MAAM,4BAA4B;AACvD,OAAOC,OAAO,MAAM,kBAAkB;AACtC,SAASC,IAAI,QAAQ,mBAAmB;AACxC,OAAOC,EAAE,MAAM,yBAAyB;AACxC,SACEC,gBAAgB,EAChBC,gBAAgB,QACX,mCAAmC;AAI1C,SAASC,UAAUA,CAACC,KAAY,EAAE;EAChC,MAAMC,YAAY,GAAGR,cAAc,CAAC,CAAC,CAACS,IAAI;EAC1C,MAAM;IAAEC;EAAe,CAAC,GAAGT,OAAO,CAAC,CAAC;EAEpC,MAAM;MACJU,SAAS;MACTC,OAAO,GAAG,UAAU;MACpBC,aAAa,GAAG,MAAM;MACtBC,IAAI;MACJC,MAAM;MACNC,QAAQ,GAAGR,YAAY,CAACN;IAE1B,CAAC,GAAGK,KAAK;IADJU,IAAI,GAAAC,wBAAA,CACLX,KAAK,EAAAY,SAAA;EAET,MAAMC,WAAW,GAAGxB,WAAW,CAAC,MAAM;IACpC,IAAImB,MAAM,GAAG,CAAC,CAAC,EAAE;MACfL,cAAc,CAACK,MAAM,CAAC;IACxB;EACF,CAAC,EAAE,CAACA,MAAM,EAAEL,cAAc,CAAC,CAAC;EAE5B,OACEf,KAAA,CAAA0B,aAAA,CAACtB,SAAS,EAAKM,gBAAgB,CAACE,KAAK,CAAC,EAAAe,GAAA,KAAAA,GAAA,GACpC3B,KAAA,CAAA0B,aAAA,CAAClB,EAAE;IAACoB,KAAK,EAAE;EAAE,CAAE,CAAC,GAChB5B,KAAA,CAAA0B,aAAA,CAACvB,MAAM,EAAA0B,QAAA;IACLb,SAAS,EAAEd,UAAU,CAAC,uBAAuB,EAAEc,SAAS,CAAE;IAC1DC,OAAO,EAAEA,OAAQ;IACjBC,aAAa,EAAEA,aAAc;IAC7BC,IAAI,EAAEZ,IAAI,IAAIY,IAAK;IACnBW,QAAQ,EAAEL;EAAY,GAClBhB,gBAAgB,CAACa,IAAI,CAAC,GAEzBD,QACK,CACC,CAAC;AAEhB;AAEAV,UAAU,CAACoB,qBAAqB,GAAG,IAAI;AACvC,eAAepB,UAAU"}
@@ -15,6 +15,10 @@ export type Props = ComponentProps & FlexContainerProps & {
15
15
  * Will make all the fields inside the step to be required.
16
16
  */
17
17
  required?: boolean;
18
+ /**
19
+ * If set to `false`, the step will not be rendered.
20
+ */
21
+ active?: boolean;
18
22
  /**
19
23
  * If set to `true`, the step will always be rendered.
20
24
  * For internal use only.
@@ -2,7 +2,7 @@
2
2
 
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
- const _excluded = ["className", "title", "index", "required", "prerenderFieldProps", "children"];
5
+ const _excluded = ["className", "title", "index", "active", "required", "prerenderFieldProps", "children"];
6
6
  import React, { useContext, useMemo, useRef } from 'react';
7
7
  import classnames from 'classnames';
8
8
  import WizardContext from '../Context/WizardContext';
@@ -15,6 +15,7 @@ function Step(props) {
15
15
  className,
16
16
  title,
17
17
  index,
18
+ active = true,
18
19
  required,
19
20
  prerenderFieldProps,
20
21
  children
@@ -22,11 +23,13 @@ function Step(props) {
22
23
  restProps = _objectWithoutProperties(props, _excluded);
23
24
  const {
24
25
  activeIndex,
26
+ titlesRef,
25
27
  stepElementRef
26
28
  } = useContext(WizardContext) || {};
27
29
  const ariaLabel = useMemo(() => {
28
- return !prerenderFieldProps && convertJsxToString(title);
29
- }, [prerenderFieldProps, title]);
30
+ var _ref, _titlesRef$current;
31
+ return (_ref = !prerenderFieldProps && (titlesRef === null || titlesRef === void 0 ? void 0 : (_titlesRef$current = titlesRef.current) === null || _titlesRef$current === void 0 ? void 0 : _titlesRef$current[index])) !== null && _ref !== void 0 ? _ref : convertJsxToString(title);
32
+ }, [index, prerenderFieldProps, title, titlesRef]);
30
33
  const currentElementRef = useRef();
31
34
  useLayoutEffect(() => {
32
35
  if (!prerenderFieldProps && typeof stepElementRef !== 'undefined') {
@@ -41,8 +44,8 @@ function Step(props) {
41
44
  if (prerenderFieldProps) {
42
45
  return children;
43
46
  }
44
- if (activeIndex !== index) {
45
- return null;
47
+ if (activeIndex !== index || active === false) {
48
+ return React.createElement(React.Fragment, null);
46
49
  }
47
50
  const fieldProps = typeof required === 'boolean' ? {
48
51
  required
@@ -1 +1 @@
1
- {"version":3,"file":"Step.js","names":["React","useContext","useMemo","useRef","classnames","WizardContext","Flex","convertJsxToString","FieldProps","useLayoutEffect","window","useEffect","Step","props","className","title","index","required","prerenderFieldProps","children","restProps","_objectWithoutProperties","_excluded","activeIndex","stepElementRef","ariaLabel","currentElementRef","current","fieldProps","undefined","createElement","Stack","_extends","element","innerRef","tabIndex","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Step/Step.tsx"],"sourcesContent":["import React, { useContext, useMemo, useRef } from 'react'\nimport classnames from 'classnames'\nimport { ComponentProps } from '../../types'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport WizardContext from '../Context/WizardContext'\nimport Flex from '../../../../components/flex/Flex'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport FieldProps from '../../Form/FieldProps'\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 FlexContainerProps & {\n /**\n * A title that will be displayed in the indicator.\n */\n title?: React.ReactNode\n\n /**\n * To determine if the step should be rendered.\n * Used internally by the WizardContainer.\n */\n index?: number\n\n /**\n * Will make all the fields inside the step to be required.\n */\n required?: boolean\n\n /**\n * If set to `true`, the step will always be rendered.\n * For internal use only.\n */\n prerenderFieldProps?: boolean\n }\n\nfunction Step(props: Props) {\n const {\n className,\n title,\n index,\n required,\n prerenderFieldProps,\n children,\n ...restProps\n } = props\n const { activeIndex, stepElementRef } = useContext(WizardContext) || {}\n\n const ariaLabel = useMemo(() => {\n return !prerenderFieldProps && convertJsxToString(title)\n }, [prerenderFieldProps, title])\n\n const currentElementRef = useRef<HTMLElement>()\n useLayoutEffect(() => {\n if (!prerenderFieldProps && typeof stepElementRef !== 'undefined') {\n if (currentElementRef.current) {\n stepElementRef.current = currentElementRef.current\n }\n return () => {\n stepElementRef.current = null\n }\n }\n }, [prerenderFieldProps, stepElementRef])\n\n if (prerenderFieldProps) {\n return children\n }\n\n if (activeIndex !== index) {\n // Another step is active\n return null\n }\n\n const fieldProps =\n typeof required === 'boolean' ? { required } : undefined\n\n return (\n <Flex.Stack\n className={classnames('dnb-forms-step', className)}\n element=\"section\"\n aria-label={ariaLabel}\n innerRef={currentElementRef}\n tabIndex={-1}\n {...restProps}\n >\n {fieldProps ? (\n <FieldProps {...fieldProps}>{children}</FieldProps>\n ) : (\n children\n )}\n </Flex.Stack>\n )\n}\n\nStep._supportsSpacingProps = true\nexport default Step\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AAC1D,OAAOC,UAAU,MAAM,YAAY;AAGnC,OAAOC,aAAa,MAAM,0BAA0B;AACpD,OAAOC,IAAI,MAAM,kCAAkC;AACnD,SAASC,kBAAkB,QAAQ,qCAAqC;AACxE,OAAOC,UAAU,MAAM,uBAAuB;AAG9C,MAAMC,eAAe,GACnB,OAAOC,MAAM,KAAK,WAAW,GAAGV,KAAK,CAACW,SAAS,GAAGX,KAAK,CAACS,eAAe;AA2BzE,SAASG,IAAIA,CAACC,KAAY,EAAE;EAC1B,MAAM;MACJC,SAAS;MACTC,KAAK;MACLC,KAAK;MACLC,QAAQ;MACRC,mBAAmB;MACnBC;IAEF,CAAC,GAAGN,KAAK;IADJO,SAAS,GAAAC,wBAAA,CACVR,KAAK,EAAAS,SAAA;EACT,MAAM;IAAEC,WAAW;IAAEC;EAAe,CAAC,GAAGvB,UAAU,CAACI,aAAa,CAAC,IAAI,CAAC,CAAC;EAEvE,MAAMoB,SAAS,GAAGvB,OAAO,CAAC,MAAM;IAC9B,OAAO,CAACgB,mBAAmB,IAAIX,kBAAkB,CAACQ,KAAK,CAAC;EAC1D,CAAC,EAAE,CAACG,mBAAmB,EAAEH,KAAK,CAAC,CAAC;EAEhC,MAAMW,iBAAiB,GAAGvB,MAAM,CAAc,CAAC;EAC/CM,eAAe,CAAC,MAAM;IACpB,IAAI,CAACS,mBAAmB,IAAI,OAAOM,cAAc,KAAK,WAAW,EAAE;MACjE,IAAIE,iBAAiB,CAACC,OAAO,EAAE;QAC7BH,cAAc,CAACG,OAAO,GAAGD,iBAAiB,CAACC,OAAO;MACpD;MACA,OAAO,MAAM;QACXH,cAAc,CAACG,OAAO,GAAG,IAAI;MAC/B,CAAC;IACH;EACF,CAAC,EAAE,CAACT,mBAAmB,EAAEM,cAAc,CAAC,CAAC;EAEzC,IAAIN,mBAAmB,EAAE;IACvB,OAAOC,QAAQ;EACjB;EAEA,IAAII,WAAW,KAAKP,KAAK,EAAE;IAEzB,OAAO,IAAI;EACb;EAEA,MAAMY,UAAU,GACd,OAAOX,QAAQ,KAAK,SAAS,GAAG;IAAEA;EAAS,CAAC,GAAGY,SAAS;EAE1D,OACE7B,KAAA,CAAA8B,aAAA,CAACxB,IAAI,CAACyB,KAAK,EAAAC,QAAA;IACTlB,SAAS,EAAEV,UAAU,CAAC,gBAAgB,EAAEU,SAAS,CAAE;IACnDmB,OAAO,EAAC,SAAS;IACjB,cAAYR,SAAU;IACtBS,QAAQ,EAAER,iBAAkB;IAC5BS,QAAQ,EAAE,CAAC;EAAE,GACTf,SAAS,GAEZQ,UAAU,GACT5B,KAAA,CAAA8B,aAAA,CAACtB,UAAU,EAAKoB,UAAU,EAAGT,QAAqB,CAAC,GAEnDA,QAEQ,CAAC;AAEjB;AAEAP,IAAI,CAACwB,qBAAqB,GAAG,IAAI;AACjC,eAAexB,IAAI"}
1
+ {"version":3,"file":"Step.js","names":["React","useContext","useMemo","useRef","classnames","WizardContext","Flex","convertJsxToString","FieldProps","useLayoutEffect","window","useEffect","Step","props","className","title","index","active","required","prerenderFieldProps","children","restProps","_objectWithoutProperties","_excluded","activeIndex","titlesRef","stepElementRef","ariaLabel","_ref","_titlesRef$current","current","currentElementRef","createElement","Fragment","fieldProps","undefined","Stack","_extends","element","innerRef","tabIndex","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Step/Step.tsx"],"sourcesContent":["import React, { useContext, useMemo, useRef } from 'react'\nimport classnames from 'classnames'\nimport { ComponentProps } from '../../types'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport WizardContext from '../Context/WizardContext'\nimport Flex from '../../../../components/flex/Flex'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport FieldProps from '../../Form/FieldProps'\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 FlexContainerProps & {\n /**\n * A title that will be displayed in the indicator.\n */\n title?: React.ReactNode\n\n /**\n * To determine if the step should be rendered.\n * Used internally by the WizardContainer.\n */\n index?: number\n\n /**\n * Will make all the fields inside the step to be required.\n */\n required?: boolean\n\n /**\n * If set to `false`, the step will not be rendered.\n */\n active?: boolean\n\n /**\n * If set to `true`, the step will always be rendered.\n * For internal use only.\n */\n prerenderFieldProps?: boolean\n }\n\nfunction Step(props: Props) {\n const {\n className,\n title,\n index,\n active = true,\n required,\n prerenderFieldProps,\n children,\n ...restProps\n } = props\n const { activeIndex, titlesRef, stepElementRef } =\n useContext(WizardContext) || {}\n\n const ariaLabel = useMemo(() => {\n return (\n (!prerenderFieldProps && titlesRef?.current?.[index]) ??\n convertJsxToString(title)\n )\n }, [index, prerenderFieldProps, title, titlesRef])\n\n const currentElementRef = useRef<HTMLElement>()\n useLayoutEffect(() => {\n if (!prerenderFieldProps && typeof stepElementRef !== 'undefined') {\n if (currentElementRef.current) {\n stepElementRef.current = currentElementRef.current\n }\n return () => {\n stepElementRef.current = null\n }\n }\n }, [prerenderFieldProps, stepElementRef])\n\n if (prerenderFieldProps) {\n return children\n }\n\n if (activeIndex !== index || active === false) {\n // Another step is active\n return <></>\n }\n\n const fieldProps =\n typeof required === 'boolean' ? { required } : undefined\n\n return (\n <Flex.Stack\n className={classnames('dnb-forms-step', className)}\n element=\"section\"\n aria-label={ariaLabel}\n innerRef={currentElementRef}\n tabIndex={-1}\n {...restProps}\n >\n {fieldProps ? (\n <FieldProps {...fieldProps}>{children}</FieldProps>\n ) : (\n children\n )}\n </Flex.Stack>\n )\n}\n\nStep._supportsSpacingProps = true\nexport default Step\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AAC1D,OAAOC,UAAU,MAAM,YAAY;AAGnC,OAAOC,aAAa,MAAM,0BAA0B;AACpD,OAAOC,IAAI,MAAM,kCAAkC;AACnD,SAASC,kBAAkB,QAAQ,qCAAqC;AACxE,OAAOC,UAAU,MAAM,uBAAuB;AAG9C,MAAMC,eAAe,GACnB,OAAOC,MAAM,KAAK,WAAW,GAAGV,KAAK,CAACW,SAAS,GAAGX,KAAK,CAACS,eAAe;AAgCzE,SAASG,IAAIA,CAACC,KAAY,EAAE;EAC1B,MAAM;MACJC,SAAS;MACTC,KAAK;MACLC,KAAK;MACLC,MAAM,GAAG,IAAI;MACbC,QAAQ;MACRC,mBAAmB;MACnBC;IAEF,CAAC,GAAGP,KAAK;IADJQ,SAAS,GAAAC,wBAAA,CACVT,KAAK,EAAAU,SAAA;EACT,MAAM;IAAEC,WAAW;IAAEC,SAAS;IAAEC;EAAe,CAAC,GAC9CzB,UAAU,CAACI,aAAa,CAAC,IAAI,CAAC,CAAC;EAEjC,MAAMsB,SAAS,GAAGzB,OAAO,CAAC,MAAM;IAAA,IAAA0B,IAAA,EAAAC,kBAAA;IAC9B,QAAAD,IAAA,GACG,CAACT,mBAAmB,KAAIM,SAAS,aAATA,SAAS,wBAAAI,kBAAA,GAATJ,SAAS,CAAEK,OAAO,cAAAD,kBAAA,uBAAlBA,kBAAA,CAAqBb,KAAK,CAAC,eAAAY,IAAA,cAAAA,IAAA,GACpDrB,kBAAkB,CAACQ,KAAK,CAAC;EAE7B,CAAC,EAAE,CAACC,KAAK,EAAEG,mBAAmB,EAAEJ,KAAK,EAAEU,SAAS,CAAC,CAAC;EAElD,MAAMM,iBAAiB,GAAG5B,MAAM,CAAc,CAAC;EAC/CM,eAAe,CAAC,MAAM;IACpB,IAAI,CAACU,mBAAmB,IAAI,OAAOO,cAAc,KAAK,WAAW,EAAE;MACjE,IAAIK,iBAAiB,CAACD,OAAO,EAAE;QAC7BJ,cAAc,CAACI,OAAO,GAAGC,iBAAiB,CAACD,OAAO;MACpD;MACA,OAAO,MAAM;QACXJ,cAAc,CAACI,OAAO,GAAG,IAAI;MAC/B,CAAC;IACH;EACF,CAAC,EAAE,CAACX,mBAAmB,EAAEO,cAAc,CAAC,CAAC;EAEzC,IAAIP,mBAAmB,EAAE;IACvB,OAAOC,QAAQ;EACjB;EAEA,IAAII,WAAW,KAAKR,KAAK,IAAIC,MAAM,KAAK,KAAK,EAAE;IAE7C,OAAOjB,KAAA,CAAAgC,aAAA,CAAAhC,KAAA,CAAAiC,QAAA,MAAI,CAAC;EACd;EAEA,MAAMC,UAAU,GACd,OAAOhB,QAAQ,KAAK,SAAS,GAAG;IAAEA;EAAS,CAAC,GAAGiB,SAAS;EAE1D,OACEnC,KAAA,CAAAgC,aAAA,CAAC1B,IAAI,CAAC8B,KAAK,EAAAC,QAAA;IACTvB,SAAS,EAAEV,UAAU,CAAC,gBAAgB,EAAEU,SAAS,CAAE;IACnDwB,OAAO,EAAC,SAAS;IACjB,cAAYX,SAAU;IACtBY,QAAQ,EAAER,iBAAkB;IAC5BS,QAAQ,EAAE,CAAC;EAAE,GACTnB,SAAS,GAEZa,UAAU,GACTlC,KAAA,CAAAgC,aAAA,CAACxB,UAAU,EAAK0B,UAAU,EAAGd,QAAqB,CAAC,GAEnDA,QAEQ,CAAC;AAEjB;AAEAR,IAAI,CAAC6B,qBAAqB,GAAG,IAAI;AACjC,eAAe7B,IAAI"}
@@ -9,6 +9,11 @@ export const StepProperties = {
9
9
  type: 'boolean',
10
10
  status: 'optional'
11
11
  },
12
+ active: {
13
+ doc: 'If set to `false`, the step will not be rendered.',
14
+ type: 'boolean',
15
+ status: 'optional'
16
+ },
12
17
  children: {
13
18
  doc: 'Contents.',
14
19
  type: 'React.Node',
@@ -1 +1 @@
1
- {"version":3,"file":"StepDocs.js","names":["StepProperties","title","doc","type","status","required","children","StepEvents"],"sources":["../../../../../../src/extensions/forms/Wizard/Step/StepDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const StepProperties: PropertiesTableProps = {\n title: {\n doc: 'Title of the step.',\n type: 'React.Node',\n status: 'optional',\n },\n required: {\n doc: 'Will make all nested form fields required.',\n type: 'boolean',\n status: 'optional',\n },\n children: {\n doc: 'Contents.',\n type: 'React.Node',\n status: 'required',\n },\n '[Flex.Container](/uilib/layout/flex/container)': {\n doc: 'Flex.Container properties.',\n type: 'Various',\n status: 'optional',\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 StepEvents: PropertiesTableProps = {}\n"],"mappings":"AAEA,OAAO,MAAMA,cAAoC,GAAG;EAClDC,KAAK,EAAE;IACLC,GAAG,EAAE,oBAAoB;IACzBC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDC,QAAQ,EAAE;IACRH,GAAG,EAAE,4CAA4C;IACjDC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDE,QAAQ,EAAE;IACRJ,GAAG,EAAE,WAAW;IAChBC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACD,gDAAgD,EAAE;IAChDF,GAAG,EAAE,4BAA4B;IACjCC,IAAI,EAAE,SAAS;IACfC,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,MAAMG,UAAgC,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"StepDocs.js","names":["StepProperties","title","doc","type","status","required","active","children","StepEvents"],"sources":["../../../../../../src/extensions/forms/Wizard/Step/StepDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const StepProperties: PropertiesTableProps = {\n title: {\n doc: 'Title of the step.',\n type: 'React.Node',\n status: 'optional',\n },\n required: {\n doc: 'Will make all nested form fields required.',\n type: 'boolean',\n status: 'optional',\n },\n active: {\n doc: 'If set to `false`, the step will not be rendered.',\n type: 'boolean',\n status: 'optional',\n },\n children: {\n doc: 'Contents.',\n type: 'React.Node',\n status: 'required',\n },\n '[Flex.Container](/uilib/layout/flex/container)': {\n doc: 'Flex.Container properties.',\n type: 'Various',\n status: 'optional',\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 StepEvents: PropertiesTableProps = {}\n"],"mappings":"AAEA,OAAO,MAAMA,cAAoC,GAAG;EAClDC,KAAK,EAAE;IACLC,GAAG,EAAE,oBAAoB;IACzBC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDC,QAAQ,EAAE;IACRH,GAAG,EAAE,4CAA4C;IACjDC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDE,MAAM,EAAE;IACNJ,GAAG,EAAE,mDAAmD;IACxDC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDG,QAAQ,EAAE;IACRL,GAAG,EAAE,WAAW;IAChBC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACD,gDAAgD,EAAE;IAChDF,GAAG,EAAE,4BAA4B;IACjCC,IAAI,EAAE,SAAS;IACfC,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,MAAMI,UAAgC,GAAG,CAAC,CAAC"}
@@ -25,6 +25,22 @@ export default function useStep(id = null, {
25
25
  if (data && !data.setFormError) {
26
26
  data.setFormError = setFormError;
27
27
  }
28
- return data || context;
28
+ const value = data || context;
29
+ const {
30
+ titlesRef
31
+ } = value || {};
32
+ const setTotalSteps = useCallback(() => {
33
+ const totalSteps = Object.keys((titlesRef === null || titlesRef === void 0 ? void 0 : titlesRef.current) || {}).length || 0;
34
+ if (value.totalSteps !== totalSteps) {
35
+ value.totalSteps = totalSteps;
36
+ }
37
+ }, [titlesRef, value]);
38
+ if (data) {
39
+ setTotalSteps();
40
+ }
41
+ useLayoutEffect(() => {
42
+ setTotalSteps();
43
+ }, [setTotalSteps, titlesRef, value]);
44
+ return value;
29
45
  }
30
46
  //# sourceMappingURL=useStep.js.map