@dnb/eufemia 10.49.0 → 10.50.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 (507) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/cjs/components/breadcrumb/BreadcrumbItem.d.ts +1 -1
  3. package/cjs/components/breadcrumb/BreadcrumbItem.js +3 -3
  4. package/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  5. package/cjs/components/breadcrumb/BreadcrumbMultiple.js +2 -2
  6. package/cjs/components/breadcrumb/BreadcrumbMultiple.js.map +1 -1
  7. package/cjs/components/checkbox/CheckboxDocs.js +1 -1
  8. package/cjs/components/checkbox/CheckboxDocs.js.map +1 -1
  9. package/cjs/elements/ElementDocs.d.ts +2 -0
  10. package/cjs/elements/ElementDocs.js +35 -0
  11. package/cjs/elements/ElementDocs.js.map +1 -0
  12. package/cjs/elements/blockquote/BlockquoteDocs.d.ts +2 -0
  13. package/cjs/elements/blockquote/BlockquoteDocs.js +25 -0
  14. package/cjs/elements/blockquote/BlockquoteDocs.js.map +1 -0
  15. package/cjs/elements/hr/HrDocs.d.ts +2 -0
  16. package/cjs/elements/hr/HrDocs.js +25 -0
  17. package/cjs/elements/hr/HrDocs.js.map +1 -0
  18. package/cjs/elements/img/ImgDocs.d.ts +2 -0
  19. package/cjs/elements/img/ImgDocs.js +40 -0
  20. package/cjs/elements/img/ImgDocs.js.map +1 -0
  21. package/cjs/elements/lists/DlDocs.d.ts +2 -0
  22. package/cjs/elements/lists/DlDocs.js +21 -0
  23. package/cjs/elements/lists/DlDocs.js.map +1 -0
  24. package/cjs/elements/lists/OlDocs.d.ts +2 -0
  25. package/cjs/elements/lists/OlDocs.js +31 -0
  26. package/cjs/elements/lists/OlDocs.js.map +1 -0
  27. package/cjs/elements/lists/UlDocs.d.ts +2 -0
  28. package/cjs/elements/lists/UlDocs.js +31 -0
  29. package/cjs/elements/lists/UlDocs.js.map +1 -0
  30. package/cjs/elements/typography/IngressDocs.d.ts +2 -0
  31. package/cjs/elements/typography/IngressDocs.js +15 -0
  32. package/cjs/elements/typography/IngressDocs.js.map +1 -0
  33. package/cjs/elements/typography/LeadDocs.d.ts +2 -0
  34. package/cjs/elements/typography/LeadDocs.js +15 -0
  35. package/cjs/elements/typography/LeadDocs.js.map +1 -0
  36. package/cjs/elements/typography/PDocs.d.ts +2 -0
  37. package/cjs/elements/typography/PDocs.js +40 -0
  38. package/cjs/elements/typography/PDocs.js.map +1 -0
  39. package/cjs/extensions/forms/DataContext/Context.d.ts +18 -7
  40. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  41. package/cjs/extensions/forms/DataContext/Provider/Provider.js +63 -26
  42. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  43. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  44. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  45. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +34 -5
  46. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  47. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +5 -4
  48. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +6 -3
  49. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  50. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +1 -0
  51. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +65 -2
  52. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
  53. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +10 -5
  54. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +59 -32
  55. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  56. package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +5 -0
  57. package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
  58. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +1 -1
  59. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  60. package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  61. package/cjs/extensions/forms/Form/Handler/Handler.js +3 -1
  62. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  63. package/cjs/extensions/forms/Form/Isolation/Isolation.js +10 -2
  64. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  65. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +0 -2
  66. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  67. package/cjs/extensions/forms/Form/Visibility/Visibility.js +9 -3
  68. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  69. package/cjs/extensions/forms/Form/Visibility/VisibilityContext.d.ts +6 -0
  70. package/cjs/extensions/forms/Form/Visibility/VisibilityContext.js +12 -0
  71. package/cjs/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -0
  72. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  73. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  74. package/cjs/extensions/forms/Form/Visibility/useVisibility.js +3 -3
  75. package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  76. package/cjs/extensions/forms/Form/data-context/getData.d.ts +2 -1
  77. package/cjs/extensions/forms/Form/data-context/getData.js +6 -1
  78. package/cjs/extensions/forms/Form/data-context/getData.js.map +1 -1
  79. package/cjs/extensions/forms/Form/data-context/useData.d.ts +4 -1
  80. package/cjs/extensions/forms/Form/data-context/useData.js +32 -9
  81. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
  82. package/cjs/extensions/forms/Iterate/Array/Array.js +28 -11
  83. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  84. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js +5 -0
  85. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  86. package/cjs/extensions/forms/Iterate/Array/types.d.ts +1 -0
  87. package/cjs/extensions/forms/Iterate/Array/types.js.map +1 -1
  88. package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js +19 -7
  89. package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  90. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +2 -2
  91. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  92. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js +11 -1
  93. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  94. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +30 -10
  95. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  96. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +2 -2
  97. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  98. package/cjs/extensions/forms/Iterate/hooks/index.d.ts +1 -0
  99. package/cjs/extensions/forms/Iterate/hooks/index.js +7 -0
  100. package/cjs/extensions/forms/Iterate/hooks/index.js.map +1 -1
  101. package/cjs/extensions/forms/Iterate/hooks/useArrayLimit.d.ts +15 -0
  102. package/cjs/extensions/forms/Iterate/hooks/useArrayLimit.js +50 -0
  103. package/cjs/extensions/forms/Iterate/hooks/useArrayLimit.js.map +1 -0
  104. package/cjs/extensions/forms/Tools/Log.js +1 -1
  105. package/cjs/extensions/forms/Tools/Log.js.map +1 -1
  106. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +12 -0
  107. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js +27 -10
  108. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
  109. package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +10 -0
  110. package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
  111. package/cjs/extensions/forms/Value/Number/Number.js +3 -2
  112. package/cjs/extensions/forms/Value/Number/Number.js.map +1 -1
  113. package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +1 -0
  114. package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.js +7 -23
  115. package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -1
  116. package/cjs/extensions/forms/Value/SelectCountry/useCountry.d.ts +4 -0
  117. package/cjs/extensions/forms/Value/SelectCountry/useCountry.js +33 -0
  118. package/cjs/extensions/forms/Value/SelectCountry/useCountry.js.map +1 -0
  119. package/cjs/extensions/forms/Value/Selection/Selection.js +2 -1
  120. package/cjs/extensions/forms/Value/Selection/Selection.js.map +1 -1
  121. package/cjs/extensions/forms/Value/ValueDocs.js +5 -0
  122. package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -1
  123. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +8 -6
  124. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  125. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +4 -2
  126. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +40 -22
  127. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  128. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +10 -0
  129. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -1
  130. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +72 -70
  131. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
  132. package/cjs/extensions/forms/constants/countries.d.ts +1 -0
  133. package/cjs/extensions/forms/constants/countries.js.map +1 -1
  134. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +5 -4
  135. package/cjs/extensions/forms/constants/locales/en-GB.js +8 -7
  136. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  137. package/cjs/extensions/forms/constants/locales/en-US.d.ts +5 -4
  138. package/cjs/extensions/forms/constants/locales/index.d.ts +10 -8
  139. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +5 -4
  140. package/cjs/extensions/forms/constants/locales/nb-NO.js +8 -7
  141. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  142. package/cjs/extensions/forms/hooks/DataValueDocs.js +1 -1
  143. package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  144. package/cjs/extensions/forms/hooks/useFieldProps.js +138 -46
  145. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  146. package/cjs/extensions/forms/hooks/useValueProps.js +31 -8
  147. package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
  148. package/cjs/extensions/forms/types.d.ts +13 -6
  149. package/cjs/extensions/forms/types.js.map +1 -1
  150. package/cjs/shared/Eufemia.d.ts +1 -1
  151. package/cjs/shared/Eufemia.js +2 -2
  152. package/cjs/shared/Eufemia.js.map +1 -1
  153. package/cjs/shared/locales/en-GB.js.map +1 -1
  154. package/cjs/shared/locales/en-US.d.ts +1 -1
  155. package/cjs/shared/locales/en-US.js +2 -2
  156. package/cjs/shared/locales/en-US.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-core.css +1 -1
  163. package/cjs/style/dnb-ui-core.min.css +1 -1
  164. package/components/breadcrumb/BreadcrumbItem.d.ts +1 -1
  165. package/components/breadcrumb/BreadcrumbItem.js +3 -3
  166. package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  167. package/components/breadcrumb/BreadcrumbMultiple.js +2 -2
  168. package/components/breadcrumb/BreadcrumbMultiple.js.map +1 -1
  169. package/components/checkbox/CheckboxDocs.js +1 -1
  170. package/components/checkbox/CheckboxDocs.js.map +1 -1
  171. package/elements/ElementDocs.d.ts +2 -0
  172. package/elements/ElementDocs.js +28 -0
  173. package/elements/ElementDocs.js.map +1 -0
  174. package/elements/blockquote/BlockquoteDocs.d.ts +2 -0
  175. package/elements/blockquote/BlockquoteDocs.js +18 -0
  176. package/elements/blockquote/BlockquoteDocs.js.map +1 -0
  177. package/elements/hr/HrDocs.d.ts +2 -0
  178. package/elements/hr/HrDocs.js +18 -0
  179. package/elements/hr/HrDocs.js.map +1 -0
  180. package/elements/img/ImgDocs.d.ts +2 -0
  181. package/elements/img/ImgDocs.js +33 -0
  182. package/elements/img/ImgDocs.js.map +1 -0
  183. package/elements/lists/DlDocs.d.ts +2 -0
  184. package/elements/lists/DlDocs.js +12 -0
  185. package/elements/lists/DlDocs.js.map +1 -0
  186. package/elements/lists/OlDocs.d.ts +2 -0
  187. package/elements/lists/OlDocs.js +22 -0
  188. package/elements/lists/OlDocs.js.map +1 -0
  189. package/elements/lists/UlDocs.d.ts +2 -0
  190. package/elements/lists/UlDocs.js +22 -0
  191. package/elements/lists/UlDocs.js.map +1 -0
  192. package/elements/typography/IngressDocs.d.ts +2 -0
  193. package/elements/typography/IngressDocs.js +6 -0
  194. package/elements/typography/IngressDocs.js.map +1 -0
  195. package/elements/typography/LeadDocs.d.ts +2 -0
  196. package/elements/typography/LeadDocs.js +6 -0
  197. package/elements/typography/LeadDocs.js.map +1 -0
  198. package/elements/typography/PDocs.d.ts +2 -0
  199. package/elements/typography/PDocs.js +33 -0
  200. package/elements/typography/PDocs.js.map +1 -0
  201. package/es/components/breadcrumb/BreadcrumbItem.d.ts +1 -1
  202. package/es/components/breadcrumb/BreadcrumbItem.js +3 -3
  203. package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  204. package/es/components/breadcrumb/BreadcrumbMultiple.js +2 -2
  205. package/es/components/breadcrumb/BreadcrumbMultiple.js.map +1 -1
  206. package/es/components/checkbox/CheckboxDocs.js +1 -1
  207. package/es/components/checkbox/CheckboxDocs.js.map +1 -1
  208. package/es/elements/ElementDocs.d.ts +2 -0
  209. package/es/elements/ElementDocs.js +28 -0
  210. package/es/elements/ElementDocs.js.map +1 -0
  211. package/es/elements/blockquote/BlockquoteDocs.d.ts +2 -0
  212. package/es/elements/blockquote/BlockquoteDocs.js +18 -0
  213. package/es/elements/blockquote/BlockquoteDocs.js.map +1 -0
  214. package/es/elements/hr/HrDocs.d.ts +2 -0
  215. package/es/elements/hr/HrDocs.js +18 -0
  216. package/es/elements/hr/HrDocs.js.map +1 -0
  217. package/es/elements/img/ImgDocs.d.ts +2 -0
  218. package/es/elements/img/ImgDocs.js +33 -0
  219. package/es/elements/img/ImgDocs.js.map +1 -0
  220. package/es/elements/lists/DlDocs.d.ts +2 -0
  221. package/es/elements/lists/DlDocs.js +12 -0
  222. package/es/elements/lists/DlDocs.js.map +1 -0
  223. package/es/elements/lists/OlDocs.d.ts +2 -0
  224. package/es/elements/lists/OlDocs.js +22 -0
  225. package/es/elements/lists/OlDocs.js.map +1 -0
  226. package/es/elements/lists/UlDocs.d.ts +2 -0
  227. package/es/elements/lists/UlDocs.js +22 -0
  228. package/es/elements/lists/UlDocs.js.map +1 -0
  229. package/es/elements/typography/IngressDocs.d.ts +2 -0
  230. package/es/elements/typography/IngressDocs.js +6 -0
  231. package/es/elements/typography/IngressDocs.js.map +1 -0
  232. package/es/elements/typography/LeadDocs.d.ts +2 -0
  233. package/es/elements/typography/LeadDocs.js +6 -0
  234. package/es/elements/typography/LeadDocs.js.map +1 -0
  235. package/es/elements/typography/PDocs.d.ts +2 -0
  236. package/es/elements/typography/PDocs.js +33 -0
  237. package/es/elements/typography/PDocs.js.map +1 -0
  238. package/es/extensions/forms/DataContext/Context.d.ts +18 -7
  239. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  240. package/es/extensions/forms/DataContext/Provider/Provider.js +61 -26
  241. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  242. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  243. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  244. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +35 -6
  245. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  246. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +5 -4
  247. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +7 -4
  248. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  249. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +1 -0
  250. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +63 -1
  251. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
  252. package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +10 -5
  253. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +50 -21
  254. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  255. package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +5 -0
  256. package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
  257. package/es/extensions/forms/FieldBlock/FieldBlock.js +1 -1
  258. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  259. package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  260. package/es/extensions/forms/Form/Handler/Handler.js +3 -1
  261. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  262. package/es/extensions/forms/Form/Isolation/Isolation.js +10 -2
  263. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  264. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +0 -2
  265. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  266. package/es/extensions/forms/Form/Visibility/Visibility.js +9 -3
  267. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  268. package/es/extensions/forms/Form/Visibility/VisibilityContext.d.ts +6 -0
  269. package/es/extensions/forms/Form/Visibility/VisibilityContext.js +6 -0
  270. package/es/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -0
  271. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  272. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  273. package/es/extensions/forms/Form/Visibility/useVisibility.js +3 -3
  274. package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  275. package/es/extensions/forms/Form/data-context/getData.d.ts +2 -1
  276. package/es/extensions/forms/Form/data-context/getData.js +6 -1
  277. package/es/extensions/forms/Form/data-context/getData.js.map +1 -1
  278. package/es/extensions/forms/Form/data-context/useData.d.ts +4 -1
  279. package/es/extensions/forms/Form/data-context/useData.js +31 -9
  280. package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
  281. package/es/extensions/forms/Iterate/Array/Array.js +29 -12
  282. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  283. package/es/extensions/forms/Iterate/Array/ArrayDocs.js +5 -0
  284. package/es/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  285. package/es/extensions/forms/Iterate/Array/types.d.ts +1 -0
  286. package/es/extensions/forms/Iterate/Array/types.js.map +1 -1
  287. package/es/extensions/forms/Iterate/EditContainer/CancelButton.js +15 -5
  288. package/es/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  289. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +2 -2
  290. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  291. package/es/extensions/forms/Iterate/PushButton/PushButton.js +12 -2
  292. package/es/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  293. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +31 -11
  294. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  295. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +2 -2
  296. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  297. package/es/extensions/forms/Iterate/hooks/index.d.ts +1 -0
  298. package/es/extensions/forms/Iterate/hooks/index.js +1 -0
  299. package/es/extensions/forms/Iterate/hooks/index.js.map +1 -1
  300. package/es/extensions/forms/Iterate/hooks/useArrayLimit.d.ts +15 -0
  301. package/es/extensions/forms/Iterate/hooks/useArrayLimit.js +43 -0
  302. package/es/extensions/forms/Iterate/hooks/useArrayLimit.js.map +1 -0
  303. package/es/extensions/forms/Tools/Log.js +1 -1
  304. package/es/extensions/forms/Tools/Log.js.map +1 -1
  305. package/es/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +12 -0
  306. package/es/extensions/forms/Value/ArraySelection/ArraySelection.js +26 -9
  307. package/es/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
  308. package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +10 -0
  309. package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
  310. package/es/extensions/forms/Value/Number/Number.js +3 -2
  311. package/es/extensions/forms/Value/Number/Number.js.map +1 -1
  312. package/es/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +1 -0
  313. package/es/extensions/forms/Value/SelectCountry/SelectCountry.js +7 -22
  314. package/es/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -1
  315. package/es/extensions/forms/Value/SelectCountry/useCountry.d.ts +4 -0
  316. package/es/extensions/forms/Value/SelectCountry/useCountry.js +27 -0
  317. package/es/extensions/forms/Value/SelectCountry/useCountry.js.map +1 -0
  318. package/es/extensions/forms/Value/Selection/Selection.js +2 -1
  319. package/es/extensions/forms/Value/Selection/Selection.js.map +1 -1
  320. package/es/extensions/forms/Value/ValueDocs.js +5 -0
  321. package/es/extensions/forms/Value/ValueDocs.js.map +1 -1
  322. package/es/extensions/forms/ValueBlock/ValueBlock.js +8 -6
  323. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  324. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +4 -2
  325. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +40 -22
  326. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  327. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +10 -0
  328. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -1
  329. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +72 -70
  330. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
  331. package/es/extensions/forms/constants/countries.d.ts +1 -0
  332. package/es/extensions/forms/constants/countries.js.map +1 -1
  333. package/es/extensions/forms/constants/locales/en-GB.d.ts +5 -4
  334. package/es/extensions/forms/constants/locales/en-GB.js +8 -7
  335. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  336. package/es/extensions/forms/constants/locales/en-US.d.ts +5 -4
  337. package/es/extensions/forms/constants/locales/index.d.ts +10 -8
  338. package/es/extensions/forms/constants/locales/nb-NO.d.ts +5 -4
  339. package/es/extensions/forms/constants/locales/nb-NO.js +8 -7
  340. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  341. package/es/extensions/forms/hooks/DataValueDocs.js +1 -1
  342. package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  343. package/es/extensions/forms/hooks/useFieldProps.js +131 -42
  344. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  345. package/es/extensions/forms/hooks/useValueProps.js +32 -9
  346. package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
  347. package/es/extensions/forms/types.d.ts +13 -6
  348. package/es/extensions/forms/types.js.map +1 -1
  349. package/es/shared/Eufemia.d.ts +1 -1
  350. package/es/shared/Eufemia.js +2 -2
  351. package/es/shared/Eufemia.js.map +1 -1
  352. package/es/shared/locales/en-GB.js.map +1 -1
  353. package/es/shared/locales/en-US.d.ts +1 -1
  354. package/es/shared/locales/en-US.js +2 -2
  355. package/es/shared/locales/en-US.js.map +1 -1
  356. package/es/style/core/scopes.scss +1 -1
  357. package/es/style/dnb-ui-basis.css +1 -1
  358. package/es/style/dnb-ui-basis.min.css +1 -1
  359. package/es/style/dnb-ui-body.css +1 -1
  360. package/es/style/dnb-ui-body.min.css +1 -1
  361. package/es/style/dnb-ui-core.css +1 -1
  362. package/es/style/dnb-ui-core.min.css +1 -1
  363. package/esm/dnb-ui-basis.min.mjs +1 -1
  364. package/esm/dnb-ui-components.min.mjs +1 -1
  365. package/esm/dnb-ui-elements.min.mjs +1 -1
  366. package/esm/dnb-ui-extensions.min.mjs +3 -3
  367. package/esm/dnb-ui-lib.min.mjs +1 -1
  368. package/extensions/forms/DataContext/Context.d.ts +18 -7
  369. package/extensions/forms/DataContext/Context.js.map +1 -1
  370. package/extensions/forms/DataContext/Provider/Provider.js +63 -26
  371. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  372. package/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  373. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  374. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +35 -6
  375. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  376. package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +5 -4
  377. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +7 -4
  378. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  379. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +1 -0
  380. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +63 -1
  381. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
  382. package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +10 -5
  383. package/extensions/forms/Field/SelectCountry/SelectCountry.js +59 -33
  384. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  385. package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +5 -0
  386. package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
  387. package/extensions/forms/FieldBlock/FieldBlock.js +1 -1
  388. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  389. package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  390. package/extensions/forms/Form/Handler/Handler.js +3 -1
  391. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  392. package/extensions/forms/Form/Isolation/Isolation.js +10 -2
  393. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  394. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +0 -2
  395. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  396. package/extensions/forms/Form/Visibility/Visibility.js +9 -3
  397. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  398. package/extensions/forms/Form/Visibility/VisibilityContext.d.ts +6 -0
  399. package/extensions/forms/Form/Visibility/VisibilityContext.js +6 -0
  400. package/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -0
  401. package/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  402. package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  403. package/extensions/forms/Form/Visibility/useVisibility.js +3 -3
  404. package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  405. package/extensions/forms/Form/data-context/getData.d.ts +2 -1
  406. package/extensions/forms/Form/data-context/getData.js +6 -1
  407. package/extensions/forms/Form/data-context/getData.js.map +1 -1
  408. package/extensions/forms/Form/data-context/useData.d.ts +4 -1
  409. package/extensions/forms/Form/data-context/useData.js +32 -9
  410. package/extensions/forms/Form/data-context/useData.js.map +1 -1
  411. package/extensions/forms/Iterate/Array/Array.js +29 -12
  412. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  413. package/extensions/forms/Iterate/Array/ArrayDocs.js +5 -0
  414. package/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  415. package/extensions/forms/Iterate/Array/types.d.ts +1 -0
  416. package/extensions/forms/Iterate/Array/types.js.map +1 -1
  417. package/extensions/forms/Iterate/EditContainer/CancelButton.js +18 -7
  418. package/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  419. package/extensions/forms/Iterate/EditContainer/EditContainer.js +2 -2
  420. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  421. package/extensions/forms/Iterate/PushButton/PushButton.js +12 -2
  422. package/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  423. package/extensions/forms/Iterate/PushContainer/PushContainer.js +31 -11
  424. package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  425. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +2 -2
  426. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  427. package/extensions/forms/Iterate/hooks/index.d.ts +1 -0
  428. package/extensions/forms/Iterate/hooks/index.js +1 -0
  429. package/extensions/forms/Iterate/hooks/index.js.map +1 -1
  430. package/extensions/forms/Iterate/hooks/useArrayLimit.d.ts +15 -0
  431. package/extensions/forms/Iterate/hooks/useArrayLimit.js +44 -0
  432. package/extensions/forms/Iterate/hooks/useArrayLimit.js.map +1 -0
  433. package/extensions/forms/Tools/Log.js +1 -1
  434. package/extensions/forms/Tools/Log.js.map +1 -1
  435. package/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +12 -0
  436. package/extensions/forms/Value/ArraySelection/ArraySelection.js +27 -10
  437. package/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
  438. package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +10 -0
  439. package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
  440. package/extensions/forms/Value/Number/Number.js +3 -2
  441. package/extensions/forms/Value/Number/Number.js.map +1 -1
  442. package/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +1 -0
  443. package/extensions/forms/Value/SelectCountry/SelectCountry.js +7 -22
  444. package/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -1
  445. package/extensions/forms/Value/SelectCountry/useCountry.d.ts +4 -0
  446. package/extensions/forms/Value/SelectCountry/useCountry.js +27 -0
  447. package/extensions/forms/Value/SelectCountry/useCountry.js.map +1 -0
  448. package/extensions/forms/Value/Selection/Selection.js +2 -1
  449. package/extensions/forms/Value/Selection/Selection.js.map +1 -1
  450. package/extensions/forms/Value/ValueDocs.js +5 -0
  451. package/extensions/forms/Value/ValueDocs.js.map +1 -1
  452. package/extensions/forms/ValueBlock/ValueBlock.js +8 -6
  453. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  454. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +4 -2
  455. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +40 -22
  456. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  457. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +10 -0
  458. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -1
  459. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +72 -70
  460. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
  461. package/extensions/forms/constants/countries.d.ts +1 -0
  462. package/extensions/forms/constants/countries.js.map +1 -1
  463. package/extensions/forms/constants/locales/en-GB.d.ts +5 -4
  464. package/extensions/forms/constants/locales/en-GB.js +8 -7
  465. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  466. package/extensions/forms/constants/locales/en-US.d.ts +5 -4
  467. package/extensions/forms/constants/locales/index.d.ts +10 -8
  468. package/extensions/forms/constants/locales/nb-NO.d.ts +5 -4
  469. package/extensions/forms/constants/locales/nb-NO.js +8 -7
  470. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  471. package/extensions/forms/hooks/DataValueDocs.js +1 -1
  472. package/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  473. package/extensions/forms/hooks/useFieldProps.js +136 -46
  474. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  475. package/extensions/forms/hooks/useValueProps.js +32 -9
  476. package/extensions/forms/hooks/useValueProps.js.map +1 -1
  477. package/extensions/forms/types.d.ts +13 -6
  478. package/extensions/forms/types.js.map +1 -1
  479. package/package.json +1 -1
  480. package/shared/Eufemia.d.ts +1 -1
  481. package/shared/Eufemia.js +2 -2
  482. package/shared/Eufemia.js.map +1 -1
  483. package/shared/locales/en-GB.js.map +1 -1
  484. package/shared/locales/en-US.d.ts +1 -1
  485. package/shared/locales/en-US.js +2 -2
  486. package/shared/locales/en-US.js.map +1 -1
  487. package/style/core/scopes.scss +1 -1
  488. package/style/dnb-ui-basis.css +1 -1
  489. package/style/dnb-ui-basis.min.css +1 -1
  490. package/style/dnb-ui-body.css +1 -1
  491. package/style/dnb-ui-body.min.css +1 -1
  492. package/style/dnb-ui-core.css +1 -1
  493. package/style/dnb-ui-core.min.css +1 -1
  494. package/umd/dnb-ui-basis.min.js +1 -1
  495. package/umd/dnb-ui-components.min.js +1 -1
  496. package/umd/dnb-ui-elements.min.js +1 -1
  497. package/umd/dnb-ui-extensions.min.js +3 -3
  498. package/umd/dnb-ui-lib.min.js +1 -1
  499. package/cjs/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.d.ts +0 -1
  500. package/cjs/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js +0 -25
  501. package/cjs/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js.map +0 -1
  502. package/es/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.d.ts +0 -1
  503. package/es/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js +0 -19
  504. package/es/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js.map +0 -1
  505. package/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.d.ts +0 -1
  506. package/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js +0 -19
  507. package/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js.map +0 -1
@@ -3,7 +3,7 @@
3
3
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
4
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
5
5
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
- import { useRef, useEffect, useContext, useCallback, useMemo, useReducer } from 'react';
6
+ import React, { useRef, useEffect, useContext, useCallback, useMemo, useReducer } from 'react';
7
7
  import pointer from 'json-pointer';
8
8
  import { errorChanged } from '../utils';
9
9
  import { ajvErrorsToOneFormError } from '../utils/ajv';
@@ -18,6 +18,8 @@ import FieldBlockContext from '../FieldBlock/FieldBlockContext';
18
18
  import IterateElementContext from '../Iterate/IterateItemContext';
19
19
  import SectionContext from '../Form/Section/SectionContext';
20
20
  import FieldBoundaryContext from '../DataContext/FieldBoundary/FieldBoundaryContext';
21
+ import VisibilityContext from '../Form/Visibility/VisibilityContext';
22
+ import WizardContext from '../Wizard/Context';
21
23
  import useProcessManager from './useProcessManager';
22
24
  import usePath from './usePath';
23
25
  import { createSharedState, useSharedState } from '../../../shared/helpers/useSharedState';
@@ -25,6 +27,7 @@ import { isAsync } from '../../../shared/helpers/isAsync';
25
27
  import useTranslation from './useTranslation';
26
28
  import useExternalValue from './useExternalValue';
27
29
  import useDataValue from './useDataValue';
30
+ const useLayoutEffect = typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect;
28
31
  export default function useFieldProps(localeProps) {
29
32
  var _dataContext$props,
30
33
  _useExternalValue,
@@ -70,7 +73,7 @@ export default function useFieldProps(localeProps) {
70
73
  fromInput = value => value,
71
74
  toEvent = value => value,
72
75
  transformValue = value => value,
73
- transformAdditionalArgs = additionalArgs => additionalArgs,
76
+ provideAdditionalArgs = (value, additionalArgs) => additionalArgs,
74
77
  fromExternal = value => value,
75
78
  validateRequired = (value, _ref) => {
76
79
  let {
@@ -96,11 +99,15 @@ export default function useFieldProps(localeProps) {
96
99
  const iterateItemContext = useContext(IterateElementContext);
97
100
  const sectionContext = useContext(SectionContext);
98
101
  const fieldBoundaryContext = useContext(FieldBoundaryContext);
102
+ const wizardContext = useContext(WizardContext);
103
+ const {
104
+ isVisible
105
+ } = useContext(VisibilityContext) || {};
99
106
  const translation = useTranslation();
100
107
  const transformers = useRef({
101
108
  transformIn,
102
109
  transformOut,
103
- transformAdditionalArgs,
110
+ provideAdditionalArgs,
104
111
  toInput,
105
112
  fromInput,
106
113
  toEvent,
@@ -154,6 +161,9 @@ export default function useFieldProps(localeProps) {
154
161
  itemPath
155
162
  });
156
163
  const defaultValueRef = useRef(defaultValue);
164
+ useLayoutEffect(() => {
165
+ defaultValueRef.current = defaultValue;
166
+ }, []);
157
167
  const externalValue = (_useExternalValue = useExternalValue({
158
168
  path,
159
169
  itemPath,
@@ -362,45 +372,57 @@ export default function useFieldProps(localeProps) {
362
372
  return args;
363
373
  }, [contextErrorMessages, getValueByPath, setFieldEventListener]);
364
374
  const extendWithExportedValidators = useCallback((validator, result) => {
365
- if (exportValidatorsRef.current && !result && (validator === onChangeValidatorRef.current || validator === onBlurValidatorRef.current) && !Array.isArray(result)) {
375
+ if (exportValidatorsRef.current && !result && (validator === onChangeValidatorRef.current || validator === onBlurValidatorRef.current)) {
366
376
  return Object.values(exportValidatorsRef.current);
367
377
  }
368
378
  return result;
369
379
  }, []);
380
+ const callStackRef = useRef([]);
381
+ const hasBeenCalledRef = useCallback(validator => {
382
+ const result = callStackRef.current.includes(validator);
383
+ callStackRef.current.push(validator);
384
+ return result;
385
+ }, []);
370
386
  const callValidatorFnSync = useCallback(function (validator) {
371
387
  let value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : valueRef.current;
372
388
  if (typeof validator !== 'function') {
373
- return undefined;
389
+ return;
374
390
  }
375
391
  const result = extendWithExportedValidators(validator, validator(value, additionalArgs));
376
392
  if (Array.isArray(result)) {
377
393
  for (const validator of result) {
378
- const result = callValidatorFnSync(validator, value);
379
- if (result instanceof Error) {
380
- return result;
394
+ if (!hasBeenCalledRef(validator)) {
395
+ const result = callValidatorFnSync(validator, value);
396
+ if (result instanceof Error) {
397
+ return result;
398
+ }
381
399
  }
382
400
  }
383
- return;
401
+ callStackRef.current = [];
402
+ } else {
403
+ return result;
384
404
  }
385
- return result;
386
- }, [additionalArgs, extendWithExportedValidators]);
405
+ }, [additionalArgs, extendWithExportedValidators, hasBeenCalledRef]);
387
406
  const callValidatorFnAsync = useCallback(async function (validator) {
388
407
  let value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : valueRef.current;
389
408
  if (typeof validator !== 'function') {
390
- return undefined;
409
+ return;
391
410
  }
392
411
  const result = extendWithExportedValidators(validator, await validator(value, additionalArgs));
393
412
  if (Array.isArray(result)) {
394
413
  for (const validator of result) {
395
- const result = await callValidatorFnAsync(validator, value);
396
- if (result instanceof Error) {
397
- return result;
414
+ if (!hasBeenCalledRef(validator)) {
415
+ const result = await callValidatorFnAsync(validator, value);
416
+ if (result instanceof Error) {
417
+ return result;
418
+ }
398
419
  }
399
420
  }
400
- return;
421
+ callStackRef.current = [];
422
+ } else {
423
+ return result;
401
424
  }
402
- return result;
403
- }, [additionalArgs, extendWithExportedValidators]);
425
+ }, [additionalArgs, extendWithExportedValidators, hasBeenCalledRef]);
404
426
  const stateId = useId();
405
427
  const persistErrorState = useCallback(function (method) {
406
428
  let errorArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
@@ -648,19 +670,30 @@ export default function useFieldProps(localeProps) {
648
670
  hideError();
649
671
  }
650
672
  }, [continuousValidation, hideError, revealError]);
673
+ const getEventArgs = useCallback(_ref7 => {
674
+ let {
675
+ eventName,
676
+ additionalArgs,
677
+ overrideValue = undefined
678
+ } = _ref7;
679
+ const value = transformers.current.toEvent(overrideValue !== null && overrideValue !== void 0 ? overrideValue : valueRef.current, eventName);
680
+ const args = transformers.current.provideAdditionalArgs(value, additionalArgs);
681
+ if (typeof args !== 'undefined') {
682
+ return [value, args];
683
+ }
684
+ return [value];
685
+ }, []);
651
686
  const setHasFocus = useCallback(async (hasFocus, overrideValue, additionalArgs) => {
652
- const getArgs = type => {
653
- const value = transformers.current.toEvent(overrideValue !== null && overrideValue !== void 0 ? overrideValue : valueRef.current, type);
654
- const transformedAdditionalArgs = transformers.current.transformAdditionalArgs(additionalArgs, value);
655
- return typeof transformedAdditionalArgs !== 'undefined' ? [value, transformedAdditionalArgs] : [value];
656
- };
687
+ const args = getEventArgs({
688
+ eventName: hasFocus ? 'onFocus' : 'onBlur',
689
+ overrideValue,
690
+ additionalArgs
691
+ });
657
692
  if (hasFocus) {
658
693
  hasFocusRef.current = true;
659
- const args = getArgs('onFocus');
660
694
  onFocus === null || onFocus === void 0 ? void 0 : onFocus.apply(this, args);
661
695
  } else {
662
696
  hasFocusRef.current = false;
663
- const args = getArgs('onBlur');
664
697
  onBlur === null || onBlur === void 0 ? void 0 : onBlur.apply(this, args);
665
698
  if (!changedRef.current && !validateUnchanged) {
666
699
  return;
@@ -673,20 +706,20 @@ export default function useFieldProps(localeProps) {
673
706
  forceUpdate();
674
707
  });
675
708
  }
676
- }, [onFocus, onBlur, validateUnchanged, addToPool, runPool, startOnBlurValidatorProcess, revealError]);
677
- const yieldAsyncProcess = useCallback(async _ref7 => {
709
+ }, [getEventArgs, onFocus, onBlur, validateUnchanged, addToPool, runPool, startOnBlurValidatorProcess, revealError]);
710
+ const yieldAsyncProcess = useCallback(async _ref8 => {
678
711
  let {
679
712
  name,
680
713
  waitFor
681
- } = _ref7;
714
+ } = _ref8;
682
715
  return new Promise(resolve => {
683
716
  const validateProcesses = () => {
684
- const result = waitFor.some(_ref8 => {
717
+ const result = waitFor.some(_ref9 => {
685
718
  let {
686
719
  processName,
687
720
  withStates,
688
721
  hasValue
689
- } = _ref8;
722
+ } = _ref9;
690
723
  const hasMatchingValue = hasValue === validatedValue.current;
691
724
  const result = (typeof hasValue === 'undefined' ? false : !hasMatchingValue) || (processName ? processName === asyncProcessRef.current : true) && (withStates === null || withStates === void 0 ? void 0 : withStates.some(state => {
692
725
  return state === fieldStateRef.current;
@@ -797,7 +830,7 @@ export default function useFieldProps(localeProps) {
797
830
  if (fromInput === currentValue) {
798
831
  return;
799
832
  }
800
- const transformedValue = transformers.current.transformOut(transformers.current.transformValue(fromInput, currentValue));
833
+ const transformedValue = transformers.current.transformOut(transformers.current.transformValue(fromInput, currentValue), transformers.current.provideAdditionalArgs(fromInput, additionalArgs));
801
834
  changedRef.current = true;
802
835
  if (itemPath) {
803
836
  handleChangeIterateContext === null || handleChangeIterateContext === void 0 ? void 0 : handleChangeIterateContext(makeIteratePath(itemPath, ''), transformedValue);
@@ -808,14 +841,12 @@ export default function useFieldProps(localeProps) {
808
841
  } else {
809
842
  updateValue(transformedValue);
810
843
  }
811
- const getArgs = () => {
812
- const value = transformers.current.toEvent(valueRef.current, 'onChange');
813
- const transformedAdditionalArgs = transformers.current.transformAdditionalArgs(additionalArgs, value);
814
- return typeof transformedAdditionalArgs !== 'undefined' ? [value, transformedAdditionalArgs] : [value];
815
- };
816
844
  if (isAsync(onChange)) {
817
845
  addToPool('onChangeLocal', async () => {
818
- const args = getArgs();
846
+ const args = getEventArgs({
847
+ eventName: 'onChange',
848
+ additionalArgs
849
+ });
819
850
  await yieldAsyncProcess({
820
851
  name: 'onChangeLocal',
821
852
  waitFor: [{
@@ -840,21 +871,62 @@ export default function useFieldProps(localeProps) {
840
871
  }
841
872
  }, true);
842
873
  } else {
843
- setEventResult(onChange === null || onChange === void 0 ? void 0 : onChange.apply(_this, getArgs()));
874
+ const args = getEventArgs({
875
+ eventName: 'onChange',
876
+ additionalArgs
877
+ });
878
+ setEventResult(onChange === null || onChange === void 0 ? void 0 : onChange.apply(_this, args));
844
879
  }
845
880
  await runPool();
846
- }, [itemPath, asyncBehaviorIsEnabled, onChange, runPool, handleChangeIterateContext, makeIteratePath, hideError, updateValue, addToPool, yieldAsyncProcess, defineAsyncProcess, hasError, setEventResult]);
881
+ }, [itemPath, asyncBehaviorIsEnabled, onChange, runPool, handleChangeIterateContext, makeIteratePath, hideError, updateValue, addToPool, getEventArgs, yieldAsyncProcess, defineAsyncProcess, hasError, setEventResult]);
847
882
  const handleFocus = useCallback(() => setHasFocus(true), [setHasFocus]);
848
883
  const handleBlur = useCallback(() => setHasFocus(false), [setHasFocus]);
849
884
  setPropsDataContext === null || setPropsDataContext === void 0 ? void 0 : setPropsDataContext(identifier, props);
885
+ const {
886
+ activeIndex,
887
+ activeIndexRef
888
+ } = wizardContext || {};
889
+ const activeIndexTmpRef = useRef(activeIndex);
850
890
  useEffect(() => {
891
+ activeIndexTmpRef.current = activeIndex;
892
+ }, [activeIndex]);
893
+ useMemo(() => {
851
894
  setMountedFieldStateDataContext(identifier, {
852
- isMounted: true
895
+ isPreMounted: true
896
+ });
897
+ if (typeof isVisible === 'boolean') {
898
+ setMountedFieldStateDataContext(identifier, {
899
+ isVisible
900
+ });
901
+ }
902
+ }, [setMountedFieldStateDataContext, identifier, isVisible]);
903
+ useEffect(() => {
904
+ if (typeof (activeIndexRef === null || activeIndexRef === void 0 ? void 0 : activeIndexRef.current) === 'number') {
905
+ setMountedFieldStateDataContext(identifier, {
906
+ wasStepChange: false
907
+ });
908
+ return () => {
909
+ const wasStepChange = typeof activeIndex === 'number' && activeIndexRef.current !== activeIndexTmpRef.current;
910
+ setMountedFieldStateDataContext(identifier, {
911
+ wasStepChange
912
+ });
913
+ };
914
+ }
915
+ }, [activeIndex, activeIndexRef, identifier, setMountedFieldStateDataContext]);
916
+ useEffect(() => {
917
+ setMountedFieldStateDataContext(identifier, {
918
+ isMounted: true,
919
+ isPreMounted: true
853
920
  });
854
921
  return () => {
855
922
  setMountedFieldStateDataContext(identifier, {
856
- isMounted: false
923
+ isMounted: false,
924
+ isPreMounted: false
857
925
  });
926
+ };
927
+ }, [identifier, setMountedFieldStateDataContext]);
928
+ useEffect(() => {
929
+ return () => {
858
930
  setFieldErrorDataContext === null || setFieldErrorDataContext === void 0 ? void 0 : setFieldErrorDataContext(identifier, undefined);
859
931
  setFieldErrorBoundary === null || setFieldErrorBoundary === void 0 ? void 0 : setFieldErrorBoundary(identifier, undefined);
860
932
  localErrorRef.current = undefined;
@@ -872,14 +944,23 @@ export default function useFieldProps(localeProps) {
872
944
  var _dataContext$internal, _dataContext$props$em, _dataContext$props2;
873
945
  return ((_dataContext$internal = dataContext.internalDataRef) === null || _dataContext$internal === void 0 ? void 0 : _dataContext$internal.current) === ((_dataContext$props$em = (_dataContext$props2 = dataContext.props) === null || _dataContext$props2 === void 0 ? void 0 : _dataContext$props2.emptyData) !== null && _dataContext$props$em !== void 0 ? _dataContext$props$em : clearedData);
874
946
  }, [dataContext.internalDataRef, (_dataContext$props3 = dataContext.props) === null || _dataContext$props3 === void 0 ? void 0 : _dataContext$props3.emptyData]);
875
- useEffect(() => {
947
+ useLayoutEffect(() => {
876
948
  if (isEmptyData()) {
949
+ changedRef.current = false;
877
950
  hideError();
951
+ clearErrorState();
878
952
  }
879
- }, [externalValue, hideError, isEmptyData]);
880
- useUpdateEffect(() => {
953
+ }, [externalValue, clearErrorState, hideError, isEmptyData]);
954
+ const externalValueDidChangeRef = useRef(false);
955
+ useLayoutEffect(() => {
881
956
  if (valueRef.current !== externalValue) {
882
957
  valueRef.current = externalValue;
958
+ externalValueDidChangeRef.current = true;
959
+ }
960
+ }, [externalValue]);
961
+ useEffect(() => {
962
+ if (externalValueDidChangeRef.current) {
963
+ externalValueDidChangeRef.current = false;
883
964
  validateValue();
884
965
  forceUpdate();
885
966
  }
@@ -905,7 +986,8 @@ export default function useFieldProps(localeProps) {
905
986
  warn(`Using defaultValue="${defaultValue}" prop inside Iterate is not supported yet`);
906
987
  }
907
988
  }, [defaultValue, itemPath, valueProp]);
908
- useEffect(() => {
989
+ const tmpValueRef = useRef({});
990
+ useLayoutEffect(() => {
909
991
  if (hasPath) {
910
992
  let value = valueProp;
911
993
  const hasValue = pointer.has(dataContext.data, identifier) || identifier === '/';
@@ -925,11 +1007,19 @@ export default function useFieldProps(localeProps) {
925
1007
  defaultValueRef.current = undefined;
926
1008
  }
927
1009
  if (!hasValue || value !== existingValue && valueRef.current !== existingValue) {
1010
+ if (identifier in tmpValueRef.current && tmpValueRef.current[identifier] === value) {
1011
+ return;
1012
+ }
1013
+ const transformedValue = transformers.current.transformOut(value, transformers.current.provideAdditionalArgs(value));
1014
+ if (transformedValue !== value) {
1015
+ tmpValueRef.current[identifier] = value;
1016
+ value = transformedValue;
1017
+ }
928
1018
  updateDataValueDataContext === null || updateDataValueDataContext === void 0 ? void 0 : updateDataValueDataContext(identifier, value);
929
1019
  validateDataDataContext === null || validateDataDataContext === void 0 ? void 0 : validateDataDataContext();
930
1020
  }
931
1021
  }
932
- }, [dataContext.data, dataContext.id, defaultValue, hasPath, identifier, updateDataValueDataContext, validateDataDataContext, valueProp]);
1022
+ }, [dataContext.data, dataContext.id, hasPath, identifier, updateDataValueDataContext, validateDataDataContext, valueProp]);
933
1023
  useEffect(() => {
934
1024
  if (showAllErrors || showBoundaryErrors) {
935
1025
  if (fieldStateRef.current !== 'validating') {