@dnb/eufemia 10.51.2 → 10.52.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 (588) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/cjs/components/autocomplete/Autocomplete.js +4 -0
  3. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  4. package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.css +2 -2
  5. package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.min.css +1 -1
  6. package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -2
  7. package/cjs/components/dialog/style/themes/dnb-dialog-theme-sbanken.css +6 -0
  8. package/cjs/components/dialog/style/themes/dnb-dialog-theme-sbanken.min.css +1 -1
  9. package/cjs/components/dialog/style/themes/dnb-dialog-theme-sbanken.scss +7 -0
  10. package/cjs/components/form-status/FormStatus.d.ts +5 -0
  11. package/cjs/components/icon/Icon.d.ts +2 -1
  12. package/cjs/components/icon/Icon.js.map +1 -1
  13. package/cjs/components/logo/Logo.js.map +1 -1
  14. package/cjs/components/number-format/NumberUtils.d.ts +14 -0
  15. package/cjs/components/number-format/NumberUtils.js +7 -8
  16. package/cjs/components/number-format/NumberUtils.js.map +1 -1
  17. package/cjs/components/skeleton/style/dnb-skeleton.css +3 -1
  18. package/cjs/components/skeleton/style/dnb-skeleton.min.css +1 -1
  19. package/cjs/components/skeleton/style/dnb-skeleton.scss +4 -2
  20. package/cjs/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +21 -2
  21. package/cjs/extensions/forms/DataContext/Context.d.ts +5 -0
  22. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  23. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +12 -1
  24. package/cjs/extensions/forms/DataContext/Provider/Provider.js +86 -77
  25. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  26. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +6 -1
  27. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +112 -23
  28. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  29. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +5 -0
  30. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -1
  31. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.d.ts +3 -1
  32. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +28 -16
  33. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  34. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.d.ts +2 -0
  35. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js +25 -0
  36. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js.map +1 -0
  37. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -3
  38. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  39. package/cjs/extensions/forms/Form/Isolation/Isolation.d.ts +4 -0
  40. package/cjs/extensions/forms/Form/Isolation/Isolation.js +26 -0
  41. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  42. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js +5 -0
  43. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  44. package/cjs/extensions/forms/Form/Snapshot/Snapshot.d.ts +12 -0
  45. package/cjs/extensions/forms/Form/Snapshot/Snapshot.js +45 -0
  46. package/cjs/extensions/forms/Form/Snapshot/Snapshot.js.map +1 -0
  47. package/cjs/extensions/forms/Form/Snapshot/SnapshotContext.d.ts +12 -0
  48. package/cjs/extensions/forms/Form/Snapshot/SnapshotContext.js +12 -0
  49. package/cjs/extensions/forms/Form/Snapshot/SnapshotContext.js.map +1 -0
  50. package/cjs/extensions/forms/Form/Snapshot/SnapshotDocs.d.ts +3 -0
  51. package/cjs/extensions/forms/Form/Snapshot/SnapshotDocs.js +17 -0
  52. package/cjs/extensions/forms/Form/Snapshot/SnapshotDocs.js.map +1 -0
  53. package/cjs/extensions/forms/Form/Snapshot/index.d.ts +2 -0
  54. package/cjs/extensions/forms/Form/Snapshot/index.js +27 -0
  55. package/cjs/extensions/forms/Form/Snapshot/index.js.map +1 -0
  56. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +1 -1
  57. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
  58. package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +10 -2
  59. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  60. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +10 -10
  61. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  62. package/cjs/extensions/forms/Form/Visibility/useVisibility.js +26 -14
  63. package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  64. package/cjs/extensions/forms/Form/data-context/clearData.js +2 -5
  65. package/cjs/extensions/forms/Form/data-context/clearData.js.map +1 -1
  66. package/cjs/extensions/forms/Form/data-context/getData.js.map +1 -1
  67. package/cjs/extensions/forms/Form/data-context/useData.js +3 -2
  68. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
  69. package/cjs/extensions/forms/Form/data-context/useValidation.js.map +1 -1
  70. package/cjs/extensions/forms/Form/index.d.ts +2 -0
  71. package/cjs/extensions/forms/Form/index.js +14 -0
  72. package/cjs/extensions/forms/Form/index.js.map +1 -1
  73. package/cjs/extensions/forms/Iterate/Array/Array.js +3 -1
  74. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  75. package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.js +30 -17
  76. package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  77. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +5 -6
  78. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  79. package/cjs/extensions/forms/Iterate/ItemNo/ItemNo.d.ts +9 -0
  80. package/cjs/extensions/forms/Iterate/ItemNo/ItemNo.js +33 -0
  81. package/cjs/extensions/forms/Iterate/ItemNo/ItemNo.js.map +1 -0
  82. package/cjs/extensions/forms/Iterate/ItemNo/index.d.ts +2 -0
  83. package/cjs/extensions/forms/Iterate/ItemNo/index.js +27 -0
  84. package/cjs/extensions/forms/Iterate/ItemNo/index.js.map +1 -0
  85. package/cjs/extensions/forms/Iterate/IterateItemContext.d.ts +1 -0
  86. package/cjs/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
  87. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +18 -2
  88. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +44 -18
  89. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  90. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +24 -1
  91. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  92. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +5 -6
  93. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  94. package/cjs/extensions/forms/Iterate/index.d.ts +1 -0
  95. package/cjs/extensions/forms/Iterate/index.js +7 -0
  96. package/cjs/extensions/forms/Iterate/index.js.map +1 -1
  97. package/cjs/extensions/forms/Tools/Log.d.ts +7 -2
  98. package/cjs/extensions/forms/Tools/Log.js +36 -4
  99. package/cjs/extensions/forms/Tools/Log.js.map +1 -1
  100. package/cjs/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  101. package/cjs/extensions/forms/Value/SummaryList/SummaryList.d.ts +4 -2
  102. package/cjs/extensions/forms/Value/SummaryList/SummaryList.js +3 -1
  103. package/cjs/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  104. package/cjs/extensions/forms/Value/SummaryList/SummaryListDocs.js +5 -0
  105. package/cjs/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -1
  106. package/cjs/extensions/forms/Value/ValueDocs.js +5 -0
  107. package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -1
  108. package/cjs/extensions/forms/Wizard/Buttons/Buttons.js +2 -2
  109. package/cjs/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
  110. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +78 -31
  111. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  112. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  113. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  114. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +1 -2
  115. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +0 -7
  116. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -1
  117. package/cjs/extensions/forms/Wizard/Container/useStepAnimation.d.ts +2 -1
  118. package/cjs/extensions/forms/Wizard/Container/useStepAnimation.js +11 -6
  119. package/cjs/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -1
  120. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +14 -3
  121. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  122. package/cjs/extensions/forms/Wizard/Step/Step.js +4 -4
  123. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  124. package/cjs/extensions/forms/Wizard/hooks/useStep.js +4 -4
  125. package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  126. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +6 -1
  127. package/cjs/extensions/forms/constants/locales/en-GB.js +9 -4
  128. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  129. package/cjs/extensions/forms/constants/locales/en-US.d.ts +6 -1
  130. package/cjs/extensions/forms/constants/locales/en-US.js +2 -1
  131. package/cjs/extensions/forms/constants/locales/en-US.js.map +1 -1
  132. package/cjs/extensions/forms/constants/locales/index.d.ts +12 -2
  133. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +6 -1
  134. package/cjs/extensions/forms/constants/locales/nb-NO.js +9 -4
  135. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  136. package/cjs/extensions/forms/hooks/useDataContext.d.ts +6 -0
  137. package/cjs/extensions/forms/hooks/useDataContext.js +31 -0
  138. package/cjs/extensions/forms/hooks/useDataContext.js.map +1 -0
  139. package/cjs/extensions/forms/hooks/useExternalValue.js +12 -6
  140. package/cjs/extensions/forms/hooks/useExternalValue.js.map +1 -1
  141. package/cjs/extensions/forms/hooks/useFieldProps.js +82 -43
  142. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  143. package/cjs/extensions/forms/hooks/useSnapshot.d.ts +9 -0
  144. package/cjs/extensions/forms/hooks/useSnapshot.js +87 -0
  145. package/cjs/extensions/forms/hooks/useSnapshot.js.map +1 -0
  146. package/cjs/extensions/forms/hooks/useValueProps.js +6 -1
  147. package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
  148. package/cjs/extensions/forms/types.d.ts +4 -0
  149. package/cjs/extensions/forms/types.js.map +1 -1
  150. package/cjs/extensions/payment-card/style/dnb-payment-card.css +3 -2
  151. package/cjs/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  152. package/cjs/shared/Eufemia.d.ts +1 -1
  153. package/cjs/shared/Eufemia.js +2 -2
  154. package/cjs/shared/Eufemia.js.map +1 -1
  155. package/cjs/shared/component-helper.js +1 -1
  156. package/cjs/shared/component-helper.js.map +1 -1
  157. package/cjs/style/core/scopes.scss +1 -1
  158. package/cjs/style/dnb-ui-basis.css +1 -1
  159. package/cjs/style/dnb-ui-basis.min.css +1 -1
  160. package/cjs/style/dnb-ui-body.css +1 -1
  161. package/cjs/style/dnb-ui-body.min.css +1 -1
  162. package/cjs/style/dnb-ui-components.css +3 -1
  163. package/cjs/style/dnb-ui-components.min.css +1 -1
  164. package/cjs/style/dnb-ui-core.css +1 -1
  165. package/cjs/style/dnb-ui-core.min.css +1 -1
  166. package/cjs/style/dnb-ui-extensions.css +3 -2
  167. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  168. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +3 -1
  169. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  170. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -2
  171. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  172. package/cjs/style/themes/theme-eiendom/properties.d.ts +1 -0
  173. package/cjs/style/themes/theme-eiendom/properties.js +3 -2
  174. package/cjs/style/themes/theme-eiendom/properties.js.map +1 -1
  175. package/cjs/style/themes/theme-sbanken/properties.d.ts +1 -0
  176. package/cjs/style/themes/theme-sbanken/properties.js +3 -2
  177. package/cjs/style/themes/theme-sbanken/properties.js.map +1 -1
  178. package/cjs/style/themes/theme-sbanken/properties.scss +9 -8
  179. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +20 -4
  180. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +3 -1
  181. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +11 -3
  182. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  183. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +17 -2
  184. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +3 -1
  185. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -2
  186. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  187. package/cjs/style/themes/theme-ui/properties.d.ts +1 -0
  188. package/cjs/style/themes/theme-ui/properties.js +3 -2
  189. package/cjs/style/themes/theme-ui/properties.js.map +1 -1
  190. package/cjs/style/themes/theme-ui/ui-theme-components.css +3 -1
  191. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  192. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +3 -2
  193. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  194. package/components/autocomplete/Autocomplete.js +4 -0
  195. package/components/autocomplete/Autocomplete.js.map +1 -1
  196. package/components/avatar/style/themes/dnb-avatar-theme-sbanken.css +2 -2
  197. package/components/avatar/style/themes/dnb-avatar-theme-sbanken.min.css +1 -1
  198. package/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -2
  199. package/components/dialog/style/themes/dnb-dialog-theme-sbanken.css +6 -0
  200. package/components/dialog/style/themes/dnb-dialog-theme-sbanken.min.css +1 -1
  201. package/components/dialog/style/themes/dnb-dialog-theme-sbanken.scss +7 -0
  202. package/components/form-status/FormStatus.d.ts +5 -0
  203. package/components/icon/Icon.d.ts +2 -1
  204. package/components/icon/Icon.js.map +1 -1
  205. package/components/logo/Logo.js.map +1 -1
  206. package/components/number-format/NumberUtils.d.ts +14 -0
  207. package/components/number-format/NumberUtils.js +7 -8
  208. package/components/number-format/NumberUtils.js.map +1 -1
  209. package/components/skeleton/style/dnb-skeleton.css +3 -1
  210. package/components/skeleton/style/dnb-skeleton.min.css +1 -1
  211. package/components/skeleton/style/dnb-skeleton.scss +4 -2
  212. package/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +21 -2
  213. package/es/components/autocomplete/Autocomplete.js +4 -0
  214. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  215. package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.css +2 -2
  216. package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.min.css +1 -1
  217. package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -2
  218. package/es/components/dialog/style/themes/dnb-dialog-theme-sbanken.css +6 -0
  219. package/es/components/dialog/style/themes/dnb-dialog-theme-sbanken.min.css +1 -1
  220. package/es/components/dialog/style/themes/dnb-dialog-theme-sbanken.scss +7 -0
  221. package/es/components/form-status/FormStatus.d.ts +5 -0
  222. package/es/components/icon/Icon.d.ts +2 -1
  223. package/es/components/icon/Icon.js.map +1 -1
  224. package/es/components/logo/Logo.js.map +1 -1
  225. package/es/components/number-format/NumberUtils.d.ts +14 -0
  226. package/es/components/number-format/NumberUtils.js +7 -8
  227. package/es/components/number-format/NumberUtils.js.map +1 -1
  228. package/es/components/skeleton/style/dnb-skeleton.css +3 -1
  229. package/es/components/skeleton/style/dnb-skeleton.min.css +1 -1
  230. package/es/components/skeleton/style/dnb-skeleton.scss +4 -2
  231. package/es/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +21 -2
  232. package/es/extensions/forms/DataContext/Context.d.ts +5 -0
  233. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  234. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +12 -1
  235. package/es/extensions/forms/DataContext/Provider/Provider.js +84 -75
  236. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  237. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +6 -1
  238. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +109 -23
  239. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  240. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +5 -0
  241. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -1
  242. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.d.ts +3 -1
  243. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +28 -16
  244. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  245. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.d.ts +2 -0
  246. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js +18 -0
  247. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js.map +1 -0
  248. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -3
  249. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  250. package/es/extensions/forms/Form/Isolation/Isolation.d.ts +4 -0
  251. package/es/extensions/forms/Form/Isolation/Isolation.js +28 -3
  252. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  253. package/es/extensions/forms/Form/Isolation/IsolationDocs.js +5 -0
  254. package/es/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  255. package/es/extensions/forms/Form/Snapshot/Snapshot.d.ts +12 -0
  256. package/es/extensions/forms/Form/Snapshot/Snapshot.js +36 -0
  257. package/es/extensions/forms/Form/Snapshot/Snapshot.js.map +1 -0
  258. package/es/extensions/forms/Form/Snapshot/SnapshotContext.d.ts +12 -0
  259. package/es/extensions/forms/Form/Snapshot/SnapshotContext.js +6 -0
  260. package/es/extensions/forms/Form/Snapshot/SnapshotContext.js.map +1 -0
  261. package/es/extensions/forms/Form/Snapshot/SnapshotDocs.d.ts +3 -0
  262. package/es/extensions/forms/Form/Snapshot/SnapshotDocs.js +9 -0
  263. package/es/extensions/forms/Form/Snapshot/SnapshotDocs.js.map +1 -0
  264. package/es/extensions/forms/Form/Snapshot/index.d.ts +2 -0
  265. package/es/extensions/forms/Form/Snapshot/index.js +3 -0
  266. package/es/extensions/forms/Form/Snapshot/index.js.map +1 -0
  267. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +1 -1
  268. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
  269. package/es/extensions/forms/Form/Visibility/Visibility.d.ts +10 -2
  270. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  271. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +10 -10
  272. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  273. package/es/extensions/forms/Form/Visibility/useVisibility.js +26 -14
  274. package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  275. package/es/extensions/forms/Form/data-context/clearData.js +2 -5
  276. package/es/extensions/forms/Form/data-context/clearData.js.map +1 -1
  277. package/es/extensions/forms/Form/data-context/getData.js.map +1 -1
  278. package/es/extensions/forms/Form/data-context/useData.js +1 -0
  279. package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
  280. package/es/extensions/forms/Form/data-context/useValidation.js.map +1 -1
  281. package/es/extensions/forms/Form/index.d.ts +2 -0
  282. package/es/extensions/forms/Form/index.js +2 -0
  283. package/es/extensions/forms/Form/index.js.map +1 -1
  284. package/es/extensions/forms/Iterate/Array/Array.js +3 -1
  285. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  286. package/es/extensions/forms/Iterate/Array/ArrayItemArea.js +31 -18
  287. package/es/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  288. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +5 -6
  289. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  290. package/es/extensions/forms/Iterate/ItemNo/ItemNo.d.ts +9 -0
  291. package/es/extensions/forms/Iterate/ItemNo/ItemNo.js +22 -0
  292. package/es/extensions/forms/Iterate/ItemNo/ItemNo.js.map +1 -0
  293. package/es/extensions/forms/Iterate/ItemNo/index.d.ts +2 -0
  294. package/es/extensions/forms/Iterate/ItemNo/index.js +3 -0
  295. package/es/extensions/forms/Iterate/ItemNo/index.js.map +1 -0
  296. package/es/extensions/forms/Iterate/IterateItemContext.d.ts +1 -0
  297. package/es/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
  298. package/es/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +18 -2
  299. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +43 -16
  300. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  301. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +24 -1
  302. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  303. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +5 -6
  304. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  305. package/es/extensions/forms/Iterate/index.d.ts +1 -0
  306. package/es/extensions/forms/Iterate/index.js +1 -0
  307. package/es/extensions/forms/Iterate/index.js.map +1 -1
  308. package/es/extensions/forms/Tools/Log.d.ts +7 -2
  309. package/es/extensions/forms/Tools/Log.js +26 -3
  310. package/es/extensions/forms/Tools/Log.js.map +1 -1
  311. package/es/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  312. package/es/extensions/forms/Value/SummaryList/SummaryList.d.ts +4 -2
  313. package/es/extensions/forms/Value/SummaryList/SummaryList.js +3 -1
  314. package/es/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  315. package/es/extensions/forms/Value/SummaryList/SummaryListDocs.js +5 -0
  316. package/es/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -1
  317. package/es/extensions/forms/Value/ValueDocs.js +5 -0
  318. package/es/extensions/forms/Value/ValueDocs.js.map +1 -1
  319. package/es/extensions/forms/Wizard/Buttons/Buttons.js +2 -2
  320. package/es/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
  321. package/es/extensions/forms/Wizard/Container/WizardContainer.js +67 -23
  322. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  323. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  324. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  325. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +1 -2
  326. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +0 -6
  327. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -1
  328. package/es/extensions/forms/Wizard/Container/useStepAnimation.d.ts +2 -1
  329. package/es/extensions/forms/Wizard/Container/useStepAnimation.js +12 -7
  330. package/es/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -1
  331. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +14 -3
  332. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  333. package/es/extensions/forms/Wizard/Step/Step.js +4 -4
  334. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  335. package/es/extensions/forms/Wizard/hooks/useStep.js +4 -4
  336. package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  337. package/es/extensions/forms/constants/locales/en-GB.d.ts +6 -1
  338. package/es/extensions/forms/constants/locales/en-GB.js +9 -4
  339. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  340. package/es/extensions/forms/constants/locales/en-US.d.ts +6 -1
  341. package/es/extensions/forms/constants/locales/en-US.js +2 -1
  342. package/es/extensions/forms/constants/locales/en-US.js.map +1 -1
  343. package/es/extensions/forms/constants/locales/index.d.ts +12 -2
  344. package/es/extensions/forms/constants/locales/nb-NO.d.ts +6 -1
  345. package/es/extensions/forms/constants/locales/nb-NO.js +9 -4
  346. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  347. package/es/extensions/forms/hooks/useDataContext.d.ts +6 -0
  348. package/es/extensions/forms/hooks/useDataContext.js +24 -0
  349. package/es/extensions/forms/hooks/useDataContext.js.map +1 -0
  350. package/es/extensions/forms/hooks/useExternalValue.js +12 -6
  351. package/es/extensions/forms/hooks/useExternalValue.js.map +1 -1
  352. package/es/extensions/forms/hooks/useFieldProps.js +83 -44
  353. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  354. package/es/extensions/forms/hooks/useSnapshot.d.ts +9 -0
  355. package/es/extensions/forms/hooks/useSnapshot.js +73 -0
  356. package/es/extensions/forms/hooks/useSnapshot.js.map +1 -0
  357. package/es/extensions/forms/hooks/useValueProps.js +6 -1
  358. package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
  359. package/es/extensions/forms/types.d.ts +4 -0
  360. package/es/extensions/forms/types.js.map +1 -1
  361. package/es/extensions/payment-card/style/dnb-payment-card.css +3 -2
  362. package/es/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  363. package/es/shared/Eufemia.d.ts +1 -1
  364. package/es/shared/Eufemia.js +2 -2
  365. package/es/shared/Eufemia.js.map +1 -1
  366. package/es/shared/component-helper.js +1 -1
  367. package/es/shared/component-helper.js.map +1 -1
  368. package/es/style/core/scopes.scss +1 -1
  369. package/es/style/dnb-ui-basis.css +1 -1
  370. package/es/style/dnb-ui-basis.min.css +1 -1
  371. package/es/style/dnb-ui-body.css +1 -1
  372. package/es/style/dnb-ui-body.min.css +1 -1
  373. package/es/style/dnb-ui-components.css +3 -1
  374. package/es/style/dnb-ui-components.min.css +1 -1
  375. package/es/style/dnb-ui-core.css +1 -1
  376. package/es/style/dnb-ui-core.min.css +1 -1
  377. package/es/style/dnb-ui-extensions.css +3 -2
  378. package/es/style/dnb-ui-extensions.min.css +1 -1
  379. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +3 -1
  380. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  381. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -2
  382. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  383. package/es/style/themes/theme-eiendom/properties.d.ts +1 -0
  384. package/es/style/themes/theme-eiendom/properties.js +3 -2
  385. package/es/style/themes/theme-eiendom/properties.js.map +1 -1
  386. package/es/style/themes/theme-sbanken/properties.d.ts +1 -0
  387. package/es/style/themes/theme-sbanken/properties.js +3 -2
  388. package/es/style/themes/theme-sbanken/properties.js.map +1 -1
  389. package/es/style/themes/theme-sbanken/properties.scss +9 -8
  390. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +20 -4
  391. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +3 -1
  392. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +11 -3
  393. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  394. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +17 -2
  395. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +3 -1
  396. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -2
  397. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  398. package/es/style/themes/theme-ui/properties.d.ts +1 -0
  399. package/es/style/themes/theme-ui/properties.js +3 -2
  400. package/es/style/themes/theme-ui/properties.js.map +1 -1
  401. package/es/style/themes/theme-ui/ui-theme-components.css +3 -1
  402. package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  403. package/es/style/themes/theme-ui/ui-theme-extensions.css +3 -2
  404. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  405. package/esm/dnb-ui-basis.min.mjs +1 -1
  406. package/esm/dnb-ui-components.min.mjs +1 -1
  407. package/esm/dnb-ui-elements.min.mjs +1 -1
  408. package/esm/dnb-ui-extensions.min.mjs +2 -2
  409. package/esm/dnb-ui-lib.min.mjs +1 -1
  410. package/extensions/forms/DataContext/Context.d.ts +5 -0
  411. package/extensions/forms/DataContext/Context.js.map +1 -1
  412. package/extensions/forms/DataContext/Provider/Provider.d.ts +12 -1
  413. package/extensions/forms/DataContext/Provider/Provider.js +86 -77
  414. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  415. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +6 -1
  416. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +109 -23
  417. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  418. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +5 -0
  419. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -1
  420. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.d.ts +3 -1
  421. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +28 -16
  422. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  423. package/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.d.ts +2 -0
  424. package/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js +18 -0
  425. package/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js.map +1 -0
  426. package/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -3
  427. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  428. package/extensions/forms/Form/Isolation/Isolation.d.ts +4 -0
  429. package/extensions/forms/Form/Isolation/Isolation.js +29 -3
  430. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  431. package/extensions/forms/Form/Isolation/IsolationDocs.js +5 -0
  432. package/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  433. package/extensions/forms/Form/Snapshot/Snapshot.d.ts +12 -0
  434. package/extensions/forms/Form/Snapshot/Snapshot.js +36 -0
  435. package/extensions/forms/Form/Snapshot/Snapshot.js.map +1 -0
  436. package/extensions/forms/Form/Snapshot/SnapshotContext.d.ts +12 -0
  437. package/extensions/forms/Form/Snapshot/SnapshotContext.js +6 -0
  438. package/extensions/forms/Form/Snapshot/SnapshotContext.js.map +1 -0
  439. package/extensions/forms/Form/Snapshot/SnapshotDocs.d.ts +3 -0
  440. package/extensions/forms/Form/Snapshot/SnapshotDocs.js +9 -0
  441. package/extensions/forms/Form/Snapshot/SnapshotDocs.js.map +1 -0
  442. package/extensions/forms/Form/Snapshot/index.d.ts +2 -0
  443. package/extensions/forms/Form/Snapshot/index.js +3 -0
  444. package/extensions/forms/Form/Snapshot/index.js.map +1 -0
  445. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +1 -1
  446. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
  447. package/extensions/forms/Form/Visibility/Visibility.d.ts +10 -2
  448. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  449. package/extensions/forms/Form/Visibility/VisibilityDocs.js +10 -10
  450. package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  451. package/extensions/forms/Form/Visibility/useVisibility.js +26 -14
  452. package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  453. package/extensions/forms/Form/data-context/clearData.js +2 -5
  454. package/extensions/forms/Form/data-context/clearData.js.map +1 -1
  455. package/extensions/forms/Form/data-context/getData.js.map +1 -1
  456. package/extensions/forms/Form/data-context/useData.js +1 -0
  457. package/extensions/forms/Form/data-context/useData.js.map +1 -1
  458. package/extensions/forms/Form/data-context/useValidation.js.map +1 -1
  459. package/extensions/forms/Form/index.d.ts +2 -0
  460. package/extensions/forms/Form/index.js +2 -0
  461. package/extensions/forms/Form/index.js.map +1 -1
  462. package/extensions/forms/Iterate/Array/Array.js +3 -1
  463. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  464. package/extensions/forms/Iterate/Array/ArrayItemArea.js +31 -18
  465. package/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  466. package/extensions/forms/Iterate/EditContainer/EditContainer.js +5 -6
  467. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  468. package/extensions/forms/Iterate/ItemNo/ItemNo.d.ts +9 -0
  469. package/extensions/forms/Iterate/ItemNo/ItemNo.js +23 -0
  470. package/extensions/forms/Iterate/ItemNo/ItemNo.js.map +1 -0
  471. package/extensions/forms/Iterate/ItemNo/index.d.ts +2 -0
  472. package/extensions/forms/Iterate/ItemNo/index.js +3 -0
  473. package/extensions/forms/Iterate/ItemNo/index.js.map +1 -0
  474. package/extensions/forms/Iterate/IterateItemContext.d.ts +1 -0
  475. package/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
  476. package/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +18 -2
  477. package/extensions/forms/Iterate/PushContainer/PushContainer.js +44 -18
  478. package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  479. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +24 -1
  480. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  481. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +5 -6
  482. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  483. package/extensions/forms/Iterate/index.d.ts +1 -0
  484. package/extensions/forms/Iterate/index.js +1 -0
  485. package/extensions/forms/Iterate/index.js.map +1 -1
  486. package/extensions/forms/Tools/Log.d.ts +7 -2
  487. package/extensions/forms/Tools/Log.js +30 -3
  488. package/extensions/forms/Tools/Log.js.map +1 -1
  489. package/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  490. package/extensions/forms/Value/SummaryList/SummaryList.d.ts +4 -2
  491. package/extensions/forms/Value/SummaryList/SummaryList.js +3 -1
  492. package/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  493. package/extensions/forms/Value/SummaryList/SummaryListDocs.js +5 -0
  494. package/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -1
  495. package/extensions/forms/Value/ValueDocs.js +5 -0
  496. package/extensions/forms/Value/ValueDocs.js.map +1 -1
  497. package/extensions/forms/Wizard/Buttons/Buttons.js +2 -2
  498. package/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
  499. package/extensions/forms/Wizard/Container/WizardContainer.js +78 -31
  500. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  501. package/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  502. package/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  503. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +1 -2
  504. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +0 -6
  505. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -1
  506. package/extensions/forms/Wizard/Container/useStepAnimation.d.ts +2 -1
  507. package/extensions/forms/Wizard/Container/useStepAnimation.js +12 -7
  508. package/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -1
  509. package/extensions/forms/Wizard/Context/WizardContext.d.ts +14 -3
  510. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  511. package/extensions/forms/Wizard/Step/Step.js +4 -4
  512. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  513. package/extensions/forms/Wizard/hooks/useStep.js +4 -4
  514. package/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  515. package/extensions/forms/constants/locales/en-GB.d.ts +6 -1
  516. package/extensions/forms/constants/locales/en-GB.js +9 -4
  517. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  518. package/extensions/forms/constants/locales/en-US.d.ts +6 -1
  519. package/extensions/forms/constants/locales/en-US.js +2 -1
  520. package/extensions/forms/constants/locales/en-US.js.map +1 -1
  521. package/extensions/forms/constants/locales/index.d.ts +12 -2
  522. package/extensions/forms/constants/locales/nb-NO.d.ts +6 -1
  523. package/extensions/forms/constants/locales/nb-NO.js +9 -4
  524. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  525. package/extensions/forms/hooks/useDataContext.d.ts +6 -0
  526. package/extensions/forms/hooks/useDataContext.js +25 -0
  527. package/extensions/forms/hooks/useDataContext.js.map +1 -0
  528. package/extensions/forms/hooks/useExternalValue.js +12 -6
  529. package/extensions/forms/hooks/useExternalValue.js.map +1 -1
  530. package/extensions/forms/hooks/useFieldProps.js +83 -44
  531. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  532. package/extensions/forms/hooks/useSnapshot.d.ts +9 -0
  533. package/extensions/forms/hooks/useSnapshot.js +81 -0
  534. package/extensions/forms/hooks/useSnapshot.js.map +1 -0
  535. package/extensions/forms/hooks/useValueProps.js +6 -1
  536. package/extensions/forms/hooks/useValueProps.js.map +1 -1
  537. package/extensions/forms/types.d.ts +4 -0
  538. package/extensions/forms/types.js.map +1 -1
  539. package/extensions/payment-card/style/dnb-payment-card.css +3 -2
  540. package/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  541. package/package.json +1 -1
  542. package/shared/Eufemia.d.ts +1 -1
  543. package/shared/Eufemia.js +2 -2
  544. package/shared/Eufemia.js.map +1 -1
  545. package/shared/component-helper.js +1 -1
  546. package/shared/component-helper.js.map +1 -1
  547. package/style/core/scopes.scss +1 -1
  548. package/style/dnb-ui-basis.css +1 -1
  549. package/style/dnb-ui-basis.min.css +1 -1
  550. package/style/dnb-ui-body.css +1 -1
  551. package/style/dnb-ui-body.min.css +1 -1
  552. package/style/dnb-ui-components.css +3 -1
  553. package/style/dnb-ui-components.min.css +1 -1
  554. package/style/dnb-ui-core.css +1 -1
  555. package/style/dnb-ui-core.min.css +1 -1
  556. package/style/dnb-ui-extensions.css +3 -2
  557. package/style/dnb-ui-extensions.min.css +1 -1
  558. package/style/themes/theme-eiendom/eiendom-theme-components.css +3 -1
  559. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  560. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -2
  561. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  562. package/style/themes/theme-eiendom/properties.d.ts +1 -0
  563. package/style/themes/theme-eiendom/properties.js +3 -2
  564. package/style/themes/theme-eiendom/properties.js.map +1 -1
  565. package/style/themes/theme-sbanken/properties.d.ts +1 -0
  566. package/style/themes/theme-sbanken/properties.js +3 -2
  567. package/style/themes/theme-sbanken/properties.js.map +1 -1
  568. package/style/themes/theme-sbanken/properties.scss +9 -8
  569. package/style/themes/theme-sbanken/sbanken-theme-basis.css +20 -4
  570. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +3 -1
  571. package/style/themes/theme-sbanken/sbanken-theme-components.css +11 -3
  572. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  573. package/style/themes/theme-sbanken/sbanken-theme-elements.css +17 -2
  574. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +3 -1
  575. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -2
  576. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  577. package/style/themes/theme-ui/properties.d.ts +1 -0
  578. package/style/themes/theme-ui/properties.js +3 -2
  579. package/style/themes/theme-ui/properties.js.map +1 -1
  580. package/style/themes/theme-ui/ui-theme-components.css +3 -1
  581. package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  582. package/style/themes/theme-ui/ui-theme-extensions.css +3 -2
  583. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  584. package/umd/dnb-ui-basis.min.js +1 -1
  585. package/umd/dnb-ui-components.min.js +1 -1
  586. package/umd/dnb-ui-elements.min.js +1 -1
  587. package/umd/dnb-ui-extensions.min.js +2 -2
  588. package/umd/dnb-ui-lib.min.js +1 -1
@@ -2,10 +2,12 @@ import React from 'react';
2
2
  import { Ajv } from '../utils/ajv';
3
3
  import { AllJSONSchemaVersions, CustomErrorMessagesWithPaths, SubmitState, Path, EventStateObject, EventReturnWithStateObject, Identifier, FieldProps, FormError, ValueProps, OnChange, OnSubmitParams } from '../types';
4
4
  import { Props as ProviderProps } from './Provider';
5
+ import { SnapshotName } from '../Form/Snapshot';
5
6
  export type MountState = {
6
7
  isPreMounted?: boolean;
7
8
  isMounted?: boolean;
8
9
  isVisible?: boolean;
10
+ isFocused?: boolean;
9
11
  wasStepChange?: boolean;
10
12
  };
11
13
  export type EventListenerCall = {
@@ -96,11 +98,14 @@ export interface ContextState {
96
98
  remove?: boolean;
97
99
  }) => void;
98
100
  setFieldConnection?: (path: Path, connections: FieldConnections) => void;
101
+ isEmptyDataRef?: React.MutableRefObject<boolean>;
99
102
  fieldPropsRef?: React.MutableRefObject<Record<string, FieldProps>>;
100
103
  valuePropsRef?: React.MutableRefObject<Record<string, ValueProps>>;
101
104
  fieldConnectionsRef?: React.RefObject<Record<Path, FieldConnections>>;
102
105
  mountedFieldsRef?: React.MutableRefObject<Record<Path, MountState>>;
106
+ snapshotsRef?: React.MutableRefObject<Map<SnapshotName, Map<Path, unknown>>>;
103
107
  formElementRef?: React.MutableRefObject<HTMLFormElement>;
108
+ fieldErrorRef?: React.MutableRefObject<Record<Path, Error>>;
104
109
  showAllErrors: boolean;
105
110
  hasVisibleError: boolean;
106
111
  formState: SubmitState;
@@ -1 +1 @@
1
- {"version":3,"file":"Context.js","names":["React","makeAjvInstance","defaultContextState","hasContext","data","undefined","schema","submitState","handlePathChange","handlePathChangeUnvalidated","updateDataValue","setData","validateData","handleSubmit","scrollToTop","showAllErrors","hasVisibleError","formState","setFormState","setSubmitState","handleSubmitCall","setShowAllErrors","setMountedFieldState","hasErrors","hasFieldState","hasFieldError","setFieldState","setFieldError","ajvInstance","contextErrorMessages","isInsideFormElement","props","Context","createContext"],"sources":["../../../../../src/extensions/forms/DataContext/Context.ts"],"sourcesContent":["import React from 'react'\nimport { Ajv, makeAjvInstance } from '../utils/ajv'\nimport {\n AllJSONSchemaVersions,\n CustomErrorMessagesWithPaths,\n SubmitState,\n Path,\n EventStateObject,\n EventReturnWithStateObject,\n Identifier,\n FieldProps,\n FormError,\n ValueProps,\n OnChange,\n OnSubmitParams,\n} from '../types'\nimport { Props as ProviderProps } from './Provider'\n\nexport type MountState = {\n isPreMounted?: boolean\n isMounted?: boolean\n isVisible?: boolean\n wasStepChange?: boolean\n}\n\nexport type EventListenerCall = {\n path?: Path\n type?: 'onSubmit' | 'onPathChange' | 'onMount'\n callback: (params?: { value: unknown }) => void | Promise<void | Error>\n}\n\nexport type VisibleDataHandler<Data> = (\n data?: Data,\n options?: VisibleDataOptions\n) => Partial<Data>\nexport type VisibleDataOptions = {\n keepPaths?: Array<Path>\n removePaths?: Array<Path>\n}\nexport type MutateDataHandler<Data> = (\n data: Data,\n mutate: TransformData\n) => Partial<Data>\nexport type FilterDataHandler<Data> = (\n data: Data,\n filter: FilterData\n) => Partial<Data>\nexport type FilterDataHandlerCallback<R> = (\n parameters: FilterDataHandlerParameters\n) => R\nexport type FilterDataHandlerParameters =\n FilterDataPathConditionParameters & {\n path: Path\n }\nexport type FilterDataPathCondition<Data = unknown> = (\n parameters: FilterDataPathConditionParameters<Data>\n) => boolean | undefined\nexport type FilterDataPathConditionParameters<Data = unknown> = {\n value: unknown\n props: FieldProps\n data: Data\n internal: {\n error: Error | undefined\n }\n}\nexport type FilterDataPathObject<Data> = Record<\n Path,\n FilterDataPathCondition<Data> | boolean | undefined\n>\nexport type FilterData<Data = unknown> =\n | FilterDataPathObject<Data>\n | FilterDataHandlerCallback<boolean | undefined>\nexport type VisibleData<Data = unknown> = Partial<Data>\nexport type TransformData = FilterDataHandlerCallback<unknown>\nexport type HandleSubmitCallback = ({\n preventSubmit,\n}: {\n preventSubmit: () => void\n}) => void\nexport type FieldConnections = {\n setEventResult?: (status: EventStateObject) => void\n}\n\nexport interface ContextState {\n id?: Identifier\n hasContext: boolean\n /** The dataset for the form / form wizard */\n data: any\n internalDataRef?: React.MutableRefObject<any>\n /** Should the form validate data before submitting? */\n errors?: Record<string, Error>\n /** Will set autoComplete=\"on\" on each nested Field.String and Field.Number */\n autoComplete?: boolean\n handlePathChange: (\n path: Path,\n value?: any\n ) =>\n | EventReturnWithStateObject\n | unknown\n | Promise<EventReturnWithStateObject | unknown>\n handlePathChangeUnvalidated: (path: Path, value: any) => void\n updateDataValue: (\n path: Path,\n value: any,\n options?: { preventUpdate?: boolean }\n ) => void\n setData: (data: any) => void\n clearData?: () => void\n mutateDataHandler?: MutateDataHandler<unknown>\n filterDataHandler?: FilterDataHandler<unknown>\n visibleDataHandler?: VisibleDataHandler<unknown>\n validateData: () => void\n handleSubmit: () => Promise<EventStateObject | undefined>\n scrollToTop: () => void\n setShowAllErrors: (showAllErrors: boolean) => void\n hasErrors: () => boolean\n hasFieldState: (state: SubmitState) => boolean\n hasFieldError: (path: Path) => boolean\n setFieldState: (path: Path, fieldState: SubmitState) => void\n setFieldError: (path: Path, error: Error | FormError) => void\n setMountedFieldState: (path: Path, options: MountState) => void\n setFormState?: (\n state: SubmitState,\n options?: { keepPending?: boolean }\n ) => void\n setSubmitState?: (state: EventStateObject) => void\n addOnChangeHandler?: (callback: OnChange) => void\n handleSubmitCall: ({\n onSubmit,\n enableAsyncBehavior,\n skipFieldValidation,\n skipErrorCheck,\n }: {\n onSubmit: () =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n enableAsyncBehavior: boolean\n skipFieldValidation?: boolean\n skipErrorCheck?: boolean\n }) => Promise<EventStateObject | undefined>\n getSubmitData?: () => unknown\n getSubmitOptions?: () => OnSubmitParams\n setFieldEventListener?: (\n path: EventListenerCall['path'],\n type: EventListenerCall['type'],\n callback: EventListenerCall['callback']\n ) => void\n setVisibleError?: (path: Path, hasError: boolean) => void\n setFieldProps?: (path: Path, props: unknown) => void\n setValueProps?: (path: Path, props: unknown) => void\n setHandleSubmit?: (\n callback: HandleSubmitCallback,\n params?: { remove?: boolean }\n ) => void\n setFieldConnection?: (path: Path, connections: FieldConnections) => void\n fieldPropsRef?: React.MutableRefObject<Record<string, FieldProps>>\n valuePropsRef?: React.MutableRefObject<Record<string, ValueProps>>\n fieldConnectionsRef?: React.RefObject<Record<Path, FieldConnections>>\n mountedFieldsRef?: React.MutableRefObject<Record<Path, MountState>>\n formElementRef?: React.MutableRefObject<HTMLFormElement>\n showAllErrors: boolean\n hasVisibleError: boolean\n formState: SubmitState\n ajvInstance: Ajv\n contextErrorMessages: CustomErrorMessagesWithPaths\n schema: AllJSONSchemaVersions\n path?: Path\n disabled?: boolean\n required?: boolean\n submitState: Partial<EventStateObject>\n isInsideFormElement?: boolean\n prerenderFieldProps?: boolean\n props: ProviderProps<unknown>\n}\n\nexport const defaultContextState: ContextState = {\n hasContext: false,\n data: undefined,\n schema: undefined,\n submitState: undefined,\n handlePathChange: () => null,\n handlePathChangeUnvalidated: () => null,\n updateDataValue: () => null,\n setData: () => null,\n validateData: () => null,\n handleSubmit: () => null,\n scrollToTop: () => null,\n showAllErrors: false,\n hasVisibleError: false,\n formState: undefined,\n setFormState: () => null,\n setSubmitState: () => null,\n handleSubmitCall: () => null,\n setShowAllErrors: () => null,\n setMountedFieldState: () => null,\n hasErrors: () => false,\n hasFieldState: () => false,\n hasFieldError: () => false,\n setFieldState: () => null,\n setFieldError: () => null,\n ajvInstance: makeAjvInstance(),\n contextErrorMessages: undefined,\n isInsideFormElement: false,\n props: null,\n}\n\nconst Context = React.createContext<ContextState>(defaultContextState)\n\nexport default Context\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAcC,eAAe,QAAQ,cAAc;AA+KnD,OAAO,MAAMC,mBAAiC,GAAG;EAC/CC,UAAU,EAAE,KAAK;EACjBC,IAAI,EAAEC,SAAS;EACfC,MAAM,EAAED,SAAS;EACjBE,WAAW,EAAEF,SAAS;EACtBG,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,2BAA2B,EAAEA,CAAA,KAAM,IAAI;EACvCC,eAAe,EAAEA,CAAA,KAAM,IAAI;EAC3BC,OAAO,EAAEA,CAAA,KAAM,IAAI;EACnBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,WAAW,EAAEA,CAAA,KAAM,IAAI;EACvBC,aAAa,EAAE,KAAK;EACpBC,eAAe,EAAE,KAAK;EACtBC,SAAS,EAAEZ,SAAS;EACpBa,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,cAAc,EAAEA,CAAA,KAAM,IAAI;EAC1BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,oBAAoB,EAAEA,CAAA,KAAM,IAAI;EAChCC,SAAS,EAAEA,CAAA,KAAM,KAAK;EACtBC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,aAAa,EAAEA,CAAA,KAAM,IAAI;EACzBC,aAAa,EAAEA,CAAA,KAAM,IAAI;EACzBC,WAAW,EAAE3B,eAAe,CAAC,CAAC;EAC9B4B,oBAAoB,EAAExB,SAAS;EAC/ByB,mBAAmB,EAAE,KAAK;EAC1BC,KAAK,EAAE;AACT,CAAC;AAED,MAAMC,OAAO,GAAGhC,KAAK,CAACiC,aAAa,CAAe/B,mBAAmB,CAAC;AAEtE,eAAe8B,OAAO"}
1
+ {"version":3,"file":"Context.js","names":["React","makeAjvInstance","defaultContextState","hasContext","data","undefined","schema","submitState","handlePathChange","handlePathChangeUnvalidated","updateDataValue","setData","validateData","handleSubmit","scrollToTop","showAllErrors","hasVisibleError","formState","setFormState","setSubmitState","handleSubmitCall","setShowAllErrors","setMountedFieldState","hasErrors","hasFieldState","hasFieldError","setFieldState","setFieldError","ajvInstance","contextErrorMessages","isInsideFormElement","props","Context","createContext"],"sources":["../../../../../src/extensions/forms/DataContext/Context.ts"],"sourcesContent":["import React from 'react'\nimport { Ajv, makeAjvInstance } from '../utils/ajv'\nimport {\n AllJSONSchemaVersions,\n CustomErrorMessagesWithPaths,\n SubmitState,\n Path,\n EventStateObject,\n EventReturnWithStateObject,\n Identifier,\n FieldProps,\n FormError,\n ValueProps,\n OnChange,\n OnSubmitParams,\n} from '../types'\nimport { Props as ProviderProps } from './Provider'\nimport { SnapshotName } from '../Form/Snapshot'\n\nexport type MountState = {\n isPreMounted?: boolean\n isMounted?: boolean\n isVisible?: boolean\n isFocused?: boolean\n wasStepChange?: boolean\n}\n\nexport type EventListenerCall = {\n path?: Path\n type?: 'onSubmit' | 'onPathChange' | 'onMount'\n callback: (params?: { value: unknown }) => void | Promise<void | Error>\n}\n\nexport type VisibleDataHandler<Data> = (\n data?: Data,\n options?: VisibleDataOptions\n) => Partial<Data>\nexport type VisibleDataOptions = {\n keepPaths?: Array<Path>\n removePaths?: Array<Path>\n}\nexport type MutateDataHandler<Data> = (\n data: Data,\n mutate: TransformData\n) => Partial<Data>\nexport type FilterDataHandler<Data> = (\n data: Data,\n filter: FilterData\n) => Partial<Data>\nexport type FilterDataHandlerCallback<R> = (\n parameters: FilterDataHandlerParameters\n) => R\nexport type FilterDataHandlerParameters =\n FilterDataPathConditionParameters & {\n path: Path\n }\nexport type FilterDataPathCondition<Data = unknown> = (\n parameters: FilterDataPathConditionParameters<Data>\n) => boolean | undefined\nexport type FilterDataPathConditionParameters<Data = unknown> = {\n value: unknown\n props: FieldProps\n data: Data\n internal: {\n error: Error | undefined\n }\n}\nexport type FilterDataPathObject<Data> = Record<\n Path,\n FilterDataPathCondition<Data> | boolean | undefined\n>\nexport type FilterData<Data = unknown> =\n | FilterDataPathObject<Data>\n | FilterDataHandlerCallback<boolean | undefined>\nexport type VisibleData<Data = unknown> = Partial<Data>\nexport type TransformData = FilterDataHandlerCallback<unknown>\nexport type HandleSubmitCallback = ({\n preventSubmit,\n}: {\n preventSubmit: () => void\n}) => void\nexport type FieldConnections = {\n setEventResult?: (status: EventStateObject) => void\n}\n\nexport interface ContextState {\n id?: Identifier\n hasContext: boolean\n /** The dataset for the form / form wizard */\n data: any\n internalDataRef?: React.MutableRefObject<any>\n /** Should the form validate data before submitting? */\n errors?: Record<string, Error>\n /** Will set autoComplete=\"on\" on each nested Field.String and Field.Number */\n autoComplete?: boolean\n handlePathChange: (\n path: Path,\n value?: any\n ) =>\n | EventReturnWithStateObject\n | unknown\n | Promise<EventReturnWithStateObject | unknown>\n handlePathChangeUnvalidated: (path: Path, value: any) => void\n updateDataValue: (\n path: Path,\n value: any,\n options?: { preventUpdate?: boolean }\n ) => void\n setData: (data: any) => void\n clearData?: () => void\n mutateDataHandler?: MutateDataHandler<unknown>\n filterDataHandler?: FilterDataHandler<unknown>\n visibleDataHandler?: VisibleDataHandler<unknown>\n validateData: () => void\n handleSubmit: () => Promise<EventStateObject | undefined>\n scrollToTop: () => void\n setShowAllErrors: (showAllErrors: boolean) => void\n hasErrors: () => boolean\n hasFieldState: (state: SubmitState) => boolean\n hasFieldError: (path: Path) => boolean\n setFieldState: (path: Path, fieldState: SubmitState) => void\n setFieldError: (path: Path, error: Error | FormError) => void\n setMountedFieldState: (path: Path, options: MountState) => void\n setFormState?: (\n state: SubmitState,\n options?: { keepPending?: boolean }\n ) => void\n setSubmitState?: (state: EventStateObject) => void\n addOnChangeHandler?: (callback: OnChange) => void\n handleSubmitCall: ({\n onSubmit,\n enableAsyncBehavior,\n skipFieldValidation,\n skipErrorCheck,\n }: {\n onSubmit: () =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n enableAsyncBehavior: boolean\n skipFieldValidation?: boolean\n skipErrorCheck?: boolean\n }) => Promise<EventStateObject | undefined>\n getSubmitData?: () => unknown\n getSubmitOptions?: () => OnSubmitParams\n setFieldEventListener?: (\n path: EventListenerCall['path'],\n type: EventListenerCall['type'],\n callback: EventListenerCall['callback']\n ) => void\n setVisibleError?: (path: Path, hasError: boolean) => void\n setFieldProps?: (path: Path, props: unknown) => void\n setValueProps?: (path: Path, props: unknown) => void\n setHandleSubmit?: (\n callback: HandleSubmitCallback,\n params?: { remove?: boolean }\n ) => void\n setFieldConnection?: (path: Path, connections: FieldConnections) => void\n isEmptyDataRef?: React.MutableRefObject<boolean>\n fieldPropsRef?: React.MutableRefObject<Record<string, FieldProps>>\n valuePropsRef?: React.MutableRefObject<Record<string, ValueProps>>\n fieldConnectionsRef?: React.RefObject<Record<Path, FieldConnections>>\n mountedFieldsRef?: React.MutableRefObject<Record<Path, MountState>>\n snapshotsRef?: React.MutableRefObject<\n Map<SnapshotName, Map<Path, unknown>>\n >\n formElementRef?: React.MutableRefObject<HTMLFormElement>\n fieldErrorRef?: React.MutableRefObject<Record<Path, Error>>\n showAllErrors: boolean\n hasVisibleError: boolean\n formState: SubmitState\n ajvInstance: Ajv\n contextErrorMessages: CustomErrorMessagesWithPaths\n schema: AllJSONSchemaVersions\n path?: Path\n disabled?: boolean\n required?: boolean\n submitState: Partial<EventStateObject>\n isInsideFormElement?: boolean\n prerenderFieldProps?: boolean\n props: ProviderProps<unknown>\n}\n\nexport const defaultContextState: ContextState = {\n hasContext: false,\n data: undefined,\n schema: undefined,\n submitState: undefined,\n handlePathChange: () => null,\n handlePathChangeUnvalidated: () => null,\n updateDataValue: () => null,\n setData: () => null,\n validateData: () => null,\n handleSubmit: () => null,\n scrollToTop: () => null,\n showAllErrors: false,\n hasVisibleError: false,\n formState: undefined,\n setFormState: () => null,\n setSubmitState: () => null,\n handleSubmitCall: () => null,\n setShowAllErrors: () => null,\n setMountedFieldState: () => null,\n hasErrors: () => false,\n hasFieldState: () => false,\n hasFieldError: () => false,\n setFieldState: () => null,\n setFieldError: () => null,\n ajvInstance: makeAjvInstance(),\n contextErrorMessages: undefined,\n isInsideFormElement: false,\n props: null,\n}\n\nconst Context = React.createContext<ContextState>(defaultContextState)\n\nexport default Context\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAcC,eAAe,QAAQ,cAAc;AAsLnD,OAAO,MAAMC,mBAAiC,GAAG;EAC/CC,UAAU,EAAE,KAAK;EACjBC,IAAI,EAAEC,SAAS;EACfC,MAAM,EAAED,SAAS;EACjBE,WAAW,EAAEF,SAAS;EACtBG,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,2BAA2B,EAAEA,CAAA,KAAM,IAAI;EACvCC,eAAe,EAAEA,CAAA,KAAM,IAAI;EAC3BC,OAAO,EAAEA,CAAA,KAAM,IAAI;EACnBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,WAAW,EAAEA,CAAA,KAAM,IAAI;EACvBC,aAAa,EAAE,KAAK;EACpBC,eAAe,EAAE,KAAK;EACtBC,SAAS,EAAEZ,SAAS;EACpBa,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,cAAc,EAAEA,CAAA,KAAM,IAAI;EAC1BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,oBAAoB,EAAEA,CAAA,KAAM,IAAI;EAChCC,SAAS,EAAEA,CAAA,KAAM,KAAK;EACtBC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,aAAa,EAAEA,CAAA,KAAM,IAAI;EACzBC,aAAa,EAAEA,CAAA,KAAM,IAAI;EACzBC,WAAW,EAAE3B,eAAe,CAAC,CAAC;EAC9B4B,oBAAoB,EAAExB,SAAS;EAC/ByB,mBAAmB,EAAE,KAAK;EAC1BC,KAAK,EAAE;AACT,CAAC;AAED,MAAMC,OAAO,GAAGhC,KAAK,CAACiC,aAAa,CAAe/B,mBAAmB,CAAC;AAEtE,eAAe8B,OAAO"}
@@ -4,7 +4,18 @@ import { Ajv } from '../../utils/ajv';
4
4
  import { CustomErrorMessagesWithPaths, AllJSONSchemaVersions, Path, OnSubmit, OnChange, EventReturnWithStateObject } from '../../types';
5
5
  import type { IsolationProviderProps } from '../../Form/Isolation/Isolation';
6
6
  import { ContextProps } from '../../../../shared/Context';
7
- import { FilterData, TransformData } from '../Context';
7
+ import { ContextState, FilterData, FilterDataHandler, TransformData, VisibleDataHandler } from '../Context';
8
+ export type SharedAttachments<Data = unknown> = {
9
+ visibleDataHandler?: VisibleDataHandler<Data>;
10
+ filterDataHandler?: FilterDataHandler<Data>;
11
+ hasErrors?: ContextState['hasErrors'];
12
+ hasFieldError?: ContextState['hasFieldError'];
13
+ setShowAllErrors?: ContextState['setShowAllErrors'];
14
+ setSubmitState?: ContextState['setSubmitState'];
15
+ rerenderUseDataHook?: () => void;
16
+ clearData?: () => void;
17
+ fieldConnectionsRef?: ContextState['fieldConnectionsRef'];
18
+ };
8
19
  export interface Props<Data extends JsonObject> extends IsolationProviderProps<Data> {
9
20
  /**
10
21
  * Unique ID to communicate with the hook Form.useData
@@ -19,7 +19,7 @@ import structuredClone from '@ungap/structured-clone';
19
19
  const useLayoutEffect = typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect;
20
20
  const isArrayJsonPointer = /^\/\d+(\/|$)/;
21
21
  export default function Provider(props) {
22
- var _sharedAttachments$da, _sharedData$data3;
22
+ var _sharedAttachments$da;
23
23
  const [, forceUpdate] = useReducer(() => ({}), {});
24
24
  const {
25
25
  id,
@@ -64,6 +64,10 @@ export default function Provider(props) {
64
64
  const translation = useTranslation().Field;
65
65
  const ajvRef = useRef(makeAjvInstance(ajvInstance));
66
66
  const mountedFieldsRef = useRef({});
67
+ const snapshotsRef = useRef();
68
+ if (!snapshotsRef.current) {
69
+ snapshotsRef.current = new Map();
70
+ }
67
71
  const hasVisibleErrorRef = useRef({});
68
72
  const errorsRef = useRef();
69
73
  const showAllErrorsRef = useRef(false);
@@ -107,6 +111,7 @@ export default function Provider(props) {
107
111
  return data !== null && data !== void 0 ? data : defaultData;
108
112
  }, []);
109
113
  const internalDataRef = useRef(initialData);
114
+ const isEmptyDataRef = useRef(false);
110
115
  const ajvValidatorRef = useRef();
111
116
  const executeAjvValidator = useCallback(() => {
112
117
  var _ajvValidatorRef$curr;
@@ -313,6 +318,7 @@ export default function Provider(props) {
313
318
  }, []);
314
319
  const sharedData = useSharedState(id);
315
320
  const sharedAttachments = useSharedState(id + '-attachments');
321
+ const sharedDataContext = useSharedState(id + '-data-context');
316
322
  const setSharedData = sharedData.set;
317
323
  const extendSharedData = sharedData.extend;
318
324
  const extendAttachment = sharedAttachments.extend;
@@ -328,34 +334,38 @@ export default function Provider(props) {
328
334
  sharedData.update(initialData);
329
335
  }
330
336
  if (id && initialData && sharedData.data && cacheRef.current.shared === sharedData.data && internalDataRef.current === initialData && typeof internalDataRef.current === 'object') {
331
- return _objectSpread(_objectSpread({}, internalDataRef.current), sharedData.data);
337
+ return _objectSpread(_objectSpread({}, internalDataRef.current), sharedData.data || {});
332
338
  }
333
339
  if (id && !initialData && !internalDataRef.current && sharedData.data && cacheRef.current.shared === sharedData.data) {
334
340
  return sharedData.data;
335
341
  }
336
342
  if (id && sharedData.data && cacheRef.current.shared !== sharedData.data && sharedData.data !== internalDataRef.current && typeof internalDataRef.current === 'object') {
337
- var _sharedData$data;
338
343
  cacheRef.current.shared = sharedData.data;
339
- if ((_sharedData$data = sharedData.data) !== null && _sharedData$data !== void 0 && _sharedData$data.clearForm) {
340
- const clear = cacheRef.current.shared = clearedData;
341
- setSharedData(clear);
342
- return clear;
344
+ if (isEmptyDataRef.current) {
345
+ return Array.isArray(internalDataRef.current) ? [] : clearedData;
343
346
  }
344
- return _objectSpread(_objectSpread({}, internalDataRef.current), sharedData.data);
347
+ return _objectSpread(_objectSpread({}, internalDataRef.current), sharedData.data || {});
345
348
  }
346
349
  if (data !== cacheRef.current.data) {
347
350
  cacheRef.current.data = data;
348
351
  return data;
349
352
  }
350
353
  return internalDataRef.current;
351
- }, [id, initialData, sharedData, data, setSharedData]);
354
+ }, [id, initialData, sharedData, data]);
352
355
  internalDataRef.current = props.path && pointer.has(internalData, props.path) ? pointer.get(internalData, props.path) : internalData;
353
- useEffect(() => {
354
- var _sharedData$data2;
355
- if ((_sharedData$data2 = sharedData.data) !== null && _sharedData$data2 !== void 0 && _sharedData$data2.clearForm) {
356
- onClear === null || onClear === void 0 ? void 0 : onClear();
356
+ const clearData = useCallback(() => {
357
+ var _ref4, _requestAnimationFram;
358
+ isEmptyDataRef.current = true;
359
+ internalDataRef.current = (_ref4 = typeof emptyData === 'function' ? emptyData(internalDataRef.current) : emptyData) !== null && _ref4 !== void 0 ? _ref4 : Array.isArray(internalDataRef.current) ? [] : clearedData;
360
+ if (id) {
361
+ setSharedData === null || setSharedData === void 0 ? void 0 : setSharedData(internalDataRef.current);
357
362
  }
358
- }, [onClear, (_sharedData$data3 = sharedData.data) === null || _sharedData$data3 === void 0 ? void 0 : _sharedData$data3.clearForm]);
363
+ forceUpdate();
364
+ onClear === null || onClear === void 0 ? void 0 : onClear();
365
+ (_requestAnimationFram = requestAnimationFrame) === null || _requestAnimationFram === void 0 ? void 0 : _requestAnimationFram(() => {
366
+ isEmptyDataRef.current = false;
367
+ });
368
+ }, [emptyData, id, onClear, setSharedData]);
359
369
  useLayoutEffect(() => {
360
370
  if (id && initialData && !sharedData.data) {
361
371
  extendSharedData === null || extendSharedData === void 0 ? void 0 : extendSharedData(initialData);
@@ -373,13 +383,14 @@ export default function Provider(props) {
373
383
  hasFieldError,
374
384
  setShowAllErrors,
375
385
  setSubmitState,
386
+ clearData,
376
387
  fieldConnectionsRef
377
388
  });
378
389
  if (filterSubmitData) {
379
390
  rerenderUseDataHook === null || rerenderUseDataHook === void 0 ? void 0 : rerenderUseDataHook();
380
391
  }
381
392
  }
382
- }, [extendAttachment, visibleDataHandler, filterDataHandler, filterSubmitData, hasErrors, hasFieldError, id, rerenderUseDataHook, setShowAllErrors, setSubmitState]);
393
+ }, [extendAttachment, visibleDataHandler, filterDataHandler, filterSubmitData, hasErrors, hasFieldError, id, rerenderUseDataHook, setShowAllErrors, setSubmitState, clearData]);
383
394
  const storeInSession = useMemo(() => {
384
395
  return debounce(() => {
385
396
  var _window$sessionStorag2;
@@ -512,15 +523,6 @@ export default function Provider(props) {
512
523
  });
513
524
  }
514
525
  }, []);
515
- const clearData = useCallback(() => {
516
- internalDataRef.current = emptyData !== null && emptyData !== void 0 ? emptyData : clearedData;
517
- if (id) {
518
- setSharedData === null || setSharedData === void 0 ? void 0 : setSharedData(internalDataRef.current);
519
- } else {
520
- forceUpdate();
521
- }
522
- onClear === null || onClear === void 0 ? void 0 : onClear();
523
- }, [emptyData, id, onClear, setSharedData]);
524
526
  const handleSubmitCall = useCallback(async args => {
525
527
  const {
526
528
  onSubmit,
@@ -687,12 +689,12 @@ export default function Provider(props) {
687
689
  }, [getSubmitData, getSubmitOptions, handleSubmitCall, handleSubmitListeners, onSubmit, onSubmitComplete, scrollToTop, scrollTopOnSubmit]);
688
690
  const fieldEventListenersRef = useRef([]);
689
691
  const setFieldEventListener = useCallback((path, type, callback) => {
690
- fieldEventListenersRef.current = fieldEventListenersRef.current.filter(_ref4 => {
692
+ fieldEventListenersRef.current = fieldEventListenersRef.current.filter(_ref5 => {
691
693
  let {
692
694
  path: p,
693
695
  type: t,
694
696
  callback: c
695
- } = _ref4;
697
+ } = _ref5;
696
698
  return !(p === path && t === type && c === callback);
697
699
  });
698
700
  fieldEventListenersRef.current.push({
@@ -743,58 +745,65 @@ export default function Provider(props) {
743
745
  });
744
746
  const submitState = submitStateRef.current;
745
747
  const disabled = typeof (rest === null || rest === void 0 ? void 0 : rest['disabled']) === 'boolean' ? rest === null || rest === void 0 ? void 0 : rest['disabled'] : formState === 'pending' === true ? true : undefined;
748
+ const contextValue = _objectSpread({
749
+ handlePathChange,
750
+ handlePathChangeUnvalidated,
751
+ handleSubmit,
752
+ setMountedFieldState,
753
+ handleSubmitCall,
754
+ setFormState,
755
+ setSubmitState,
756
+ setShowAllErrors,
757
+ setVisibleError,
758
+ setFieldEventListener,
759
+ setFieldState,
760
+ setFieldError,
761
+ setFieldConnection,
762
+ setFieldProps,
763
+ setValueProps,
764
+ hasErrors,
765
+ hasFieldError,
766
+ hasFieldState,
767
+ validateData,
768
+ updateDataValue,
769
+ setData,
770
+ clearData,
771
+ visibleDataHandler,
772
+ filterDataHandler,
773
+ getSubmitData,
774
+ getSubmitOptions,
775
+ addOnChangeHandler,
776
+ setHandleSubmit,
777
+ scrollToTop,
778
+ schema,
779
+ disabled,
780
+ required,
781
+ formState,
782
+ submitState,
783
+ contextErrorMessages,
784
+ hasContext: true,
785
+ errors: errorsRef.current,
786
+ showAllErrors: showAllErrorsRef.current,
787
+ hasVisibleError: Object.keys(hasVisibleErrorRef.current).length > 0,
788
+ fieldConnectionsRef,
789
+ fieldPropsRef,
790
+ valuePropsRef,
791
+ mountedFieldsRef,
792
+ snapshotsRef,
793
+ formElementRef,
794
+ isEmptyDataRef,
795
+ fieldErrorRef,
796
+ ajvInstance: ajvRef.current,
797
+ id,
798
+ data: internalDataRef.current,
799
+ internalDataRef,
800
+ props
801
+ }, rest);
802
+ if (id) {
803
+ sharedDataContext.set(contextValue);
804
+ }
746
805
  return React.createElement(Context.Provider, {
747
- value: _objectSpread({
748
- handlePathChange,
749
- handlePathChangeUnvalidated,
750
- handleSubmit,
751
- setMountedFieldState,
752
- handleSubmitCall,
753
- setFormState,
754
- setSubmitState,
755
- setShowAllErrors,
756
- setVisibleError,
757
- setFieldEventListener,
758
- setFieldState,
759
- setFieldError,
760
- setFieldConnection,
761
- setFieldProps,
762
- setValueProps,
763
- hasErrors,
764
- hasFieldError,
765
- hasFieldState,
766
- validateData,
767
- updateDataValue,
768
- setData,
769
- clearData,
770
- visibleDataHandler,
771
- filterDataHandler,
772
- getSubmitData,
773
- getSubmitOptions,
774
- addOnChangeHandler,
775
- setHandleSubmit,
776
- scrollToTop,
777
- schema,
778
- disabled,
779
- required,
780
- formState,
781
- submitState,
782
- contextErrorMessages,
783
- hasContext: true,
784
- errors: errorsRef.current,
785
- showAllErrors: showAllErrorsRef.current,
786
- hasVisibleError: Object.keys(hasVisibleErrorRef.current).length > 0,
787
- fieldConnectionsRef,
788
- fieldPropsRef,
789
- valuePropsRef,
790
- mountedFieldsRef,
791
- formElementRef,
792
- ajvInstance: ajvRef.current,
793
- id,
794
- data: internalDataRef.current,
795
- internalDataRef,
796
- props
797
- }, rest)
806
+ value: contextValue
798
807
  }, React.createElement(FieldPropsProvider, {
799
808
  FormStatus: globalStatusId ? {
800
809
  globalStatus: {