@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
  executeOnChangeRegardlessOfError = false
30
33
  } = {}) {
@@ -61,7 +64,7 @@ export default function useFieldProps(localeProps, {
61
64
  fromInput = value => value,
62
65
  toEvent = value => value,
63
66
  transformValue = value => value,
64
- transformAdditionalArgs = additionalArgs => additionalArgs,
67
+ provideAdditionalArgs = (value, additionalArgs) => additionalArgs,
65
68
  fromExternal = value => value,
66
69
  validateRequired = (value, {
67
70
  emptyValue,
@@ -86,11 +89,15 @@ export default function useFieldProps(localeProps, {
86
89
  const iterateItemContext = useContext(IterateElementContext);
87
90
  const sectionContext = useContext(SectionContext);
88
91
  const fieldBoundaryContext = useContext(FieldBoundaryContext);
92
+ const wizardContext = useContext(WizardContext);
93
+ const {
94
+ isVisible
95
+ } = useContext(VisibilityContext) || {};
89
96
  const translation = useTranslation();
90
97
  const transformers = useRef({
91
98
  transformIn,
92
99
  transformOut,
93
- transformAdditionalArgs,
100
+ provideAdditionalArgs,
94
101
  toInput,
95
102
  fromInput,
96
103
  toEvent,
@@ -144,6 +151,9 @@ export default function useFieldProps(localeProps, {
144
151
  itemPath
145
152
  });
146
153
  const defaultValueRef = useRef(defaultValue);
154
+ useLayoutEffect(() => {
155
+ defaultValueRef.current = defaultValue;
156
+ }, []);
147
157
  const externalValue = (_useExternalValue = useExternalValue({
148
158
  path,
149
159
  itemPath,
@@ -350,43 +360,55 @@ export default function useFieldProps(localeProps, {
350
360
  return args;
351
361
  }, [contextErrorMessages, getValueByPath, setFieldEventListener]);
352
362
  const extendWithExportedValidators = useCallback((validator, result) => {
353
- if (exportValidatorsRef.current && !result && (validator === onChangeValidatorRef.current || validator === onBlurValidatorRef.current) && !Array.isArray(result)) {
363
+ if (exportValidatorsRef.current && !result && (validator === onChangeValidatorRef.current || validator === onBlurValidatorRef.current)) {
354
364
  return Object.values(exportValidatorsRef.current);
355
365
  }
356
366
  return result;
357
367
  }, []);
368
+ const callStackRef = useRef([]);
369
+ const hasBeenCalledRef = useCallback(validator => {
370
+ const result = callStackRef.current.includes(validator);
371
+ callStackRef.current.push(validator);
372
+ return result;
373
+ }, []);
358
374
  const callValidatorFnSync = useCallback((validator, value = valueRef.current) => {
359
375
  if (typeof validator !== 'function') {
360
- return undefined;
376
+ return;
361
377
  }
362
378
  const result = extendWithExportedValidators(validator, validator(value, additionalArgs));
363
379
  if (Array.isArray(result)) {
364
380
  for (const validator of result) {
365
- const result = callValidatorFnSync(validator, value);
366
- if (result instanceof Error) {
367
- return result;
381
+ if (!hasBeenCalledRef(validator)) {
382
+ const result = callValidatorFnSync(validator, value);
383
+ if (result instanceof Error) {
384
+ return result;
385
+ }
368
386
  }
369
387
  }
370
- return;
388
+ callStackRef.current = [];
389
+ } else {
390
+ return result;
371
391
  }
372
- return result;
373
- }, [additionalArgs, extendWithExportedValidators]);
392
+ }, [additionalArgs, extendWithExportedValidators, hasBeenCalledRef]);
374
393
  const callValidatorFnAsync = useCallback(async (validator, value = valueRef.current) => {
375
394
  if (typeof validator !== 'function') {
376
- return undefined;
395
+ return;
377
396
  }
378
397
  const result = extendWithExportedValidators(validator, await validator(value, additionalArgs));
379
398
  if (Array.isArray(result)) {
380
399
  for (const validator of result) {
381
- const result = await callValidatorFnAsync(validator, value);
382
- if (result instanceof Error) {
383
- return result;
400
+ if (!hasBeenCalledRef(validator)) {
401
+ const result = await callValidatorFnAsync(validator, value);
402
+ if (result instanceof Error) {
403
+ return result;
404
+ }
384
405
  }
385
406
  }
386
- return;
407
+ callStackRef.current = [];
408
+ } else {
409
+ return result;
387
410
  }
388
- return result;
389
- }, [additionalArgs, extendWithExportedValidators]);
411
+ }, [additionalArgs, extendWithExportedValidators, hasBeenCalledRef]);
390
412
  const stateId = useId();
391
413
  const persistErrorState = useCallback((method, errorArg = undefined) => {
392
414
  const error = prepareError(errorArg);
@@ -629,19 +651,29 @@ export default function useFieldProps(localeProps, {
629
651
  hideError();
630
652
  }
631
653
  }, [continuousValidation, hideError, revealError]);
654
+ const getEventArgs = useCallback(({
655
+ eventName,
656
+ additionalArgs,
657
+ overrideValue = undefined
658
+ }) => {
659
+ const value = transformers.current.toEvent(overrideValue !== null && overrideValue !== void 0 ? overrideValue : valueRef.current, eventName);
660
+ const args = transformers.current.provideAdditionalArgs(value, additionalArgs);
661
+ if (typeof args !== 'undefined') {
662
+ return [value, args];
663
+ }
664
+ return [value];
665
+ }, []);
632
666
  const setHasFocus = useCallback(async (hasFocus, overrideValue, additionalArgs) => {
633
- const getArgs = type => {
634
- const value = transformers.current.toEvent(overrideValue !== null && overrideValue !== void 0 ? overrideValue : valueRef.current, type);
635
- const transformedAdditionalArgs = transformers.current.transformAdditionalArgs(additionalArgs, value);
636
- return typeof transformedAdditionalArgs !== 'undefined' ? [value, transformedAdditionalArgs] : [value];
637
- };
667
+ const args = getEventArgs({
668
+ eventName: hasFocus ? 'onFocus' : 'onBlur',
669
+ overrideValue,
670
+ additionalArgs
671
+ });
638
672
  if (hasFocus) {
639
673
  hasFocusRef.current = true;
640
- const args = getArgs('onFocus');
641
674
  onFocus === null || onFocus === void 0 ? void 0 : onFocus.apply(this, args);
642
675
  } else {
643
676
  hasFocusRef.current = false;
644
- const args = getArgs('onBlur');
645
677
  onBlur === null || onBlur === void 0 ? void 0 : onBlur.apply(this, args);
646
678
  if (!changedRef.current && !validateUnchanged) {
647
679
  return;
@@ -654,7 +686,7 @@ export default function useFieldProps(localeProps, {
654
686
  forceUpdate();
655
687
  });
656
688
  }
657
- }, [onFocus, onBlur, validateUnchanged, addToPool, runPool, startOnBlurValidatorProcess, revealError]);
689
+ }, [getEventArgs, onFocus, onBlur, validateUnchanged, addToPool, runPool, startOnBlurValidatorProcess, revealError]);
658
690
  const yieldAsyncProcess = useCallback(async ({
659
691
  name,
660
692
  waitFor
@@ -775,7 +807,7 @@ export default function useFieldProps(localeProps, {
775
807
  if (fromInput === currentValue) {
776
808
  return;
777
809
  }
778
- const transformedValue = transformers.current.transformOut(transformers.current.transformValue(fromInput, currentValue));
810
+ const transformedValue = transformers.current.transformOut(transformers.current.transformValue(fromInput, currentValue), transformers.current.provideAdditionalArgs(fromInput, additionalArgs));
779
811
  changedRef.current = true;
780
812
  if (itemPath) {
781
813
  handleChangeIterateContext === null || handleChangeIterateContext === void 0 ? void 0 : handleChangeIterateContext(makeIteratePath(itemPath, ''), transformedValue);
@@ -786,14 +818,12 @@ export default function useFieldProps(localeProps, {
786
818
  } else {
787
819
  updateValue(transformedValue);
788
820
  }
789
- const getArgs = () => {
790
- const value = transformers.current.toEvent(valueRef.current, 'onChange');
791
- const transformedAdditionalArgs = transformers.current.transformAdditionalArgs(additionalArgs, value);
792
- return typeof transformedAdditionalArgs !== 'undefined' ? [value, transformedAdditionalArgs] : [value];
793
- };
794
821
  if (isAsync(onChange)) {
795
822
  addToPool('onChangeLocal', async () => {
796
- const args = getArgs();
823
+ const args = getEventArgs({
824
+ eventName: 'onChange',
825
+ additionalArgs
826
+ });
797
827
  await yieldAsyncProcess({
798
828
  name: 'onChangeLocal',
799
829
  waitFor: [{
@@ -818,21 +848,62 @@ export default function useFieldProps(localeProps, {
818
848
  }
819
849
  }, true);
820
850
  } else {
821
- setEventResult(onChange === null || onChange === void 0 ? void 0 : onChange.apply(this, getArgs()));
851
+ const args = getEventArgs({
852
+ eventName: 'onChange',
853
+ additionalArgs
854
+ });
855
+ setEventResult(onChange === null || onChange === void 0 ? void 0 : onChange.apply(this, args));
822
856
  }
823
857
  await runPool();
824
- }, [itemPath, asyncBehaviorIsEnabled, onChange, runPool, handleChangeIterateContext, makeIteratePath, hideError, updateValue, addToPool, yieldAsyncProcess, defineAsyncProcess, hasError, setEventResult]);
858
+ }, [itemPath, asyncBehaviorIsEnabled, onChange, runPool, handleChangeIterateContext, makeIteratePath, hideError, updateValue, addToPool, getEventArgs, yieldAsyncProcess, defineAsyncProcess, hasError, setEventResult]);
825
859
  const handleFocus = useCallback(() => setHasFocus(true), [setHasFocus]);
826
860
  const handleBlur = useCallback(() => setHasFocus(false), [setHasFocus]);
827
861
  setPropsDataContext === null || setPropsDataContext === void 0 ? void 0 : setPropsDataContext(identifier, props);
862
+ const {
863
+ activeIndex,
864
+ activeIndexRef
865
+ } = wizardContext || {};
866
+ const activeIndexTmpRef = useRef(activeIndex);
867
+ useEffect(() => {
868
+ activeIndexTmpRef.current = activeIndex;
869
+ }, [activeIndex]);
870
+ useMemo(() => {
871
+ setMountedFieldStateDataContext(identifier, {
872
+ isPreMounted: true
873
+ });
874
+ if (typeof isVisible === 'boolean') {
875
+ setMountedFieldStateDataContext(identifier, {
876
+ isVisible
877
+ });
878
+ }
879
+ }, [setMountedFieldStateDataContext, identifier, isVisible]);
880
+ useEffect(() => {
881
+ if (typeof (activeIndexRef === null || activeIndexRef === void 0 ? void 0 : activeIndexRef.current) === 'number') {
882
+ setMountedFieldStateDataContext(identifier, {
883
+ wasStepChange: false
884
+ });
885
+ return () => {
886
+ const wasStepChange = typeof activeIndex === 'number' && activeIndexRef.current !== activeIndexTmpRef.current;
887
+ setMountedFieldStateDataContext(identifier, {
888
+ wasStepChange
889
+ });
890
+ };
891
+ }
892
+ }, [activeIndex, activeIndexRef, identifier, setMountedFieldStateDataContext]);
828
893
  useEffect(() => {
829
894
  setMountedFieldStateDataContext(identifier, {
830
- isMounted: true
895
+ isMounted: true,
896
+ isPreMounted: true
831
897
  });
832
898
  return () => {
833
899
  setMountedFieldStateDataContext(identifier, {
834
- isMounted: false
900
+ isMounted: false,
901
+ isPreMounted: false
835
902
  });
903
+ };
904
+ }, [identifier, setMountedFieldStateDataContext]);
905
+ useEffect(() => {
906
+ return () => {
836
907
  setFieldErrorDataContext === null || setFieldErrorDataContext === void 0 ? void 0 : setFieldErrorDataContext(identifier, undefined);
837
908
  setFieldErrorBoundary === null || setFieldErrorBoundary === void 0 ? void 0 : setFieldErrorBoundary(identifier, undefined);
838
909
  localErrorRef.current = undefined;
@@ -850,14 +921,23 @@ export default function useFieldProps(localeProps, {
850
921
  var _dataContext$internal, _dataContext$props$em, _dataContext$props2;
851
922
  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);
852
923
  }, [dataContext.internalDataRef, (_dataContext$props3 = dataContext.props) === null || _dataContext$props3 === void 0 ? void 0 : _dataContext$props3.emptyData]);
853
- useEffect(() => {
924
+ useLayoutEffect(() => {
854
925
  if (isEmptyData()) {
926
+ changedRef.current = false;
855
927
  hideError();
928
+ clearErrorState();
856
929
  }
857
- }, [externalValue, hideError, isEmptyData]);
858
- useUpdateEffect(() => {
930
+ }, [externalValue, clearErrorState, hideError, isEmptyData]);
931
+ const externalValueDidChangeRef = useRef(false);
932
+ useLayoutEffect(() => {
859
933
  if (valueRef.current !== externalValue) {
860
934
  valueRef.current = externalValue;
935
+ externalValueDidChangeRef.current = true;
936
+ }
937
+ }, [externalValue]);
938
+ useEffect(() => {
939
+ if (externalValueDidChangeRef.current) {
940
+ externalValueDidChangeRef.current = false;
861
941
  validateValue();
862
942
  forceUpdate();
863
943
  }
@@ -883,7 +963,8 @@ export default function useFieldProps(localeProps, {
883
963
  warn(`Using defaultValue="${defaultValue}" prop inside Iterate is not supported yet`);
884
964
  }
885
965
  }, [defaultValue, itemPath, valueProp]);
886
- useEffect(() => {
966
+ const tmpValueRef = useRef({});
967
+ useLayoutEffect(() => {
887
968
  if (hasPath) {
888
969
  let value = valueProp;
889
970
  const hasValue = pointer.has(dataContext.data, identifier) || identifier === '/';
@@ -903,11 +984,19 @@ export default function useFieldProps(localeProps, {
903
984
  defaultValueRef.current = undefined;
904
985
  }
905
986
  if (!hasValue || value !== existingValue && valueRef.current !== existingValue) {
987
+ if (identifier in tmpValueRef.current && tmpValueRef.current[identifier] === value) {
988
+ return;
989
+ }
990
+ const transformedValue = transformers.current.transformOut(value, transformers.current.provideAdditionalArgs(value));
991
+ if (transformedValue !== value) {
992
+ tmpValueRef.current[identifier] = value;
993
+ value = transformedValue;
994
+ }
906
995
  updateDataValueDataContext === null || updateDataValueDataContext === void 0 ? void 0 : updateDataValueDataContext(identifier, value);
907
996
  validateDataDataContext === null || validateDataDataContext === void 0 ? void 0 : validateDataDataContext();
908
997
  }
909
998
  }
910
- }, [dataContext.data, dataContext.id, defaultValue, hasPath, identifier, updateDataValueDataContext, validateDataDataContext, valueProp]);
999
+ }, [dataContext.data, dataContext.id, hasPath, identifier, updateDataValueDataContext, validateDataDataContext, valueProp]);
911
1000
  useEffect(() => {
912
1001
  if (showAllErrors || showBoundaryErrors) {
913
1002
  if (fieldStateRef.current !== 'validating') {