@dnb/eufemia 10.28.0 → 10.30.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 (828) hide show
  1. package/CHANGELOG.md +45 -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 +7 -2
  29. package/cjs/extensions/forms/DataContext/Context.js +0 -2
  30. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  31. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +30 -5
  32. package/cjs/extensions/forms/DataContext/Provider/Provider.js +69 -35
  33. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  34. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +27 -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/FieldProps/FieldProps.d.ts +13 -0
  74. package/cjs/extensions/forms/Form/FieldProps/FieldProps.js +80 -0
  75. package/cjs/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -0
  76. package/cjs/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts +8 -0
  77. package/cjs/extensions/forms/Form/FieldProps/FieldPropsContext.js +15 -0
  78. package/cjs/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +1 -0
  79. package/cjs/extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts +2 -0
  80. package/cjs/extensions/forms/Form/FieldProps/FieldPropsDocs.js +18 -0
  81. package/cjs/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +1 -0
  82. package/cjs/extensions/forms/Form/FieldProps/index.d.ts +2 -0
  83. package/cjs/extensions/forms/Form/FieldProps/index.js +27 -0
  84. package/cjs/extensions/forms/Form/FieldProps/index.js.map +1 -0
  85. package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  86. package/cjs/extensions/forms/Form/Handler/Handler.js +18 -4
  87. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  88. package/cjs/extensions/forms/Form/MainHeading/MainHeading.js +1 -1
  89. package/cjs/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
  90. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -3
  91. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  92. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +1 -1
  93. package/cjs/extensions/forms/Form/SubHeading/SubHeading.js +1 -1
  94. package/cjs/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
  95. package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +2 -2
  96. package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
  97. package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +1 -1
  98. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +2 -2
  99. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  100. package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.css +13 -13
  101. package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.min.css +1 -1
  102. package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +1 -1
  103. package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +4 -1
  104. package/cjs/extensions/forms/Form/Visibility/Visibility.js +7 -4
  105. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  106. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +5 -0
  107. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  108. package/cjs/extensions/forms/Form/index.d.ts +1 -0
  109. package/cjs/extensions/forms/Form/index.js +7 -0
  110. package/cjs/extensions/forms/Form/index.js.map +1 -1
  111. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -4
  112. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  113. package/cjs/extensions/forms/Iterate/Array/Array.js +2 -2
  114. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  115. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
  116. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  117. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js +1 -1
  118. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  119. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  120. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  121. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
  122. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  123. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
  124. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  125. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.css +14 -14
  126. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  127. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.scss +1 -1
  128. package/cjs/extensions/forms/Value/Boolean/Boolean.js +8 -3
  129. package/cjs/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  130. package/cjs/extensions/forms/Value/Name/Name.d.ts +10 -0
  131. package/cjs/extensions/forms/Value/Name/Name.js +50 -0
  132. package/cjs/extensions/forms/Value/Name/Name.js.map +1 -0
  133. package/cjs/extensions/forms/Value/Name/index.d.ts +2 -0
  134. package/cjs/extensions/forms/Value/Name/index.js +27 -0
  135. package/cjs/extensions/forms/Value/Name/index.js.map +1 -0
  136. package/cjs/extensions/forms/Value/OrganizationNumber/OrganizationNumber.d.ts +7 -0
  137. package/cjs/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js +36 -0
  138. package/cjs/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js.map +1 -0
  139. package/cjs/extensions/forms/Value/OrganizationNumber/index.d.ts +2 -0
  140. package/cjs/extensions/forms/Value/OrganizationNumber/index.js +27 -0
  141. package/cjs/extensions/forms/Value/OrganizationNumber/index.js.map +1 -0
  142. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.d.ts +7 -0
  143. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +41 -0
  144. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -0
  145. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
  146. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js +20 -0
  147. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
  148. package/cjs/extensions/forms/Value/PostalCodeAndCity/index.d.ts +2 -0
  149. package/cjs/extensions/forms/Value/PostalCodeAndCity/index.js +27 -0
  150. package/cjs/extensions/forms/Value/PostalCodeAndCity/index.js.map +1 -0
  151. package/cjs/extensions/forms/Value/String/String.js +8 -3
  152. package/cjs/extensions/forms/Value/String/String.js.map +1 -1
  153. package/cjs/extensions/forms/Value/SummaryList/SummaryList.js +1 -1
  154. package/cjs/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  155. package/cjs/extensions/forms/Value/ValueDocs.js +6 -1
  156. package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -1
  157. package/cjs/extensions/forms/Value/index.d.ts +3 -0
  158. package/cjs/extensions/forms/Value/index.js +21 -0
  159. package/cjs/extensions/forms/Value/index.js.map +1 -1
  160. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +2 -1
  161. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  162. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +11 -6
  163. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  164. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.scss +11 -3
  165. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +17 -52
  166. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  167. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +9 -0
  168. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +53 -0
  169. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -0
  170. package/cjs/extensions/forms/Wizard/Container/useStepAnimation.d.ts +4 -0
  171. package/cjs/extensions/forms/Wizard/Container/useStepAnimation.js +37 -0
  172. package/cjs/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -0
  173. package/cjs/extensions/forms/Wizard/Step/Step.js +13 -1
  174. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  175. package/cjs/extensions/forms/Wizard/hooks/useStep.js +5 -2
  176. package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  177. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +29 -2
  178. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  179. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss +35 -2
  180. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +9 -0
  181. package/cjs/extensions/forms/constants/locales/en-GB.js +12 -3
  182. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  183. package/cjs/extensions/forms/constants/locales/en-US.d.ts +9 -0
  184. package/cjs/extensions/forms/constants/locales/index.d.ts +18 -0
  185. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +9 -0
  186. package/cjs/extensions/forms/constants/locales/nb-NO.js +11 -2
  187. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  188. package/cjs/extensions/forms/hooks/useFieldProps.js +8 -4
  189. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  190. package/cjs/extensions/forms/hooks/useTranslation.js +3 -1
  191. package/cjs/extensions/forms/hooks/useTranslation.js.map +1 -1
  192. package/cjs/extensions/forms/style/dnb-forms.css +77 -43
  193. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  194. package/cjs/extensions/forms/types.d.ts +3 -2
  195. package/cjs/extensions/forms/types.js.map +1 -1
  196. package/cjs/fragments/drawer-list/DrawerList.d.ts +8 -4
  197. package/cjs/shared/Context.d.ts +4 -4
  198. package/cjs/shared/Context.js.map +1 -1
  199. package/cjs/shared/Eufemia.d.ts +1 -1
  200. package/cjs/shared/Eufemia.js +2 -2
  201. package/cjs/shared/Eufemia.js.map +1 -1
  202. package/cjs/shared/component-helper.d.ts +1 -0
  203. package/cjs/shared/component-helper.js +8 -1
  204. package/cjs/shared/component-helper.js.map +1 -1
  205. package/cjs/shared/helpers/assignPropsWithContext.d.ts +1 -0
  206. package/cjs/shared/helpers/assignPropsWithContext.js +22 -0
  207. package/cjs/shared/helpers/assignPropsWithContext.js.map +1 -0
  208. package/cjs/shared/helpers/extendPropsWithContext.d.ts +1 -0
  209. package/cjs/shared/helpers/extendPropsWithContext.js +1 -0
  210. package/cjs/shared/helpers/extendPropsWithContext.js.map +1 -1
  211. package/cjs/shared/helpers/filterValidProps.d.ts +1 -0
  212. package/cjs/shared/helpers/filterValidProps.js.map +1 -1
  213. package/cjs/shared/helpers/runCssVersionMismatchWarning.js +14 -3
  214. package/cjs/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
  215. package/cjs/style/core/scopes.scss +1 -1
  216. package/cjs/style/dnb-ui-basis.css +1 -1
  217. package/cjs/style/dnb-ui-basis.min.css +1 -1
  218. package/cjs/style/dnb-ui-body.css +1 -1
  219. package/cjs/style/dnb-ui-body.min.css +1 -1
  220. package/cjs/style/dnb-ui-components.css +129 -98
  221. package/cjs/style/dnb-ui-components.min.css +2 -2
  222. package/cjs/style/dnb-ui-core.css +1 -1
  223. package/cjs/style/dnb-ui-core.min.css +1 -1
  224. package/cjs/style/dnb-ui-extensions.css +77 -43
  225. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  226. package/cjs/style/dnb-ui-forms.css +77 -43
  227. package/cjs/style/dnb-ui-forms.min.css +1 -1
  228. package/cjs/style/dnb-ui-forms.scss +1 -1
  229. package/cjs/style/themes/eiendom/basis.js +4 -0
  230. package/cjs/style/themes/eiendom/basis.js.map +1 -0
  231. package/cjs/style/themes/eiendom/index.js +5 -0
  232. package/cjs/style/themes/eiendom/index.js.map +1 -0
  233. package/cjs/style/themes/sbanken/basis.js +4 -0
  234. package/cjs/style/themes/sbanken/basis.js.map +1 -0
  235. package/cjs/style/themes/sbanken/index.js +5 -0
  236. package/cjs/style/themes/sbanken/index.js.map +1 -0
  237. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +205 -141
  238. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  239. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +77 -43
  240. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  241. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +77 -43
  242. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  243. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +205 -141
  244. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  245. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +77 -43
  246. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  247. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +77 -43
  248. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  249. package/cjs/style/themes/theme-ui/ui-theme-components.css +205 -141
  250. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  251. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +77 -43
  252. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  253. package/cjs/style/themes/theme-ui/ui-theme-forms.css +77 -43
  254. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  255. package/cjs/style/themes/ui/basis.js +4 -0
  256. package/cjs/style/themes/ui/basis.js.map +1 -0
  257. package/cjs/style/themes/ui/index.js +5 -0
  258. package/cjs/style/themes/ui/index.js.map +1 -0
  259. package/components/aria-live/useAriaLive.d.ts +1 -1
  260. package/components/autocomplete/Autocomplete.d.ts +19 -5
  261. package/components/dropdown/Dropdown.d.ts +22 -5
  262. package/components/height-animation/HeightAnimationInstance.js +5 -0
  263. package/components/height-animation/HeightAnimationInstance.js.map +1 -1
  264. package/components/icon/style/dnb-icon.css +1 -0
  265. package/components/icon/style/dnb-icon.min.css +1 -1
  266. package/components/icon/style/dnb-icon.scss +1 -0
  267. package/components/progress-indicator/ProgressIndicator.d.ts +2 -52
  268. package/components/progress-indicator/ProgressIndicator.js +27 -14
  269. package/components/progress-indicator/ProgressIndicator.js.map +1 -1
  270. package/components/progress-indicator/ProgressIndicatorCircular.d.ts +2 -23
  271. package/components/progress-indicator/ProgressIndicatorCircular.js +63 -27
  272. package/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
  273. package/components/progress-indicator/ProgressIndicatorDocs.d.ts +1 -0
  274. package/components/progress-indicator/ProgressIndicatorDocs.js +43 -10
  275. package/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
  276. package/components/progress-indicator/ProgressIndicatorLinear.d.ts +2 -22
  277. package/components/progress-indicator/ProgressIndicatorLinear.js +18 -10
  278. package/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
  279. package/components/progress-indicator/style/dnb-progress-indicator.css +52 -55
  280. package/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  281. package/components/progress-indicator/style/dnb-progress-indicator.scss +65 -69
  282. package/components/progress-indicator/types.d.ts +95 -0
  283. package/components/progress-indicator/types.js +5 -0
  284. package/components/progress-indicator/types.js.map +1 -0
  285. package/es/components/aria-live/useAriaLive.d.ts +1 -1
  286. package/es/components/autocomplete/Autocomplete.d.ts +19 -5
  287. package/es/components/dropdown/Dropdown.d.ts +22 -5
  288. package/es/components/height-animation/HeightAnimationInstance.js +5 -0
  289. package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
  290. package/es/components/icon/style/dnb-icon.css +1 -0
  291. package/es/components/icon/style/dnb-icon.min.css +1 -1
  292. package/es/components/icon/style/dnb-icon.scss +1 -0
  293. package/es/components/progress-indicator/ProgressIndicator.d.ts +2 -52
  294. package/es/components/progress-indicator/ProgressIndicator.js +27 -14
  295. package/es/components/progress-indicator/ProgressIndicator.js.map +1 -1
  296. package/es/components/progress-indicator/ProgressIndicatorCircular.d.ts +2 -23
  297. package/es/components/progress-indicator/ProgressIndicatorCircular.js +62 -27
  298. package/es/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
  299. package/es/components/progress-indicator/ProgressIndicatorDocs.d.ts +1 -0
  300. package/es/components/progress-indicator/ProgressIndicatorDocs.js +43 -10
  301. package/es/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
  302. package/es/components/progress-indicator/ProgressIndicatorLinear.d.ts +2 -22
  303. package/es/components/progress-indicator/ProgressIndicatorLinear.js +18 -10
  304. package/es/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
  305. package/es/components/progress-indicator/style/dnb-progress-indicator.css +52 -55
  306. package/es/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  307. package/es/components/progress-indicator/style/dnb-progress-indicator.scss +65 -69
  308. package/es/components/progress-indicator/types.d.ts +95 -0
  309. package/es/components/progress-indicator/types.js +5 -0
  310. package/es/components/progress-indicator/types.js.map +1 -0
  311. package/es/extensions/forms/DataContext/Context.d.ts +7 -2
  312. package/es/extensions/forms/DataContext/Context.js +0 -2
  313. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  314. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +30 -5
  315. package/es/extensions/forms/DataContext/Provider/Provider.js +67 -34
  316. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  317. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +27 -2
  318. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  319. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +1 -1
  320. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  321. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +5 -2
  322. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  323. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +5 -2
  324. package/es/extensions/forms/Field/Name/Name.d.ts +10 -0
  325. package/es/extensions/forms/Field/Name/Name.js +63 -0
  326. package/es/extensions/forms/Field/Name/Name.js.map +1 -0
  327. package/es/extensions/forms/Field/Name/NameDocs.d.ts +2 -0
  328. package/es/extensions/forms/Field/Name/NameDocs.js +8 -0
  329. package/es/extensions/forms/Field/Name/NameDocs.js.map +1 -0
  330. package/es/extensions/forms/Field/Name/index.d.ts +2 -0
  331. package/es/extensions/forms/Field/Name/index.js +3 -0
  332. package/es/extensions/forms/Field/Name/index.js.map +1 -0
  333. package/es/extensions/forms/Field/Number/Number.d.ts +2 -2
  334. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  335. package/es/extensions/forms/Field/Option/Option.d.ts +2 -0
  336. package/es/extensions/forms/Field/Option/Option.js +20 -0
  337. package/es/extensions/forms/Field/Option/Option.js.map +1 -1
  338. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
  339. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +18 -0
  340. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
  341. package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  342. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  343. package/es/extensions/forms/Field/Selection/Selection.d.ts +11 -4
  344. package/es/extensions/forms/Field/Selection/Selection.js +20 -32
  345. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  346. package/es/extensions/forms/Field/Selection/SelectionDocs.d.ts +2 -0
  347. package/es/extensions/forms/Field/Selection/SelectionDocs.js +38 -0
  348. package/es/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -0
  349. package/es/extensions/forms/Field/String/String.d.ts +2 -2
  350. package/es/extensions/forms/Field/String/String.js.map +1 -1
  351. package/es/extensions/forms/Field/index.d.ts +1 -0
  352. package/es/extensions/forms/Field/index.js +1 -0
  353. package/es/extensions/forms/Field/index.js.map +1 -1
  354. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -3
  355. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  356. package/es/extensions/forms/Form/FieldProps/FieldProps.d.ts +13 -0
  357. package/es/extensions/forms/Form/FieldProps/FieldProps.js +71 -0
  358. package/es/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -0
  359. package/es/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts +8 -0
  360. package/es/extensions/forms/Form/FieldProps/FieldPropsContext.js +7 -0
  361. package/es/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +1 -0
  362. package/es/extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts +2 -0
  363. package/es/extensions/forms/Form/FieldProps/FieldPropsDocs.js +11 -0
  364. package/es/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +1 -0
  365. package/es/extensions/forms/Form/FieldProps/index.d.ts +2 -0
  366. package/es/extensions/forms/Form/FieldProps/index.js +3 -0
  367. package/es/extensions/forms/Form/FieldProps/index.js.map +1 -0
  368. package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  369. package/es/extensions/forms/Form/Handler/Handler.js +18 -4
  370. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  371. package/es/extensions/forms/Form/MainHeading/MainHeading.js +1 -1
  372. package/es/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
  373. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -3
  374. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  375. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +1 -1
  376. package/es/extensions/forms/Form/SubHeading/SubHeading.js +1 -1
  377. package/es/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
  378. package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +2 -2
  379. package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
  380. package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +1 -1
  381. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +2 -2
  382. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  383. package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.css +13 -13
  384. package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.min.css +1 -1
  385. package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +1 -1
  386. package/es/extensions/forms/Form/Visibility/Visibility.d.ts +4 -1
  387. package/es/extensions/forms/Form/Visibility/Visibility.js +7 -4
  388. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  389. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +5 -0
  390. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  391. package/es/extensions/forms/Form/index.d.ts +1 -0
  392. package/es/extensions/forms/Form/index.js +1 -0
  393. package/es/extensions/forms/Form/index.js.map +1 -1
  394. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -4
  395. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  396. package/es/extensions/forms/Iterate/Array/Array.js +2 -2
  397. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  398. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
  399. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  400. package/es/extensions/forms/Iterate/PushButton/PushButton.js +1 -1
  401. package/es/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  402. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  403. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  404. package/es/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
  405. package/es/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  406. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
  407. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  408. package/es/extensions/forms/Iterate/style/dnb-form-iterate.css +14 -14
  409. package/es/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  410. package/es/extensions/forms/Iterate/style/dnb-form-iterate.scss +1 -1
  411. package/es/extensions/forms/Value/Boolean/Boolean.js +8 -3
  412. package/es/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  413. package/es/extensions/forms/Value/Name/Name.d.ts +10 -0
  414. package/es/extensions/forms/Value/Name/Name.js +40 -0
  415. package/es/extensions/forms/Value/Name/Name.js.map +1 -0
  416. package/es/extensions/forms/Value/Name/index.d.ts +2 -0
  417. package/es/extensions/forms/Value/Name/index.js +3 -0
  418. package/es/extensions/forms/Value/Name/index.js.map +1 -0
  419. package/es/extensions/forms/Value/OrganizationNumber/OrganizationNumber.d.ts +7 -0
  420. package/es/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js +24 -0
  421. package/es/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js.map +1 -0
  422. package/es/extensions/forms/Value/OrganizationNumber/index.d.ts +2 -0
  423. package/es/extensions/forms/Value/OrganizationNumber/index.js +3 -0
  424. package/es/extensions/forms/Value/OrganizationNumber/index.js.map +1 -0
  425. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.d.ts +7 -0
  426. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +31 -0
  427. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -0
  428. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
  429. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js +13 -0
  430. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
  431. package/es/extensions/forms/Value/PostalCodeAndCity/index.d.ts +2 -0
  432. package/es/extensions/forms/Value/PostalCodeAndCity/index.js +3 -0
  433. package/es/extensions/forms/Value/PostalCodeAndCity/index.js.map +1 -0
  434. package/es/extensions/forms/Value/String/String.js +8 -3
  435. package/es/extensions/forms/Value/String/String.js.map +1 -1
  436. package/es/extensions/forms/Value/SummaryList/SummaryList.js +1 -1
  437. package/es/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  438. package/es/extensions/forms/Value/ValueDocs.js +6 -1
  439. package/es/extensions/forms/Value/ValueDocs.js.map +1 -1
  440. package/es/extensions/forms/Value/index.d.ts +3 -0
  441. package/es/extensions/forms/Value/index.js +3 -0
  442. package/es/extensions/forms/Value/index.js.map +1 -1
  443. package/es/extensions/forms/ValueBlock/ValueBlock.js +2 -1
  444. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  445. package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +11 -6
  446. package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  447. package/es/extensions/forms/ValueBlock/style/dnb-value-block.scss +11 -3
  448. package/es/extensions/forms/Wizard/Container/WizardContainer.js +17 -51
  449. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  450. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +9 -0
  451. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +46 -0
  452. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -0
  453. package/es/extensions/forms/Wizard/Container/useStepAnimation.d.ts +4 -0
  454. package/es/extensions/forms/Wizard/Container/useStepAnimation.js +29 -0
  455. package/es/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -0
  456. package/es/extensions/forms/Wizard/Step/Step.js +14 -2
  457. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  458. package/es/extensions/forms/Wizard/hooks/useStep.js +3 -2
  459. package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  460. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +29 -2
  461. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  462. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.scss +35 -2
  463. package/es/extensions/forms/constants/locales/en-GB.d.ts +9 -0
  464. package/es/extensions/forms/constants/locales/en-GB.js +12 -3
  465. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  466. package/es/extensions/forms/constants/locales/en-US.d.ts +9 -0
  467. package/es/extensions/forms/constants/locales/index.d.ts +18 -0
  468. package/es/extensions/forms/constants/locales/nb-NO.d.ts +9 -0
  469. package/es/extensions/forms/constants/locales/nb-NO.js +11 -2
  470. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  471. package/es/extensions/forms/hooks/useFieldProps.js +8 -3
  472. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  473. package/es/extensions/forms/hooks/useTranslation.js +3 -1
  474. package/es/extensions/forms/hooks/useTranslation.js.map +1 -1
  475. package/es/extensions/forms/style/dnb-forms.css +77 -43
  476. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  477. package/es/extensions/forms/types.d.ts +3 -2
  478. package/es/extensions/forms/types.js.map +1 -1
  479. package/es/fragments/drawer-list/DrawerList.d.ts +8 -4
  480. package/es/shared/Context.d.ts +4 -4
  481. package/es/shared/Context.js.map +1 -1
  482. package/es/shared/Eufemia.d.ts +1 -1
  483. package/es/shared/Eufemia.js +2 -2
  484. package/es/shared/Eufemia.js.map +1 -1
  485. package/es/shared/component-helper.d.ts +1 -0
  486. package/es/shared/component-helper.js +2 -1
  487. package/es/shared/component-helper.js.map +1 -1
  488. package/es/shared/helpers/assignPropsWithContext.d.ts +1 -0
  489. package/es/shared/helpers/assignPropsWithContext.js +12 -0
  490. package/es/shared/helpers/assignPropsWithContext.js.map +1 -0
  491. package/es/shared/helpers/extendPropsWithContext.d.ts +1 -0
  492. package/es/shared/helpers/extendPropsWithContext.js +1 -1
  493. package/es/shared/helpers/extendPropsWithContext.js.map +1 -1
  494. package/es/shared/helpers/filterValidProps.d.ts +1 -0
  495. package/es/shared/helpers/filterValidProps.js.map +1 -1
  496. package/es/shared/helpers/runCssVersionMismatchWarning.js +14 -3
  497. package/es/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
  498. package/es/style/core/scopes.scss +1 -1
  499. package/es/style/dnb-ui-basis.css +1 -1
  500. package/es/style/dnb-ui-basis.min.css +1 -1
  501. package/es/style/dnb-ui-body.css +1 -1
  502. package/es/style/dnb-ui-body.min.css +1 -1
  503. package/es/style/dnb-ui-components.css +129 -98
  504. package/es/style/dnb-ui-components.min.css +2 -2
  505. package/es/style/dnb-ui-core.css +1 -1
  506. package/es/style/dnb-ui-core.min.css +1 -1
  507. package/es/style/dnb-ui-extensions.css +77 -43
  508. package/es/style/dnb-ui-extensions.min.css +1 -1
  509. package/es/style/dnb-ui-forms.css +77 -43
  510. package/es/style/dnb-ui-forms.min.css +1 -1
  511. package/es/style/dnb-ui-forms.scss +1 -1
  512. package/es/style/themes/eiendom/basis.js +1 -0
  513. package/es/style/themes/eiendom/basis.js.map +1 -0
  514. package/es/style/themes/eiendom/index.js +3 -0
  515. package/es/style/themes/eiendom/index.js.map +1 -0
  516. package/es/style/themes/sbanken/basis.js +1 -0
  517. package/es/style/themes/sbanken/basis.js.map +1 -0
  518. package/es/style/themes/sbanken/index.d.ts +1 -0
  519. package/es/style/themes/sbanken/index.js +3 -0
  520. package/es/style/themes/sbanken/index.js.map +1 -0
  521. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +205 -141
  522. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  523. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +77 -43
  524. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  525. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +77 -43
  526. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  527. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +205 -141
  528. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  529. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +77 -43
  530. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  531. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +77 -43
  532. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  533. package/es/style/themes/theme-ui/ui-theme-components.css +205 -141
  534. package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  535. package/es/style/themes/theme-ui/ui-theme-extensions.css +77 -43
  536. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  537. package/es/style/themes/theme-ui/ui-theme-forms.css +77 -43
  538. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  539. package/es/style/themes/ui/basis.d.ts +1 -0
  540. package/es/style/themes/ui/basis.js +1 -0
  541. package/es/style/themes/ui/basis.js.map +1 -0
  542. package/es/style/themes/ui/index.d.ts +1 -0
  543. package/es/style/themes/ui/index.js +3 -0
  544. package/es/style/themes/ui/index.js.map +1 -0
  545. package/esm/dnb-ui-basis.min.mjs +1 -1
  546. package/esm/dnb-ui-components.min.mjs +1 -1
  547. package/esm/dnb-ui-elements.min.mjs +1 -1
  548. package/esm/dnb-ui-extensions.min.mjs +3 -3
  549. package/esm/dnb-ui-lib.min.mjs +1 -1
  550. package/extensions/forms/DataContext/Context.d.ts +7 -2
  551. package/extensions/forms/DataContext/Context.js +0 -2
  552. package/extensions/forms/DataContext/Context.js.map +1 -1
  553. package/extensions/forms/DataContext/Provider/Provider.d.ts +30 -5
  554. package/extensions/forms/DataContext/Provider/Provider.js +69 -35
  555. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  556. package/extensions/forms/DataContext/Provider/ProviderDocs.js +27 -2
  557. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  558. package/extensions/forms/Field/ArraySelection/ArraySelection.js +1 -1
  559. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  560. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +5 -2
  561. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  562. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +5 -2
  563. package/extensions/forms/Field/Name/Name.d.ts +10 -0
  564. package/extensions/forms/Field/Name/Name.js +63 -0
  565. package/extensions/forms/Field/Name/Name.js.map +1 -0
  566. package/extensions/forms/Field/Name/NameDocs.d.ts +2 -0
  567. package/extensions/forms/Field/Name/NameDocs.js +8 -0
  568. package/extensions/forms/Field/Name/NameDocs.js.map +1 -0
  569. package/extensions/forms/Field/Name/index.d.ts +2 -0
  570. package/extensions/forms/Field/Name/index.js +3 -0
  571. package/extensions/forms/Field/Name/index.js.map +1 -0
  572. package/extensions/forms/Field/Number/Number.d.ts +2 -2
  573. package/extensions/forms/Field/Number/Number.js.map +1 -1
  574. package/extensions/forms/Field/Option/Option.d.ts +2 -0
  575. package/extensions/forms/Field/Option/Option.js +20 -0
  576. package/extensions/forms/Field/Option/Option.js.map +1 -1
  577. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
  578. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +18 -0
  579. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
  580. package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  581. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  582. package/extensions/forms/Field/Selection/Selection.d.ts +11 -4
  583. package/extensions/forms/Field/Selection/Selection.js +20 -32
  584. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  585. package/extensions/forms/Field/Selection/SelectionDocs.d.ts +2 -0
  586. package/extensions/forms/Field/Selection/SelectionDocs.js +38 -0
  587. package/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -0
  588. package/extensions/forms/Field/String/String.d.ts +2 -2
  589. package/extensions/forms/Field/String/String.js.map +1 -1
  590. package/extensions/forms/Field/index.d.ts +1 -0
  591. package/extensions/forms/Field/index.js +1 -0
  592. package/extensions/forms/Field/index.js.map +1 -1
  593. package/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -3
  594. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  595. package/extensions/forms/Form/FieldProps/FieldProps.d.ts +13 -0
  596. package/extensions/forms/Form/FieldProps/FieldProps.js +71 -0
  597. package/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -0
  598. package/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts +8 -0
  599. package/extensions/forms/Form/FieldProps/FieldPropsContext.js +7 -0
  600. package/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +1 -0
  601. package/extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts +2 -0
  602. package/extensions/forms/Form/FieldProps/FieldPropsDocs.js +11 -0
  603. package/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +1 -0
  604. package/extensions/forms/Form/FieldProps/index.d.ts +2 -0
  605. package/extensions/forms/Form/FieldProps/index.js +3 -0
  606. package/extensions/forms/Form/FieldProps/index.js.map +1 -0
  607. package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  608. package/extensions/forms/Form/Handler/Handler.js +18 -4
  609. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  610. package/extensions/forms/Form/MainHeading/MainHeading.js +1 -1
  611. package/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
  612. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -3
  613. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  614. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +1 -1
  615. package/extensions/forms/Form/SubHeading/SubHeading.js +1 -1
  616. package/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
  617. package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +2 -2
  618. package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
  619. package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +1 -1
  620. package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +2 -2
  621. package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  622. package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.css +13 -13
  623. package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.min.css +1 -1
  624. package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +1 -1
  625. package/extensions/forms/Form/Visibility/Visibility.d.ts +4 -1
  626. package/extensions/forms/Form/Visibility/Visibility.js +7 -4
  627. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  628. package/extensions/forms/Form/Visibility/VisibilityDocs.js +5 -0
  629. package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  630. package/extensions/forms/Form/index.d.ts +1 -0
  631. package/extensions/forms/Form/index.js +1 -0
  632. package/extensions/forms/Form/index.js.map +1 -1
  633. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -4
  634. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  635. package/extensions/forms/Iterate/Array/Array.js +2 -2
  636. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  637. package/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
  638. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  639. package/extensions/forms/Iterate/PushButton/PushButton.js +1 -1
  640. package/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  641. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  642. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  643. package/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
  644. package/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  645. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
  646. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  647. package/extensions/forms/Iterate/style/dnb-form-iterate.css +14 -14
  648. package/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  649. package/extensions/forms/Iterate/style/dnb-form-iterate.scss +1 -1
  650. package/extensions/forms/Value/Boolean/Boolean.js +8 -3
  651. package/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  652. package/extensions/forms/Value/Name/Name.d.ts +10 -0
  653. package/extensions/forms/Value/Name/Name.js +40 -0
  654. package/extensions/forms/Value/Name/Name.js.map +1 -0
  655. package/extensions/forms/Value/Name/index.d.ts +2 -0
  656. package/extensions/forms/Value/Name/index.js +3 -0
  657. package/extensions/forms/Value/Name/index.js.map +1 -0
  658. package/extensions/forms/Value/OrganizationNumber/OrganizationNumber.d.ts +7 -0
  659. package/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js +24 -0
  660. package/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js.map +1 -0
  661. package/extensions/forms/Value/OrganizationNumber/index.d.ts +2 -0
  662. package/extensions/forms/Value/OrganizationNumber/index.js +3 -0
  663. package/extensions/forms/Value/OrganizationNumber/index.js.map +1 -0
  664. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.d.ts +7 -0
  665. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +31 -0
  666. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -0
  667. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
  668. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js +13 -0
  669. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
  670. package/extensions/forms/Value/PostalCodeAndCity/index.d.ts +2 -0
  671. package/extensions/forms/Value/PostalCodeAndCity/index.js +3 -0
  672. package/extensions/forms/Value/PostalCodeAndCity/index.js.map +1 -0
  673. package/extensions/forms/Value/String/String.js +8 -3
  674. package/extensions/forms/Value/String/String.js.map +1 -1
  675. package/extensions/forms/Value/SummaryList/SummaryList.js +1 -1
  676. package/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  677. package/extensions/forms/Value/ValueDocs.js +6 -1
  678. package/extensions/forms/Value/ValueDocs.js.map +1 -1
  679. package/extensions/forms/Value/index.d.ts +3 -0
  680. package/extensions/forms/Value/index.js +3 -0
  681. package/extensions/forms/Value/index.js.map +1 -1
  682. package/extensions/forms/ValueBlock/ValueBlock.js +2 -1
  683. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  684. package/extensions/forms/ValueBlock/style/dnb-value-block.css +11 -6
  685. package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  686. package/extensions/forms/ValueBlock/style/dnb-value-block.scss +11 -3
  687. package/extensions/forms/Wizard/Container/WizardContainer.js +17 -52
  688. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  689. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +9 -0
  690. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +47 -0
  691. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -0
  692. package/extensions/forms/Wizard/Container/useStepAnimation.d.ts +4 -0
  693. package/extensions/forms/Wizard/Container/useStepAnimation.js +30 -0
  694. package/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -0
  695. package/extensions/forms/Wizard/Step/Step.js +14 -2
  696. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  697. package/extensions/forms/Wizard/hooks/useStep.js +3 -2
  698. package/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  699. package/extensions/forms/Wizard/style/dnb-wizard-layout.css +29 -2
  700. package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  701. package/extensions/forms/Wizard/style/dnb-wizard-layout.scss +35 -2
  702. package/extensions/forms/constants/locales/en-GB.d.ts +9 -0
  703. package/extensions/forms/constants/locales/en-GB.js +12 -3
  704. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  705. package/extensions/forms/constants/locales/en-US.d.ts +9 -0
  706. package/extensions/forms/constants/locales/index.d.ts +18 -0
  707. package/extensions/forms/constants/locales/nb-NO.d.ts +9 -0
  708. package/extensions/forms/constants/locales/nb-NO.js +11 -2
  709. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  710. package/extensions/forms/hooks/useFieldProps.js +8 -4
  711. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  712. package/extensions/forms/hooks/useTranslation.js +3 -1
  713. package/extensions/forms/hooks/useTranslation.js.map +1 -1
  714. package/extensions/forms/style/dnb-forms.css +77 -43
  715. package/extensions/forms/style/dnb-forms.min.css +1 -1
  716. package/extensions/forms/types.d.ts +3 -2
  717. package/extensions/forms/types.js.map +1 -1
  718. package/fragments/drawer-list/DrawerList.d.ts +8 -4
  719. package/package.json +1 -1
  720. package/shared/Context.d.ts +4 -4
  721. package/shared/Context.js.map +1 -1
  722. package/shared/Eufemia.d.ts +1 -1
  723. package/shared/Eufemia.js +2 -2
  724. package/shared/Eufemia.js.map +1 -1
  725. package/shared/component-helper.d.ts +1 -0
  726. package/shared/component-helper.js +2 -1
  727. package/shared/component-helper.js.map +1 -1
  728. package/shared/helpers/assignPropsWithContext.d.ts +1 -0
  729. package/shared/helpers/assignPropsWithContext.js +16 -0
  730. package/shared/helpers/assignPropsWithContext.js.map +1 -0
  731. package/shared/helpers/extendPropsWithContext.d.ts +1 -0
  732. package/shared/helpers/extendPropsWithContext.js +1 -1
  733. package/shared/helpers/extendPropsWithContext.js.map +1 -1
  734. package/shared/helpers/filterValidProps.d.ts +1 -0
  735. package/shared/helpers/filterValidProps.js.map +1 -1
  736. package/shared/helpers/runCssVersionMismatchWarning.js +14 -3
  737. package/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
  738. package/style/core/scopes.scss +1 -1
  739. package/style/dnb-ui-basis.css +1 -1
  740. package/style/dnb-ui-basis.min.css +1 -1
  741. package/style/dnb-ui-body.css +1 -1
  742. package/style/dnb-ui-body.min.css +1 -1
  743. package/style/dnb-ui-components.css +129 -98
  744. package/style/dnb-ui-components.min.css +2 -2
  745. package/style/dnb-ui-core.css +1 -1
  746. package/style/dnb-ui-core.min.css +1 -1
  747. package/style/dnb-ui-extensions.css +77 -43
  748. package/style/dnb-ui-extensions.min.css +1 -1
  749. package/style/dnb-ui-forms.css +77 -43
  750. package/style/dnb-ui-forms.min.css +1 -1
  751. package/style/dnb-ui-forms.scss +1 -1
  752. package/style/themes/eiendom/basis.d.ts +1 -0
  753. package/style/themes/eiendom/basis.js +1 -0
  754. package/style/themes/eiendom/basis.js.map +1 -0
  755. package/style/themes/eiendom/index.d.ts +1 -0
  756. package/style/themes/eiendom/index.js +3 -0
  757. package/style/themes/eiendom/index.js.map +1 -0
  758. package/style/themes/sbanken/basis.d.ts +1 -0
  759. package/style/themes/sbanken/basis.js +1 -0
  760. package/style/themes/sbanken/basis.js.map +1 -0
  761. package/style/themes/sbanken/index.d.ts +1 -0
  762. package/style/themes/sbanken/index.js +3 -0
  763. package/style/themes/sbanken/index.js.map +1 -0
  764. package/style/themes/theme-eiendom/eiendom-theme-components.css +205 -141
  765. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  766. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +77 -43
  767. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  768. package/style/themes/theme-eiendom/eiendom-theme-forms.css +77 -43
  769. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  770. package/style/themes/theme-sbanken/sbanken-theme-components.css +205 -141
  771. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  772. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +77 -43
  773. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  774. package/style/themes/theme-sbanken/sbanken-theme-forms.css +77 -43
  775. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  776. package/style/themes/theme-ui/ui-theme-components.css +205 -141
  777. package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  778. package/style/themes/theme-ui/ui-theme-extensions.css +77 -43
  779. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  780. package/style/themes/theme-ui/ui-theme-forms.css +77 -43
  781. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  782. package/style/themes/ui/basis.d.ts +1 -0
  783. package/style/themes/ui/basis.js +1 -0
  784. package/style/themes/ui/basis.js.map +1 -0
  785. package/style/themes/ui/index.d.ts +1 -0
  786. package/style/themes/ui/index.js +3 -0
  787. package/style/themes/ui/index.js.map +1 -0
  788. package/umd/dnb-ui-basis.min.js +1 -1
  789. package/umd/dnb-ui-components.min.js +1 -1
  790. package/umd/dnb-ui-elements.min.js +1 -1
  791. package/umd/dnb-ui-extensions.min.js +3 -3
  792. package/umd/dnb-ui-lib.min.js +1 -1
  793. package/cjs/style/themes/eiendom.js +0 -5
  794. package/cjs/style/themes/eiendom.js.map +0 -1
  795. package/cjs/style/themes/sbanken.js +0 -5
  796. package/cjs/style/themes/sbanken.js.map +0 -1
  797. package/cjs/style/themes/ui.js +0 -5
  798. package/cjs/style/themes/ui.js.map +0 -1
  799. package/es/style/themes/eiendom.js +0 -3
  800. package/es/style/themes/eiendom.js.map +0 -1
  801. package/es/style/themes/sbanken.js +0 -3
  802. package/es/style/themes/sbanken.js.map +0 -1
  803. package/es/style/themes/ui.js +0 -3
  804. package/es/style/themes/ui.js.map +0 -1
  805. package/style/themes/eiendom.js +0 -3
  806. package/style/themes/eiendom.js.map +0 -1
  807. package/style/themes/sbanken.js +0 -3
  808. package/style/themes/sbanken.js.map +0 -1
  809. package/style/themes/ui.js +0 -3
  810. package/style/themes/ui.js.map +0 -1
  811. /package/cjs/extensions/forms/Form/Element/style/{dnb-forms-element.css → dnb-form-element.css} +0 -0
  812. /package/cjs/extensions/forms/Form/Element/style/{dnb-forms-element.min.css → dnb-form-element.min.css} +0 -0
  813. /package/cjs/extensions/forms/Form/Element/style/{dnb-forms-element.scss → dnb-form-element.scss} +0 -0
  814. /package/cjs/style/themes/{eiendom.d.ts → eiendom/basis.d.ts} +0 -0
  815. /package/cjs/style/themes/{sbanken.d.ts → eiendom/index.d.ts} +0 -0
  816. /package/cjs/style/themes/{ui.d.ts → sbanken/basis.d.ts} +0 -0
  817. /package/{es/style/themes/eiendom.d.ts → cjs/style/themes/sbanken/index.d.ts} +0 -0
  818. /package/{es/style/themes/sbanken.d.ts → cjs/style/themes/ui/basis.d.ts} +0 -0
  819. /package/{es/style/themes/ui.d.ts → cjs/style/themes/ui/index.d.ts} +0 -0
  820. /package/es/extensions/forms/Form/Element/style/{dnb-forms-element.css → dnb-form-element.css} +0 -0
  821. /package/es/extensions/forms/Form/Element/style/{dnb-forms-element.min.css → dnb-form-element.min.css} +0 -0
  822. /package/es/extensions/forms/Form/Element/style/{dnb-forms-element.scss → dnb-form-element.scss} +0 -0
  823. /package/{style/themes/eiendom.d.ts → es/style/themes/eiendom/basis.d.ts} +0 -0
  824. /package/{style/themes/sbanken.d.ts → es/style/themes/eiendom/index.d.ts} +0 -0
  825. /package/{style/themes/ui.d.ts → es/style/themes/sbanken/basis.d.ts} +0 -0
  826. /package/extensions/forms/Form/Element/style/{dnb-forms-element.css → dnb-form-element.css} +0 -0
  827. /package/extensions/forms/Form/Element/style/{dnb-forms-element.min.css → dnb-form-element.min.css} +0 -0
  828. /package/extensions/forms/Form/Element/style/{dnb-forms-element.scss → dnb-form-element.scss} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","String","Number","Boolean","Currency","Date","Email","NationalIdentityNumber","PhoneNumber","BankAccountNumber","SummaryList","Composition"],"sources":["../../../../../src/extensions/forms/Value/index.ts"],"sourcesContent":["export { default as String } from './String'\nexport { default as Number } from './Number'\nexport { default as Boolean } from './Boolean'\nexport { default as Currency } from './Currency'\nexport { default as Date } from './Date'\nexport { default as Email } from './Email'\nexport { default as NationalIdentityNumber } from './NationalIdentityNumber'\nexport { default as PhoneNumber } from './PhoneNumber'\nexport { default as BankAccountNumber } from './BankAccountNumber'\nexport { default as SummaryList } from './SummaryList'\nexport { default as Composition } from './Composition'\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,MAAM,QAAQ,UAAU;AAC5C,SAASD,OAAO,IAAIE,MAAM,QAAQ,UAAU;AAC5C,SAASF,OAAO,IAAIG,OAAO,QAAQ,WAAW;AAC9C,SAASH,OAAO,IAAII,QAAQ,QAAQ,YAAY;AAChD,SAASJ,OAAO,IAAIK,IAAI,QAAQ,QAAQ;AACxC,SAASL,OAAO,IAAIM,KAAK,QAAQ,SAAS;AAC1C,SAASN,OAAO,IAAIO,sBAAsB,QAAQ,0BAA0B;AAC5E,SAASP,OAAO,IAAIQ,WAAW,QAAQ,eAAe;AACtD,SAASR,OAAO,IAAIS,iBAAiB,QAAQ,qBAAqB;AAClE,SAAST,OAAO,IAAIU,WAAW,QAAQ,eAAe;AACtD,SAASV,OAAO,IAAIW,WAAW,QAAQ,eAAe"}
1
+ {"version":3,"file":"index.js","names":["default","String","Number","Boolean","Currency","Date","Email","Name","NationalIdentityNumber","PostalCodeAndCity","PhoneNumber","BankAccountNumber","OrganizationNumber","SummaryList","Composition"],"sources":["../../../../../src/extensions/forms/Value/index.ts"],"sourcesContent":["export { default as String } from './String'\nexport { default as Number } from './Number'\nexport { default as Boolean } from './Boolean'\nexport { default as Currency } from './Currency'\nexport { default as Date } from './Date'\nexport { default as Email } from './Email'\nexport { default as Name } from './Name'\nexport { default as NationalIdentityNumber } from './NationalIdentityNumber'\nexport { default as PostalCodeAndCity } from './PostalCodeAndCity'\nexport { default as PhoneNumber } from './PhoneNumber'\nexport { default as BankAccountNumber } from './BankAccountNumber'\nexport { default as OrganizationNumber } from './OrganizationNumber'\nexport { default as SummaryList } from './SummaryList'\nexport { default as Composition } from './Composition'\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,MAAM,QAAQ,UAAU;AAC5C,SAASD,OAAO,IAAIE,MAAM,QAAQ,UAAU;AAC5C,SAASF,OAAO,IAAIG,OAAO,QAAQ,WAAW;AAC9C,SAASH,OAAO,IAAII,QAAQ,QAAQ,YAAY;AAChD,SAASJ,OAAO,IAAIK,IAAI,QAAQ,QAAQ;AACxC,SAASL,OAAO,IAAIM,KAAK,QAAQ,SAAS;AAC1C,SAASN,OAAO,IAAIO,IAAI,QAAQ,QAAQ;AACxC,SAASP,OAAO,IAAIQ,sBAAsB,QAAQ,0BAA0B;AAC5E,SAASR,OAAO,IAAIS,iBAAiB,QAAQ,qBAAqB;AAClE,SAAST,OAAO,IAAIU,WAAW,QAAQ,eAAe;AACtD,SAASV,OAAO,IAAIW,iBAAiB,QAAQ,qBAAqB;AAClE,SAASX,OAAO,IAAIY,kBAAkB,QAAQ,sBAAsB;AACpE,SAASZ,OAAO,IAAIa,WAAW,QAAQ,eAAe;AACtD,SAASb,OAAO,IAAIc,WAAW,QAAQ,eAAe"}
@@ -16,7 +16,7 @@ function ValueBlock(props) {
16
16
  const valueBlockContext = useContext(ValueBlockContext);
17
17
  const {
18
18
  className,
19
- label,
19
+ label: labelProp,
20
20
  inline,
21
21
  maxWidth = props.composition ? props.maxWidth : 'large',
22
22
  placeholder,
@@ -25,6 +25,7 @@ function ValueBlock(props) {
25
25
  composition,
26
26
  gap = 'xx-small'
27
27
  } = props;
28
+ const label = inline ? null : labelProp;
28
29
  if ((children === undefined || children === null || children === false) && !showEmpty && !placeholder) {
29
30
  return null;
30
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ValueBlock.js","names":["React","Fragment","useContext","classnames","Dd","Dl","Dt","Span","FormLabel","SummaryListContext","pickSpacingProps","ValueBlockContext","ValueBlock","props","summaryListContext","valueBlockContext","className","label","inline","maxWidth","composition","placeholder","showEmpty","children","gap","undefined","content","compositionClass","Element","isNested","layout","Item","_span","createElement","Provider","value","_objectSpread","_extends","element","labelDirection","_supportsSpacingProps"],"sources":["../../../../../src/extensions/forms/ValueBlock/ValueBlock.tsx"],"sourcesContent":["import React, { Fragment, useContext } from 'react'\nimport classnames from 'classnames'\nimport { Dd, Dl, Dt, Span } from '../../../elements'\nimport { FormLabel } from '../../../components'\nimport SummaryListContext from '../Value/SummaryList/SummaryListContext'\nimport { ValueProps } from '../types'\nimport { pickSpacingProps } from '../../../components/flex/utils'\nimport ValueBlockContext from './ValueBlockContext'\n\n/**\n * Props are documented in ValueDocs.ts\n */\nexport type Props = Omit<ValueProps<unknown>, 'value'> & {\n children?: React.ReactNode\n\n /**\n * Used internally by the Composition component\n */\n composition?: boolean\n\n /**\n * Used internally by the Composition component\n */\n gap?: 'xx-small' | 'x-small' | 'small' | 'medium' | 'large' | false\n}\n\nfunction ValueBlock(props: Props) {\n const summaryListContext = useContext(SummaryListContext)\n const valueBlockContext = useContext(ValueBlockContext)\n\n const {\n className,\n label,\n inline,\n maxWidth = props.composition ? props.maxWidth : 'large',\n placeholder,\n showEmpty,\n children,\n composition,\n gap = 'xx-small',\n } = props\n\n if (\n (children === undefined || children === null || children === false) &&\n !showEmpty &&\n !placeholder\n ) {\n return null\n }\n\n let content = null\n\n const compositionClass = classnames(\n composition &&\n `dnb-forms-value-block__composition--${\n composition === true ? 'horizontal' : composition\n }`\n )\n\n if (summaryListContext) {\n const Element = summaryListContext.isNested\n ? Dl\n : summaryListContext.layout === 'horizontal'\n ? Dl.Item\n : Fragment\n\n if (!label && valueBlockContext?.composition) {\n content = (\n <span\n className={classnames(\n 'dnb-forms-value-block__content',\n gap && `dnb-forms-value-block__content--gap-${gap}`\n )}\n >\n {children}\n </span>\n ) ?? (\n <span className=\"dnb-forms-value-block__placeholder\">\n {placeholder}\n </span>\n )\n } else {\n content = (\n <Element>\n <SummaryListContext.Provider\n value={{ ...summaryListContext, isNested: true }}\n >\n {label && (\n <Dt className=\"dnb-forms-value-block__label\">\n <strong>{label}</strong>\n </Dt>\n )}\n <Dd\n className={classnames(\n summaryListContext.layout !== 'grid' &&\n !summaryListContext.isNested &&\n maxWidth &&\n `dnb-forms-value-block--max-width-${maxWidth}`,\n compositionClass\n )}\n >\n {children ? (\n <span\n className={classnames(\n 'dnb-forms-value-block__content',\n gap && `dnb-forms-value-block__content--gap-${gap}`\n )}\n >\n {children}\n </span>\n ) : (\n <span className=\"dnb-forms-value-block__placeholder\">\n {placeholder}\n </span>\n )}\n </Dd>\n </SummaryListContext.Provider>\n </Element>\n )\n }\n } else {\n content = (\n <Span\n className={classnames(\n 'dnb-forms-value-block',\n inline && 'dnb-forms-value-block--inline',\n maxWidth && `dnb-forms-value-block--max-width-${maxWidth}`,\n compositionClass,\n className\n )}\n {...pickSpacingProps(props)}\n >\n {label && (\n <FormLabel\n element=\"strong\" // enhance a11y: https://www.w3.org/WAI/WCAG21/Techniques/html/H49\n className=\"dnb-forms-value-block__label\"\n labelDirection={inline ? 'horizontal' : 'vertical'}\n >\n {label}\n </FormLabel>\n )}\n {children ? (\n <span\n className={classnames(\n 'dnb-forms-value-block__content',\n gap && `dnb-forms-value-block__content--gap-${gap}`\n )}\n >\n {children}\n </span>\n ) : (\n <span className=\"dnb-forms-value-block__placeholder\">\n {placeholder}\n </span>\n )}\n </Span>\n )\n }\n\n return (\n <ValueBlockContext.Provider value={props}>\n {content}\n </ValueBlockContext.Provider>\n )\n}\n\nValueBlock._supportsSpacingProps = true\nexport default ValueBlock\n"],"mappings":";;;;;;AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,UAAU,QAAQ,OAAO;AACnD,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,IAAI,QAAQ,mBAAmB;AACpD,SAASC,SAAS,QAAQ,qBAAqB;AAC/C,OAAOC,kBAAkB,MAAM,yCAAyC;AAExE,SAASC,gBAAgB,QAAQ,gCAAgC;AACjE,OAAOC,iBAAiB,MAAM,qBAAqB;AAmBnD,SAASC,UAAUA,CAACC,KAAY,EAAE;EAChC,MAAMC,kBAAkB,GAAGZ,UAAU,CAACO,kBAAkB,CAAC;EACzD,MAAMM,iBAAiB,GAAGb,UAAU,CAACS,iBAAiB,CAAC;EAEvD,MAAM;IACJK,SAAS;IACTC,KAAK;IACLC,MAAM;IACNC,QAAQ,GAAGN,KAAK,CAACO,WAAW,GAAGP,KAAK,CAACM,QAAQ,GAAG,OAAO;IACvDE,WAAW;IACXC,SAAS;IACTC,QAAQ;IACRH,WAAW;IACXI,GAAG,GAAG;EACR,CAAC,GAAGX,KAAK;EAET,IACE,CAACU,QAAQ,KAAKE,SAAS,IAAIF,QAAQ,KAAK,IAAI,IAAIA,QAAQ,KAAK,KAAK,KAClE,CAACD,SAAS,IACV,CAACD,WAAW,EACZ;IACA,OAAO,IAAI;EACb;EAEA,IAAIK,OAAO,GAAG,IAAI;EAElB,MAAMC,gBAAgB,GACpBP,WAAW,GACR,uCACCA,WAAW,KAAK,IAAI,GAAG,YAAY,GAAGA,WACvC,EAAC,KACL;EAED,IAAIN,kBAAkB,EAAE;IACtB,MAAMc,OAAO,GAAGd,kBAAkB,CAACe,QAAQ,GACvCxB,EAAE,GACFS,kBAAkB,CAACgB,MAAM,KAAK,YAAY,GAC1CzB,EAAE,CAAC0B,IAAI,GACP9B,QAAQ;IAEZ,IAAI,CAACgB,KAAK,IAAIF,iBAAiB,aAAjBA,iBAAiB,eAAjBA,iBAAiB,CAAEK,WAAW,EAAE;MAAA,IAAAY,KAAA;MAC5CN,OAAO,IAAAM,KAAA,GACLhC,KAAA,CAAAiC,aAAA;QACEjB,SAAS,EACP,gCAAgC,IAChCQ,GAAG,2CAA2CA,GAAI;MAClD,GAEDD,QACG,CAAC,cAAAS,KAAA,cAAAA,KAAA,GAEPhC,KAAA,CAAAiC,aAAA;QAAMjB,SAAS,EAAC;MAAoC,GACjDK,WACG,CACP;IACH,CAAC,MAAM;MACLK,OAAO,GACL1B,KAAA,CAAAiC,aAAA,CAACL,OAAO,QACN5B,KAAA,CAAAiC,aAAA,CAACxB,kBAAkB,CAACyB,QAAQ;QAC1BC,KAAK,EAAAC,aAAA,CAAAA,aAAA,KAAOtB,kBAAkB;UAAEe,QAAQ,EAAE;QAAI;MAAG,GAEhDZ,KAAK,IACJjB,KAAA,CAAAiC,aAAA,CAAC3B,EAAE;QAACU,SAAS,EAAC;MAA8B,GAC1ChB,KAAA,CAAAiC,aAAA,iBAAShB,KAAc,CACrB,CACL,EACDjB,KAAA,CAAAiC,aAAA,CAAC7B,EAAE;QACDY,SAAS,EAAEb,UAAU,CAKnBwB,gBAAgB,EAJhBb,kBAAkB,CAACgB,MAAM,KAAK,MAAM,IAClC,CAAChB,kBAAkB,CAACe,QAAQ,IAC5BV,QAAQ,IACP,oCAAmCA,QAAS,EAEjD;MAAE,GAEDI,QAAQ,GACPvB,KAAA,CAAAiC,aAAA;QACEjB,SAAS,EACP,gCAAgC,IAChCQ,GAAG,2CAA2CA,GAAI;MAClD,GAEDD,QACG,CAAC,GAEPvB,KAAA,CAAAiC,aAAA;QAAMjB,SAAS,EAAC;MAAoC,GACjDK,WACG,CAEN,CACuB,CACtB,CACV;IACH;EACF,CAAC,MAAM;IACLK,OAAO,GACL1B,KAAA,CAAAiC,aAAA,CAAC1B,IAAI,EAAA8B,QAAA;MACHrB,SAAS,EAAEb,UAAU,CACnB,uBAAuB,EAGvBwB,gBAAgB,EAChBX,SAAS,EAHTE,MAAM,IAAI,+BAA+B,EACzCC,QAAQ,IAAK,oCAAmCA,QAAS,EAG3D;IAAE,GACET,gBAAgB,CAACG,KAAK,CAAC,GAE1BI,KAAK,IACJjB,KAAA,CAAAiC,aAAA,CAACzB,SAAS;MACR8B,OAAO,EAAC,QAAQ;MAChBtB,SAAS,EAAC,8BAA8B;MACxCuB,cAAc,EAAErB,MAAM,GAAG,YAAY,GAAG;IAAW,GAElDD,KACQ,CACZ,EACAM,QAAQ,GACPvB,KAAA,CAAAiC,aAAA;MACEjB,SAAS,EACP,gCAAgC,IAChCQ,GAAG,2CAA2CA,GAAI;IAClD,GAEDD,QACG,CAAC,GAEPvB,KAAA,CAAAiC,aAAA;MAAMjB,SAAS,EAAC;IAAoC,GACjDK,WACG,CAEJ,CACP;EACH;EAEA,OACErB,KAAA,CAAAiC,aAAA,CAACtB,iBAAiB,CAACuB,QAAQ;IAACC,KAAK,EAAEtB;EAAM,GACtCa,OACyB,CAAC;AAEjC;AAEAd,UAAU,CAAC4B,qBAAqB,GAAG,IAAI;AACvC,eAAe5B,UAAU"}
1
+ {"version":3,"file":"ValueBlock.js","names":["React","Fragment","useContext","classnames","Dd","Dl","Dt","Span","FormLabel","SummaryListContext","pickSpacingProps","ValueBlockContext","ValueBlock","props","summaryListContext","valueBlockContext","className","label","labelProp","inline","maxWidth","composition","placeholder","showEmpty","children","gap","undefined","content","compositionClass","Element","isNested","layout","Item","_span","createElement","Provider","value","_objectSpread","_extends","element","labelDirection","_supportsSpacingProps"],"sources":["../../../../../src/extensions/forms/ValueBlock/ValueBlock.tsx"],"sourcesContent":["import React, { Fragment, useContext } from 'react'\nimport classnames from 'classnames'\nimport { Dd, Dl, Dt, Span } from '../../../elements'\nimport { FormLabel } from '../../../components'\nimport SummaryListContext from '../Value/SummaryList/SummaryListContext'\nimport { ValueProps } from '../types'\nimport { pickSpacingProps } from '../../../components/flex/utils'\nimport ValueBlockContext from './ValueBlockContext'\n\n/**\n * Props are documented in ValueDocs.ts\n */\nexport type Props = Omit<ValueProps<unknown>, 'value'> & {\n children?: React.ReactNode\n\n /**\n * Used internally by the Composition component\n */\n composition?: boolean\n\n /**\n * Used internally by the Composition component\n */\n gap?: 'xx-small' | 'x-small' | 'small' | 'medium' | 'large' | false\n}\n\nfunction ValueBlock(props: Props) {\n const summaryListContext = useContext(SummaryListContext)\n const valueBlockContext = useContext(ValueBlockContext)\n\n const {\n className,\n label: labelProp,\n inline,\n maxWidth = props.composition ? props.maxWidth : 'large',\n placeholder,\n showEmpty,\n children,\n composition,\n gap = 'xx-small',\n } = props\n\n const label = inline ? null : labelProp\n\n if (\n (children === undefined || children === null || children === false) &&\n !showEmpty &&\n !placeholder\n ) {\n return null\n }\n\n let content = null\n\n const compositionClass = classnames(\n composition &&\n `dnb-forms-value-block__composition--${\n composition === true ? 'horizontal' : composition\n }`\n )\n\n if (summaryListContext) {\n const Element = summaryListContext.isNested\n ? Dl\n : summaryListContext.layout === 'horizontal'\n ? Dl.Item\n : Fragment\n\n if (!label && valueBlockContext?.composition) {\n content = (\n <span\n className={classnames(\n 'dnb-forms-value-block__content',\n gap && `dnb-forms-value-block__content--gap-${gap}`\n )}\n >\n {children}\n </span>\n ) ?? (\n <span className=\"dnb-forms-value-block__placeholder\">\n {placeholder}\n </span>\n )\n } else {\n content = (\n <Element>\n <SummaryListContext.Provider\n value={{ ...summaryListContext, isNested: true }}\n >\n {label && (\n <Dt className=\"dnb-forms-value-block__label\">\n <strong>{label}</strong>\n </Dt>\n )}\n <Dd\n className={classnames(\n summaryListContext.layout !== 'grid' &&\n !summaryListContext.isNested &&\n maxWidth &&\n `dnb-forms-value-block--max-width-${maxWidth}`,\n compositionClass\n )}\n >\n {children ? (\n <span\n className={classnames(\n 'dnb-forms-value-block__content',\n gap && `dnb-forms-value-block__content--gap-${gap}`\n )}\n >\n {children}\n </span>\n ) : (\n <span className=\"dnb-forms-value-block__placeholder\">\n {placeholder}\n </span>\n )}\n </Dd>\n </SummaryListContext.Provider>\n </Element>\n )\n }\n } else {\n content = (\n <Span\n className={classnames(\n 'dnb-forms-value-block',\n inline && 'dnb-forms-value-block--inline',\n maxWidth && `dnb-forms-value-block--max-width-${maxWidth}`,\n compositionClass,\n className\n )}\n {...pickSpacingProps(props)}\n >\n {label && (\n <FormLabel\n element=\"strong\" // enhance a11y: https://www.w3.org/WAI/WCAG21/Techniques/html/H49\n className=\"dnb-forms-value-block__label\"\n labelDirection={inline ? 'horizontal' : 'vertical'}\n >\n {label}\n </FormLabel>\n )}\n {children ? (\n <span\n className={classnames(\n 'dnb-forms-value-block__content',\n gap && `dnb-forms-value-block__content--gap-${gap}`\n )}\n >\n {children}\n </span>\n ) : (\n <span className=\"dnb-forms-value-block__placeholder\">\n {placeholder}\n </span>\n )}\n </Span>\n )\n }\n\n return (\n <ValueBlockContext.Provider value={props}>\n {content}\n </ValueBlockContext.Provider>\n )\n}\n\nValueBlock._supportsSpacingProps = true\nexport default ValueBlock\n"],"mappings":"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"}
@@ -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":";;;;;;;;AAAA,OAAOA,KAAK,IACVC,UAAU,EACVC,WAAW,EACXC,MAAM,EACNC,UAAU,EACVC,OAAO,QACF,OAAO;AACd,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,KAAK,EAAEC,aAAa,QAAQ,wBAAwB;AAC7D,SAASC,IAAI,QAAQ,qCAAqC;AAC1D,SAASC,OAAO,QAAQ,oCAAoC;AAC5D,OAAOC,KAAK,MAAM,kCAAkC;AACpD,OAAOC,WAAW,MAAM,2BAA2B;AACnD,OAAOC,IAAI,MAA8B,SAAS;AAClD,OAAOC,aAAa,MAKb,0BAA0B;AACjC,OAAOC,OAAO,MAAM,4BAA4B;AAChD,SAEEC,cAAc,QACT,2CAA2C;AAClD,OAAOC,qBAAqB,MAAM,yBAAyB;AAI3D,MAAMC,eAAe,GACnB,OAAOC,MAAM,KAAK,WAAW,GAAGnB,KAAK,CAACoB,SAAS,GAAGpB,KAAK,CAACkB,eAAe;AAoBzE,SAASG,eAAeA,CAACC,KAAY,EAAE;EACrC,MAAM;MACJC,SAAS;MACTC,EAAE,EAAEC,MAAM;MACVC,IAAI,GAAG,QAAQ;MACfC,kBAAkB,GAAG,CAAC;MACtBC,oBAAoB;MACpBC,mBAAmB;MACnBC,YAAY;MACZC,QAAQ;MACRC,WAAW,GAAG,IAAI;MAClBC,OAAO,GAAG,SAAS;MACnBC;IAEF,CAAC,GAAGZ,KAAK;IADJa,IAAI,GAAAC,wBAAA,CACLd,KAAK,EAAAe,SAAA;EAET,MAAM;IACJC,UAAU;IACVC,YAAY;IACZC,gBAAgB;IAChBC,gBAAgB;IAChBC,aAAa;IACbC;EACF,CAAC,GAAG1C,UAAU,CAACW,WAAW,CAAC;EAE3B,MAAMY,EAAE,GAAGb,KAAK,CAACc,MAAM,CAAC;EACxB,MAAM,GAAGmB,WAAW,CAAC,GAAGxC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAClD,MAAMyC,cAAc,GAAG1C,MAAM,CAAYwB,kBAAkB,CAAC;EAC5D,MAAMmB,cAAc,GAAG3C,MAAM,CAA6B,CAAC,CAAC,CAAC;EAC7D,MAAM4C,cAAc,GAAG5C,MAAM,CAAc,CAAC;EAG5C,MAAM6C,cAAc,GAClB7C,MAAM,CAIJ,CAAC;EACL6C,cAAc,CAACC,OAAO,GAAGjC,cAAc,CACrCsB,UAAU,IAAId,EAAE,GAAGA,EAAE,GAAG,SAAS,GAAG0B,SACtC,CAAC;EAGDJ,cAAc,CAACG,OAAO,CAACJ,cAAc,CAACI,OAAO,CAAC,GAAGP,aAAa;EAE9D,MAAMS,gBAAgB,GAAGjD,WAAW,CAClC,OAAOkD,KAAgB,EAAE1B,IAAyB,KAAK;IACrD,IAAIhB,OAAO,CAACoB,YAAY,CAAC,EAAE;MACzB,OAAO,MAAMA,YAAY,CAACsB,KAAK,EAAE1B,IAAI,CAAC;IACxC;IAEA,OAAOI,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAGsB,KAAK,EAAE1B,IAAI,CAAC;EACpC,CAAC,EACD,CAACI,YAAY,CACf,CAAC;EAED,MAAM;IAAEuB,QAAQ;IAAEC,WAAW;IAAEC;EAAiB,CAAC,GAC/CtC,qBAAqB,CAAC;IAAE4B,cAAc;IAAEE;EAAe,CAAC,CAAC;EAE3D,MAAMS,kBAAkB,GAAGtD,WAAW,CAAC,MAAM;IAC3C,IAAI,CAAC2B,mBAAmB,EAAE;MACxBwB,QAAQ,CAAC,CAAC;IACZ;IACA,IAAI,CAACzB,oBAAoB,EAAE;MACzB0B,WAAW,CAAC,CAAC;IACf;EACF,CAAC,EAAE,CAAC1B,oBAAoB,EAAEC,mBAAmB,EAAEwB,QAAQ,EAAEC,WAAW,CAAC,CAAC;EAEtE,MAAMG,gBAAgB,GAAGvD,WAAW,CAClCwD,IAAA,IAU8B;IAAA,IAV7B;MACCN,KAAK;MACLO,cAAc;MACdC,kBAAkB;MAClBC,+BAA+B;MAC/BC,0BAA0B;MAC1BpC;IAIsB,CAAC,GAAAgC,IAAA;IACvBlB,gBAAgB,CAAC;MACfmB,cAAc;MACdI,mBAAmB,EAAEJ,cAAc;MACnCK,oBAAoB,EAAEtD,OAAO,CAACoB,YAAY,CAAC;MAC3CmC,QAAQ,EAAE,MAAAA,CAAA,KAAY;QACpB,IAAI,CAACH,0BAA0B,EAAE;UAAA,IAAAI,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;UAC/B,CAAAF,qBAAA,GAAAlB,cAAc,CAACC,OAAO,cAAAiB,qBAAA,wBAAAC,sBAAA,GAAtBD,qBAAA,CAAwBG,IAAI,cAAAF,sBAAA,wBAAAC,sBAAA,GAA5BD,sBAAA,CAA8BrC,YAAY,cAAAsC,sBAAA,uBAA1CA,sBAAA,CAAAE,IAAA,CAAAH,sBAAA,EAA6Cf,KAAK,EAAE1B,IAAI,CAAC;QAC3D;QAEA,MAAM6C,MAAM,GACVX,kBAAkB,IACjBC,+BAA+B,IAAI,CAACN,gBAAgB,CAACN,OAAQ,GAC1DC,SAAS,GACT,MAAMC,gBAAgB,CAACC,KAAK,EAAE1B,IAAI,CAAC;QAGzCa,YAAY,CAAC,OAAO,CAAC;QAErB,IAAI,CAACoB,cAAc,EAAE;UAEnBlB,gBAAgB,CAACK,cAAc,CAACG,OAAO,CAACG,KAAK,CAAC,CAAC;QACjD;QAEA,IAAI,EAAEmB,MAAM,YAAYC,KAAK,CAAC,EAAE;UAC9BhB,kBAAkB,CAAC,CAAC;UAEpBX,cAAc,CAACI,OAAO,GAAGG,KAAK;UAC9BR,WAAW,CAAC,CAAC;QACf;QAEA,OAAO2B,MAAM;MACf;IACF,CAAC,CAAC;EACJ,CAAC,EACD,CACEpB,gBAAgB,EAChBK,kBAAkB,EAClBhB,gBAAgB,EAChBe,gBAAgB,EAChBzB,YAAY,EACZS,YAAY,EACZE,gBAAgB,CAEpB,CAAC;EAED,MAAMgC,cAAc,GAAGvE,WAAW,CAChC,CAACkD,KAAgB,EAAEsB,OAA+B,KAAK;IACrD,IAAItB,KAAK,KAAKP,cAAc,CAACI,OAAO,EAAE;MACpC;IACF;IAEA,MAAMvB,IAAI,GAAG0B,KAAK,GAAGP,cAAc,CAACI,OAAO,GAAG,MAAM,GAAG,UAAU;IAEjEQ,gBAAgB,CAAAkB,aAAA;MACdvB,KAAK;MACLO,cAAc,EAAEjC,IAAI,KAAK,UAAU;MACnCA;IAAI,GACDgD,OAAO,CACX,CAAC;EACJ,CAAC,EACD,CAACjB,gBAAgB,CACnB,CAAC;EAED,MAAMmB,cAAc,GAAG1E,WAAW,CAAC,MAAM;IACvCuE,cAAc,CAAC5B,cAAc,CAACI,OAAO,GAAG,CAAC,CAAC;EAC5C,CAAC,EAAE,CAACwB,cAAc,CAAC,CAAC;EAEpB,MAAMI,UAAU,GAAG3E,WAAW,CAAC,MAAM;IACnCuE,cAAc,CAAC5B,cAAc,CAACI,OAAO,GAAG,CAAC,CAAC;EAC5C,CAAC,EAAE,CAACwB,cAAc,CAAC,CAAC;EAEpB,MAAMK,YAAY,GAAG5E,WAAW,CAC9B6E,KAAA,IAAsB;IAAA,IAArB;MAAEC;IAAa,CAAC,GAAAD,KAAA;IACfN,cAAc,CAACO,YAAY,EAAE;MAAErB,cAAc,EAAE;IAAK,CAAC,CAAC;EACxD,CAAC,EACD,CAACc,cAAc,CACjB,CAAC;EAED,MAAMQ,YAAY,GAAG/E,WAAW,CAC7BgF,KAAY,IAAK;IAChBvC,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAG;MAAEuC;IAAM,CAAC,CAAC;EAC7B,CAAC,EACD,CAACvC,cAAc,CACjB,CAAC;EAED,MAAMwC,SAAS,GAAGhF,MAAM,CAAC,EAAE,CAAC;EAC5B,MAAMiF,QAAQ,GAAGlF,WAAW,CAAC,MAAM;IACjCiF,SAAS,CAAClC,OAAO,GAAG,EAAE;IACtB,OAAOjD,KAAK,CAACqF,QAAQ,CAACC,GAAG,CAACvD,QAAQ,EAAE,CAACwD,KAAK,EAAEnC,KAAK,KAAK;MACpD,IAAIpD,KAAK,CAACwF,cAAc,CAACD,KAAK,CAAC,EAAE;QAAA,IAAAE,MAAA,EAAAC,OAAA;QAC/B,IAAIC,IAAI,GAAGJ,KAAK;QAEhB,IAAI,EAAAE,MAAA,GAAAF,KAAK,cAAAE,MAAA,uBAALA,MAAA,CAAOG,IAAI,MAAK/E,IAAI,IAAI,OAAO0E,KAAK,CAACK,IAAI,KAAK,UAAU,EAAE;UAAA,IAAAC,KAAA;UAC5DF,IAAI,GAAGJ,KAAK,CAACK,IAAI,CAACE,KAAK,CAACP,KAAK,CAACK,IAAI,EAAE,CAClCL,KAAK,CAACjE,KAAK,CACZ,CAAuB;UAExB,IAAI,EAAAuE,KAAA,GAAAF,IAAI,cAAAE,KAAA,uBAAJA,KAAA,CAAMD,IAAI,MAAK/E,IAAI,EAAE;YACvB0E,KAAK,GAAGI,IAAI;UACd;QACF;QAEA,IAAI,EAAAD,OAAA,GAAAH,KAAK,cAAAG,OAAA,uBAALA,OAAA,CAAOE,IAAI,MAAK/E,IAAI,EAAE;UAAA,IAAAkF,kBAAA;UACxBZ,SAAS,CAAClC,OAAO,CAAC+C,IAAI,EAAAD,kBAAA,GAACR,KAAK,CAACjE,KAAK,CAAC2E,KAAK,cAAAF,kBAAA,cAAAA,kBAAA,GAAI,eAAe,CAAC;UAC5D,OAAO/F,KAAK,CAACkG,YAAY,CACvBX,KAAK,EACL;YACEY,GAAG,EAAG,GAAE/C,KAAM,IAAGP,cAAc,CAACI,OAAQ,EAAC;YACzCG;UACF,CACF,CAAC;QACH;MACF;MAEA,OAAOmC,KAAK;IACd,CAAC,CAAC;EACJ,CAAC,EAAE,CAACxD,QAAQ,CAAC,CAAC;EAEd,MAAMqE,WAAW,GAAGvD,cAAc,CAACI,OAAO;EAC1C,MAAMoD,UAAU,GAAGlB,SAAS,CAAClC,OAAO,CAACqD,MAAM;EAC3C,MAAMC,aAAa,GAAGlG,OAAO,CAC3B,OAAO;IACLmB,EAAE;IACF4E,WAAW;IACXC,UAAU;IACVtD,cAAc;IACd0B,cAAc;IACdG,cAAc;IACdC,UAAU;IACVI;EACF,CAAC,CAAC,EACF,CACEzD,EAAE,EACF4E,WAAW,EACXC,UAAU,EACV5B,cAAc,EACdG,cAAc,EACdC,UAAU,EACVI,YAAY,CAEhB,CAAC;EAGD/D,eAAe,CAAC,MAAM;IACpB,IAAIM,EAAE,IAAIc,UAAU,EAAE;MAAA,IAAAkE,sBAAA,EAAAC,sBAAA;MACpB,CAAAD,sBAAA,GAAAxD,cAAc,CAACC,OAAO,cAAAuD,sBAAA,wBAAAC,sBAAA,GAAtBD,sBAAA,CAAwBE,MAAM,cAAAD,sBAAA,uBAA9BA,sBAAA,CAAAnC,IAAA,CAAAkC,sBAAA,EAAiCD,aAAa,CAAC;IACjD;EACF,CAAC,EAAE,CAAC/E,EAAE,EAAE+E,aAAa,CAAC,CAAC;EAEvB,IAAI,CAACjE,UAAU,EAAE;IACf7B,IAAI,CAAC,+CAA+C,CAAC;IACrD,OACET,KAAA,CAAA2G,aAAA,CAAC5F,OAAO,QACNf,KAAA,CAAA2G,aAAA,CAACtF,eAAe,EAAAuF,QAAA,KAAKtF,KAAK;MAAEE,EAAE,EAAEA;IAAG,EAAE,CAC9B,CAAC;EAEd;EAEA,OACExB,KAAA,CAAA2G,aAAA,CAAC7F,aAAa,CAAC+F,QAAQ;IAACC,KAAK,EAAEP;EAAc,GAC3CvG,KAAA,CAAA2G,aAAA,CAACpG,KAAK,EAAAqG,QAAA;IACJrF,SAAS,EAAEjB,UAAU,qDAES2B,OAAQ,IACpCV,SACF;EAAE,GACEY,IAAI,GAERnC,KAAA,CAAA2G,aAAA;IAAOpF,SAAS,EAAC;EAAkC,GACjDvB,KAAA,CAAA2G,aAAA,CAACnG,aAAa,CAACuG,OAAO;IAACC,UAAU,EAAExF;EAAG,CAAE,CAAC,EACzCxB,KAAA,CAAA2G,aAAA,CAACnG,aAAa;IACZyG,MAAM;IACNjC,YAAY,EAAEnC,cAAc,CAACI,OAAQ;IACrCoB,IAAI,EAAEc,SAAS,CAAClC,OAAQ;IACxBvB,IAAI,EAAEA,IAAK;IACXwF,YAAY,EAAElF,WAAY;IAC1BmF,SAAS,EAAErC,YAAa;IACxBkC,UAAU,EACR/E,OAAO,KAAK,QAAQ,IAAI,CAACC,SAAS,GAC9B,EAAE,GACFA,SAAS,GACTA,SAAS,GACTV;EACL,CACF,CACI,CAAC,EAERxB,KAAA,CAAA2G,aAAA;IAAKpF,SAAS,EAAC;EAAmC,GAChDvB,KAAA,CAAA2G,aAAA,CAACvB,QAAQ,MAAE,CACR,CACA,CACe,CAAC;AAE7B;AAEA/D,eAAe,CAAC+F,qBAAqB,GAAG,IAAI;AAE5C,eAAe/F,eAAe"}
@@ -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"}