@dnb/eufemia 10.30.2 → 10.32.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 (717) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/cjs/components/anchor/Anchor.d.ts +8 -1
  3. package/cjs/components/anchor/Anchor.js.map +1 -1
  4. package/cjs/components/card/Card.js +3 -2
  5. package/cjs/components/card/Card.js.map +1 -1
  6. package/cjs/components/card/style/dnb-card.css +1 -2
  7. package/cjs/components/card/style/dnb-card.min.css +1 -1
  8. package/cjs/components/card/style/themes/dnb-card-theme-sbanken.css +5 -0
  9. package/cjs/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -0
  10. package/cjs/components/card/style/themes/dnb-card-theme-sbanken.scss +7 -0
  11. package/cjs/components/checkbox/CheckIcon.d.ts +1 -1
  12. package/cjs/components/checkbox/CheckIcon.js +4 -9
  13. package/cjs/components/checkbox/CheckIcon.js.map +1 -1
  14. package/cjs/components/checkbox/Checkbox.d.ts +4 -0
  15. package/cjs/components/checkbox/Checkbox.js +9 -3
  16. package/cjs/components/checkbox/Checkbox.js.map +1 -1
  17. package/cjs/components/checkbox/CheckboxDocs.js +10 -5
  18. package/cjs/components/checkbox/CheckboxDocs.js.map +1 -1
  19. package/cjs/components/checkbox/style/dnb-checkbox.css +95 -15
  20. package/cjs/components/checkbox/style/dnb-checkbox.min.css +1 -1
  21. package/cjs/components/checkbox/style/dnb-checkbox.scss +156 -21
  22. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.css +22 -2
  23. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.min.css +4 -2
  24. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.scss +28 -2
  25. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-ui.css +20 -2
  26. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-ui.min.css +5 -1
  27. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +25 -2
  28. package/cjs/components/flex/Container.d.ts +4 -1
  29. package/cjs/components/flex/Container.js +10 -7
  30. package/cjs/components/flex/Container.js.map +1 -1
  31. package/cjs/components/flex/Stack.js +3 -3
  32. package/cjs/components/flex/Stack.js.map +1 -1
  33. package/cjs/components/flex/utils.js +7 -7
  34. package/cjs/components/flex/utils.js.map +1 -1
  35. package/cjs/components/height-animation/HeightAnimationInstance.js +6 -1
  36. package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
  37. package/cjs/components/modal/Modal.d.ts +2 -0
  38. package/cjs/components/modal/Modal.js +10 -3
  39. package/cjs/components/modal/Modal.js.map +1 -1
  40. package/cjs/components/skeleton/style/dnb-skeleton.css +4 -8
  41. package/cjs/components/skeleton/style/dnb-skeleton.min.css +1 -1
  42. package/cjs/components/space/SpacingUtils.d.ts +1 -1
  43. package/cjs/components/space/SpacingUtils.js +1 -1
  44. package/cjs/components/space/SpacingUtils.js.map +1 -1
  45. package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +70 -0
  46. package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -0
  47. package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +97 -0
  48. package/cjs/components/switch/style/themes/dnb-switch-theme-ui.css +1 -2
  49. package/cjs/components/switch/style/themes/dnb-switch-theme-ui.min.css +1 -1
  50. package/cjs/components/table/style/dnb-table.css +5 -10
  51. package/cjs/components/table/style/dnb-table.min.css +1 -1
  52. package/cjs/components/visually-hidden/style/dnb-visually-hidden.css +1 -2
  53. package/cjs/components/visually-hidden/style/dnb-visually-hidden.min.css +1 -1
  54. package/cjs/extensions/forms/DataContext/Context.d.ts +20 -9
  55. package/cjs/extensions/forms/DataContext/Context.js +2 -3
  56. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  57. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
  58. package/cjs/extensions/forms/DataContext/Provider/Provider.js +69 -32
  59. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  60. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +3 -3
  61. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  62. package/cjs/extensions/forms/Field/Boolean/Boolean.d.ts +12 -2
  63. package/cjs/extensions/forms/Field/Boolean/Boolean.js +2 -1
  64. package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  65. package/cjs/extensions/forms/Field/Boolean/BooleanDocs.d.ts +2 -0
  66. package/cjs/extensions/forms/Field/Boolean/BooleanDocs.js +25 -0
  67. package/cjs/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -0
  68. package/cjs/extensions/forms/Field/FieldDocs.js +1 -1
  69. package/cjs/extensions/forms/Field/FieldDocs.js.map +1 -1
  70. package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.d.ts +16 -0
  71. package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.js +53 -0
  72. package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -0
  73. package/cjs/extensions/forms/Field/Indeterminate/IndeterminateDocs.d.ts +2 -0
  74. package/cjs/extensions/forms/Field/Indeterminate/IndeterminateDocs.js +38 -0
  75. package/cjs/extensions/forms/Field/Indeterminate/IndeterminateDocs.js.map +1 -0
  76. package/cjs/extensions/forms/Field/Indeterminate/index.d.ts +2 -0
  77. package/cjs/extensions/forms/Field/Indeterminate/index.js +27 -0
  78. package/cjs/extensions/forms/Field/Indeterminate/index.js.map +1 -0
  79. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.d.ts +6 -0
  80. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js +81 -0
  81. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -0
  82. package/cjs/extensions/forms/Field/Name/NameDocs.js +1 -7
  83. package/cjs/extensions/forms/Field/Name/NameDocs.js.map +1 -1
  84. package/cjs/extensions/forms/Field/Number/Number.js +3 -1
  85. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  86. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +1 -1
  87. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  88. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  89. package/cjs/extensions/forms/Field/Toggle/Toggle.d.ts +2 -1
  90. package/cjs/extensions/forms/Field/Toggle/Toggle.js +2 -2
  91. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  92. package/cjs/extensions/forms/Field/Toggle/ToggleDocs.d.ts +2 -0
  93. package/cjs/extensions/forms/Field/Toggle/ToggleDocs.js +35 -0
  94. package/cjs/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -0
  95. package/cjs/extensions/forms/Field/index.d.ts +1 -0
  96. package/cjs/extensions/forms/Field/index.js +7 -0
  97. package/cjs/extensions/forms/Field/index.js.map +1 -1
  98. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +5 -0
  99. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  100. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.d.ts +1 -0
  101. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js +24 -16
  102. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  103. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +1 -3
  104. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  105. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -2
  106. package/cjs/extensions/forms/Form/Element/Element.js +1 -1
  107. package/cjs/extensions/forms/Form/Element/Element.js.map +1 -1
  108. package/cjs/extensions/forms/Form/Handler/Handler.js +2 -2
  109. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  110. package/cjs/extensions/forms/Form/Handler/HandlerDocs.js +5 -0
  111. package/cjs/extensions/forms/Form/Handler/HandlerDocs.js.map +1 -1
  112. package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
  113. package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  114. package/cjs/extensions/forms/Form/Tools/GenerateSchema.d.ts +8 -0
  115. package/cjs/extensions/forms/Form/Tools/GenerateSchema.js +100 -0
  116. package/cjs/extensions/forms/Form/Tools/GenerateSchema.js.map +1 -0
  117. package/cjs/extensions/forms/Form/Tools/index.d.ts +1 -0
  118. package/cjs/extensions/forms/Form/Tools/index.js +14 -0
  119. package/cjs/extensions/forms/Form/Tools/index.js.map +1 -0
  120. package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +19 -5
  121. package/cjs/extensions/forms/Form/Visibility/Visibility.js +41 -10
  122. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  123. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +11 -6
  124. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  125. package/cjs/extensions/forms/Form/data-context/useData.d.ts +1 -1
  126. package/cjs/extensions/forms/Form/data-context/useData.js +2 -2
  127. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
  128. package/cjs/extensions/forms/Form/data-context/useError.d.ts +1 -0
  129. package/cjs/extensions/forms/Form/data-context/useError.js +5 -3
  130. package/cjs/extensions/forms/Form/data-context/useError.js.map +1 -1
  131. package/cjs/extensions/forms/Form/index.d.ts +1 -0
  132. package/cjs/extensions/forms/Form/index.js +5 -0
  133. package/cjs/extensions/forms/Form/index.js.map +1 -1
  134. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +8 -1
  135. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -3
  136. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  137. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -1
  138. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  139. package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +5 -0
  140. package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  141. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +1 -1
  142. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  143. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
  144. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  145. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +2 -1
  146. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  147. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  148. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  149. package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
  150. package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  151. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.css +3 -1
  152. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  153. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.scss +4 -1
  154. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +4 -2
  155. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  156. package/cjs/extensions/forms/Wizard/Container/WizardContainer.d.ts +31 -2
  157. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +105 -31
  158. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  159. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
  160. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  161. package/cjs/extensions/forms/Wizard/Step/Step.d.ts +10 -1
  162. package/cjs/extensions/forms/Wizard/Step/Step.js +15 -6
  163. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  164. package/cjs/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  165. package/cjs/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  166. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +0 -1
  167. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  168. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -1
  169. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.css +1 -0
  170. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.min.css +0 -0
  171. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.scss +1 -0
  172. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +3 -0
  173. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -0
  174. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +7 -0
  175. package/cjs/extensions/forms/hooks/useFieldProps.js +71 -32
  176. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  177. package/cjs/extensions/forms/style/dnb-forms.css +4 -5
  178. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  179. package/cjs/extensions/forms/types.d.ts +9 -0
  180. package/cjs/extensions/forms/types.js.map +1 -1
  181. package/cjs/fragments/drawer-list/DrawerListHelpers.js +5 -2
  182. package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  183. package/cjs/shared/Eufemia.d.ts +1 -1
  184. package/cjs/shared/Eufemia.js +2 -2
  185. package/cjs/shared/Eufemia.js.map +1 -1
  186. package/cjs/shared/MediaQuery.js +19 -1
  187. package/cjs/shared/MediaQuery.js.map +1 -1
  188. package/cjs/shared/MediaQueryUtils.d.ts +12 -34
  189. package/cjs/shared/MediaQueryUtils.js +22 -12
  190. package/cjs/shared/MediaQueryUtils.js.map +1 -1
  191. package/cjs/shared/component-helper.d.ts +1 -1
  192. package/cjs/shared/component-helper.js +5 -1
  193. package/cjs/shared/component-helper.js.map +1 -1
  194. package/cjs/shared/useMedia.d.ts +7 -2
  195. package/cjs/shared/useMedia.js +16 -11
  196. package/cjs/shared/useMedia.js.map +1 -1
  197. package/cjs/shared/useMediaQuery.js +30 -9
  198. package/cjs/shared/useMediaQuery.js.map +1 -1
  199. package/cjs/style/core/scopes.scss +1 -1
  200. package/cjs/style/dnb-ui-basis.css +2 -3
  201. package/cjs/style/dnb-ui-basis.min.css +1 -1
  202. package/cjs/style/dnb-ui-body.css +1 -1
  203. package/cjs/style/dnb-ui-body.min.css +1 -1
  204. package/cjs/style/dnb-ui-components.css +110 -42
  205. package/cjs/style/dnb-ui-components.min.css +3 -3
  206. package/cjs/style/dnb-ui-core.css +2 -3
  207. package/cjs/style/dnb-ui-core.min.css +1 -1
  208. package/cjs/style/dnb-ui-extensions.css +4 -5
  209. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  210. package/cjs/style/dnb-ui-forms.css +4 -5
  211. package/cjs/style/dnb-ui-forms.min.css +1 -1
  212. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +139 -51
  213. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +10 -6
  214. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +8 -5
  215. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  216. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  217. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +8 -5
  218. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  219. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
  220. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +214 -127
  221. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +9 -7
  222. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
  223. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -5
  224. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  225. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  226. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +5 -5
  227. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  228. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
  229. package/cjs/style/themes/theme-ui/ui-theme-components.css +139 -51
  230. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +10 -6
  231. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +8 -5
  232. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  233. package/cjs/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  234. package/cjs/style/themes/theme-ui/ui-theme-forms.css +8 -5
  235. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  236. package/cjs/style/themes/theme-ui/ui-theme-forms.scss +1 -0
  237. package/components/anchor/Anchor.d.ts +8 -1
  238. package/components/anchor/Anchor.js.map +1 -1
  239. package/components/card/Card.js +3 -2
  240. package/components/card/Card.js.map +1 -1
  241. package/components/card/style/dnb-card.css +1 -2
  242. package/components/card/style/dnb-card.min.css +1 -1
  243. package/components/card/style/themes/dnb-card-theme-sbanken.css +5 -0
  244. package/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -0
  245. package/components/card/style/themes/dnb-card-theme-sbanken.scss +7 -0
  246. package/components/checkbox/CheckIcon.d.ts +1 -1
  247. package/components/checkbox/CheckIcon.js +4 -8
  248. package/components/checkbox/CheckIcon.js.map +1 -1
  249. package/components/checkbox/Checkbox.d.ts +4 -0
  250. package/components/checkbox/Checkbox.js +9 -3
  251. package/components/checkbox/Checkbox.js.map +1 -1
  252. package/components/checkbox/CheckboxDocs.js +10 -5
  253. package/components/checkbox/CheckboxDocs.js.map +1 -1
  254. package/components/checkbox/style/dnb-checkbox.css +95 -15
  255. package/components/checkbox/style/dnb-checkbox.min.css +1 -1
  256. package/components/checkbox/style/dnb-checkbox.scss +156 -21
  257. package/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.css +22 -2
  258. package/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.min.css +4 -2
  259. package/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.scss +28 -2
  260. package/components/checkbox/style/themes/dnb-checkbox-theme-ui.css +20 -2
  261. package/components/checkbox/style/themes/dnb-checkbox-theme-ui.min.css +5 -1
  262. package/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +25 -2
  263. package/components/flex/Container.d.ts +4 -1
  264. package/components/flex/Container.js +10 -7
  265. package/components/flex/Container.js.map +1 -1
  266. package/components/flex/Stack.js +3 -3
  267. package/components/flex/Stack.js.map +1 -1
  268. package/components/flex/utils.js +8 -8
  269. package/components/flex/utils.js.map +1 -1
  270. package/components/height-animation/HeightAnimationInstance.js +6 -1
  271. package/components/height-animation/HeightAnimationInstance.js.map +1 -1
  272. package/components/modal/Modal.d.ts +2 -0
  273. package/components/modal/Modal.js +10 -3
  274. package/components/modal/Modal.js.map +1 -1
  275. package/components/skeleton/style/dnb-skeleton.css +4 -8
  276. package/components/skeleton/style/dnb-skeleton.min.css +1 -1
  277. package/components/space/SpacingUtils.d.ts +1 -1
  278. package/components/space/SpacingUtils.js +1 -1
  279. package/components/space/SpacingUtils.js.map +1 -1
  280. package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +70 -0
  281. package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -0
  282. package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +97 -0
  283. package/components/switch/style/themes/dnb-switch-theme-ui.css +1 -2
  284. package/components/switch/style/themes/dnb-switch-theme-ui.min.css +1 -1
  285. package/components/table/style/dnb-table.css +5 -10
  286. package/components/table/style/dnb-table.min.css +1 -1
  287. package/components/visually-hidden/style/dnb-visually-hidden.css +1 -2
  288. package/components/visually-hidden/style/dnb-visually-hidden.min.css +1 -1
  289. package/es/components/anchor/Anchor.d.ts +8 -1
  290. package/es/components/anchor/Anchor.js.map +1 -1
  291. package/es/components/card/Card.js +3 -2
  292. package/es/components/card/Card.js.map +1 -1
  293. package/es/components/card/style/dnb-card.css +1 -2
  294. package/es/components/card/style/dnb-card.min.css +1 -1
  295. package/es/components/card/style/themes/dnb-card-theme-sbanken.css +5 -0
  296. package/es/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -0
  297. package/es/components/card/style/themes/dnb-card-theme-sbanken.scss +7 -0
  298. package/es/components/checkbox/CheckIcon.d.ts +1 -1
  299. package/es/components/checkbox/CheckIcon.js +5 -10
  300. package/es/components/checkbox/CheckIcon.js.map +1 -1
  301. package/es/components/checkbox/Checkbox.d.ts +4 -0
  302. package/es/components/checkbox/Checkbox.js +9 -3
  303. package/es/components/checkbox/Checkbox.js.map +1 -1
  304. package/es/components/checkbox/CheckboxDocs.js +10 -5
  305. package/es/components/checkbox/CheckboxDocs.js.map +1 -1
  306. package/es/components/checkbox/style/dnb-checkbox.css +95 -15
  307. package/es/components/checkbox/style/dnb-checkbox.min.css +1 -1
  308. package/es/components/checkbox/style/dnb-checkbox.scss +156 -21
  309. package/es/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.css +22 -2
  310. package/es/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.min.css +4 -2
  311. package/es/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.scss +28 -2
  312. package/es/components/checkbox/style/themes/dnb-checkbox-theme-ui.css +20 -2
  313. package/es/components/checkbox/style/themes/dnb-checkbox-theme-ui.min.css +5 -1
  314. package/es/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +25 -2
  315. package/es/components/flex/Container.d.ts +4 -1
  316. package/es/components/flex/Container.js +10 -7
  317. package/es/components/flex/Container.js.map +1 -1
  318. package/es/components/flex/Stack.js +3 -3
  319. package/es/components/flex/Stack.js.map +1 -1
  320. package/es/components/flex/utils.js +8 -8
  321. package/es/components/flex/utils.js.map +1 -1
  322. package/es/components/height-animation/HeightAnimationInstance.js +6 -1
  323. package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
  324. package/es/components/modal/Modal.d.ts +2 -0
  325. package/es/components/modal/Modal.js +10 -3
  326. package/es/components/modal/Modal.js.map +1 -1
  327. package/es/components/skeleton/style/dnb-skeleton.css +4 -8
  328. package/es/components/skeleton/style/dnb-skeleton.min.css +1 -1
  329. package/es/components/space/SpacingUtils.d.ts +1 -1
  330. package/es/components/space/SpacingUtils.js +1 -1
  331. package/es/components/space/SpacingUtils.js.map +1 -1
  332. package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +70 -0
  333. package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -0
  334. package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +97 -0
  335. package/es/components/switch/style/themes/dnb-switch-theme-ui.css +1 -2
  336. package/es/components/switch/style/themes/dnb-switch-theme-ui.min.css +1 -1
  337. package/es/components/table/style/dnb-table.css +5 -10
  338. package/es/components/table/style/dnb-table.min.css +1 -1
  339. package/es/components/visually-hidden/style/dnb-visually-hidden.css +1 -2
  340. package/es/components/visually-hidden/style/dnb-visually-hidden.min.css +1 -1
  341. package/es/extensions/forms/DataContext/Context.d.ts +20 -9
  342. package/es/extensions/forms/DataContext/Context.js +2 -3
  343. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  344. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
  345. package/es/extensions/forms/DataContext/Provider/Provider.js +66 -30
  346. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  347. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +3 -3
  348. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  349. package/es/extensions/forms/Field/Boolean/Boolean.d.ts +12 -2
  350. package/es/extensions/forms/Field/Boolean/Boolean.js +2 -1
  351. package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  352. package/es/extensions/forms/Field/Boolean/BooleanDocs.d.ts +2 -0
  353. package/es/extensions/forms/Field/Boolean/BooleanDocs.js +18 -0
  354. package/es/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -0
  355. package/es/extensions/forms/Field/FieldDocs.js +2 -2
  356. package/es/extensions/forms/Field/FieldDocs.js.map +1 -1
  357. package/es/extensions/forms/Field/Indeterminate/Indeterminate.d.ts +16 -0
  358. package/es/extensions/forms/Field/Indeterminate/Indeterminate.js +43 -0
  359. package/es/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -0
  360. package/es/extensions/forms/Field/Indeterminate/IndeterminateDocs.d.ts +2 -0
  361. package/es/extensions/forms/Field/Indeterminate/IndeterminateDocs.js +29 -0
  362. package/es/extensions/forms/Field/Indeterminate/IndeterminateDocs.js.map +1 -0
  363. package/es/extensions/forms/Field/Indeterminate/index.d.ts +2 -0
  364. package/es/extensions/forms/Field/Indeterminate/index.js +3 -0
  365. package/es/extensions/forms/Field/Indeterminate/index.js.map +1 -0
  366. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.d.ts +6 -0
  367. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js +74 -0
  368. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -0
  369. package/es/extensions/forms/Field/Name/NameDocs.js +1 -8
  370. package/es/extensions/forms/Field/Name/NameDocs.js.map +1 -1
  371. package/es/extensions/forms/Field/Number/Number.js +3 -1
  372. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  373. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +1 -1
  374. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  375. package/es/extensions/forms/Field/String/String.js.map +1 -1
  376. package/es/extensions/forms/Field/Toggle/Toggle.d.ts +2 -1
  377. package/es/extensions/forms/Field/Toggle/Toggle.js +2 -2
  378. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  379. package/es/extensions/forms/Field/Toggle/ToggleDocs.d.ts +2 -0
  380. package/es/extensions/forms/Field/Toggle/ToggleDocs.js +28 -0
  381. package/es/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -0
  382. package/es/extensions/forms/Field/index.d.ts +1 -0
  383. package/es/extensions/forms/Field/index.js +1 -0
  384. package/es/extensions/forms/Field/index.js.map +1 -1
  385. package/es/extensions/forms/FieldBlock/FieldBlock.js +5 -0
  386. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  387. package/es/extensions/forms/FieldBlock/FieldBlockDocs.d.ts +1 -0
  388. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js +20 -15
  389. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  390. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +1 -3
  391. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  392. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -2
  393. package/es/extensions/forms/Form/Element/Element.js +1 -1
  394. package/es/extensions/forms/Form/Element/Element.js.map +1 -1
  395. package/es/extensions/forms/Form/Handler/Handler.js +2 -2
  396. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  397. package/es/extensions/forms/Form/Handler/HandlerDocs.js +5 -0
  398. package/es/extensions/forms/Form/Handler/HandlerDocs.js.map +1 -1
  399. package/es/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
  400. package/es/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  401. package/es/extensions/forms/Form/Tools/GenerateSchema.d.ts +8 -0
  402. package/es/extensions/forms/Form/Tools/GenerateSchema.js +89 -0
  403. package/es/extensions/forms/Form/Tools/GenerateSchema.js.map +1 -0
  404. package/es/extensions/forms/Form/Tools/index.d.ts +1 -0
  405. package/es/extensions/forms/Form/Tools/index.js +1 -0
  406. package/es/extensions/forms/Form/Tools/index.js.map +1 -0
  407. package/es/extensions/forms/Form/Visibility/Visibility.d.ts +19 -5
  408. package/es/extensions/forms/Form/Visibility/Visibility.js +41 -10
  409. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  410. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +11 -6
  411. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  412. package/es/extensions/forms/Form/data-context/useData.d.ts +1 -1
  413. package/es/extensions/forms/Form/data-context/useData.js +1 -2
  414. package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
  415. package/es/extensions/forms/Form/data-context/useError.d.ts +1 -0
  416. package/es/extensions/forms/Form/data-context/useError.js +5 -3
  417. package/es/extensions/forms/Form/data-context/useError.js.map +1 -1
  418. package/es/extensions/forms/Form/index.d.ts +1 -0
  419. package/es/extensions/forms/Form/index.js +1 -0
  420. package/es/extensions/forms/Form/index.js.map +1 -1
  421. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +8 -1
  422. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -3
  423. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  424. package/es/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -1
  425. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  426. package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +5 -0
  427. package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  428. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +1 -1
  429. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  430. package/es/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
  431. package/es/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  432. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +2 -1
  433. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  434. package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  435. package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  436. package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
  437. package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  438. package/es/extensions/forms/Iterate/style/dnb-form-iterate.css +3 -1
  439. package/es/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  440. package/es/extensions/forms/Iterate/style/dnb-form-iterate.scss +4 -1
  441. package/es/extensions/forms/ValueBlock/ValueBlock.js +4 -2
  442. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  443. package/es/extensions/forms/Wizard/Container/WizardContainer.d.ts +31 -2
  444. package/es/extensions/forms/Wizard/Container/WizardContainer.js +101 -31
  445. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  446. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
  447. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  448. package/es/extensions/forms/Wizard/Step/Step.d.ts +10 -1
  449. package/es/extensions/forms/Wizard/Step/Step.js +15 -6
  450. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  451. package/es/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  452. package/es/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  453. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +0 -1
  454. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  455. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -1
  456. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.css +1 -0
  457. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.min.css +0 -0
  458. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.scss +1 -0
  459. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +3 -0
  460. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -0
  461. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +7 -0
  462. package/es/extensions/forms/hooks/useFieldProps.js +68 -29
  463. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  464. package/es/extensions/forms/style/dnb-forms.css +4 -5
  465. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  466. package/es/extensions/forms/types.d.ts +9 -0
  467. package/es/extensions/forms/types.js.map +1 -1
  468. package/es/fragments/drawer-list/DrawerListHelpers.js +5 -2
  469. package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  470. package/es/shared/Eufemia.d.ts +1 -1
  471. package/es/shared/Eufemia.js +2 -2
  472. package/es/shared/Eufemia.js.map +1 -1
  473. package/es/shared/MediaQuery.js +19 -1
  474. package/es/shared/MediaQuery.js.map +1 -1
  475. package/es/shared/MediaQueryUtils.d.ts +12 -34
  476. package/es/shared/MediaQueryUtils.js +22 -17
  477. package/es/shared/MediaQueryUtils.js.map +1 -1
  478. package/es/shared/component-helper.d.ts +1 -1
  479. package/es/shared/component-helper.js +5 -2
  480. package/es/shared/component-helper.js.map +1 -1
  481. package/es/shared/useMedia.d.ts +7 -2
  482. package/es/shared/useMedia.js +14 -11
  483. package/es/shared/useMedia.js.map +1 -1
  484. package/es/shared/useMediaQuery.js +28 -9
  485. package/es/shared/useMediaQuery.js.map +1 -1
  486. package/es/style/core/scopes.scss +1 -1
  487. package/es/style/dnb-ui-basis.css +2 -3
  488. package/es/style/dnb-ui-basis.min.css +1 -1
  489. package/es/style/dnb-ui-body.css +1 -1
  490. package/es/style/dnb-ui-body.min.css +1 -1
  491. package/es/style/dnb-ui-components.css +110 -42
  492. package/es/style/dnb-ui-components.min.css +3 -3
  493. package/es/style/dnb-ui-core.css +2 -3
  494. package/es/style/dnb-ui-core.min.css +1 -1
  495. package/es/style/dnb-ui-extensions.css +4 -5
  496. package/es/style/dnb-ui-extensions.min.css +1 -1
  497. package/es/style/dnb-ui-forms.css +4 -5
  498. package/es/style/dnb-ui-forms.min.css +1 -1
  499. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +139 -51
  500. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +10 -6
  501. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +8 -5
  502. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  503. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  504. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +8 -5
  505. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  506. package/es/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
  507. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +214 -127
  508. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +9 -7
  509. package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
  510. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -5
  511. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  512. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  513. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +5 -5
  514. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  515. package/es/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
  516. package/es/style/themes/theme-ui/ui-theme-components.css +139 -51
  517. package/es/style/themes/theme-ui/ui-theme-components.min.css +10 -6
  518. package/es/style/themes/theme-ui/ui-theme-extensions.css +8 -5
  519. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  520. package/es/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  521. package/es/style/themes/theme-ui/ui-theme-forms.css +8 -5
  522. package/es/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  523. package/es/style/themes/theme-ui/ui-theme-forms.scss +1 -0
  524. package/esm/dnb-ui-basis.min.mjs +1 -1
  525. package/esm/dnb-ui-components.min.mjs +1 -1
  526. package/esm/dnb-ui-elements.min.mjs +1 -1
  527. package/esm/dnb-ui-extensions.min.mjs +3 -3
  528. package/esm/dnb-ui-lib.min.mjs +1 -1
  529. package/extensions/forms/DataContext/Context.d.ts +20 -9
  530. package/extensions/forms/DataContext/Context.js +2 -3
  531. package/extensions/forms/DataContext/Context.js.map +1 -1
  532. package/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
  533. package/extensions/forms/DataContext/Provider/Provider.js +69 -32
  534. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  535. package/extensions/forms/DataContext/Provider/ProviderDocs.js +3 -3
  536. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  537. package/extensions/forms/Field/Boolean/Boolean.d.ts +12 -2
  538. package/extensions/forms/Field/Boolean/Boolean.js +2 -1
  539. package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  540. package/extensions/forms/Field/Boolean/BooleanDocs.d.ts +2 -0
  541. package/extensions/forms/Field/Boolean/BooleanDocs.js +18 -0
  542. package/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -0
  543. package/extensions/forms/Field/FieldDocs.js +2 -2
  544. package/extensions/forms/Field/FieldDocs.js.map +1 -1
  545. package/extensions/forms/Field/Indeterminate/Indeterminate.d.ts +16 -0
  546. package/extensions/forms/Field/Indeterminate/Indeterminate.js +43 -0
  547. package/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -0
  548. package/extensions/forms/Field/Indeterminate/IndeterminateDocs.d.ts +2 -0
  549. package/extensions/forms/Field/Indeterminate/IndeterminateDocs.js +29 -0
  550. package/extensions/forms/Field/Indeterminate/IndeterminateDocs.js.map +1 -0
  551. package/extensions/forms/Field/Indeterminate/index.d.ts +2 -0
  552. package/extensions/forms/Field/Indeterminate/index.js +3 -0
  553. package/extensions/forms/Field/Indeterminate/index.js.map +1 -0
  554. package/extensions/forms/Field/Indeterminate/useDependencePaths.d.ts +6 -0
  555. package/extensions/forms/Field/Indeterminate/useDependencePaths.js +75 -0
  556. package/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -0
  557. package/extensions/forms/Field/Name/NameDocs.js +1 -8
  558. package/extensions/forms/Field/Name/NameDocs.js.map +1 -1
  559. package/extensions/forms/Field/Number/Number.js +3 -1
  560. package/extensions/forms/Field/Number/Number.js.map +1 -1
  561. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +1 -1
  562. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  563. package/extensions/forms/Field/String/String.js.map +1 -1
  564. package/extensions/forms/Field/Toggle/Toggle.d.ts +2 -1
  565. package/extensions/forms/Field/Toggle/Toggle.js +2 -2
  566. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  567. package/extensions/forms/Field/Toggle/ToggleDocs.d.ts +2 -0
  568. package/extensions/forms/Field/Toggle/ToggleDocs.js +28 -0
  569. package/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -0
  570. package/extensions/forms/Field/index.d.ts +1 -0
  571. package/extensions/forms/Field/index.js +1 -0
  572. package/extensions/forms/Field/index.js.map +1 -1
  573. package/extensions/forms/FieldBlock/FieldBlock.js +5 -0
  574. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  575. package/extensions/forms/FieldBlock/FieldBlockDocs.d.ts +1 -0
  576. package/extensions/forms/FieldBlock/FieldBlockDocs.js +20 -15
  577. package/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  578. package/extensions/forms/FieldBlock/style/dnb-field-block.css +1 -3
  579. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  580. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -2
  581. package/extensions/forms/Form/Element/Element.js +1 -1
  582. package/extensions/forms/Form/Element/Element.js.map +1 -1
  583. package/extensions/forms/Form/Handler/Handler.js +2 -2
  584. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  585. package/extensions/forms/Form/Handler/HandlerDocs.js +5 -0
  586. package/extensions/forms/Form/Handler/HandlerDocs.js.map +1 -1
  587. package/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
  588. package/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  589. package/extensions/forms/Form/Tools/GenerateSchema.d.ts +8 -0
  590. package/extensions/forms/Form/Tools/GenerateSchema.js +90 -0
  591. package/extensions/forms/Form/Tools/GenerateSchema.js.map +1 -0
  592. package/extensions/forms/Form/Tools/index.d.ts +1 -0
  593. package/extensions/forms/Form/Tools/index.js +1 -0
  594. package/extensions/forms/Form/Tools/index.js.map +1 -0
  595. package/extensions/forms/Form/Visibility/Visibility.d.ts +19 -5
  596. package/extensions/forms/Form/Visibility/Visibility.js +41 -10
  597. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  598. package/extensions/forms/Form/Visibility/VisibilityDocs.js +11 -6
  599. package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  600. package/extensions/forms/Form/data-context/useData.d.ts +1 -1
  601. package/extensions/forms/Form/data-context/useData.js +2 -2
  602. package/extensions/forms/Form/data-context/useData.js.map +1 -1
  603. package/extensions/forms/Form/data-context/useError.d.ts +1 -0
  604. package/extensions/forms/Form/data-context/useError.js +5 -3
  605. package/extensions/forms/Form/data-context/useError.js.map +1 -1
  606. package/extensions/forms/Form/index.d.ts +1 -0
  607. package/extensions/forms/Form/index.js +2 -0
  608. package/extensions/forms/Form/index.js.map +1 -1
  609. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +8 -1
  610. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -3
  611. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  612. package/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -1
  613. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  614. package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +5 -0
  615. package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  616. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +1 -1
  617. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  618. package/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
  619. package/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  620. package/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +2 -1
  621. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  622. package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  623. package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  624. package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
  625. package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  626. package/extensions/forms/Iterate/style/dnb-form-iterate.css +3 -1
  627. package/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  628. package/extensions/forms/Iterate/style/dnb-form-iterate.scss +4 -1
  629. package/extensions/forms/ValueBlock/ValueBlock.js +4 -2
  630. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  631. package/extensions/forms/Wizard/Container/WizardContainer.d.ts +31 -2
  632. package/extensions/forms/Wizard/Container/WizardContainer.js +105 -31
  633. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  634. package/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
  635. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  636. package/extensions/forms/Wizard/Step/Step.d.ts +10 -1
  637. package/extensions/forms/Wizard/Step/Step.js +15 -6
  638. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  639. package/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  640. package/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  641. package/extensions/forms/Wizard/style/dnb-wizard-layout.css +0 -1
  642. package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  643. package/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -1
  644. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.css +1 -0
  645. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.min.css +0 -0
  646. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.scss +1 -0
  647. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +3 -0
  648. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -0
  649. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +7 -0
  650. package/extensions/forms/hooks/useFieldProps.js +71 -32
  651. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  652. package/extensions/forms/style/dnb-forms.css +4 -5
  653. package/extensions/forms/style/dnb-forms.min.css +1 -1
  654. package/extensions/forms/types.d.ts +9 -0
  655. package/extensions/forms/types.js.map +1 -1
  656. package/fragments/drawer-list/DrawerListHelpers.js +5 -2
  657. package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  658. package/package.json +1 -1
  659. package/shared/Eufemia.d.ts +1 -1
  660. package/shared/Eufemia.js +2 -2
  661. package/shared/Eufemia.js.map +1 -1
  662. package/shared/MediaQuery.js +19 -1
  663. package/shared/MediaQuery.js.map +1 -1
  664. package/shared/MediaQueryUtils.d.ts +12 -34
  665. package/shared/MediaQueryUtils.js +22 -12
  666. package/shared/MediaQueryUtils.js.map +1 -1
  667. package/shared/component-helper.d.ts +1 -1
  668. package/shared/component-helper.js +5 -1
  669. package/shared/component-helper.js.map +1 -1
  670. package/shared/useMedia.d.ts +7 -2
  671. package/shared/useMedia.js +14 -11
  672. package/shared/useMedia.js.map +1 -1
  673. package/shared/useMediaQuery.js +28 -9
  674. package/shared/useMediaQuery.js.map +1 -1
  675. package/style/core/scopes.scss +1 -1
  676. package/style/dnb-ui-basis.css +2 -3
  677. package/style/dnb-ui-basis.min.css +1 -1
  678. package/style/dnb-ui-body.css +1 -1
  679. package/style/dnb-ui-body.min.css +1 -1
  680. package/style/dnb-ui-components.css +110 -42
  681. package/style/dnb-ui-components.min.css +3 -3
  682. package/style/dnb-ui-core.css +2 -3
  683. package/style/dnb-ui-core.min.css +1 -1
  684. package/style/dnb-ui-extensions.css +4 -5
  685. package/style/dnb-ui-extensions.min.css +1 -1
  686. package/style/dnb-ui-forms.css +4 -5
  687. package/style/dnb-ui-forms.min.css +1 -1
  688. package/style/themes/theme-eiendom/eiendom-theme-components.css +139 -51
  689. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +10 -6
  690. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +8 -5
  691. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  692. package/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  693. package/style/themes/theme-eiendom/eiendom-theme-forms.css +8 -5
  694. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  695. package/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
  696. package/style/themes/theme-sbanken/sbanken-theme-components.css +214 -127
  697. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +9 -7
  698. package/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
  699. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -5
  700. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  701. package/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  702. package/style/themes/theme-sbanken/sbanken-theme-forms.css +5 -5
  703. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  704. package/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
  705. package/style/themes/theme-ui/ui-theme-components.css +139 -51
  706. package/style/themes/theme-ui/ui-theme-components.min.css +10 -6
  707. package/style/themes/theme-ui/ui-theme-extensions.css +8 -5
  708. package/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  709. package/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  710. package/style/themes/theme-ui/ui-theme-forms.css +8 -5
  711. package/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  712. package/style/themes/theme-ui/ui-theme-forms.scss +1 -0
  713. package/umd/dnb-ui-basis.min.js +1 -1
  714. package/umd/dnb-ui-components.min.js +1 -1
  715. package/umd/dnb-ui-elements.min.js +1 -1
  716. package/umd/dnb-ui-extensions.min.js +3 -3
  717. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1 +1 @@
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","skipErrorCheck","skipStepChangeCall","skipStepChangeCallBeforeMounted","skipStepChangeCallFromHook","skipFieldValidation","enableAsyncBehaviour","onSubmit","_sharedStateRef$curre","_sharedStateRef$curre2","_sharedStateRef$curre3","data","call","result","Error","setActiveIndex","options","_objectSpread","handlePrevious","handleNext","handleChange","current_step","setFormError","error","titlesRef","Contents","Children","map","child","isValidElement","_child","_child2","step","type","_step","apply","_child$props$title","push","title","cloneElement","key","activeIndex","totalSteps","length","providerValue","_sharedStateRef$curre4","_sharedStateRef$curre5","extend","createElement","_extends","Provider","value","Sidebar","sidebar_id","bottom","no_animation","on_change","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Container/WizardContainer.tsx"],"sourcesContent":["import React, {\n useContext,\n useCallback,\n useRef,\n useReducer,\n useMemo,\n} from 'react'\nimport classnames from 'classnames'\nimport { Space, StepIndicator } from '../../../../components'\nimport { warn } from '../../../../shared/component-helper'\nimport { isAsync } from '../../../../shared/helpers/isAsync'\nimport useId from '../../../../shared/helpers/useId'\nimport DataContext from '../../DataContext/Context'\nimport Step, { Props as StepProps } from '../Step'\nimport WizardContext, {\n OnStepChange,\n SetActiveIndexOptions,\n StepIndex,\n WizardContextState,\n} from '../Context/WizardContext'\nimport Handler from '../../Form/Handler/Handler'\nimport {\n SharedStateReturn,\n useSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport useHandleLayoutEffect from './useHandleLayoutEffect'\nimport { ComponentProps } from '../../types'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport type Props = ComponentProps & {\n id?: string\n mode?: 'static' | 'strict' | 'loose'\n omitScrollManagement?: boolean\n omitFocusManagement?: boolean\n initialActiveIndex?: StepIndex\n onStepChange?: OnStepChange\n children: React.ReactNode\n variant?: 'sidebar' | 'drawer'\n noAnimation?: boolean\n sidebarId?: string\n\n /**\n * @deprecated Is enabled by default. You can disable it with \"omitScrollManagement\"\n */\n scrollTopOnStepChange?: boolean\n}\n\nfunction WizardContainer(props: Props) {\n const {\n className,\n id: idProp,\n mode = 'strict',\n initialActiveIndex = 0,\n omitScrollManagement,\n omitFocusManagement,\n onStepChange,\n children,\n noAnimation = true,\n variant = 'sidebar',\n sidebarId,\n ...rest\n } = props\n\n const {\n hasContext,\n setFormState,\n handleSubmitCall,\n setShowAllErrors,\n showAllErrors,\n setSubmitState,\n } = useContext(DataContext)\n\n const id = useId(idProp)\n const [, forceUpdate] = useReducer(() => ({}), {})\n const activeIndexRef = useRef<StepIndex>(initialActiveIndex)\n const errorOnStepRef = useRef<Record<StepIndex, boolean>>({})\n const stepElementRef = useRef<HTMLElement>()\n\n // - Handle shared state\n const sharedStateRef =\n useRef<\n SharedStateReturn<\n WizardContextState & { onStepChange?: OnStepChange }\n >\n >()\n sharedStateRef.current = useSharedState<WizardContextState>(\n hasContext && id ? id + '-wizard' : undefined\n )\n\n // Store the current state of showAllErrors\n errorOnStepRef.current[activeIndexRef.current] = showAllErrors\n\n const callOnStepChange = useCallback(\n async (index: StepIndex, mode: 'previous' | 'next') => {\n if (isAsync(onStepChange)) {\n return await onStepChange(index, mode)\n }\n\n return onStepChange?.(index, mode)\n },\n [onStepChange]\n )\n\n const { setFocus, scrollToTop, isInteractionRef } =\n useHandleLayoutEffect({ activeIndexRef, stepElementRef })\n\n const handleLayoutEffect = useCallback(() => {\n if (!omitFocusManagement) {\n setFocus()\n }\n if (!omitScrollManagement) {\n scrollToTop()\n }\n }, [omitScrollManagement, omitFocusManagement, setFocus, scrollToTop])\n\n const handleStepChange = useCallback(\n ({\n index,\n skipErrorCheck,\n skipStepChangeCall,\n skipStepChangeCallBeforeMounted,\n skipStepChangeCallFromHook,\n mode,\n }: {\n index: StepIndex\n mode: 'previous' | 'next'\n } & SetActiveIndexOptions) => {\n handleSubmitCall({\n skipErrorCheck,\n skipFieldValidation: skipErrorCheck,\n enableAsyncBehaviour: isAsync(onStepChange),\n onSubmit: async () => {\n if (!skipStepChangeCallFromHook) {\n sharedStateRef.current?.data?.onStepChange?.(index, mode)\n }\n\n const result =\n skipStepChangeCall ||\n (skipStepChangeCallBeforeMounted && !isInteractionRef.current)\n ? undefined\n : await callOnStepChange(index, mode)\n\n // Hide async indicator\n setFormState('abort')\n\n if (!skipErrorCheck) {\n // Set the showAllErrors to the step we got to\n setShowAllErrors(errorOnStepRef.current[index])\n }\n\n if (!(result instanceof Error)) {\n handleLayoutEffect()\n\n activeIndexRef.current = index\n forceUpdate()\n }\n\n return result\n },\n })\n },\n [\n callOnStepChange,\n handleLayoutEffect,\n handleSubmitCall,\n isInteractionRef,\n onStepChange,\n setFormState,\n setShowAllErrors,\n ]\n )\n\n const setActiveIndex = useCallback(\n (index: StepIndex, options?: SetActiveIndexOptions) => {\n if (index === activeIndexRef.current) {\n return\n }\n\n const mode = index > activeIndexRef.current ? 'next' : 'previous'\n\n handleStepChange({\n index,\n skipErrorCheck: mode === 'previous',\n mode,\n ...options,\n })\n },\n [handleStepChange]\n )\n\n const handlePrevious = useCallback(() => {\n setActiveIndex(activeIndexRef.current - 1)\n }, [setActiveIndex])\n\n const handleNext = useCallback(() => {\n setActiveIndex(activeIndexRef.current + 1)\n }, [setActiveIndex])\n\n const handleChange = useCallback(\n ({ current_step }) => {\n setActiveIndex(current_step, { skipErrorCheck: true })\n },\n [setActiveIndex]\n )\n\n const setFormError = useCallback(\n (error: Error) => {\n setSubmitState?.({ error })\n },\n [setSubmitState]\n )\n\n const titlesRef = useRef([])\n const Contents = useCallback(() => {\n titlesRef.current = []\n return React.Children.map(children, (child, index) => {\n if (React.isValidElement(child)) {\n let step = child\n\n if (child?.type !== Step && typeof child.type === 'function') {\n step = child.type.apply(child.type, [\n child.props,\n ]) as React.ReactElement\n\n if (step?.type === Step) {\n child = step\n }\n }\n\n if (child?.type === Step) {\n titlesRef.current.push(child.props.title ?? 'Title missing')\n return React.cloneElement(\n child as React.ReactElement<StepProps>,\n {\n key: `${index}-${activeIndexRef.current}`,\n index,\n }\n )\n }\n }\n\n return child\n })\n }, [children])\n\n const activeIndex = activeIndexRef.current\n const totalSteps = titlesRef.current.length\n const providerValue = useMemo(\n () => ({\n id,\n activeIndex,\n totalSteps,\n stepElementRef,\n setActiveIndex,\n handlePrevious,\n handleNext,\n setFormError,\n }),\n [\n id,\n activeIndex,\n totalSteps,\n setActiveIndex,\n handlePrevious,\n handleNext,\n setFormError,\n ]\n )\n\n // - Handle shared state\n useLayoutEffect(() => {\n if (id && hasContext) {\n sharedStateRef.current?.extend?.(providerValue)\n }\n }, [id, providerValue]) // eslint-disable-line react-hooks/exhaustive-deps\n\n if (!hasContext) {\n warn('You may wrap Wizard.Container in Form.Handler')\n return (\n <Handler>\n <WizardContainer {...props} id={id} />\n </Handler>\n )\n }\n\n return (\n <WizardContext.Provider value={providerValue}>\n <Space\n className={classnames(\n 'dnb-forms-wizard-layout',\n `dnb-forms-wizard-layout--${variant}`,\n className\n )}\n {...rest}\n >\n <aside className=\"dnb-forms-wizard-layout__sidebar\">\n <StepIndicator.Sidebar sidebar_id={id} />\n <StepIndicator\n bottom\n current_step={activeIndexRef.current}\n data={titlesRef.current}\n mode={mode}\n no_animation={noAnimation}\n on_change={handleChange}\n sidebar_id={\n variant === 'drawer' && !sidebarId\n ? ''\n : sidebarId\n ? sidebarId\n : id\n }\n />\n </aside>\n\n <div className=\"dnb-forms-wizard-layout__contents\">\n <Contents />\n </div>\n </Space>\n </WizardContext.Provider>\n )\n}\n\nWizardContainer._supportsSpacingProps = true\n\nexport default WizardContainer\n"],"mappings":"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"}
1
+ {"version":3,"file":"WizardContainer.js","names":["React","useContext","useCallback","useRef","useReducer","useMemo","ReactDOM","classnames","Space","StepIndicator","warn","isAsync","useId","Step","WizardContext","DataContext","defaultContextState","Handler","useSharedState","useHandleLayoutEffect","useLayoutEffect","window","useEffect","WizardContainer","props","className","id","idProp","mode","initialActiveIndex","omitScrollManagement","omitFocusManagement","onStepChange","children","noAnimation","prerenderFieldProps","variant","sidebarId","rest","_objectWithoutProperties","_excluded","hasContext","setFormState","handleSubmitCall","setShowAllErrors","showAllErrors","setSubmitState","fieldPropsRef","forceUpdate","activeIndexRef","errorOnStepRef","stepElementRef","sharedStateRef","current","undefined","callOnStepChange","index","setFocus","scrollToTop","isInteractionRef","handleLayoutEffect","handleStepChange","skipErrorCheck","skipStepChangeCall","skipStepChangeCallBeforeMounted","skipStepChangeCallFromHook","skipFieldValidation","enableAsyncBehaviour","onSubmit","_sharedStateRef$curre","_sharedStateRef$curre2","_sharedStateRef$curre3","data","call","result","Error","setActiveIndex","options","_objectSpread","handlePrevious","handleNext","handleChange","current_step","setFormError","error","titlesRef","prerenderFieldPropsRef","activeIndex","totalSteps","length","providerValue","_sharedStateRef$curre4","_sharedStateRef$curre5","extend","createElement","_extends","Provider","value","Sidebar","sidebar_id","bottom","no_animation","on_change","Contents","PrerenderFieldPropsOfOtherSteps","Children","map","child","isValidElement","_child","_child2","step","type","_step","apply","_child$props$title","push","title","key","clone","cloneElement","document","hasRenderedRef","WizardPortal","PrerenderFieldPropsProvider","hidden","Object","values","Fn","i","createPortal","body","setProps","updateDataValue","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Container/WizardContainer.tsx"],"sourcesContent":["import React, {\n useContext,\n useCallback,\n useRef,\n useReducer,\n useMemo,\n} from 'react'\nimport ReactDOM from 'react-dom'\nimport classnames from 'classnames'\nimport { Space, StepIndicator } from '../../../../components'\nimport { warn } from '../../../../shared/component-helper'\nimport { isAsync } from '../../../../shared/helpers/isAsync'\nimport useId from '../../../../shared/helpers/useId'\nimport Step, { Props as StepProps } from '../Step'\nimport WizardContext, {\n OnStepChange,\n SetActiveIndexOptions,\n StepIndex,\n WizardContextState,\n} from '../Context/WizardContext'\nimport DataContext, {\n defaultContextState,\n} from '../../DataContext/Context'\nimport Handler from '../../Form/Handler/Handler'\nimport {\n SharedStateReturn,\n useSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport useHandleLayoutEffect from './useHandleLayoutEffect'\nimport { ComponentProps } from '../../types'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport type Props = ComponentProps & {\n id?: string\n\n /**\n * The mode of the wizard.\n */\n mode?: 'static' | 'strict' | 'loose'\n\n /**\n * If set to `true`, the wizard will not scroll to the first step when the user clicks on the next button.\n */\n omitScrollManagement?: boolean\n\n /**\n * If set to `true`, the wizard will not focus on the next step when the user clicks on the next button.\n */\n omitFocusManagement?: boolean\n\n /**\n * The index of the first step to be rendered.\n */\n initialActiveIndex?: StepIndex\n\n /**\n * The callback function that will be called when the user clicks on the next button.\n */\n onStepChange?: OnStepChange\n\n /**\n * The sidebar variant.\n */\n variant?: 'sidebar' | 'drawer'\n sidebarId?: string\n\n /**\n * If set to `true`, the wizard will not animate the steps.\n */\n noAnimation?: boolean\n\n /**\n * If set to `true`, the wizard pre-render all steps so the props of each field is available in the data context.\n * Defaults to `true`.\n */\n prerenderFieldProps?: boolean\n\n /**\n * The children of the wizard container.\n */\n children: React.ReactNode\n\n /**\n * @deprecated Is enabled by default. You can disable it with \"omitScrollManagement\"\n */\n scrollTopOnStepChange?: boolean\n}\n\nfunction WizardContainer(props: Props) {\n const {\n className,\n id: idProp,\n mode = 'strict',\n initialActiveIndex = 0,\n omitScrollManagement,\n omitFocusManagement,\n onStepChange,\n children,\n noAnimation = true,\n prerenderFieldProps = true,\n variant = 'sidebar',\n sidebarId,\n ...rest\n } = props\n\n const {\n hasContext,\n setFormState,\n handleSubmitCall,\n setShowAllErrors,\n showAllErrors,\n setSubmitState,\n fieldPropsRef,\n } = useContext(DataContext)\n\n const id = useId(idProp)\n const [, forceUpdate] = useReducer(() => ({}), {})\n const activeIndexRef = useRef<StepIndex>(initialActiveIndex)\n const errorOnStepRef = useRef<Record<StepIndex, boolean>>({})\n const stepElementRef = useRef<HTMLElement>()\n\n // - Handle shared state\n const sharedStateRef =\n useRef<\n SharedStateReturn<\n WizardContextState & { onStepChange?: OnStepChange }\n >\n >()\n sharedStateRef.current = useSharedState<WizardContextState>(\n hasContext && id ? id + '-wizard' : undefined\n )\n\n // Store the current state of showAllErrors\n errorOnStepRef.current[activeIndexRef.current] = showAllErrors\n\n const callOnStepChange = useCallback(\n async (index: StepIndex, mode: 'previous' | 'next') => {\n if (isAsync(onStepChange)) {\n return await onStepChange(index, mode)\n }\n\n return onStepChange?.(index, mode)\n },\n [onStepChange]\n )\n\n const { setFocus, scrollToTop, isInteractionRef } =\n useHandleLayoutEffect({ activeIndexRef, stepElementRef })\n\n const handleLayoutEffect = useCallback(() => {\n if (!omitFocusManagement) {\n setFocus()\n }\n if (!omitScrollManagement) {\n scrollToTop()\n }\n }, [omitScrollManagement, omitFocusManagement, setFocus, scrollToTop])\n\n const handleStepChange = useCallback(\n ({\n index,\n skipErrorCheck,\n skipStepChangeCall,\n skipStepChangeCallBeforeMounted,\n skipStepChangeCallFromHook,\n mode,\n }: {\n index: StepIndex\n mode: 'previous' | 'next'\n } & SetActiveIndexOptions) => {\n handleSubmitCall({\n skipErrorCheck,\n skipFieldValidation: skipErrorCheck,\n enableAsyncBehaviour: isAsync(onStepChange),\n onSubmit: async () => {\n if (!skipStepChangeCallFromHook) {\n sharedStateRef.current?.data?.onStepChange?.(index, mode)\n }\n\n const result =\n skipStepChangeCall ||\n (skipStepChangeCallBeforeMounted && !isInteractionRef.current)\n ? undefined\n : await callOnStepChange(index, mode)\n\n // Hide async indicator\n setFormState('abort')\n\n if (!skipErrorCheck) {\n // Set the showAllErrors to the step we got to\n setShowAllErrors(errorOnStepRef.current[index])\n }\n\n if (!(result instanceof Error)) {\n handleLayoutEffect()\n\n activeIndexRef.current = index\n forceUpdate()\n }\n\n return result\n },\n })\n },\n [\n callOnStepChange,\n fieldPropsRef,\n handleLayoutEffect,\n handleSubmitCall,\n isInteractionRef,\n onStepChange,\n setFormState,\n setShowAllErrors,\n ]\n )\n\n const setActiveIndex = useCallback(\n (index: StepIndex, options?: SetActiveIndexOptions) => {\n if (index === activeIndexRef.current) {\n return\n }\n\n const mode = index > activeIndexRef.current ? 'next' : 'previous'\n\n handleStepChange({\n index,\n skipErrorCheck: mode === 'previous',\n mode,\n ...options,\n })\n },\n [handleStepChange]\n )\n\n const handlePrevious = useCallback(() => {\n setActiveIndex(activeIndexRef.current - 1)\n }, [setActiveIndex])\n\n const handleNext = useCallback(() => {\n setActiveIndex(activeIndexRef.current + 1)\n }, [setActiveIndex])\n\n const handleChange = useCallback(\n ({ current_step }) => {\n setActiveIndex(current_step, { skipErrorCheck: true })\n },\n [setActiveIndex]\n )\n\n const setFormError = useCallback(\n (error: Error) => {\n setSubmitState?.({ error })\n },\n [setSubmitState]\n )\n\n const titlesRef = useRef([])\n const prerenderFieldPropsRef = useRef<\n Record<string, () => React.ReactElement>\n >({})\n\n const activeIndex = activeIndexRef.current\n const totalSteps = titlesRef.current.length\n const providerValue = useMemo(\n () => ({\n id,\n activeIndex,\n totalSteps,\n stepElementRef,\n titlesRef,\n activeIndexRef,\n prerenderFieldProps,\n prerenderFieldPropsRef,\n setActiveIndex,\n handlePrevious,\n handleNext,\n setFormError,\n }),\n [\n id,\n activeIndex,\n totalSteps,\n prerenderFieldProps,\n setActiveIndex,\n handlePrevious,\n handleNext,\n setFormError,\n ]\n )\n\n // - Handle shared state\n useLayoutEffect(() => {\n if (id && hasContext) {\n sharedStateRef.current?.extend?.(providerValue)\n }\n }, [id, providerValue]) // eslint-disable-line react-hooks/exhaustive-deps\n\n if (!hasContext) {\n warn('You may wrap Wizard.Container in Form.Handler')\n return (\n <Handler>\n <WizardContainer {...props} id={id} />\n </Handler>\n )\n }\n\n return (\n <WizardContext.Provider value={providerValue}>\n <Space\n className={classnames(\n 'dnb-forms-wizard-layout',\n `dnb-forms-wizard-layout--${variant}`,\n className\n )}\n {...rest}\n >\n <aside className=\"dnb-forms-wizard-layout__sidebar\">\n <StepIndicator.Sidebar sidebar_id={id} />\n <StepIndicator\n bottom\n current_step={activeIndexRef.current}\n data={titlesRef.current}\n mode={mode}\n no_animation={noAnimation}\n on_change={handleChange}\n sidebar_id={\n variant === 'drawer' && !sidebarId\n ? ''\n : sidebarId\n ? sidebarId\n : id\n }\n />\n </aside>\n\n <div className=\"dnb-forms-wizard-layout__contents\">\n <Contents>{children}</Contents>\n </div>\n </Space>\n\n {prerenderFieldProps && (\n <PrerenderFieldPropsOfOtherSteps\n prerenderFieldPropsRef={prerenderFieldPropsRef}\n />\n )}\n </WizardContext.Provider>\n )\n}\n\nfunction Contents({ children }) {\n const {\n titlesRef,\n activeIndexRef,\n prerenderFieldProps,\n prerenderFieldPropsRef,\n } = useContext(WizardContext)\n\n titlesRef.current = []\n return React.Children.map(children, (child, index) => {\n if (React.isValidElement(child)) {\n let step = child\n\n if (child?.type !== Step && typeof child.type === 'function') {\n step = child.type.apply(child.type, [\n child.props,\n ]) as React.ReactElement\n\n if (step?.type === Step) {\n child = step\n }\n }\n\n if (child?.type === Step) {\n titlesRef.current.push(child.props.title ?? 'Title missing')\n const key = `${index}-${activeIndexRef.current}`\n const clone = (props) =>\n React.cloneElement(child as React.ReactElement<StepProps>, props)\n\n if (\n prerenderFieldProps &&\n typeof document !== 'undefined' &&\n index !== activeIndexRef.current &&\n typeof prerenderFieldPropsRef.current['step-' + index] ===\n 'undefined'\n ) {\n prerenderFieldPropsRef.current['step-' + index] = () =>\n clone({\n key,\n index,\n prerenderFieldProps: true,\n })\n }\n\n return clone({\n key,\n index,\n })\n }\n }\n\n return child\n })\n}\n\nfunction PrerenderFieldPropsOfOtherSteps({\n prerenderFieldPropsRef,\n}: {\n prerenderFieldPropsRef: WizardContextState['prerenderFieldPropsRef']\n}) {\n const hasRenderedRef = useRef(true)\n if (!hasRenderedRef.current) {\n return null\n }\n hasRenderedRef.current = false\n\n return (\n <WizardPortal>\n <PrerenderFieldPropsProvider>\n <iframe title=\"Wizard Prerender\" hidden>\n {Object.values(prerenderFieldPropsRef.current).map((Fn, i) => (\n <Fn key={i} />\n ))}\n </iframe>\n </PrerenderFieldPropsProvider>\n </WizardPortal>\n )\n}\n\nfunction WizardPortal({ children }) {\n if (typeof document !== 'undefined') {\n return ReactDOM.createPortal(children, document.body)\n }\n}\n\nfunction PrerenderFieldPropsProvider({ children }) {\n const { data, setProps, updateDataValue } = useContext(DataContext)\n\n return (\n <DataContext.Provider\n value={{\n ...defaultContextState,\n\n // Only update the props and the data value\n data,\n setProps,\n updateDataValue,\n prerenderFieldProps: true,\n }}\n >\n <WizardContext.Provider value={{ prerenderFieldProps: true }}>\n {children}\n </WizardContext.Provider>\n </DataContext.Provider>\n )\n}\n\nWizardContainer._supportsSpacingProps = true\n\nexport default WizardContainer\n"],"mappings":"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"}
@@ -13,6 +13,10 @@ export interface WizardContextState {
13
13
  totalSteps?: number;
14
14
  activeIndex?: StepIndex;
15
15
  stepElementRef?: React.MutableRefObject<HTMLElement>;
16
+ titlesRef?: React.MutableRefObject<Array<string>>;
17
+ activeIndexRef?: React.MutableRefObject<StepIndex>;
18
+ prerenderFieldPropsRef?: React.MutableRefObject<Record<string, () => React.ReactElement>>;
19
+ prerenderFieldProps?: boolean;
16
20
  handlePrevious?: () => void;
17
21
  handleNext?: () => void;
18
22
  setActiveIndex?: (index: StepIndex, { skipStepChangeCall, skipStepChangeCallBeforeMounted, skipStepChangeCallFromHook, }?: SetActiveIndexOptions) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"WizardContext.js","names":["React","WizardContext","createContext","undefined"],"sources":["../../../../../../src/extensions/forms/Wizard/Context/WizardContext.ts"],"sourcesContent":["import React from 'react'\nimport { EventReturnWithStateObject } from '../../types'\n\nexport type OnStepChange = (\n index: StepIndex,\n mode: 'previous' | 'next'\n) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n\nexport type StepIndex = number\nexport type SetActiveIndexOptions = {\n skipStepChangeCall?: boolean\n skipStepChangeCallBeforeMounted?: boolean\n skipStepChangeCallFromHook?: boolean\n skipErrorCheck?: boolean\n}\nexport interface WizardContextState {\n id?: string\n totalSteps?: number\n activeIndex?: StepIndex\n stepElementRef?: React.MutableRefObject<HTMLElement>\n handlePrevious?: () => void\n handleNext?: () => void\n setActiveIndex?: (\n index: StepIndex,\n {\n skipStepChangeCall,\n skipStepChangeCallBeforeMounted,\n skipStepChangeCallFromHook,\n }?: SetActiveIndexOptions\n ) => void\n setFormError?: (error: Error) => void\n}\n\nconst WizardContext = React.createContext<WizardContextState | undefined>(\n undefined\n)\n\nexport default WizardContext\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAoCzB,MAAMC,aAAa,GAAGD,KAAK,CAACE,aAAa,CACvCC,SACF,CAAC;AAED,eAAeF,aAAa"}
1
+ {"version":3,"file":"WizardContext.js","names":["React","WizardContext","createContext","undefined"],"sources":["../../../../../../src/extensions/forms/Wizard/Context/WizardContext.ts"],"sourcesContent":["import React from 'react'\nimport { EventReturnWithStateObject } from '../../types'\n\nexport type OnStepChange = (\n index: StepIndex,\n mode: 'previous' | 'next'\n) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n\nexport type StepIndex = number\nexport type SetActiveIndexOptions = {\n skipStepChangeCall?: boolean\n skipStepChangeCallBeforeMounted?: boolean\n skipStepChangeCallFromHook?: boolean\n skipErrorCheck?: boolean\n}\nexport interface WizardContextState {\n id?: string\n totalSteps?: number\n activeIndex?: StepIndex\n stepElementRef?: React.MutableRefObject<HTMLElement>\n titlesRef?: React.MutableRefObject<Array<string>>\n activeIndexRef?: React.MutableRefObject<StepIndex>\n prerenderFieldPropsRef?: React.MutableRefObject<\n Record<string, () => React.ReactElement>\n >\n prerenderFieldProps?: boolean\n handlePrevious?: () => void\n handleNext?: () => void\n setActiveIndex?: (\n index: StepIndex,\n {\n skipStepChangeCall,\n skipStepChangeCallBeforeMounted,\n skipStepChangeCallFromHook,\n }?: SetActiveIndexOptions\n ) => void\n setFormError?: (error: Error) => void\n}\n\nconst WizardContext = React.createContext<WizardContextState | undefined>(\n undefined\n)\n\nexport default WizardContext\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AA0CzB,MAAMC,aAAa,GAAGD,KAAK,CAACE,aAAa,CACvCC,SACF,CAAC;AAED,eAAeF,aAAa"}
@@ -11,8 +11,17 @@ export type Props = ComponentProps & FlexContainerProps & {
11
11
  * Used internally by the WizardContainer.
12
12
  */
13
13
  index?: number;
14
+ /**
15
+ * Will make all the fields inside the step to be required.
16
+ */
17
+ required?: boolean;
18
+ /**
19
+ * If set to `true`, the step will always be rendered.
20
+ * For internal use only.
21
+ */
22
+ prerenderFieldProps?: boolean;
14
23
  };
15
- declare function Step(props: Props): import("react/jsx-runtime").JSX.Element;
24
+ declare function Step(props: Props): string | number | boolean | import("react/jsx-runtime").JSX.Element | Iterable<React.ReactNode>;
16
25
  declare namespace Step {
17
26
  var _supportsSpacingProps: boolean;
18
27
  }
@@ -2,18 +2,21 @@
2
2
 
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
- const _excluded = ["className", "title", "index", "children"];
5
+ const _excluded = ["className", "title", "index", "required", "prerenderFieldProps", "children"];
6
6
  import React, { useContext, useMemo, useRef } from 'react';
7
7
  import classnames from 'classnames';
8
8
  import WizardContext from '../Context/WizardContext';
9
9
  import Flex from '../../../../components/flex/Flex';
10
10
  import { convertJsxToString } from '../../../../shared/component-helper';
11
+ import FieldProps from '../../Form/FieldProps';
11
12
  const useLayoutEffect = typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect;
12
13
  function Step(props) {
13
14
  const {
14
15
  className,
15
16
  title,
16
17
  index,
18
+ required,
19
+ prerenderFieldProps,
17
20
  children
18
21
  } = props,
19
22
  restProps = _objectWithoutProperties(props, _excluded);
@@ -22,11 +25,11 @@ function Step(props) {
22
25
  stepElementRef
23
26
  } = useContext(WizardContext) || {};
24
27
  const ariaLabel = useMemo(() => {
25
- return convertJsxToString(title);
26
- }, [title]);
28
+ return !prerenderFieldProps && convertJsxToString(title);
29
+ }, [prerenderFieldProps, title]);
27
30
  const currentElementRef = useRef();
28
31
  useLayoutEffect(() => {
29
- if (typeof stepElementRef !== 'undefined') {
32
+ if (!prerenderFieldProps && typeof stepElementRef !== 'undefined') {
30
33
  if (currentElementRef.current) {
31
34
  stepElementRef.current = currentElementRef.current;
32
35
  }
@@ -34,17 +37,23 @@ function Step(props) {
34
37
  stepElementRef.current = null;
35
38
  };
36
39
  }
37
- }, [stepElementRef]);
40
+ }, [prerenderFieldProps, stepElementRef]);
41
+ if (prerenderFieldProps) {
42
+ return children;
43
+ }
38
44
  if (activeIndex !== index) {
39
45
  return null;
40
46
  }
47
+ const fieldProps = typeof required === 'boolean' ? {
48
+ required
49
+ } : undefined;
41
50
  return React.createElement(Flex.Stack, _extends({
42
51
  className: classnames('dnb-forms-step', className),
43
52
  element: "section",
44
53
  "aria-label": ariaLabel,
45
54
  innerRef: currentElementRef,
46
55
  tabIndex: -1
47
- }, restProps), children);
56
+ }, restProps), fieldProps ? React.createElement(FieldProps, fieldProps, children) : children);
48
57
  }
49
58
  Step._supportsSpacingProps = true;
50
59
  export default Step;
@@ -1 +1 @@
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
+ {"version":3,"file":"Step.js","names":["React","useContext","useMemo","useRef","classnames","WizardContext","Flex","convertJsxToString","FieldProps","useLayoutEffect","window","useEffect","Step","props","className","title","index","required","prerenderFieldProps","children","restProps","_objectWithoutProperties","_excluded","activeIndex","stepElementRef","ariaLabel","currentElementRef","current","fieldProps","undefined","createElement","Stack","_extends","element","innerRef","tabIndex","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Step/Step.tsx"],"sourcesContent":["import React, { useContext, useMemo, useRef } from 'react'\nimport classnames from 'classnames'\nimport { ComponentProps } from '../../types'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport WizardContext from '../Context/WizardContext'\nimport Flex from '../../../../components/flex/Flex'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport FieldProps from '../../Form/FieldProps'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport type Props = ComponentProps &\n FlexContainerProps & {\n /**\n * A title that will be displayed in the indicator.\n */\n title?: React.ReactNode\n\n /**\n * To determine if the step should be rendered.\n * Used internally by the WizardContainer.\n */\n index?: number\n\n /**\n * Will make all the fields inside the step to be required.\n */\n required?: boolean\n\n /**\n * If set to `true`, the step will always be rendered.\n * For internal use only.\n */\n prerenderFieldProps?: boolean\n }\n\nfunction Step(props: Props) {\n const {\n className,\n title,\n index,\n required,\n prerenderFieldProps,\n children,\n ...restProps\n } = props\n const { activeIndex, stepElementRef } = useContext(WizardContext) || {}\n\n const ariaLabel = useMemo(() => {\n return !prerenderFieldProps && convertJsxToString(title)\n }, [prerenderFieldProps, title])\n\n const currentElementRef = useRef<HTMLElement>()\n useLayoutEffect(() => {\n if (!prerenderFieldProps && typeof stepElementRef !== 'undefined') {\n if (currentElementRef.current) {\n stepElementRef.current = currentElementRef.current\n }\n return () => {\n stepElementRef.current = null\n }\n }\n }, [prerenderFieldProps, stepElementRef])\n\n if (prerenderFieldProps) {\n return children\n }\n\n if (activeIndex !== index) {\n // Another step is active\n return null\n }\n\n const fieldProps =\n typeof required === 'boolean' ? { required } : undefined\n\n return (\n <Flex.Stack\n className={classnames('dnb-forms-step', className)}\n element=\"section\"\n aria-label={ariaLabel}\n innerRef={currentElementRef}\n tabIndex={-1}\n {...restProps}\n >\n {fieldProps ? (\n <FieldProps {...fieldProps}>{children}</FieldProps>\n ) : (\n children\n )}\n </Flex.Stack>\n )\n}\n\nStep._supportsSpacingProps = true\nexport default Step\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AAC1D,OAAOC,UAAU,MAAM,YAAY;AAGnC,OAAOC,aAAa,MAAM,0BAA0B;AACpD,OAAOC,IAAI,MAAM,kCAAkC;AACnD,SAASC,kBAAkB,QAAQ,qCAAqC;AACxE,OAAOC,UAAU,MAAM,uBAAuB;AAG9C,MAAMC,eAAe,GACnB,OAAOC,MAAM,KAAK,WAAW,GAAGV,KAAK,CAACW,SAAS,GAAGX,KAAK,CAACS,eAAe;AA2BzE,SAASG,IAAIA,CAACC,KAAY,EAAE;EAC1B,MAAM;MACJC,SAAS;MACTC,KAAK;MACLC,KAAK;MACLC,QAAQ;MACRC,mBAAmB;MACnBC;IAEF,CAAC,GAAGN,KAAK;IADJO,SAAS,GAAAC,wBAAA,CACVR,KAAK,EAAAS,SAAA;EACT,MAAM;IAAEC,WAAW;IAAEC;EAAe,CAAC,GAAGvB,UAAU,CAACI,aAAa,CAAC,IAAI,CAAC,CAAC;EAEvE,MAAMoB,SAAS,GAAGvB,OAAO,CAAC,MAAM;IAC9B,OAAO,CAACgB,mBAAmB,IAAIX,kBAAkB,CAACQ,KAAK,CAAC;EAC1D,CAAC,EAAE,CAACG,mBAAmB,EAAEH,KAAK,CAAC,CAAC;EAEhC,MAAMW,iBAAiB,GAAGvB,MAAM,CAAc,CAAC;EAC/CM,eAAe,CAAC,MAAM;IACpB,IAAI,CAACS,mBAAmB,IAAI,OAAOM,cAAc,KAAK,WAAW,EAAE;MACjE,IAAIE,iBAAiB,CAACC,OAAO,EAAE;QAC7BH,cAAc,CAACG,OAAO,GAAGD,iBAAiB,CAACC,OAAO;MACpD;MACA,OAAO,MAAM;QACXH,cAAc,CAACG,OAAO,GAAG,IAAI;MAC/B,CAAC;IACH;EACF,CAAC,EAAE,CAACT,mBAAmB,EAAEM,cAAc,CAAC,CAAC;EAEzC,IAAIN,mBAAmB,EAAE;IACvB,OAAOC,QAAQ;EACjB;EAEA,IAAII,WAAW,KAAKP,KAAK,EAAE;IAEzB,OAAO,IAAI;EACb;EAEA,MAAMY,UAAU,GACd,OAAOX,QAAQ,KAAK,SAAS,GAAG;IAAEA;EAAS,CAAC,GAAGY,SAAS;EAE1D,OACE7B,KAAA,CAAA8B,aAAA,CAACxB,IAAI,CAACyB,KAAK,EAAAC,QAAA;IACTlB,SAAS,EAAEV,UAAU,CAAC,gBAAgB,EAAEU,SAAS,CAAE;IACnDmB,OAAO,EAAC,SAAS;IACjB,cAAYR,SAAU;IACtBS,QAAQ,EAAER,iBAAkB;IAC5BS,QAAQ,EAAE,CAAC;EAAE,GACTf,SAAS,GAEZQ,UAAU,GACT5B,KAAA,CAAA8B,aAAA,CAACtB,UAAU,EAAKoB,UAAU,EAAGT,QAAqB,CAAC,GAEnDA,QAEQ,CAAC;AAEjB;AAEAP,IAAI,CAACwB,qBAAqB,GAAG,IAAI;AACjC,eAAexB,IAAI"}
@@ -4,6 +4,11 @@ export const StepProperties = {
4
4
  type: 'React.Node',
5
5
  status: 'optional'
6
6
  },
7
+ required: {
8
+ doc: 'Will make all nested form fields required.',
9
+ type: 'boolean',
10
+ status: 'optional'
11
+ },
7
12
  children: {
8
13
  doc: 'Contents.',
9
14
  type: 'React.Node',
@@ -1 +1 @@
1
- {"version":3,"file":"StepDocs.js","names":["StepProperties","title","doc","type","status","children","StepEvents"],"sources":["../../../../../../src/extensions/forms/Wizard/Step/StepDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const StepProperties: PropertiesTableProps = {\n title: {\n doc: 'Title of the step.',\n type: 'React.Node',\n status: 'optional',\n },\n children: {\n doc: 'Contents.',\n type: 'React.Node',\n status: 'required',\n },\n '[Flex.Container](/uilib/layout/flex/container)': {\n doc: 'Flex.Container properties.',\n type: 'Various',\n status: 'optional',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const StepEvents: PropertiesTableProps = {}\n"],"mappings":"AAEA,OAAO,MAAMA,cAAoC,GAAG;EAClDC,KAAK,EAAE;IACLC,GAAG,EAAE,oBAAoB;IACzBC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDC,QAAQ,EAAE;IACRH,GAAG,EAAE,WAAW;IAChBC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACD,gDAAgD,EAAE;IAChDF,GAAG,EAAE,4BAA4B;IACjCC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAME,UAAgC,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"StepDocs.js","names":["StepProperties","title","doc","type","status","required","children","StepEvents"],"sources":["../../../../../../src/extensions/forms/Wizard/Step/StepDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const StepProperties: PropertiesTableProps = {\n title: {\n doc: 'Title of the step.',\n type: 'React.Node',\n status: 'optional',\n },\n required: {\n doc: 'Will make all nested form fields required.',\n type: 'boolean',\n status: 'optional',\n },\n children: {\n doc: 'Contents.',\n type: 'React.Node',\n status: 'required',\n },\n '[Flex.Container](/uilib/layout/flex/container)': {\n doc: 'Flex.Container properties.',\n type: 'Various',\n status: 'optional',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const StepEvents: PropertiesTableProps = {}\n"],"mappings":"AAEA,OAAO,MAAMA,cAAoC,GAAG;EAClDC,KAAK,EAAE;IACLC,GAAG,EAAE,oBAAoB;IACzBC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDC,QAAQ,EAAE;IACRH,GAAG,EAAE,4CAA4C;IACjDC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDE,QAAQ,EAAE;IACRJ,GAAG,EAAE,WAAW;IAChBC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACD,gDAAgD,EAAE;IAChDF,GAAG,EAAE,4BAA4B;IACjCC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMG,UAAgC,GAAG,CAAC,CAAC"}
@@ -23,7 +23,6 @@
23
23
  outline: none;
24
24
  }
25
25
  .dnb-forms-wizard-layout__contents .dnb-card {
26
- --border-color: var(--color-pistachio);
27
26
  max-width: var(--forms-card-max-width);
28
27
  }
29
28
  .dnb-forms-wizard-layout__contents .dnb-forms-step > .appear-fx,
@@ -1 +1 @@
1
- .dnb-forms-wizard-layout{-moz-column-gap:var(--spacing-medium);column-gap:var(--spacing-medium);display:flex;flex-flow:row wrap}.dnb-forms-wizard-layout--drawer{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-wizard-layout__sidebar{flex:0;margin-bottom:2rem}.dnb-forms-wizard-layout__contents{flex:1}.dnb-forms-wizard-layout__contents .dnb-forms-step{outline:none}.dnb-forms-wizard-layout__contents .dnb-card{--border-color:var(--color-pistachio);max-width:var(--forms-card-max-width)}.dnb-forms-wizard-layout__contents .dnb-forms-button-row>.appear-fx,.dnb-forms-wizard-layout__contents .dnb-forms-step>.appear-fx{--appear-opacity:0;--appear-offset:-0.25rem;animation:appear .6s var(--easing-default) forwards;animation-delay:calc(var(--element-index, 0)*30ms);opacity:var(--appear-opacity);transform:translate3d(var(--appear-offset),0,0)}@keyframes appear{0%{opacity:var(--appear-opacity);transform:translate3d(var(--appear-offset),0,0)}80%{opacity:1}to{opacity:1;transform:translateZ(0)}}@media screen and (min-width:40em){.dnb-forms-wizard-layout+.dnb-form-status+.dnb-form-status:not([class*=space__left]),.dnb-forms-wizard-layout+.dnb-form-status:not([class*=space__left]){margin-left:var(--spacing-medium)}}@media screen and (max-width:60em){.dnb-forms-wizard-layout{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-wizard-layout__contents{flex-basis:auto}}.dnb-forms-wizard-layout .dnb-step-indicator__sidebar{margin-right:0}@media screen and (min-width:60em){.dnb-forms-form:has(.dnb-forms-wizard-layout--sidebar) .dnb-forms-status{margin-left:23rem}}
1
+ .dnb-forms-wizard-layout{-moz-column-gap:var(--spacing-medium);column-gap:var(--spacing-medium);display:flex;flex-flow:row wrap}.dnb-forms-wizard-layout--drawer{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-wizard-layout__sidebar{flex:0;margin-bottom:2rem}.dnb-forms-wizard-layout__contents{flex:1}.dnb-forms-wizard-layout__contents .dnb-forms-step{outline:none}.dnb-forms-wizard-layout__contents .dnb-card{max-width:var(--forms-card-max-width)}.dnb-forms-wizard-layout__contents .dnb-forms-button-row>.appear-fx,.dnb-forms-wizard-layout__contents .dnb-forms-step>.appear-fx{--appear-opacity:0;--appear-offset:-0.25rem;animation:appear .6s var(--easing-default) forwards;animation-delay:calc(var(--element-index, 0)*30ms);opacity:var(--appear-opacity);transform:translate3d(var(--appear-offset),0,0)}@keyframes appear{0%{opacity:var(--appear-opacity);transform:translate3d(var(--appear-offset),0,0)}80%{opacity:1}to{opacity:1;transform:translateZ(0)}}@media screen and (min-width:40em){.dnb-forms-wizard-layout+.dnb-form-status+.dnb-form-status:not([class*=space__left]),.dnb-forms-wizard-layout+.dnb-form-status:not([class*=space__left]){margin-left:var(--spacing-medium)}}@media screen and (max-width:60em){.dnb-forms-wizard-layout{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-wizard-layout__contents{flex-basis:auto}}.dnb-forms-wizard-layout .dnb-step-indicator__sidebar{margin-right:0}@media screen and (min-width:60em){.dnb-forms-form:has(.dnb-forms-wizard-layout--sidebar) .dnb-forms-status{margin-left:23rem}}
@@ -24,7 +24,6 @@
24
24
  }
25
25
 
26
26
  .dnb-card {
27
- --border-color: var(--color-pistachio);
28
27
  max-width: var(--forms-card-max-width);
29
28
  }
30
29
 
@@ -0,0 +1,3 @@
1
+ .dnb-forms-wizard-layout__contents .dnb-card {
2
+ --border-color: var(--color-pistachio);
3
+ }
@@ -0,0 +1 @@
1
+ .dnb-forms-wizard-layout__contents .dnb-card{--border-color:var(--color-pistachio)}
@@ -0,0 +1,7 @@
1
+ .dnb-forms-wizard-layout {
2
+ &__contents {
3
+ .dnb-card {
4
+ --border-color: var(--color-pistachio);
5
+ }
6
+ }
7
+ }
@@ -32,7 +32,7 @@ export default function useFieldProps(localeProps) {
32
32
  path,
33
33
  itemPath,
34
34
  emptyValue,
35
- required,
35
+ required: requiredProp,
36
36
  disabled: disabledProp,
37
37
  info,
38
38
  warning,
@@ -96,11 +96,11 @@ export default function useFieldProps(localeProps) {
96
96
  } = dataContext !== null && dataContext !== void 0 ? dataContext : {};
97
97
  const onChangeContext = dataContext === null || dataContext === void 0 ? void 0 : (_dataContext$props = dataContext.props) === null || _dataContext$props === void 0 ? void 0 : _dataContext$props.onChange;
98
98
  const disabled = disabledProp !== null && disabledProp !== void 0 ? disabledProp : props.readOnly;
99
- const dataContextError = path ? dataContextErrors === null || dataContextErrors === void 0 ? void 0 : dataContextErrors[path] : undefined;
100
99
  const inFieldBlock = Boolean(fieldBlockContext);
101
100
  const {
102
101
  setFieldState: setFieldStateFieldBlock,
103
- showFieldError: showFieldErrorFieldBlock
102
+ showFieldError: showFieldErrorFieldBlock,
103
+ mountedFieldsRef: mountedFieldsRefFieldBlock
104
104
  } = fieldBlockContext !== null && fieldBlockContext !== void 0 ? fieldBlockContext : {};
105
105
  const inIterate = Boolean(iterateElementContext);
106
106
  const {
@@ -137,9 +137,32 @@ export default function useFieldProps(localeProps) {
137
137
  const valueRef = useRef(externalValue);
138
138
  const changedRef = useRef(false);
139
139
  const hasFocusRef = useRef(false);
140
+ const required = useMemo(() => {
141
+ if (requiredProp) {
142
+ return requiredProp;
143
+ }
144
+ const paths = identifier.split('/');
145
+ if (paths.length > 0 && (schema || dataContext !== null && dataContext !== void 0 && dataContext.schema)) {
146
+ const requiredList = [schema === null || schema === void 0 ? void 0 : schema['required']];
147
+ if (paths.length > 1) {
148
+ const schema = dataContext.schema;
149
+ const schemaPath = paths.slice(0, -1).join('/properties/');
150
+ const schemaPart = pointer.has(schema, schemaPath) ? pointer.get(schema, schemaPath) : schema;
151
+ requiredList.push(schemaPart === null || schemaPart === void 0 ? void 0 : schemaPart.required);
152
+ }
153
+ const collected = requiredList.flatMap(v => v).filter(Boolean);
154
+ if (collected.includes(paths.at(-1))) {
155
+ return true;
156
+ }
157
+ }
158
+ }, [dataContext === null || dataContext === void 0 ? void 0 : dataContext.schema, identifier, requiredProp, schema]);
140
159
  const showErrorRef = useRef(Boolean(validateInitially || errorProp));
141
160
  const errorMethodRef = useRef({});
142
161
  const localErrorRef = useRef();
162
+ const hasLocalErrorRef = useRef(false);
163
+ const dataContextError = useMemo(() => {
164
+ return path ? dataContextErrors === null || dataContextErrors === void 0 ? void 0 : dataContextErrors[identifier] : undefined;
165
+ }, [dataContextErrors, identifier, path]);
143
166
  const contextErrorRef = useRef(dataContextError);
144
167
  const validatorRef = useRef(validator);
145
168
  useUpdateEffect(() => {
@@ -223,18 +246,6 @@ export default function useFieldProps(localeProps) {
223
246
  showErrorRef.current = false;
224
247
  showFieldErrorFieldBlock === null || showFieldErrorFieldBlock === void 0 ? void 0 : showFieldErrorFieldBlock(identifier, false);
225
248
  }, [showFieldErrorFieldBlock, identifier]);
226
- const error = showErrorRef.current || ((_localErrorRef$curren = localErrorRef.current) === null || _localErrorRef$curren === void 0 ? void 0 : _localErrorRef$curren['validationRule']) === 'type' ? (_ref = errorProp !== null && errorProp !== void 0 ? errorProp : localErrorRef.current) !== null && _ref !== void 0 ? _ref : contextErrorRef.current : undefined;
227
- const hasVisibleError = Boolean(error) || inFieldBlock && fieldBlockContext.hasErrorProp;
228
- const hasError = useCallback(() => {
229
- var _ref2;
230
- return Boolean((_ref2 = errorProp !== null && errorProp !== void 0 ? errorProp : localErrorRef.current) !== null && _ref2 !== void 0 ? _ref2 : contextErrorRef.current);
231
- }, [errorProp]);
232
- const errorMessagesRef = useRef(null);
233
- errorMessagesRef.current = useMemo(() => {
234
- return _objectSpread({
235
- required: translation.Field.errorRequired
236
- }, errorMessages);
237
- }, [errorMessages, translation.Field.errorRequired]);
238
249
  const prepareError = useCallback(error => {
239
250
  if (error instanceof FormError) {
240
251
  var _error$messageValues;
@@ -257,6 +268,27 @@ export default function useFieldProps(localeProps) {
257
268
  }
258
269
  return error;
259
270
  }, []);
271
+ contextErrorRef.current = useMemo(() => {
272
+ if (!dataContextError) {
273
+ return undefined;
274
+ }
275
+ const error = prepareError(dataContextError);
276
+ if (errorChanged(error, contextErrorRef.current)) {
277
+ return error;
278
+ }
279
+ }, [dataContextError, prepareError]);
280
+ const error = showErrorRef.current || ((_localErrorRef$curren = localErrorRef.current) === null || _localErrorRef$curren === void 0 ? void 0 : _localErrorRef$curren['validationRule']) === 'type' ? (_ref = errorProp !== null && errorProp !== void 0 ? errorProp : localErrorRef.current) !== null && _ref !== void 0 ? _ref : contextErrorRef.current : undefined;
281
+ const hasVisibleError = Boolean(error) || inFieldBlock && fieldBlockContext.hasErrorProp;
282
+ const hasError = useCallback(() => {
283
+ var _ref2;
284
+ return Boolean((_ref2 = errorProp !== null && errorProp !== void 0 ? errorProp : localErrorRef.current) !== null && _ref2 !== void 0 ? _ref2 : contextErrorRef.current);
285
+ }, [errorProp]);
286
+ const errorMessagesRef = useRef(null);
287
+ errorMessagesRef.current = useMemo(() => {
288
+ return _objectSpread({
289
+ required: translation.Field.errorRequired
290
+ }, errorMessages);
291
+ }, [errorMessages, translation.Field.errorRequired]);
260
292
  const stateId = useId();
261
293
  const persistErrorState = useCallback((method, errorArg = undefined) => {
262
294
  const error = prepareError(errorArg);
@@ -286,6 +318,7 @@ export default function useFieldProps(localeProps) {
286
318
  }, [prepareError, setFieldErrorDataContext, identifier, setFieldError, setFieldStateDataContext, setFieldStateFieldBlock, stateId, inFieldBlock, validateInitially]);
287
319
  const clearErrorState = useCallback(() => {
288
320
  persistErrorState('wipe');
321
+ hasLocalErrorRef.current = false;
289
322
  }, [persistErrorState]);
290
323
  const callValidator = useCallback(async () => {
291
324
  if (typeof validatorRef.current !== 'function') {
@@ -357,7 +390,7 @@ export default function useFieldProps(localeProps) {
357
390
  try {
358
391
  const requiredError = transformers.current.validateRequired(value, {
359
392
  emptyValue,
360
- required,
393
+ required: requiredProp,
361
394
  isChanged: changedRef.current,
362
395
  error: new FormError('The value is required', {
363
396
  validationRule: 'required'
@@ -382,10 +415,11 @@ export default function useFieldProps(localeProps) {
382
415
  validatedValue.current = value;
383
416
  } catch (error) {
384
417
  if (isProcessActive()) {
418
+ hasLocalErrorRef.current = true;
385
419
  persistErrorState('weak', error);
386
420
  }
387
421
  }
388
- }, [startProcess, disabled, hideError, setFieldState, clearErrorState, emptyValue, required, validateInitially, callValidator, persistErrorState]);
422
+ }, [startProcess, disabled, hideError, setFieldState, clearErrorState, emptyValue, requiredProp, validateInitially, callValidator, persistErrorState]);
389
423
  const handleError = useCallback(() => {
390
424
  if (continuousValidation || continuousValidation !== false && !hasFocusRef.current) {
391
425
  showError();
@@ -581,7 +615,6 @@ export default function useFieldProps(localeProps) {
581
615
  setPropsDataContext === null || setPropsDataContext === void 0 ? void 0 : setPropsDataContext(identifier, props);
582
616
  useMountEffect(() => {
583
617
  dataContext === null || dataContext === void 0 ? void 0 : dataContext.handleMountField(identifier);
584
- setPropsDataContext === null || setPropsDataContext === void 0 ? void 0 : setPropsDataContext(identifier, props);
585
618
  validateValue();
586
619
  });
587
620
  useUnmountEffect(() => {
@@ -603,12 +636,18 @@ export default function useFieldProps(localeProps) {
603
636
  forceUpdate();
604
637
  }, [externalValue, validateValue]);
605
638
  useEffect(() => {
606
- const error = prepareError(dataContextError);
607
- if (errorChanged(error, contextErrorRef.current)) {
608
- contextErrorRef.current = error;
609
- forceUpdate();
639
+ if (!hasLocalErrorRef.current) {
640
+ const error = prepareError(dataContextError);
641
+ if (error) {
642
+ persistErrorState('weak', error);
643
+ if (validateInitially) {
644
+ handleError();
645
+ }
646
+ } else {
647
+ clearErrorState();
648
+ }
610
649
  }
611
- }, [dataContextError, prepareError]);
650
+ }, [clearErrorState, dataContextError, handleError, persistErrorState, prepareError, validateInitially]);
612
651
  useEffect(() => {
613
652
  if (path) {
614
653
  let value = props.value;
@@ -686,8 +725,8 @@ export default function useFieldProps(localeProps) {
686
725
  });
687
726
  }
688
727
  return () => {
689
- if (fieldBlockContext.mountedFieldsRef) {
690
- fieldBlockContext.mountedFieldsRef.current[identifier] = true;
728
+ if (mountedFieldsRefFieldBlock) {
729
+ mountedFieldsRefFieldBlock.current[identifier] = true;
691
730
  }
692
731
  };
693
732
  }
@@ -705,18 +744,18 @@ export default function useFieldProps(localeProps) {
705
744
  acc[cur] = props[cur];
706
745
  }
707
746
  return acc;
708
- }, {});
747
+ }, _objectSpread({}, props.htmlAttributes));
709
748
  }, [props]);
710
749
  if (error) {
711
750
  htmlAttributes['aria-invalid'] = error ? 'true' : 'false';
712
751
  }
713
752
  if (required) {
714
- htmlAttributes['aria-required'] = required ? 'true' : 'false';
753
+ htmlAttributes['aria-required'] = 'true';
715
754
  }
716
755
  if (inFieldBlock) {
717
756
  var _fieldBlockContext$fi;
718
- if (fieldBlockContext.mountedFieldsRef) {
719
- fieldBlockContext.mountedFieldsRef.current[identifier] = true;
757
+ if (mountedFieldsRefFieldBlock) {
758
+ mountedFieldsRefFieldBlock.current[identifier] = true;
720
759
  }
721
760
  const stateIds = (_fieldBlockContext$fi = fieldBlockContext.fieldStateIdsRef) === null || _fieldBlockContext$fi === void 0 ? void 0 : _fieldBlockContext$fi.current;
722
761
  if (stateIds) {