@dnb/eufemia 10.43.0 → 10.45.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 (803) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/cjs/components/autocomplete/Autocomplete.d.ts +2 -2
  3. package/cjs/components/autocomplete/AutocompleteDocs.js +7 -7
  4. package/cjs/components/autocomplete/AutocompleteDocs.js.map +1 -1
  5. package/cjs/components/button/Button.d.ts +1 -1
  6. package/cjs/components/button/Button.js +6 -5
  7. package/cjs/components/button/Button.js.map +1 -1
  8. package/cjs/components/checkbox/style/dnb-checkbox.scss +1 -1
  9. package/cjs/components/input-masked/InputMaskedHooks.js +4 -0
  10. package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
  11. package/cjs/components/radio/style/dnb-radio.scss +1 -1
  12. package/cjs/components/space/Space.d.ts +1 -1
  13. package/cjs/components/space/Space.js.map +1 -1
  14. package/cjs/components/table/TableStickyHeader.js.map +1 -1
  15. package/cjs/components/table/table-accordion/TableAccordionHead.js.map +1 -1
  16. package/cjs/components/table/table-navigation/TableNavigationHead.js +1 -1
  17. package/cjs/components/table/table-navigation/TableNavigationHead.js.map +1 -1
  18. package/cjs/components/upload/Upload.js +2 -1
  19. package/cjs/components/upload/Upload.js.map +1 -1
  20. package/cjs/components/upload/UploadDocs.d.ts +1 -0
  21. package/cjs/components/upload/UploadDocs.js +18 -5
  22. package/cjs/components/upload/UploadDocs.js.map +1 -1
  23. package/cjs/components/upload/UploadInfo.js +57 -5
  24. package/cjs/components/upload/UploadInfo.js.map +1 -1
  25. package/cjs/components/upload/UploadVerify.d.ts +4 -2
  26. package/cjs/components/upload/UploadVerify.js +34 -4
  27. package/cjs/components/upload/UploadVerify.js.map +1 -1
  28. package/cjs/components/upload/style/dnb-upload.css +15 -0
  29. package/cjs/components/upload/style/dnb-upload.min.css +1 -1
  30. package/cjs/components/upload/style/dnb-upload.scss +17 -0
  31. package/cjs/components/upload/types.d.ts +9 -3
  32. package/cjs/components/upload/types.js.map +1 -1
  33. package/cjs/extensions/forms/DataContext/Context.d.ts +9 -3
  34. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  35. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +8 -0
  36. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  37. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +8 -0
  38. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  39. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +5 -12
  40. package/cjs/extensions/forms/DataContext/Provider/Provider.js +58 -18
  41. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  42. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +6 -1
  43. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  44. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -1
  45. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +29 -24
  46. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  47. package/cjs/extensions/forms/Field/Currency/CurrencyDocs.d.ts +2 -0
  48. package/cjs/extensions/forms/Field/Currency/CurrencyDocs.js +31 -0
  49. package/cjs/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -0
  50. package/cjs/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
  51. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  52. package/cjs/extensions/forms/Field/FieldDocs.d.ts +7 -0
  53. package/cjs/extensions/forms/Field/FieldDocs.js +20 -1
  54. package/cjs/extensions/forms/Field/FieldDocs.js.map +1 -1
  55. package/cjs/extensions/forms/Field/Name/Name.js +2 -2
  56. package/cjs/extensions/forms/Field/Name/Name.js.map +1 -1
  57. package/cjs/extensions/forms/Field/Number/Number.js +7 -12
  58. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  59. package/cjs/extensions/forms/Field/Option/Option.d.ts +2 -4
  60. package/cjs/extensions/forms/Field/Option/Option.js +0 -21
  61. package/cjs/extensions/forms/Field/Option/Option.js.map +1 -1
  62. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +5 -2
  63. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +33 -15
  64. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  65. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +3 -0
  66. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +28 -0
  67. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -0
  68. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  69. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +32 -16
  70. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  71. package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.d.ts +1 -0
  72. package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +16 -0
  73. package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -0
  74. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +42 -15
  75. package/cjs/extensions/forms/Field/Selection/Selection.js +92 -29
  76. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  77. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js +10 -0
  78. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  79. package/cjs/extensions/forms/Field/Toggle/Toggle.js +1 -1
  80. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  81. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +3 -3
  82. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  83. package/cjs/extensions/forms/Form/Element/Element.js +11 -9
  84. package/cjs/extensions/forms/Form/Element/Element.js.map +1 -1
  85. package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  86. package/cjs/extensions/forms/Form/Handler/Handler.js +3 -1
  87. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  88. package/cjs/extensions/forms/Form/Isolation/Isolation.d.ts +26 -5
  89. package/cjs/extensions/forms/Form/Isolation/Isolation.js +84 -26
  90. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  91. package/cjs/extensions/forms/Form/Isolation/IsolationCommitButton.js +1 -0
  92. package/cjs/extensions/forms/Form/Isolation/IsolationCommitButton.js.map +1 -1
  93. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js +11 -1
  94. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  95. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +13 -5
  96. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  97. package/cjs/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +10 -13
  98. package/cjs/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -1
  99. package/cjs/extensions/forms/Form/Section/Section.js +2 -2
  100. package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
  101. package/cjs/extensions/forms/Form/data-context/clearData.d.ts +1 -0
  102. package/cjs/extensions/forms/Form/data-context/clearData.js +16 -0
  103. package/cjs/extensions/forms/Form/data-context/clearData.js.map +1 -0
  104. package/cjs/extensions/forms/Form/index.d.ts +1 -0
  105. package/cjs/extensions/forms/Form/index.js +7 -0
  106. package/cjs/extensions/forms/Form/index.js.map +1 -1
  107. package/cjs/extensions/forms/Iterate/AnimatedContainer/AnimatedContainer.js +3 -3
  108. package/cjs/extensions/forms/Iterate/AnimatedContainer/AnimatedContainer.js.map +1 -1
  109. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +2 -2
  110. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  111. package/cjs/extensions/forms/Iterate/Array/Array.js +7 -5
  112. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  113. package/cjs/extensions/forms/Iterate/Array/types.d.ts +1 -4
  114. package/cjs/extensions/forms/Iterate/Array/types.js.map +1 -1
  115. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +1 -3
  116. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +25 -19
  117. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  118. package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +10 -0
  119. package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  120. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +44 -14
  121. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  122. package/cjs/extensions/forms/Iterate/{IterateElementContext.d.ts → IterateItemContext.d.ts} +3 -3
  123. package/cjs/extensions/forms/Iterate/{IterateElementContext.js → IterateItemContext.js} +3 -3
  124. package/cjs/extensions/forms/Iterate/IterateItemContext.js.map +1 -0
  125. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js +3 -3
  126. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  127. package/cjs/extensions/forms/Iterate/PushButton/PushButtonDocs.js +5 -0
  128. package/cjs/extensions/forms/Iterate/PushButton/PushButtonDocs.js.map +1 -1
  129. package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.d.ts +4 -0
  130. package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.js +42 -0
  131. package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -0
  132. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +37 -0
  133. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +95 -0
  134. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -0
  135. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerContext.d.ts +11 -0
  136. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerContext.js +12 -0
  137. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerContext.js.map +1 -0
  138. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.d.ts +3 -0
  139. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +42 -0
  140. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -0
  141. package/cjs/extensions/forms/Iterate/PushContainer/index.d.ts +2 -0
  142. package/cjs/extensions/forms/Iterate/PushContainer/index.js +27 -0
  143. package/cjs/extensions/forms/Iterate/PushContainer/index.js.map +1 -0
  144. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +4 -4
  145. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  146. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +4 -0
  147. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +13 -5
  148. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  149. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  150. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  151. package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +3 -3
  152. package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  153. package/cjs/extensions/forms/Iterate/hooks/useItem.d.ts +1 -0
  154. package/cjs/extensions/forms/Iterate/hooks/useItem.js +15 -0
  155. package/cjs/extensions/forms/Iterate/hooks/useItem.js.map +1 -0
  156. package/cjs/extensions/forms/Iterate/index.d.ts +3 -1
  157. package/cjs/extensions/forms/Iterate/index.js +17 -3
  158. package/cjs/extensions/forms/Iterate/index.js.map +1 -1
  159. package/cjs/extensions/forms/Iterate/style/dnb-iterate.css +1 -1
  160. package/cjs/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -1
  161. package/cjs/extensions/forms/Iterate/style/dnb-iterate.scss +1 -1
  162. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +19 -0
  163. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js +81 -0
  164. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -0
  165. package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.d.ts +2 -0
  166. package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +15 -0
  167. package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -0
  168. package/cjs/extensions/forms/Value/ArraySelection/index.d.ts +2 -0
  169. package/cjs/extensions/forms/Value/ArraySelection/index.js +27 -0
  170. package/cjs/extensions/forms/Value/ArraySelection/index.js.map +1 -0
  171. package/cjs/extensions/forms/Value/Selection/Selection.d.ts +9 -0
  172. package/cjs/extensions/forms/Value/Selection/Selection.js +58 -0
  173. package/cjs/extensions/forms/Value/Selection/Selection.js.map +1 -0
  174. package/cjs/extensions/forms/Value/Selection/SelectionDocs.d.ts +2 -0
  175. package/cjs/extensions/forms/Value/Selection/SelectionDocs.js +15 -0
  176. package/cjs/extensions/forms/Value/Selection/SelectionDocs.js.map +1 -0
  177. package/cjs/extensions/forms/Value/Selection/index.d.ts +2 -0
  178. package/cjs/extensions/forms/Value/Selection/index.js +27 -0
  179. package/cjs/extensions/forms/Value/Selection/index.js.map +1 -0
  180. package/cjs/extensions/forms/Value/ValueDocs.js +6 -1
  181. package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -1
  182. package/cjs/extensions/forms/Value/index.d.ts +2 -0
  183. package/cjs/extensions/forms/Value/index.js +14 -0
  184. package/cjs/extensions/forms/Value/index.js.map +1 -1
  185. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +3 -3
  186. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  187. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +27 -11
  188. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  189. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +1 -0
  190. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  191. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +7 -0
  192. package/cjs/extensions/forms/constants/locales/en-GB.js +7 -0
  193. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  194. package/cjs/extensions/forms/constants/locales/en-US.d.ts +7 -0
  195. package/cjs/extensions/forms/constants/locales/index.d.ts +14 -0
  196. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +7 -0
  197. package/cjs/extensions/forms/constants/locales/nb-NO.js +7 -0
  198. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  199. package/cjs/extensions/forms/hooks/DataValueDocs.js +4 -4
  200. package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  201. package/cjs/extensions/forms/hooks/useDataValue.d.ts +2 -0
  202. package/cjs/extensions/forms/hooks/useDataValue.js +29 -13
  203. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  204. package/cjs/extensions/forms/hooks/useExternalValue.js +4 -4
  205. package/cjs/extensions/forms/hooks/useExternalValue.js.map +1 -1
  206. package/cjs/extensions/forms/hooks/useFieldProps.d.ts +5 -5
  207. package/cjs/extensions/forms/hooks/useFieldProps.js +49 -31
  208. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  209. package/cjs/extensions/forms/hooks/usePath.js +3 -3
  210. package/cjs/extensions/forms/hooks/usePath.js.map +1 -1
  211. package/cjs/extensions/forms/hooks/useValueProps.js +4 -1
  212. package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
  213. package/cjs/extensions/forms/style/dnb-forms.css +1 -1
  214. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  215. package/cjs/extensions/forms/types.d.ts +20 -7
  216. package/cjs/extensions/forms/types.js.map +1 -1
  217. package/cjs/shared/Eufemia.d.ts +1 -1
  218. package/cjs/shared/Eufemia.js +2 -2
  219. package/cjs/shared/Eufemia.js.map +1 -1
  220. package/cjs/shared/helpers/isAsync.js +2 -2
  221. package/cjs/shared/helpers/isAsync.js.map +1 -1
  222. package/cjs/shared/locales/en-GB.d.ts +1 -0
  223. package/cjs/shared/locales/en-GB.js +1 -0
  224. package/cjs/shared/locales/en-GB.js.map +1 -1
  225. package/cjs/shared/locales/en-US.d.ts +1 -0
  226. package/cjs/shared/locales/index.d.ts +2 -0
  227. package/cjs/shared/locales/nb-NO.d.ts +1 -0
  228. package/cjs/shared/locales/nb-NO.js +2 -1
  229. package/cjs/shared/locales/nb-NO.js.map +1 -1
  230. package/cjs/shared/useTheme.d.ts +4 -10
  231. package/cjs/shared/useTheme.js +7 -5
  232. package/cjs/shared/useTheme.js.map +1 -1
  233. package/cjs/style/core/scopes.scss +1 -1
  234. package/cjs/style/dnb-ui-basis.css +1 -1
  235. package/cjs/style/dnb-ui-basis.min.css +1 -1
  236. package/cjs/style/dnb-ui-body.css +1 -1
  237. package/cjs/style/dnb-ui-body.min.css +1 -1
  238. package/cjs/style/dnb-ui-components.css +16 -1
  239. package/cjs/style/dnb-ui-components.min.css +2 -2
  240. package/cjs/style/dnb-ui-core.css +1 -1
  241. package/cjs/style/dnb-ui-core.min.css +1 -1
  242. package/cjs/style/dnb-ui-extensions.css +1 -1
  243. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  244. package/cjs/style/dnb-ui-forms.css +1 -1
  245. package/cjs/style/dnb-ui-forms.min.css +1 -1
  246. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +17 -2
  247. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  248. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +1 -1
  249. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  250. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +1 -1
  251. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  252. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +17 -2
  253. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  254. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +1 -1
  255. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  256. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +1 -1
  257. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  258. package/cjs/style/themes/theme-ui/ui-theme-components.css +17 -2
  259. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  260. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +1 -1
  261. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  262. package/cjs/style/themes/theme-ui/ui-theme-forms.css +1 -1
  263. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  264. package/components/autocomplete/Autocomplete.d.ts +2 -2
  265. package/components/autocomplete/AutocompleteDocs.js +7 -7
  266. package/components/autocomplete/AutocompleteDocs.js.map +1 -1
  267. package/components/button/Button.d.ts +1 -1
  268. package/components/button/Button.js +6 -5
  269. package/components/button/Button.js.map +1 -1
  270. package/components/checkbox/style/dnb-checkbox.scss +1 -1
  271. package/components/input-masked/InputMaskedHooks.js +4 -0
  272. package/components/input-masked/InputMaskedHooks.js.map +1 -1
  273. package/components/radio/style/dnb-radio.scss +1 -1
  274. package/components/space/Space.d.ts +1 -1
  275. package/components/space/Space.js.map +1 -1
  276. package/components/table/TableStickyHeader.js.map +1 -1
  277. package/components/table/table-accordion/TableAccordionHead.js.map +1 -1
  278. package/components/table/table-navigation/TableNavigationHead.js +1 -1
  279. package/components/table/table-navigation/TableNavigationHead.js.map +1 -1
  280. package/components/upload/Upload.js +2 -1
  281. package/components/upload/Upload.js.map +1 -1
  282. package/components/upload/UploadDocs.d.ts +1 -0
  283. package/components/upload/UploadDocs.js +16 -4
  284. package/components/upload/UploadDocs.js.map +1 -1
  285. package/components/upload/UploadInfo.js +57 -5
  286. package/components/upload/UploadInfo.js.map +1 -1
  287. package/components/upload/UploadVerify.d.ts +4 -2
  288. package/components/upload/UploadVerify.js +32 -4
  289. package/components/upload/UploadVerify.js.map +1 -1
  290. package/components/upload/style/dnb-upload.css +15 -0
  291. package/components/upload/style/dnb-upload.min.css +1 -1
  292. package/components/upload/style/dnb-upload.scss +17 -0
  293. package/components/upload/types.d.ts +9 -3
  294. package/components/upload/types.js.map +1 -1
  295. package/es/components/autocomplete/Autocomplete.d.ts +2 -2
  296. package/es/components/autocomplete/AutocompleteDocs.js +7 -7
  297. package/es/components/autocomplete/AutocompleteDocs.js.map +1 -1
  298. package/es/components/button/Button.d.ts +1 -1
  299. package/es/components/button/Button.js +6 -5
  300. package/es/components/button/Button.js.map +1 -1
  301. package/es/components/checkbox/style/dnb-checkbox.scss +1 -1
  302. package/es/components/input-masked/InputMaskedHooks.js +4 -0
  303. package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
  304. package/es/components/radio/style/dnb-radio.scss +1 -1
  305. package/es/components/space/Space.d.ts +1 -1
  306. package/es/components/space/Space.js.map +1 -1
  307. package/es/components/table/TableStickyHeader.js.map +1 -1
  308. package/es/components/table/table-accordion/TableAccordionHead.js.map +1 -1
  309. package/es/components/table/table-navigation/TableNavigationHead.js +1 -1
  310. package/es/components/table/table-navigation/TableNavigationHead.js.map +1 -1
  311. package/es/components/upload/Upload.js +2 -1
  312. package/es/components/upload/Upload.js.map +1 -1
  313. package/es/components/upload/UploadDocs.d.ts +1 -0
  314. package/es/components/upload/UploadDocs.js +16 -4
  315. package/es/components/upload/UploadDocs.js.map +1 -1
  316. package/es/components/upload/UploadInfo.js +57 -5
  317. package/es/components/upload/UploadInfo.js.map +1 -1
  318. package/es/components/upload/UploadVerify.d.ts +4 -2
  319. package/es/components/upload/UploadVerify.js +32 -4
  320. package/es/components/upload/UploadVerify.js.map +1 -1
  321. package/es/components/upload/style/dnb-upload.css +15 -0
  322. package/es/components/upload/style/dnb-upload.min.css +1 -1
  323. package/es/components/upload/style/dnb-upload.scss +17 -0
  324. package/es/components/upload/types.d.ts +9 -3
  325. package/es/components/upload/types.js.map +1 -1
  326. package/es/extensions/forms/DataContext/Context.d.ts +9 -3
  327. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  328. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +8 -0
  329. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  330. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +9 -1
  331. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  332. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +5 -12
  333. package/es/extensions/forms/DataContext/Provider/Provider.js +56 -18
  334. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  335. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +6 -1
  336. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  337. package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -1
  338. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +28 -24
  339. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  340. package/es/extensions/forms/Field/Currency/CurrencyDocs.d.ts +2 -0
  341. package/es/extensions/forms/Field/Currency/CurrencyDocs.js +22 -0
  342. package/es/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -0
  343. package/es/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
  344. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  345. package/es/extensions/forms/Field/FieldDocs.d.ts +7 -0
  346. package/es/extensions/forms/Field/FieldDocs.js +16 -0
  347. package/es/extensions/forms/Field/FieldDocs.js.map +1 -1
  348. package/es/extensions/forms/Field/Name/Name.js +2 -2
  349. package/es/extensions/forms/Field/Name/Name.js.map +1 -1
  350. package/es/extensions/forms/Field/Number/Number.js +7 -12
  351. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  352. package/es/extensions/forms/Field/Option/Option.d.ts +2 -4
  353. package/es/extensions/forms/Field/Option/Option.js +0 -20
  354. package/es/extensions/forms/Field/Option/Option.js.map +1 -1
  355. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +5 -2
  356. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +32 -15
  357. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  358. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +3 -0
  359. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +20 -0
  360. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -0
  361. package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  362. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +16 -3
  363. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  364. package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.d.ts +1 -0
  365. package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +9 -0
  366. package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -0
  367. package/es/extensions/forms/Field/Selection/Selection.d.ts +42 -15
  368. package/es/extensions/forms/Field/Selection/Selection.js +86 -28
  369. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  370. package/es/extensions/forms/Field/Selection/SelectionDocs.js +10 -0
  371. package/es/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  372. package/es/extensions/forms/Field/Toggle/Toggle.js +1 -1
  373. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  374. package/es/extensions/forms/FieldBlock/FieldBlock.js +3 -3
  375. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  376. package/es/extensions/forms/Form/Element/Element.js +9 -9
  377. package/es/extensions/forms/Form/Element/Element.js.map +1 -1
  378. package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  379. package/es/extensions/forms/Form/Handler/Handler.js +3 -1
  380. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  381. package/es/extensions/forms/Form/Isolation/Isolation.d.ts +26 -5
  382. package/es/extensions/forms/Form/Isolation/Isolation.js +85 -27
  383. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  384. package/es/extensions/forms/Form/Isolation/IsolationCommitButton.js +1 -0
  385. package/es/extensions/forms/Form/Isolation/IsolationCommitButton.js.map +1 -1
  386. package/es/extensions/forms/Form/Isolation/IsolationDocs.js +11 -1
  387. package/es/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  388. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +13 -5
  389. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  390. package/es/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +10 -11
  391. package/es/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -1
  392. package/es/extensions/forms/Form/Section/Section.js +2 -2
  393. package/es/extensions/forms/Form/Section/Section.js.map +1 -1
  394. package/es/extensions/forms/Form/data-context/clearData.d.ts +1 -0
  395. package/es/extensions/forms/Form/data-context/clearData.js +10 -0
  396. package/es/extensions/forms/Form/data-context/clearData.js.map +1 -0
  397. package/es/extensions/forms/Form/index.d.ts +1 -0
  398. package/es/extensions/forms/Form/index.js +1 -0
  399. package/es/extensions/forms/Form/index.js.map +1 -1
  400. package/es/extensions/forms/Iterate/AnimatedContainer/AnimatedContainer.js +3 -3
  401. package/es/extensions/forms/Iterate/AnimatedContainer/AnimatedContainer.js.map +1 -1
  402. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +2 -2
  403. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  404. package/es/extensions/forms/Iterate/Array/Array.js +7 -5
  405. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  406. package/es/extensions/forms/Iterate/Array/types.d.ts +1 -4
  407. package/es/extensions/forms/Iterate/Array/types.js.map +1 -1
  408. package/es/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +1 -3
  409. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +26 -20
  410. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  411. package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +10 -0
  412. package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  413. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +44 -14
  414. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  415. package/{extensions/forms/Iterate/IterateElementContext.d.ts → es/extensions/forms/Iterate/IterateItemContext.d.ts} +3 -3
  416. package/es/extensions/forms/Iterate/IterateItemContext.js +4 -0
  417. package/es/extensions/forms/Iterate/IterateItemContext.js.map +1 -0
  418. package/es/extensions/forms/Iterate/PushButton/PushButton.js +3 -3
  419. package/es/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  420. package/es/extensions/forms/Iterate/PushButton/PushButtonDocs.js +5 -0
  421. package/es/extensions/forms/Iterate/PushButton/PushButtonDocs.js.map +1 -1
  422. package/es/extensions/forms/Iterate/PushContainer/OpenButton.d.ts +4 -0
  423. package/es/extensions/forms/Iterate/PushContainer/OpenButton.js +32 -0
  424. package/es/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -0
  425. package/es/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +37 -0
  426. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +80 -0
  427. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -0
  428. package/es/extensions/forms/Iterate/PushContainer/PushContainerContext.d.ts +11 -0
  429. package/es/extensions/forms/Iterate/PushContainer/PushContainerContext.js +6 -0
  430. package/es/extensions/forms/Iterate/PushContainer/PushContainerContext.js.map +1 -0
  431. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.d.ts +3 -0
  432. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +34 -0
  433. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -0
  434. package/es/extensions/forms/Iterate/PushContainer/index.d.ts +2 -0
  435. package/es/extensions/forms/Iterate/PushContainer/index.js +3 -0
  436. package/es/extensions/forms/Iterate/PushContainer/index.js.map +1 -0
  437. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +4 -4
  438. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  439. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +4 -0
  440. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +15 -6
  441. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  442. package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  443. package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  444. package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +3 -3
  445. package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  446. package/es/extensions/forms/Iterate/hooks/useItem.d.ts +1 -0
  447. package/es/extensions/forms/Iterate/hooks/useItem.js +9 -0
  448. package/es/extensions/forms/Iterate/hooks/useItem.js.map +1 -0
  449. package/es/extensions/forms/Iterate/index.d.ts +3 -1
  450. package/es/extensions/forms/Iterate/index.js +3 -1
  451. package/es/extensions/forms/Iterate/index.js.map +1 -1
  452. package/es/extensions/forms/Iterate/style/dnb-iterate.css +1 -1
  453. package/es/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -1
  454. package/es/extensions/forms/Iterate/style/dnb-iterate.scss +1 -1
  455. package/es/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +19 -0
  456. package/es/extensions/forms/Value/ArraySelection/ArraySelection.js +66 -0
  457. package/es/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -0
  458. package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.d.ts +2 -0
  459. package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +8 -0
  460. package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -0
  461. package/es/extensions/forms/Value/ArraySelection/index.d.ts +2 -0
  462. package/es/extensions/forms/Value/ArraySelection/index.js +3 -0
  463. package/es/extensions/forms/Value/ArraySelection/index.js.map +1 -0
  464. package/es/extensions/forms/Value/Selection/Selection.d.ts +9 -0
  465. package/es/extensions/forms/Value/Selection/Selection.js +48 -0
  466. package/es/extensions/forms/Value/Selection/Selection.js.map +1 -0
  467. package/es/extensions/forms/Value/Selection/SelectionDocs.d.ts +2 -0
  468. package/es/extensions/forms/Value/Selection/SelectionDocs.js +8 -0
  469. package/es/extensions/forms/Value/Selection/SelectionDocs.js.map +1 -0
  470. package/es/extensions/forms/Value/Selection/index.d.ts +2 -0
  471. package/es/extensions/forms/Value/Selection/index.js +3 -0
  472. package/es/extensions/forms/Value/Selection/index.js.map +1 -0
  473. package/es/extensions/forms/Value/ValueDocs.js +6 -1
  474. package/es/extensions/forms/Value/ValueDocs.js.map +1 -1
  475. package/es/extensions/forms/Value/index.d.ts +2 -0
  476. package/es/extensions/forms/Value/index.js +2 -0
  477. package/es/extensions/forms/Value/index.js.map +1 -1
  478. package/es/extensions/forms/ValueBlock/ValueBlock.js +3 -3
  479. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  480. package/es/extensions/forms/Wizard/Container/WizardContainer.js +16 -1
  481. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  482. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +1 -0
  483. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  484. package/es/extensions/forms/constants/locales/en-GB.d.ts +7 -0
  485. package/es/extensions/forms/constants/locales/en-GB.js +7 -0
  486. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  487. package/es/extensions/forms/constants/locales/en-US.d.ts +7 -0
  488. package/es/extensions/forms/constants/locales/index.d.ts +14 -0
  489. package/es/extensions/forms/constants/locales/nb-NO.d.ts +7 -0
  490. package/es/extensions/forms/constants/locales/nb-NO.js +7 -0
  491. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  492. package/es/extensions/forms/hooks/DataValueDocs.js +4 -4
  493. package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  494. package/es/extensions/forms/hooks/useDataValue.d.ts +2 -0
  495. package/es/extensions/forms/hooks/useDataValue.js +29 -13
  496. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  497. package/es/extensions/forms/hooks/useExternalValue.js +4 -4
  498. package/es/extensions/forms/hooks/useExternalValue.js.map +1 -1
  499. package/es/extensions/forms/hooks/useFieldProps.d.ts +5 -5
  500. package/es/extensions/forms/hooks/useFieldProps.js +49 -31
  501. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  502. package/es/extensions/forms/hooks/usePath.js +2 -2
  503. package/es/extensions/forms/hooks/usePath.js.map +1 -1
  504. package/es/extensions/forms/hooks/useValueProps.js +4 -1
  505. package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
  506. package/es/extensions/forms/style/dnb-forms.css +1 -1
  507. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  508. package/es/extensions/forms/types.d.ts +20 -7
  509. package/es/extensions/forms/types.js.map +1 -1
  510. package/es/shared/Eufemia.d.ts +1 -1
  511. package/es/shared/Eufemia.js +2 -2
  512. package/es/shared/Eufemia.js.map +1 -1
  513. package/es/shared/helpers/isAsync.js +2 -2
  514. package/es/shared/helpers/isAsync.js.map +1 -1
  515. package/es/shared/locales/en-GB.d.ts +1 -0
  516. package/es/shared/locales/en-GB.js +1 -0
  517. package/es/shared/locales/en-GB.js.map +1 -1
  518. package/es/shared/locales/en-US.d.ts +1 -0
  519. package/es/shared/locales/index.d.ts +2 -0
  520. package/es/shared/locales/nb-NO.d.ts +1 -0
  521. package/es/shared/locales/nb-NO.js +2 -1
  522. package/es/shared/locales/nb-NO.js.map +1 -1
  523. package/es/shared/useTheme.d.ts +4 -10
  524. package/es/shared/useTheme.js +7 -5
  525. package/es/shared/useTheme.js.map +1 -1
  526. package/es/style/core/scopes.scss +1 -1
  527. package/es/style/dnb-ui-basis.css +1 -1
  528. package/es/style/dnb-ui-basis.min.css +1 -1
  529. package/es/style/dnb-ui-body.css +1 -1
  530. package/es/style/dnb-ui-body.min.css +1 -1
  531. package/es/style/dnb-ui-components.css +16 -1
  532. package/es/style/dnb-ui-components.min.css +2 -2
  533. package/es/style/dnb-ui-core.css +1 -1
  534. package/es/style/dnb-ui-core.min.css +1 -1
  535. package/es/style/dnb-ui-extensions.css +1 -1
  536. package/es/style/dnb-ui-extensions.min.css +1 -1
  537. package/es/style/dnb-ui-forms.css +1 -1
  538. package/es/style/dnb-ui-forms.min.css +1 -1
  539. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +17 -2
  540. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  541. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +1 -1
  542. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  543. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +1 -1
  544. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  545. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +17 -2
  546. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  547. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +1 -1
  548. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  549. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +1 -1
  550. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  551. package/es/style/themes/theme-ui/ui-theme-components.css +17 -2
  552. package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  553. package/es/style/themes/theme-ui/ui-theme-extensions.css +1 -1
  554. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  555. package/es/style/themes/theme-ui/ui-theme-forms.css +1 -1
  556. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  557. package/esm/dnb-ui-basis.min.mjs +1 -1
  558. package/esm/dnb-ui-components.min.mjs +1 -1
  559. package/esm/dnb-ui-elements.min.mjs +1 -1
  560. package/esm/dnb-ui-extensions.min.mjs +5 -5
  561. package/esm/dnb-ui-lib.min.mjs +1 -1
  562. package/extensions/forms/DataContext/Context.d.ts +9 -3
  563. package/extensions/forms/DataContext/Context.js.map +1 -1
  564. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +8 -0
  565. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  566. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +9 -1
  567. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  568. package/extensions/forms/DataContext/Provider/Provider.d.ts +5 -12
  569. package/extensions/forms/DataContext/Provider/Provider.js +56 -18
  570. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  571. package/extensions/forms/DataContext/Provider/ProviderDocs.js +6 -1
  572. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  573. package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -1
  574. package/extensions/forms/Field/ArraySelection/ArraySelection.js +28 -24
  575. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  576. package/extensions/forms/Field/Currency/CurrencyDocs.d.ts +2 -0
  577. package/extensions/forms/Field/Currency/CurrencyDocs.js +22 -0
  578. package/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -0
  579. package/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
  580. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  581. package/extensions/forms/Field/FieldDocs.d.ts +7 -0
  582. package/extensions/forms/Field/FieldDocs.js +18 -0
  583. package/extensions/forms/Field/FieldDocs.js.map +1 -1
  584. package/extensions/forms/Field/Name/Name.js +2 -2
  585. package/extensions/forms/Field/Name/Name.js.map +1 -1
  586. package/extensions/forms/Field/Number/Number.js +7 -12
  587. package/extensions/forms/Field/Number/Number.js.map +1 -1
  588. package/extensions/forms/Field/Option/Option.d.ts +2 -4
  589. package/extensions/forms/Field/Option/Option.js +0 -20
  590. package/extensions/forms/Field/Option/Option.js.map +1 -1
  591. package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +5 -2
  592. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +33 -15
  593. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  594. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +3 -0
  595. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +20 -0
  596. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -0
  597. package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  598. package/extensions/forms/Field/SelectCountry/SelectCountry.js +32 -16
  599. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  600. package/extensions/forms/Field/SelectCountry/SelectCountryDocs.d.ts +1 -0
  601. package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +9 -0
  602. package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -0
  603. package/extensions/forms/Field/Selection/Selection.d.ts +42 -15
  604. package/extensions/forms/Field/Selection/Selection.js +90 -28
  605. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  606. package/extensions/forms/Field/Selection/SelectionDocs.js +10 -0
  607. package/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  608. package/extensions/forms/Field/Toggle/Toggle.js +1 -1
  609. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  610. package/extensions/forms/FieldBlock/FieldBlock.js +3 -3
  611. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  612. package/extensions/forms/Form/Element/Element.js +9 -9
  613. package/extensions/forms/Form/Element/Element.js.map +1 -1
  614. package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  615. package/extensions/forms/Form/Handler/Handler.js +3 -1
  616. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  617. package/extensions/forms/Form/Isolation/Isolation.d.ts +26 -5
  618. package/extensions/forms/Form/Isolation/Isolation.js +85 -27
  619. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  620. package/extensions/forms/Form/Isolation/IsolationCommitButton.js +1 -0
  621. package/extensions/forms/Form/Isolation/IsolationCommitButton.js.map +1 -1
  622. package/extensions/forms/Form/Isolation/IsolationDocs.js +11 -1
  623. package/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  624. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +13 -5
  625. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  626. package/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +10 -11
  627. package/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -1
  628. package/extensions/forms/Form/Section/Section.js +2 -2
  629. package/extensions/forms/Form/Section/Section.js.map +1 -1
  630. package/extensions/forms/Form/data-context/clearData.d.ts +1 -0
  631. package/extensions/forms/Form/data-context/clearData.js +10 -0
  632. package/extensions/forms/Form/data-context/clearData.js.map +1 -0
  633. package/extensions/forms/Form/index.d.ts +1 -0
  634. package/extensions/forms/Form/index.js +1 -0
  635. package/extensions/forms/Form/index.js.map +1 -1
  636. package/extensions/forms/Iterate/AnimatedContainer/AnimatedContainer.js +3 -3
  637. package/extensions/forms/Iterate/AnimatedContainer/AnimatedContainer.js.map +1 -1
  638. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +2 -2
  639. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  640. package/extensions/forms/Iterate/Array/Array.js +7 -5
  641. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  642. package/extensions/forms/Iterate/Array/types.d.ts +1 -4
  643. package/extensions/forms/Iterate/Array/types.js.map +1 -1
  644. package/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +1 -3
  645. package/extensions/forms/Iterate/EditContainer/EditContainer.js +26 -20
  646. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  647. package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +10 -0
  648. package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  649. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +44 -14
  650. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  651. package/{es/extensions/forms/Iterate/IterateElementContext.d.ts → extensions/forms/Iterate/IterateItemContext.d.ts} +3 -3
  652. package/extensions/forms/Iterate/IterateItemContext.js +4 -0
  653. package/extensions/forms/Iterate/IterateItemContext.js.map +1 -0
  654. package/extensions/forms/Iterate/PushButton/PushButton.js +3 -3
  655. package/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  656. package/extensions/forms/Iterate/PushButton/PushButtonDocs.js +5 -0
  657. package/extensions/forms/Iterate/PushButton/PushButtonDocs.js.map +1 -1
  658. package/extensions/forms/Iterate/PushContainer/OpenButton.d.ts +4 -0
  659. package/extensions/forms/Iterate/PushContainer/OpenButton.js +32 -0
  660. package/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -0
  661. package/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +37 -0
  662. package/extensions/forms/Iterate/PushContainer/PushContainer.js +83 -0
  663. package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -0
  664. package/extensions/forms/Iterate/PushContainer/PushContainerContext.d.ts +11 -0
  665. package/extensions/forms/Iterate/PushContainer/PushContainerContext.js +6 -0
  666. package/extensions/forms/Iterate/PushContainer/PushContainerContext.js.map +1 -0
  667. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.d.ts +3 -0
  668. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +34 -0
  669. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -0
  670. package/extensions/forms/Iterate/PushContainer/index.d.ts +2 -0
  671. package/extensions/forms/Iterate/PushContainer/index.js +3 -0
  672. package/extensions/forms/Iterate/PushContainer/index.js.map +1 -0
  673. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +4 -4
  674. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  675. package/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +4 -0
  676. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +15 -6
  677. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  678. package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  679. package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  680. package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +3 -3
  681. package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  682. package/extensions/forms/Iterate/hooks/useItem.d.ts +1 -0
  683. package/extensions/forms/Iterate/hooks/useItem.js +9 -0
  684. package/extensions/forms/Iterate/hooks/useItem.js.map +1 -0
  685. package/extensions/forms/Iterate/index.d.ts +3 -1
  686. package/extensions/forms/Iterate/index.js +3 -1
  687. package/extensions/forms/Iterate/index.js.map +1 -1
  688. package/extensions/forms/Iterate/style/dnb-iterate.css +1 -1
  689. package/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -1
  690. package/extensions/forms/Iterate/style/dnb-iterate.scss +1 -1
  691. package/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +19 -0
  692. package/extensions/forms/Value/ArraySelection/ArraySelection.js +70 -0
  693. package/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -0
  694. package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.d.ts +2 -0
  695. package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +8 -0
  696. package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -0
  697. package/extensions/forms/Value/ArraySelection/index.d.ts +2 -0
  698. package/extensions/forms/Value/ArraySelection/index.js +3 -0
  699. package/extensions/forms/Value/ArraySelection/index.js.map +1 -0
  700. package/extensions/forms/Value/Selection/Selection.d.ts +9 -0
  701. package/extensions/forms/Value/Selection/Selection.js +48 -0
  702. package/extensions/forms/Value/Selection/Selection.js.map +1 -0
  703. package/extensions/forms/Value/Selection/SelectionDocs.d.ts +2 -0
  704. package/extensions/forms/Value/Selection/SelectionDocs.js +8 -0
  705. package/extensions/forms/Value/Selection/SelectionDocs.js.map +1 -0
  706. package/extensions/forms/Value/Selection/index.d.ts +2 -0
  707. package/extensions/forms/Value/Selection/index.js +3 -0
  708. package/extensions/forms/Value/Selection/index.js.map +1 -0
  709. package/extensions/forms/Value/ValueDocs.js +6 -1
  710. package/extensions/forms/Value/ValueDocs.js.map +1 -1
  711. package/extensions/forms/Value/index.d.ts +2 -0
  712. package/extensions/forms/Value/index.js +2 -0
  713. package/extensions/forms/Value/index.js.map +1 -1
  714. package/extensions/forms/ValueBlock/ValueBlock.js +3 -3
  715. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  716. package/extensions/forms/Wizard/Container/WizardContainer.js +27 -11
  717. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  718. package/extensions/forms/Wizard/Context/WizardContext.d.ts +1 -0
  719. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  720. package/extensions/forms/constants/locales/en-GB.d.ts +7 -0
  721. package/extensions/forms/constants/locales/en-GB.js +7 -0
  722. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  723. package/extensions/forms/constants/locales/en-US.d.ts +7 -0
  724. package/extensions/forms/constants/locales/index.d.ts +14 -0
  725. package/extensions/forms/constants/locales/nb-NO.d.ts +7 -0
  726. package/extensions/forms/constants/locales/nb-NO.js +7 -0
  727. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  728. package/extensions/forms/hooks/DataValueDocs.js +4 -4
  729. package/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  730. package/extensions/forms/hooks/useDataValue.d.ts +2 -0
  731. package/extensions/forms/hooks/useDataValue.js +29 -13
  732. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  733. package/extensions/forms/hooks/useExternalValue.js +4 -4
  734. package/extensions/forms/hooks/useExternalValue.js.map +1 -1
  735. package/extensions/forms/hooks/useFieldProps.d.ts +5 -5
  736. package/extensions/forms/hooks/useFieldProps.js +49 -31
  737. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  738. package/extensions/forms/hooks/usePath.js +2 -2
  739. package/extensions/forms/hooks/usePath.js.map +1 -1
  740. package/extensions/forms/hooks/useValueProps.js +4 -1
  741. package/extensions/forms/hooks/useValueProps.js.map +1 -1
  742. package/extensions/forms/style/dnb-forms.css +1 -1
  743. package/extensions/forms/style/dnb-forms.min.css +1 -1
  744. package/extensions/forms/types.d.ts +20 -7
  745. package/extensions/forms/types.js.map +1 -1
  746. package/package.json +1 -1
  747. package/shared/Eufemia.d.ts +1 -1
  748. package/shared/Eufemia.js +2 -2
  749. package/shared/Eufemia.js.map +1 -1
  750. package/shared/helpers/isAsync.js +2 -2
  751. package/shared/helpers/isAsync.js.map +1 -1
  752. package/shared/locales/en-GB.d.ts +1 -0
  753. package/shared/locales/en-GB.js +1 -0
  754. package/shared/locales/en-GB.js.map +1 -1
  755. package/shared/locales/en-US.d.ts +1 -0
  756. package/shared/locales/index.d.ts +2 -0
  757. package/shared/locales/nb-NO.d.ts +1 -0
  758. package/shared/locales/nb-NO.js +2 -1
  759. package/shared/locales/nb-NO.js.map +1 -1
  760. package/shared/useTheme.d.ts +4 -10
  761. package/shared/useTheme.js +7 -5
  762. package/shared/useTheme.js.map +1 -1
  763. package/style/core/scopes.scss +1 -1
  764. package/style/dnb-ui-basis.css +1 -1
  765. package/style/dnb-ui-basis.min.css +1 -1
  766. package/style/dnb-ui-body.css +1 -1
  767. package/style/dnb-ui-body.min.css +1 -1
  768. package/style/dnb-ui-components.css +16 -1
  769. package/style/dnb-ui-components.min.css +2 -2
  770. package/style/dnb-ui-core.css +1 -1
  771. package/style/dnb-ui-core.min.css +1 -1
  772. package/style/dnb-ui-extensions.css +1 -1
  773. package/style/dnb-ui-extensions.min.css +1 -1
  774. package/style/dnb-ui-forms.css +1 -1
  775. package/style/dnb-ui-forms.min.css +1 -1
  776. package/style/themes/theme-eiendom/eiendom-theme-components.css +17 -2
  777. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  778. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +1 -1
  779. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  780. package/style/themes/theme-eiendom/eiendom-theme-forms.css +1 -1
  781. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  782. package/style/themes/theme-sbanken/sbanken-theme-components.css +17 -2
  783. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  784. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +1 -1
  785. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  786. package/style/themes/theme-sbanken/sbanken-theme-forms.css +1 -1
  787. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  788. package/style/themes/theme-ui/ui-theme-components.css +17 -2
  789. package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  790. package/style/themes/theme-ui/ui-theme-extensions.css +1 -1
  791. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  792. package/style/themes/theme-ui/ui-theme-forms.css +1 -1
  793. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  794. package/umd/dnb-ui-basis.min.js +1 -1
  795. package/umd/dnb-ui-components.min.js +1 -1
  796. package/umd/dnb-ui-elements.min.js +1 -1
  797. package/umd/dnb-ui-extensions.min.js +5 -5
  798. package/umd/dnb-ui-lib.min.js +1 -1
  799. package/cjs/extensions/forms/Iterate/IterateElementContext.js.map +0 -1
  800. package/es/extensions/forms/Iterate/IterateElementContext.js +0 -4
  801. package/es/extensions/forms/Iterate/IterateElementContext.js.map +0 -1
  802. package/extensions/forms/Iterate/IterateElementContext.js +0 -4
  803. package/extensions/forms/Iterate/IterateElementContext.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useFieldProps.js","names":["useRef","useEffect","useContext","useCallback","useMemo","useReducer","pointer","errorChanged","ajvErrorsToOneFormError","FormError","Context","DataContext","FieldPropsContext","combineDescribedBy","useId","useUpdateEffect","useMountEffect","useUnmountEffect","FieldBlockContext","IterateElementContext","SectionContext","FieldBoundaryContext","useProcessManager","usePath","createSharedState","useSharedState","isAsync","useTranslation","useExternalValue","useFieldProps","localeProps","_dataContext$props","_useExternalValue","_dataContext$ajvInsta","_localErrorRef$curren","_ref3","_this","_props$path","_props$autoComplete","executeOnChangeRegardlessOfError","arguments","length","undefined","extend","props","path","pathProp","value","valueProp","defaultValue","itemPath","emptyValue","required","requiredProp","disabled","disabledProp","info","warning","error","errorProp","errorMessages","onFocus","onBlur","onChange","onBlurValidator","validator","schema","validateInitially","validateUnchanged","continuousValidation","transformIn","transformOut","toInput","fromInput","toEvent","transformValue","fromExternal","validateRequired","_ref","res","forceUpdate","startProcess","id","dataContext","fieldBlockContext","iterateElementContext","sectionContext","fieldBoundaryContext","translation","transformers","handlePathChangeUnvalidated","handlePathChangeUnvalidatedDataContext","handlePathChange","handlePathChangeDataContext","updateDataValue","updateDataValueDataContext","validateData","validateDataDataContext","setFieldState","setFieldStateDataContext","setFieldError","setFieldErrorDataContext","setFieldProps","setPropsDataContext","setHasVisibleError","setHasVisibleErrorDataContext","errors","dataContextErrors","showAllErrors","contextErrorMessages","onChangeContext","readOnly","inFieldBlock","Boolean","setFieldStateFieldBlock","showFieldError","showFieldErrorFieldBlock","mountedFieldsRef","mountedFieldsRefFieldBlock","handleChange","handleChangeIterateContext","sectionPath","errorPrioritization","hasPath","identifier","makeIteratePath","defaultValueRef","externalValue","current","valueRef","changedRef","hasFocusRef","paths","split","requiredList","schemaPath","slice","join","schemaPart","has","get","push","substring","collected","flatMap","v","filter","some","p","c","includes","showErrorRef","errorMethodRef","localErrorRef","hasLocalErrorRef","dataContextError","contextErrorRef","validatorRef","onBlurValidatorRef","schemaValidatorRef","ajvInstance","compile","errorMessagesRef","_objectSpread","Field","errorRequired","asyncBehaviorIsEnabled","validatedValue","changeEventResultRef","asyncProcessRef","defineAsyncProcess","name","asyncBufferRef","key","resolve","validateProcesses","window","requestAnimationFrame","eventPool","onChangeLocal","addToPool","fn","runAsync","runPool","cb","pending","fieldStateRef","state","resolveValidatingState","showError","hideError","prepareError","_error$messageValues","message","validationRule","_errorMessagesRef$cur","fieldMessage","messagehasValues","Object","entries","messageValues","reduce","_ref2","replace","hasVisibleError","hasErrorProp","hasError","_ref4","stateId","persistErrorState","method","errorArg","keys","type","content","showInitially","clearErrorState","callValidator","opts","tmpValue","result","unchangedValue","Error","callOnBlurValidator","valueOverride","prioritizeContextSchema","hasContextSchema","indexOf","validateValue","isProcessActive","requiredError","isChanged","handleError","setHasFocus","hasFocus","yieldAsyncProcess","_ref5","waitFor","Promise","_ref6","processName","withStates","hasValue","hasMatchingValue","handleChangeEventResult","warningRef","infoRef","success","setEventResult","callOnChangeContext","updateValue","newValue","argFromInput","additionalArgs","currentValue","transformedValue","getArgs","args","apply","handleFocus","handleBlur","handleMountField","handleUnMountField","_dataContext$ajvInsta2","data","existingValue","sharedState","sharedValue","formState","onSubmitHandler","_dataContext$setField","setFieldEventListener","call","show","htmlAttributes","acc","cur","startsWith","_fieldBlockContext$fi","stateIds","fieldStateIdsRef","ids","fieldBlockProps","fieldState","sharedData","set","autoComplete"],"sources":["../../../../../src/extensions/forms/hooks/useFieldProps.ts"],"sourcesContent":["import {\n useRef,\n useEffect,\n useContext,\n useCallback,\n useMemo,\n useReducer,\n AriaAttributes,\n} from 'react'\nimport pointer from 'json-pointer'\nimport { ValidateFunction } from 'ajv/dist/2020'\nimport { errorChanged } from '../utils'\nimport { ajvErrorsToOneFormError } from '../utils/ajv'\nimport {\n FormError,\n FieldProps,\n AdditionalEventArgs,\n SubmitState,\n EventReturnWithStateObjectAndSuccess,\n EventStateObjectWithSuccess,\n} from '../types'\nimport { Context as DataContext, ContextState } from '../DataContext'\nimport FieldPropsContext from '../Form/FieldProps/FieldPropsContext'\nimport { combineDescribedBy } from '../../../shared/component-helper'\nimport useId from '../../../shared/helpers/useId'\nimport useUpdateEffect from '../../../shared/helpers/useUpdateEffect'\nimport useMountEffect from '../../../shared/helpers/useMountEffect'\nimport useUnmountEffect from '../../../shared/helpers/useUnmountEffect'\nimport FieldBlockContext from '../FieldBlock/FieldBlockContext'\nimport IterateElementContext from '../Iterate/IterateElementContext'\nimport SectionContext from '../Form/Section/SectionContext'\nimport FieldBoundaryContext from '../DataContext/FieldBoundary/FieldBoundaryContext'\nimport useProcessManager from './useProcessManager'\nimport usePath from './usePath'\nimport {\n createSharedState,\n useSharedState,\n} from '../../../shared/helpers/useSharedState'\nimport { isAsync } from '../../../shared/helpers/isAsync'\nimport useTranslation from './useTranslation'\nimport useExternalValue from './useExternalValue'\n\ntype SubmitStateWithValidating = SubmitState | 'validating'\ntype AsyncProcesses =\n | 'validator'\n | 'onBlurValidator'\n | 'onChangeLocal'\n | 'onChangeContext'\ntype PersistErrorStateMethod =\n /**\n * Add or remove the error regardless\n */\n | 'weak'\n /**\n * Check if there is an existing error, and if so, keep it\n */\n | 'gracefully'\n /**\n * Remove the error, if any\n */\n | 'wipe'\ntype AsyncProcessesBuffer = {\n resolve: () => void\n validateProcesses: () => boolean\n}\n\nexport type DataAttributes = {\n [property: `data-${string}`]: string | boolean | number\n}\n\n// Many variables are kept in refs to avoid triggering unnecessary update loops because updates using\n// useEffect depend on them (like the external `value`)\n\nexport default function useFieldProps<\n Value = unknown,\n Props extends FieldProps<Value> = FieldProps<Value>,\n>(\n localeProps: Props,\n { executeOnChangeRegardlessOfError = false } = {}\n): Props & FieldProps<Value> & ReturnAdditional<Value> {\n const { extend } = useContext(FieldPropsContext)\n const props = extend<Props>(localeProps)\n\n const {\n path: pathProp,\n value: valueProp,\n defaultValue,\n itemPath,\n emptyValue,\n required: requiredProp,\n disabled: disabledProp,\n info,\n warning,\n error: errorProp,\n errorMessages,\n onFocus,\n onBlur,\n onChange,\n onBlurValidator,\n validator,\n schema,\n validateInitially,\n validateUnchanged,\n continuousValidation,\n transformIn = (value: Value) => value,\n transformOut = (value: Value) => value,\n toInput = (value: Value) => value,\n fromInput = (value: Value) => value,\n toEvent = (value: Value) => value,\n transformValue = (value: Value) => value,\n fromExternal = (value: Value) => value,\n validateRequired = (value: Value, { emptyValue, required, error }) => {\n const res =\n required &&\n (value === emptyValue ||\n (typeof emptyValue === 'undefined' && value === ''))\n ? error\n : undefined\n\n return res\n },\n } = props\n\n const [, forceUpdate] = useReducer(() => ({}), {})\n const { startProcess } = useProcessManager()\n const id = useId(props.id)\n const dataContext = useContext(DataContext)\n const fieldBlockContext = useContext(FieldBlockContext)\n const iterateElementContext = useContext(IterateElementContext)\n const sectionContext = useContext(SectionContext)\n const fieldBoundaryContext = useContext(FieldBoundaryContext)\n const translation = useTranslation()\n\n const transformers = useRef({\n transformIn,\n transformOut,\n toInput,\n fromInput,\n toEvent,\n fromExternal,\n transformValue,\n validateRequired,\n })\n\n const {\n handlePathChangeUnvalidated: handlePathChangeUnvalidatedDataContext,\n handlePathChange: handlePathChangeDataContext,\n updateDataValue: updateDataValueDataContext,\n validateData: validateDataDataContext,\n setFieldState: setFieldStateDataContext,\n setFieldError: setFieldErrorDataContext,\n setFieldProps: setPropsDataContext,\n setHasVisibleError: setHasVisibleErrorDataContext,\n errors: dataContextErrors,\n showAllErrors,\n contextErrorMessages,\n } = dataContext ?? {}\n const onChangeContext = dataContext?.props?.onChange\n\n const disabled = disabledProp ?? props.readOnly\n const inFieldBlock = Boolean(fieldBlockContext)\n const {\n setFieldState: setFieldStateFieldBlock,\n showFieldError: showFieldErrorFieldBlock,\n mountedFieldsRef: mountedFieldsRefFieldBlock,\n } = fieldBlockContext ?? {}\n const { handleChange: handleChangeIterateContext } =\n iterateElementContext ?? {}\n const { path: sectionPath, errorPrioritization } = sectionContext ?? {}\n const { setFieldError } = fieldBoundaryContext ?? {}\n\n const hasPath = Boolean(pathProp)\n const { path, identifier, makeIteratePath } = usePath({\n id,\n path: pathProp,\n itemPath,\n })\n\n const defaultValueRef = useRef(defaultValue)\n const externalValue =\n useExternalValue<Value>({\n path,\n itemPath,\n value: valueProp,\n transformers,\n emptyValue,\n }) ?? defaultValueRef.current\n\n // Many variables are kept in refs to avoid triggering unnecessary update loops because updates using\n // useEffect depend on them (like the external `value`)\n\n // Hold an internal copy of the input value in case the input component is used uncontrolled,\n // and to handle errors in Eufemia on components that does not take updated callback functions into account.\n const valueRef = useRef<Value>(externalValue)\n const changedRef = useRef<boolean>(false)\n const hasFocusRef = useRef<boolean>(false)\n\n const required = useMemo(() => {\n if (requiredProp) {\n return requiredProp\n }\n\n const paths = identifier.split('/')\n if (paths.length > 0 && (schema || dataContext?.schema)) {\n const requiredList = [schema?.['required']]\n\n if (paths.length > 1) {\n const schema = dataContext.schema\n const schemaPath = paths.slice(0, -1).join('/properties/')\n const schemaPart = pointer.has(schema, schemaPath)\n ? pointer.get(schema, schemaPath)\n : schema\n\n requiredList.push(schemaPart?.required)\n }\n\n if (sectionPath) {\n paths.push(sectionPath.substring(1))\n }\n\n const collected = requiredList.flatMap((v) => v).filter(Boolean)\n if (\n paths\n .filter(Boolean)\n .some((p) => collected.some((c) => c.includes(p)))\n ) {\n return true\n }\n }\n }, [sectionPath, dataContext.schema, identifier, requiredProp, schema])\n\n // Error handling\n // - Should errors received through validation be shown initially. Assume that providing a direct prop to\n // the component means it is supposed to be shown initially.\n const showErrorRef = useRef<boolean>(\n Boolean(validateInitially || errorProp)\n )\n // - Local errors are errors based on validation instructions received by\n const errorMethodRef = useRef<\n Partial<Record<PersistErrorStateMethod, Error | FormError>>\n >({})\n const localErrorRef = useRef<Error | FormError | undefined>()\n const hasLocalErrorRef = useRef(false)\n // - Context errors are from outer contexts, like validation for this field as part of the whole data set\n const dataContextError = useMemo(() => {\n return path ? dataContextErrors?.[identifier] : undefined\n }, [dataContextErrors, identifier, path])\n const contextErrorRef = useRef<Error | FormError | undefined>(\n dataContextError\n )\n\n const validatorRef = useRef(validator)\n useUpdateEffect(() => {\n validatorRef.current = validator\n }, [validator])\n const onBlurValidatorRef = useRef(onBlurValidator)\n useUpdateEffect(() => {\n onBlurValidatorRef.current = onBlurValidator\n }, [onBlurValidator])\n\n const schemaValidatorRef = useRef<ValidateFunction>(\n schema ? dataContext.ajvInstance?.compile(schema) : undefined\n )\n\n // Needs to be placed before \"prepareError\"\n const errorMessagesRef = useRef(null)\n errorMessagesRef.current = useMemo(() => {\n return {\n required: translation.Field.errorRequired,\n ...errorMessages,\n }\n }, [errorMessages, translation.Field.errorRequired])\n\n // - Async behavior\n const asyncBehaviorIsEnabled = useMemo(() => {\n return isAsync(onChange) || isAsync(onChangeContext)\n }, [onChangeContext, onChange])\n const validatedValue = useRef<Value>()\n const changeEventResultRef = useRef<EventStateObjectWithSuccess>(null)\n const asyncProcessRef = useRef<AsyncProcesses>(null)\n const defineAsyncProcess = useCallback((name: AsyncProcesses) => {\n asyncProcessRef.current = name\n }, [])\n\n // When both an async onChange and async validators are used,\n // we buffer the onChange calls to avoid race conditions.\n const asyncBufferRef = useRef<\n Record<AsyncProcesses, AsyncProcessesBuffer> | Record<string, unknown>\n >({})\n\n for (const key in asyncBufferRef.current) {\n const { resolve, validateProcesses } = (asyncBufferRef.current[key] ||\n {}) as AsyncProcessesBuffer\n if (validateProcesses?.() === false) {\n delete asyncBufferRef.current[key]\n if (typeof resolve === 'function') {\n window.requestAnimationFrame(resolve)\n }\n }\n }\n\n const eventPool = useRef({\n validator: null,\n onBlurValidator: null,\n onChangeContext: null,\n onChangeLocal: null,\n })\n\n const addToPool = useCallback(\n (name: keyof typeof eventPool.current, fn, runAsync) => {\n if (!eventPool.current[name]) {\n eventPool.current[name] = { fn, runAsync }\n }\n },\n []\n )\n\n const runPool = useCallback(async (cb = null) => {\n for (const key in eventPool.current) {\n if (!eventPool.current[key] || eventPool.current[key].pending) {\n continue\n }\n\n const { fn, runAsync } = eventPool.current[key] || {}\n if (fn) {\n eventPool.current[key].pending = true\n eventPool.current[key] = null\n\n if (runAsync) {\n await fn()\n } else {\n fn()\n }\n }\n }\n\n // use a callback in order to avoid any async/await,\n // because it will delay the execution of the following code\n cb?.()\n }, [])\n\n const fieldStateRef = useRef<SubmitStateWithValidating>()\n const setFieldState = useCallback(\n (state: SubmitStateWithValidating) => {\n fieldStateRef.current = state\n setFieldStateDataContext(identifier, resolveValidatingState(state))\n if (!validateInitially) {\n forceUpdate()\n }\n },\n [setFieldStateDataContext, identifier, validateInitially]\n )\n\n const showError = useCallback(() => {\n showErrorRef.current = true\n showFieldErrorFieldBlock?.(identifier, true)\n if (localErrorRef.current) {\n setHasVisibleErrorDataContext?.(identifier, true)\n }\n }, [showFieldErrorFieldBlock, identifier, setHasVisibleErrorDataContext])\n\n const hideError = useCallback(() => {\n showErrorRef.current = false\n showFieldErrorFieldBlock?.(identifier, false)\n setHasVisibleErrorDataContext?.(identifier, false)\n }, [setHasVisibleErrorDataContext, identifier, showFieldErrorFieldBlock])\n\n /**\n * Prepare error from validation logic with correct error messages based on props\n */\n const prepareError = useCallback(\n (error: Error | FormError | undefined): FormError | undefined => {\n if (error instanceof FormError) {\n let message = error.message\n\n const { validationRule } = error\n if (typeof validationRule === 'string') {\n const fieldMessage = errorMessagesRef.current?.[validationRule]\n if (fieldMessage) {\n message = fieldMessage\n }\n }\n\n const messagehasValues = Object.entries(\n error.messageValues ?? {}\n ).reduce((message, [key, value]) => {\n return message.replace(`{${key}}`, value)\n }, message)\n\n error.message = messagehasValues\n\n return error\n }\n\n return error\n },\n []\n )\n\n contextErrorRef.current = useMemo(() => {\n if (!dataContextError) {\n return undefined\n }\n const error = prepareError(dataContextError)\n if (errorChanged(error, contextErrorRef.current)) {\n return error\n }\n }, [dataContextError, prepareError])\n\n const error =\n showErrorRef.current ||\n // If the error is a type error, we want to show it even if the field as not been used\n localErrorRef.current?.['validationRule'] === 'type'\n ? errorProp ?? localErrorRef.current ?? contextErrorRef.current\n : undefined\n\n const hasVisibleError =\n Boolean(error) || (inFieldBlock && fieldBlockContext.hasErrorProp)\n const hasError = useCallback(() => {\n return Boolean(\n errorProp ?? localErrorRef.current ?? contextErrorRef.current\n )\n }, [errorProp])\n\n /**\n * Based on validation, update error state, locally and relevant surrounding contexts\n */\n const stateId = useId()\n const persistErrorState = useCallback(\n (\n method: PersistErrorStateMethod,\n errorArg: Error | FormError | undefined = undefined\n ) => {\n const error = prepareError(errorArg)\n\n if (!errorChanged(error, localErrorRef.current)) {\n // In case different triggers lead to validation with no changes in the result (like still no error, or the same error),\n // avoid unnecessary re-renders by letting the old error object stay in the state and skip re-rendering.\n return\n }\n\n if (method === 'wipe') {\n errorMethodRef.current = {}\n } else {\n errorMethodRef.current[method] = error\n }\n\n if (\n !error &&\n method === 'gracefully' &&\n Object.keys(errorMethodRef.current).filter(Boolean).length > 0\n ) {\n // If the error is removed, we need to check if there are other errors that still should be shown\n return\n }\n\n localErrorRef.current = error\n\n // Tell the data context about the error, so it can stop the user from submitting the form until the error has been fixed\n setFieldErrorDataContext?.(identifier, error)\n setFieldError?.(identifier, error)\n\n // Set the visual states\n setFieldStateDataContext?.(identifier, error ? 'error' : undefined)\n setFieldStateFieldBlock?.({\n stateId,\n identifier,\n type: 'error',\n content: error,\n showInitially: Boolean(inFieldBlock && validateInitially),\n })\n\n forceUpdate()\n },\n [\n prepareError,\n setFieldErrorDataContext,\n identifier,\n setFieldError,\n setFieldStateDataContext,\n setFieldStateFieldBlock,\n stateId,\n inFieldBlock,\n validateInitially,\n ]\n )\n\n const clearErrorState = useCallback(() => {\n persistErrorState('wipe')\n hasLocalErrorRef.current = false\n }, [persistErrorState])\n\n const callValidator = useCallback(async () => {\n if (typeof validatorRef.current !== 'function') {\n return\n }\n\n const runAsync = isAsync(validatorRef.current)\n\n if (runAsync) {\n defineAsyncProcess('validator')\n setFieldState('validating')\n hideError()\n }\n\n const opts = {\n ...contextErrorMessages,\n ...errorMessagesRef.current,\n }\n\n const tmpValue = valueRef.current\n\n // Run async regardless to support Promise based validators\n const result = await validatorRef.current(valueRef.current, opts)\n\n const unchangedValue = tmpValue === valueRef.current\n\n // Don't show the error if the value has changed in the meantime\n if (unchangedValue) {\n persistErrorState('gracefully', result as Error)\n\n // Because its a better UX to show the error when the validation is async/delayed\n if (continuousValidation || runAsync) {\n // Because we first need to throw the error to be able to display it, we delay the showError call\n window.requestAnimationFrame(() => {\n showError()\n forceUpdate()\n })\n }\n }\n\n if (runAsync) {\n defineAsyncProcess(undefined)\n\n if (unchangedValue) {\n setFieldState(result instanceof Error ? 'error' : 'complete')\n } else {\n setFieldState('pending')\n }\n }\n\n return result\n }, [\n contextErrorMessages,\n continuousValidation,\n hideError,\n persistErrorState,\n defineAsyncProcess,\n setFieldState,\n showError,\n ])\n\n const callOnBlurValidator = useCallback(\n async ({ valueOverride = null } = {}) => {\n if (typeof onBlurValidatorRef.current !== 'function') {\n return\n }\n // External blur validators makes it possible to validate values but not on every character change in case of\n // expensive validation calling external services etc.\n\n // Since the validator can return either a synchronous result or an asynchronous\n const value = transformers.current.toEvent(\n valueOverride ?? valueRef.current,\n 'onBlurValidator'\n )\n\n const runAsync = isAsync(onBlurValidatorRef.current)\n\n if (runAsync) {\n defineAsyncProcess('onBlurValidator')\n setFieldState('validating')\n }\n\n // Run async regardless to support Promise based validators\n const result = await onBlurValidatorRef.current(value)\n\n persistErrorState('gracefully', result as Error)\n\n if (runAsync) {\n defineAsyncProcess(undefined)\n setFieldState(result instanceof Error ? 'error' : 'complete')\n }\n\n showError()\n forceUpdate()\n },\n [persistErrorState, defineAsyncProcess, setFieldState, showError]\n )\n\n const prioritizeContextSchema = useMemo(() => {\n if (errorPrioritization) {\n const schemaPath = identifier.split('/').join('/properties/')\n const hasContextSchema = pointer.has(\n dataContext?.schema || {},\n schemaPath\n )\n return (\n hasContextSchema &&\n errorPrioritization?.indexOf('contextSchema') === 0\n )\n }\n }, [dataContext?.schema, errorPrioritization, identifier])\n\n /**\n * Validate the current state value by provided validator instructions\n */\n const validateValue = useCallback(async () => {\n const isProcessActive = startProcess()\n\n if (disabled) {\n if (isProcessActive()) {\n clearErrorState()\n }\n hideError()\n setFieldState(undefined)\n return // stop here\n }\n\n const value = valueRef.current\n changeEventResultRef.current = null\n validatedValue.current = null\n\n try {\n const requiredError = transformers.current.validateRequired(value, {\n emptyValue,\n required: requiredProp ?? required,\n isChanged: changedRef.current,\n error: new FormError('The value is required', {\n validationRule: 'required',\n }),\n })\n if (requiredError instanceof Error) {\n throw requiredError\n }\n\n // Validate by provided JSON Schema for this value\n if (\n schemaValidatorRef.current &&\n value !== undefined &&\n !schemaValidatorRef.current(value) &&\n !prioritizeContextSchema\n ) {\n const error = ajvErrorsToOneFormError(\n schemaValidatorRef.current.errors,\n valueRef.current\n )\n throw error\n }\n\n // Validate by provided derivative validator\n if (\n validatorRef.current &&\n (changedRef.current || validateInitially)\n ) {\n const result = await callValidator()\n\n if (result instanceof Error) {\n throw result\n }\n }\n\n if (isProcessActive()) {\n clearErrorState()\n }\n\n validatedValue.current = value\n } catch (error: unknown) {\n if (isProcessActive()) {\n hasLocalErrorRef.current = true\n persistErrorState('weak', error as Error)\n }\n }\n }, [\n startProcess,\n disabled,\n hideError,\n setFieldState,\n clearErrorState,\n emptyValue,\n requiredProp,\n required,\n prioritizeContextSchema,\n validateInitially,\n callValidator,\n persistErrorState,\n ])\n\n const handleError = useCallback(() => {\n if (\n continuousValidation ||\n (continuousValidation !== false && !hasFocusRef.current)\n ) {\n // When there is a change to the value without there having been any focus callback beforehand, it is likely\n // to believe that the blur callback will not be called either, which would trigger the display of the error.\n // The error is therefore displayed immediately (unless instructed not to with continuousValidation set to false).\n showError()\n } else {\n // When changing the value, hide errors to avoid annoying the user before they are finished filling in that value\n hideError()\n }\n }, [continuousValidation, hideError, showError])\n\n const setHasFocus = useCallback(\n async (hasFocus: boolean, valueOverride?: Value) => {\n if (hasFocus) {\n // Field was put in focus (like when clicking in a text field or opening a dropdown menu)\n hasFocusRef.current = true\n const value = transformers.current.toEvent(\n valueOverride ?? valueRef.current,\n 'onFocus'\n )\n onFocus?.(value)\n } else {\n // Field was removed from focus (like when tabbing out of a text field or closing a dropdown menu)\n hasFocusRef.current = false\n const value = transformers.current.toEvent(\n valueOverride ?? valueRef.current,\n 'onBlur'\n )\n onBlur?.(value)\n\n if (!changedRef.current && !validateUnchanged) {\n // Avoid showing errors when blurring without having changed the value, so tabbing through several\n // fields does not make errors pop up all over the place\n return\n }\n\n addToPool(\n 'onBlurValidator',\n async () => await callOnBlurValidator({ valueOverride }),\n isAsync(onBlurValidatorRef.current)\n )\n\n await runPool(() => {\n // Since the user left the field, show error (if any)\n showError()\n forceUpdate()\n })\n }\n },\n [\n addToPool,\n callOnBlurValidator,\n onBlur,\n onFocus,\n runPool,\n showError,\n validateUnchanged,\n ]\n )\n\n // Await an async operation to run after criteria are fulfilled\n const yieldAsyncProcess = useCallback(\n async ({\n name,\n waitFor,\n }: {\n name: 'onChangeLocal' | 'onChangeContext' | 'onSubmitContext'\n waitFor: Array<{\n processName?: AsyncProcesses\n withStates: Array<SubmitStateWithValidating>\n hasValue?: Value\n }>\n }) => {\n return new Promise<void>((resolve) => {\n const validateProcesses = () => {\n const result = waitFor.some(\n ({ processName, withStates, hasValue }) => {\n const hasMatchingValue =\n // If the value has changed during the async process, we don't want to resolve anymore\n hasValue === validatedValue.current\n\n const result =\n (typeof hasValue === 'undefined'\n ? false\n : !hasMatchingValue) ||\n ((processName\n ? processName === asyncProcessRef.current\n : true) &&\n withStates?.some((state) => {\n return state === fieldStateRef.current\n }))\n\n return result\n }\n )\n\n return result\n }\n\n if (validateProcesses() === true) {\n asyncBufferRef.current[name] = { resolve, validateProcesses }\n } else {\n resolve()\n setFieldState('pending')\n }\n })\n },\n [setFieldState]\n )\n\n const handleChangeEventResult = useCallback(async () => {\n const result: EventStateObjectWithSuccess =\n changeEventResultRef.current\n\n if (typeof result?.error !== 'undefined') {\n persistErrorState('gracefully', result.error)\n showError()\n }\n if (typeof result?.warning !== 'undefined') {\n warningRef.current = result.warning\n }\n if (typeof result?.info !== 'undefined') {\n infoRef.current = result.info\n }\n\n if (asyncBehaviorIsEnabled) {\n await yieldAsyncProcess({\n name: 'onSubmitContext',\n waitFor: [{ withStates: ['validating'] }],\n })\n }\n\n defineAsyncProcess(undefined)\n\n if (result?.success === 'saved') {\n setFieldState('success')\n } else if (result?.error) {\n setFieldState('error')\n } else if (asyncBehaviorIsEnabled) {\n setFieldState('complete')\n }\n }, [\n asyncBehaviorIsEnabled,\n defineAsyncProcess,\n persistErrorState,\n setFieldState,\n showError,\n yieldAsyncProcess,\n ])\n\n const setEventResult = useCallback(\n (result: EventReturnWithStateObjectAndSuccess) => {\n if (result instanceof Error) {\n result = { error: result }\n }\n changeEventResultRef.current = {\n ...changeEventResultRef.current,\n ...result,\n } as EventStateObjectWithSuccess\n\n handleChangeEventResult()\n },\n [handleChangeEventResult]\n )\n\n const callOnChangeContext = useCallback(async () => {\n if (asyncBehaviorIsEnabled && !executeOnChangeRegardlessOfError) {\n await yieldAsyncProcess({\n name: 'onChangeContext',\n waitFor: [\n {\n processName: 'validator',\n withStates: ['validating', 'error'],\n hasValue: valueRef.current,\n },\n {\n processName: 'onBlurValidator',\n withStates: ['validating', 'error'],\n hasValue: valueRef.current,\n },\n ],\n })\n }\n\n if (hasPath) {\n if (isAsync(onChangeContext)) {\n defineAsyncProcess('onChangeContext')\n\n // Skip sync errors, such as required\n if (!hasError() || executeOnChangeRegardlessOfError) {\n setEventResult(\n (await handlePathChangeDataContext?.(\n identifier\n )) as EventReturnWithStateObjectAndSuccess\n )\n } else {\n setEventResult(null)\n }\n } else {\n setEventResult(\n handlePathChangeDataContext?.(\n identifier\n ) as EventReturnWithStateObjectAndSuccess\n )\n }\n }\n\n forceUpdate()\n }, [\n asyncBehaviorIsEnabled,\n executeOnChangeRegardlessOfError,\n hasPath,\n yieldAsyncProcess,\n onChangeContext,\n defineAsyncProcess,\n hasError,\n setEventResult,\n handlePathChangeDataContext,\n identifier,\n ])\n\n const updateValue = useCallback(\n async (newValue: Value) => {\n if (newValue === valueRef.current) {\n // Avoid triggering a change if the value was not actually changed. This may be caused by rendering components\n // calling onChange even if the actual value did not change.\n return\n }\n\n valueRef.current = newValue\n\n if (hasPath) {\n handlePathChangeUnvalidatedDataContext(identifier, newValue)\n }\n\n addToPool('validator', validateValue, isAsync(validatorRef.current))\n\n addToPool(\n 'onChangeContext',\n callOnChangeContext,\n isAsync(onChangeContext)\n )\n\n await runPool(() => {\n handleError()\n })\n },\n [\n hasPath,\n addToPool,\n validateValue,\n callOnChangeContext,\n onChangeContext,\n runPool,\n handlePathChangeUnvalidatedDataContext,\n identifier,\n handleError,\n ]\n )\n\n const handleChange = useCallback(\n async (\n argFromInput: Value,\n additionalArgs: AdditionalEventArgs = undefined\n ) => {\n const currentValue = valueRef.current\n const fromInput = transformers.current.fromInput(argFromInput)\n\n if (fromInput === currentValue) {\n // Avoid triggering a change if the value was not actually changed. This may be caused by rendering components\n // calling onChange even if the actual value did not change.\n return\n }\n\n const transformedValue = transformers.current.transformOut(\n transformers.current.transformValue(fromInput, currentValue)\n )\n\n // Must be set before validation\n changedRef.current = true\n\n // Run in sync, before any async operations to avoid lag in UX\n if (itemPath) {\n handleChangeIterateContext?.(\n makeIteratePath(itemPath, ''),\n transformedValue\n )\n }\n\n if (asyncBehaviorIsEnabled) {\n hideError()\n await updateValue(transformedValue)\n } else {\n updateValue(transformedValue)\n }\n\n const getArgs = (): [Value] | [Value, AdditionalEventArgs] => {\n const value = transformers.current.toEvent(\n valueRef.current,\n 'onChange'\n )\n\n return typeof additionalArgs !== 'undefined'\n ? [value, additionalArgs]\n : [value]\n }\n\n if (isAsync(onChange)) {\n addToPool(\n 'onChangeLocal',\n async () => {\n const args = getArgs()\n\n await yieldAsyncProcess({\n name: 'onChangeLocal',\n waitFor: [\n {\n processName: 'validator',\n withStates: ['validating', 'error'],\n hasValue: args[0],\n },\n {\n processName: 'onBlurValidator',\n withStates: ['validating', 'error'],\n hasValue: args[0],\n },\n {\n processName: 'onChangeContext',\n withStates: ['pending', 'error'],\n hasValue: args[0],\n },\n ],\n })\n\n defineAsyncProcess('onChangeLocal')\n\n // Skip sync errors, such as required\n if (!hasError()) {\n // If the value has changed during the async process, we don't want to call the onChange anymore\n setEventResult(await onChange?.apply(this, args))\n } else {\n setEventResult(null)\n }\n },\n true\n )\n } else {\n setEventResult(onChange?.apply(this, getArgs()))\n }\n\n await runPool()\n },\n [\n itemPath,\n asyncBehaviorIsEnabled,\n onChange,\n runPool,\n handleChangeIterateContext,\n makeIteratePath,\n hideError,\n updateValue,\n addToPool,\n yieldAsyncProcess,\n defineAsyncProcess,\n hasError,\n setEventResult,\n ]\n )\n\n const handleFocus = useCallback(() => setHasFocus(true), [setHasFocus])\n const handleBlur = useCallback(() => setHasFocus(false), [setHasFocus])\n\n // Put props into the surrounding data context as early as possible\n setPropsDataContext?.(identifier, props)\n\n useMountEffect(() => {\n dataContext?.handleMountField(identifier)\n validateValue()\n })\n useUnmountEffect(() => {\n dataContext?.handleUnMountField(identifier)\n setFieldErrorDataContext?.(identifier, undefined)\n setFieldError?.(identifier, undefined)\n localErrorRef.current = undefined\n })\n\n useUpdateEffect(() => {\n schemaValidatorRef.current = schema\n ? dataContext.ajvInstance?.compile(schema)\n : undefined\n validateValue()\n }, [schema, validateValue])\n\n useUpdateEffect(() => {\n // Error or removed error for this field from the surrounding data context (by path)\n if (valueRef.current !== externalValue) {\n valueRef.current = externalValue\n validateValue()\n }\n forceUpdate()\n }, [externalValue, validateValue])\n\n useEffect(() => {\n // Check against the local error state,\n // so we prioritize the local error state over the context error state\n if (!hasLocalErrorRef.current) {\n const error = prepareError(dataContextError)\n if (error) {\n persistErrorState('weak', error)\n if (validateInitially) {\n handleError()\n }\n } else {\n clearErrorState()\n }\n }\n }, [\n clearErrorState,\n dataContextError,\n handleError,\n persistErrorState,\n prepareError,\n validateInitially,\n ])\n\n useEffect(() => {\n if (hasPath) {\n let value = valueProp\n\n // First, look for existing data in the context\n const hasValue = pointer.has(dataContext.data, identifier)\n const existingValue = hasValue\n ? pointer.get(dataContext.data, identifier)\n : undefined\n\n // If no data where found in the dataContext, look for shared data\n if (\n dataContext.id &&\n !hasValue &&\n typeof existingValue === 'undefined' &&\n typeof value === 'undefined'\n ) {\n const sharedState = createSharedState(dataContext.id)\n const hasValue = pointer.has(sharedState.data, identifier)\n if (hasValue) {\n const sharedValue = pointer.get(sharedState.data, identifier)\n if (sharedValue) {\n value = sharedValue\n }\n }\n }\n\n if (\n typeof defaultValueRef.current !== 'undefined' &&\n typeof value === 'undefined'\n ) {\n value = defaultValueRef.current\n defaultValueRef.current = undefined\n }\n\n if (\n !hasValue ||\n (value !== existingValue &&\n // Prevents an infinite loop by skipping the update if the value hasn't changed\n valueRef.current !== existingValue)\n ) {\n // Update the data context when a pointer not exists,\n // but was given initially.\n updateDataValueDataContext?.(identifier, value)\n validateDataDataContext?.()\n }\n }\n }, [\n dataContext.data,\n dataContext.id,\n hasPath,\n identifier,\n updateDataValueDataContext,\n validateDataDataContext,\n valueProp,\n ])\n\n useEffect(() => {\n if (showAllErrors) {\n // In case of async validation, we don't want to show existing errors before the validation has been completed\n if (fieldStateRef.current !== 'validating') {\n // If showError on a surrounding data context was changed and set to true, it is because the user clicked next, submit or\n // something else that should lead to showing the user all errors.\n showError()\n forceUpdate()\n }\n }\n }, [showAllErrors, showError])\n\n useEffect(() => {\n if (\n dataContext.formState === 'pending' &&\n (validatorRef.current || onBlurValidatorRef.current)\n ) {\n hideError()\n forceUpdate()\n }\n }, [dataContext.formState, hideError])\n\n const onSubmitHandler = useCallback(async () => {\n if (hasError()) {\n return // stop here\n }\n\n addToPool('validator', callValidator, isAsync(validatorRef.current))\n addToPool(\n 'onBlurValidator',\n callOnBlurValidator,\n isAsync(onBlurValidatorRef.current)\n )\n\n await runPool()\n }, [addToPool, callOnBlurValidator, callValidator, hasError, runPool])\n\n // Validate/call validator functions during submit of the form\n useMountEffect(() => {\n dataContext?.setFieldEventListener?.(\n identifier,\n 'onSubmit',\n onSubmitHandler\n )\n })\n\n // Set the error in the field block context if this field is inside a field block\n useMountEffect(() => {\n if (inFieldBlock) {\n if (errorProp) {\n setFieldStateFieldBlock?.({\n identifier,\n type: 'error',\n content: errorProp,\n showInitially: true,\n show: true,\n })\n }\n if (warning) {\n setFieldStateFieldBlock?.({\n identifier,\n type: 'warning',\n content: warning,\n showInitially: true,\n show: true,\n })\n }\n if (info) {\n setFieldStateFieldBlock?.({\n identifier,\n type: 'info',\n content: info,\n showInitially: true,\n show: true,\n })\n }\n\n return () => {\n // Unmount procedure\n if (mountedFieldsRefFieldBlock) {\n mountedFieldsRefFieldBlock.current[identifier] = true\n }\n }\n }\n })\n\n const infoRef = useRef<React.ReactNode>(info)\n const warningRef = useRef<React.ReactNode>(warning)\n useUpdateEffect(() => {\n infoRef.current = info\n warningRef.current = warning\n forceUpdate()\n }, [info, warning])\n\n // - Handle htmlAttributes\n const htmlAttributes = useMemo(() => {\n return Object.keys(props).reduce<AriaAttributes>(\n (acc, cur) => {\n if (cur.startsWith('aria-') || cur.startsWith('data-')) {\n acc[cur] = props[cur]\n }\n return acc\n },\n { ...props.htmlAttributes }\n )\n }, [props])\n\n if (error) {\n htmlAttributes['aria-invalid'] = error ? 'true' : 'false'\n }\n if (required) {\n htmlAttributes['aria-required'] = 'true'\n }\n if (inFieldBlock) {\n // Mount the field in the field block context\n if (mountedFieldsRefFieldBlock) {\n mountedFieldsRefFieldBlock.current[identifier] = true\n }\n\n // Check if there are any state IDs to be added to the aria-describedby attribute\n const stateIds = fieldBlockContext.fieldStateIdsRef?.current\n\n if (stateIds) {\n htmlAttributes['aria-describedby'] = combineDescribedBy(\n htmlAttributes,\n [\n error && stateIds.error,\n warning && stateIds.warning,\n info && stateIds.info,\n ].filter(Boolean)\n )\n }\n } else {\n const ids = [\n (error || errorProp) && `${id}-form-status--error`,\n warning && `${id}-form-status--warning`,\n info && `${id}-form-status--info`,\n ].filter(Boolean)\n\n if (ids.length) {\n htmlAttributes['aria-describedby'] = combineDescribedBy(\n htmlAttributes,\n ids\n )\n }\n }\n\n const fieldBlockProps = {\n /** Documented APIs */\n info: !inFieldBlock ? infoRef.current : undefined,\n warning: !inFieldBlock ? warningRef.current : undefined,\n error: !inFieldBlock ? error : undefined,\n\n /** HTML Attributes */\n disabled:\n onBlurValidator &&\n asyncProcessRef.current === 'onBlurValidator' &&\n fieldStateRef.current === 'validating'\n ? true\n : disabled,\n\n /** Internal */\n fieldState: resolveValidatingState(fieldStateRef.current),\n }\n\n const sharedData = useSharedState('field-block-props-' + id)\n sharedData.set(fieldBlockProps)\n\n return {\n ...props,\n ...fieldBlockProps,\n\n /** HTML Attributes */\n name: props.name || props.path?.replace('/', '') || id,\n autoComplete:\n props.autoComplete ??\n (dataContext.autoComplete === true ? 'on' : undefined),\n\n /** Documented APIs */\n id,\n value: transformers.current.transformIn(\n transformers.current.toInput(valueRef.current)\n ),\n hasError: hasVisibleError,\n isChanged: changedRef.current,\n props,\n htmlAttributes,\n setHasFocus,\n handleFocus,\n handleBlur,\n handleChange,\n updateValue,\n forceUpdate,\n\n /** Internal */\n dataContext,\n }\n}\n\nexport interface ReturnAdditional<Value> {\n /** Documented APIs */\n value: Value\n isChanged: boolean\n htmlAttributes: AriaAttributes | DataAttributes\n setHasFocus: (hasFocus: boolean, valueOverride?: unknown) => void\n handleFocus: () => void\n handleBlur: () => void\n handleChange: (\n value: Value,\n additionalArgs?: AdditionalEventArgs\n ) => void\n updateValue: (value: Value) => void\n forceUpdate: () => void\n hasError?: boolean\n\n /** Internal */\n dataContext: ContextState\n fieldState: SubmitState\n}\n\nfunction resolveValidatingState(state: SubmitStateWithValidating) {\n return state === 'validating' ? 'pending' : state\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useFieldProps.js","names":["useRef","useEffect","useContext","useCallback","useMemo","useReducer","pointer","errorChanged","ajvErrorsToOneFormError","FormError","Context","DataContext","clearedData","FieldPropsContext","combineDescribedBy","useId","useUpdateEffect","useMountEffect","useUnmountEffect","FieldBlockContext","IterateElementContext","SectionContext","FieldBoundaryContext","useProcessManager","usePath","createSharedState","useSharedState","isAsync","useTranslation","useExternalValue","useFieldProps","localeProps","_dataContext$props","_useExternalValue","_dataContext$ajvInsta","_localErrorRef$curren","_ref3","_this","_props$path","_props$autoComplete","executeOnChangeRegardlessOfError","arguments","length","undefined","extend","props","path","pathProp","value","valueProp","defaultValue","itemPath","emptyValue","required","requiredProp","disabled","disabledProp","info","warning","error","errorProp","errorMessages","onFocus","onBlur","onChange","onBlurValidator","validator","schema","validateInitially","validateUnchanged","continuousValidation","transformIn","transformOut","toInput","fromInput","toEvent","transformValue","transformAdditionalArgs","additionalArgs","fromExternal","validateRequired","_ref","res","forceUpdate","startProcess","id","dataContext","fieldBlockContext","iterateItemContext","sectionContext","fieldBoundaryContext","translation","transformers","handlePathChangeUnvalidated","handlePathChangeUnvalidatedDataContext","handlePathChange","handlePathChangeDataContext","updateDataValue","updateDataValueDataContext","validateData","validateDataDataContext","setFieldState","setFieldStateDataContext","setFieldError","setFieldErrorDataContext","setFieldProps","setPropsDataContext","setHasVisibleError","setHasVisibleErrorDataContext","errors","dataContextErrors","showAllErrors","contextErrorMessages","onChangeContext","readOnly","inFieldBlock","Boolean","setFieldStateFieldBlock","showFieldError","showFieldErrorFieldBlock","mountedFieldsRef","mountedFieldsRefFieldBlock","handleChange","handleChangeIterateContext","sectionPath","errorPrioritization","showBoundaryErrors","hasPath","identifier","makeIteratePath","defaultValueRef","externalValue","current","valueRef","changedRef","hasFocusRef","paths","split","requiredList","schemaPath","slice","join","schemaPart","has","get","push","substring","collected","flatMap","v","filter","some","p","c","includes","revealErrorRef","errorMethodRef","localErrorRef","hasLocalErrorRef","dataContextError","contextErrorRef","validatorRef","onBlurValidatorRef","schemaValidatorRef","ajvInstance","compile","errorMessagesRef","_objectSpread","Field","errorRequired","asyncBehaviorIsEnabled","validatedValue","changeEventResultRef","asyncProcessRef","defineAsyncProcess","name","asyncBufferRef","key","resolve","validateProcesses","window","requestAnimationFrame","eventPool","onChangeLocal","addToPool","fn","runAsync","runPool","cb","pending","fieldStateRef","state","resolveValidatingState","revealError","hideError","prepareError","_error$messageValues","message","validationRule","_errorMessagesRef$cur","fieldMessage","messagehasValues","Object","entries","messageValues","reduce","_ref2","replace","hasVisibleError","hasErrorProp","hasError","_ref4","stateId","persistErrorState","method","errorArg","keys","type","content","showInitially","clearErrorState","callValidator","opts","tmpValue","result","unchangedValue","Error","callOnBlurValidator","valueOverride","prioritizeContextSchema","hasContextSchema","indexOf","validateValue","isProcessActive","requiredError","isChanged","handleError","setHasFocus","hasFocus","getArgs","transformedAdditionalArgs","args","apply","yieldAsyncProcess","_ref5","waitFor","Promise","_ref6","processName","withStates","hasValue","hasMatchingValue","handleChangeEventResult","warningRef","infoRef","success","setEventResult","callOnChangeContext","updateValue","newValue","argFromInput","currentValue","transformedValue","handleFocus","handleBlur","handleMountField","handleUnMountField","_dataContext$ajvInsta2","data","existingValue","sharedState","sharedValue","formState","onSubmitHandler","_dataContext$setField","setFieldEventListener","call","show","htmlAttributes","acc","cur","startsWith","_fieldBlockContext$fi","stateIds","fieldStateIdsRef","ids","fieldBlockProps","fieldState","sharedData","set","autoComplete"],"sources":["../../../../../src/extensions/forms/hooks/useFieldProps.ts"],"sourcesContent":["import {\n useRef,\n useEffect,\n useContext,\n useCallback,\n useMemo,\n useReducer,\n AriaAttributes,\n} from 'react'\nimport pointer from 'json-pointer'\nimport { ValidateFunction } from 'ajv/dist/2020'\nimport { errorChanged } from '../utils'\nimport { ajvErrorsToOneFormError } from '../utils/ajv'\nimport {\n FormError,\n FieldPropsGeneric,\n AdditionalEventArgs,\n SubmitState,\n EventReturnWithStateObjectAndSuccess,\n EventStateObjectWithSuccess,\n} from '../types'\nimport { Context as DataContext, ContextState } from '../DataContext'\nimport { clearedData } from '../DataContext/Provider/Provider'\nimport FieldPropsContext from '../Form/FieldProps/FieldPropsContext'\nimport { combineDescribedBy } from '../../../shared/component-helper'\nimport useId from '../../../shared/helpers/useId'\nimport useUpdateEffect from '../../../shared/helpers/useUpdateEffect'\nimport useMountEffect from '../../../shared/helpers/useMountEffect'\nimport useUnmountEffect from '../../../shared/helpers/useUnmountEffect'\nimport FieldBlockContext from '../FieldBlock/FieldBlockContext'\nimport IterateElementContext from '../Iterate/IterateItemContext'\nimport SectionContext from '../Form/Section/SectionContext'\nimport FieldBoundaryContext from '../DataContext/FieldBoundary/FieldBoundaryContext'\nimport useProcessManager from './useProcessManager'\nimport usePath from './usePath'\nimport {\n createSharedState,\n useSharedState,\n} from '../../../shared/helpers/useSharedState'\nimport { isAsync } from '../../../shared/helpers/isAsync'\nimport useTranslation from './useTranslation'\nimport useExternalValue from './useExternalValue'\n\ntype SubmitStateWithValidating = SubmitState | 'validating'\ntype AsyncProcesses =\n | 'validator'\n | 'onBlurValidator'\n | 'onChangeLocal'\n | 'onChangeContext'\ntype PersistErrorStateMethod =\n /**\n * Add or remove the error regardless\n */\n | 'weak'\n /**\n * Check if there is an existing error, and if so, keep it\n */\n | 'gracefully'\n /**\n * Remove the error, if any\n */\n | 'wipe'\ntype AsyncProcessesBuffer = {\n resolve: () => void\n validateProcesses: () => boolean\n}\n\nexport type DataAttributes = {\n [property: `data-${string}`]: string | boolean | number\n}\n\n// Many variables are kept in refs to avoid triggering unnecessary update loops because updates using\n// useEffect depend on them (like the external `value`)\n\nexport default function useFieldProps<Value, EmptyValue, Props>(\n localeProps: Props & FieldPropsGeneric<Value, EmptyValue>,\n { executeOnChangeRegardlessOfError = false } = {}\n): typeof localeProps & ReturnAdditional<Value> {\n const { extend } = useContext(FieldPropsContext)\n const props = extend(localeProps)\n\n const {\n path: pathProp,\n value: valueProp,\n defaultValue,\n itemPath,\n emptyValue,\n required: requiredProp,\n disabled: disabledProp,\n info,\n warning,\n error: errorProp,\n errorMessages,\n onFocus,\n onBlur,\n onChange,\n onBlurValidator,\n validator,\n schema,\n validateInitially,\n validateUnchanged,\n continuousValidation,\n transformIn = (value: Value) => value,\n transformOut = (value: Value) => value,\n toInput = (value: Value) => value,\n fromInput = (value: Value) => value,\n toEvent = (value: Value) => value,\n transformValue = (value: Value) => value,\n transformAdditionalArgs = (additionalArgs: AdditionalEventArgs) =>\n additionalArgs,\n fromExternal = (value: Value) => value,\n validateRequired = (value, { emptyValue, required, error }) => {\n const res =\n required &&\n ((value as any) === emptyValue ||\n (typeof emptyValue === 'undefined' && value === ''))\n ? error\n : undefined\n\n return res\n },\n } = props\n\n const [, forceUpdate] = useReducer(() => ({}), {})\n const { startProcess } = useProcessManager()\n const id = useId(props.id)\n const dataContext = useContext(DataContext)\n const fieldBlockContext = useContext(FieldBlockContext)\n const iterateItemContext = useContext(IterateElementContext)\n const sectionContext = useContext(SectionContext)\n const fieldBoundaryContext = useContext(FieldBoundaryContext)\n const translation = useTranslation()\n\n const transformers = useRef({\n transformIn,\n transformOut,\n transformAdditionalArgs,\n toInput,\n fromInput,\n toEvent,\n fromExternal,\n transformValue,\n validateRequired,\n })\n\n const {\n handlePathChangeUnvalidated: handlePathChangeUnvalidatedDataContext,\n handlePathChange: handlePathChangeDataContext,\n updateDataValue: updateDataValueDataContext,\n validateData: validateDataDataContext,\n setFieldState: setFieldStateDataContext,\n setFieldError: setFieldErrorDataContext,\n setFieldProps: setPropsDataContext,\n setHasVisibleError: setHasVisibleErrorDataContext,\n errors: dataContextErrors,\n showAllErrors,\n contextErrorMessages,\n } = dataContext ?? {}\n const onChangeContext = dataContext?.props?.onChange\n\n const disabled = disabledProp ?? props.readOnly\n const inFieldBlock = Boolean(fieldBlockContext)\n const {\n setFieldState: setFieldStateFieldBlock,\n showFieldError: showFieldErrorFieldBlock,\n mountedFieldsRef: mountedFieldsRefFieldBlock,\n } = fieldBlockContext ?? {}\n const { handleChange: handleChangeIterateContext } =\n iterateItemContext ?? {}\n const { path: sectionPath, errorPrioritization } = sectionContext ?? {}\n const { setFieldError, showBoundaryErrors } = fieldBoundaryContext ?? {}\n\n const hasPath = Boolean(pathProp)\n const { path, identifier, makeIteratePath } = usePath({\n id,\n path: pathProp,\n itemPath,\n })\n\n const defaultValueRef = useRef(defaultValue)\n const externalValue =\n useExternalValue<Value>({\n path,\n itemPath,\n value: valueProp,\n transformers,\n emptyValue,\n }) ?? defaultValueRef.current\n\n // Many variables are kept in refs to avoid triggering unnecessary update loops because updates using\n // useEffect depend on them (like the external `value`)\n\n // Hold an internal copy of the input value in case the input component is used uncontrolled,\n // and to handle errors in Eufemia on components that does not take updated callback functions into account.\n const valueRef = useRef<Value>(externalValue)\n const changedRef = useRef<boolean>(false)\n const hasFocusRef = useRef<boolean>(false)\n\n const required = useMemo(() => {\n if (requiredProp) {\n return requiredProp\n }\n\n const paths = identifier.split('/')\n if (paths.length > 0 && (schema || dataContext?.schema)) {\n const requiredList = [schema?.['required']]\n\n if (paths.length > 1) {\n const schema = dataContext.schema\n const schemaPath = paths.slice(0, -1).join('/properties/')\n const schemaPart = pointer.has(schema, schemaPath)\n ? pointer.get(schema, schemaPath)\n : schema\n\n requiredList.push(schemaPart?.required)\n }\n\n if (sectionPath) {\n paths.push(sectionPath.substring(1))\n }\n\n const collected = requiredList.flatMap((v) => v).filter(Boolean)\n if (\n paths\n .filter(Boolean)\n .some((p) => collected.some((c) => c.includes(p)))\n ) {\n return true\n }\n }\n }, [sectionPath, dataContext.schema, identifier, requiredProp, schema])\n\n // Error handling\n // - Should errors received through validation be shown initially. Assume that providing a direct prop to\n // the component means it is supposed to be shown initially.\n const revealErrorRef = useRef<boolean>(\n Boolean(validateInitially || errorProp)\n )\n // - Local errors are errors based on validation instructions received by\n const errorMethodRef = useRef<\n Partial<Record<PersistErrorStateMethod, Error | FormError>>\n >({})\n const localErrorRef = useRef<Error | FormError | undefined>()\n const hasLocalErrorRef = useRef(false)\n // - Context errors are from outer contexts, like validation for this field as part of the whole data set\n const dataContextError = useMemo(() => {\n return path ? dataContextErrors?.[identifier] : undefined\n }, [dataContextErrors, identifier, path])\n const contextErrorRef = useRef<Error | FormError | undefined>(\n dataContextError\n )\n\n const validatorRef = useRef(validator)\n useUpdateEffect(() => {\n validatorRef.current = validator\n }, [validator])\n const onBlurValidatorRef = useRef(onBlurValidator)\n useUpdateEffect(() => {\n onBlurValidatorRef.current = onBlurValidator\n }, [onBlurValidator])\n\n const schemaValidatorRef = useRef<ValidateFunction>(\n schema ? dataContext.ajvInstance?.compile(schema) : undefined\n )\n\n // Needs to be placed before \"prepareError\"\n const errorMessagesRef = useRef(null)\n errorMessagesRef.current = useMemo(() => {\n return {\n required: translation.Field.errorRequired,\n ...errorMessages,\n }\n }, [errorMessages, translation.Field.errorRequired])\n\n // - Async behavior\n const asyncBehaviorIsEnabled = useMemo(() => {\n return isAsync(onChange) || isAsync(onChangeContext)\n }, [onChangeContext, onChange])\n const validatedValue = useRef<Value>()\n const changeEventResultRef = useRef<EventStateObjectWithSuccess>(null)\n const asyncProcessRef = useRef<AsyncProcesses>(null)\n const defineAsyncProcess = useCallback((name: AsyncProcesses) => {\n asyncProcessRef.current = name\n }, [])\n\n // When both an async onChange and async validators are used,\n // we buffer the onChange calls to avoid race conditions.\n const asyncBufferRef = useRef<\n Record<AsyncProcesses, AsyncProcessesBuffer> | Record<string, unknown>\n >({})\n\n for (const key in asyncBufferRef.current) {\n const { resolve, validateProcesses } = (asyncBufferRef.current[key] ||\n {}) as AsyncProcessesBuffer\n if (validateProcesses?.() === false) {\n delete asyncBufferRef.current[key]\n if (typeof resolve === 'function') {\n window.requestAnimationFrame(resolve)\n }\n }\n }\n\n const eventPool = useRef({\n validator: null,\n onBlurValidator: null,\n onChangeContext: null,\n onChangeLocal: null,\n })\n\n const addToPool = useCallback(\n (name: keyof typeof eventPool.current, fn, runAsync) => {\n if (!eventPool.current[name]) {\n eventPool.current[name] = { fn, runAsync }\n }\n },\n []\n )\n\n const runPool = useCallback(async (cb = null) => {\n for (const key in eventPool.current) {\n if (!eventPool.current[key] || eventPool.current[key].pending) {\n continue\n }\n\n const { fn, runAsync } = eventPool.current[key] || {}\n if (fn) {\n eventPool.current[key].pending = true\n eventPool.current[key] = null\n\n if (runAsync) {\n await fn()\n } else {\n fn()\n }\n }\n }\n\n // use a callback in order to avoid any async/await,\n // because it will delay the execution of the following code\n cb?.()\n }, [])\n\n const fieldStateRef = useRef<SubmitStateWithValidating>()\n const setFieldState = useCallback(\n (state: SubmitStateWithValidating) => {\n fieldStateRef.current = state\n setFieldStateDataContext(identifier, resolveValidatingState(state))\n if (!validateInitially) {\n forceUpdate()\n }\n },\n [setFieldStateDataContext, identifier, validateInitially]\n )\n\n const revealError = useCallback(() => {\n revealErrorRef.current = true\n showFieldErrorFieldBlock?.(identifier, true)\n if (localErrorRef.current) {\n setHasVisibleErrorDataContext?.(identifier, true)\n } else {\n setHasVisibleErrorDataContext?.(identifier, false)\n }\n }, [showFieldErrorFieldBlock, identifier, setHasVisibleErrorDataContext])\n\n const hideError = useCallback(() => {\n revealErrorRef.current = false\n showFieldErrorFieldBlock?.(identifier, false)\n setHasVisibleErrorDataContext?.(identifier, false)\n }, [setHasVisibleErrorDataContext, identifier, showFieldErrorFieldBlock])\n\n /**\n * Prepare error from validation logic with correct error messages based on props\n */\n const prepareError = useCallback(\n (error: Error | FormError | undefined): FormError | undefined => {\n if (error instanceof FormError) {\n let message = error.message\n\n const { validationRule } = error\n if (typeof validationRule === 'string') {\n const fieldMessage = errorMessagesRef.current?.[validationRule]\n if (fieldMessage) {\n message = fieldMessage\n }\n }\n\n const messagehasValues = Object.entries(\n error.messageValues ?? {}\n ).reduce((message, [key, value]) => {\n return message.replace(`{${key}}`, value)\n }, message)\n\n error.message = messagehasValues\n\n return error\n }\n\n return error\n },\n []\n )\n\n contextErrorRef.current = useMemo(() => {\n if (!dataContextError) {\n return undefined\n }\n const error = prepareError(dataContextError)\n if (errorChanged(error, contextErrorRef.current)) {\n return error\n }\n }, [dataContextError, prepareError])\n\n const error =\n revealErrorRef.current ||\n // If the error is a type error, we want to show it even if the field as not been used\n localErrorRef.current?.['validationRule'] === 'type'\n ? errorProp ?? localErrorRef.current ?? contextErrorRef.current\n : undefined\n\n const hasVisibleError =\n Boolean(error) || (inFieldBlock && fieldBlockContext.hasErrorProp)\n const hasError = useCallback(() => {\n return Boolean(\n errorProp ?? localErrorRef.current ?? contextErrorRef.current\n )\n }, [errorProp])\n\n /**\n * Based on validation, update error state, locally and relevant surrounding contexts\n */\n const stateId = useId()\n const persistErrorState = useCallback(\n (\n method: PersistErrorStateMethod,\n errorArg: Error | FormError | undefined = undefined\n ) => {\n const error = prepareError(errorArg)\n\n if (!errorChanged(error, localErrorRef.current)) {\n // In case different triggers lead to validation with no changes in the result (like still no error, or the same error),\n // avoid unnecessary re-renders by letting the old error object stay in the state and skip re-rendering.\n return\n }\n\n if (method === 'wipe') {\n errorMethodRef.current = {}\n } else {\n errorMethodRef.current[method] = error\n }\n\n if (\n !error &&\n method === 'gracefully' &&\n Object.keys(errorMethodRef.current).filter(Boolean).length > 0\n ) {\n // If the error is removed, we need to check if there are other errors that still should be shown\n return\n }\n\n localErrorRef.current = error\n\n // Tell the data context about the error, so it can stop the user from submitting the form until the error has been fixed\n setFieldErrorDataContext?.(identifier, error)\n setFieldError?.(identifier, error)\n\n // Set the visual states\n setFieldStateDataContext?.(identifier, error ? 'error' : undefined)\n setFieldStateFieldBlock?.({\n stateId,\n identifier,\n type: 'error',\n content: error,\n showInitially: Boolean(inFieldBlock && validateInitially),\n })\n\n forceUpdate()\n },\n [\n prepareError,\n setFieldErrorDataContext,\n identifier,\n setFieldError,\n setFieldStateDataContext,\n setFieldStateFieldBlock,\n stateId,\n inFieldBlock,\n validateInitially,\n ]\n )\n\n const clearErrorState = useCallback(() => {\n persistErrorState('wipe')\n hasLocalErrorRef.current = false\n }, [persistErrorState])\n\n const callValidator = useCallback(async () => {\n if (typeof validatorRef.current !== 'function') {\n return\n }\n\n const runAsync = isAsync(validatorRef.current)\n\n if (runAsync) {\n defineAsyncProcess('validator')\n setFieldState('validating')\n hideError()\n }\n\n const opts = {\n ...contextErrorMessages,\n ...errorMessagesRef.current,\n }\n\n const tmpValue = valueRef.current\n\n // Run async regardless to support Promise based validators\n const result = await validatorRef.current(valueRef.current, opts)\n\n const unchangedValue = tmpValue === valueRef.current\n\n // Don't show the error if the value has changed in the meantime\n if (unchangedValue) {\n persistErrorState('gracefully', result as Error)\n\n // Because its a better UX to show the error when the validation is async/delayed\n if (continuousValidation || runAsync) {\n // Because we first need to throw the error to be able to display it, we delay the showError call\n window.requestAnimationFrame(() => {\n revealError()\n forceUpdate()\n })\n }\n }\n\n if (runAsync) {\n defineAsyncProcess(undefined)\n\n if (unchangedValue) {\n setFieldState(result instanceof Error ? 'error' : 'complete')\n } else {\n setFieldState('pending')\n }\n }\n\n return result\n }, [\n contextErrorMessages,\n continuousValidation,\n hideError,\n persistErrorState,\n defineAsyncProcess,\n setFieldState,\n revealError,\n ])\n\n const callOnBlurValidator = useCallback(\n async ({ valueOverride = null } = {}) => {\n if (typeof onBlurValidatorRef.current !== 'function') {\n return\n }\n // External blur validators makes it possible to validate values but not on every character change in case of\n // expensive validation calling external services etc.\n\n // Since the validator can return either a synchronous result or an asynchronous\n const value = transformers.current.toEvent(\n valueOverride ?? valueRef.current,\n 'onBlurValidator'\n )\n\n const runAsync = isAsync(onBlurValidatorRef.current)\n\n if (runAsync) {\n defineAsyncProcess('onBlurValidator')\n setFieldState('validating')\n }\n\n // Run async regardless to support Promise based validators\n const result = await onBlurValidatorRef.current(value)\n\n persistErrorState('gracefully', result as Error)\n\n if (runAsync) {\n defineAsyncProcess(undefined)\n setFieldState(result instanceof Error ? 'error' : 'complete')\n }\n\n revealError()\n forceUpdate()\n },\n [persistErrorState, defineAsyncProcess, setFieldState, revealError]\n )\n\n const prioritizeContextSchema = useMemo(() => {\n if (errorPrioritization) {\n const schemaPath = identifier.split('/').join('/properties/')\n const hasContextSchema = pointer.has(\n dataContext?.schema || {},\n schemaPath\n )\n return (\n hasContextSchema &&\n errorPrioritization?.indexOf('contextSchema') === 0\n )\n }\n }, [dataContext?.schema, errorPrioritization, identifier])\n\n /**\n * Validate the current state value by provided validator instructions\n */\n const validateValue = useCallback(async () => {\n const isProcessActive = startProcess()\n\n if (disabled) {\n if (isProcessActive()) {\n clearErrorState()\n }\n hideError()\n setFieldState(undefined)\n return // stop here\n }\n\n const value = valueRef.current\n changeEventResultRef.current = null\n validatedValue.current = null\n\n try {\n const requiredError = transformers.current.validateRequired(value, {\n emptyValue,\n required: requiredProp ?? required,\n isChanged: changedRef.current,\n error: new FormError('The value is required', {\n validationRule: 'required',\n }),\n })\n if (requiredError instanceof Error) {\n throw requiredError\n }\n\n // Validate by provided JSON Schema for this value\n if (\n schemaValidatorRef.current &&\n value !== undefined &&\n !schemaValidatorRef.current(value) &&\n !prioritizeContextSchema\n ) {\n const error = ajvErrorsToOneFormError(\n schemaValidatorRef.current.errors,\n valueRef.current\n )\n throw error\n }\n\n // Validate by provided derivative validator\n if (\n validatorRef.current &&\n (changedRef.current || validateInitially)\n ) {\n const result = await callValidator()\n\n if (result instanceof Error) {\n throw result\n }\n }\n\n if (isProcessActive()) {\n clearErrorState()\n }\n\n validatedValue.current = value\n } catch (error: unknown) {\n if (isProcessActive()) {\n hasLocalErrorRef.current = true\n persistErrorState('weak', error as Error)\n }\n }\n }, [\n startProcess,\n disabled,\n hideError,\n setFieldState,\n clearErrorState,\n emptyValue,\n requiredProp,\n required,\n prioritizeContextSchema,\n validateInitially,\n callValidator,\n persistErrorState,\n ])\n\n const handleError = useCallback(() => {\n if (\n continuousValidation ||\n (continuousValidation !== false && !hasFocusRef.current)\n ) {\n // When there is a change to the value without there having been any focus callback beforehand, it is likely\n // to believe that the blur callback will not be called either, which would trigger the display of the error.\n // The error is therefore displayed immediately (unless instructed not to with continuousValidation set to false).\n revealError()\n } else {\n // When changing the value, hide errors to avoid annoying the user before they are finished filling in that value\n hideError()\n }\n }, [continuousValidation, hideError, revealError])\n\n const setHasFocus = useCallback(\n async (\n hasFocus: boolean,\n valueOverride?: Value,\n additionalArgs?: AdditionalEventArgs\n ) => {\n const getArgs = (\n type: Parameters<typeof transformers.current.toEvent>[1]\n ) => {\n const value = transformers.current.toEvent(\n valueOverride ?? valueRef.current,\n type\n )\n const transformedAdditionalArgs =\n transformers.current.transformAdditionalArgs(\n additionalArgs,\n value\n )\n\n return typeof transformedAdditionalArgs !== 'undefined'\n ? [value, transformedAdditionalArgs]\n : [value]\n }\n\n if (hasFocus) {\n // Field was put in focus (like when clicking in a text field or opening a dropdown menu)\n hasFocusRef.current = true\n const args = getArgs('onFocus')\n onFocus?.apply(this, args)\n } else {\n // Field was removed from focus (like when tabbing out of a text field or closing a dropdown menu)\n hasFocusRef.current = false\n const args = getArgs('onBlur')\n onBlur?.apply(this, args)\n\n if (!changedRef.current && !validateUnchanged) {\n // Avoid showing errors when blurring without having changed the value, so tabbing through several\n // fields does not make errors pop up all over the place\n return\n }\n\n addToPool(\n 'onBlurValidator',\n async () => await callOnBlurValidator({ valueOverride }),\n isAsync(onBlurValidatorRef.current)\n )\n\n await runPool(() => {\n // Since the user left the field, show error (if any)\n revealError()\n forceUpdate()\n })\n }\n },\n [\n addToPool,\n callOnBlurValidator,\n onBlur,\n onFocus,\n runPool,\n revealError,\n validateUnchanged,\n ]\n )\n\n // Await an async operation to run after criteria are fulfilled\n const yieldAsyncProcess = useCallback(\n async ({\n name,\n waitFor,\n }: {\n name: 'onChangeLocal' | 'onChangeContext' | 'onSubmitContext'\n waitFor: Array<{\n processName?: AsyncProcesses\n withStates: Array<SubmitStateWithValidating>\n hasValue?: Value\n }>\n }) => {\n return new Promise<void>((resolve) => {\n const validateProcesses = () => {\n const result = waitFor.some(\n ({ processName, withStates, hasValue }) => {\n const hasMatchingValue =\n // If the value has changed during the async process, we don't want to resolve anymore\n hasValue === validatedValue.current\n\n const result =\n (typeof hasValue === 'undefined'\n ? false\n : !hasMatchingValue) ||\n ((processName\n ? processName === asyncProcessRef.current\n : true) &&\n withStates?.some((state) => {\n return state === fieldStateRef.current\n }))\n\n return result\n }\n )\n\n return result\n }\n\n if (validateProcesses() === true) {\n asyncBufferRef.current[name] = { resolve, validateProcesses }\n } else {\n resolve()\n setFieldState('pending')\n }\n })\n },\n [setFieldState]\n )\n\n const handleChangeEventResult = useCallback(async () => {\n const result: EventStateObjectWithSuccess =\n changeEventResultRef.current\n\n if (typeof result?.error !== 'undefined') {\n persistErrorState('gracefully', result.error)\n revealError()\n }\n if (typeof result?.warning !== 'undefined') {\n warningRef.current = result.warning\n }\n if (typeof result?.info !== 'undefined') {\n infoRef.current = result.info\n }\n\n if (asyncBehaviorIsEnabled) {\n await yieldAsyncProcess({\n name: 'onSubmitContext',\n waitFor: [{ withStates: ['validating'] }],\n })\n }\n\n defineAsyncProcess(undefined)\n\n if (result?.success === 'saved') {\n setFieldState('success')\n } else if (result?.error) {\n setFieldState('error')\n } else if (asyncBehaviorIsEnabled) {\n setFieldState('complete')\n }\n }, [\n asyncBehaviorIsEnabled,\n defineAsyncProcess,\n persistErrorState,\n setFieldState,\n revealError,\n yieldAsyncProcess,\n ])\n\n const setEventResult = useCallback(\n (result: EventReturnWithStateObjectAndSuccess) => {\n if (result instanceof Error) {\n result = { error: result }\n }\n changeEventResultRef.current = {\n ...changeEventResultRef.current,\n ...result,\n } as EventStateObjectWithSuccess\n\n handleChangeEventResult()\n },\n [handleChangeEventResult]\n )\n\n const callOnChangeContext = useCallback(async () => {\n if (asyncBehaviorIsEnabled && !executeOnChangeRegardlessOfError) {\n await yieldAsyncProcess({\n name: 'onChangeContext',\n waitFor: [\n {\n processName: 'validator',\n withStates: ['validating', 'error'],\n hasValue: valueRef.current,\n },\n {\n processName: 'onBlurValidator',\n withStates: ['validating', 'error'],\n hasValue: valueRef.current,\n },\n ],\n })\n }\n\n if (hasPath) {\n if (isAsync(onChangeContext)) {\n defineAsyncProcess('onChangeContext')\n\n // Skip sync errors, such as required\n if (!hasError() || executeOnChangeRegardlessOfError) {\n setEventResult(\n (await handlePathChangeDataContext?.(\n identifier\n )) as EventReturnWithStateObjectAndSuccess\n )\n } else {\n setEventResult(null)\n }\n } else {\n setEventResult(\n handlePathChangeDataContext?.(\n identifier\n ) as EventReturnWithStateObjectAndSuccess\n )\n }\n }\n\n forceUpdate()\n }, [\n asyncBehaviorIsEnabled,\n executeOnChangeRegardlessOfError,\n hasPath,\n yieldAsyncProcess,\n onChangeContext,\n defineAsyncProcess,\n hasError,\n setEventResult,\n handlePathChangeDataContext,\n identifier,\n ])\n\n const updateValue = useCallback(\n async (newValue: Value) => {\n if (newValue === valueRef.current) {\n // Avoid triggering a change if the value was not actually changed. This may be caused by rendering components\n // calling onChange even if the actual value did not change.\n return\n }\n\n valueRef.current = newValue\n\n if (hasPath) {\n handlePathChangeUnvalidatedDataContext(identifier, newValue)\n }\n\n addToPool('validator', validateValue, isAsync(validatorRef.current))\n\n addToPool(\n 'onChangeContext',\n callOnChangeContext,\n isAsync(onChangeContext)\n )\n\n await runPool(() => {\n handleError()\n })\n },\n [\n hasPath,\n addToPool,\n validateValue,\n callOnChangeContext,\n onChangeContext,\n runPool,\n handlePathChangeUnvalidatedDataContext,\n identifier,\n handleError,\n ]\n )\n\n const handleChange = useCallback(\n async (\n argFromInput: Value | unknown,\n additionalArgs: AdditionalEventArgs = undefined\n ) => {\n const currentValue = valueRef.current\n const fromInput = transformers.current.fromInput(argFromInput)\n\n if (fromInput === currentValue) {\n // Avoid triggering a change if the value was not actually changed. This may be caused by rendering components\n // calling onChange even if the actual value did not change.\n return\n }\n\n const transformedValue = transformers.current.transformOut(\n transformers.current.transformValue(fromInput, currentValue)\n )\n\n // Must be set before validation\n changedRef.current = true\n\n // Run in sync, before any async operations to avoid lag in UX\n if (itemPath) {\n handleChangeIterateContext?.(\n makeIteratePath(itemPath, ''),\n transformedValue\n )\n }\n\n if (asyncBehaviorIsEnabled) {\n hideError()\n await updateValue(transformedValue)\n } else {\n updateValue(transformedValue)\n }\n\n const getArgs = (): [Value] | [Value, AdditionalEventArgs] => {\n const value = transformers.current.toEvent(\n valueRef.current,\n 'onChange'\n )\n\n const transformedAdditionalArgs =\n transformers.current.transformAdditionalArgs(\n additionalArgs,\n value\n )\n\n return typeof transformedAdditionalArgs !== 'undefined'\n ? [value, transformedAdditionalArgs]\n : [value]\n }\n\n if (isAsync(onChange)) {\n addToPool(\n 'onChangeLocal',\n async () => {\n const args = getArgs()\n\n await yieldAsyncProcess({\n name: 'onChangeLocal',\n waitFor: [\n {\n processName: 'validator',\n withStates: ['validating', 'error'],\n hasValue: args[0],\n },\n {\n processName: 'onBlurValidator',\n withStates: ['validating', 'error'],\n hasValue: args[0],\n },\n {\n processName: 'onChangeContext',\n withStates: ['pending', 'error'],\n hasValue: args[0],\n },\n ],\n })\n\n defineAsyncProcess('onChangeLocal')\n\n // Skip sync errors, such as required\n if (!hasError()) {\n // If the value has changed during the async process, we don't want to call the onChange anymore\n setEventResult(await onChange?.apply(this, args))\n } else {\n setEventResult(null)\n }\n },\n true\n )\n } else {\n setEventResult(onChange?.apply(this, getArgs()))\n }\n\n await runPool()\n },\n [\n itemPath,\n asyncBehaviorIsEnabled,\n onChange,\n runPool,\n handleChangeIterateContext,\n makeIteratePath,\n hideError,\n updateValue,\n addToPool,\n yieldAsyncProcess,\n defineAsyncProcess,\n hasError,\n setEventResult,\n ]\n )\n\n const handleFocus = useCallback(() => setHasFocus(true), [setHasFocus])\n const handleBlur = useCallback(() => setHasFocus(false), [setHasFocus])\n\n // Put props into the surrounding data context as early as possible\n setPropsDataContext?.(identifier, props)\n\n useMountEffect(() => {\n dataContext?.handleMountField(identifier)\n validateValue()\n })\n useUnmountEffect(() => {\n dataContext?.handleUnMountField(identifier)\n setFieldErrorDataContext?.(identifier, undefined)\n setFieldError?.(identifier, undefined)\n localErrorRef.current = undefined\n })\n\n useUpdateEffect(() => {\n schemaValidatorRef.current = schema\n ? dataContext.ajvInstance?.compile(schema)\n : undefined\n validateValue()\n }, [schema, validateValue])\n\n useEffect(() => {\n if (dataContext.data === clearedData) {\n hideError()\n }\n }, [dataContext.data, hideError])\n\n useUpdateEffect(() => {\n // Error or removed error for this field from the surrounding data context (by path)\n if (valueRef.current !== externalValue) {\n valueRef.current = externalValue\n validateValue()\n }\n forceUpdate()\n }, [externalValue, validateValue])\n\n useEffect(() => {\n // Check against the local error state,\n // so we prioritize the local error state over the context error state\n if (!hasLocalErrorRef.current) {\n const error = prepareError(dataContextError)\n if (error) {\n persistErrorState('weak', error)\n if (validateInitially) {\n handleError()\n }\n } else {\n clearErrorState()\n }\n }\n }, [\n clearErrorState,\n dataContextError,\n handleError,\n persistErrorState,\n prepareError,\n validateInitially,\n ])\n\n useEffect(() => {\n if (hasPath) {\n let value = valueProp\n\n // First, look for existing data in the context\n const hasValue =\n pointer.has(dataContext.data, identifier) || identifier === '/'\n const existingValue =\n identifier === '/'\n ? dataContext.data\n : hasValue\n ? pointer.get(dataContext.data, identifier)\n : undefined\n\n // If no data where found in the dataContext, look for shared data\n if (\n dataContext.id &&\n !hasValue &&\n typeof existingValue === 'undefined' &&\n typeof value === 'undefined'\n ) {\n const sharedState = createSharedState(dataContext.id)\n const hasValue = pointer.has(sharedState.data, identifier)\n if (hasValue) {\n const sharedValue = pointer.get(sharedState.data, identifier)\n if (sharedValue) {\n value = sharedValue\n }\n }\n }\n\n if (\n typeof defaultValueRef.current !== 'undefined' &&\n typeof value === 'undefined'\n ) {\n value = defaultValueRef.current\n defaultValueRef.current = undefined\n }\n\n if (\n !hasValue ||\n (value !== existingValue &&\n // Prevents an infinite loop by skipping the update if the value hasn't changed\n valueRef.current !== existingValue)\n ) {\n // Update the data context when a pointer not exists,\n // but was given initially.\n updateDataValueDataContext?.(identifier, value)\n validateDataDataContext?.()\n }\n }\n }, [\n dataContext.data,\n dataContext.id,\n hasPath,\n identifier,\n updateDataValueDataContext,\n validateDataDataContext,\n valueProp,\n ])\n\n useEffect(() => {\n if (showAllErrors || showBoundaryErrors) {\n // In case of async validation, we don't want to show existing errors before the validation has been completed\n if (fieldStateRef.current !== 'validating') {\n // If showError on a surrounding data context was changed and set to true, it is because the user clicked next, submit or\n // something else that should lead to showing the user all errors.\n revealError()\n }\n } else if (showBoundaryErrors === false) {\n hideError()\n }\n }, [hideError, revealError, showAllErrors, showBoundaryErrors])\n\n useEffect(() => {\n if (\n dataContext.formState === 'pending' &&\n (validatorRef.current || onBlurValidatorRef.current)\n ) {\n hideError()\n forceUpdate()\n }\n }, [dataContext.formState, hideError])\n\n const onSubmitHandler = useCallback(async () => {\n if (hasError()) {\n return // stop here\n }\n\n addToPool('validator', callValidator, isAsync(validatorRef.current))\n addToPool(\n 'onBlurValidator',\n callOnBlurValidator,\n isAsync(onBlurValidatorRef.current)\n )\n\n await runPool()\n }, [addToPool, callOnBlurValidator, callValidator, hasError, runPool])\n\n // Validate/call validator functions during submit of the form\n useMountEffect(() => {\n dataContext?.setFieldEventListener?.(\n identifier,\n 'onSubmit',\n onSubmitHandler\n )\n })\n\n // Set the error in the field block context if this field is inside a field block\n useMountEffect(() => {\n if (inFieldBlock) {\n if (errorProp) {\n setFieldStateFieldBlock?.({\n identifier,\n type: 'error',\n content: errorProp,\n showInitially: true,\n show: true,\n })\n }\n if (warning) {\n setFieldStateFieldBlock?.({\n identifier,\n type: 'warning',\n content: warning,\n showInitially: true,\n show: true,\n })\n }\n if (info) {\n setFieldStateFieldBlock?.({\n identifier,\n type: 'info',\n content: info,\n showInitially: true,\n show: true,\n })\n }\n\n return () => {\n // Unmount procedure\n if (mountedFieldsRefFieldBlock) {\n mountedFieldsRefFieldBlock.current[identifier] = true\n }\n }\n }\n })\n\n const infoRef = useRef<React.ReactNode>(info)\n const warningRef = useRef<React.ReactNode>(warning)\n useUpdateEffect(() => {\n infoRef.current = info\n warningRef.current = warning\n forceUpdate()\n }, [info, warning])\n\n // - Handle htmlAttributes\n const htmlAttributes = useMemo(() => {\n return Object.keys(props).reduce<AriaAttributes>(\n (acc, cur) => {\n if (cur.startsWith('aria-') || cur.startsWith('data-')) {\n acc[cur] = props[cur]\n }\n return acc\n },\n { ...props.htmlAttributes }\n )\n }, [props])\n\n if (error) {\n htmlAttributes['aria-invalid'] = error ? 'true' : 'false'\n }\n if (required) {\n htmlAttributes['aria-required'] = 'true'\n }\n if (inFieldBlock) {\n // Mount the field in the field block context\n if (mountedFieldsRefFieldBlock) {\n mountedFieldsRefFieldBlock.current[identifier] = true\n }\n\n // Check if there are any state IDs to be added to the aria-describedby attribute\n const stateIds = fieldBlockContext.fieldStateIdsRef?.current\n\n if (stateIds) {\n htmlAttributes['aria-describedby'] = combineDescribedBy(\n htmlAttributes,\n [\n error && stateIds.error,\n warning && stateIds.warning,\n info && stateIds.info,\n ].filter(Boolean)\n )\n }\n } else {\n const ids = [\n (error || errorProp) && `${id}-form-status--error`,\n warning && `${id}-form-status--warning`,\n info && `${id}-form-status--info`,\n ].filter(Boolean)\n\n if (ids.length) {\n htmlAttributes['aria-describedby'] = combineDescribedBy(\n htmlAttributes,\n ids\n )\n }\n }\n\n const fieldBlockProps = {\n /** Documented APIs */\n info: !inFieldBlock ? infoRef.current : undefined,\n warning: !inFieldBlock ? warningRef.current : undefined,\n error: !inFieldBlock ? error : undefined,\n\n /** HTML Attributes */\n disabled:\n onBlurValidator &&\n asyncProcessRef.current === 'onBlurValidator' &&\n fieldStateRef.current === 'validating'\n ? true\n : disabled,\n\n /** Internal */\n fieldState: resolveValidatingState(fieldStateRef.current),\n }\n\n const sharedData = useSharedState('field-block-props-' + id)\n sharedData.set(fieldBlockProps)\n\n return {\n ...props,\n ...fieldBlockProps,\n\n /** HTML Attributes */\n name: props.name || props.path?.replace('/', '') || id,\n autoComplete:\n props.autoComplete ??\n (dataContext.autoComplete === true ? 'on' : undefined),\n\n /** Documented APIs */\n id,\n value: transformers.current.transformIn(\n transformers.current.toInput(valueRef.current)\n ),\n hasError: hasVisibleError,\n isChanged: changedRef.current,\n props,\n htmlAttributes,\n setHasFocus,\n handleFocus,\n handleBlur,\n handleChange,\n updateValue,\n forceUpdate,\n\n /** Internal */\n dataContext,\n }\n}\n\nexport interface ReturnAdditional<Value> {\n /** Documented APIs */\n value: Value\n isChanged: boolean\n htmlAttributes: AriaAttributes | DataAttributes\n setHasFocus: (\n hasFocus: boolean,\n valueOverride?: unknown,\n additionalArgs?: AdditionalEventArgs\n ) => void\n handleFocus: () => void\n handleBlur: () => void\n handleChange: (\n value: Value | unknown,\n additionalArgs?: AdditionalEventArgs\n ) => void\n updateValue: (value: Value) => void\n forceUpdate: () => void\n hasError?: boolean\n\n /** Internal */\n dataContext: ContextState\n fieldState: SubmitState\n}\n\nfunction resolveValidatingState(state: SubmitStateWithValidating) {\n return state === 'validating' ? 'pending' : state\n}\n"],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  import { useCallback, useContext, useMemo } from 'react';
4
4
  import useId from '../../../shared/helpers/useId';
5
5
  import SectionContext from '../Form/Section/SectionContext';
6
- import IterateElementContext from '../Iterate/IterateElementContext';
6
+ import IterateElementContext from '../Iterate/IterateItemContext';
7
7
  export default function usePath() {
8
8
  var _useContext, _useContext2;
9
9
  let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -26,7 +26,7 @@ export default function usePath() {
26
26
  throw new Error(`itemPath="${itemPathProp}" must start with a slash`);
27
27
  }
28
28
  const makeSectionPath = useCallback(path => {
29
- return `${sectionPath && sectionPath !== '/' ? sectionPath : ''}${path}`;
29
+ return `${sectionPath && sectionPath !== '/' ? sectionPath : ''}${path}`.replace(/\/$/, '');
30
30
  }, [sectionPath]);
31
31
  const makeIteratePath = useCallback(function () {
32
32
  let itemPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : itemPathProp;
@@ -1 +1 @@
1
- {"version":3,"file":"usePath.js","names":["useCallback","useContext","useMemo","useId","SectionContext","IterateElementContext","usePath","_useContext","_useContext2","props","arguments","length","undefined","path","pathProp","itemPath","itemPathProp","id","sectionPath","iteratePathProp","index","iterateElementIndex","startsWith","Error","makeSectionPath","makeIteratePath","iteratePath","root","makePath","identifier"],"sources":["../../../../../src/extensions/forms/hooks/usePath.ts"],"sourcesContent":["import { useCallback, useContext, useMemo } from 'react'\nimport { Path } from '../types'\nimport useId from '../../../shared/helpers/useId'\nimport SectionContext from '../Form/Section/SectionContext'\nimport IterateElementContext from '../Iterate/IterateElementContext'\n\nexport type Props = {\n id?: string\n path?: Path\n itemPath?: Path\n}\n\nexport default function usePath(props: Props = {}) {\n const { path: pathProp, itemPath: itemPathProp } = props\n const id = useId(props.id)\n const { path: sectionPath } = useContext(SectionContext) ?? {}\n const { path: iteratePathProp, index: iterateElementIndex } =\n useContext(IterateElementContext) ?? {}\n\n if (pathProp && !pathProp.startsWith('/')) {\n throw new Error(`path=\"${pathProp}\" must start with a slash`)\n }\n if (itemPathProp && !itemPathProp.startsWith('/')) {\n throw new Error(`itemPath=\"${itemPathProp}\" must start with a slash`)\n }\n\n const makeSectionPath = useCallback(\n (path: Path) => {\n return `${\n sectionPath && sectionPath !== '/' ? sectionPath : ''\n }${path}`\n },\n [sectionPath]\n )\n\n const makeIteratePath = useCallback(\n (\n itemPath: Path = itemPathProp,\n iteratePath: Path = iteratePathProp\n ) => {\n let root = ''\n\n if (sectionPath) {\n root = makeSectionPath('')\n }\n\n return `${root}${iteratePath}/${iterateElementIndex}${\n itemPath && itemPath !== '/' ? itemPath : ''\n }`\n },\n [\n iteratePathProp,\n sectionPath,\n iterateElementIndex,\n itemPathProp,\n makeSectionPath,\n ]\n )\n\n const itemPath = useMemo(() => {\n if (itemPathProp) {\n return makeIteratePath()\n }\n }, [itemPathProp, makeIteratePath])\n\n const makePath = useCallback(\n (path: Path) => {\n if (itemPathProp) {\n return itemPath\n }\n\n if (sectionPath) {\n return makeSectionPath(path)\n }\n\n // Identifier is used is registries of multiple fields, like in the DataContext keeping track of errors\n return path\n },\n [itemPathProp, sectionPath, itemPath, makeSectionPath]\n )\n\n const path = useMemo(() => {\n return makePath(pathProp)\n }, [makePath, pathProp])\n\n const identifier = path ?? id\n return {\n identifier,\n path,\n itemPath,\n makePath,\n makeIteratePath,\n makeSectionPath,\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"usePath.js","names":["useCallback","useContext","useMemo","useId","SectionContext","IterateElementContext","usePath","_useContext","_useContext2","props","arguments","length","undefined","path","pathProp","itemPath","itemPathProp","id","sectionPath","iteratePathProp","index","iterateElementIndex","startsWith","Error","makeSectionPath","replace","makeIteratePath","iteratePath","root","makePath","identifier"],"sources":["../../../../../src/extensions/forms/hooks/usePath.ts"],"sourcesContent":["import { useCallback, useContext, useMemo } from 'react'\nimport { Path } from '../types'\nimport useId from '../../../shared/helpers/useId'\nimport SectionContext from '../Form/Section/SectionContext'\nimport IterateElementContext from '../Iterate/IterateItemContext'\n\nexport type Props = {\n id?: string\n path?: Path\n itemPath?: Path\n}\n\nexport default function usePath(props: Props = {}) {\n const { path: pathProp, itemPath: itemPathProp } = props\n const id = useId(props.id)\n const { path: sectionPath } = useContext(SectionContext) ?? {}\n const { path: iteratePathProp, index: iterateElementIndex } =\n useContext(IterateElementContext) ?? {}\n\n if (pathProp && !pathProp.startsWith('/')) {\n throw new Error(`path=\"${pathProp}\" must start with a slash`)\n }\n if (itemPathProp && !itemPathProp.startsWith('/')) {\n throw new Error(`itemPath=\"${itemPathProp}\" must start with a slash`)\n }\n\n const makeSectionPath = useCallback(\n (path: Path) => {\n return `${\n sectionPath && sectionPath !== '/' ? sectionPath : ''\n }${path}`.replace(/\\/$/, '')\n },\n [sectionPath]\n )\n\n const makeIteratePath = useCallback(\n (\n itemPath: Path = itemPathProp,\n iteratePath: Path = iteratePathProp\n ) => {\n let root = ''\n\n if (sectionPath) {\n root = makeSectionPath('')\n }\n\n return `${root}${iteratePath}/${iterateElementIndex}${\n itemPath && itemPath !== '/' ? itemPath : ''\n }`\n },\n [\n iteratePathProp,\n sectionPath,\n iterateElementIndex,\n itemPathProp,\n makeSectionPath,\n ]\n )\n\n const itemPath = useMemo(() => {\n if (itemPathProp) {\n return makeIteratePath()\n }\n }, [itemPathProp, makeIteratePath])\n\n const makePath = useCallback(\n (path: Path) => {\n if (itemPathProp) {\n return itemPath\n }\n\n if (sectionPath) {\n return makeSectionPath(path)\n }\n\n // Identifier is used is registries of multiple fields, like in the DataContext keeping track of errors\n return path\n },\n [itemPathProp, sectionPath, itemPath, makeSectionPath]\n )\n\n const path = useMemo(() => {\n return makePath(pathProp)\n }, [makePath, pathProp])\n\n const identifier = path ?? id\n return {\n identifier,\n path,\n itemPath,\n makePath,\n makeIteratePath,\n makeSectionPath,\n }\n}\n"],"mappings":"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"}
@@ -8,12 +8,13 @@ import useExternalValue from './useExternalValue';
8
8
  import usePath from './usePath';
9
9
  import DataContext from '../DataContext/Context';
10
10
  export default function useValueProps(props) {
11
- var _useExternalValue, _dataContext$setValue;
11
+ var _useExternalValue, _dataContext$setValue, _dataContext$fieldPro, _dataContext$fieldPro2, _dataContext$fieldPro3, _props$label;
12
12
  const {
13
13
  path: pathProp,
14
14
  itemPath,
15
15
  value,
16
16
  defaultValue,
17
+ inheritLabel,
17
18
  transformIn = value => value,
18
19
  toInput = value => value,
19
20
  fromExternal = value => value
@@ -37,7 +38,9 @@ export default function useValueProps(props) {
37
38
  })) !== null && _useExternalValue !== void 0 ? _useExternalValue : defaultValue;
38
39
  const dataContext = useContext(DataContext);
39
40
  dataContext === null || dataContext === void 0 ? void 0 : (_dataContext$setValue = dataContext.setValueProps) === null || _dataContext$setValue === void 0 ? void 0 : _dataContext$setValue.call(dataContext, path, props);
41
+ const label = inheritLabel ? dataContext === null || dataContext === void 0 ? void 0 : (_dataContext$fieldPro = dataContext.fieldPropsRef) === null || _dataContext$fieldPro === void 0 ? void 0 : (_dataContext$fieldPro2 = _dataContext$fieldPro.current) === null || _dataContext$fieldPro2 === void 0 ? void 0 : (_dataContext$fieldPro3 = _dataContext$fieldPro2[path]) === null || _dataContext$fieldPro3 === void 0 ? void 0 : _dataContext$fieldPro3.label : undefined;
40
42
  return _objectSpread(_objectSpread({}, props), {}, {
43
+ label: (_props$label = props.label) !== null && _props$label !== void 0 ? _props$label : label,
41
44
  value: transformers.current.transformIn(transformers.current.toInput(externalValue))
42
45
  });
43
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useValueProps.js","names":["useContext","useRef","useExternalValue","usePath","DataContext","useValueProps","props","_useExternalValue","_dataContext$setValue","path","pathProp","itemPath","value","defaultValue","transformIn","toInput","fromExternal","transformers","externalValue","dataContext","setValueProps","call","_objectSpread","current"],"sources":["../../../../../src/extensions/forms/hooks/useValueProps.ts"],"sourcesContent":["import { useContext, useRef } from 'react'\nimport { ValueProps } from '../types'\nimport useExternalValue from './useExternalValue'\nimport usePath from './usePath'\nimport DataContext from '../DataContext/Context'\n\nexport type Props<Value> = ValueProps<Value>\n\nexport default function useValueProps<\n Value = unknown,\n Props extends ValueProps<Value> = ValueProps<Value>,\n>(props: Props): Props & ValueProps<Value> {\n const {\n path: pathProp,\n itemPath,\n value,\n defaultValue,\n transformIn = (value: Value) => value,\n toInput = (value: Value) => value,\n fromExternal = (value: Value) => value,\n } = props\n\n const transformers = useRef({\n transformIn,\n toInput,\n fromExternal,\n })\n\n const { path } = usePath({ path: pathProp, itemPath })\n\n const externalValue =\n useExternalValue<Value>({\n path,\n itemPath,\n value,\n transformers,\n }) ?? defaultValue\n\n const dataContext = useContext(DataContext)\n dataContext?.setValueProps?.(path, props)\n\n return {\n ...props,\n value: transformers.current.transformIn(\n transformers.current.toInput(externalValue)\n ),\n }\n}\n"],"mappings":";;;;;AAAA,SAASA,UAAU,EAAEC,MAAM,QAAQ,OAAO;AAE1C,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,OAAOC,OAAO,MAAM,WAAW;AAC/B,OAAOC,WAAW,MAAM,wBAAwB;AAIhD,eAAe,SAASC,aAAaA,CAGnCC,KAAY,EAA6B;EAAA,IAAAC,iBAAA,EAAAC,qBAAA;EACzC,MAAM;IACJC,IAAI,EAAEC,QAAQ;IACdC,QAAQ;IACRC,KAAK;IACLC,YAAY;IACZC,WAAW,GAAIF,KAAY,IAAKA,KAAK;IACrCG,OAAO,GAAIH,KAAY,IAAKA,KAAK;IACjCI,YAAY,GAAIJ,KAAY,IAAKA;EACnC,CAAC,GAAGN,KAAK;EAET,MAAMW,YAAY,GAAGhB,MAAM,CAAC;IAC1Ba,WAAW;IACXC,OAAO;IACPC;EACF,CAAC,CAAC;EAEF,MAAM;IAAEP;EAAK,CAAC,GAAGN,OAAO,CAAC;IAAEM,IAAI,EAAEC,QAAQ;IAAEC;EAAS,CAAC,CAAC;EAEtD,MAAMO,aAAa,IAAAX,iBAAA,GACjBL,gBAAgB,CAAQ;IACtBO,IAAI;IACJE,QAAQ;IACRC,KAAK;IACLK;EACF,CAAC,CAAC,cAAAV,iBAAA,cAAAA,iBAAA,GAAIM,YAAY;EAEpB,MAAMM,WAAW,GAAGnB,UAAU,CAACI,WAAW,CAAC;EAC3Ce,WAAW,aAAXA,WAAW,wBAAAX,qBAAA,GAAXW,WAAW,CAAEC,aAAa,cAAAZ,qBAAA,uBAA1BA,qBAAA,CAAAa,IAAA,CAAAF,WAAW,EAAkBV,IAAI,EAAEH,KAAK,CAAC;EAEzC,OAAAgB,aAAA,CAAAA,aAAA,KACKhB,KAAK;IACRM,KAAK,EAAEK,YAAY,CAACM,OAAO,CAACT,WAAW,CACrCG,YAAY,CAACM,OAAO,CAACR,OAAO,CAACG,aAAa,CAC5C;EAAC;AAEL"}
1
+ {"version":3,"file":"useValueProps.js","names":["useContext","useRef","useExternalValue","usePath","DataContext","useValueProps","props","_useExternalValue","_dataContext$setValue","_dataContext$fieldPro","_dataContext$fieldPro2","_dataContext$fieldPro3","_props$label","path","pathProp","itemPath","value","defaultValue","inheritLabel","transformIn","toInput","fromExternal","transformers","externalValue","dataContext","setValueProps","call","label","fieldPropsRef","current","undefined","_objectSpread"],"sources":["../../../../../src/extensions/forms/hooks/useValueProps.ts"],"sourcesContent":["import { useContext, useRef } from 'react'\nimport { ValueProps } from '../types'\nimport useExternalValue from './useExternalValue'\nimport usePath from './usePath'\nimport DataContext from '../DataContext/Context'\n\nexport type Props<Value> = ValueProps<Value>\n\nexport default function useValueProps<\n Value = unknown,\n Props extends ValueProps<Value> = ValueProps<Value>,\n>(props: Props): Props & ValueProps<Value> {\n const {\n path: pathProp,\n itemPath,\n value,\n defaultValue,\n inheritLabel,\n transformIn = (value: Value) => value,\n toInput = (value: Value) => value,\n fromExternal = (value: Value) => value,\n } = props\n\n const transformers = useRef({\n transformIn,\n toInput,\n fromExternal,\n })\n\n const { path } = usePath({ path: pathProp, itemPath })\n\n const externalValue =\n useExternalValue<Value>({\n path,\n itemPath,\n value,\n transformers,\n }) ?? defaultValue\n\n const dataContext = useContext(DataContext)\n dataContext?.setValueProps?.(path, props)\n\n const label = inheritLabel\n ? dataContext?.fieldPropsRef?.current?.[path]?.label\n : undefined\n\n return {\n ...props,\n label: props.label ?? label,\n value: transformers.current.transformIn(\n transformers.current.toInput(externalValue)\n ),\n }\n}\n"],"mappings":";;;;;AAAA,SAASA,UAAU,EAAEC,MAAM,QAAQ,OAAO;AAE1C,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,OAAOC,OAAO,MAAM,WAAW;AAC/B,OAAOC,WAAW,MAAM,wBAAwB;AAIhD,eAAe,SAASC,aAAaA,CAGnCC,KAAY,EAA6B;EAAA,IAAAC,iBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,YAAA;EACzC,MAAM;IACJC,IAAI,EAAEC,QAAQ;IACdC,QAAQ;IACRC,KAAK;IACLC,YAAY;IACZC,YAAY;IACZC,WAAW,GAAIH,KAAY,IAAKA,KAAK;IACrCI,OAAO,GAAIJ,KAAY,IAAKA,KAAK;IACjCK,YAAY,GAAIL,KAAY,IAAKA;EACnC,CAAC,GAAGV,KAAK;EAET,MAAMgB,YAAY,GAAGrB,MAAM,CAAC;IAC1BkB,WAAW;IACXC,OAAO;IACPC;EACF,CAAC,CAAC;EAEF,MAAM;IAAER;EAAK,CAAC,GAAGV,OAAO,CAAC;IAAEU,IAAI,EAAEC,QAAQ;IAAEC;EAAS,CAAC,CAAC;EAEtD,MAAMQ,aAAa,IAAAhB,iBAAA,GACjBL,gBAAgB,CAAQ;IACtBW,IAAI;IACJE,QAAQ;IACRC,KAAK;IACLM;EACF,CAAC,CAAC,cAAAf,iBAAA,cAAAA,iBAAA,GAAIU,YAAY;EAEpB,MAAMO,WAAW,GAAGxB,UAAU,CAACI,WAAW,CAAC;EAC3CoB,WAAW,aAAXA,WAAW,wBAAAhB,qBAAA,GAAXgB,WAAW,CAAEC,aAAa,cAAAjB,qBAAA,uBAA1BA,qBAAA,CAAAkB,IAAA,CAAAF,WAAW,EAAkBX,IAAI,EAAEP,KAAK,CAAC;EAEzC,MAAMqB,KAAK,GAAGT,YAAY,GACtBM,WAAW,aAAXA,WAAW,wBAAAf,qBAAA,GAAXe,WAAW,CAAEI,aAAa,cAAAnB,qBAAA,wBAAAC,sBAAA,GAA1BD,qBAAA,CAA4BoB,OAAO,cAAAnB,sBAAA,wBAAAC,sBAAA,GAAnCD,sBAAA,CAAsCG,IAAI,CAAC,cAAAF,sBAAA,uBAA3CA,sBAAA,CAA6CgB,KAAK,GAClDG,SAAS;EAEb,OAAAC,aAAA,CAAAA,aAAA,KACKzB,KAAK;IACRqB,KAAK,GAAAf,YAAA,GAAEN,KAAK,CAACqB,KAAK,cAAAf,YAAA,cAAAA,YAAA,GAAIe,KAAK;IAC3BX,KAAK,EAAEM,YAAY,CAACO,OAAO,CAACV,WAAW,CACrCG,YAAY,CAACO,OAAO,CAACT,OAAO,CAACG,aAAa,CAC5C;EAAC;AAEL"}
@@ -566,7 +566,7 @@ html[data-visual-test] .dnb-forms-submit-indicator__content b {
566
566
  .dnb-forms-iterate__element {
567
567
  outline: none;
568
568
  }
569
- .dnb-forms-iterate > .dnb-forms-iterate__element:has(.dnb-forms-iterate-block) {
569
+ .dnb-forms-iterate > .dnb-forms-iterate__element:has(> .dnb-forms-section-block) {
570
570
  margin-top: 0;
571
571
  }
572
572