@dnb/eufemia 10.46.0 → 10.48.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 (894) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/cjs/components/accordion/Accordion.d.ts +17 -1
  3. package/cjs/components/accordion/Accordion.js +4 -2
  4. package/cjs/components/accordion/Accordion.js.map +1 -1
  5. package/cjs/components/accordion/AccordionContext.d.ts +4 -0
  6. package/cjs/components/accordion/AccordionContext.js.map +1 -1
  7. package/cjs/components/accordion/AccordionDocs.js +6 -1
  8. package/cjs/components/accordion/AccordionDocs.js.map +1 -1
  9. package/cjs/components/accordion/AccordionGroup.js +5 -3
  10. package/cjs/components/accordion/AccordionGroup.js.map +1 -1
  11. package/cjs/components/accordion/AccordionProviderContext.d.ts +4 -0
  12. package/cjs/components/accordion/AccordionProviderContext.js.map +1 -1
  13. package/cjs/components/accordion/AccordionStore.js +2 -1
  14. package/cjs/components/accordion/AccordionStore.js.map +1 -1
  15. package/cjs/components/accordion/style/dnb-accordion.css +3 -3
  16. package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
  17. package/cjs/components/autocomplete/style/dnb-autocomplete.css +1 -1
  18. package/cjs/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  19. package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
  20. package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  21. package/cjs/components/button/Button.d.ts +1 -1
  22. package/cjs/components/button/Button.js +5 -2
  23. package/cjs/components/button/Button.js.map +1 -1
  24. package/cjs/components/card/style/dnb-card.css +1 -1
  25. package/cjs/components/card/style/dnb-card.min.css +1 -1
  26. package/cjs/components/copy-on-click/CopyOnClick.d.ts +1 -1
  27. package/cjs/components/copy-on-click/CopyOnClick.js +5 -4
  28. package/cjs/components/copy-on-click/CopyOnClick.js.map +1 -1
  29. package/cjs/components/copy-on-click/CopyOnClickDocs.js +5 -0
  30. package/cjs/components/copy-on-click/CopyOnClickDocs.js.map +1 -1
  31. package/cjs/components/copy-on-click/types.d.ts +5 -0
  32. package/cjs/components/copy-on-click/types.js.map +1 -1
  33. package/cjs/components/drawer/style/dnb-drawer.css +3 -3
  34. package/cjs/components/drawer/style/dnb-drawer.min.css +1 -1
  35. package/cjs/components/dropdown/style/dnb-dropdown.css +1 -1
  36. package/cjs/components/dropdown/style/dnb-dropdown.min.css +1 -1
  37. package/cjs/components/flex/Container.js +9 -1
  38. package/cjs/components/flex/Container.js.map +1 -1
  39. package/cjs/components/flex/utils.d.ts +1 -1
  40. package/cjs/components/flex/utils.js +1 -1
  41. package/cjs/components/flex/utils.js.map +1 -1
  42. package/cjs/components/form-row/style/dnb-form-row.css +1 -1
  43. package/cjs/components/form-row/style/dnb-form-row.min.css +1 -1
  44. package/cjs/components/grid/style/dnb-grid.css +6 -6
  45. package/cjs/components/grid/style/dnb-grid.min.css +1 -1
  46. package/cjs/components/lib.d.ts +1 -1
  47. package/cjs/components/progress-indicator/ProgressIndicator.js +2 -2
  48. package/cjs/components/progress-indicator/ProgressIndicator.js.map +1 -1
  49. package/cjs/components/section/style/dnb-section.css +2 -2
  50. package/cjs/components/section/style/dnb-section.min.css +2 -2
  51. package/cjs/components/space/style/dnb-space.css +2 -2
  52. package/cjs/components/space/style/dnb-space.min.css +1 -1
  53. package/cjs/components/tabs/Tabs.js +2 -2
  54. package/cjs/components/tabs/Tabs.js.map +1 -1
  55. package/cjs/components/tag/Tag.js +2 -2
  56. package/cjs/components/tag/Tag.js.map +1 -1
  57. package/cjs/components/toggle-button/style/dnb-toggle-button.css +1 -1
  58. package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  59. package/cjs/extensions/forms/DataContext/Context.d.ts +9 -5
  60. package/cjs/extensions/forms/DataContext/Context.js +0 -1
  61. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  62. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +3 -2
  63. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  64. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.d.ts +8 -3
  65. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +12 -5
  66. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  67. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +6 -2
  68. package/cjs/extensions/forms/DataContext/Provider/Provider.js +36 -16
  69. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  70. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +1 -1
  71. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  72. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +21 -12
  73. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  74. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.d.ts +2 -0
  75. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +20 -0
  76. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -0
  77. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +1 -1
  78. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  79. package/cjs/extensions/forms/Field/Slider/Slider.js +7 -7
  80. package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -1
  81. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -2
  82. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +35 -11
  83. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  84. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js +1 -1
  85. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  86. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
  87. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  88. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +1 -1
  89. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  90. package/cjs/extensions/forms/Form/Isolation/Isolation.js +2 -3
  91. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  92. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +1 -1
  93. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  94. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js +20 -1
  95. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
  96. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +17 -11
  97. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  98. package/cjs/extensions/forms/Form/Section/Section.d.ts +7 -2
  99. package/cjs/extensions/forms/Form/Section/Section.js +3 -1
  100. package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
  101. package/cjs/extensions/forms/Form/Section/SectionDocs.js +6 -1
  102. package/cjs/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
  103. package/cjs/extensions/forms/Form/Section/containers/SectionContainer.d.ts +3 -1
  104. package/cjs/extensions/forms/Form/Section/containers/SectionContainer.js +22 -20
  105. package/cjs/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -1
  106. package/cjs/extensions/forms/Form/Section/containers/SectionContainerContext.d.ts +2 -0
  107. package/cjs/extensions/forms/Form/Section/containers/SectionContainerContext.js.map +1 -1
  108. package/cjs/extensions/forms/Form/Section/containers/SectionContainerProvider.d.ts +1 -0
  109. package/cjs/extensions/forms/Form/Section/containers/SectionContainerProvider.js +4 -1
  110. package/cjs/extensions/forms/Form/Section/containers/SectionContainerProvider.js.map +1 -1
  111. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.css +3 -0
  112. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
  113. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.scss +4 -0
  114. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +9 -5
  115. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  116. package/cjs/extensions/forms/Iterate/Array/Array.js +71 -28
  117. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  118. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js +9 -0
  119. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  120. package/cjs/extensions/forms/Iterate/{AnimatedContainer/ElementBlock.d.ts → Array/ArrayItemArea.d.ts} +6 -6
  121. package/cjs/extensions/forms/Iterate/{AnimatedContainer/ElementBlock.js → Array/ArrayItemArea.js} +66 -49
  122. package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -0
  123. package/cjs/extensions/forms/Iterate/Array/ArrayItemAreaContext.d.ts +6 -0
  124. package/cjs/extensions/forms/Iterate/{AnimatedContainer/ElementBlockContext.js → Array/ArrayItemAreaContext.js} +3 -3
  125. package/cjs/extensions/forms/Iterate/Array/ArrayItemAreaContext.js.map +1 -0
  126. package/cjs/extensions/forms/Iterate/Array/types.d.ts +7 -5
  127. package/cjs/extensions/forms/Iterate/Array/types.js.map +1 -1
  128. package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.d.ts +9 -0
  129. package/cjs/extensions/forms/Iterate/EditContainer/{EditToolbarTools.js → CancelButton.js} +30 -56
  130. package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -0
  131. package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.d.ts +4 -0
  132. package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.js +75 -0
  133. package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -0
  134. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +8 -2
  135. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +33 -12
  136. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  137. package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +5 -0
  138. package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  139. package/cjs/extensions/forms/Iterate/EditContainer/index.d.ts +2 -0
  140. package/cjs/extensions/forms/Iterate/EditContainer/index.js +19 -1
  141. package/cjs/extensions/forms/Iterate/EditContainer/index.js.map +1 -1
  142. package/cjs/extensions/forms/Iterate/IterateItemContext.d.ts +7 -1
  143. package/cjs/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
  144. package/cjs/extensions/forms/Iterate/PushButton/PushButton.d.ts +7 -2
  145. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js +23 -12
  146. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  147. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +5 -1
  148. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +78 -24
  149. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  150. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +5 -0
  151. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  152. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +9 -9
  153. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  154. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.d.ts +10 -2
  155. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js +52 -6
  156. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  157. package/cjs/extensions/forms/Iterate/Toolbar/ToolbarContext.d.ts +6 -0
  158. package/cjs/extensions/forms/Iterate/Toolbar/ToolbarContext.js +12 -0
  159. package/cjs/extensions/forms/Iterate/Toolbar/ToolbarContext.js.map +1 -0
  160. package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.d.ts +1 -0
  161. package/cjs/extensions/forms/Iterate/ViewContainer/{ViewToolbarTools.js → EditButton.js} +8 -11
  162. package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -0
  163. package/cjs/extensions/forms/Iterate/ViewContainer/RemoveButton.d.ts +1 -0
  164. package/cjs/extensions/forms/Iterate/ViewContainer/RemoveButton.js +19 -0
  165. package/cjs/extensions/forms/Iterate/ViewContainer/RemoveButton.js.map +1 -0
  166. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +8 -2
  167. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +25 -10
  168. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  169. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  170. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  171. package/cjs/extensions/forms/Iterate/ViewContainer/index.d.ts +2 -0
  172. package/cjs/extensions/forms/Iterate/ViewContainer/index.js +19 -1
  173. package/cjs/extensions/forms/Iterate/ViewContainer/index.js.map +1 -1
  174. package/cjs/extensions/forms/Iterate/hooks/index.d.ts +2 -0
  175. package/cjs/extensions/forms/Iterate/hooks/index.js +21 -0
  176. package/cjs/extensions/forms/Iterate/hooks/index.js.map +1 -0
  177. package/cjs/extensions/forms/Iterate/hooks/useSwitchContainerMode.d.ts +17 -0
  178. package/cjs/extensions/forms/Iterate/hooks/useSwitchContainerMode.js +93 -0
  179. package/cjs/extensions/forms/Iterate/hooks/useSwitchContainerMode.js.map +1 -0
  180. package/cjs/extensions/forms/Tools/Log.d.ts +6 -0
  181. package/cjs/extensions/forms/Tools/Log.js +29 -0
  182. package/cjs/extensions/forms/Tools/Log.js.map +1 -0
  183. package/cjs/extensions/forms/Tools/index.d.ts +1 -0
  184. package/cjs/extensions/forms/Tools/index.js +7 -0
  185. package/cjs/extensions/forms/Tools/index.js.map +1 -1
  186. package/cjs/extensions/forms/Value/Date/Date.d.ts +1 -1
  187. package/cjs/extensions/forms/Value/Date/Date.js +15 -5
  188. package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
  189. package/cjs/extensions/forms/Value/Date/DateDocs.js +1 -1
  190. package/cjs/extensions/forms/Value/Date/DateDocs.js.map +1 -1
  191. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
  192. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  193. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +19 -7
  194. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  195. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  196. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  197. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +3 -1
  198. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  199. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -2
  200. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  201. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +0 -2
  202. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  203. package/cjs/extensions/forms/constants/countries.d.ts +5 -2
  204. package/cjs/extensions/forms/constants/countries.js +81 -25
  205. package/cjs/extensions/forms/constants/countries.js.map +1 -1
  206. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +2 -1
  207. package/cjs/extensions/forms/constants/locales/en-GB.js +3 -2
  208. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  209. package/cjs/extensions/forms/constants/locales/en-US.d.ts +2 -1
  210. package/cjs/extensions/forms/constants/locales/index.d.ts +4 -2
  211. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
  212. package/cjs/extensions/forms/constants/locales/nb-NO.js +3 -2
  213. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  214. package/cjs/extensions/forms/hooks/DataValueDocs.js +10 -5
  215. package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  216. package/cjs/extensions/forms/hooks/useDataValue.d.ts +2 -1
  217. package/cjs/extensions/forms/hooks/useDataValue.js +7 -7
  218. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  219. package/cjs/extensions/forms/hooks/useExternalValue.js +8 -6
  220. package/cjs/extensions/forms/hooks/useExternalValue.js.map +1 -1
  221. package/cjs/extensions/forms/hooks/useFieldProps.d.ts +2 -1
  222. package/cjs/extensions/forms/hooks/useFieldProps.js +317 -121
  223. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  224. package/cjs/extensions/forms/hooks/usePath.d.ts +1 -0
  225. package/cjs/extensions/forms/hooks/usePath.js +5 -1
  226. package/cjs/extensions/forms/hooks/usePath.js.map +1 -1
  227. package/cjs/extensions/forms/style/dnb-forms.css +13 -10
  228. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  229. package/cjs/extensions/forms/types.d.ts +32 -2
  230. package/cjs/extensions/forms/types.js.map +1 -1
  231. package/cjs/shared/Eufemia.d.ts +1 -1
  232. package/cjs/shared/Eufemia.js +2 -2
  233. package/cjs/shared/Eufemia.js.map +1 -1
  234. package/cjs/style/core/scopes.scss +1 -1
  235. package/cjs/style/core/utilities.scss +3 -6
  236. package/cjs/style/dnb-ui-basis.css +1 -1
  237. package/cjs/style/dnb-ui-basis.min.css +1 -1
  238. package/cjs/style/dnb-ui-body.css +1 -1
  239. package/cjs/style/dnb-ui-body.min.css +1 -1
  240. package/cjs/style/dnb-ui-components.css +37 -34
  241. package/cjs/style/dnb-ui-components.min.css +5 -5
  242. package/cjs/style/dnb-ui-core.css +1 -1
  243. package/cjs/style/dnb-ui-core.min.css +1 -1
  244. package/cjs/style/dnb-ui-elements.css +1 -1
  245. package/cjs/style/dnb-ui-elements.min.css +1 -1
  246. package/cjs/style/dnb-ui-extensions.css +13 -10
  247. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  248. package/cjs/style/dnb-ui-forms.css +13 -10
  249. package/cjs/style/dnb-ui-forms.min.css +1 -1
  250. package/cjs/style/dnb-ui-fragments.css +2 -2
  251. package/cjs/style/dnb-ui-fragments.min.css +1 -1
  252. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -1
  253. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  254. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +51 -45
  255. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
  256. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
  257. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  258. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +13 -10
  259. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  260. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +13 -10
  261. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  262. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
  263. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  264. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +51 -45
  265. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
  266. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
  267. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  268. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +13 -10
  269. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  270. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +13 -10
  271. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  272. package/cjs/style/themes/theme-ui/ui-theme-basis.css +1 -1
  273. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  274. package/cjs/style/themes/theme-ui/ui-theme-components.css +51 -45
  275. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +6 -6
  276. package/cjs/style/themes/theme-ui/ui-theme-elements.css +1 -1
  277. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  278. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +13 -10
  279. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  280. package/cjs/style/themes/theme-ui/ui-theme-forms.css +13 -10
  281. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  282. package/cjs/style/themes/theme-ui/ui-theme-tags.css +1 -1
  283. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  284. package/components/accordion/Accordion.d.ts +17 -1
  285. package/components/accordion/Accordion.js +4 -2
  286. package/components/accordion/Accordion.js.map +1 -1
  287. package/components/accordion/AccordionContext.d.ts +4 -0
  288. package/components/accordion/AccordionContext.js.map +1 -1
  289. package/components/accordion/AccordionDocs.js +6 -1
  290. package/components/accordion/AccordionDocs.js.map +1 -1
  291. package/components/accordion/AccordionGroup.js +5 -3
  292. package/components/accordion/AccordionGroup.js.map +1 -1
  293. package/components/accordion/AccordionProviderContext.d.ts +4 -0
  294. package/components/accordion/AccordionProviderContext.js.map +1 -1
  295. package/components/accordion/AccordionStore.js +2 -1
  296. package/components/accordion/AccordionStore.js.map +1 -1
  297. package/components/accordion/style/dnb-accordion.css +3 -3
  298. package/components/accordion/style/dnb-accordion.min.css +1 -1
  299. package/components/autocomplete/style/dnb-autocomplete.css +1 -1
  300. package/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  301. package/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
  302. package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  303. package/components/button/Button.d.ts +1 -1
  304. package/components/button/Button.js +5 -2
  305. package/components/button/Button.js.map +1 -1
  306. package/components/card/style/dnb-card.css +1 -1
  307. package/components/card/style/dnb-card.min.css +1 -1
  308. package/components/copy-on-click/CopyOnClick.d.ts +1 -1
  309. package/components/copy-on-click/CopyOnClick.js +5 -4
  310. package/components/copy-on-click/CopyOnClick.js.map +1 -1
  311. package/components/copy-on-click/CopyOnClickDocs.js +5 -0
  312. package/components/copy-on-click/CopyOnClickDocs.js.map +1 -1
  313. package/components/copy-on-click/types.d.ts +5 -0
  314. package/components/copy-on-click/types.js.map +1 -1
  315. package/components/drawer/style/dnb-drawer.css +3 -3
  316. package/components/drawer/style/dnb-drawer.min.css +1 -1
  317. package/components/dropdown/style/dnb-dropdown.css +1 -1
  318. package/components/dropdown/style/dnb-dropdown.min.css +1 -1
  319. package/components/flex/Container.js +10 -2
  320. package/components/flex/Container.js.map +1 -1
  321. package/components/flex/utils.d.ts +1 -1
  322. package/components/flex/utils.js +1 -1
  323. package/components/flex/utils.js.map +1 -1
  324. package/components/form-row/style/dnb-form-row.css +1 -1
  325. package/components/form-row/style/dnb-form-row.min.css +1 -1
  326. package/components/grid/style/dnb-grid.css +6 -6
  327. package/components/grid/style/dnb-grid.min.css +1 -1
  328. package/components/lib.d.ts +1 -1
  329. package/components/progress-indicator/ProgressIndicator.js +2 -2
  330. package/components/progress-indicator/ProgressIndicator.js.map +1 -1
  331. package/components/section/style/dnb-section.css +2 -2
  332. package/components/section/style/dnb-section.min.css +2 -2
  333. package/components/space/style/dnb-space.css +2 -2
  334. package/components/space/style/dnb-space.min.css +1 -1
  335. package/components/tabs/Tabs.js +2 -2
  336. package/components/tabs/Tabs.js.map +1 -1
  337. package/components/tag/Tag.js +2 -2
  338. package/components/tag/Tag.js.map +1 -1
  339. package/components/toggle-button/style/dnb-toggle-button.css +1 -1
  340. package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  341. package/es/components/accordion/Accordion.d.ts +17 -1
  342. package/es/components/accordion/Accordion.js +4 -2
  343. package/es/components/accordion/Accordion.js.map +1 -1
  344. package/es/components/accordion/AccordionContext.d.ts +4 -0
  345. package/es/components/accordion/AccordionContext.js.map +1 -1
  346. package/es/components/accordion/AccordionDocs.js +6 -1
  347. package/es/components/accordion/AccordionDocs.js.map +1 -1
  348. package/es/components/accordion/AccordionGroup.js +5 -3
  349. package/es/components/accordion/AccordionGroup.js.map +1 -1
  350. package/es/components/accordion/AccordionProviderContext.d.ts +4 -0
  351. package/es/components/accordion/AccordionProviderContext.js.map +1 -1
  352. package/es/components/accordion/AccordionStore.js +2 -1
  353. package/es/components/accordion/AccordionStore.js.map +1 -1
  354. package/es/components/accordion/style/dnb-accordion.css +3 -3
  355. package/es/components/accordion/style/dnb-accordion.min.css +1 -1
  356. package/es/components/autocomplete/style/dnb-autocomplete.css +1 -1
  357. package/es/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  358. package/es/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
  359. package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  360. package/es/components/button/Button.d.ts +1 -1
  361. package/es/components/button/Button.js +5 -2
  362. package/es/components/button/Button.js.map +1 -1
  363. package/es/components/card/style/dnb-card.css +1 -1
  364. package/es/components/card/style/dnb-card.min.css +1 -1
  365. package/es/components/copy-on-click/CopyOnClick.d.ts +1 -1
  366. package/es/components/copy-on-click/CopyOnClick.js +5 -4
  367. package/es/components/copy-on-click/CopyOnClick.js.map +1 -1
  368. package/es/components/copy-on-click/CopyOnClickDocs.js +5 -0
  369. package/es/components/copy-on-click/CopyOnClickDocs.js.map +1 -1
  370. package/es/components/copy-on-click/types.d.ts +5 -0
  371. package/es/components/copy-on-click/types.js.map +1 -1
  372. package/es/components/drawer/style/dnb-drawer.css +3 -3
  373. package/es/components/drawer/style/dnb-drawer.min.css +1 -1
  374. package/es/components/dropdown/style/dnb-dropdown.css +1 -1
  375. package/es/components/dropdown/style/dnb-dropdown.min.css +1 -1
  376. package/es/components/flex/Container.js +10 -2
  377. package/es/components/flex/Container.js.map +1 -1
  378. package/es/components/flex/utils.d.ts +1 -1
  379. package/es/components/flex/utils.js +1 -1
  380. package/es/components/flex/utils.js.map +1 -1
  381. package/es/components/form-row/style/dnb-form-row.css +1 -1
  382. package/es/components/form-row/style/dnb-form-row.min.css +1 -1
  383. package/es/components/grid/style/dnb-grid.css +6 -6
  384. package/es/components/grid/style/dnb-grid.min.css +1 -1
  385. package/es/components/lib.d.ts +1 -1
  386. package/es/components/progress-indicator/ProgressIndicator.js +2 -2
  387. package/es/components/progress-indicator/ProgressIndicator.js.map +1 -1
  388. package/es/components/section/style/dnb-section.css +2 -2
  389. package/es/components/section/style/dnb-section.min.css +2 -2
  390. package/es/components/space/style/dnb-space.css +2 -2
  391. package/es/components/space/style/dnb-space.min.css +1 -1
  392. package/es/components/tabs/Tabs.js +2 -2
  393. package/es/components/tabs/Tabs.js.map +1 -1
  394. package/es/components/tag/Tag.js +2 -2
  395. package/es/components/tag/Tag.js.map +1 -1
  396. package/es/components/toggle-button/style/dnb-toggle-button.css +1 -1
  397. package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  398. package/es/extensions/forms/DataContext/Context.d.ts +9 -5
  399. package/es/extensions/forms/DataContext/Context.js +0 -1
  400. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  401. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +3 -2
  402. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  403. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.d.ts +8 -3
  404. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +13 -5
  405. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  406. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +6 -2
  407. package/es/extensions/forms/DataContext/Provider/Provider.js +36 -16
  408. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  409. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +1 -1
  410. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  411. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +21 -12
  412. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  413. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.d.ts +2 -0
  414. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +13 -0
  415. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -0
  416. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +1 -1
  417. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  418. package/es/extensions/forms/Field/Slider/Slider.js +7 -7
  419. package/es/extensions/forms/Field/Slider/Slider.js.map +1 -1
  420. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -2
  421. package/es/extensions/forms/FieldBlock/FieldBlock.js +33 -11
  422. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  423. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js +1 -1
  424. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  425. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
  426. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  427. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +1 -1
  428. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  429. package/es/extensions/forms/Form/Isolation/Isolation.js +2 -3
  430. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  431. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +1 -1
  432. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  433. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js +22 -2
  434. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
  435. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +17 -11
  436. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  437. package/es/extensions/forms/Form/Section/Section.d.ts +7 -2
  438. package/es/extensions/forms/Form/Section/Section.js +3 -1
  439. package/es/extensions/forms/Form/Section/Section.js.map +1 -1
  440. package/es/extensions/forms/Form/Section/SectionDocs.js +6 -1
  441. package/es/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
  442. package/es/extensions/forms/Form/Section/containers/SectionContainer.d.ts +3 -1
  443. package/es/extensions/forms/Form/Section/containers/SectionContainer.js +22 -20
  444. package/es/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -1
  445. package/es/extensions/forms/Form/Section/containers/SectionContainerContext.d.ts +2 -0
  446. package/es/extensions/forms/Form/Section/containers/SectionContainerContext.js.map +1 -1
  447. package/es/extensions/forms/Form/Section/containers/SectionContainerProvider.d.ts +1 -0
  448. package/es/extensions/forms/Form/Section/containers/SectionContainerProvider.js +4 -1
  449. package/es/extensions/forms/Form/Section/containers/SectionContainerProvider.js.map +1 -1
  450. package/es/extensions/forms/Form/Section/style/dnb-form-section.css +3 -0
  451. package/es/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
  452. package/es/extensions/forms/Form/Section/style/dnb-form-section.scss +4 -0
  453. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +9 -5
  454. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  455. package/es/extensions/forms/Iterate/Array/Array.js +71 -29
  456. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  457. package/es/extensions/forms/Iterate/Array/ArrayDocs.js +9 -0
  458. package/es/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  459. package/es/extensions/forms/Iterate/{AnimatedContainer/ElementBlock.d.ts → Array/ArrayItemArea.d.ts} +6 -6
  460. package/es/extensions/forms/Iterate/Array/ArrayItemArea.js +137 -0
  461. package/es/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -0
  462. package/es/extensions/forms/Iterate/Array/ArrayItemAreaContext.d.ts +6 -0
  463. package/es/extensions/forms/Iterate/Array/ArrayItemAreaContext.js +6 -0
  464. package/es/extensions/forms/Iterate/Array/ArrayItemAreaContext.js.map +1 -0
  465. package/es/extensions/forms/Iterate/Array/types.d.ts +7 -5
  466. package/es/extensions/forms/Iterate/Array/types.js.map +1 -1
  467. package/es/extensions/forms/Iterate/EditContainer/CancelButton.d.ts +9 -0
  468. package/es/extensions/forms/Iterate/EditContainer/CancelButton.js +87 -0
  469. package/es/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -0
  470. package/es/extensions/forms/Iterate/EditContainer/DoneButton.d.ts +4 -0
  471. package/es/extensions/forms/Iterate/EditContainer/DoneButton.js +67 -0
  472. package/es/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -0
  473. package/es/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +8 -2
  474. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +32 -11
  475. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  476. package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +5 -0
  477. package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  478. package/es/extensions/forms/Iterate/EditContainer/index.d.ts +2 -0
  479. package/es/extensions/forms/Iterate/EditContainer/index.js +2 -0
  480. package/es/extensions/forms/Iterate/EditContainer/index.js.map +1 -1
  481. package/es/extensions/forms/Iterate/IterateItemContext.d.ts +7 -1
  482. package/es/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
  483. package/es/extensions/forms/Iterate/PushButton/PushButton.d.ts +7 -2
  484. package/es/extensions/forms/Iterate/PushButton/PushButton.js +23 -12
  485. package/es/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  486. package/es/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +5 -1
  487. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +78 -23
  488. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  489. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +5 -0
  490. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  491. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +9 -9
  492. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  493. package/es/extensions/forms/Iterate/Toolbar/Toolbar.d.ts +10 -2
  494. package/es/extensions/forms/Iterate/Toolbar/Toolbar.js +51 -7
  495. package/es/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  496. package/es/extensions/forms/Iterate/Toolbar/ToolbarContext.d.ts +6 -0
  497. package/es/extensions/forms/Iterate/Toolbar/ToolbarContext.js +4 -0
  498. package/es/extensions/forms/Iterate/Toolbar/ToolbarContext.js.map +1 -0
  499. package/es/extensions/forms/Iterate/ViewContainer/EditButton.d.ts +1 -0
  500. package/{extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js → es/extensions/forms/Iterate/ViewContainer/EditButton.js} +8 -11
  501. package/es/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -0
  502. package/es/extensions/forms/Iterate/ViewContainer/RemoveButton.d.ts +1 -0
  503. package/es/extensions/forms/Iterate/ViewContainer/RemoveButton.js +12 -0
  504. package/es/extensions/forms/Iterate/ViewContainer/RemoveButton.js.map +1 -0
  505. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +8 -2
  506. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +24 -9
  507. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  508. package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  509. package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  510. package/es/extensions/forms/Iterate/ViewContainer/index.d.ts +2 -0
  511. package/es/extensions/forms/Iterate/ViewContainer/index.js +2 -0
  512. package/es/extensions/forms/Iterate/ViewContainer/index.js.map +1 -1
  513. package/es/extensions/forms/Iterate/hooks/index.d.ts +2 -0
  514. package/es/extensions/forms/Iterate/hooks/index.js +3 -0
  515. package/es/extensions/forms/Iterate/hooks/index.js.map +1 -0
  516. package/es/extensions/forms/Iterate/hooks/useSwitchContainerMode.d.ts +17 -0
  517. package/es/extensions/forms/Iterate/hooks/useSwitchContainerMode.js +85 -0
  518. package/es/extensions/forms/Iterate/hooks/useSwitchContainerMode.js.map +1 -0
  519. package/es/extensions/forms/Tools/Log.d.ts +6 -0
  520. package/es/extensions/forms/Tools/Log.js +22 -0
  521. package/es/extensions/forms/Tools/Log.js.map +1 -0
  522. package/es/extensions/forms/Tools/index.d.ts +1 -0
  523. package/es/extensions/forms/Tools/index.js +1 -0
  524. package/es/extensions/forms/Tools/index.js.map +1 -1
  525. package/es/extensions/forms/Value/Date/Date.d.ts +1 -1
  526. package/es/extensions/forms/Value/Date/Date.js +15 -5
  527. package/es/extensions/forms/Value/Date/Date.js.map +1 -1
  528. package/es/extensions/forms/Value/Date/DateDocs.js +1 -1
  529. package/es/extensions/forms/Value/Date/DateDocs.js.map +1 -1
  530. package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
  531. package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  532. package/es/extensions/forms/Wizard/Container/WizardContainer.js +18 -7
  533. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  534. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  535. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  536. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +3 -1
  537. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  538. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -2
  539. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  540. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +0 -2
  541. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  542. package/es/extensions/forms/constants/countries.d.ts +5 -2
  543. package/es/extensions/forms/constants/countries.js +81 -25
  544. package/es/extensions/forms/constants/countries.js.map +1 -1
  545. package/es/extensions/forms/constants/locales/en-GB.d.ts +2 -1
  546. package/es/extensions/forms/constants/locales/en-GB.js +3 -2
  547. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  548. package/es/extensions/forms/constants/locales/en-US.d.ts +2 -1
  549. package/es/extensions/forms/constants/locales/index.d.ts +4 -2
  550. package/es/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
  551. package/es/extensions/forms/constants/locales/nb-NO.js +3 -2
  552. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  553. package/es/extensions/forms/hooks/DataValueDocs.js +10 -5
  554. package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  555. package/es/extensions/forms/hooks/useDataValue.d.ts +2 -1
  556. package/es/extensions/forms/hooks/useDataValue.js +7 -7
  557. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  558. package/es/extensions/forms/hooks/useExternalValue.js +8 -6
  559. package/es/extensions/forms/hooks/useExternalValue.js.map +1 -1
  560. package/es/extensions/forms/hooks/useFieldProps.d.ts +2 -1
  561. package/es/extensions/forms/hooks/useFieldProps.js +309 -119
  562. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  563. package/es/extensions/forms/hooks/usePath.d.ts +1 -0
  564. package/es/extensions/forms/hooks/usePath.js +5 -1
  565. package/es/extensions/forms/hooks/usePath.js.map +1 -1
  566. package/es/extensions/forms/style/dnb-forms.css +13 -10
  567. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  568. package/es/extensions/forms/types.d.ts +32 -2
  569. package/es/extensions/forms/types.js.map +1 -1
  570. package/es/shared/Eufemia.d.ts +1 -1
  571. package/es/shared/Eufemia.js +2 -2
  572. package/es/shared/Eufemia.js.map +1 -1
  573. package/es/style/core/scopes.scss +1 -1
  574. package/es/style/core/utilities.scss +3 -6
  575. package/es/style/dnb-ui-basis.css +1 -1
  576. package/es/style/dnb-ui-basis.min.css +1 -1
  577. package/es/style/dnb-ui-body.css +1 -1
  578. package/es/style/dnb-ui-body.min.css +1 -1
  579. package/es/style/dnb-ui-components.css +37 -34
  580. package/es/style/dnb-ui-components.min.css +5 -5
  581. package/es/style/dnb-ui-core.css +1 -1
  582. package/es/style/dnb-ui-core.min.css +1 -1
  583. package/es/style/dnb-ui-elements.css +1 -1
  584. package/es/style/dnb-ui-elements.min.css +1 -1
  585. package/es/style/dnb-ui-extensions.css +13 -10
  586. package/es/style/dnb-ui-extensions.min.css +1 -1
  587. package/es/style/dnb-ui-forms.css +13 -10
  588. package/es/style/dnb-ui-forms.min.css +1 -1
  589. package/es/style/dnb-ui-fragments.css +2 -2
  590. package/es/style/dnb-ui-fragments.min.css +1 -1
  591. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -1
  592. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  593. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +51 -45
  594. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
  595. package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
  596. package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  597. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +13 -10
  598. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  599. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +13 -10
  600. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  601. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
  602. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  603. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +51 -45
  604. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
  605. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
  606. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  607. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +13 -10
  608. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  609. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +13 -10
  610. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  611. package/es/style/themes/theme-ui/ui-theme-basis.css +1 -1
  612. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  613. package/es/style/themes/theme-ui/ui-theme-components.css +51 -45
  614. package/es/style/themes/theme-ui/ui-theme-components.min.css +6 -6
  615. package/es/style/themes/theme-ui/ui-theme-elements.css +1 -1
  616. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  617. package/es/style/themes/theme-ui/ui-theme-extensions.css +13 -10
  618. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  619. package/es/style/themes/theme-ui/ui-theme-forms.css +13 -10
  620. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  621. package/es/style/themes/theme-ui/ui-theme-tags.css +1 -1
  622. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  623. package/esm/dnb-ui-basis.min.mjs +1 -1
  624. package/esm/dnb-ui-components.min.mjs +1 -1
  625. package/esm/dnb-ui-elements.min.mjs +1 -1
  626. package/esm/dnb-ui-extensions.min.mjs +5 -5
  627. package/esm/dnb-ui-lib.min.mjs +1 -1
  628. package/extensions/forms/DataContext/Context.d.ts +9 -5
  629. package/extensions/forms/DataContext/Context.js +0 -1
  630. package/extensions/forms/DataContext/Context.js.map +1 -1
  631. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +3 -2
  632. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  633. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.d.ts +8 -3
  634. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +12 -5
  635. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  636. package/extensions/forms/DataContext/Provider/Provider.d.ts +6 -2
  637. package/extensions/forms/DataContext/Provider/Provider.js +36 -16
  638. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  639. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +1 -1
  640. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  641. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +21 -12
  642. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  643. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.d.ts +2 -0
  644. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +13 -0
  645. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -0
  646. package/extensions/forms/Field/SelectCountry/SelectCountry.js +1 -1
  647. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  648. package/extensions/forms/Field/Slider/Slider.js +7 -7
  649. package/extensions/forms/Field/Slider/Slider.js.map +1 -1
  650. package/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -2
  651. package/extensions/forms/FieldBlock/FieldBlock.js +33 -11
  652. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  653. package/extensions/forms/FieldBlock/FieldBlockDocs.js +1 -1
  654. package/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  655. package/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
  656. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  657. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +1 -1
  658. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  659. package/extensions/forms/Form/Isolation/Isolation.js +2 -3
  660. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  661. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +1 -1
  662. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  663. package/extensions/forms/Form/Section/EditContainer/EditContainer.js +22 -2
  664. package/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
  665. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +17 -11
  666. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  667. package/extensions/forms/Form/Section/Section.d.ts +7 -2
  668. package/extensions/forms/Form/Section/Section.js +3 -1
  669. package/extensions/forms/Form/Section/Section.js.map +1 -1
  670. package/extensions/forms/Form/Section/SectionDocs.js +6 -1
  671. package/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
  672. package/extensions/forms/Form/Section/containers/SectionContainer.d.ts +3 -1
  673. package/extensions/forms/Form/Section/containers/SectionContainer.js +22 -20
  674. package/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -1
  675. package/extensions/forms/Form/Section/containers/SectionContainerContext.d.ts +2 -0
  676. package/extensions/forms/Form/Section/containers/SectionContainerContext.js.map +1 -1
  677. package/extensions/forms/Form/Section/containers/SectionContainerProvider.d.ts +1 -0
  678. package/extensions/forms/Form/Section/containers/SectionContainerProvider.js +4 -1
  679. package/extensions/forms/Form/Section/containers/SectionContainerProvider.js.map +1 -1
  680. package/extensions/forms/Form/Section/style/dnb-form-section.css +3 -0
  681. package/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
  682. package/extensions/forms/Form/Section/style/dnb-form-section.scss +4 -0
  683. package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +9 -5
  684. package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  685. package/extensions/forms/Iterate/Array/Array.js +72 -29
  686. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  687. package/extensions/forms/Iterate/Array/ArrayDocs.js +9 -0
  688. package/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  689. package/extensions/forms/Iterate/{AnimatedContainer/ElementBlock.d.ts → Array/ArrayItemArea.d.ts} +6 -6
  690. package/extensions/forms/Iterate/Array/ArrayItemArea.js +137 -0
  691. package/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -0
  692. package/extensions/forms/Iterate/Array/ArrayItemAreaContext.d.ts +6 -0
  693. package/extensions/forms/Iterate/Array/ArrayItemAreaContext.js +6 -0
  694. package/extensions/forms/Iterate/Array/ArrayItemAreaContext.js.map +1 -0
  695. package/extensions/forms/Iterate/Array/types.d.ts +7 -5
  696. package/extensions/forms/Iterate/Array/types.js.map +1 -1
  697. package/extensions/forms/Iterate/EditContainer/CancelButton.d.ts +9 -0
  698. package/extensions/forms/Iterate/EditContainer/CancelButton.js +88 -0
  699. package/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -0
  700. package/extensions/forms/Iterate/EditContainer/DoneButton.d.ts +4 -0
  701. package/extensions/forms/Iterate/EditContainer/DoneButton.js +67 -0
  702. package/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -0
  703. package/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +8 -2
  704. package/extensions/forms/Iterate/EditContainer/EditContainer.js +32 -11
  705. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  706. package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +5 -0
  707. package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  708. package/extensions/forms/Iterate/EditContainer/index.d.ts +2 -0
  709. package/extensions/forms/Iterate/EditContainer/index.js +2 -0
  710. package/extensions/forms/Iterate/EditContainer/index.js.map +1 -1
  711. package/extensions/forms/Iterate/IterateItemContext.d.ts +7 -1
  712. package/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
  713. package/extensions/forms/Iterate/PushButton/PushButton.d.ts +7 -2
  714. package/extensions/forms/Iterate/PushButton/PushButton.js +23 -12
  715. package/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  716. package/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +5 -1
  717. package/extensions/forms/Iterate/PushContainer/PushContainer.js +80 -26
  718. package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  719. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +5 -0
  720. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  721. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +9 -9
  722. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  723. package/extensions/forms/Iterate/Toolbar/Toolbar.d.ts +10 -2
  724. package/extensions/forms/Iterate/Toolbar/Toolbar.js +52 -7
  725. package/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  726. package/extensions/forms/Iterate/Toolbar/ToolbarContext.d.ts +6 -0
  727. package/extensions/forms/Iterate/Toolbar/ToolbarContext.js +4 -0
  728. package/extensions/forms/Iterate/Toolbar/ToolbarContext.js.map +1 -0
  729. package/extensions/forms/Iterate/ViewContainer/EditButton.d.ts +1 -0
  730. package/{es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js → extensions/forms/Iterate/ViewContainer/EditButton.js} +8 -11
  731. package/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -0
  732. package/extensions/forms/Iterate/ViewContainer/RemoveButton.d.ts +1 -0
  733. package/extensions/forms/Iterate/ViewContainer/RemoveButton.js +12 -0
  734. package/extensions/forms/Iterate/ViewContainer/RemoveButton.js.map +1 -0
  735. package/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +8 -2
  736. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +24 -9
  737. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  738. package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  739. package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  740. package/extensions/forms/Iterate/ViewContainer/index.d.ts +2 -0
  741. package/extensions/forms/Iterate/ViewContainer/index.js +2 -0
  742. package/extensions/forms/Iterate/ViewContainer/index.js.map +1 -1
  743. package/extensions/forms/Iterate/hooks/index.d.ts +2 -0
  744. package/extensions/forms/Iterate/hooks/index.js +3 -0
  745. package/extensions/forms/Iterate/hooks/index.js.map +1 -0
  746. package/extensions/forms/Iterate/hooks/useSwitchContainerMode.d.ts +17 -0
  747. package/extensions/forms/Iterate/hooks/useSwitchContainerMode.js +87 -0
  748. package/extensions/forms/Iterate/hooks/useSwitchContainerMode.js.map +1 -0
  749. package/extensions/forms/Tools/Log.d.ts +6 -0
  750. package/extensions/forms/Tools/Log.js +22 -0
  751. package/extensions/forms/Tools/Log.js.map +1 -0
  752. package/extensions/forms/Tools/index.d.ts +1 -0
  753. package/extensions/forms/Tools/index.js +1 -0
  754. package/extensions/forms/Tools/index.js.map +1 -1
  755. package/extensions/forms/Value/Date/Date.d.ts +1 -1
  756. package/extensions/forms/Value/Date/Date.js +15 -5
  757. package/extensions/forms/Value/Date/Date.js.map +1 -1
  758. package/extensions/forms/Value/Date/DateDocs.js +1 -1
  759. package/extensions/forms/Value/Date/DateDocs.js.map +1 -1
  760. package/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
  761. package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  762. package/extensions/forms/Wizard/Container/WizardContainer.js +19 -7
  763. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  764. package/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  765. package/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  766. package/extensions/forms/Wizard/Context/WizardContext.d.ts +3 -1
  767. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  768. package/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -2
  769. package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  770. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +0 -2
  771. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  772. package/extensions/forms/constants/countries.d.ts +5 -2
  773. package/extensions/forms/constants/countries.js +81 -25
  774. package/extensions/forms/constants/countries.js.map +1 -1
  775. package/extensions/forms/constants/locales/en-GB.d.ts +2 -1
  776. package/extensions/forms/constants/locales/en-GB.js +3 -2
  777. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  778. package/extensions/forms/constants/locales/en-US.d.ts +2 -1
  779. package/extensions/forms/constants/locales/index.d.ts +4 -2
  780. package/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
  781. package/extensions/forms/constants/locales/nb-NO.js +3 -2
  782. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  783. package/extensions/forms/hooks/DataValueDocs.js +10 -5
  784. package/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  785. package/extensions/forms/hooks/useDataValue.d.ts +2 -1
  786. package/extensions/forms/hooks/useDataValue.js +7 -7
  787. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  788. package/extensions/forms/hooks/useExternalValue.js +8 -6
  789. package/extensions/forms/hooks/useExternalValue.js.map +1 -1
  790. package/extensions/forms/hooks/useFieldProps.d.ts +2 -1
  791. package/extensions/forms/hooks/useFieldProps.js +318 -122
  792. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  793. package/extensions/forms/hooks/usePath.d.ts +1 -0
  794. package/extensions/forms/hooks/usePath.js +5 -1
  795. package/extensions/forms/hooks/usePath.js.map +1 -1
  796. package/extensions/forms/style/dnb-forms.css +13 -10
  797. package/extensions/forms/style/dnb-forms.min.css +1 -1
  798. package/extensions/forms/types.d.ts +32 -2
  799. package/extensions/forms/types.js.map +1 -1
  800. package/package.json +1 -1
  801. package/shared/Eufemia.d.ts +1 -1
  802. package/shared/Eufemia.js +2 -2
  803. package/shared/Eufemia.js.map +1 -1
  804. package/style/core/scopes.scss +1 -1
  805. package/style/core/utilities.scss +3 -6
  806. package/style/dnb-ui-basis.css +1 -1
  807. package/style/dnb-ui-basis.min.css +1 -1
  808. package/style/dnb-ui-body.css +1 -1
  809. package/style/dnb-ui-body.min.css +1 -1
  810. package/style/dnb-ui-components.css +37 -34
  811. package/style/dnb-ui-components.min.css +5 -5
  812. package/style/dnb-ui-core.css +1 -1
  813. package/style/dnb-ui-core.min.css +1 -1
  814. package/style/dnb-ui-elements.css +1 -1
  815. package/style/dnb-ui-elements.min.css +1 -1
  816. package/style/dnb-ui-extensions.css +13 -10
  817. package/style/dnb-ui-extensions.min.css +1 -1
  818. package/style/dnb-ui-forms.css +13 -10
  819. package/style/dnb-ui-forms.min.css +1 -1
  820. package/style/dnb-ui-fragments.css +2 -2
  821. package/style/dnb-ui-fragments.min.css +1 -1
  822. package/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -1
  823. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  824. package/style/themes/theme-eiendom/eiendom-theme-components.css +51 -45
  825. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
  826. package/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
  827. package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  828. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +13 -10
  829. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  830. package/style/themes/theme-eiendom/eiendom-theme-forms.css +13 -10
  831. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  832. package/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
  833. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  834. package/style/themes/theme-sbanken/sbanken-theme-components.css +51 -45
  835. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
  836. package/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
  837. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  838. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +13 -10
  839. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  840. package/style/themes/theme-sbanken/sbanken-theme-forms.css +13 -10
  841. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  842. package/style/themes/theme-ui/ui-theme-basis.css +1 -1
  843. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  844. package/style/themes/theme-ui/ui-theme-components.css +51 -45
  845. package/style/themes/theme-ui/ui-theme-components.min.css +6 -6
  846. package/style/themes/theme-ui/ui-theme-elements.css +1 -1
  847. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  848. package/style/themes/theme-ui/ui-theme-extensions.css +13 -10
  849. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  850. package/style/themes/theme-ui/ui-theme-forms.css +13 -10
  851. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  852. package/style/themes/theme-ui/ui-theme-tags.css +1 -1
  853. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  854. package/umd/dnb-ui-basis.min.js +1 -1
  855. package/umd/dnb-ui-components.min.js +1 -1
  856. package/umd/dnb-ui-elements.min.js +1 -1
  857. package/umd/dnb-ui-extensions.min.js +5 -5
  858. package/umd/dnb-ui-lib.min.js +1 -1
  859. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +0 -1
  860. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlockContext.d.ts +0 -6
  861. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlockContext.js.map +0 -1
  862. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.d.ts +0 -6
  863. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +0 -1
  864. package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.d.ts +0 -1
  865. package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +0 -1
  866. package/cjs/shared/helpers/useUnmountEffect.d.ts +0 -4
  867. package/cjs/shared/helpers/useUnmountEffect.js +0 -14
  868. package/cjs/shared/helpers/useUnmountEffect.js.map +0 -1
  869. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +0 -120
  870. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +0 -1
  871. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlockContext.d.ts +0 -6
  872. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlockContext.js +0 -6
  873. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlockContext.js.map +0 -1
  874. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.d.ts +0 -6
  875. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +0 -113
  876. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +0 -1
  877. package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.d.ts +0 -1
  878. package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +0 -1
  879. package/es/shared/helpers/useUnmountEffect.d.ts +0 -4
  880. package/es/shared/helpers/useUnmountEffect.js +0 -9
  881. package/es/shared/helpers/useUnmountEffect.js.map +0 -1
  882. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +0 -120
  883. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +0 -1
  884. package/extensions/forms/Iterate/AnimatedContainer/ElementBlockContext.d.ts +0 -6
  885. package/extensions/forms/Iterate/AnimatedContainer/ElementBlockContext.js +0 -6
  886. package/extensions/forms/Iterate/AnimatedContainer/ElementBlockContext.js.map +0 -1
  887. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.d.ts +0 -6
  888. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +0 -114
  889. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +0 -1
  890. package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.d.ts +0 -1
  891. package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +0 -1
  892. package/shared/helpers/useUnmountEffect.d.ts +0 -4
  893. package/shared/helpers/useUnmountEffect.js +0 -9
  894. package/shared/helpers/useUnmountEffect.js.map +0 -1
@@ -1 +1 @@
1
- .dnb-forms-button-row{display:flex;flex-flow:row;flex-wrap:wrap;gap:var(--spacing-small)}.dnb-card+.dnb-button--primary:not([class*=space__top]),.dnb-card+.dnb-forms-button-row:not([class*=space__top]){margin-top:var(--spacing-small)}.dnb-card+.dnb-button--primary:not([class*=space__top]) .dnb-button[class*=space__top],.dnb-card+.dnb-forms-button-row:not([class*=space__top]) .dnb-button[class*=space__top]{margin-top:0}@media screen and (min-width:40em){.dnb-card+.dnb-button--primary:not([class*=space__left]),.dnb-card+.dnb-forms-button-row:not([class*=space__left]){margin-left:var(--spacing-medium)}}
1
+ .dnb-forms-button-row{display:flex;flex-flow:row;flex-wrap:wrap;gap:var(--spacing-small)}.dnb-card+.dnb-button--primary:not([class*=space__top]),.dnb-card+.dnb-forms-button-row:not([class*=space__top]){margin-top:var(--spacing-small)}.dnb-card+.dnb-button--primary:not([class*=space__top]) .dnb-button[class*=space__top],.dnb-card+.dnb-forms-button-row:not([class*=space__top]) .dnb-button[class*=space__top]{margin-top:0}@media screen and (min-width:40.0625em){.dnb-card+.dnb-button--primary:not([class*=space__left]),.dnb-card+.dnb-forms-button-row:not([class*=space__left]){margin-left:var(--spacing-medium)}}
@@ -94,7 +94,7 @@ function IsolationProvider(props) {
94
94
  if (typeof transformOnCommitProp === 'function') {
95
95
  isolatedData = transformOnCommitProp(isolatedData, outerData);
96
96
  }
97
- handlePathChangeOuter === null || handlePathChangeOuter === void 0 ? void 0 : handlePathChangeOuter(path, (0, _componentHelper.extendDeep)({}, outerData, isolatedData));
97
+ handlePathChangeOuter === null || handlePathChangeOuter === void 0 ? void 0 : handlePathChangeOuter(path, Array.isArray(isolatedData) ? isolatedData : (0, _componentHelper.extendDeep)({}, outerData, isolatedData));
98
98
  return await (onCommitProp === null || onCommitProp === void 0 ? void 0 : onCommitProp(removeSectionPath(isolatedData), additionalArgs));
99
99
  }, [getMountedData, props.path, dataOuter, transformOnCommitProp, handlePathChangeOuter, onCommitProp, removeSectionPath]);
100
100
  const onClear = (0, _react.useCallback)(() => {
@@ -104,8 +104,7 @@ function IsolationProvider(props) {
104
104
  onClearProp === null || onClearProp === void 0 ? void 0 : onClearProp();
105
105
  }, [onClearProp]);
106
106
  const providerProps = _objectSpread(_objectSpread({}, props), {}, {
107
- data: internalDataRef.current,
108
- defaultData: undefined,
107
+ [defaultData ? 'defaultData' : 'data']: internalDataRef.current,
109
108
  onPathChange: onPathChangeHandler,
110
109
  onCommit,
111
110
  onClear,
@@ -1 +1 @@
1
- {"version":3,"file":"Isolation.js","names":["_react","_interopRequireWildcard","require","_jsonPointer","_interopRequireDefault","_componentHelper","_useDataValue","_DataContext","_SectionContext","_IsolationCommitButton","_Provider","_structuredClone","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","IsolationProvider","props","children","onPathChange","onCommit","onCommitProp","onClear","onClearProp","transformOnCommit","transformOnCommitProp","commitHandleRef","data","defaultData","forceUpdate","useReducer","internalDataRef","useRef","localDataRef","dataContextRef","outerContext","useContext","Context","path","pathSection","SectionContext","handlePathChange","handlePathChangeOuter","dataOuter","moveValueToPath","useDataValue","onPathChangeHandler","useCallback","current","clearedData","pointer","replace","removeSectionPath","getMountedData","_dataContextRef$curre","mounterData","mountedFieldPathsRef","useEffect","useMemo","localData","assign","additionalArgs","_props$path","mountedData","outerData","isolatedData","structuredClone","extendDeep","providerProps","isolate","createElement","Provider","Consumer","dataContext","handleSubmit","CommitButton","IsolationCommitButton","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Form/Isolation/Isolation.tsx"],"sourcesContent":["import React, {\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n} from 'react'\nimport pointer, { JsonObject } from 'json-pointer'\nimport { extendDeep } from '../../../../shared/component-helper'\nimport useDataValue from '../../hooks/useDataValue'\nimport { Context, ContextState, Provider } from '../../DataContext'\nimport SectionContext from '../Section/SectionContext'\nimport IsolationCommitButton from './IsolationCommitButton'\nimport {\n clearedData,\n type Props as ProviderProps,\n} from '../../DataContext/Provider'\nimport type { OnCommit, Path } from '../../types'\n\n/**\n * Deprecated, as it is supported by all major browsers and Node.js >=v18\n * So its a question of time, when we will remove this polyfill\n */\nimport structuredClone from '@ungap/structured-clone'\n\nexport type IsolationProviderProps<Data> = {\n /**\n * Form.Isolation: Will be called when the isolated context is committed.\n */\n onCommit?: OnCommit<Data>\n /**\n * Form.Isolation: Will be called when the form is cleared via Form.clearData\n */\n onClear?: () => void\n /**\n * Form.Isolation: A function that will be called when the isolated context is committed.\n * It will receive the data from the isolated context and the data from the outer context.\n * You can use this to transform the data before it is committed.\n */\n transformOnCommit?: (isolatedData: Data, handlerData: Data) => Data\n /**\n * Used internally by the Form.Isolation component\n */\n path?: Path\n /**\n * Used internally by the Form.Isolation component\n */\n isolate?: boolean\n}\n\nexport type IsolationProps<Data> = Omit<\n ProviderProps<Data>,\n | 'onSubmit'\n | 'onSubmitRequest'\n | 'onSubmitComplete'\n | 'minimumAsyncBehaviorTime'\n | 'asyncSubmitTimeout'\n | 'scrollTopOnSubmit'\n | 'sessionStorageId'\n | 'globalStatusId'\n> & {\n /**\n * A ref (function) that you can call in order to commit the data programmatically to the outer context.\n */\n commitHandleRef?: React.MutableRefObject<() => void>\n}\n\nfunction IsolationProvider<Data extends JsonObject>(\n props: IsolationProps<Data>\n) {\n const {\n children,\n onPathChange,\n onCommit: onCommitProp,\n onClear: onClearProp,\n transformOnCommit: transformOnCommitProp,\n commitHandleRef,\n data,\n defaultData,\n } = props\n\n const [, forceUpdate] = useReducer(() => ({}), {})\n const internalDataRef = useRef<Data>()\n const localDataRef = useRef<Partial<Data>>({})\n const dataContextRef = useRef<ContextState>(null)\n const outerContext = useContext(Context)\n const { path: pathSection } = useContext(SectionContext) || {}\n const { handlePathChange: handlePathChangeOuter, data: dataOuter } =\n outerContext || {}\n const { moveValueToPath } = useDataValue()\n\n const onPathChangeHandler = useCallback(\n async (path: Path, value: unknown) => {\n if (localDataRef.current === clearedData) {\n localDataRef.current = {}\n }\n\n pointer.set(localDataRef.current, path, value)\n\n if (pathSection) {\n path = path.replace(pathSection, '')\n }\n\n return await onPathChange?.(path, value)\n },\n [onPathChange, pathSection]\n )\n\n const removeSectionPath = useCallback(\n (data: Data) => {\n return pathSection && pointer.has(data, pathSection)\n ? pointer.get(data, pathSection)\n : data\n },\n [pathSection]\n )\n\n const getMountedData = useCallback((data: Data) => {\n const mounterData = {} as Data\n dataContextRef.current?.mountedFieldPathsRef.current.forEach(\n (path) => {\n if (pointer.has(data, path)) {\n pointer.set(mounterData, path, pointer.get(data, path))\n }\n }\n )\n return mounterData\n }, [])\n\n useEffect(() => {\n localDataRef.current = getMountedData(internalDataRef.current)\n }, [getMountedData])\n\n // Update the isolated data with the outside context data\n useMemo(() => {\n if (localDataRef.current === clearedData) {\n return // stop here\n }\n\n let localData = data ?? defaultData\n\n if (\n localData &&\n pathSection &&\n !pointer.has(localDataRef.current, pathSection)\n ) {\n localData = moveValueToPath<Data>(pathSection, localData)\n }\n\n internalDataRef.current = Object.assign(\n {},\n localData || dataOuter || {},\n localDataRef.current\n )\n }, [data, defaultData, pathSection, dataOuter, moveValueToPath])\n\n const onCommit: IsolationProps<Data>['onCommit'] = useCallback(\n async (data: Data, additionalArgs) => {\n const mountedData = getMountedData(data)\n const path = props.path ?? '/'\n const outerData =\n props.path && pointer.has(dataOuter, path)\n ? pointer.get(dataOuter, path)\n : dataOuter\n\n localDataRef.current = mountedData\n let isolatedData = structuredClone(mountedData) as Data\n\n if (typeof transformOnCommitProp === 'function') {\n isolatedData = transformOnCommitProp(isolatedData, outerData)\n }\n\n // Commit the internal data to the nested context data\n handlePathChangeOuter?.(\n path,\n extendDeep({}, outerData, isolatedData)\n )\n\n return await onCommitProp?.(\n removeSectionPath(isolatedData),\n additionalArgs\n )\n },\n [\n getMountedData,\n props.path,\n dataOuter,\n transformOnCommitProp,\n handlePathChangeOuter,\n onCommitProp,\n removeSectionPath,\n ]\n )\n\n const onClear = useCallback(() => {\n localDataRef.current = clearedData\n internalDataRef.current = clearedData as Data\n forceUpdate()\n onClearProp?.()\n }, [onClearProp])\n\n const providerProps: IsolationProps<Data> = {\n ...props,\n data: internalDataRef.current,\n defaultData: undefined,\n onPathChange: onPathChangeHandler,\n onCommit,\n onClear,\n isolate: true,\n }\n\n return (\n <Provider {...providerProps}>\n <Context.Consumer>\n {(dataContext) => {\n dataContextRef.current = dataContext\n\n if (commitHandleRef) {\n commitHandleRef.current = dataContext?.handleSubmit\n }\n\n return children\n }}\n </Context.Consumer>\n </Provider>\n )\n}\n\nIsolationProvider.CommitButton = IsolationCommitButton\nIsolationProvider._supportsSpacingProps = undefined\n\nexport default IsolationProvider\n"],"mappings":"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"}
1
+ {"version":3,"file":"Isolation.js","names":["_react","_interopRequireWildcard","require","_jsonPointer","_interopRequireDefault","_componentHelper","_useDataValue","_DataContext","_SectionContext","_IsolationCommitButton","_Provider","_structuredClone","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","IsolationProvider","props","children","onPathChange","onCommit","onCommitProp","onClear","onClearProp","transformOnCommit","transformOnCommitProp","commitHandleRef","data","defaultData","forceUpdate","useReducer","internalDataRef","useRef","localDataRef","dataContextRef","outerContext","useContext","Context","path","pathSection","SectionContext","handlePathChange","handlePathChangeOuter","dataOuter","moveValueToPath","useDataValue","onPathChangeHandler","useCallback","current","clearedData","pointer","replace","removeSectionPath","getMountedData","_dataContextRef$curre","mounterData","mountedFieldPathsRef","useEffect","useMemo","localData","assign","additionalArgs","_props$path","mountedData","outerData","isolatedData","structuredClone","Array","isArray","extendDeep","providerProps","isolate","createElement","Provider","Consumer","dataContext","handleSubmit","CommitButton","IsolationCommitButton","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Form/Isolation/Isolation.tsx"],"sourcesContent":["import React, {\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n} from 'react'\nimport pointer, { JsonObject } from 'json-pointer'\nimport { extendDeep } from '../../../../shared/component-helper'\nimport useDataValue from '../../hooks/useDataValue'\nimport { Context, ContextState, Provider } from '../../DataContext'\nimport SectionContext from '../Section/SectionContext'\nimport IsolationCommitButton from './IsolationCommitButton'\nimport {\n clearedData,\n type Props as ProviderProps,\n} from '../../DataContext/Provider'\nimport type { OnCommit, Path } from '../../types'\n\n/**\n * Deprecated, as it is supported by all major browsers and Node.js >=v18\n * So its a question of time, when we will remove this polyfill\n */\nimport structuredClone from '@ungap/structured-clone'\n\nexport type IsolationProviderProps<Data> = {\n /**\n * Form.Isolation: Will be called when the isolated context is committed.\n */\n onCommit?: OnCommit<Data>\n /**\n * Form.Isolation: Will be called when the form is cleared via Form.clearData\n */\n onClear?: () => void\n /**\n * Form.Isolation: A function that will be called when the isolated context is committed.\n * It will receive the data from the isolated context and the data from the outer context.\n * You can use this to transform the data before it is committed.\n */\n transformOnCommit?: (isolatedData: Data, handlerData: Data) => Data\n /**\n * Used internally by the Form.Isolation component\n */\n path?: Path\n /**\n * Used internally by the Form.Isolation component\n */\n isolate?: boolean\n}\n\nexport type IsolationProps<Data> = Omit<\n ProviderProps<Data>,\n | 'onSubmit'\n | 'onSubmitRequest'\n | 'onSubmitComplete'\n | 'minimumAsyncBehaviorTime'\n | 'asyncSubmitTimeout'\n | 'scrollTopOnSubmit'\n | 'sessionStorageId'\n | 'globalStatusId'\n> & {\n /**\n * A ref (function) that you can call in order to commit the data programmatically to the outer context.\n */\n commitHandleRef?: React.MutableRefObject<() => void>\n}\n\nfunction IsolationProvider<Data extends JsonObject>(\n props: IsolationProps<Data>\n) {\n const {\n children,\n onPathChange,\n onCommit: onCommitProp,\n onClear: onClearProp,\n transformOnCommit: transformOnCommitProp,\n commitHandleRef,\n data,\n defaultData,\n } = props\n\n const [, forceUpdate] = useReducer(() => ({}), {})\n const internalDataRef = useRef<Data>()\n const localDataRef = useRef<Partial<Data>>({})\n const dataContextRef = useRef<ContextState>(null)\n const outerContext = useContext(Context)\n const { path: pathSection } = useContext(SectionContext) || {}\n const { handlePathChange: handlePathChangeOuter, data: dataOuter } =\n outerContext || {}\n const { moveValueToPath } = useDataValue()\n\n const onPathChangeHandler = useCallback(\n async (path: Path, value: unknown) => {\n if (localDataRef.current === clearedData) {\n localDataRef.current = {}\n }\n\n pointer.set(localDataRef.current, path, value)\n\n if (pathSection) {\n path = path.replace(pathSection, '')\n }\n\n return await onPathChange?.(path, value)\n },\n [onPathChange, pathSection]\n )\n\n const removeSectionPath = useCallback(\n (data: Data) => {\n return pathSection && pointer.has(data, pathSection)\n ? pointer.get(data, pathSection)\n : data\n },\n [pathSection]\n )\n\n const getMountedData = useCallback((data: Data) => {\n const mounterData = {} as Data\n dataContextRef.current?.mountedFieldPathsRef.current.forEach(\n (path) => {\n if (pointer.has(data, path)) {\n pointer.set(mounterData, path, pointer.get(data, path))\n }\n }\n )\n return mounterData\n }, [])\n\n useEffect(() => {\n localDataRef.current = getMountedData(internalDataRef.current)\n }, [getMountedData])\n\n // Update the isolated data with the outside context data\n useMemo(() => {\n if (localDataRef.current === clearedData) {\n return // stop here\n }\n\n let localData = data ?? defaultData\n\n if (\n localData &&\n pathSection &&\n !pointer.has(localDataRef.current, pathSection)\n ) {\n localData = moveValueToPath<Data>(pathSection, localData)\n }\n\n internalDataRef.current = Object.assign(\n {},\n localData || dataOuter || {},\n localDataRef.current\n )\n }, [data, defaultData, pathSection, dataOuter, moveValueToPath])\n\n const onCommit: IsolationProps<Data>['onCommit'] = useCallback(\n async (data: Data, additionalArgs) => {\n const mountedData = getMountedData(data)\n const path = props.path ?? '/'\n const outerData =\n props.path && pointer.has(dataOuter, path)\n ? pointer.get(dataOuter, path)\n : dataOuter\n\n localDataRef.current = mountedData\n let isolatedData = structuredClone(mountedData) as Data\n\n if (typeof transformOnCommitProp === 'function') {\n isolatedData = transformOnCommitProp(isolatedData, outerData)\n }\n\n // Commit the internal data to the nested context data\n handlePathChangeOuter?.(\n path,\n Array.isArray(isolatedData)\n ? isolatedData\n : extendDeep({}, outerData, isolatedData)\n )\n\n return await onCommitProp?.(\n removeSectionPath(isolatedData),\n additionalArgs\n )\n },\n [\n getMountedData,\n props.path,\n dataOuter,\n transformOnCommitProp,\n handlePathChangeOuter,\n onCommitProp,\n removeSectionPath,\n ]\n )\n\n const onClear = useCallback(() => {\n localDataRef.current = clearedData\n internalDataRef.current = clearedData as Data\n forceUpdate()\n onClearProp?.()\n }, [onClearProp])\n\n const providerProps: IsolationProps<Data> = {\n ...props,\n [defaultData ? 'defaultData' : 'data']: internalDataRef.current,\n onPathChange: onPathChangeHandler,\n onCommit,\n onClear,\n isolate: true,\n }\n\n return (\n <Provider {...providerProps}>\n <Context.Consumer>\n {(dataContext) => {\n dataContextRef.current = dataContext\n\n if (commitHandleRef) {\n commitHandleRef.current = dataContext?.handleSubmit\n }\n\n return children\n }}\n </Context.Consumer>\n </Provider>\n )\n}\n\nIsolationProvider.CommitButton = IsolationCommitButton\nIsolationProvider._supportsSpacingProps = undefined\n\nexport default IsolationProvider\n"],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  .dnb-spacing .dnb-forms-main-heading.dnb-h--large:not([class*=space__]) {
5
5
  margin: 0;
6
6
  }
7
- @media screen and (min-width: 40em) {
7
+ @media screen and (min-width: 40.0625em) {
8
8
  .dnb-forms-main-heading:has(+ .dnb-flex-stack > .dnb-card, + .dnb-card):not([class*=space__left]) {
9
9
  margin-left: var(--spacing-medium);
10
10
  }
@@ -1 +1 @@
1
- .dnb-spacing .dnb-forms-main-heading.dnb-h--large:not([class*=space__]){margin:0}@media screen and (min-width:40em){.dnb-forms-main-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__left]){margin-left:var(--spacing-medium)}}.dnb-forms-main-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}
1
+ .dnb-spacing .dnb-forms-main-heading.dnb-h--large:not([class*=space__]){margin:0}@media screen and (min-width:40.0625em){.dnb-forms-main-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__left]){margin-left:var(--spacing-medium)}}.dnb-forms-main-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ "use client";
2
3
 
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
@@ -10,6 +11,7 @@ var _componentHelper = require("../../../../../shared/component-helper");
10
11
  var _components = require("../../../../../components");
11
12
  var _elements = require("../../../../../elements");
12
13
  var _FieldBoundaryProvider = _interopRequireDefault(require("../../../DataContext/FieldBoundary/FieldBoundaryProvider"));
14
+ var _SectionContainerContext = _interopRequireDefault(require("../containers/SectionContainerContext"));
13
15
  var _EditToolbarTools = _interopRequireDefault(require("./EditToolbarTools"));
14
16
  var _SectionContainer = _interopRequireDefault(require("../containers/SectionContainer"));
15
17
  var _Toolbar2 = _interopRequireDefault(require("../containers/Toolbar"));
@@ -30,9 +32,26 @@ function EditContainer(props) {
30
32
  } = _ref,
31
33
  restProps = _objectWithoutProperties(_ref, _excluded);
32
34
  const ariaLabel = (0, _react.useMemo)(() => (0, _componentHelper.convertJsxToString)(title), [title]);
33
- return _react.default.createElement(_FieldBoundaryProvider.default, null, _react.default.createElement(_SectionContainer.default, _extends({
35
+ const {
36
+ containerMode,
37
+ initialContainerMode,
38
+ validateInitially,
39
+ switchContainerMode
40
+ } = (0, _react.useContext)(_SectionContainerContext.default) || {};
41
+ const omitFocusManagementRef = (0, _react.useRef)(false);
42
+ const onPathError = (0, _react.useCallback)((path, error) => {
43
+ if (initialContainerMode === 'auto' && containerMode !== 'edit' && error instanceof Error) {
44
+ omitFocusManagementRef.current = true;
45
+ switchContainerMode === null || switchContainerMode === void 0 ? void 0 : switchContainerMode('edit');
46
+ }
47
+ }, [containerMode, initialContainerMode, switchContainerMode]);
48
+ return _react.default.createElement(_FieldBoundaryProvider.default, {
49
+ showErrors: validateInitially,
50
+ onPathError: onPathError
51
+ }, _react.default.createElement(_SectionContainer.default, _extends({
34
52
  mode: "edit",
35
53
  ariaLabel: ariaLabel,
54
+ omitFocusManagementRef: omitFocusManagementRef,
36
55
  className: (0, _classnames.default)('dnb-forms-section-edit-block', className)
37
56
  }, restProps), _react.default.createElement(_components.Flex.Stack, null, title && _react.default.createElement(_elements.Lead, {
38
57
  size: "basis"
@@ -1 +1 @@
1
- {"version":3,"file":"EditContainer.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_componentHelper","_components","_elements","_FieldBoundaryProvider","_EditToolbarTools","_SectionContainer","_Toolbar2","_Toolbar","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","EditContainer","props","_ref","children","className","title","restProps","ariaLabel","useMemo","convertJsxToString","createElement","mode","classnames","Flex","Stack","Lead","size","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../../src/extensions/forms/Form/Section/EditContainer/EditContainer.tsx"],"sourcesContent":["import React, { useMemo } from 'react'\nimport classnames from 'classnames'\nimport { convertJsxToString } from '../../../../../shared/component-helper'\nimport { Flex } from '../../../../../components'\nimport { Props as FlexContainerProps } from '../../../../../components/flex/Container'\nimport { Lead } from '../../../../../elements'\nimport FieldBoundaryProvider from '../../../DataContext/FieldBoundary/FieldBoundaryProvider'\nimport EditToolbarTools from './EditToolbarTools'\nimport SectionContainer, {\n SectionContainerProps,\n} from '../containers/SectionContainer'\nimport Toolbar from '../containers/Toolbar'\n\nexport type Props = {\n title?: React.ReactNode\n}\n\nexport type AllProps = Props & SectionContainerProps & FlexContainerProps\n\nfunction EditContainer(props: AllProps) {\n const { children, className, title, ...restProps } = props || {}\n const ariaLabel = useMemo(() => convertJsxToString(title), [title])\n\n return (\n <FieldBoundaryProvider>\n <SectionContainer\n mode=\"edit\"\n ariaLabel={ariaLabel}\n className={classnames('dnb-forms-section-edit-block', className)}\n {...restProps}\n >\n <Flex.Stack>\n {title && <Lead size=\"basis\">{title}</Lead>}\n {children}\n <Toolbar>\n <EditToolbarTools />\n </Toolbar>\n </Flex.Stack>\n </SectionContainer>\n </FieldBoundaryProvider>\n )\n}\n\nEditContainer._supportsSpacingProps = true\nexport default EditContainer\n"],"mappings":"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"}
1
+ {"version":3,"file":"EditContainer.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_componentHelper","_components","_elements","_FieldBoundaryProvider","_SectionContainerContext","_EditToolbarTools","_SectionContainer","_Toolbar2","_Toolbar","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","EditContainer","props","_ref","children","className","title","restProps","ariaLabel","useMemo","convertJsxToString","containerMode","initialContainerMode","validateInitially","switchContainerMode","useContext","SectionContainerContext","omitFocusManagementRef","useRef","onPathError","useCallback","path","error","Error","current","createElement","showErrors","mode","classnames","Flex","Stack","Lead","size","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../../src/extensions/forms/Form/Section/EditContainer/EditContainer.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo, useRef } from 'react'\nimport classnames from 'classnames'\nimport { convertJsxToString } from '../../../../../shared/component-helper'\nimport { Flex } from '../../../../../components'\nimport { Props as FlexContainerProps } from '../../../../../components/flex/Container'\nimport { Lead } from '../../../../../elements'\nimport FieldBoundaryProvider from '../../../DataContext/FieldBoundary/FieldBoundaryProvider'\nimport SectionContainerContext from '../containers/SectionContainerContext'\nimport EditToolbarTools from './EditToolbarTools'\nimport SectionContainer, {\n SectionContainerProps,\n} from '../containers/SectionContainer'\nimport Toolbar from '../containers/Toolbar'\nimport { Path } from '../../../types'\n\nexport type Props = {\n title?: React.ReactNode\n}\n\nexport type AllProps = Props & SectionContainerProps & FlexContainerProps\n\nfunction EditContainer(props: AllProps) {\n const { children, className, title, ...restProps } = props || {}\n const ariaLabel = useMemo(() => convertJsxToString(title), [title])\n const {\n containerMode,\n initialContainerMode,\n validateInitially,\n switchContainerMode,\n } = useContext(SectionContainerContext) || {}\n const omitFocusManagementRef = useRef(false)\n\n const onPathError = useCallback(\n (path: Path, error: Error) => {\n if (\n initialContainerMode === 'auto' &&\n containerMode !== 'edit' &&\n error instanceof Error\n ) {\n omitFocusManagementRef.current = true\n switchContainerMode?.('edit')\n }\n },\n [containerMode, initialContainerMode, switchContainerMode]\n )\n\n return (\n <FieldBoundaryProvider\n showErrors={validateInitially}\n onPathError={onPathError}\n >\n <SectionContainer\n mode=\"edit\"\n ariaLabel={ariaLabel}\n omitFocusManagementRef={omitFocusManagementRef}\n className={classnames('dnb-forms-section-edit-block', className)}\n {...restProps}\n >\n <Flex.Stack>\n {title && <Lead size=\"basis\">{title}</Lead>}\n {children}\n <Toolbar>\n <EditToolbarTools />\n </Toolbar>\n </Flex.Stack>\n </SectionContainer>\n </FieldBoundaryProvider>\n )\n}\n\nEditContainer._supportsSpacingProps = true\nexport default EditContainer\n"],"mappings":"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"}
@@ -22,7 +22,8 @@ function EditToolbarTools() {
22
22
  restoreOriginalData
23
23
  } = (0, _useContainerDataStore.default)();
24
24
  const {
25
- switchContainerMode
25
+ switchContainerMode,
26
+ initialContainerMode
26
27
  } = (0, _react.useContext)(_SectionContainerContext.default) || {};
27
28
  const {
28
29
  hasVisibleError,
@@ -33,19 +34,21 @@ function EditToolbarTools() {
33
34
  const translation = (0, _useTranslation.default)().SectionEditContainer;
34
35
  const [showError, setShowError] = (0, _react.useState)(false);
35
36
  const cancelHandler = (0, _react.useCallback)(() => {
36
- if (hasSubmitError) {
37
- setShowError(true);
38
- setShowBoundaryErrors === null || setShowBoundaryErrors === void 0 ? void 0 : setShowBoundaryErrors(true);
37
+ if (hasSubmitError || initialContainerMode === 'auto' && hasError) {
38
+ setShowBoundaryErrors === null || setShowBoundaryErrors === void 0 ? void 0 : setShowBoundaryErrors(Date.now());
39
+ if (hasVisibleError) {
40
+ setShowError(true);
41
+ }
39
42
  } else {
40
43
  setShowError(false);
41
44
  setShowBoundaryErrors === null || setShowBoundaryErrors === void 0 ? void 0 : setShowBoundaryErrors(false);
42
45
  restoreOriginalData();
43
46
  switchContainerMode === null || switchContainerMode === void 0 ? void 0 : switchContainerMode('view');
44
47
  }
45
- }, [hasSubmitError, restoreOriginalData, setShowBoundaryErrors, switchContainerMode]);
48
+ }, [hasSubmitError, initialContainerMode, hasError, setShowBoundaryErrors, hasVisibleError, restoreOriginalData, switchContainerMode]);
46
49
  const doneHandler = (0, _react.useCallback)(() => {
47
50
  if (hasError) {
48
- setShowBoundaryErrors === null || setShowBoundaryErrors === void 0 ? void 0 : setShowBoundaryErrors(true);
51
+ setShowBoundaryErrors === null || setShowBoundaryErrors === void 0 ? void 0 : setShowBoundaryErrors(Date.now());
49
52
  if (hasVisibleError) {
50
53
  setShowError(true);
51
54
  }
@@ -55,10 +58,7 @@ function EditToolbarTools() {
55
58
  switchContainerMode === null || switchContainerMode === void 0 ? void 0 : switchContainerMode('view');
56
59
  }
57
60
  }, [hasVisibleError, hasError, setShowBoundaryErrors, switchContainerMode]);
58
- return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_components.FormStatus, {
59
- show: showError && hasVisibleError,
60
- no_animation: false
61
- }, translation.errorInSection), _react.default.createElement(_components.Flex.Horizontal, {
61
+ return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_components.Flex.Horizontal, {
62
62
  gap: "large"
63
63
  }, _react.default.createElement(_components.Button, {
64
64
  variant: "tertiary",
@@ -70,6 +70,12 @@ function EditToolbarTools() {
70
70
  icon: _icons.close,
71
71
  icon_position: "left",
72
72
  on_click: cancelHandler
73
- }, translation.cancelButton)));
73
+ }, translation.cancelButton)), _react.default.createElement(_components.FormStatus, {
74
+ show: showError && hasVisibleError,
75
+ shellSpace: {
76
+ top: 'x-small'
77
+ },
78
+ no_animation: false
79
+ }, translation.errorInSection));
74
80
  }
75
81
  //# sourceMappingURL=EditToolbarTools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditToolbarTools.js","names":["_react","_interopRequireWildcard","require","_components","_useTranslation","_interopRequireDefault","_SectionContainerContext","_FieldBoundaryContext","_icons","_useContainerDataStore","_useEditContainerToolbar","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","EditToolbarTools","useEditContainerToolbar","restoreOriginalData","useContainerDataStore","switchContainerMode","useContext","SectionContainerContext","hasVisibleError","hasSubmitError","hasError","setShowBoundaryErrors","FieldBoundaryContext","translation","useTranslation","SectionEditContainer","showError","setShowError","useState","cancelHandler","useCallback","doneHandler","createElement","Fragment","FormStatus","show","no_animation","errorInSection","Flex","Horizontal","gap","Button","variant","icon","check","icon_position","on_click","doneButton","close","cancelButton"],"sources":["../../../../../../../src/extensions/forms/Form/Section/EditContainer/EditToolbarTools.tsx"],"sourcesContent":["import React, { useCallback, useContext, useState } from 'react'\nimport { Button, Flex, FormStatus } from '../../../../../components'\nimport useTranslation from '../../../hooks/useTranslation'\nimport SectionContainerContext from '../containers/SectionContainerContext'\nimport FieldBoundaryContext from '../../../DataContext/FieldBoundary/FieldBoundaryContext'\nimport { check, close } from '../../../../../icons'\nimport useContainerDataStore from './useContainerDataStore'\nimport useEditContainerToolbar from './useEditContainerToolbar'\n\nexport default function EditToolbarTools() {\n useEditContainerToolbar()\n const { restoreOriginalData } = useContainerDataStore()\n\n const { switchContainerMode } = useContext(SectionContainerContext) || {}\n const {\n hasVisibleError,\n hasSubmitError,\n hasError,\n setShowBoundaryErrors,\n } = useContext(FieldBoundaryContext) || {}\n\n const translation = useTranslation().SectionEditContainer\n\n const [showError, setShowError] = useState(false)\n\n const cancelHandler = useCallback(() => {\n if (hasSubmitError) {\n setShowError(true)\n setShowBoundaryErrors?.(true)\n } else {\n setShowError(false)\n setShowBoundaryErrors?.(false)\n restoreOriginalData()\n switchContainerMode?.('view')\n }\n }, [\n hasSubmitError,\n restoreOriginalData,\n setShowBoundaryErrors,\n switchContainerMode,\n ])\n const doneHandler = useCallback(() => {\n if (hasError) {\n setShowBoundaryErrors?.(true)\n if (hasVisibleError) {\n setShowError(true)\n }\n } else {\n setShowError(false)\n setShowBoundaryErrors?.(false)\n switchContainerMode?.('view')\n }\n }, [\n hasVisibleError,\n hasError,\n setShowBoundaryErrors,\n switchContainerMode,\n ])\n\n return (\n <>\n <FormStatus show={showError && hasVisibleError} no_animation={false}>\n {translation.errorInSection}\n </FormStatus>\n <Flex.Horizontal gap=\"large\">\n <Button\n variant=\"tertiary\"\n icon={check}\n icon_position=\"left\"\n on_click={doneHandler}\n >\n {translation.doneButton}\n </Button>\n\n <Button\n variant=\"tertiary\"\n icon={close}\n icon_position=\"left\"\n on_click={cancelHandler}\n >\n {translation.cancelButton}\n </Button>\n </Flex.Horizontal>\n </>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"EditToolbarTools.js","names":["_react","_interopRequireWildcard","require","_components","_useTranslation","_interopRequireDefault","_SectionContainerContext","_FieldBoundaryContext","_icons","_useContainerDataStore","_useEditContainerToolbar","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","EditToolbarTools","useEditContainerToolbar","restoreOriginalData","useContainerDataStore","switchContainerMode","initialContainerMode","useContext","SectionContainerContext","hasVisibleError","hasSubmitError","hasError","setShowBoundaryErrors","FieldBoundaryContext","translation","useTranslation","SectionEditContainer","showError","setShowError","useState","cancelHandler","useCallback","Date","now","doneHandler","createElement","Fragment","Flex","Horizontal","gap","Button","variant","icon","check","icon_position","on_click","doneButton","close","cancelButton","FormStatus","show","shellSpace","top","no_animation","errorInSection"],"sources":["../../../../../../../src/extensions/forms/Form/Section/EditContainer/EditToolbarTools.tsx"],"sourcesContent":["import React, { useCallback, useContext, useState } from 'react'\nimport { Button, Flex, FormStatus } from '../../../../../components'\nimport useTranslation from '../../../hooks/useTranslation'\nimport SectionContainerContext from '../containers/SectionContainerContext'\nimport FieldBoundaryContext from '../../../DataContext/FieldBoundary/FieldBoundaryContext'\nimport { check, close } from '../../../../../icons'\nimport useContainerDataStore from './useContainerDataStore'\nimport useEditContainerToolbar from './useEditContainerToolbar'\n\nexport default function EditToolbarTools() {\n useEditContainerToolbar()\n const { restoreOriginalData } = useContainerDataStore()\n\n const { switchContainerMode, initialContainerMode } =\n useContext(SectionContainerContext) || {}\n const {\n hasVisibleError,\n hasSubmitError,\n hasError,\n setShowBoundaryErrors,\n } = useContext(FieldBoundaryContext) || {}\n\n const translation = useTranslation().SectionEditContainer\n\n const [showError, setShowError] = useState(false)\n\n const cancelHandler = useCallback(() => {\n if (hasSubmitError || (initialContainerMode === 'auto' && hasError)) {\n setShowBoundaryErrors?.(Date.now())\n if (hasVisibleError) {\n setShowError(true)\n }\n } else {\n setShowError(false)\n setShowBoundaryErrors?.(false)\n restoreOriginalData()\n switchContainerMode?.('view')\n }\n }, [\n hasSubmitError,\n initialContainerMode,\n hasError,\n setShowBoundaryErrors,\n hasVisibleError,\n restoreOriginalData,\n switchContainerMode,\n ])\n const doneHandler = useCallback(() => {\n if (hasError) {\n setShowBoundaryErrors?.(Date.now())\n if (hasVisibleError) {\n setShowError(true)\n }\n } else {\n setShowError(false)\n setShowBoundaryErrors?.(false)\n switchContainerMode?.('view')\n }\n }, [\n hasVisibleError,\n hasError,\n setShowBoundaryErrors,\n switchContainerMode,\n ])\n\n return (\n <>\n <Flex.Horizontal gap=\"large\">\n <Button\n variant=\"tertiary\"\n icon={check}\n icon_position=\"left\"\n on_click={doneHandler}\n >\n {translation.doneButton}\n </Button>\n\n <Button\n variant=\"tertiary\"\n icon={close}\n icon_position=\"left\"\n on_click={cancelHandler}\n >\n {translation.cancelButton}\n </Button>\n </Flex.Horizontal>\n\n <FormStatus\n show={showError && hasVisibleError}\n shellSpace={{ top: 'x-small' }}\n no_animation={false}\n >\n {translation.errorInSection}\n </FormStatus>\n </>\n )\n}\n"],"mappings":"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"}
@@ -21,8 +21,13 @@ export type SectionProps<overwriteProps = OverwritePropsDefaults> = {
21
21
  */
22
22
  required?: boolean;
23
23
  /**
24
- * Defines the container mode. Can be `view` or `edit`.
25
- * Defaults to `view`.
24
+ * If set to `true`, the whole section will be validated initially. All fields will then automatically get `validateInitially` and show their error messages. Can be useful in combination with `containerMode="auto"`.
25
+ */
26
+ validateInitially?: boolean;
27
+ /**
28
+ * Defines the container mode. Can be `view`, `edit` or `auto`.
29
+ * When set to `auto`, the mode will initially be "edit" if fields contain errors.
30
+ * Defaults to `auto`.
26
31
  */
27
32
  containerMode?: ContainerMode;
28
33
  /**
@@ -31,7 +31,8 @@ function SectionComponent(props) {
31
31
  required,
32
32
  data,
33
33
  defaultData,
34
- containerMode = 'view',
34
+ validateInitially,
35
+ containerMode = 'auto',
35
36
  onChange,
36
37
  errorPrioritization = ['contextSchema'],
37
38
  children
@@ -73,6 +74,7 @@ function SectionComponent(props) {
73
74
  props
74
75
  }
75
76
  }, _react.default.createElement(_SectionContainerProvider.default, {
77
+ validateInitially: validateInitially,
76
78
  containerMode: containerMode
77
79
  }, _react.default.createElement(_FieldProps.default, _extends({
78
80
  overwriteProps: _objectSpread(_objectSpread({}, overwriteProps), nestedProps === null || nestedProps === void 0 ? void 0 : (_nestedProps$overwrit = nestedProps.overwriteProps) === null || _nestedProps$overwrit === void 0 ? void 0 : _nestedProps$overwrit[path.substring(1)]),
@@ -1 +1 @@
1
- {"version":3,"file":"Section.js","names":["_react","_interopRequireWildcard","require","_SectionContext","_interopRequireDefault","_Context","_Provider","_FieldProps","_SectionContainerProvider","_ViewContainer","_EditContainer","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","SectionComponent","props","_path$startsWith","_nestedProps$overwrit","path","overwriteProps","translations","required","data","defaultData","containerMode","onChange","errorPrioritization","children","startsWith","Error","hasContext","addOnChangeHandler","useContext","DataContext","nestedPath","nestedProps","SectionContext","handleChange","useCallback","_len","args","Array","_key","identifier","useMemo","fieldProps","createElement","Provider","substring","ViewContainer","EditContainer","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Form/Section/Section.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo } from 'react'\nimport SectionContext, { SectionContextState } from './SectionContext'\nimport DataContext from '../../DataContext/Context'\nimport Provider from '../../DataContext/Provider/Provider'\nimport FieldPropsProvider from '../FieldProps'\nimport SectionContainerProvider from './containers/SectionContainerProvider'\nimport ViewContainer from './ViewContainer'\nimport EditContainer from './EditContainer'\n\nimport type { Props as DataContextProps } from '../../DataContext/Provider'\nimport type { ContainerMode } from './containers/SectionContainer'\nimport type {\n FieldBlockProps,\n Path,\n FieldProps,\n OnChange,\n} from '../../types'\n\nexport type OverwritePropsDefaults = {\n [key: Path]: (FieldProps & FieldBlockProps) | OverwritePropsDefaults\n}\nexport type SectionProps<overwriteProps = OverwritePropsDefaults> = {\n /**\n * Path to the section.\n * When defined, fields inside the section will get this path as a prefix of their own path.\n */\n path?: Path\n\n /**\n * Overwrite field props for the section.\n */\n overwriteProps?: overwriteProps | OverwritePropsDefaults\n\n /**\n * Makes all fields inside it required.\n */\n required?: boolean\n\n /**\n * Defines the container mode. Can be `view` or `edit`.\n * Defaults to `view`.\n */\n containerMode?: ContainerMode\n\n /**\n * Only for internal use and undocumented for now.\n * Prioritize error techniques for the section.\n * Can be `fieldSchema`, `sectionSchema` or `contextSchema.\n */\n errorPrioritization?: SectionContextState['errorPrioritization']\n} & Pick<\n DataContextProps<unknown>,\n 'data' | 'defaultData' | 'onChange' | 'translations'\n>\n\nexport type LocalProps = SectionProps & {\n children: React.ReactNode\n}\n\nfunction SectionComponent(props: LocalProps) {\n const {\n path,\n overwriteProps,\n translations,\n required,\n data,\n defaultData,\n containerMode = 'view',\n onChange,\n errorPrioritization = ['contextSchema'],\n children,\n } = props\n\n if (path && !path.startsWith?.('/')) {\n throw new Error(`path=\"${path}\" must start with a slash`)\n }\n\n const { hasContext, addOnChangeHandler } = useContext(DataContext)\n\n const { path: nestedPath, props: nestedProps } =\n useContext(SectionContext) || {}\n\n const handleChange = useCallback<OnChange>(\n (...args) => onChange?.(...args),\n [onChange]\n )\n addOnChangeHandler?.(handleChange)\n\n const identifier = useMemo(() => {\n return `${nestedPath && nestedPath !== '/' ? nestedPath : ''}${\n path || ''\n }`\n }, [path, nestedPath])\n const fieldProps = required ? { required: true } : undefined\n\n if (!hasContext) {\n return (\n <Provider data={data} defaultData={defaultData}>\n <SectionComponent {...props} />\n </Provider>\n )\n }\n\n return (\n <SectionContext.Provider\n value={{\n path: identifier,\n errorPrioritization,\n props,\n }}\n >\n <SectionContainerProvider containerMode={containerMode}>\n <FieldPropsProvider\n overwriteProps={{\n ...overwriteProps,\n ...(nestedProps?.overwriteProps?.[\n path.substring(1)\n ] as OverwritePropsDefaults),\n }}\n translations={translations}\n {...fieldProps}\n >\n {children}\n </FieldPropsProvider>\n </SectionContainerProvider>\n </SectionContext.Provider>\n )\n}\n\nSectionComponent.ViewContainer = ViewContainer\nSectionComponent.EditContainer = EditContainer\n\nSectionComponent._supportsSpacingProps = undefined\nexport default SectionComponent\n"],"mappings":"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"}
1
+ {"version":3,"file":"Section.js","names":["_react","_interopRequireWildcard","require","_SectionContext","_interopRequireDefault","_Context","_Provider","_FieldProps","_SectionContainerProvider","_ViewContainer","_EditContainer","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","SectionComponent","props","_path$startsWith","_nestedProps$overwrit","path","overwriteProps","translations","required","data","defaultData","validateInitially","containerMode","onChange","errorPrioritization","children","startsWith","Error","hasContext","addOnChangeHandler","useContext","DataContext","nestedPath","nestedProps","SectionContext","handleChange","useCallback","_len","args","Array","_key","identifier","useMemo","fieldProps","createElement","Provider","substring","ViewContainer","EditContainer","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Form/Section/Section.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo } from 'react'\nimport SectionContext, { SectionContextState } from './SectionContext'\nimport DataContext from '../../DataContext/Context'\nimport Provider from '../../DataContext/Provider/Provider'\nimport FieldPropsProvider from '../FieldProps'\nimport SectionContainerProvider from './containers/SectionContainerProvider'\nimport ViewContainer from './ViewContainer'\nimport EditContainer from './EditContainer'\n\nimport type { Props as DataContextProps } from '../../DataContext/Provider'\nimport type { ContainerMode } from './containers/SectionContainer'\nimport type {\n FieldBlockProps,\n Path,\n FieldProps,\n OnChange,\n} from '../../types'\n\nexport type OverwritePropsDefaults = {\n [key: Path]: (FieldProps & FieldBlockProps) | OverwritePropsDefaults\n}\nexport type SectionProps<overwriteProps = OverwritePropsDefaults> = {\n /**\n * Path to the section.\n * When defined, fields inside the section will get this path as a prefix of their own path.\n */\n path?: Path\n\n /**\n * Overwrite field props for the section.\n */\n overwriteProps?: overwriteProps | OverwritePropsDefaults\n\n /**\n * Makes all fields inside it required.\n */\n required?: boolean\n\n /**\n * If set to `true`, the whole section will be validated initially. All fields will then automatically get `validateInitially` and show their error messages. Can be useful in combination with `containerMode=\"auto\"`.\n */\n validateInitially?: boolean\n\n /**\n * Defines the container mode. Can be `view`, `edit` or `auto`.\n * When set to `auto`, the mode will initially be \"edit\" if fields contain errors.\n * Defaults to `auto`.\n */\n containerMode?: ContainerMode\n\n /**\n * Only for internal use and undocumented for now.\n * Prioritize error techniques for the section.\n * Can be `fieldSchema`, `sectionSchema` or `contextSchema.\n */\n errorPrioritization?: SectionContextState['errorPrioritization']\n} & Pick<\n DataContextProps<unknown>,\n 'data' | 'defaultData' | 'onChange' | 'translations'\n>\n\nexport type LocalProps = SectionProps & {\n children: React.ReactNode\n}\n\nfunction SectionComponent(props: LocalProps) {\n const {\n path,\n overwriteProps,\n translations,\n required,\n data,\n defaultData,\n validateInitially,\n containerMode = 'auto',\n onChange,\n errorPrioritization = ['contextSchema'],\n children,\n } = props\n\n if (path && !path.startsWith?.('/')) {\n throw new Error(`path=\"${path}\" must start with a slash`)\n }\n\n const { hasContext, addOnChangeHandler } = useContext(DataContext)\n\n const { path: nestedPath, props: nestedProps } =\n useContext(SectionContext) || {}\n\n const handleChange = useCallback<OnChange>(\n (...args) => onChange?.(...args),\n [onChange]\n )\n addOnChangeHandler?.(handleChange)\n\n const identifier = useMemo(() => {\n return `${nestedPath && nestedPath !== '/' ? nestedPath : ''}${\n path || ''\n }`\n }, [path, nestedPath])\n const fieldProps = required ? { required: true } : undefined\n\n if (!hasContext) {\n return (\n <Provider data={data} defaultData={defaultData}>\n <SectionComponent {...props} />\n </Provider>\n )\n }\n\n return (\n <SectionContext.Provider\n value={{\n path: identifier,\n errorPrioritization,\n props,\n }}\n >\n <SectionContainerProvider\n validateInitially={validateInitially}\n containerMode={containerMode}\n >\n <FieldPropsProvider\n overwriteProps={{\n ...overwriteProps,\n ...(nestedProps?.overwriteProps?.[\n path.substring(1)\n ] as OverwritePropsDefaults),\n }}\n translations={translations}\n {...fieldProps}\n >\n {children}\n </FieldPropsProvider>\n </SectionContainerProvider>\n </SectionContext.Provider>\n )\n}\n\nSectionComponent.ViewContainer = ViewContainer\nSectionComponent.EditContainer = EditContainer\n\nSectionComponent._supportsSpacingProps = undefined\nexport default SectionComponent\n"],"mappings":"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"}
@@ -25,6 +25,11 @@ const SectionProperties = {
25
25
  type: 'boolean',
26
26
  status: 'optional'
27
27
  },
28
+ validateInitially: {
29
+ doc: 'If set to `true`, the whole section will be validated initially. All fields will then automatically get `validateInitially` and show their error messages. Can be useful in combination with `containerMode="auto"`.',
30
+ type: 'boolean',
31
+ status: 'optional'
32
+ },
28
33
  defaultData: {
29
34
  doc: 'Provide default data to the section fields and values, in case the data context (Form.Handler) is not available.',
30
35
  type: 'object',
@@ -36,7 +41,7 @@ const SectionProperties = {
36
41
  status: 'optional'
37
42
  },
38
43
  containerMode: {
39
- doc: 'Defines the container mode. Can be `view` or `edit`. Defaults to `view`.',
44
+ doc: 'Defines the container mode. Can be `view`, `edit` or `auto`. When set to `auto`, the mode will initially be "edit" if fields contain errors. Defaults to `auto`.',
40
45
  type: 'string',
41
46
  status: 'optional'
42
47
  },
@@ -1 +1 @@
1
- {"version":3,"file":"SectionDocs.js","names":["SectionProperties","path","doc","type","status","overwriteProps","translation","required","defaultData","data","containerMode","children","exports","SectionEvents","onChange"],"sources":["../../../../../../src/extensions/forms/Form/Section/SectionDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const SectionProperties: PropertiesTableProps = {\n path: {\n doc: 'A path to the section (JSON Pointer). When defined, fields inside the section will get this path as a prefix of their own path.',\n type: 'string',\n status: 'optional',\n },\n overwriteProps: {\n doc: 'Overwrite field props for the section.',\n type: 'object',\n status: 'optional',\n },\n translation: {\n doc: \"Provide a translation for the section (e.g. `{'nb-NO': { MySection: { MyField: { label: 'Custom' }}}}`).\",\n type: 'object',\n status: 'optional',\n },\n required: {\n doc: 'Makes all fields inside it required.',\n type: 'boolean',\n status: 'optional',\n },\n defaultData: {\n doc: 'Provide default data to the section fields and values, in case the data context (Form.Handler) is not available.',\n type: 'object',\n status: 'optional',\n },\n data: {\n doc: 'Provide data to the section fields and values, in case the data context (Form.Handler) is not available.',\n type: 'object',\n status: 'optional',\n },\n containerMode: {\n doc: 'Defines the container mode. Can be `view` or `edit`. Defaults to `view`.',\n type: 'string',\n status: 'optional',\n },\n children: {\n doc: 'All the fields and values inside the section.',\n type: 'React.Node',\n status: 'optional',\n },\n}\n\nexport const SectionEvents: PropertiesTableProps = {\n onChange: {\n doc: 'Will be called when a value of a field was changed by the user, with the data set (including the changed value) as argument.',\n type: 'function',\n status: 'optional',\n },\n}\n"],"mappings":";;;;;;AAEO,MAAMA,iBAAuC,GAAG;EACrDC,IAAI,EAAE;IACJC,GAAG,EAAE,iIAAiI;IACtIC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,cAAc,EAAE;IACdH,GAAG,EAAE,wCAAwC;IAC7CC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,WAAW,EAAE;IACXJ,GAAG,EAAE,0GAA0G;IAC/GC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,QAAQ,EAAE;IACRL,GAAG,EAAE,sCAAsC;IAC3CC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDI,WAAW,EAAE;IACXN,GAAG,EAAE,kHAAkH;IACvHC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDK,IAAI,EAAE;IACJP,GAAG,EAAE,0GAA0G;IAC/GC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDM,aAAa,EAAE;IACbR,GAAG,EAAE,0EAA0E;IAC/EC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDO,QAAQ,EAAE;IACRT,GAAG,EAAE,+CAA+C;IACpDC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV;AACF,CAAC;AAAAQ,OAAA,CAAAZ,iBAAA,GAAAA,iBAAA;AAEM,MAAMa,aAAmC,GAAG;EACjDC,QAAQ,EAAE;IACRZ,GAAG,EAAE,8HAA8H;IACnIC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV;AACF,CAAC;AAAAQ,OAAA,CAAAC,aAAA,GAAAA,aAAA"}
1
+ {"version":3,"file":"SectionDocs.js","names":["SectionProperties","path","doc","type","status","overwriteProps","translation","required","validateInitially","defaultData","data","containerMode","children","exports","SectionEvents","onChange"],"sources":["../../../../../../src/extensions/forms/Form/Section/SectionDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const SectionProperties: PropertiesTableProps = {\n path: {\n doc: 'A path to the section (JSON Pointer). When defined, fields inside the section will get this path as a prefix of their own path.',\n type: 'string',\n status: 'optional',\n },\n overwriteProps: {\n doc: 'Overwrite field props for the section.',\n type: 'object',\n status: 'optional',\n },\n translation: {\n doc: \"Provide a translation for the section (e.g. `{'nb-NO': { MySection: { MyField: { label: 'Custom' }}}}`).\",\n type: 'object',\n status: 'optional',\n },\n required: {\n doc: 'Makes all fields inside it required.',\n type: 'boolean',\n status: 'optional',\n },\n validateInitially: {\n doc: 'If set to `true`, the whole section will be validated initially. All fields will then automatically get `validateInitially` and show their error messages. Can be useful in combination with `containerMode=\"auto\"`.',\n type: 'boolean',\n status: 'optional',\n },\n defaultData: {\n doc: 'Provide default data to the section fields and values, in case the data context (Form.Handler) is not available.',\n type: 'object',\n status: 'optional',\n },\n data: {\n doc: 'Provide data to the section fields and values, in case the data context (Form.Handler) is not available.',\n type: 'object',\n status: 'optional',\n },\n containerMode: {\n doc: 'Defines the container mode. Can be `view`, `edit` or `auto`. When set to `auto`, the mode will initially be \"edit\" if fields contain errors. Defaults to `auto`.',\n type: 'string',\n status: 'optional',\n },\n children: {\n doc: 'All the fields and values inside the section.',\n type: 'React.Node',\n status: 'optional',\n },\n}\n\nexport const SectionEvents: PropertiesTableProps = {\n onChange: {\n doc: 'Will be called when a value of a field was changed by the user, with the data set (including the changed value) as argument.',\n type: 'function',\n status: 'optional',\n },\n}\n"],"mappings":";;;;;;AAEO,MAAMA,iBAAuC,GAAG;EACrDC,IAAI,EAAE;IACJC,GAAG,EAAE,iIAAiI;IACtIC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,cAAc,EAAE;IACdH,GAAG,EAAE,wCAAwC;IAC7CC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,WAAW,EAAE;IACXJ,GAAG,EAAE,0GAA0G;IAC/GC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,QAAQ,EAAE;IACRL,GAAG,EAAE,sCAAsC;IAC3CC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDI,iBAAiB,EAAE;IACjBN,GAAG,EAAE,sNAAsN;IAC3NC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDK,WAAW,EAAE;IACXP,GAAG,EAAE,kHAAkH;IACvHC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDM,IAAI,EAAE;IACJR,GAAG,EAAE,0GAA0G;IAC/GC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDO,aAAa,EAAE;IACbT,GAAG,EAAE,kKAAkK;IACvKC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDQ,QAAQ,EAAE;IACRV,GAAG,EAAE,+CAA+C;IACpDC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV;AACF,CAAC;AAAAS,OAAA,CAAAb,iBAAA,GAAAA,iBAAA;AAEM,MAAMc,aAAmC,GAAG;EACjDC,QAAQ,EAAE;IACRb,GAAG,EAAE,8HAA8H;IACnIC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV;AACF,CAAC;AAAAS,OAAA,CAAAC,aAAA,GAAAA,aAAA"}
@@ -1,5 +1,6 @@
1
+ import React from 'react';
1
2
  import { Props as FlexContainerProps } from '../../../../../components/flex/Container';
2
- export type ContainerMode = 'view' | 'edit';
3
+ export type ContainerMode = 'view' | 'edit' | 'auto';
3
4
  export type SectionContainerProps = {
4
5
  /**
5
6
  * Defines the variant of the ViewContainer or EditContainer. Can be `outline`.
@@ -11,6 +12,7 @@ export type Props = {
11
12
  mode: ContainerMode;
12
13
  open?: boolean | undefined;
13
14
  ariaLabel?: string;
15
+ omitFocusManagementRef?: React.MutableRefObject<boolean>;
14
16
  } & SectionContainerProps;
15
17
  declare function SectionContainer(props: Props & FlexContainerProps): import("react/jsx-runtime").JSX.Element;
16
18
  declare namespace SectionContainer {
@@ -10,7 +10,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
10
10
  var _components = require("../../../../../components");
11
11
  var _SectionContainerContext = _interopRequireDefault(require("./SectionContainerContext"));
12
12
  var _FieldBoundaryContext = _interopRequireDefault(require("../../../DataContext/FieldBoundary/FieldBoundaryContext"));
13
- const _excluded = ["mode", "open", "ariaLabel", "onAnimationEnd", "className", "children", "variant"];
13
+ const _excluded = ["mode", "open", "ariaLabel", "onAnimationEnd", "className", "children", "variant", "omitFocusManagementRef"];
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -18,6 +18,19 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
18
18
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
19
19
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
20
20
  function SectionContainer(props) {
21
+ const {
22
+ mode,
23
+ open,
24
+ ariaLabel,
25
+ onAnimationEnd,
26
+ className,
27
+ children,
28
+ variant = 'outline',
29
+ omitFocusManagementRef = {
30
+ current: undefined
31
+ }
32
+ } = props,
33
+ restProps = _objectWithoutProperties(props, _excluded);
21
34
  const [, forceUpdate] = (0, _react.useReducer)(() => ({}), {});
22
35
  const containerRef = (0, _react.useRef)();
23
36
  const contextRef = (0, _react.useRef)();
@@ -32,19 +45,8 @@ function SectionContainer(props) {
32
45
  contextRef.current.containerMode = 'edit';
33
46
  }
34
47
  const {
35
- switchContainerMode,
36
48
  containerMode
37
49
  } = contextRef.current;
38
- const {
39
- mode,
40
- open,
41
- ariaLabel,
42
- onAnimationEnd,
43
- className,
44
- children,
45
- variant = 'outline'
46
- } = props,
47
- restProps = _objectWithoutProperties(props, _excluded);
48
50
  const openRef = (0, _react.useRef)(open !== null && open !== void 0 ? open : containerMode === mode);
49
51
  const setOpenState = (0, _react.useCallback)(open => {
50
52
  openRef.current = open;
@@ -59,21 +61,21 @@ function SectionContainer(props) {
59
61
  }
60
62
  }
61
63
  }, [containerMode, mode, open, setOpenState]);
62
- const handleAnimationEnd = (0, _react.useCallback)(state => {
63
- if (contextRef.current.hasSubmitError) {
64
- switchContainerMode === null || switchContainerMode === void 0 ? void 0 : switchContainerMode('edit');
65
- }
64
+ const setFocus = (0, _react.useCallback)(state => {
66
65
  if (state === 'opened') {
67
- const preventFocusOnErrorOpening = !contextRef.current.hasSubmitError;
68
- if (preventFocusOnErrorOpening) {
66
+ if (!omitFocusManagementRef.current && !contextRef.current.hasSubmitError) {
69
67
  var _containerRef$current, _containerRef$current2;
70
68
  containerRef === null || containerRef === void 0 ? void 0 : (_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 ? void 0 : (_containerRef$current2 = _containerRef$current.focus) === null || _containerRef$current2 === void 0 ? void 0 : _containerRef$current2.call(_containerRef$current);
71
69
  }
70
+ omitFocusManagementRef.current = false;
72
71
  }
72
+ }, [omitFocusManagementRef]);
73
+ const handleAnimationEnd = (0, _react.useCallback)(state => {
74
+ setFocus(state);
73
75
  onAnimationEnd === null || onAnimationEnd === void 0 ? void 0 : onAnimationEnd(state);
74
- }, [onAnimationEnd, switchContainerMode]);
76
+ }, [onAnimationEnd, setFocus]);
75
77
  return _react.default.createElement(_components.HeightAnimation, {
76
- className: (0, _classnames.default)('dnb-forms-section-block', className, variant && `dnb-forms-section-block--variant-${variant}`, contextRef.current.hasSubmitError && 'dnb-forms-section-block--error'),
78
+ className: (0, _classnames.default)('dnb-forms-section-block', className, variant && `dnb-forms-section-block--variant-${variant}`, omitFocusManagementRef.current && 'dnb-forms-section-block--no-animation', contextRef.current.hasSubmitError && 'dnb-forms-section-block--error'),
77
79
  open: openRef.current,
78
80
  onAnimationEnd: handleAnimationEnd,
79
81
  duration: 450,