@dnb/eufemia 10.28.0 → 10.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (651) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/cjs/components/aria-live/useAriaLive.d.ts +1 -1
  3. package/cjs/components/autocomplete/Autocomplete.d.ts +19 -5
  4. package/cjs/components/dropdown/Dropdown.d.ts +22 -5
  5. package/cjs/components/height-animation/HeightAnimationInstance.js +5 -0
  6. package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
  7. package/cjs/components/icon/style/dnb-icon.css +1 -0
  8. package/cjs/components/icon/style/dnb-icon.min.css +1 -1
  9. package/cjs/components/icon/style/dnb-icon.scss +1 -0
  10. package/cjs/components/progress-indicator/ProgressIndicator.d.ts +2 -52
  11. package/cjs/components/progress-indicator/ProgressIndicator.js +27 -14
  12. package/cjs/components/progress-indicator/ProgressIndicator.js.map +1 -1
  13. package/cjs/components/progress-indicator/ProgressIndicatorCircular.d.ts +2 -23
  14. package/cjs/components/progress-indicator/ProgressIndicatorCircular.js +63 -27
  15. package/cjs/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
  16. package/cjs/components/progress-indicator/ProgressIndicatorDocs.d.ts +1 -0
  17. package/cjs/components/progress-indicator/ProgressIndicatorDocs.js +45 -11
  18. package/cjs/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
  19. package/cjs/components/progress-indicator/ProgressIndicatorLinear.d.ts +2 -22
  20. package/cjs/components/progress-indicator/ProgressIndicatorLinear.js +18 -10
  21. package/cjs/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
  22. package/cjs/components/progress-indicator/style/dnb-progress-indicator.css +52 -55
  23. package/cjs/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  24. package/cjs/components/progress-indicator/style/dnb-progress-indicator.scss +65 -69
  25. package/cjs/components/progress-indicator/types.d.ts +95 -0
  26. package/cjs/components/progress-indicator/types.js +11 -0
  27. package/cjs/components/progress-indicator/types.js.map +1 -0
  28. package/cjs/extensions/forms/DataContext/Context.d.ts +5 -1
  29. package/cjs/extensions/forms/DataContext/Context.js +0 -1
  30. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  31. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +17 -5
  32. package/cjs/extensions/forms/DataContext/Provider/Provider.js +60 -30
  33. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  34. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +12 -2
  35. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  36. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +1 -1
  37. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  38. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +5 -2
  39. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  40. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +5 -2
  41. package/cjs/extensions/forms/Field/Name/Name.d.ts +10 -0
  42. package/cjs/extensions/forms/Field/Name/Name.js +73 -0
  43. package/cjs/extensions/forms/Field/Name/Name.js.map +1 -0
  44. package/cjs/extensions/forms/Field/Name/NameDocs.d.ts +2 -0
  45. package/cjs/extensions/forms/Field/Name/NameDocs.js +15 -0
  46. package/cjs/extensions/forms/Field/Name/NameDocs.js.map +1 -0
  47. package/cjs/extensions/forms/Field/Name/index.d.ts +2 -0
  48. package/cjs/extensions/forms/Field/Name/index.js +27 -0
  49. package/cjs/extensions/forms/Field/Name/index.js.map +1 -0
  50. package/cjs/extensions/forms/Field/Number/Number.d.ts +2 -2
  51. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  52. package/cjs/extensions/forms/Field/Option/Option.d.ts +2 -0
  53. package/cjs/extensions/forms/Field/Option/Option.js +21 -0
  54. package/cjs/extensions/forms/Field/Option/Option.js.map +1 -1
  55. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
  56. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +25 -0
  57. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
  58. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  59. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  60. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +11 -4
  61. package/cjs/extensions/forms/Field/Selection/Selection.js +20 -32
  62. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  63. package/cjs/extensions/forms/Field/Selection/SelectionDocs.d.ts +2 -0
  64. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js +45 -0
  65. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -0
  66. package/cjs/extensions/forms/Field/String/String.d.ts +2 -2
  67. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  68. package/cjs/extensions/forms/Field/index.d.ts +1 -0
  69. package/cjs/extensions/forms/Field/index.js +7 -0
  70. package/cjs/extensions/forms/Field/index.js.map +1 -1
  71. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -3
  72. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  73. package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  74. package/cjs/extensions/forms/Form/Handler/Handler.js +8 -2
  75. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  76. package/cjs/extensions/forms/Form/MainHeading/MainHeading.js +1 -1
  77. package/cjs/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
  78. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -3
  79. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  80. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +1 -1
  81. package/cjs/extensions/forms/Form/SubHeading/SubHeading.js +1 -1
  82. package/cjs/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
  83. package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +2 -2
  84. package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
  85. package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +1 -1
  86. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +2 -2
  87. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  88. package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.css +13 -13
  89. package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.min.css +1 -1
  90. package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +1 -1
  91. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -4
  92. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  93. package/cjs/extensions/forms/Iterate/Array/Array.js +2 -2
  94. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  95. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
  96. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  97. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js +1 -1
  98. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  99. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  100. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  101. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
  102. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  103. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
  104. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  105. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.css +14 -14
  106. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  107. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.scss +1 -1
  108. package/cjs/extensions/forms/Value/Boolean/Boolean.js +8 -3
  109. package/cjs/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  110. package/cjs/extensions/forms/Value/Name/Name.d.ts +10 -0
  111. package/cjs/extensions/forms/Value/Name/Name.js +50 -0
  112. package/cjs/extensions/forms/Value/Name/Name.js.map +1 -0
  113. package/cjs/extensions/forms/Value/Name/index.d.ts +2 -0
  114. package/cjs/extensions/forms/Value/Name/index.js +27 -0
  115. package/cjs/extensions/forms/Value/Name/index.js.map +1 -0
  116. package/cjs/extensions/forms/Value/OrganizationNumber/OrganizationNumber.d.ts +7 -0
  117. package/cjs/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js +36 -0
  118. package/cjs/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js.map +1 -0
  119. package/cjs/extensions/forms/Value/OrganizationNumber/index.d.ts +2 -0
  120. package/cjs/extensions/forms/Value/OrganizationNumber/index.js +27 -0
  121. package/cjs/extensions/forms/Value/OrganizationNumber/index.js.map +1 -0
  122. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.d.ts +7 -0
  123. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +41 -0
  124. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -0
  125. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
  126. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js +20 -0
  127. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
  128. package/cjs/extensions/forms/Value/PostalCodeAndCity/index.d.ts +2 -0
  129. package/cjs/extensions/forms/Value/PostalCodeAndCity/index.js +27 -0
  130. package/cjs/extensions/forms/Value/PostalCodeAndCity/index.js.map +1 -0
  131. package/cjs/extensions/forms/Value/String/String.js +8 -3
  132. package/cjs/extensions/forms/Value/String/String.js.map +1 -1
  133. package/cjs/extensions/forms/Value/SummaryList/SummaryList.js +1 -1
  134. package/cjs/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  135. package/cjs/extensions/forms/Value/ValueDocs.js +6 -1
  136. package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -1
  137. package/cjs/extensions/forms/Value/index.d.ts +3 -0
  138. package/cjs/extensions/forms/Value/index.js +21 -0
  139. package/cjs/extensions/forms/Value/index.js.map +1 -1
  140. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +2 -1
  141. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  142. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +11 -6
  143. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  144. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.scss +11 -3
  145. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +17 -52
  146. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  147. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +9 -0
  148. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +53 -0
  149. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -0
  150. package/cjs/extensions/forms/Wizard/Container/useStepAnimation.d.ts +4 -0
  151. package/cjs/extensions/forms/Wizard/Container/useStepAnimation.js +37 -0
  152. package/cjs/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -0
  153. package/cjs/extensions/forms/Wizard/Step/Step.js +13 -1
  154. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  155. package/cjs/extensions/forms/Wizard/hooks/useStep.js +5 -2
  156. package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  157. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +29 -2
  158. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  159. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss +35 -2
  160. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +9 -0
  161. package/cjs/extensions/forms/constants/locales/en-GB.js +12 -3
  162. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  163. package/cjs/extensions/forms/constants/locales/en-US.d.ts +9 -0
  164. package/cjs/extensions/forms/constants/locales/index.d.ts +18 -0
  165. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +9 -0
  166. package/cjs/extensions/forms/constants/locales/nb-NO.js +11 -2
  167. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  168. package/cjs/extensions/forms/style/dnb-forms.css +77 -43
  169. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  170. package/cjs/extensions/forms/types.d.ts +3 -2
  171. package/cjs/extensions/forms/types.js.map +1 -1
  172. package/cjs/fragments/drawer-list/DrawerList.d.ts +8 -4
  173. package/cjs/shared/Context.d.ts +2 -4
  174. package/cjs/shared/Context.js.map +1 -1
  175. package/cjs/shared/Eufemia.d.ts +1 -1
  176. package/cjs/shared/Eufemia.js +2 -2
  177. package/cjs/shared/Eufemia.js.map +1 -1
  178. package/cjs/shared/component-helper.js +1 -1
  179. package/cjs/shared/component-helper.js.map +1 -1
  180. package/cjs/style/core/scopes.scss +1 -1
  181. package/cjs/style/dnb-ui-basis.css +1 -1
  182. package/cjs/style/dnb-ui-basis.min.css +1 -1
  183. package/cjs/style/dnb-ui-body.css +1 -1
  184. package/cjs/style/dnb-ui-body.min.css +1 -1
  185. package/cjs/style/dnb-ui-components.css +129 -98
  186. package/cjs/style/dnb-ui-components.min.css +2 -2
  187. package/cjs/style/dnb-ui-core.css +1 -1
  188. package/cjs/style/dnb-ui-core.min.css +1 -1
  189. package/cjs/style/dnb-ui-extensions.css +77 -43
  190. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  191. package/cjs/style/dnb-ui-forms.css +77 -43
  192. package/cjs/style/dnb-ui-forms.min.css +1 -1
  193. package/cjs/style/dnb-ui-forms.scss +1 -1
  194. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +205 -141
  195. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  196. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +77 -43
  197. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  198. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +77 -43
  199. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  200. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +205 -141
  201. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  202. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +77 -43
  203. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  204. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +77 -43
  205. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  206. package/cjs/style/themes/theme-ui/ui-theme-components.css +205 -141
  207. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  208. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +77 -43
  209. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  210. package/cjs/style/themes/theme-ui/ui-theme-forms.css +77 -43
  211. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  212. package/components/aria-live/useAriaLive.d.ts +1 -1
  213. package/components/autocomplete/Autocomplete.d.ts +19 -5
  214. package/components/dropdown/Dropdown.d.ts +22 -5
  215. package/components/height-animation/HeightAnimationInstance.js +5 -0
  216. package/components/height-animation/HeightAnimationInstance.js.map +1 -1
  217. package/components/icon/style/dnb-icon.css +1 -0
  218. package/components/icon/style/dnb-icon.min.css +1 -1
  219. package/components/icon/style/dnb-icon.scss +1 -0
  220. package/components/progress-indicator/ProgressIndicator.d.ts +2 -52
  221. package/components/progress-indicator/ProgressIndicator.js +27 -14
  222. package/components/progress-indicator/ProgressIndicator.js.map +1 -1
  223. package/components/progress-indicator/ProgressIndicatorCircular.d.ts +2 -23
  224. package/components/progress-indicator/ProgressIndicatorCircular.js +63 -27
  225. package/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
  226. package/components/progress-indicator/ProgressIndicatorDocs.d.ts +1 -0
  227. package/components/progress-indicator/ProgressIndicatorDocs.js +43 -10
  228. package/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
  229. package/components/progress-indicator/ProgressIndicatorLinear.d.ts +2 -22
  230. package/components/progress-indicator/ProgressIndicatorLinear.js +18 -10
  231. package/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
  232. package/components/progress-indicator/style/dnb-progress-indicator.css +52 -55
  233. package/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  234. package/components/progress-indicator/style/dnb-progress-indicator.scss +65 -69
  235. package/components/progress-indicator/types.d.ts +95 -0
  236. package/components/progress-indicator/types.js +5 -0
  237. package/components/progress-indicator/types.js.map +1 -0
  238. package/es/components/aria-live/useAriaLive.d.ts +1 -1
  239. package/es/components/autocomplete/Autocomplete.d.ts +19 -5
  240. package/es/components/dropdown/Dropdown.d.ts +22 -5
  241. package/es/components/height-animation/HeightAnimationInstance.js +5 -0
  242. package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
  243. package/es/components/icon/style/dnb-icon.css +1 -0
  244. package/es/components/icon/style/dnb-icon.min.css +1 -1
  245. package/es/components/icon/style/dnb-icon.scss +1 -0
  246. package/es/components/progress-indicator/ProgressIndicator.d.ts +2 -52
  247. package/es/components/progress-indicator/ProgressIndicator.js +27 -14
  248. package/es/components/progress-indicator/ProgressIndicator.js.map +1 -1
  249. package/es/components/progress-indicator/ProgressIndicatorCircular.d.ts +2 -23
  250. package/es/components/progress-indicator/ProgressIndicatorCircular.js +62 -27
  251. package/es/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
  252. package/es/components/progress-indicator/ProgressIndicatorDocs.d.ts +1 -0
  253. package/es/components/progress-indicator/ProgressIndicatorDocs.js +43 -10
  254. package/es/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
  255. package/es/components/progress-indicator/ProgressIndicatorLinear.d.ts +2 -22
  256. package/es/components/progress-indicator/ProgressIndicatorLinear.js +18 -10
  257. package/es/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
  258. package/es/components/progress-indicator/style/dnb-progress-indicator.css +52 -55
  259. package/es/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  260. package/es/components/progress-indicator/style/dnb-progress-indicator.scss +65 -69
  261. package/es/components/progress-indicator/types.d.ts +95 -0
  262. package/es/components/progress-indicator/types.js +5 -0
  263. package/es/components/progress-indicator/types.js.map +1 -0
  264. package/es/extensions/forms/DataContext/Context.d.ts +5 -1
  265. package/es/extensions/forms/DataContext/Context.js +0 -1
  266. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  267. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +17 -5
  268. package/es/extensions/forms/DataContext/Provider/Provider.js +58 -29
  269. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  270. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +12 -2
  271. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  272. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +1 -1
  273. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  274. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +5 -2
  275. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  276. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +5 -2
  277. package/es/extensions/forms/Field/Name/Name.d.ts +10 -0
  278. package/es/extensions/forms/Field/Name/Name.js +63 -0
  279. package/es/extensions/forms/Field/Name/Name.js.map +1 -0
  280. package/es/extensions/forms/Field/Name/NameDocs.d.ts +2 -0
  281. package/es/extensions/forms/Field/Name/NameDocs.js +8 -0
  282. package/es/extensions/forms/Field/Name/NameDocs.js.map +1 -0
  283. package/es/extensions/forms/Field/Name/index.d.ts +2 -0
  284. package/es/extensions/forms/Field/Name/index.js +3 -0
  285. package/es/extensions/forms/Field/Name/index.js.map +1 -0
  286. package/es/extensions/forms/Field/Number/Number.d.ts +2 -2
  287. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  288. package/es/extensions/forms/Field/Option/Option.d.ts +2 -0
  289. package/es/extensions/forms/Field/Option/Option.js +20 -0
  290. package/es/extensions/forms/Field/Option/Option.js.map +1 -1
  291. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
  292. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +18 -0
  293. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
  294. package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  295. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  296. package/es/extensions/forms/Field/Selection/Selection.d.ts +11 -4
  297. package/es/extensions/forms/Field/Selection/Selection.js +20 -32
  298. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  299. package/es/extensions/forms/Field/Selection/SelectionDocs.d.ts +2 -0
  300. package/es/extensions/forms/Field/Selection/SelectionDocs.js +38 -0
  301. package/es/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -0
  302. package/es/extensions/forms/Field/String/String.d.ts +2 -2
  303. package/es/extensions/forms/Field/String/String.js.map +1 -1
  304. package/es/extensions/forms/Field/index.d.ts +1 -0
  305. package/es/extensions/forms/Field/index.js +1 -0
  306. package/es/extensions/forms/Field/index.js.map +1 -1
  307. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -3
  308. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  309. package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  310. package/es/extensions/forms/Form/Handler/Handler.js +8 -2
  311. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  312. package/es/extensions/forms/Form/MainHeading/MainHeading.js +1 -1
  313. package/es/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
  314. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -3
  315. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  316. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +1 -1
  317. package/es/extensions/forms/Form/SubHeading/SubHeading.js +1 -1
  318. package/es/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
  319. package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +2 -2
  320. package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
  321. package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +1 -1
  322. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +2 -2
  323. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  324. package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.css +13 -13
  325. package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.min.css +1 -1
  326. package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +1 -1
  327. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -4
  328. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  329. package/es/extensions/forms/Iterate/Array/Array.js +2 -2
  330. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  331. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
  332. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  333. package/es/extensions/forms/Iterate/PushButton/PushButton.js +1 -1
  334. package/es/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  335. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  336. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  337. package/es/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
  338. package/es/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  339. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
  340. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  341. package/es/extensions/forms/Iterate/style/dnb-form-iterate.css +14 -14
  342. package/es/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  343. package/es/extensions/forms/Iterate/style/dnb-form-iterate.scss +1 -1
  344. package/es/extensions/forms/Value/Boolean/Boolean.js +8 -3
  345. package/es/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  346. package/es/extensions/forms/Value/Name/Name.d.ts +10 -0
  347. package/es/extensions/forms/Value/Name/Name.js +40 -0
  348. package/es/extensions/forms/Value/Name/Name.js.map +1 -0
  349. package/es/extensions/forms/Value/Name/index.d.ts +2 -0
  350. package/es/extensions/forms/Value/Name/index.js +3 -0
  351. package/es/extensions/forms/Value/Name/index.js.map +1 -0
  352. package/es/extensions/forms/Value/OrganizationNumber/OrganizationNumber.d.ts +7 -0
  353. package/es/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js +24 -0
  354. package/es/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js.map +1 -0
  355. package/es/extensions/forms/Value/OrganizationNumber/index.d.ts +2 -0
  356. package/es/extensions/forms/Value/OrganizationNumber/index.js +3 -0
  357. package/es/extensions/forms/Value/OrganizationNumber/index.js.map +1 -0
  358. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.d.ts +7 -0
  359. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +31 -0
  360. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -0
  361. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
  362. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js +13 -0
  363. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
  364. package/es/extensions/forms/Value/PostalCodeAndCity/index.d.ts +2 -0
  365. package/es/extensions/forms/Value/PostalCodeAndCity/index.js +3 -0
  366. package/es/extensions/forms/Value/PostalCodeAndCity/index.js.map +1 -0
  367. package/es/extensions/forms/Value/String/String.js +8 -3
  368. package/es/extensions/forms/Value/String/String.js.map +1 -1
  369. package/es/extensions/forms/Value/SummaryList/SummaryList.js +1 -1
  370. package/es/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  371. package/es/extensions/forms/Value/ValueDocs.js +6 -1
  372. package/es/extensions/forms/Value/ValueDocs.js.map +1 -1
  373. package/es/extensions/forms/Value/index.d.ts +3 -0
  374. package/es/extensions/forms/Value/index.js +3 -0
  375. package/es/extensions/forms/Value/index.js.map +1 -1
  376. package/es/extensions/forms/ValueBlock/ValueBlock.js +2 -1
  377. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  378. package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +11 -6
  379. package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  380. package/es/extensions/forms/ValueBlock/style/dnb-value-block.scss +11 -3
  381. package/es/extensions/forms/Wizard/Container/WizardContainer.js +17 -51
  382. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  383. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +9 -0
  384. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +46 -0
  385. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -0
  386. package/es/extensions/forms/Wizard/Container/useStepAnimation.d.ts +4 -0
  387. package/es/extensions/forms/Wizard/Container/useStepAnimation.js +29 -0
  388. package/es/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -0
  389. package/es/extensions/forms/Wizard/Step/Step.js +14 -2
  390. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  391. package/es/extensions/forms/Wizard/hooks/useStep.js +3 -2
  392. package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  393. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +29 -2
  394. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  395. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.scss +35 -2
  396. package/es/extensions/forms/constants/locales/en-GB.d.ts +9 -0
  397. package/es/extensions/forms/constants/locales/en-GB.js +12 -3
  398. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  399. package/es/extensions/forms/constants/locales/en-US.d.ts +9 -0
  400. package/es/extensions/forms/constants/locales/index.d.ts +18 -0
  401. package/es/extensions/forms/constants/locales/nb-NO.d.ts +9 -0
  402. package/es/extensions/forms/constants/locales/nb-NO.js +11 -2
  403. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  404. package/es/extensions/forms/style/dnb-forms.css +77 -43
  405. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  406. package/es/extensions/forms/types.d.ts +3 -2
  407. package/es/extensions/forms/types.js.map +1 -1
  408. package/es/fragments/drawer-list/DrawerList.d.ts +8 -4
  409. package/es/shared/Context.d.ts +2 -4
  410. package/es/shared/Context.js.map +1 -1
  411. package/es/shared/Eufemia.d.ts +1 -1
  412. package/es/shared/Eufemia.js +2 -2
  413. package/es/shared/Eufemia.js.map +1 -1
  414. package/es/shared/component-helper.js +1 -1
  415. package/es/shared/component-helper.js.map +1 -1
  416. package/es/style/core/scopes.scss +1 -1
  417. package/es/style/dnb-ui-basis.css +1 -1
  418. package/es/style/dnb-ui-basis.min.css +1 -1
  419. package/es/style/dnb-ui-body.css +1 -1
  420. package/es/style/dnb-ui-body.min.css +1 -1
  421. package/es/style/dnb-ui-components.css +129 -98
  422. package/es/style/dnb-ui-components.min.css +2 -2
  423. package/es/style/dnb-ui-core.css +1 -1
  424. package/es/style/dnb-ui-core.min.css +1 -1
  425. package/es/style/dnb-ui-extensions.css +77 -43
  426. package/es/style/dnb-ui-extensions.min.css +1 -1
  427. package/es/style/dnb-ui-forms.css +77 -43
  428. package/es/style/dnb-ui-forms.min.css +1 -1
  429. package/es/style/dnb-ui-forms.scss +1 -1
  430. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +205 -141
  431. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  432. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +77 -43
  433. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  434. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +77 -43
  435. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  436. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +205 -141
  437. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  438. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +77 -43
  439. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  440. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +77 -43
  441. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  442. package/es/style/themes/theme-ui/ui-theme-components.css +205 -141
  443. package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  444. package/es/style/themes/theme-ui/ui-theme-extensions.css +77 -43
  445. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  446. package/es/style/themes/theme-ui/ui-theme-forms.css +77 -43
  447. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  448. package/esm/dnb-ui-basis.min.mjs +1 -1
  449. package/esm/dnb-ui-components.min.mjs +1 -1
  450. package/esm/dnb-ui-elements.min.mjs +1 -1
  451. package/esm/dnb-ui-extensions.min.mjs +3 -3
  452. package/esm/dnb-ui-lib.min.mjs +1 -1
  453. package/extensions/forms/DataContext/Context.d.ts +5 -1
  454. package/extensions/forms/DataContext/Context.js +0 -1
  455. package/extensions/forms/DataContext/Context.js.map +1 -1
  456. package/extensions/forms/DataContext/Provider/Provider.d.ts +17 -5
  457. package/extensions/forms/DataContext/Provider/Provider.js +60 -30
  458. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  459. package/extensions/forms/DataContext/Provider/ProviderDocs.js +12 -2
  460. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  461. package/extensions/forms/Field/ArraySelection/ArraySelection.js +1 -1
  462. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  463. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +5 -2
  464. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  465. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +5 -2
  466. package/extensions/forms/Field/Name/Name.d.ts +10 -0
  467. package/extensions/forms/Field/Name/Name.js +63 -0
  468. package/extensions/forms/Field/Name/Name.js.map +1 -0
  469. package/extensions/forms/Field/Name/NameDocs.d.ts +2 -0
  470. package/extensions/forms/Field/Name/NameDocs.js +8 -0
  471. package/extensions/forms/Field/Name/NameDocs.js.map +1 -0
  472. package/extensions/forms/Field/Name/index.d.ts +2 -0
  473. package/extensions/forms/Field/Name/index.js +3 -0
  474. package/extensions/forms/Field/Name/index.js.map +1 -0
  475. package/extensions/forms/Field/Number/Number.d.ts +2 -2
  476. package/extensions/forms/Field/Number/Number.js.map +1 -1
  477. package/extensions/forms/Field/Option/Option.d.ts +2 -0
  478. package/extensions/forms/Field/Option/Option.js +20 -0
  479. package/extensions/forms/Field/Option/Option.js.map +1 -1
  480. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
  481. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +18 -0
  482. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
  483. package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  484. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  485. package/extensions/forms/Field/Selection/Selection.d.ts +11 -4
  486. package/extensions/forms/Field/Selection/Selection.js +20 -32
  487. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  488. package/extensions/forms/Field/Selection/SelectionDocs.d.ts +2 -0
  489. package/extensions/forms/Field/Selection/SelectionDocs.js +38 -0
  490. package/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -0
  491. package/extensions/forms/Field/String/String.d.ts +2 -2
  492. package/extensions/forms/Field/String/String.js.map +1 -1
  493. package/extensions/forms/Field/index.d.ts +1 -0
  494. package/extensions/forms/Field/index.js +1 -0
  495. package/extensions/forms/Field/index.js.map +1 -1
  496. package/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -3
  497. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  498. package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  499. package/extensions/forms/Form/Handler/Handler.js +8 -2
  500. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  501. package/extensions/forms/Form/MainHeading/MainHeading.js +1 -1
  502. package/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
  503. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -3
  504. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  505. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +1 -1
  506. package/extensions/forms/Form/SubHeading/SubHeading.js +1 -1
  507. package/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
  508. package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +2 -2
  509. package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
  510. package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +1 -1
  511. package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +2 -2
  512. package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  513. package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.css +13 -13
  514. package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.min.css +1 -1
  515. package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +1 -1
  516. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -4
  517. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  518. package/extensions/forms/Iterate/Array/Array.js +2 -2
  519. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  520. package/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
  521. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  522. package/extensions/forms/Iterate/PushButton/PushButton.js +1 -1
  523. package/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  524. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  525. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  526. package/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
  527. package/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  528. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
  529. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  530. package/extensions/forms/Iterate/style/dnb-form-iterate.css +14 -14
  531. package/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  532. package/extensions/forms/Iterate/style/dnb-form-iterate.scss +1 -1
  533. package/extensions/forms/Value/Boolean/Boolean.js +8 -3
  534. package/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  535. package/extensions/forms/Value/Name/Name.d.ts +10 -0
  536. package/extensions/forms/Value/Name/Name.js +40 -0
  537. package/extensions/forms/Value/Name/Name.js.map +1 -0
  538. package/extensions/forms/Value/Name/index.d.ts +2 -0
  539. package/extensions/forms/Value/Name/index.js +3 -0
  540. package/extensions/forms/Value/Name/index.js.map +1 -0
  541. package/extensions/forms/Value/OrganizationNumber/OrganizationNumber.d.ts +7 -0
  542. package/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js +24 -0
  543. package/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js.map +1 -0
  544. package/extensions/forms/Value/OrganizationNumber/index.d.ts +2 -0
  545. package/extensions/forms/Value/OrganizationNumber/index.js +3 -0
  546. package/extensions/forms/Value/OrganizationNumber/index.js.map +1 -0
  547. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.d.ts +7 -0
  548. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +31 -0
  549. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -0
  550. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
  551. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js +13 -0
  552. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
  553. package/extensions/forms/Value/PostalCodeAndCity/index.d.ts +2 -0
  554. package/extensions/forms/Value/PostalCodeAndCity/index.js +3 -0
  555. package/extensions/forms/Value/PostalCodeAndCity/index.js.map +1 -0
  556. package/extensions/forms/Value/String/String.js +8 -3
  557. package/extensions/forms/Value/String/String.js.map +1 -1
  558. package/extensions/forms/Value/SummaryList/SummaryList.js +1 -1
  559. package/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  560. package/extensions/forms/Value/ValueDocs.js +6 -1
  561. package/extensions/forms/Value/ValueDocs.js.map +1 -1
  562. package/extensions/forms/Value/index.d.ts +3 -0
  563. package/extensions/forms/Value/index.js +3 -0
  564. package/extensions/forms/Value/index.js.map +1 -1
  565. package/extensions/forms/ValueBlock/ValueBlock.js +2 -1
  566. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  567. package/extensions/forms/ValueBlock/style/dnb-value-block.css +11 -6
  568. package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  569. package/extensions/forms/ValueBlock/style/dnb-value-block.scss +11 -3
  570. package/extensions/forms/Wizard/Container/WizardContainer.js +17 -52
  571. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  572. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +9 -0
  573. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +47 -0
  574. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -0
  575. package/extensions/forms/Wizard/Container/useStepAnimation.d.ts +4 -0
  576. package/extensions/forms/Wizard/Container/useStepAnimation.js +30 -0
  577. package/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -0
  578. package/extensions/forms/Wizard/Step/Step.js +14 -2
  579. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  580. package/extensions/forms/Wizard/hooks/useStep.js +3 -2
  581. package/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  582. package/extensions/forms/Wizard/style/dnb-wizard-layout.css +29 -2
  583. package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  584. package/extensions/forms/Wizard/style/dnb-wizard-layout.scss +35 -2
  585. package/extensions/forms/constants/locales/en-GB.d.ts +9 -0
  586. package/extensions/forms/constants/locales/en-GB.js +12 -3
  587. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  588. package/extensions/forms/constants/locales/en-US.d.ts +9 -0
  589. package/extensions/forms/constants/locales/index.d.ts +18 -0
  590. package/extensions/forms/constants/locales/nb-NO.d.ts +9 -0
  591. package/extensions/forms/constants/locales/nb-NO.js +11 -2
  592. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  593. package/extensions/forms/style/dnb-forms.css +77 -43
  594. package/extensions/forms/style/dnb-forms.min.css +1 -1
  595. package/extensions/forms/types.d.ts +3 -2
  596. package/extensions/forms/types.js.map +1 -1
  597. package/fragments/drawer-list/DrawerList.d.ts +8 -4
  598. package/package.json +1 -1
  599. package/shared/Context.d.ts +2 -4
  600. package/shared/Context.js.map +1 -1
  601. package/shared/Eufemia.d.ts +1 -1
  602. package/shared/Eufemia.js +2 -2
  603. package/shared/Eufemia.js.map +1 -1
  604. package/shared/component-helper.js +1 -1
  605. package/shared/component-helper.js.map +1 -1
  606. package/style/core/scopes.scss +1 -1
  607. package/style/dnb-ui-basis.css +1 -1
  608. package/style/dnb-ui-basis.min.css +1 -1
  609. package/style/dnb-ui-body.css +1 -1
  610. package/style/dnb-ui-body.min.css +1 -1
  611. package/style/dnb-ui-components.css +129 -98
  612. package/style/dnb-ui-components.min.css +2 -2
  613. package/style/dnb-ui-core.css +1 -1
  614. package/style/dnb-ui-core.min.css +1 -1
  615. package/style/dnb-ui-extensions.css +77 -43
  616. package/style/dnb-ui-extensions.min.css +1 -1
  617. package/style/dnb-ui-forms.css +77 -43
  618. package/style/dnb-ui-forms.min.css +1 -1
  619. package/style/dnb-ui-forms.scss +1 -1
  620. package/style/themes/theme-eiendom/eiendom-theme-components.css +205 -141
  621. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  622. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +77 -43
  623. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  624. package/style/themes/theme-eiendom/eiendom-theme-forms.css +77 -43
  625. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  626. package/style/themes/theme-sbanken/sbanken-theme-components.css +205 -141
  627. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  628. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +77 -43
  629. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  630. package/style/themes/theme-sbanken/sbanken-theme-forms.css +77 -43
  631. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  632. package/style/themes/theme-ui/ui-theme-components.css +205 -141
  633. package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  634. package/style/themes/theme-ui/ui-theme-extensions.css +77 -43
  635. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  636. package/style/themes/theme-ui/ui-theme-forms.css +77 -43
  637. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  638. package/umd/dnb-ui-basis.min.js +1 -1
  639. package/umd/dnb-ui-components.min.js +1 -1
  640. package/umd/dnb-ui-elements.min.js +1 -1
  641. package/umd/dnb-ui-extensions.min.js +3 -3
  642. package/umd/dnb-ui-lib.min.js +1 -1
  643. /package/cjs/extensions/forms/Form/Element/style/{dnb-forms-element.css → dnb-form-element.css} +0 -0
  644. /package/cjs/extensions/forms/Form/Element/style/{dnb-forms-element.min.css → dnb-form-element.min.css} +0 -0
  645. /package/cjs/extensions/forms/Form/Element/style/{dnb-forms-element.scss → dnb-form-element.scss} +0 -0
  646. /package/es/extensions/forms/Form/Element/style/{dnb-forms-element.css → dnb-form-element.css} +0 -0
  647. /package/es/extensions/forms/Form/Element/style/{dnb-forms-element.min.css → dnb-form-element.min.css} +0 -0
  648. /package/es/extensions/forms/Form/Element/style/{dnb-forms-element.scss → dnb-form-element.scss} +0 -0
  649. /package/extensions/forms/Form/Element/style/{dnb-forms-element.css → dnb-form-element.css} +0 -0
  650. /package/extensions/forms/Form/Element/style/{dnb-forms-element.min.css → dnb-form-element.min.css} +0 -0
  651. /package/extensions/forms/Form/Element/style/{dnb-forms-element.scss → dnb-form-element.scss} +0 -0
@@ -1,16 +1,17 @@
1
+ @charset "UTF-8";
1
2
  /*
2
3
  * Utilities
3
4
  */
4
- .dnb-form-summary-list.dnb-dl .dnb-dt, .dnb-form-summary-list.dnb-dl > .dnb-dd > .dnb-dl, .dnb-form-summary-list.dnb-dl:not([class*=dnb-space]) > .dnb-dd > .dnb-dl {
5
+ .dnb-forms-summary-list.dnb-dl .dnb-dt, .dnb-forms-summary-list.dnb-dl > .dnb-dd > .dnb-dl, .dnb-forms-summary-list.dnb-dl:not([class*=dnb-space]) > .dnb-dd > .dnb-dl {
5
6
  margin: 0;
6
7
  }
7
- .dnb-form-summary-list.dnb-dl:not(.dnb-dl__layout--grid) > .dnb-dd {
8
+ .dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--grid) > .dnb-dd {
8
9
  margin-bottom: var(--spacing-medium);
9
10
  }
10
- .dnb-form-summary-list.dnb-dl:not(.dnb-dl__layout--grid) > .dnb-dd:last-of-type {
11
+ .dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--grid) > .dnb-dd:last-of-type {
11
12
  margin-bottom: 0;
12
13
  }
13
- .dnb-form-summary-list.dnb-dl.dnb-dl__layout--grid {
14
+ .dnb-forms-summary-list.dnb-dl.dnb-dl__layout--grid {
14
15
  row-gap: var(--spacing-medium);
15
16
  }
16
17
 
@@ -21,8 +22,12 @@
21
22
  .dnb-forms-value-block--inline:not([class*=__composition]) {
22
23
  display: inline-block;
23
24
  font-size: inherit;
24
- margin-left: var(--spacing-xx-small);
25
- margin-right: var(--spacing-xx-small);
25
+ }
26
+ .dnb-forms-value-block--inline:not([class*=__composition])::before, .dnb-forms-value-block--inline:not([class*=__composition])::after {
27
+ content: " ";
28
+ }
29
+ .dnb-forms-value-block + .dnb-forms-value-block--inline:not([class*=__composition])::before {
30
+ content: none;
26
31
  }
27
32
  .dnb-forms-value-block__label, .dnb-forms-value-block__label strong {
28
33
  font-weight: var(--font-weight-medium);
@@ -1 +1 @@
1
- .dnb-form-summary-list.dnb-dl .dnb-dt,.dnb-form-summary-list.dnb-dl:not([class*=dnb-space])>.dnb-dd>.dnb-dl,.dnb-form-summary-list.dnb-dl>.dnb-dd>.dnb-dl{margin:0}.dnb-form-summary-list.dnb-dl:not(.dnb-dl__layout--grid)>.dnb-dd{margin-bottom:var(--spacing-medium)}.dnb-form-summary-list.dnb-dl:not(.dnb-dl__layout--grid)>.dnb-dd:last-of-type{margin-bottom:0}.dnb-form-summary-list.dnb-dl.dnb-dl__layout--grid{row-gap:var(--spacing-medium)}.dnb-forms-value-block{display:block;font-size:var(--font-size-basis)}.dnb-forms-value-block--inline:not([class*=__composition]){display:inline-block;font-size:inherit;margin-left:var(--spacing-xx-small);margin-right:var(--spacing-xx-small)}.dnb-forms-value-block__label,.dnb-forms-value-block__label strong{font-weight:var(--font-weight-medium)}.dnb-forms-value-block__placeholder{color:var(--color-black-80)}.dnb-forms-value-block--max-width-stretch{width:100%}@media screen and (min-width:25em){.dnb-forms-value-block--max-width-small{max-width:var(--forms-field-width--small)}.dnb-forms-value-block--max-width-medium{max-width:var(--forms-field-width--medium)}.dnb-forms-value-block--max-width-large{max-width:var(--forms-field-width--large)}}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{-moz-column-gap:var(--column-gap,0);column-gap:var(--column-gap,0);display:flex;flex-flow:row;row-gap:var(--row-gap,var(--spacing-medium))}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-xx-small{--column-gap:var(--spacing-xx-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-x-small{--column-gap:var(--spacing-x-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-small{--column-gap:var(--spacing-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-medium{--column-gap:var(--spacing-medium)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-large{--column-gap:var(--spacing-large)}@media screen and (min-width:25em){.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{align-items:flex-start}}@media screen and (max-width:25em){.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{flex-flow:column}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content:not(:has(.dnb-forms-value-block__label)){--row-gap:var(--spacing-x-small)}}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content:not([class*=dnb-space])>.dnb-dl,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dd,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dl,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dt{margin:0}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dl>.dnb-dd{margin-bottom:0}
1
+ @charset "UTF-8";.dnb-forms-summary-list.dnb-dl .dnb-dt,.dnb-forms-summary-list.dnb-dl:not([class*=dnb-space])>.dnb-dd>.dnb-dl,.dnb-forms-summary-list.dnb-dl>.dnb-dd>.dnb-dl{margin:0}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--grid)>.dnb-dd{margin-bottom:var(--spacing-medium)}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--grid)>.dnb-dd:last-of-type{margin-bottom:0}.dnb-forms-summary-list.dnb-dl.dnb-dl__layout--grid{row-gap:var(--spacing-medium)}.dnb-forms-value-block{display:block;font-size:var(--font-size-basis)}.dnb-forms-value-block--inline:not([class*=__composition]){display:inline-block;font-size:inherit}.dnb-forms-value-block--inline:not([class*=__composition]):after,.dnb-forms-value-block--inline:not([class*=__composition]):before{content:" "}.dnb-forms-value-block+.dnb-forms-value-block--inline:not([class*=__composition]):before{content:none}.dnb-forms-value-block__label,.dnb-forms-value-block__label strong{font-weight:var(--font-weight-medium)}.dnb-forms-value-block__placeholder{color:var(--color-black-80)}.dnb-forms-value-block--max-width-stretch{width:100%}@media screen and (min-width:25em){.dnb-forms-value-block--max-width-small{max-width:var(--forms-field-width--small)}.dnb-forms-value-block--max-width-medium{max-width:var(--forms-field-width--medium)}.dnb-forms-value-block--max-width-large{max-width:var(--forms-field-width--large)}}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{-moz-column-gap:var(--column-gap,0);column-gap:var(--column-gap,0);display:flex;flex-flow:row;row-gap:var(--row-gap,var(--spacing-medium))}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-xx-small{--column-gap:var(--spacing-xx-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-x-small{--column-gap:var(--spacing-x-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-small{--column-gap:var(--spacing-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-medium{--column-gap:var(--spacing-medium)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-large{--column-gap:var(--spacing-large)}@media screen and (min-width:25em){.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{align-items:flex-start}}@media screen and (max-width:25em){.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{flex-flow:column}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content:not(:has(.dnb-forms-value-block__label)){--row-gap:var(--spacing-x-small)}}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content:not([class*=dnb-space])>.dnb-dl,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dd,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dl,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dt{margin:0}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dl>.dnb-dd{margin-bottom:0}
@@ -1,6 +1,6 @@
1
1
  @import '../../../../style/core/utilities.scss';
2
2
 
3
- .dnb-form-summary-list.dnb-dl {
3
+ .dnb-forms-summary-list.dnb-dl {
4
4
  & .dnb-dt,
5
5
  & > .dnb-dd > .dnb-dl,
6
6
  &:not([class*='dnb-space']) > .dnb-dd > .dnb-dl {
@@ -24,9 +24,17 @@
24
24
 
25
25
  &--inline:not([class*='__composition']) {
26
26
  display: inline-block;
27
+ &::before,
28
+ &::after {
29
+ content: '\00A0'; // non-breaking space
30
+ }
31
+ .dnb-forms-value-block + & {
32
+ &::before {
33
+ content: none;
34
+ }
35
+ }
36
+
27
37
  font-size: inherit;
28
- margin-left: var(--spacing-xx-small);
29
- margin-right: var(--spacing-xx-small);
30
38
  }
31
39
 
32
40
  &__label,
@@ -6,7 +6,7 @@ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutPr
6
6
  const _excluded = ["className", "id", "mode", "initialActiveIndex", "omitScrollManagement", "omitFocusManagement", "onStepChange", "children", "noAnimation", "variant", "sidebarId"];
7
7
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
8
8
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
9
- import React, { useContext, useCallback, useRef, useReducer, useMemo, useEffect } from 'react';
9
+ import React, { useContext, useCallback, useRef, useReducer, useMemo } from 'react';
10
10
  import classnames from 'classnames';
11
11
  import { Space, StepIndicator } from '../../../../components';
12
12
  import { warn } from '../../../../shared/component-helper';
@@ -15,12 +15,14 @@ import useId from '../../../../shared/helpers/useId';
15
15
  import DataContext from '../../DataContext/Context';
16
16
  import Step from '../Step';
17
17
  import WizardContext from '../Context/WizardContext';
18
- import Provider from '../../DataContext/Provider';
18
+ import Handler from '../../Form/Handler/Handler';
19
19
  import { useSharedState } from '../../../../shared/helpers/useSharedState';
20
+ import useHandleLayoutEffect from './useHandleLayoutEffect';
21
+ const useLayoutEffect = typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect;
20
22
  function WizardContainer(props) {
21
23
  const {
22
24
  className,
23
- id: _id,
25
+ id: idProp,
24
26
  mode = 'strict',
25
27
  initialActiveIndex = 0,
26
28
  omitScrollManagement,
@@ -40,16 +42,13 @@ function WizardContainer(props) {
40
42
  showAllErrors,
41
43
  setSubmitState
42
44
  } = useContext(DataContext);
43
- const id = useId(_id);
45
+ const id = useId(idProp);
44
46
  const [, forceUpdate] = useReducer(() => ({}), {});
45
47
  const activeIndexRef = useRef(initialActiveIndex);
46
48
  const errorOnStepRef = useRef({});
47
49
  const stepElementRef = useRef();
48
50
  const sharedStateRef = useRef();
49
51
  sharedStateRef.current = useSharedState(hasContext && id ? id + '-wizard' : undefined);
50
- const {
51
- extend
52
- } = sharedStateRef.current;
53
52
  errorOnStepRef.current[activeIndexRef.current] = showAllErrors;
54
53
  const callOnStepChange = useCallback(async (index, mode) => {
55
54
  if (isAsync(onStepChange)) {
@@ -62,6 +61,7 @@ function WizardContainer(props) {
62
61
  scrollToTop,
63
62
  isInteractionRef
64
63
  } = useHandleLayoutEffect({
64
+ activeIndexRef,
65
65
  stepElementRef
66
66
  });
67
67
  const handleLayoutEffect = useCallback(() => {
@@ -137,7 +137,7 @@ function WizardContainer(props) {
137
137
  const titlesRef = useRef([]);
138
138
  const Contents = useCallback(() => {
139
139
  titlesRef.current = [];
140
- return React.Children.map(children, (child, i) => {
140
+ return React.Children.map(children, (child, index) => {
141
141
  if (React.isValidElement(child)) {
142
142
  var _child, _child2;
143
143
  let step = child;
@@ -152,7 +152,8 @@ function WizardContainer(props) {
152
152
  var _child$props$title;
153
153
  titlesRef.current.push((_child$props$title = child.props.title) !== null && _child$props$title !== void 0 ? _child$props$title : 'Title missing');
154
154
  return React.cloneElement(child, {
155
- index: i
155
+ key: `${index}-${activeIndexRef.current}`,
156
+ index
156
157
  });
157
158
  }
158
159
  }
@@ -171,21 +172,22 @@ function WizardContainer(props) {
171
172
  handleNext,
172
173
  setFormError
173
174
  }), [id, activeIndex, totalSteps, setActiveIndex, handlePrevious, handleNext, setFormError]);
174
- useEffect(() => {
175
- if (hasContext && id) {
176
- extend(providerValue);
175
+ useLayoutEffect(() => {
176
+ if (id && hasContext) {
177
+ var _sharedStateRef$curre4, _sharedStateRef$curre5;
178
+ (_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);
177
179
  }
178
- }, [id, extend, providerValue]);
180
+ }, [id, providerValue]);
179
181
  if (!hasContext) {
180
182
  warn('You may wrap Wizard.Container in Form.Handler');
181
- return React.createElement(Provider, null, React.createElement(WizardContainer, _extends({}, props, {
183
+ return React.createElement(Handler, null, React.createElement(WizardContainer, _extends({}, props, {
182
184
  id: id
183
185
  })));
184
186
  }
185
187
  return React.createElement(WizardContext.Provider, {
186
188
  value: providerValue
187
189
  }, React.createElement(Space, _extends({
188
- className: classnames('dnb-forms-wizard-layout', className, variant === 'drawer' && 'dnb-forms-wizard-layout--drawer')
190
+ className: classnames(`dnb-forms-wizard-layout dnb-forms-wizard-layout--${variant}`, className)
189
191
  }, rest), React.createElement("aside", {
190
192
  className: "dnb-forms-wizard-layout__sidebar"
191
193
  }, React.createElement(StepIndicator.Sidebar, {
@@ -202,43 +204,6 @@ function WizardContainer(props) {
202
204
  className: "dnb-forms-wizard-layout__contents"
203
205
  }, React.createElement(Contents, null))));
204
206
  }
205
- function useHandleLayoutEffect(_ref3) {
206
- let {
207
- stepElementRef
208
- } = _ref3;
209
- const isInteractionRef = useRef(false);
210
- useEffect(() => {
211
- const delay = process.env.NODE_ENV === 'test' ? 8 : 100;
212
- const timeout = setTimeout(() => {
213
- isInteractionRef.current = true;
214
- }, delay);
215
- return () => clearTimeout(timeout);
216
- });
217
- const action = useCallback(fn => {
218
- window.requestAnimationFrame(() => window.requestAnimationFrame(() => {
219
- isInteractionRef.current && fn();
220
- }));
221
- }, []);
222
- const setFocus = useCallback(() => {
223
- action(() => {
224
- var _stepElementRef$curre, _stepElementRef$curre2;
225
- (_stepElementRef$curre = stepElementRef.current) === null || _stepElementRef$curre === void 0 ? void 0 : (_stepElementRef$curre2 = _stepElementRef$curre.focus) === null || _stepElementRef$curre2 === void 0 ? void 0 : _stepElementRef$curre2.call(_stepElementRef$curre, {
226
- preventScroll: true
227
- });
228
- });
229
- }, [action, stepElementRef]);
230
- const scrollToTop = useCallback(() => {
231
- action(() => {
232
- var _stepElementRef$curre3, _stepElementRef$curre4;
233
- (_stepElementRef$curre3 = stepElementRef.current) === null || _stepElementRef$curre3 === void 0 ? void 0 : (_stepElementRef$curre4 = _stepElementRef$curre3.scrollIntoView) === null || _stepElementRef$curre4 === void 0 ? void 0 : _stepElementRef$curre4.call(_stepElementRef$curre3);
234
- });
235
- }, [action, stepElementRef]);
236
- return {
237
- setFocus,
238
- scrollToTop,
239
- isInteractionRef
240
- };
241
- }
242
207
  WizardContainer._supportsSpacingProps = true;
243
208
  export default WizardContainer;
244
209
  //# sourceMappingURL=WizardContainer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WizardContainer.js","names":["React","useContext","useCallback","useRef","useReducer","useMemo","useEffect","classnames","Space","StepIndicator","warn","isAsync","useId","DataContext","Step","WizardContext","Provider","useSharedState","WizardContainer","props","className","id","_id","mode","initialActiveIndex","omitScrollManagement","omitFocusManagement","onStepChange","children","noAnimation","variant","sidebarId","rest","_objectWithoutProperties","_excluded","hasContext","setFormState","handleSubmitCall","setShowAllErrors","showAllErrors","setSubmitState","forceUpdate","activeIndexRef","errorOnStepRef","stepElementRef","sharedStateRef","current","undefined","extend","callOnStepChange","index","setFocus","scrollToTop","isInteractionRef","useHandleLayoutEffect","handleLayoutEffect","handleStepChange","_ref","skipErrorCheck","skipStepChangeCall","skipStepChangeCallBeforeMounted","skipStepChangeCallFromHook","skipFieldValidation","enableAsyncBehaviour","onSubmit","_sharedStateRef$curre","_sharedStateRef$curre2","_sharedStateRef$curre3","data","call","result","Error","setActiveIndex","options","_objectSpread","handlePrevious","handleNext","handleChange","_ref2","current_step","setFormError","error","titlesRef","Contents","Children","map","child","i","isValidElement","_child","_child2","step","type","_step","apply","_child$props$title","push","title","cloneElement","activeIndex","totalSteps","length","providerValue","createElement","_extends","value","Sidebar","sidebar_id","bottom","no_animation","on_change","_ref3","delay","process","env","NODE_ENV","timeout","setTimeout","clearTimeout","action","fn","window","requestAnimationFrame","_stepElementRef$curre","_stepElementRef$curre2","focus","preventScroll","_stepElementRef$curre3","_stepElementRef$curre4","scrollIntoView","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Container/WizardContainer.tsx"],"sourcesContent":["import React, {\n useContext,\n useCallback,\n useRef,\n useReducer,\n useMemo,\n useEffect,\n} from 'react'\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 DataContext from '../../DataContext/Context'\nimport Step, { Props as StepProps } from '../Step'\nimport WizardContext, {\n OnStepChange,\n SetActiveIndexOptions,\n StepIndex,\n WizardContextState,\n} from '../Context/WizardContext'\nimport Provider from '../../DataContext/Provider'\nimport {\n SharedStateReturn,\n useSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport { ComponentProps } from '../../types'\n\nexport type Props = ComponentProps & {\n id?: string\n mode?: 'static' | 'strict' | 'loose'\n omitScrollManagement?: boolean\n omitFocusManagement?: boolean\n initialActiveIndex?: StepIndex\n onStepChange?: OnStepChange\n children: React.ReactNode\n variant?: 'sidebar' | 'drawer'\n noAnimation?: boolean\n sidebarId?: string\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: _id,\n mode = 'strict',\n initialActiveIndex = 0,\n omitScrollManagement,\n omitFocusManagement,\n onStepChange,\n children,\n noAnimation = 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(_id)\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 const { extend } = sharedStateRef.current\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({\n stepElementRef,\n })\n\n const handleLayoutEffect = useCallback(() => {\n if (!omitFocusManagement) {\n setFocus()\n }\n if (!omitScrollManagement) {\n scrollToTop()\n }\n }, [omitScrollManagement, omitFocusManagement, setFocus, scrollToTop])\n\n const handleStepChange = useCallback(\n ({\n index,\n skipErrorCheck,\n skipStepChangeCall,\n skipStepChangeCallBeforeMounted,\n skipStepChangeCallFromHook,\n mode,\n }: {\n index: StepIndex\n mode: '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 Contents = useCallback(() => {\n titlesRef.current = []\n return React.Children.map(children, (child, i) => {\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 return React.cloneElement(\n child as React.ReactElement<StepProps>,\n {\n index: i,\n }\n )\n }\n }\n\n return child\n })\n }, [children])\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 setActiveIndex,\n handlePrevious,\n handleNext,\n setFormError,\n }),\n [\n id,\n activeIndex,\n totalSteps,\n setActiveIndex,\n handlePrevious,\n handleNext,\n setFormError,\n ]\n )\n\n // - Handle shared state\n useEffect(() => {\n if (hasContext && id) {\n extend(providerValue)\n }\n }, [id, extend, 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 <Provider>\n <WizardContainer {...props} id={id} />\n </Provider>\n )\n }\n\n return (\n <WizardContext.Provider value={providerValue}>\n <Space\n className={classnames(\n 'dnb-forms-wizard-layout',\n variant === 'drawer' && 'dnb-forms-wizard-layout--drawer',\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 />\n </div>\n </Space>\n </WizardContext.Provider>\n )\n}\n\nfunction useHandleLayoutEffect({ stepElementRef }) {\n const isInteractionRef = useRef(false)\n\n useEffect(() => {\n // Ensure we delay the mounting before layout effect is handled\n const delay = process.env.NODE_ENV === 'test' ? 8 : 100\n const timeout = setTimeout(() => {\n isInteractionRef.current = true\n }, delay)\n return () => clearTimeout(timeout)\n })\n\n const action = useCallback((fn: () => void) => {\n // Wait for the next render cycle\n window.requestAnimationFrame(() =>\n // Wait for the new stepElementRef to be set\n window.requestAnimationFrame(() => {\n isInteractionRef.current && fn()\n })\n )\n }, [])\n\n const setFocus = useCallback(() => {\n action(() => {\n stepElementRef.current?.focus?.({\n preventScroll: true,\n })\n })\n }, [action, stepElementRef])\n\n const scrollToTop = useCallback(() => {\n action(() => {\n stepElementRef.current?.scrollIntoView?.()\n })\n }, [action, stepElementRef])\n\n return { setFocus, scrollToTop, isInteractionRef }\n}\n\nWizardContainer._supportsSpacingProps = true\n\nexport default WizardContainer\n"],"mappings":"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"}
1
+ {"version":3,"file":"WizardContainer.js","names":["React","useContext","useCallback","useRef","useReducer","useMemo","classnames","Space","StepIndicator","warn","isAsync","useId","DataContext","Step","WizardContext","Handler","useSharedState","useHandleLayoutEffect","useLayoutEffect","window","useEffect","WizardContainer","props","className","id","idProp","mode","initialActiveIndex","omitScrollManagement","omitFocusManagement","onStepChange","children","noAnimation","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","_ref","skipErrorCheck","skipStepChangeCall","skipStepChangeCallBeforeMounted","skipStepChangeCallFromHook","skipFieldValidation","enableAsyncBehaviour","onSubmit","_sharedStateRef$curre","_sharedStateRef$curre2","_sharedStateRef$curre3","data","call","result","Error","setActiveIndex","options","_objectSpread","handlePrevious","handleNext","handleChange","_ref2","current_step","setFormError","error","titlesRef","Contents","Children","map","child","isValidElement","_child","_child2","step","type","_step","apply","_child$props$title","push","title","cloneElement","key","activeIndex","totalSteps","length","providerValue","_sharedStateRef$curre4","_sharedStateRef$curre5","extend","createElement","_extends","Provider","value","Sidebar","sidebar_id","bottom","no_animation","on_change","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Container/WizardContainer.tsx"],"sourcesContent":["import React, {\n useContext,\n useCallback,\n useRef,\n useReducer,\n useMemo,\n} from 'react'\nimport classnames from 'classnames'\nimport { Space, StepIndicator } from '../../../../components'\nimport { warn } from '../../../../shared/component-helper'\nimport { isAsync } from '../../../../shared/helpers/isAsync'\nimport useId from '../../../../shared/helpers/useId'\nimport DataContext from '../../DataContext/Context'\nimport Step, { Props as StepProps } from '../Step'\nimport WizardContext, {\n OnStepChange,\n SetActiveIndexOptions,\n StepIndex,\n WizardContextState,\n} from '../Context/WizardContext'\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 mode?: 'static' | 'strict' | 'loose'\n omitScrollManagement?: boolean\n omitFocusManagement?: boolean\n initialActiveIndex?: StepIndex\n onStepChange?: OnStepChange\n children: React.ReactNode\n variant?: 'sidebar' | 'drawer'\n noAnimation?: boolean\n sidebarId?: string\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 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 Contents = useCallback(() => {\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 return React.cloneElement(\n child as React.ReactElement<StepProps>,\n {\n key: `${index}-${activeIndexRef.current}`,\n index,\n }\n )\n }\n }\n\n return child\n })\n }, [children])\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 setActiveIndex,\n handlePrevious,\n handleNext,\n setFormError,\n }),\n [\n id,\n activeIndex,\n totalSteps,\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 />\n </div>\n </Space>\n </WizardContext.Provider>\n )\n}\n\nWizardContainer._supportsSpacingProps = true\n\nexport default WizardContainer\n"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ export default function useHandleLayoutEffect({ activeIndexRef, stepElementRef, }: {
3
+ activeIndexRef: any;
4
+ stepElementRef: any;
5
+ }): {
6
+ setFocus: () => void;
7
+ scrollToTop: () => void;
8
+ isInteractionRef: import("react").MutableRefObject<boolean>;
9
+ };
@@ -0,0 +1,47 @@
1
+ "use client";
2
+
3
+ import { useCallback, useEffect, useRef } from 'react';
4
+ import useStepAnimation from './useStepAnimation';
5
+ export default function useHandleLayoutEffect(_ref) {
6
+ let {
7
+ activeIndexRef,
8
+ stepElementRef
9
+ } = _ref;
10
+ const isInteractionRef = useRef(false);
11
+ useEffect(() => {
12
+ const delay = process.env.NODE_ENV === 'test' ? 8 : 100;
13
+ const timeout = setTimeout(() => {
14
+ isInteractionRef.current = true;
15
+ }, delay);
16
+ return () => clearTimeout(timeout);
17
+ });
18
+ useStepAnimation({
19
+ activeIndexRef,
20
+ stepElementRef
21
+ });
22
+ const action = useCallback(fn => {
23
+ window.requestAnimationFrame(() => window.requestAnimationFrame(() => {
24
+ isInteractionRef.current && fn();
25
+ }));
26
+ }, []);
27
+ const setFocus = useCallback(() => {
28
+ action(() => {
29
+ var _stepElementRef$curre, _stepElementRef$curre2;
30
+ (_stepElementRef$curre = stepElementRef.current) === null || _stepElementRef$curre === void 0 ? void 0 : (_stepElementRef$curre2 = _stepElementRef$curre.focus) === null || _stepElementRef$curre2 === void 0 ? void 0 : _stepElementRef$curre2.call(_stepElementRef$curre, {
31
+ preventScroll: true
32
+ });
33
+ });
34
+ }, [action, stepElementRef]);
35
+ const scrollToTop = useCallback(() => {
36
+ action(() => {
37
+ var _stepElementRef$curre3, _stepElementRef$curre4;
38
+ (_stepElementRef$curre3 = stepElementRef.current) === null || _stepElementRef$curre3 === void 0 ? void 0 : (_stepElementRef$curre4 = _stepElementRef$curre3.scrollIntoView) === null || _stepElementRef$curre4 === void 0 ? void 0 : _stepElementRef$curre4.call(_stepElementRef$curre3);
39
+ });
40
+ }, [action, stepElementRef]);
41
+ return {
42
+ setFocus,
43
+ scrollToTop,
44
+ isInteractionRef
45
+ };
46
+ }
47
+ //# sourceMappingURL=useHandleLayoutEffect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHandleLayoutEffect.js","names":["useCallback","useEffect","useRef","useStepAnimation","useHandleLayoutEffect","_ref","activeIndexRef","stepElementRef","isInteractionRef","delay","process","env","NODE_ENV","timeout","setTimeout","current","clearTimeout","action","fn","window","requestAnimationFrame","setFocus","_stepElementRef$curre","_stepElementRef$curre2","focus","call","preventScroll","scrollToTop","_stepElementRef$curre3","_stepElementRef$curre4","scrollIntoView"],"sources":["../../../../../../src/extensions/forms/Wizard/Container/useHandleLayoutEffect.tsx"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react'\nimport useStepAnimation from './useStepAnimation'\n\nexport default function useHandleLayoutEffect({\n activeIndexRef,\n stepElementRef,\n}) {\n const isInteractionRef = useRef(false)\n\n useEffect(() => {\n // Ensure we delay the mounting before layout effect is handled\n const delay = process.env.NODE_ENV === 'test' ? 8 : 100\n const timeout = setTimeout(() => {\n isInteractionRef.current = true\n }, delay)\n return () => clearTimeout(timeout)\n })\n\n useStepAnimation({ activeIndexRef, stepElementRef })\n\n const action = useCallback((fn: () => void) => {\n // Wait for the next render cycle\n window.requestAnimationFrame(() =>\n // Wait for the new stepElementRef to be set\n window.requestAnimationFrame(() => {\n isInteractionRef.current && fn()\n })\n )\n }, [])\n\n const setFocus = useCallback(() => {\n action(() => {\n stepElementRef.current?.focus?.({\n preventScroll: true,\n })\n })\n }, [action, stepElementRef])\n\n const scrollToTop = useCallback(() => {\n action(() => {\n stepElementRef.current?.scrollIntoView?.()\n })\n }, [action, stepElementRef])\n\n return { setFocus, scrollToTop, isInteractionRef }\n}\n"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACtD,OAAOC,gBAAgB,MAAM,oBAAoB;AAEjD,eAAe,SAASC,qBAAqBA,CAAAC,IAAA,EAG1C;EAAA,IAH2C;IAC5CC,cAAc;IACdC;EACF,CAAC,GAAAF,IAAA;EACC,MAAMG,gBAAgB,GAAGN,MAAM,CAAC,KAAK,CAAC;EAEtCD,SAAS,CAAC,MAAM;IAEd,MAAMQ,KAAK,GAAGC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,MAAM,GAAG,CAAC,GAAG,GAAG;IACvD,MAAMC,OAAO,GAAGC,UAAU,CAAC,MAAM;MAC/BN,gBAAgB,CAACO,OAAO,GAAG,IAAI;IACjC,CAAC,EAAEN,KAAK,CAAC;IACT,OAAO,MAAMO,YAAY,CAACH,OAAO,CAAC;EACpC,CAAC,CAAC;EAEFV,gBAAgB,CAAC;IAAEG,cAAc;IAAEC;EAAe,CAAC,CAAC;EAEpD,MAAMU,MAAM,GAAGjB,WAAW,CAAEkB,EAAc,IAAK;IAE7CC,MAAM,CAACC,qBAAqB,CAAC,MAE3BD,MAAM,CAACC,qBAAqB,CAAC,MAAM;MACjCZ,gBAAgB,CAACO,OAAO,IAAIG,EAAE,CAAC,CAAC;IAClC,CAAC,CACH,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMG,QAAQ,GAAGrB,WAAW,CAAC,MAAM;IACjCiB,MAAM,CAAC,MAAM;MAAA,IAAAK,qBAAA,EAAAC,sBAAA;MACX,CAAAD,qBAAA,GAAAf,cAAc,CAACQ,OAAO,cAAAO,qBAAA,wBAAAC,sBAAA,GAAtBD,qBAAA,CAAwBE,KAAK,cAAAD,sBAAA,uBAA7BA,sBAAA,CAAAE,IAAA,CAAAH,qBAAA,EAAgC;QAC9BI,aAAa,EAAE;MACjB,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,EAAE,CAACT,MAAM,EAAEV,cAAc,CAAC,CAAC;EAE5B,MAAMoB,WAAW,GAAG3B,WAAW,CAAC,MAAM;IACpCiB,MAAM,CAAC,MAAM;MAAA,IAAAW,sBAAA,EAAAC,sBAAA;MACX,CAAAD,sBAAA,GAAArB,cAAc,CAACQ,OAAO,cAAAa,sBAAA,wBAAAC,sBAAA,GAAtBD,sBAAA,CAAwBE,cAAc,cAAAD,sBAAA,uBAAtCA,sBAAA,CAAAJ,IAAA,CAAAG,sBAAyC,CAAC;IAC5C,CAAC,CAAC;EACJ,CAAC,EAAE,CAACX,MAAM,EAAEV,cAAc,CAAC,CAAC;EAE5B,OAAO;IAAEc,QAAQ;IAAEM,WAAW;IAAEnB;EAAiB,CAAC;AACpD"}
@@ -0,0 +1,4 @@
1
+ export default function useStepAnimation({ activeIndexRef, stepElementRef, }: {
2
+ activeIndexRef: any;
3
+ stepElementRef: any;
4
+ }): void;
@@ -0,0 +1,30 @@
1
+ "use client";
2
+
3
+ import React, { useEffect, useRef } from 'react';
4
+ const useLayoutEffect = typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect;
5
+ export default function useStepAnimation(_ref) {
6
+ let {
7
+ activeIndexRef,
8
+ stepElementRef
9
+ } = _ref;
10
+ const activeIndex = activeIndexRef.current;
11
+ const indexRef = useRef(activeIndex);
12
+ useEffect(() => {
13
+ indexRef.current = activeIndex;
14
+ }, [activeIndex]);
15
+ useLayoutEffect(() => {
16
+ if (activeIndex === indexRef.current) {
17
+ return;
18
+ }
19
+ window.requestAnimationFrame(() => {
20
+ try {
21
+ const elements = stepElementRef.current.querySelectorAll('.dnb-forms-step > *, .dnb-forms-button-row > *');
22
+ elements.forEach((element, i) => {
23
+ element.style.setProperty('--element-index', String(i + 1));
24
+ element.classList.add('appear-fx');
25
+ });
26
+ } catch (error) {}
27
+ });
28
+ }, [activeIndex, stepElementRef]);
29
+ }
30
+ //# sourceMappingURL=useStepAnimation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useStepAnimation.js","names":["React","useEffect","useRef","useLayoutEffect","window","useStepAnimation","_ref","activeIndexRef","stepElementRef","activeIndex","current","indexRef","requestAnimationFrame","elements","querySelectorAll","forEach","element","i","style","setProperty","String","classList","add","error"],"sources":["../../../../../../src/extensions/forms/Wizard/Container/useStepAnimation.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport default function useStepAnimation({\n activeIndexRef,\n stepElementRef,\n}) {\n const activeIndex = activeIndexRef.current\n const indexRef = useRef(activeIndex)\n\n useEffect(() => {\n indexRef.current = activeIndex\n }, [activeIndex])\n\n useLayoutEffect(() => {\n // Use layout effect to compare the active step before we update the cached indexRef\n // This way we don't have an animation on the first render, but only on a step change.\n if (activeIndex === indexRef.current) {\n return // stop here\n }\n\n // Wait until \"stepElementRef.current = currentElementRef.current\" is set\n // So we actually get the correct elements when useStep is called,\n // as it rerenders the children\n window.requestAnimationFrame(() => {\n try {\n const elements: Array<HTMLElement> =\n stepElementRef.current.querySelectorAll(\n '.dnb-forms-step > *, .dnb-forms-button-row > *'\n )\n elements.forEach((element, i) => {\n element.style.setProperty('--element-index', String(i + 1))\n element.classList.add('appear-fx')\n })\n } catch (error) {\n //\n }\n })\n }, [activeIndex, stepElementRef])\n}\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAGhD,MAAMC,eAAe,GACnB,OAAOC,MAAM,KAAK,WAAW,GAAGJ,KAAK,CAACC,SAAS,GAAGD,KAAK,CAACG,eAAe;AAEzE,eAAe,SAASE,gBAAgBA,CAAAC,IAAA,EAGrC;EAAA,IAHsC;IACvCC,cAAc;IACdC;EACF,CAAC,GAAAF,IAAA;EACC,MAAMG,WAAW,GAAGF,cAAc,CAACG,OAAO;EAC1C,MAAMC,QAAQ,GAAGT,MAAM,CAACO,WAAW,CAAC;EAEpCR,SAAS,CAAC,MAAM;IACdU,QAAQ,CAACD,OAAO,GAAGD,WAAW;EAChC,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EAEjBN,eAAe,CAAC,MAAM;IAGpB,IAAIM,WAAW,KAAKE,QAAQ,CAACD,OAAO,EAAE;MACpC;IACF;IAKAN,MAAM,CAACQ,qBAAqB,CAAC,MAAM;MACjC,IAAI;QACF,MAAMC,QAA4B,GAChCL,cAAc,CAACE,OAAO,CAACI,gBAAgB,CACrC,gDACF,CAAC;QACHD,QAAQ,CAACE,OAAO,CAAC,CAACC,OAAO,EAAEC,CAAC,KAAK;UAC/BD,OAAO,CAACE,KAAK,CAACC,WAAW,CAAC,iBAAiB,EAAEC,MAAM,CAACH,CAAC,GAAG,CAAC,CAAC,CAAC;UAC3DD,OAAO,CAACK,SAAS,CAACC,GAAG,CAAC,WAAW,CAAC;QACpC,CAAC,CAAC;MACJ,CAAC,CAAC,OAAOC,KAAK,EAAE,CAEhB;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CAACd,WAAW,EAAED,cAAc,CAAC,CAAC;AACnC"}
@@ -3,11 +3,12 @@
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
5
  const _excluded = ["className", "title", "index", "children"];
6
- import React, { useContext, useMemo } from 'react';
6
+ import React, { useContext, useMemo, useRef } from 'react';
7
7
  import classnames from 'classnames';
8
8
  import WizardContext from '../Context/WizardContext';
9
9
  import Flex from '../../../../components/flex/Flex';
10
10
  import { convertJsxToString } from '../../../../shared/component-helper';
11
+ const useLayoutEffect = typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect;
11
12
  function Step(props) {
12
13
  const {
13
14
  className,
@@ -23,6 +24,17 @@ function Step(props) {
23
24
  const ariaLabel = useMemo(() => {
24
25
  return convertJsxToString(title);
25
26
  }, [title]);
27
+ const currentElementRef = useRef();
28
+ useLayoutEffect(() => {
29
+ if (typeof stepElementRef !== 'undefined') {
30
+ if (currentElementRef.current) {
31
+ stepElementRef.current = currentElementRef.current;
32
+ }
33
+ return () => {
34
+ stepElementRef.current = null;
35
+ };
36
+ }
37
+ }, [stepElementRef]);
26
38
  if (activeIndex !== index) {
27
39
  return null;
28
40
  }
@@ -30,7 +42,7 @@ function Step(props) {
30
42
  className: classnames('dnb-forms-step', className),
31
43
  element: "section",
32
44
  "aria-label": ariaLabel,
33
- innerRef: stepElementRef,
45
+ innerRef: currentElementRef,
34
46
  tabIndex: -1
35
47
  }, restProps), children);
36
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Step.js","names":["React","useContext","useMemo","classnames","WizardContext","Flex","convertJsxToString","Step","props","className","title","index","children","restProps","_objectWithoutProperties","_excluded","activeIndex","stepElementRef","ariaLabel","createElement","Stack","_extends","element","innerRef","tabIndex","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Step/Step.tsx"],"sourcesContent":["import React, { useContext, useMemo } 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'\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\nfunction Step(props: Props) {\n const { className, title, index, children, ...restProps } = props\n const { activeIndex, stepElementRef } = useContext(WizardContext) || {}\n\n const ariaLabel = useMemo(() => {\n return convertJsxToString(title)\n }, [title])\n\n if (activeIndex !== index) {\n // Another step is active\n return null\n }\n\n return (\n <Flex.Stack\n className={classnames('dnb-forms-step', className)}\n element=\"section\"\n aria-label={ariaLabel}\n innerRef={stepElementRef}\n tabIndex={-1}\n {...restProps}\n >\n {children}\n </Flex.Stack>\n )\n}\n\nStep._supportsSpacingProps = true\nexport default Step\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAClD,OAAOC,UAAU,MAAM,YAAY;AAGnC,OAAOC,aAAa,MAAM,0BAA0B;AACpD,OAAOC,IAAI,MAAM,kCAAkC;AACnD,SAASC,kBAAkB,QAAQ,qCAAqC;AAgBxE,SAASC,IAAIA,CAACC,KAAY,EAAE;EAC1B,MAAM;MAAEC,SAAS;MAAEC,KAAK;MAAEC,KAAK;MAAEC;IAAuB,CAAC,GAAGJ,KAAK;IAAnBK,SAAS,GAAAC,wBAAA,CAAKN,KAAK,EAAAO,SAAA;EACjE,MAAM;IAAEC,WAAW;IAAEC;EAAe,CAAC,GAAGhB,UAAU,CAACG,aAAa,CAAC,IAAI,CAAC,CAAC;EAEvE,MAAMc,SAAS,GAAGhB,OAAO,CAAC,MAAM;IAC9B,OAAOI,kBAAkB,CAACI,KAAK,CAAC;EAClC,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEX,IAAIM,WAAW,KAAKL,KAAK,EAAE;IAEzB,OAAO,IAAI;EACb;EAEA,OACEX,KAAA,CAAAmB,aAAA,CAACd,IAAI,CAACe,KAAK,EAAAC,QAAA;IACTZ,SAAS,EAAEN,UAAU,CAAC,gBAAgB,EAAEM,SAAS,CAAE;IACnDa,OAAO,EAAC,SAAS;IACjB,cAAYJ,SAAU;IACtBK,QAAQ,EAAEN,cAAe;IACzBO,QAAQ,EAAE,CAAC;EAAE,GACTX,SAAS,GAEZD,QACS,CAAC;AAEjB;AAEAL,IAAI,CAACkB,qBAAqB,GAAG,IAAI;AACjC,eAAelB,IAAI"}
1
+ {"version":3,"file":"Step.js","names":["React","useContext","useMemo","useRef","classnames","WizardContext","Flex","convertJsxToString","useLayoutEffect","window","useEffect","Step","props","className","title","index","children","restProps","_objectWithoutProperties","_excluded","activeIndex","stepElementRef","ariaLabel","currentElementRef","current","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'\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\nfunction Step(props: Props) {\n const { className, title, index, children, ...restProps } = props\n const { activeIndex, stepElementRef } = useContext(WizardContext) || {}\n\n const ariaLabel = useMemo(() => {\n return convertJsxToString(title)\n }, [title])\n\n const currentElementRef = useRef<HTMLElement>()\n useLayoutEffect(() => {\n if (typeof stepElementRef !== 'undefined') {\n if (currentElementRef.current) {\n stepElementRef.current = currentElementRef.current\n }\n return () => {\n stepElementRef.current = null\n }\n }\n }, [stepElementRef])\n\n if (activeIndex !== index) {\n // Another step is active\n return null\n }\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 {children}\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;AAGxE,MAAMC,eAAe,GACnB,OAAOC,MAAM,KAAK,WAAW,GAAGT,KAAK,CAACU,SAAS,GAAGV,KAAK,CAACQ,eAAe;AAgBzE,SAASG,IAAIA,CAACC,KAAY,EAAE;EAC1B,MAAM;MAAEC,SAAS;MAAEC,KAAK;MAAEC,KAAK;MAAEC;IAAuB,CAAC,GAAGJ,KAAK;IAAnBK,SAAS,GAAAC,wBAAA,CAAKN,KAAK,EAAAO,SAAA;EACjE,MAAM;IAAEC,WAAW;IAAEC;EAAe,CAAC,GAAGpB,UAAU,CAACI,aAAa,CAAC,IAAI,CAAC,CAAC;EAEvE,MAAMiB,SAAS,GAAGpB,OAAO,CAAC,MAAM;IAC9B,OAAOK,kBAAkB,CAACO,KAAK,CAAC;EAClC,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEX,MAAMS,iBAAiB,GAAGpB,MAAM,CAAc,CAAC;EAC/CK,eAAe,CAAC,MAAM;IACpB,IAAI,OAAOa,cAAc,KAAK,WAAW,EAAE;MACzC,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,CAACH,cAAc,CAAC,CAAC;EAEpB,IAAID,WAAW,KAAKL,KAAK,EAAE;IAEzB,OAAO,IAAI;EACb;EAEA,OACEf,KAAA,CAAAyB,aAAA,CAACnB,IAAI,CAACoB,KAAK,EAAAC,QAAA;IACTd,SAAS,EAAET,UAAU,CAAC,gBAAgB,EAAES,SAAS,CAAE;IACnDe,OAAO,EAAC,SAAS;IACjB,cAAYN,SAAU;IACtBO,QAAQ,EAAEN,iBAAkB;IAC5BO,QAAQ,EAAE,CAAC;EAAE,GACTb,SAAS,GAEZD,QACS,CAAC;AAEjB;AAEAL,IAAI,CAACoB,qBAAqB,GAAG,IAAI;AACjC,eAAepB,IAAI"}
@@ -1,8 +1,9 @@
1
1
  "use client";
2
2
 
3
- import { useCallback, useContext, useEffect, useRef } from 'react';
3
+ import React, { useCallback, useContext, useRef } from 'react';
4
4
  import WizardContext from '../Context/WizardContext';
5
5
  import { useSharedState } from '../../../../shared/helpers/useSharedState';
6
+ const useLayoutEffect = typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect;
6
7
  export default function useStep() {
7
8
  let id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
8
9
  let {
@@ -17,7 +18,7 @@ export default function useStep() {
17
18
  }
18
19
  const sharedDataRef = useRef(null);
19
20
  sharedDataRef.current = useSharedState(id ? id + '-wizard' : undefined);
20
- useEffect(() => {
21
+ useLayoutEffect(() => {
21
22
  sharedDataRef.current.extend({
22
23
  onStepChange
23
24
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useStep.js","names":["useCallback","useContext","useEffect","useRef","WizardContext","useSharedState","useStep","id","arguments","length","undefined","onStepChange","setFormError","context","sharedDataRef","current","extend","data"],"sources":["../../../../../../src/extensions/forms/Wizard/hooks/useStep.tsx"],"sourcesContent":["import { useCallback, useContext, useEffect, useRef } from 'react'\nimport WizardContext, {\n OnStepChange,\n WizardContextState,\n} from '../Context/WizardContext'\nimport { Identifier } from '../../types'\nimport { useSharedState } from '../../../../shared/helpers/useSharedState'\n\nexport default function useStep(\n id: Identifier = null,\n { onStepChange }: { onStepChange?: OnStepChange } = {}\n) {\n const setFormError = useCallback(() => null, [])\n const context = useContext(WizardContext) || { setFormError }\n\n // In order to make it possible to add a \"onStepChange\" handler without an id,\n // we at least check if there is one from the context.\n if (onStepChange && !id && context.id) {\n id = context.id\n }\n\n const sharedDataRef =\n useRef<ReturnType<typeof useSharedState<WizardContextState>>>(null)\n sharedDataRef.current = useSharedState<WizardContextState>(\n id ? id + '-wizard' : undefined\n )\n\n useEffect(() => {\n sharedDataRef.current.extend({\n onStepChange,\n } as unknown as WizardContextState) // Internal type\n }, [onStepChange])\n\n const data = sharedDataRef.current.data\n if (data && !data.setFormError) {\n data.setFormError = setFormError\n }\n\n return data || context\n}\n"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,UAAU,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAClE,OAAOC,aAAa,MAGb,0BAA0B;AAEjC,SAASC,cAAc,QAAQ,2CAA2C;AAE1E,eAAe,SAASC,OAAOA,CAAA,EAG7B;EAAA,IAFAC,EAAc,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EAAA,IACrB;IAAEG;EAA8C,CAAC,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAEtD,MAAMI,YAAY,GAAGZ,WAAW,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;EAChD,MAAMa,OAAO,GAAGZ,UAAU,CAACG,aAAa,CAAC,IAAI;IAAEQ;EAAa,CAAC;EAI7D,IAAID,YAAY,IAAI,CAACJ,EAAE,IAAIM,OAAO,CAACN,EAAE,EAAE;IACrCA,EAAE,GAAGM,OAAO,CAACN,EAAE;EACjB;EAEA,MAAMO,aAAa,GACjBX,MAAM,CAAwD,IAAI,CAAC;EACrEW,aAAa,CAACC,OAAO,GAAGV,cAAc,CACpCE,EAAE,GAAGA,EAAE,GAAG,SAAS,GAAGG,SACxB,CAAC;EAEDR,SAAS,CAAC,MAAM;IACdY,aAAa,CAACC,OAAO,CAACC,MAAM,CAAC;MAC3BL;IACF,CAAkC,CAAC;EACrC,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;EAElB,MAAMM,IAAI,GAAGH,aAAa,CAACC,OAAO,CAACE,IAAI;EACvC,IAAIA,IAAI,IAAI,CAACA,IAAI,CAACL,YAAY,EAAE;IAC9BK,IAAI,CAACL,YAAY,GAAGA,YAAY;EAClC;EAEA,OAAOK,IAAI,IAAIJ,OAAO;AACxB"}
1
+ {"version":3,"file":"useStep.js","names":["React","useCallback","useContext","useRef","WizardContext","useSharedState","useLayoutEffect","window","useEffect","useStep","id","arguments","length","undefined","onStepChange","setFormError","context","sharedDataRef","current","extend","data"],"sources":["../../../../../../src/extensions/forms/Wizard/hooks/useStep.tsx"],"sourcesContent":["import React, { useCallback, useContext, useRef } from 'react'\nimport WizardContext, {\n OnStepChange,\n WizardContextState,\n} from '../Context/WizardContext'\nimport { Identifier } from '../../types'\nimport { useSharedState } from '../../../../shared/helpers/useSharedState'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport default function useStep(\n id: Identifier = null,\n { onStepChange }: { onStepChange?: OnStepChange } = {}\n) {\n const setFormError = useCallback(() => null, [])\n const context = useContext(WizardContext) || { setFormError }\n\n // In order to make it possible to add a \"onStepChange\" handler without an id,\n // we at least check if there is one from the context.\n if (onStepChange && !id && context.id) {\n id = context.id\n }\n\n const sharedDataRef =\n useRef<ReturnType<typeof useSharedState<WizardContextState>>>(null)\n sharedDataRef.current = useSharedState<WizardContextState>(\n id ? id + '-wizard' : undefined\n )\n\n useLayoutEffect(() => {\n sharedDataRef.current.extend({\n onStepChange,\n } as unknown as WizardContextState) // Internal type\n }, [onStepChange])\n\n const data = sharedDataRef.current.data\n if (data && !data.setFormError) {\n data.setFormError = setFormError\n }\n\n return data || context\n}\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,EAAEC,MAAM,QAAQ,OAAO;AAC9D,OAAOC,aAAa,MAGb,0BAA0B;AAEjC,SAASC,cAAc,QAAQ,2CAA2C;AAG1E,MAAMC,eAAe,GACnB,OAAOC,MAAM,KAAK,WAAW,GAAGP,KAAK,CAACQ,SAAS,GAAGR,KAAK,CAACM,eAAe;AAEzE,eAAe,SAASG,OAAOA,CAAA,EAG7B;EAAA,IAFAC,EAAc,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EAAA,IACrB;IAAEG;EAA8C,CAAC,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAEtD,MAAMI,YAAY,GAAGd,WAAW,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;EAChD,MAAMe,OAAO,GAAGd,UAAU,CAACE,aAAa,CAAC,IAAI;IAAEW;EAAa,CAAC;EAI7D,IAAID,YAAY,IAAI,CAACJ,EAAE,IAAIM,OAAO,CAACN,EAAE,EAAE;IACrCA,EAAE,GAAGM,OAAO,CAACN,EAAE;EACjB;EAEA,MAAMO,aAAa,GACjBd,MAAM,CAAwD,IAAI,CAAC;EACrEc,aAAa,CAACC,OAAO,GAAGb,cAAc,CACpCK,EAAE,GAAGA,EAAE,GAAG,SAAS,GAAGG,SACxB,CAAC;EAEDP,eAAe,CAAC,MAAM;IACpBW,aAAa,CAACC,OAAO,CAACC,MAAM,CAAC;MAC3BL;IACF,CAAkC,CAAC;EACrC,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;EAElB,MAAMM,IAAI,GAAGH,aAAa,CAACC,OAAO,CAACE,IAAI;EACvC,IAAIA,IAAI,IAAI,CAACA,IAAI,CAACL,YAAY,EAAE;IAC9BK,IAAI,CAACL,YAAY,GAAGA,YAAY;EAClC;EAEA,OAAOK,IAAI,IAAIJ,OAAO;AACxB"}
@@ -19,10 +19,35 @@
19
19
  .dnb-forms-wizard-layout__contents {
20
20
  flex: 1;
21
21
  }
22
+ .dnb-forms-wizard-layout__contents .dnb-forms-step {
23
+ outline: none;
24
+ }
22
25
  .dnb-forms-wizard-layout__contents .dnb-card {
23
26
  --border-color: var(--color-pistachio);
24
27
  max-width: var(--forms-card-max-width);
25
28
  }
29
+ .dnb-forms-wizard-layout__contents .dnb-forms-step > .appear-fx,
30
+ .dnb-forms-wizard-layout__contents .dnb-forms-button-row > .appear-fx {
31
+ --appear-opacity: 0;
32
+ --appear-offset: -0.25rem;
33
+ opacity: var(--appear-opacity);
34
+ transform: translate3d(var(--appear-offset), 0, 0);
35
+ animation: appear 600ms var(--easing-default) forwards;
36
+ animation-delay: calc(var(--element-index, 0) * 30ms);
37
+ }
38
+ @keyframes appear {
39
+ 0% {
40
+ opacity: var(--appear-opacity);
41
+ transform: translate3d(var(--appear-offset), 0, 0);
42
+ }
43
+ 80% {
44
+ opacity: 1;
45
+ }
46
+ 100% {
47
+ opacity: 1;
48
+ transform: translate3d(0, 0, 0);
49
+ }
50
+ }
26
51
  @media screen and (min-width: 40em) {
27
52
  .dnb-forms-wizard-layout + .dnb-form-status:not([class*=space__left]), .dnb-forms-wizard-layout + .dnb-form-status + .dnb-form-status:not([class*=space__left]) {
28
53
  margin-left: var(--spacing-medium);
@@ -42,6 +67,8 @@
42
67
  margin-right: 0;
43
68
  }
44
69
 
45
- .dnb-forms-step {
46
- outline: none;
70
+ @media screen and (min-width: 60em) {
71
+ .dnb-forms-form:has(.dnb-forms-wizard-layout--sidebar) .dnb-forms-status {
72
+ margin-left: 23rem;
73
+ }
47
74
  }
@@ -1 +1 @@
1
- .dnb-forms-wizard-layout{-moz-column-gap:var(--spacing-medium);column-gap:var(--spacing-medium);display:flex;flex-flow:row wrap}.dnb-forms-wizard-layout--drawer{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-wizard-layout__sidebar{flex:0;margin-bottom:2rem}.dnb-forms-wizard-layout__contents{flex:1}.dnb-forms-wizard-layout__contents .dnb-card{--border-color:var(--color-pistachio);max-width:var(--forms-card-max-width)}@media screen and (min-width:40em){.dnb-forms-wizard-layout+.dnb-form-status+.dnb-form-status:not([class*=space__left]),.dnb-forms-wizard-layout+.dnb-form-status:not([class*=space__left]){margin-left:var(--spacing-medium)}}@media screen and (max-width:60em){.dnb-forms-wizard-layout{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-wizard-layout__contents{flex-basis:auto}}.dnb-forms-wizard-layout .dnb-step-indicator__sidebar{margin-right:0}.dnb-forms-step{outline:none}
1
+ .dnb-forms-wizard-layout{-moz-column-gap:var(--spacing-medium);column-gap:var(--spacing-medium);display:flex;flex-flow:row wrap}.dnb-forms-wizard-layout--drawer{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-wizard-layout__sidebar{flex:0;margin-bottom:2rem}.dnb-forms-wizard-layout__contents{flex:1}.dnb-forms-wizard-layout__contents .dnb-forms-step{outline:none}.dnb-forms-wizard-layout__contents .dnb-card{--border-color:var(--color-pistachio);max-width:var(--forms-card-max-width)}.dnb-forms-wizard-layout__contents .dnb-forms-button-row>.appear-fx,.dnb-forms-wizard-layout__contents .dnb-forms-step>.appear-fx{--appear-opacity:0;--appear-offset:-0.25rem;animation:appear .6s var(--easing-default) forwards;animation-delay:calc(var(--element-index, 0)*30ms);opacity:var(--appear-opacity);transform:translate3d(var(--appear-offset),0,0)}@keyframes appear{0%{opacity:var(--appear-opacity);transform:translate3d(var(--appear-offset),0,0)}80%{opacity:1}to{opacity:1;transform:translateZ(0)}}@media screen and (min-width:40em){.dnb-forms-wizard-layout+.dnb-form-status+.dnb-form-status:not([class*=space__left]),.dnb-forms-wizard-layout+.dnb-form-status:not([class*=space__left]){margin-left:var(--spacing-medium)}}@media screen and (max-width:60em){.dnb-forms-wizard-layout{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-wizard-layout__contents{flex-basis:auto}}.dnb-forms-wizard-layout .dnb-step-indicator__sidebar{margin-right:0}@media screen and (min-width:60em){.dnb-forms-form:has(.dnb-forms-wizard-layout--sidebar) .dnb-forms-status{margin-left:23rem}}