@dnb/eufemia 10.46.0 → 10.47.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 (510) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/cjs/components/accordion/Accordion.d.ts +17 -1
  3. package/cjs/components/accordion/Accordion.js +4 -2
  4. package/cjs/components/accordion/Accordion.js.map +1 -1
  5. package/cjs/components/accordion/AccordionContext.d.ts +4 -0
  6. package/cjs/components/accordion/AccordionContext.js.map +1 -1
  7. package/cjs/components/accordion/AccordionDocs.js +6 -1
  8. package/cjs/components/accordion/AccordionDocs.js.map +1 -1
  9. package/cjs/components/accordion/AccordionGroup.js +5 -3
  10. package/cjs/components/accordion/AccordionGroup.js.map +1 -1
  11. package/cjs/components/accordion/AccordionProviderContext.d.ts +4 -0
  12. package/cjs/components/accordion/AccordionProviderContext.js.map +1 -1
  13. package/cjs/components/accordion/AccordionStore.js +2 -1
  14. package/cjs/components/accordion/AccordionStore.js.map +1 -1
  15. package/cjs/components/accordion/style/dnb-accordion.css +3 -3
  16. package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
  17. package/cjs/components/autocomplete/style/dnb-autocomplete.css +1 -1
  18. package/cjs/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  19. package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
  20. package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  21. package/cjs/components/button/Button.d.ts +1 -1
  22. package/cjs/components/button/Button.js +5 -2
  23. package/cjs/components/button/Button.js.map +1 -1
  24. package/cjs/components/card/style/dnb-card.css +1 -1
  25. package/cjs/components/card/style/dnb-card.min.css +1 -1
  26. package/cjs/components/copy-on-click/CopyOnClick.d.ts +1 -1
  27. package/cjs/components/copy-on-click/CopyOnClick.js +5 -4
  28. package/cjs/components/copy-on-click/CopyOnClick.js.map +1 -1
  29. package/cjs/components/copy-on-click/CopyOnClickDocs.js +5 -0
  30. package/cjs/components/copy-on-click/CopyOnClickDocs.js.map +1 -1
  31. package/cjs/components/copy-on-click/types.d.ts +5 -0
  32. package/cjs/components/copy-on-click/types.js.map +1 -1
  33. package/cjs/components/drawer/style/dnb-drawer.css +3 -3
  34. package/cjs/components/drawer/style/dnb-drawer.min.css +1 -1
  35. package/cjs/components/dropdown/style/dnb-dropdown.css +1 -1
  36. package/cjs/components/dropdown/style/dnb-dropdown.min.css +1 -1
  37. package/cjs/components/flex/Container.js +9 -1
  38. package/cjs/components/flex/Container.js.map +1 -1
  39. package/cjs/components/flex/utils.d.ts +1 -1
  40. package/cjs/components/flex/utils.js +1 -1
  41. package/cjs/components/flex/utils.js.map +1 -1
  42. package/cjs/components/form-row/style/dnb-form-row.css +1 -1
  43. package/cjs/components/form-row/style/dnb-form-row.min.css +1 -1
  44. package/cjs/components/grid/style/dnb-grid.css +6 -6
  45. package/cjs/components/grid/style/dnb-grid.min.css +1 -1
  46. package/cjs/components/lib.d.ts +1 -1
  47. package/cjs/components/progress-indicator/ProgressIndicator.js +2 -2
  48. package/cjs/components/progress-indicator/ProgressIndicator.js.map +1 -1
  49. package/cjs/components/section/style/dnb-section.css +2 -2
  50. package/cjs/components/section/style/dnb-section.min.css +2 -2
  51. package/cjs/components/space/style/dnb-space.css +2 -2
  52. package/cjs/components/space/style/dnb-space.min.css +1 -1
  53. package/cjs/components/tabs/Tabs.js +2 -2
  54. package/cjs/components/tabs/Tabs.js.map +1 -1
  55. package/cjs/components/tag/Tag.js +2 -2
  56. package/cjs/components/tag/Tag.js.map +1 -1
  57. package/cjs/components/toggle-button/style/dnb-toggle-button.css +1 -1
  58. package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  59. package/cjs/extensions/forms/DataContext/Context.d.ts +8 -5
  60. package/cjs/extensions/forms/DataContext/Context.js +0 -1
  61. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  62. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +6 -2
  63. package/cjs/extensions/forms/DataContext/Provider/Provider.js +35 -16
  64. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  65. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +1 -1
  66. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  67. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +21 -12
  68. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  69. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.d.ts +2 -0
  70. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +20 -0
  71. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -0
  72. package/cjs/extensions/forms/Field/Slider/Slider.js +7 -7
  73. package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -1
  74. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +3 -4
  75. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  76. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
  77. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  78. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +1 -1
  79. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  80. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +1 -1
  81. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  82. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +9 -5
  83. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  84. package/cjs/extensions/forms/Iterate/Array/Array.js +4 -4
  85. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  86. package/cjs/extensions/forms/Value/Date/Date.d.ts +1 -1
  87. package/cjs/extensions/forms/Value/Date/Date.js +15 -5
  88. package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
  89. package/cjs/extensions/forms/Value/Date/DateDocs.js +1 -1
  90. package/cjs/extensions/forms/Value/Date/DateDocs.js.map +1 -1
  91. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
  92. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  93. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +1 -1
  94. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  95. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -2
  96. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  97. package/cjs/extensions/forms/constants/countries.d.ts +5 -2
  98. package/cjs/extensions/forms/constants/countries.js +72 -0
  99. package/cjs/extensions/forms/constants/countries.js.map +1 -1
  100. package/cjs/extensions/forms/hooks/DataValueDocs.js +4 -4
  101. package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  102. package/cjs/extensions/forms/hooks/useDataValue.d.ts +2 -1
  103. package/cjs/extensions/forms/hooks/useDataValue.js +7 -7
  104. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  105. package/cjs/extensions/forms/hooks/useFieldProps.d.ts +1 -1
  106. package/cjs/extensions/forms/hooks/useFieldProps.js +296 -115
  107. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  108. package/cjs/extensions/forms/style/dnb-forms.css +10 -10
  109. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  110. package/cjs/extensions/forms/types.d.ts +28 -2
  111. package/cjs/extensions/forms/types.js.map +1 -1
  112. package/cjs/shared/Eufemia.d.ts +1 -1
  113. package/cjs/shared/Eufemia.js +2 -2
  114. package/cjs/shared/Eufemia.js.map +1 -1
  115. package/cjs/style/core/scopes.scss +1 -1
  116. package/cjs/style/core/utilities.scss +3 -6
  117. package/cjs/style/dnb-ui-basis.css +1 -1
  118. package/cjs/style/dnb-ui-basis.min.css +1 -1
  119. package/cjs/style/dnb-ui-body.css +1 -1
  120. package/cjs/style/dnb-ui-body.min.css +1 -1
  121. package/cjs/style/dnb-ui-components.css +34 -34
  122. package/cjs/style/dnb-ui-components.min.css +5 -5
  123. package/cjs/style/dnb-ui-core.css +1 -1
  124. package/cjs/style/dnb-ui-core.min.css +1 -1
  125. package/cjs/style/dnb-ui-elements.css +1 -1
  126. package/cjs/style/dnb-ui-elements.min.css +1 -1
  127. package/cjs/style/dnb-ui-extensions.css +10 -10
  128. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  129. package/cjs/style/dnb-ui-forms.css +10 -10
  130. package/cjs/style/dnb-ui-forms.min.css +1 -1
  131. package/cjs/style/dnb-ui-fragments.css +2 -2
  132. package/cjs/style/dnb-ui-fragments.min.css +1 -1
  133. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -1
  134. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  135. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +45 -45
  136. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
  137. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
  138. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  139. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +10 -10
  140. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  141. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +10 -10
  142. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  143. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
  144. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  145. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +45 -45
  146. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
  147. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
  148. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  149. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +10 -10
  150. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  151. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +10 -10
  152. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  153. package/cjs/style/themes/theme-ui/ui-theme-basis.css +1 -1
  154. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  155. package/cjs/style/themes/theme-ui/ui-theme-components.css +45 -45
  156. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +6 -6
  157. package/cjs/style/themes/theme-ui/ui-theme-elements.css +1 -1
  158. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  159. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +10 -10
  160. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  161. package/cjs/style/themes/theme-ui/ui-theme-forms.css +10 -10
  162. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  163. package/cjs/style/themes/theme-ui/ui-theme-tags.css +1 -1
  164. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  165. package/components/accordion/Accordion.d.ts +17 -1
  166. package/components/accordion/Accordion.js +4 -2
  167. package/components/accordion/Accordion.js.map +1 -1
  168. package/components/accordion/AccordionContext.d.ts +4 -0
  169. package/components/accordion/AccordionContext.js.map +1 -1
  170. package/components/accordion/AccordionDocs.js +6 -1
  171. package/components/accordion/AccordionDocs.js.map +1 -1
  172. package/components/accordion/AccordionGroup.js +5 -3
  173. package/components/accordion/AccordionGroup.js.map +1 -1
  174. package/components/accordion/AccordionProviderContext.d.ts +4 -0
  175. package/components/accordion/AccordionProviderContext.js.map +1 -1
  176. package/components/accordion/AccordionStore.js +2 -1
  177. package/components/accordion/AccordionStore.js.map +1 -1
  178. package/components/accordion/style/dnb-accordion.css +3 -3
  179. package/components/accordion/style/dnb-accordion.min.css +1 -1
  180. package/components/autocomplete/style/dnb-autocomplete.css +1 -1
  181. package/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  182. package/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
  183. package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  184. package/components/button/Button.d.ts +1 -1
  185. package/components/button/Button.js +5 -2
  186. package/components/button/Button.js.map +1 -1
  187. package/components/card/style/dnb-card.css +1 -1
  188. package/components/card/style/dnb-card.min.css +1 -1
  189. package/components/copy-on-click/CopyOnClick.d.ts +1 -1
  190. package/components/copy-on-click/CopyOnClick.js +5 -4
  191. package/components/copy-on-click/CopyOnClick.js.map +1 -1
  192. package/components/copy-on-click/CopyOnClickDocs.js +5 -0
  193. package/components/copy-on-click/CopyOnClickDocs.js.map +1 -1
  194. package/components/copy-on-click/types.d.ts +5 -0
  195. package/components/copy-on-click/types.js.map +1 -1
  196. package/components/drawer/style/dnb-drawer.css +3 -3
  197. package/components/drawer/style/dnb-drawer.min.css +1 -1
  198. package/components/dropdown/style/dnb-dropdown.css +1 -1
  199. package/components/dropdown/style/dnb-dropdown.min.css +1 -1
  200. package/components/flex/Container.js +10 -2
  201. package/components/flex/Container.js.map +1 -1
  202. package/components/flex/utils.d.ts +1 -1
  203. package/components/flex/utils.js +1 -1
  204. package/components/flex/utils.js.map +1 -1
  205. package/components/form-row/style/dnb-form-row.css +1 -1
  206. package/components/form-row/style/dnb-form-row.min.css +1 -1
  207. package/components/grid/style/dnb-grid.css +6 -6
  208. package/components/grid/style/dnb-grid.min.css +1 -1
  209. package/components/lib.d.ts +1 -1
  210. package/components/progress-indicator/ProgressIndicator.js +2 -2
  211. package/components/progress-indicator/ProgressIndicator.js.map +1 -1
  212. package/components/section/style/dnb-section.css +2 -2
  213. package/components/section/style/dnb-section.min.css +2 -2
  214. package/components/space/style/dnb-space.css +2 -2
  215. package/components/space/style/dnb-space.min.css +1 -1
  216. package/components/tabs/Tabs.js +2 -2
  217. package/components/tabs/Tabs.js.map +1 -1
  218. package/components/tag/Tag.js +2 -2
  219. package/components/tag/Tag.js.map +1 -1
  220. package/components/toggle-button/style/dnb-toggle-button.css +1 -1
  221. package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  222. package/es/components/accordion/Accordion.d.ts +17 -1
  223. package/es/components/accordion/Accordion.js +4 -2
  224. package/es/components/accordion/Accordion.js.map +1 -1
  225. package/es/components/accordion/AccordionContext.d.ts +4 -0
  226. package/es/components/accordion/AccordionContext.js.map +1 -1
  227. package/es/components/accordion/AccordionDocs.js +6 -1
  228. package/es/components/accordion/AccordionDocs.js.map +1 -1
  229. package/es/components/accordion/AccordionGroup.js +5 -3
  230. package/es/components/accordion/AccordionGroup.js.map +1 -1
  231. package/es/components/accordion/AccordionProviderContext.d.ts +4 -0
  232. package/es/components/accordion/AccordionProviderContext.js.map +1 -1
  233. package/es/components/accordion/AccordionStore.js +2 -1
  234. package/es/components/accordion/AccordionStore.js.map +1 -1
  235. package/es/components/accordion/style/dnb-accordion.css +3 -3
  236. package/es/components/accordion/style/dnb-accordion.min.css +1 -1
  237. package/es/components/autocomplete/style/dnb-autocomplete.css +1 -1
  238. package/es/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  239. package/es/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
  240. package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  241. package/es/components/button/Button.d.ts +1 -1
  242. package/es/components/button/Button.js +5 -2
  243. package/es/components/button/Button.js.map +1 -1
  244. package/es/components/card/style/dnb-card.css +1 -1
  245. package/es/components/card/style/dnb-card.min.css +1 -1
  246. package/es/components/copy-on-click/CopyOnClick.d.ts +1 -1
  247. package/es/components/copy-on-click/CopyOnClick.js +5 -4
  248. package/es/components/copy-on-click/CopyOnClick.js.map +1 -1
  249. package/es/components/copy-on-click/CopyOnClickDocs.js +5 -0
  250. package/es/components/copy-on-click/CopyOnClickDocs.js.map +1 -1
  251. package/es/components/copy-on-click/types.d.ts +5 -0
  252. package/es/components/copy-on-click/types.js.map +1 -1
  253. package/es/components/drawer/style/dnb-drawer.css +3 -3
  254. package/es/components/drawer/style/dnb-drawer.min.css +1 -1
  255. package/es/components/dropdown/style/dnb-dropdown.css +1 -1
  256. package/es/components/dropdown/style/dnb-dropdown.min.css +1 -1
  257. package/es/components/flex/Container.js +10 -2
  258. package/es/components/flex/Container.js.map +1 -1
  259. package/es/components/flex/utils.d.ts +1 -1
  260. package/es/components/flex/utils.js +1 -1
  261. package/es/components/flex/utils.js.map +1 -1
  262. package/es/components/form-row/style/dnb-form-row.css +1 -1
  263. package/es/components/form-row/style/dnb-form-row.min.css +1 -1
  264. package/es/components/grid/style/dnb-grid.css +6 -6
  265. package/es/components/grid/style/dnb-grid.min.css +1 -1
  266. package/es/components/lib.d.ts +1 -1
  267. package/es/components/progress-indicator/ProgressIndicator.js +2 -2
  268. package/es/components/progress-indicator/ProgressIndicator.js.map +1 -1
  269. package/es/components/section/style/dnb-section.css +2 -2
  270. package/es/components/section/style/dnb-section.min.css +2 -2
  271. package/es/components/space/style/dnb-space.css +2 -2
  272. package/es/components/space/style/dnb-space.min.css +1 -1
  273. package/es/components/tabs/Tabs.js +2 -2
  274. package/es/components/tabs/Tabs.js.map +1 -1
  275. package/es/components/tag/Tag.js +2 -2
  276. package/es/components/tag/Tag.js.map +1 -1
  277. package/es/components/toggle-button/style/dnb-toggle-button.css +1 -1
  278. package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  279. package/es/extensions/forms/DataContext/Context.d.ts +8 -5
  280. package/es/extensions/forms/DataContext/Context.js +0 -1
  281. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  282. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +6 -2
  283. package/es/extensions/forms/DataContext/Provider/Provider.js +35 -16
  284. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  285. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +1 -1
  286. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  287. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +21 -12
  288. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  289. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.d.ts +2 -0
  290. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +13 -0
  291. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -0
  292. package/es/extensions/forms/Field/Slider/Slider.js +7 -7
  293. package/es/extensions/forms/Field/Slider/Slider.js.map +1 -1
  294. package/es/extensions/forms/FieldBlock/FieldBlock.js +3 -4
  295. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  296. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
  297. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  298. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +1 -1
  299. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  300. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +1 -1
  301. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  302. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +9 -5
  303. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  304. package/es/extensions/forms/Iterate/Array/Array.js +4 -4
  305. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  306. package/es/extensions/forms/Value/Date/Date.d.ts +1 -1
  307. package/es/extensions/forms/Value/Date/Date.js +15 -5
  308. package/es/extensions/forms/Value/Date/Date.js.map +1 -1
  309. package/es/extensions/forms/Value/Date/DateDocs.js +1 -1
  310. package/es/extensions/forms/Value/Date/DateDocs.js.map +1 -1
  311. package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
  312. package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  313. package/es/extensions/forms/Wizard/Container/WizardContainer.js +1 -1
  314. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  315. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -2
  316. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  317. package/es/extensions/forms/constants/countries.d.ts +5 -2
  318. package/es/extensions/forms/constants/countries.js +72 -0
  319. package/es/extensions/forms/constants/countries.js.map +1 -1
  320. package/es/extensions/forms/hooks/DataValueDocs.js +4 -4
  321. package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  322. package/es/extensions/forms/hooks/useDataValue.d.ts +2 -1
  323. package/es/extensions/forms/hooks/useDataValue.js +7 -7
  324. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  325. package/es/extensions/forms/hooks/useFieldProps.d.ts +1 -1
  326. package/es/extensions/forms/hooks/useFieldProps.js +288 -112
  327. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  328. package/es/extensions/forms/style/dnb-forms.css +10 -10
  329. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  330. package/es/extensions/forms/types.d.ts +28 -2
  331. package/es/extensions/forms/types.js.map +1 -1
  332. package/es/shared/Eufemia.d.ts +1 -1
  333. package/es/shared/Eufemia.js +2 -2
  334. package/es/shared/Eufemia.js.map +1 -1
  335. package/es/style/core/scopes.scss +1 -1
  336. package/es/style/core/utilities.scss +3 -6
  337. package/es/style/dnb-ui-basis.css +1 -1
  338. package/es/style/dnb-ui-basis.min.css +1 -1
  339. package/es/style/dnb-ui-body.css +1 -1
  340. package/es/style/dnb-ui-body.min.css +1 -1
  341. package/es/style/dnb-ui-components.css +34 -34
  342. package/es/style/dnb-ui-components.min.css +5 -5
  343. package/es/style/dnb-ui-core.css +1 -1
  344. package/es/style/dnb-ui-core.min.css +1 -1
  345. package/es/style/dnb-ui-elements.css +1 -1
  346. package/es/style/dnb-ui-elements.min.css +1 -1
  347. package/es/style/dnb-ui-extensions.css +10 -10
  348. package/es/style/dnb-ui-extensions.min.css +1 -1
  349. package/es/style/dnb-ui-forms.css +10 -10
  350. package/es/style/dnb-ui-forms.min.css +1 -1
  351. package/es/style/dnb-ui-fragments.css +2 -2
  352. package/es/style/dnb-ui-fragments.min.css +1 -1
  353. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -1
  354. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  355. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +45 -45
  356. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
  357. package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
  358. package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  359. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +10 -10
  360. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  361. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +10 -10
  362. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  363. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
  364. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  365. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +45 -45
  366. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
  367. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
  368. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  369. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +10 -10
  370. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  371. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +10 -10
  372. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  373. package/es/style/themes/theme-ui/ui-theme-basis.css +1 -1
  374. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  375. package/es/style/themes/theme-ui/ui-theme-components.css +45 -45
  376. package/es/style/themes/theme-ui/ui-theme-components.min.css +6 -6
  377. package/es/style/themes/theme-ui/ui-theme-elements.css +1 -1
  378. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  379. package/es/style/themes/theme-ui/ui-theme-extensions.css +10 -10
  380. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  381. package/es/style/themes/theme-ui/ui-theme-forms.css +10 -10
  382. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  383. package/es/style/themes/theme-ui/ui-theme-tags.css +1 -1
  384. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  385. package/esm/dnb-ui-basis.min.mjs +1 -1
  386. package/esm/dnb-ui-components.min.mjs +1 -1
  387. package/esm/dnb-ui-elements.min.mjs +1 -1
  388. package/esm/dnb-ui-extensions.min.mjs +5 -5
  389. package/esm/dnb-ui-lib.min.mjs +1 -1
  390. package/extensions/forms/DataContext/Context.d.ts +8 -5
  391. package/extensions/forms/DataContext/Context.js +0 -1
  392. package/extensions/forms/DataContext/Context.js.map +1 -1
  393. package/extensions/forms/DataContext/Provider/Provider.d.ts +6 -2
  394. package/extensions/forms/DataContext/Provider/Provider.js +35 -16
  395. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  396. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +1 -1
  397. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  398. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +21 -12
  399. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  400. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.d.ts +2 -0
  401. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +13 -0
  402. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -0
  403. package/extensions/forms/Field/Slider/Slider.js +7 -7
  404. package/extensions/forms/Field/Slider/Slider.js.map +1 -1
  405. package/extensions/forms/FieldBlock/FieldBlock.js +3 -4
  406. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  407. package/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
  408. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  409. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +1 -1
  410. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  411. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +1 -1
  412. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  413. package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +9 -5
  414. package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  415. package/extensions/forms/Iterate/Array/Array.js +4 -4
  416. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  417. package/extensions/forms/Value/Date/Date.d.ts +1 -1
  418. package/extensions/forms/Value/Date/Date.js +15 -5
  419. package/extensions/forms/Value/Date/Date.js.map +1 -1
  420. package/extensions/forms/Value/Date/DateDocs.js +1 -1
  421. package/extensions/forms/Value/Date/DateDocs.js.map +1 -1
  422. package/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
  423. package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  424. package/extensions/forms/Wizard/Container/WizardContainer.js +1 -1
  425. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  426. package/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -2
  427. package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  428. package/extensions/forms/constants/countries.d.ts +5 -2
  429. package/extensions/forms/constants/countries.js +72 -0
  430. package/extensions/forms/constants/countries.js.map +1 -1
  431. package/extensions/forms/hooks/DataValueDocs.js +4 -4
  432. package/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  433. package/extensions/forms/hooks/useDataValue.d.ts +2 -1
  434. package/extensions/forms/hooks/useDataValue.js +7 -7
  435. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  436. package/extensions/forms/hooks/useFieldProps.d.ts +1 -1
  437. package/extensions/forms/hooks/useFieldProps.js +297 -116
  438. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  439. package/extensions/forms/style/dnb-forms.css +10 -10
  440. package/extensions/forms/style/dnb-forms.min.css +1 -1
  441. package/extensions/forms/types.d.ts +28 -2
  442. package/extensions/forms/types.js.map +1 -1
  443. package/package.json +1 -1
  444. package/shared/Eufemia.d.ts +1 -1
  445. package/shared/Eufemia.js +2 -2
  446. package/shared/Eufemia.js.map +1 -1
  447. package/style/core/scopes.scss +1 -1
  448. package/style/core/utilities.scss +3 -6
  449. package/style/dnb-ui-basis.css +1 -1
  450. package/style/dnb-ui-basis.min.css +1 -1
  451. package/style/dnb-ui-body.css +1 -1
  452. package/style/dnb-ui-body.min.css +1 -1
  453. package/style/dnb-ui-components.css +34 -34
  454. package/style/dnb-ui-components.min.css +5 -5
  455. package/style/dnb-ui-core.css +1 -1
  456. package/style/dnb-ui-core.min.css +1 -1
  457. package/style/dnb-ui-elements.css +1 -1
  458. package/style/dnb-ui-elements.min.css +1 -1
  459. package/style/dnb-ui-extensions.css +10 -10
  460. package/style/dnb-ui-extensions.min.css +1 -1
  461. package/style/dnb-ui-forms.css +10 -10
  462. package/style/dnb-ui-forms.min.css +1 -1
  463. package/style/dnb-ui-fragments.css +2 -2
  464. package/style/dnb-ui-fragments.min.css +1 -1
  465. package/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -1
  466. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  467. package/style/themes/theme-eiendom/eiendom-theme-components.css +45 -45
  468. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
  469. package/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
  470. package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  471. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +10 -10
  472. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  473. package/style/themes/theme-eiendom/eiendom-theme-forms.css +10 -10
  474. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  475. package/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
  476. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  477. package/style/themes/theme-sbanken/sbanken-theme-components.css +45 -45
  478. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
  479. package/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
  480. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  481. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +10 -10
  482. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  483. package/style/themes/theme-sbanken/sbanken-theme-forms.css +10 -10
  484. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  485. package/style/themes/theme-ui/ui-theme-basis.css +1 -1
  486. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  487. package/style/themes/theme-ui/ui-theme-components.css +45 -45
  488. package/style/themes/theme-ui/ui-theme-components.min.css +6 -6
  489. package/style/themes/theme-ui/ui-theme-elements.css +1 -1
  490. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  491. package/style/themes/theme-ui/ui-theme-extensions.css +10 -10
  492. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  493. package/style/themes/theme-ui/ui-theme-forms.css +10 -10
  494. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  495. package/style/themes/theme-ui/ui-theme-tags.css +1 -1
  496. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  497. package/umd/dnb-ui-basis.min.js +1 -1
  498. package/umd/dnb-ui-components.min.js +1 -1
  499. package/umd/dnb-ui-elements.min.js +1 -1
  500. package/umd/dnb-ui-extensions.min.js +5 -5
  501. package/umd/dnb-ui-lib.min.js +1 -1
  502. package/cjs/shared/helpers/useUnmountEffect.d.ts +0 -4
  503. package/cjs/shared/helpers/useUnmountEffect.js +0 -14
  504. package/cjs/shared/helpers/useUnmountEffect.js.map +0 -1
  505. package/es/shared/helpers/useUnmountEffect.d.ts +0 -4
  506. package/es/shared/helpers/useUnmountEffect.js +0 -9
  507. package/es/shared/helpers/useUnmountEffect.js.map +0 -1
  508. package/shared/helpers/useUnmountEffect.d.ts +0 -4
  509. package/shared/helpers/useUnmountEffect.js +0 -9
  510. package/shared/helpers/useUnmountEffect.js.map +0 -1
@@ -16,8 +16,6 @@ var _FieldPropsContext = _interopRequireDefault(require("../Form/FieldProps/Fiel
16
16
  var _componentHelper = require("../../../shared/component-helper");
17
17
  var _useId = _interopRequireDefault(require("../../../shared/helpers/useId"));
18
18
  var _useUpdateEffect = _interopRequireDefault(require("../../../shared/helpers/useUpdateEffect"));
19
- var _useMountEffect = _interopRequireDefault(require("../../../shared/helpers/useMountEffect"));
20
- var _useUnmountEffect = _interopRequireDefault(require("../../../shared/helpers/useUnmountEffect"));
21
19
  var _FieldBlockContext = _interopRequireDefault(require("../FieldBlock/FieldBlockContext"));
22
20
  var _IterateItemContext = _interopRequireDefault(require("../Iterate/IterateItemContext"));
23
21
  var _SectionContext = _interopRequireDefault(require("../Form/Section/SectionContext"));
@@ -28,6 +26,7 @@ var _useSharedState = require("../../../shared/helpers/useSharedState");
28
26
  var _isAsync = require("../../../shared/helpers/isAsync");
29
27
  var _useTranslation = _interopRequireDefault(require("./useTranslation"));
30
28
  var _useExternalValue2 = _interopRequireDefault(require("./useExternalValue"));
29
+ var _useDataValue = _interopRequireDefault(require("./useDataValue"));
31
30
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
32
31
  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; }
33
32
  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; }
@@ -67,6 +66,7 @@ function useFieldProps(localeProps) {
67
66
  onChange,
68
67
  onBlurValidator,
69
68
  validator,
69
+ exportValidators,
70
70
  schema,
71
71
  validateInitially,
72
72
  validateUnchanged,
@@ -89,7 +89,11 @@ function useFieldProps(localeProps) {
89
89
  return res;
90
90
  }
91
91
  } = props;
92
- const [, forceUpdate] = (0, _react.useReducer)(() => ({}), {});
92
+ const [salt, forceUpdate] = (0, _react.useReducer)(() => ({}), {});
93
+ const isInternalRerenderRef = (0, _react.useRef)(undefined);
94
+ (0, _react.useMemo)(() => {
95
+ isInternalRerenderRef.current = salt;
96
+ }, [salt]);
93
97
  const {
94
98
  startProcess
95
99
  } = (0, _useProcessManager.default)();
@@ -120,10 +124,13 @@ function useFieldProps(localeProps) {
120
124
  setFieldError: setFieldErrorDataContext,
121
125
  setFieldProps: setPropsDataContext,
122
126
  setHasVisibleError: setHasVisibleErrorDataContext,
127
+ handleMountField,
128
+ handleUnMountField,
129
+ setFieldEventListener,
123
130
  errors: dataContextErrors,
124
131
  showAllErrors,
125
132
  contextErrorMessages
126
- } = dataContext !== null && dataContext !== void 0 ? dataContext : {};
133
+ } = dataContext || {};
127
134
  const onChangeContext = dataContext === null || dataContext === void 0 ? void 0 : (_dataContext$props = dataContext.props) === null || _dataContext$props === void 0 ? void 0 : _dataContext$props.onChange;
128
135
  const disabled = disabledProp !== null && disabledProp !== void 0 ? disabledProp : props.readOnly;
129
136
  const inFieldBlock = Boolean(fieldBlockContext);
@@ -131,18 +138,18 @@ function useFieldProps(localeProps) {
131
138
  setFieldState: setFieldStateFieldBlock,
132
139
  showFieldError: showFieldErrorFieldBlock,
133
140
  mountedFieldsRef: mountedFieldsRefFieldBlock
134
- } = fieldBlockContext !== null && fieldBlockContext !== void 0 ? fieldBlockContext : {};
141
+ } = fieldBlockContext || {};
135
142
  const {
136
143
  handleChange: handleChangeIterateContext
137
- } = iterateItemContext !== null && iterateItemContext !== void 0 ? iterateItemContext : {};
144
+ } = iterateItemContext || {};
138
145
  const {
139
146
  path: sectionPath,
140
147
  errorPrioritization
141
- } = sectionContext !== null && sectionContext !== void 0 ? sectionContext : {};
148
+ } = sectionContext || {};
142
149
  const {
143
150
  setFieldError,
144
151
  showBoundaryErrors
145
- } = fieldBoundaryContext !== null && fieldBoundaryContext !== void 0 ? fieldBoundaryContext : {};
152
+ } = fieldBoundaryContext || {};
146
153
  const hasPath = Boolean(pathProp);
147
154
  const {
148
155
  path,
@@ -162,8 +169,8 @@ function useFieldProps(localeProps) {
162
169
  emptyValue
163
170
  })) !== null && _useExternalValue !== void 0 ? _useExternalValue : defaultValueRef.current;
164
171
  const valueRef = (0, _react.useRef)(externalValue);
165
- const changedRef = (0, _react.useRef)(false);
166
- const hasFocusRef = (0, _react.useRef)(false);
172
+ const changedRef = (0, _react.useRef)();
173
+ const hasFocusRef = (0, _react.useRef)();
167
174
  const required = (0, _react.useMemo)(() => {
168
175
  if (requiredProp) {
169
176
  return requiredProp;
@@ -194,9 +201,9 @@ function useFieldProps(localeProps) {
194
201
  return path ? dataContextErrors === null || dataContextErrors === void 0 ? void 0 : dataContextErrors[identifier] : undefined;
195
202
  }, [dataContextErrors, identifier, path]);
196
203
  const contextErrorRef = (0, _react.useRef)(dataContextError);
197
- const validatorRef = (0, _react.useRef)(validator);
204
+ const onChangeValidatorRef = (0, _react.useRef)(validator);
198
205
  (0, _useUpdateEffect.default)(() => {
199
- validatorRef.current = validator;
206
+ onChangeValidatorRef.current = validator;
200
207
  }, [validator]);
201
208
  const onBlurValidatorRef = (0, _react.useRef)(onBlurValidator);
202
209
  (0, _useUpdateEffect.default)(() => {
@@ -276,22 +283,21 @@ function useFieldProps(localeProps) {
276
283
  }
277
284
  }, [setFieldStateDataContext, identifier, validateInitially]);
278
285
  const revealError = (0, _react.useCallback)(() => {
279
- revealErrorRef.current = true;
280
- showFieldErrorFieldBlock === null || showFieldErrorFieldBlock === void 0 ? void 0 : showFieldErrorFieldBlock(identifier, true);
281
- if (localErrorRef.current) {
282
- setHasVisibleErrorDataContext === null || setHasVisibleErrorDataContext === void 0 ? void 0 : setHasVisibleErrorDataContext(identifier, true);
283
- } else {
284
- setHasVisibleErrorDataContext === null || setHasVisibleErrorDataContext === void 0 ? void 0 : setHasVisibleErrorDataContext(identifier, false);
286
+ if (!revealErrorRef.current) {
287
+ revealErrorRef.current = true;
288
+ showFieldErrorFieldBlock === null || showFieldErrorFieldBlock === void 0 ? void 0 : showFieldErrorFieldBlock(identifier, true);
289
+ setHasVisibleErrorDataContext === null || setHasVisibleErrorDataContext === void 0 ? void 0 : setHasVisibleErrorDataContext(identifier, !!localErrorRef.current);
285
290
  }
286
- }, [showFieldErrorFieldBlock, identifier, setHasVisibleErrorDataContext]);
291
+ }, [identifier, setHasVisibleErrorDataContext, showFieldErrorFieldBlock]);
287
292
  const hideError = (0, _react.useCallback)(() => {
288
- revealErrorRef.current = false;
289
- showFieldErrorFieldBlock === null || showFieldErrorFieldBlock === void 0 ? void 0 : showFieldErrorFieldBlock(identifier, false);
290
- setHasVisibleErrorDataContext === null || setHasVisibleErrorDataContext === void 0 ? void 0 : setHasVisibleErrorDataContext(identifier, false);
291
- }, [setHasVisibleErrorDataContext, identifier, showFieldErrorFieldBlock]);
293
+ if (revealErrorRef.current) {
294
+ revealErrorRef.current = false;
295
+ showFieldErrorFieldBlock === null || showFieldErrorFieldBlock === void 0 ? void 0 : showFieldErrorFieldBlock(identifier, false);
296
+ setHasVisibleErrorDataContext === null || setHasVisibleErrorDataContext === void 0 ? void 0 : setHasVisibleErrorDataContext(identifier, false);
297
+ }
298
+ }, [identifier, setHasVisibleErrorDataContext, showFieldErrorFieldBlock]);
292
299
  const prepareError = (0, _react.useCallback)(error => {
293
300
  if (error instanceof _types.FormError) {
294
- var _error$messageValues;
295
301
  let message = error.message;
296
302
  const {
297
303
  validationRule
@@ -303,11 +309,11 @@ function useFieldProps(localeProps) {
303
309
  message = fieldMessage;
304
310
  }
305
311
  }
306
- const messagehasValues = Object.entries((_error$messageValues = error.messageValues) !== null && _error$messageValues !== void 0 ? _error$messageValues : {}).reduce((message, _ref2) => {
312
+ const messageHasValues = Object.entries(error.messageValues || {}).reduce((message, _ref2) => {
307
313
  let [key, value] = _ref2;
308
314
  return message.replace(`{${key}}`, value);
309
315
  }, message);
310
- error.message = messagehasValues;
316
+ error.message = messageHasValues;
311
317
  return error;
312
318
  }
313
319
  return error;
@@ -327,6 +333,75 @@ function useFieldProps(localeProps) {
327
333
  var _ref4;
328
334
  return Boolean((_ref4 = errorProp !== null && errorProp !== void 0 ? errorProp : localErrorRef.current) !== null && _ref4 !== void 0 ? _ref4 : contextErrorRef.current);
329
335
  }, [errorProp]);
336
+ const connectWithPathListenerRef = (0, _react.useRef)(async () => {
337
+ if (localErrorRef.current || validateUnchanged || continuousValidation) {
338
+ if (onChangeValidatorRef.current) {
339
+ runOnChangeValidator();
340
+ }
341
+ }
342
+ if (localErrorRef.current && onBlurValidatorRef.current) {
343
+ runOnBlurValidator();
344
+ }
345
+ });
346
+ const {
347
+ getValueByPath
348
+ } = (0, _useDataValue.default)();
349
+ const exportValidatorsRef = (0, _react.useRef)(exportValidators);
350
+ exportValidatorsRef.current = exportValidators;
351
+ const additionalArgs = (0, _react.useMemo)(() => {
352
+ const errorMessages = _objectSpread(_objectSpread({}, contextErrorMessages), errorMessagesRef.current);
353
+ const args = _objectSpread(_objectSpread({}, errorMessages), {}, {
354
+ errorMessages,
355
+ validators: exportValidatorsRef.current,
356
+ connectWithPath: path => {
357
+ setFieldEventListener === null || setFieldEventListener === void 0 ? void 0 : setFieldEventListener(path, 'onPathChange', connectWithPathListenerRef.current);
358
+ return {
359
+ getValue: () => getValueByPath(path)
360
+ };
361
+ }
362
+ });
363
+ return args;
364
+ }, [contextErrorMessages, getValueByPath, setFieldEventListener]);
365
+ const extendWithExportedValidators = (0, _react.useCallback)((validator, result) => {
366
+ if (exportValidatorsRef.current && !result && (validator === onChangeValidatorRef.current || validator === onBlurValidatorRef.current) && !Array.isArray(result)) {
367
+ return Object.values(exportValidatorsRef.current);
368
+ }
369
+ return result;
370
+ }, []);
371
+ const callValidatorFnSync = (0, _react.useCallback)(function (validator) {
372
+ let value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : valueRef.current;
373
+ if (typeof validator !== 'function') {
374
+ return undefined;
375
+ }
376
+ const result = extendWithExportedValidators(validator, validator(value, additionalArgs));
377
+ if (Array.isArray(result)) {
378
+ for (const validator of result) {
379
+ const result = callValidatorFnSync(validator, value);
380
+ if (result instanceof Error) {
381
+ return result;
382
+ }
383
+ }
384
+ return;
385
+ }
386
+ return result;
387
+ }, [additionalArgs, extendWithExportedValidators]);
388
+ const callValidatorFnAsync = (0, _react.useCallback)(async function (validator) {
389
+ let value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : valueRef.current;
390
+ if (typeof validator !== 'function') {
391
+ return undefined;
392
+ }
393
+ const result = extendWithExportedValidators(validator, await validator(value, additionalArgs));
394
+ if (Array.isArray(result)) {
395
+ for (const validator of result) {
396
+ const result = await callValidatorFnAsync(validator, value);
397
+ if (result instanceof Error) {
398
+ return result;
399
+ }
400
+ }
401
+ return;
402
+ }
403
+ return result;
404
+ }, [additionalArgs, extendWithExportedValidators]);
330
405
  const stateId = (0, _useId.default)();
331
406
  const persistErrorState = (0, _react.useCallback)(function (method) {
332
407
  let errorArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
@@ -359,23 +434,19 @@ function useFieldProps(localeProps) {
359
434
  persistErrorState('wipe');
360
435
  hasLocalErrorRef.current = false;
361
436
  }, [persistErrorState]);
362
- const callValidator = (0, _react.useCallback)(async () => {
363
- if (typeof validatorRef.current !== 'function') {
364
- return;
365
- }
366
- const runAsync = (0, _isAsync.isAsync)(validatorRef.current);
367
- if (runAsync) {
368
- defineAsyncProcess('validator');
369
- setFieldState('validating');
370
- hideError();
371
- }
372
- const opts = _objectSpread(_objectSpread({}, contextErrorMessages), errorMessagesRef.current);
373
- const tmpValue = valueRef.current;
374
- const result = await validatorRef.current(valueRef.current, opts);
375
- const unchangedValue = tmpValue === valueRef.current;
437
+ const validatorCacheRef = (0, _react.useRef)({
438
+ onChangeValidator: null,
439
+ onBlurValidator: null
440
+ });
441
+ const revealOnChangeValidatorResult = (0, _react.useCallback)(_ref5 => {
442
+ let {
443
+ result,
444
+ unchangedValue
445
+ } = _ref5;
446
+ const runAsync = (0, _isAsync.isAsync)(onChangeValidatorRef.current);
376
447
  if (unchangedValue) {
377
448
  persistErrorState('gracefully', result);
378
- if (continuousValidation || runAsync) {
449
+ if (validateInitially && !changedRef.current || validateUnchanged || continuousValidation || runAsync) {
379
450
  window.requestAnimationFrame(() => {
380
451
  revealError();
381
452
  forceUpdate();
@@ -390,30 +461,132 @@ function useFieldProps(localeProps) {
390
461
  setFieldState('pending');
391
462
  }
392
463
  }
393
- return result;
394
- }, [contextErrorMessages, continuousValidation, hideError, persistErrorState, defineAsyncProcess, setFieldState, revealError]);
464
+ }, [continuousValidation, defineAsyncProcess, persistErrorState, revealError, setFieldState, validateInitially, validateUnchanged]);
465
+ const callOnChangeValidator = (0, _react.useCallback)(async () => {
466
+ if (typeof onChangeValidatorRef.current !== 'function') {
467
+ return {};
468
+ }
469
+ const tmpValue = valueRef.current;
470
+ let result = (0, _isAsync.isAsync)(onChangeValidatorRef.current) ? await callValidatorFnAsync(onChangeValidatorRef.current) : callValidatorFnSync(onChangeValidatorRef.current);
471
+ if (result instanceof Promise) {
472
+ result = await result;
473
+ }
474
+ const unchangedValue = tmpValue === valueRef.current;
475
+ return {
476
+ result,
477
+ unchangedValue
478
+ };
479
+ }, [callValidatorFnAsync, callValidatorFnSync]);
480
+ const startOnChangeValidatorValidation = (0, _react.useCallback)(async () => {
481
+ if (typeof onChangeValidatorRef.current !== 'function') {
482
+ return;
483
+ }
484
+ if ((0, _isAsync.isAsync)(onChangeValidatorRef.current)) {
485
+ defineAsyncProcess('validator');
486
+ setFieldState('validating');
487
+ hideError();
488
+ }
489
+ const tmpValue = valueRef.current;
490
+ let result = (0, _isAsync.isAsync)(onChangeValidatorRef.current) ? await callValidatorFnAsync(onChangeValidatorRef.current) : callValidatorFnSync(onChangeValidatorRef.current);
491
+ if (result instanceof Promise) {
492
+ result = await result;
493
+ }
494
+ const unchangedValue = tmpValue === valueRef.current;
495
+ revealOnChangeValidatorResult({
496
+ result,
497
+ unchangedValue
498
+ });
499
+ return {
500
+ result
501
+ };
502
+ }, [callValidatorFnAsync, callValidatorFnSync, defineAsyncProcess, hideError, revealOnChangeValidatorResult, setFieldState]);
503
+ const runOnChangeValidator = (0, _react.useCallback)(async () => {
504
+ if (!onChangeValidatorRef.current) {
505
+ return;
506
+ }
507
+ const {
508
+ result,
509
+ unchangedValue
510
+ } = await callOnChangeValidator();
511
+ if (String(result) !== String(validatorCacheRef.current.onChangeValidator)) {
512
+ if (result) {
513
+ revealOnChangeValidatorResult({
514
+ result,
515
+ unchangedValue
516
+ });
517
+ } else {
518
+ hideError();
519
+ clearErrorState();
520
+ }
521
+ }
522
+ validatorCacheRef.current.onChangeValidator = result || null;
523
+ }, [callOnChangeValidator, clearErrorState, hideError, revealOnChangeValidatorResult]);
395
524
  const callOnBlurValidator = (0, _react.useCallback)(async function () {
396
525
  let {
397
- valueOverride = null
526
+ overrideValue = null
398
527
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
399
528
  if (typeof onBlurValidatorRef.current !== 'function') {
400
- return;
529
+ return {};
401
530
  }
402
- const value = transformers.current.toEvent(valueOverride !== null && valueOverride !== void 0 ? valueOverride : valueRef.current, 'onBlurValidator');
403
- const runAsync = (0, _isAsync.isAsync)(onBlurValidatorRef.current);
404
- if (runAsync) {
405
- defineAsyncProcess('onBlurValidator');
406
- setFieldState('validating');
531
+ const value = transformers.current.toEvent(overrideValue !== null && overrideValue !== void 0 ? overrideValue : valueRef.current, 'onBlurValidator');
532
+ let result = (0, _isAsync.isAsync)(onBlurValidatorRef.current) ? await callValidatorFnAsync(onBlurValidatorRef.current, value) : callValidatorFnSync(onBlurValidatorRef.current, value);
533
+ if (result instanceof Promise) {
534
+ result = await result;
407
535
  }
408
- const result = await onBlurValidatorRef.current(value);
536
+ return {
537
+ result
538
+ };
539
+ }, [callValidatorFnAsync, callValidatorFnSync]);
540
+ const revealOnBlurValidatorResult = (0, _react.useCallback)(_ref6 => {
541
+ let {
542
+ result
543
+ } = _ref6;
409
544
  persistErrorState('gracefully', result);
410
- if (runAsync) {
545
+ if ((0, _isAsync.isAsync)(onBlurValidatorRef.current)) {
411
546
  defineAsyncProcess(undefined);
412
547
  setFieldState(result instanceof Error ? 'error' : 'complete');
413
548
  }
414
549
  revealError();
415
- forceUpdate();
416
- }, [persistErrorState, defineAsyncProcess, setFieldState, revealError]);
550
+ }, [defineAsyncProcess, persistErrorState, revealError, setFieldState]);
551
+ const startOnBlurValidatorProcess = (0, _react.useCallback)(async function () {
552
+ let {
553
+ overrideValue = null
554
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
555
+ if (typeof onBlurValidatorRef.current !== 'function') {
556
+ return;
557
+ }
558
+ if ((0, _isAsync.isAsync)(onBlurValidatorRef.current)) {
559
+ defineAsyncProcess('onBlurValidator');
560
+ setFieldState('validating');
561
+ }
562
+ const {
563
+ result
564
+ } = await callOnBlurValidator({
565
+ overrideValue
566
+ });
567
+ revealOnBlurValidatorResult({
568
+ result
569
+ });
570
+ }, [callOnBlurValidator, defineAsyncProcess, revealOnBlurValidatorResult, setFieldState]);
571
+ const runOnBlurValidator = (0, _react.useCallback)(async () => {
572
+ if (!onBlurValidatorRef.current) {
573
+ return;
574
+ }
575
+ const {
576
+ result
577
+ } = await callOnBlurValidator();
578
+ if (String(result) !== String(validatorCacheRef.current.onBlurValidator) && revealErrorRef.current) {
579
+ if (result) {
580
+ revealOnBlurValidatorResult({
581
+ result
582
+ });
583
+ } else {
584
+ hideError();
585
+ clearErrorState();
586
+ }
587
+ }
588
+ validatorCacheRef.current.onBlurValidator = result || null;
589
+ }, [callOnBlurValidator, clearErrorState, hideError, revealOnBlurValidatorResult]);
417
590
  const prioritizeContextSchema = (0, _react.useMemo)(() => {
418
591
  if (errorPrioritization) {
419
592
  const schemaPath = identifier.split('/').join('/properties/');
@@ -450,8 +623,10 @@ function useFieldProps(localeProps) {
450
623
  const error = (0, _ajv.ajvErrorsToOneFormError)(schemaValidatorRef.current.errors, valueRef.current);
451
624
  throw error;
452
625
  }
453
- if (validatorRef.current && (changedRef.current || validateInitially)) {
454
- const result = await callValidator();
626
+ if (onChangeValidatorRef.current && (changedRef.current || validateInitially || validateUnchanged)) {
627
+ const {
628
+ result
629
+ } = await startOnChangeValidatorValidation();
455
630
  if (result instanceof Error) {
456
631
  throw result;
457
632
  }
@@ -466,7 +641,7 @@ function useFieldProps(localeProps) {
466
641
  persistErrorState('weak', error);
467
642
  }
468
643
  }
469
- }, [startProcess, disabled, hideError, setFieldState, clearErrorState, emptyValue, requiredProp, required, prioritizeContextSchema, validateInitially, callValidator, persistErrorState]);
644
+ }, [startProcess, disabled, hideError, setFieldState, clearErrorState, emptyValue, requiredProp, required, prioritizeContextSchema, validateInitially, validateUnchanged, startOnChangeValidatorValidation, persistErrorState]);
470
645
  const handleError = (0, _react.useCallback)(() => {
471
646
  if (continuousValidation || continuousValidation !== false && !hasFocusRef.current) {
472
647
  revealError();
@@ -474,9 +649,9 @@ function useFieldProps(localeProps) {
474
649
  hideError();
475
650
  }
476
651
  }, [continuousValidation, hideError, revealError]);
477
- const setHasFocus = (0, _react.useCallback)(async (hasFocus, valueOverride, additionalArgs) => {
652
+ const setHasFocus = (0, _react.useCallback)(async (hasFocus, overrideValue, additionalArgs) => {
478
653
  const getArgs = type => {
479
- const value = transformers.current.toEvent(valueOverride !== null && valueOverride !== void 0 ? valueOverride : valueRef.current, type);
654
+ const value = transformers.current.toEvent(overrideValue !== null && overrideValue !== void 0 ? overrideValue : valueRef.current, type);
480
655
  const transformedAdditionalArgs = transformers.current.transformAdditionalArgs(additionalArgs, value);
481
656
  return typeof transformedAdditionalArgs !== 'undefined' ? [value, transformedAdditionalArgs] : [value];
482
657
  };
@@ -491,28 +666,28 @@ function useFieldProps(localeProps) {
491
666
  if (!changedRef.current && !validateUnchanged) {
492
667
  return;
493
668
  }
494
- addToPool('onBlurValidator', async () => await callOnBlurValidator({
495
- valueOverride
669
+ addToPool('onBlurValidator', async () => await startOnBlurValidatorProcess({
670
+ overrideValue
496
671
  }), (0, _isAsync.isAsync)(onBlurValidatorRef.current));
497
672
  await runPool(() => {
498
673
  revealError();
499
674
  forceUpdate();
500
675
  });
501
676
  }
502
- }, [addToPool, callOnBlurValidator, onBlur, onFocus, runPool, revealError, validateUnchanged]);
503
- const yieldAsyncProcess = (0, _react.useCallback)(async _ref5 => {
677
+ }, [onFocus, onBlur, validateUnchanged, addToPool, runPool, startOnBlurValidatorProcess, revealError]);
678
+ const yieldAsyncProcess = (0, _react.useCallback)(async _ref7 => {
504
679
  let {
505
680
  name,
506
681
  waitFor
507
- } = _ref5;
682
+ } = _ref7;
508
683
  return new Promise(resolve => {
509
684
  const validateProcesses = () => {
510
- const result = waitFor.some(_ref6 => {
685
+ const result = waitFor.some(_ref8 => {
511
686
  let {
512
687
  processName,
513
688
  withStates,
514
689
  hasValue
515
- } = _ref6;
690
+ } = _ref8;
516
691
  const hasMatchingValue = hasValue === validatedValue.current;
517
692
  const result = (typeof hasValue === 'undefined' ? false : !hasMatchingValue) || (processName ? processName === asyncProcessRef.current : true) && (withStates === null || withStates === void 0 ? void 0 : withStates.some(state => {
518
693
  return state === fieldStateRef.current;
@@ -607,7 +782,7 @@ function useFieldProps(localeProps) {
607
782
  if (hasPath) {
608
783
  handlePathChangeUnvalidatedDataContext(identifier, newValue);
609
784
  }
610
- addToPool('validator', validateValue, (0, _isAsync.isAsync)(validatorRef.current));
785
+ addToPool('validator', validateValue, (0, _isAsync.isAsync)(onChangeValidatorRef.current));
611
786
  addToPool('onChangeContext', callOnChangeContext, (0, _isAsync.isAsync)(onChangeContext));
612
787
  await runPool(() => {
613
788
  handleError();
@@ -670,16 +845,18 @@ function useFieldProps(localeProps) {
670
845
  const handleFocus = (0, _react.useCallback)(() => setHasFocus(true), [setHasFocus]);
671
846
  const handleBlur = (0, _react.useCallback)(() => setHasFocus(false), [setHasFocus]);
672
847
  setPropsDataContext === null || setPropsDataContext === void 0 ? void 0 : setPropsDataContext(identifier, props);
673
- (0, _useMountEffect.default)(() => {
674
- dataContext === null || dataContext === void 0 ? void 0 : dataContext.handleMountField(identifier);
848
+ (0, _react.useEffect)(() => {
849
+ handleMountField(identifier);
850
+ return () => {
851
+ handleUnMountField(identifier);
852
+ setFieldErrorDataContext === null || setFieldErrorDataContext === void 0 ? void 0 : setFieldErrorDataContext(identifier, undefined);
853
+ setFieldError === null || setFieldError === void 0 ? void 0 : setFieldError(identifier, undefined);
854
+ localErrorRef.current = undefined;
855
+ };
856
+ }, [handleMountField, handleUnMountField, identifier, setFieldError, setFieldErrorDataContext]);
857
+ (0, _react.useEffect)(() => {
675
858
  validateValue();
676
- });
677
- (0, _useUnmountEffect.default)(() => {
678
- dataContext === null || dataContext === void 0 ? void 0 : dataContext.handleUnMountField(identifier);
679
- setFieldErrorDataContext === null || setFieldErrorDataContext === void 0 ? void 0 : setFieldErrorDataContext(identifier, undefined);
680
- setFieldError === null || setFieldError === void 0 ? void 0 : setFieldError(identifier, undefined);
681
- localErrorRef.current = undefined;
682
- });
859
+ }, [validateValue]);
683
860
  (0, _useUpdateEffect.default)(() => {
684
861
  var _dataContext$ajvInsta2;
685
862
  schemaValidatorRef.current = schema ? (_dataContext$ajvInsta2 = dataContext.ajvInstance) === null || _dataContext$ajvInsta2 === void 0 ? void 0 : _dataContext$ajvInsta2.compile(schema) : undefined;
@@ -710,6 +887,14 @@ function useFieldProps(localeProps) {
710
887
  }
711
888
  }
712
889
  }, [clearErrorState, dataContextError, handleError, persistErrorState, prepareError, validateInitially]);
890
+ (0, _react.useEffect)(() => {
891
+ if (itemPath && valueProp !== undefined) {
892
+ (0, _componentHelper.warn)(`Using value="${valueProp}" prop inside Iterate is not supported yet`);
893
+ }
894
+ if (itemPath && defaultValue !== undefined) {
895
+ (0, _componentHelper.warn)(`Using defaultValue="${defaultValue}" prop inside Iterate is not supported yet`);
896
+ }
897
+ }, [defaultValue, itemPath, valueProp]);
713
898
  (0, _react.useEffect)(() => {
714
899
  if (hasPath) {
715
900
  let value = valueProp;
@@ -734,7 +919,7 @@ function useFieldProps(localeProps) {
734
919
  validateDataDataContext === null || validateDataDataContext === void 0 ? void 0 : validateDataDataContext();
735
920
  }
736
921
  }
737
- }, [dataContext.data, dataContext.id, hasPath, identifier, updateDataValueDataContext, validateDataDataContext, valueProp]);
922
+ }, [dataContext.data, dataContext.id, defaultValue, hasPath, identifier, updateDataValueDataContext, validateDataDataContext, valueProp]);
738
923
  (0, _react.useEffect)(() => {
739
924
  if (showAllErrors || showBoundaryErrors) {
740
925
  if (fieldStateRef.current !== 'validating') {
@@ -745,7 +930,7 @@ function useFieldProps(localeProps) {
745
930
  }
746
931
  }, [hideError, revealError, showAllErrors, showBoundaryErrors]);
747
932
  (0, _react.useEffect)(() => {
748
- if (dataContext.formState === 'pending' && (validatorRef.current || onBlurValidatorRef.current)) {
933
+ if (dataContext.formState === 'pending' && (onChangeValidatorRef.current || onBlurValidatorRef.current)) {
749
934
  hideError();
750
935
  forceUpdate();
751
936
  }
@@ -754,50 +939,43 @@ function useFieldProps(localeProps) {
754
939
  if (hasError()) {
755
940
  return;
756
941
  }
757
- addToPool('validator', callValidator, (0, _isAsync.isAsync)(validatorRef.current));
758
- addToPool('onBlurValidator', callOnBlurValidator, (0, _isAsync.isAsync)(onBlurValidatorRef.current));
942
+ addToPool('validator', startOnChangeValidatorValidation, (0, _isAsync.isAsync)(onChangeValidatorRef.current));
943
+ addToPool('onBlurValidator', startOnBlurValidatorProcess, (0, _isAsync.isAsync)(onBlurValidatorRef.current));
759
944
  await runPool();
760
- }, [addToPool, callOnBlurValidator, callValidator, hasError, runPool]);
761
- (0, _useMountEffect.default)(() => {
762
- var _dataContext$setField;
763
- dataContext === null || dataContext === void 0 ? void 0 : (_dataContext$setField = dataContext.setFieldEventListener) === null || _dataContext$setField === void 0 ? void 0 : _dataContext$setField.call(dataContext, identifier, 'onSubmit', onSubmitHandler);
764
- });
765
- (0, _useMountEffect.default)(() => {
945
+ }, [addToPool, startOnBlurValidatorProcess, hasError, runPool, startOnChangeValidatorValidation]);
946
+ (0, _react.useEffect)(() => {
947
+ setFieldEventListener === null || setFieldEventListener === void 0 ? void 0 : setFieldEventListener(identifier, 'onSubmit', onSubmitHandler);
948
+ }, [identifier, onSubmitHandler, setFieldEventListener]);
949
+ (0, _react.useEffect)(() => {
766
950
  if (inFieldBlock) {
767
- if (errorProp) {
768
- setFieldStateFieldBlock === null || setFieldStateFieldBlock === void 0 ? void 0 : setFieldStateFieldBlock({
769
- identifier,
770
- type: 'error',
771
- content: errorProp,
772
- showInitially: true,
773
- show: true
774
- });
775
- }
776
- if (warning) {
777
- setFieldStateFieldBlock === null || setFieldStateFieldBlock === void 0 ? void 0 : setFieldStateFieldBlock({
778
- identifier,
779
- type: 'warning',
780
- content: warning,
781
- showInitially: true,
782
- show: true
783
- });
784
- }
785
- if (info) {
786
- setFieldStateFieldBlock === null || setFieldStateFieldBlock === void 0 ? void 0 : setFieldStateFieldBlock({
787
- identifier,
788
- type: 'info',
789
- content: info,
790
- showInitially: true,
791
- show: true
792
- });
793
- }
951
+ setFieldStateFieldBlock === null || setFieldStateFieldBlock === void 0 ? void 0 : setFieldStateFieldBlock({
952
+ identifier,
953
+ type: 'error',
954
+ content: errorProp,
955
+ showInitially: true,
956
+ show: true
957
+ });
958
+ setFieldStateFieldBlock === null || setFieldStateFieldBlock === void 0 ? void 0 : setFieldStateFieldBlock({
959
+ identifier,
960
+ type: 'warning',
961
+ content: warning,
962
+ showInitially: true,
963
+ show: true
964
+ });
965
+ setFieldStateFieldBlock === null || setFieldStateFieldBlock === void 0 ? void 0 : setFieldStateFieldBlock({
966
+ identifier,
967
+ type: 'info',
968
+ content: info,
969
+ showInitially: true,
970
+ show: true
971
+ });
794
972
  return () => {
795
973
  if (mountedFieldsRefFieldBlock) {
796
974
  mountedFieldsRefFieldBlock.current[identifier] = true;
797
975
  }
798
976
  };
799
977
  }
800
- });
978
+ }, [errorProp, identifier, inFieldBlock, info, mountedFieldsRefFieldBlock, setFieldStateFieldBlock, warning]);
801
979
  const infoRef = (0, _react.useRef)(info);
802
980
  const warningRef = (0, _react.useRef)(warning);
803
981
  (0, _useUpdateEffect.default)(() => {
@@ -843,13 +1021,16 @@ function useFieldProps(localeProps) {
843
1021
  };
844
1022
  const sharedData = (0, _useSharedState.useSharedState)('field-block-props-' + id);
845
1023
  sharedData.set(fieldBlockProps);
1024
+ (0, _react.useEffect)(() => {
1025
+ isInternalRerenderRef.current = undefined;
1026
+ });
846
1027
  return _objectSpread(_objectSpread(_objectSpread({}, props), fieldBlockProps), {}, {
847
1028
  name: props.name || ((_props$path = props.path) === null || _props$path === void 0 ? void 0 : _props$path.replace('/', '')) || id,
848
1029
  autoComplete: (_props$autoComplete = props.autoComplete) !== null && _props$autoComplete !== void 0 ? _props$autoComplete : dataContext.autoComplete === true ? 'on' : undefined,
849
1030
  id,
850
1031
  value: transformers.current.transformIn(transformers.current.toInput(valueRef.current)),
851
1032
  hasError: hasVisibleError,
852
- isChanged: changedRef.current,
1033
+ isChanged: Boolean(changedRef.current),
853
1034
  props,
854
1035
  htmlAttributes,
855
1036
  setHasFocus,